From e00be71ec68124bc07e4cbf1c0b8b7c6f5a3e2e9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sa=C3=BAl=20D=C3=ADaz?= Date: Thu, 13 Nov 2025 14:51:06 +0100 Subject: [PATCH 001/865] [LTI] Fix: Correct order of arguments in LTI tables --- .../classes/class.ilLTIConsumerGradeSynchronizationTableGUI.php | 2 +- .../LTIConsumer/classes/class.ilLTIConsumerProviderTableGUI.php | 2 +- .../classes/class.ilLTIConsumerProviderUsageTableGUI.php | 2 +- .../classes/Consumer/class.ilObjectConsumerTableGUI.php | 2 +- .../class.ilLTIProviderReleasedObjectsTableGUI.php | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/components/ILIAS/LTIConsumer/classes/class.ilLTIConsumerGradeSynchronizationTableGUI.php b/components/ILIAS/LTIConsumer/classes/class.ilLTIConsumerGradeSynchronizationTableGUI.php index 9d79bbe778f0..a9dcfa0d373b 100755 --- a/components/ILIAS/LTIConsumer/classes/class.ilLTIConsumerGradeSynchronizationTableGUI.php +++ b/components/ILIAS/LTIConsumer/classes/class.ilLTIConsumerGradeSynchronizationTableGUI.php @@ -93,7 +93,7 @@ public function setRecords(array $records): void public function getHTML(): string { $table = $this->ui_factory->table() - ->data("", $this->getColumns(), $this) + ->data($this, "", $this->getColumns()) ->withOrder(new Order("lti_timestamp", Order::DESC)) ->withRequest($this->request); diff --git a/components/ILIAS/LTIConsumer/classes/class.ilLTIConsumerProviderTableGUI.php b/components/ILIAS/LTIConsumer/classes/class.ilLTIConsumerProviderTableGUI.php index 59c271634417..66fa0ed999fa 100755 --- a/components/ILIAS/LTIConsumer/classes/class.ilLTIConsumerProviderTableGUI.php +++ b/components/ILIAS/LTIConsumer/classes/class.ilLTIConsumerProviderTableGUI.php @@ -149,7 +149,7 @@ public function setData(array $data): void public function getHTML(bool $hasWriteAccess = false): string { $table = $this->ui_factory->table() - ->data($this->lng->txt('tbl_provider_header'), $this->getColumns(), $this) + ->data($this, $this->lng->txt('tbl_provider_header'), $this->getColumns()) ->withOrder(new Order('title', Order::ASC)) ->withRequest($this->request); diff --git a/components/ILIAS/LTIConsumer/classes/class.ilLTIConsumerProviderUsageTableGUI.php b/components/ILIAS/LTIConsumer/classes/class.ilLTIConsumerProviderUsageTableGUI.php index aecb31b03679..8e81636a958f 100755 --- a/components/ILIAS/LTIConsumer/classes/class.ilLTIConsumerProviderUsageTableGUI.php +++ b/components/ILIAS/LTIConsumer/classes/class.ilLTIConsumerProviderUsageTableGUI.php @@ -101,7 +101,7 @@ public function setData(array $data): void public function getHTML(): string { $table = $this->ui_factory->table() - ->data($this->lng->txt('tbl_provider_usage_header'), $this->getColumns(), $this) + ->data($this, $this->lng->txt('tbl_provider_usage_header'), $this->getColumns()) ->withOrder(new Order('title', Order::ASC)) ->withRequest($this->request); diff --git a/components/ILIAS/LTIProvider/classes/Consumer/class.ilObjectConsumerTableGUI.php b/components/ILIAS/LTIProvider/classes/Consumer/class.ilObjectConsumerTableGUI.php index 6703922c3358..fa2cf66a6ba7 100644 --- a/components/ILIAS/LTIProvider/classes/Consumer/class.ilObjectConsumerTableGUI.php +++ b/components/ILIAS/LTIProvider/classes/Consumer/class.ilObjectConsumerTableGUI.php @@ -218,7 +218,7 @@ public function getTotalRowCount( public function getHtml(): string { $table = $this->ui_factory->table() - ->data($this->lng->txt('lti_object_consumer'), $this->getColumns(), $this) + ->data($this, $this->lng->txt('lti_object_consumer'), $this->getColumns()) ->withOrder(new Order('title', Order::ASC)) ->withActions($this->getActions()) ->withRequest($this->request); diff --git a/components/ILIAS/LTIProvider/classes/InternalProvider/class.ilLTIProviderReleasedObjectsTableGUI.php b/components/ILIAS/LTIProvider/classes/InternalProvider/class.ilLTIProviderReleasedObjectsTableGUI.php index 12b0a2014130..769c0d3001b3 100644 --- a/components/ILIAS/LTIProvider/classes/InternalProvider/class.ilLTIProviderReleasedObjectsTableGUI.php +++ b/components/ILIAS/LTIProvider/classes/InternalProvider/class.ilLTIProviderReleasedObjectsTableGUI.php @@ -147,7 +147,7 @@ public function getTotalRowCount( public function getHtml(): string { $table = $this->ui_factory->table() - ->data($this->lng->txt('lti_released_objects'), $this->getColumns(), $this) + ->data($this, $this->lng->txt('lti_released_objects'), $this->getColumns()) ->withOrder(new Order('title', Order::ASC)) ->withRequest($this->request); From e4d5223cee6cf02ba099723b0829f8731b7d6264 Mon Sep 17 00:00:00 2001 From: Stephan Kergomard Date: Tue, 18 Nov 2025 19:00:55 +0100 Subject: [PATCH 002/865] User: Fix Access To Invalid Method See: https://mantis.ilias.de/view.php?id=46236 --- components/ILIAS/User/src/Setup/DBUpdateSteps11.php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/components/ILIAS/User/src/Setup/DBUpdateSteps11.php b/components/ILIAS/User/src/Setup/DBUpdateSteps11.php index b65339e2cb4d..4575e9f49b8e 100755 --- a/components/ILIAS/User/src/Setup/DBUpdateSteps11.php +++ b/components/ILIAS/User/src/Setup/DBUpdateSteps11.php @@ -71,8 +71,8 @@ private function migrateBadges( string $new_value ): void { $query = $this->db->query("SELECT id, conf FROM badge_badge WHERE type_id='user/profile' AND conf LIKE '%$old_value%'"); - while (($badge = $this->db->fetch($query)) !== null) { - $config_array = unserialize($badge['conf'], ['allowed_classes' => false]); + while (($badge = $this->db->fetchObject($query)) !== null) { + $config_array = unserialize($badge->conf, ['allowed_classes' => false]); if (!array_key_exists('profile', $config_array)) { continue; } @@ -92,7 +92,7 @@ static function (string $v) use ($old_value, $new_value): string { 'conf' => [\ilDBConstants::T_TEXT, serialize($config_array)] ], [ - 'id' => [\ilDBConstants::T_INTEGER, $badge['id']] + 'id' => [\ilDBConstants::T_INTEGER, $badge->id] ] ); } From ee9890e44bc87f0249f3795596fb45abe2b2c26b Mon Sep 17 00:00:00 2001 From: Matheus Zych Date: Fri, 14 Nov 2025 10:38:41 +0100 Subject: [PATCH 003/865] Replaces TestQuestionPool\RequestDataCollector with TestQuestionPool\RequestDataCollectorInterface in EditSkillsOfQuestionTable constructor --- .../TestQuestionPool/src/Skills/EditSkillsOfQuestionTable.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/components/ILIAS/TestQuestionPool/src/Skills/EditSkillsOfQuestionTable.php b/components/ILIAS/TestQuestionPool/src/Skills/EditSkillsOfQuestionTable.php index 28422fd4d64e..8d9aab5dd874 100644 --- a/components/ILIAS/TestQuestionPool/src/Skills/EditSkillsOfQuestionTable.php +++ b/components/ILIAS/TestQuestionPool/src/Skills/EditSkillsOfQuestionTable.php @@ -22,7 +22,7 @@ use ILIAS\Data\Order; use ILIAS\Data\Range; -use ILIAS\TestQuestionPool\RequestDataCollector; +use ILIAS\TestQuestionPool\RequestDataCollectorInterface; use ILIAS\UI\Component\Table\DataRetrieval; use ILIAS\UI\Component\Table\DataRowBuilder; use ILIAS\UI\Factory as UIFactory; @@ -33,7 +33,7 @@ class EditSkillsOfQuestionTable implements DataRetrieval public const string ID = 'ska'; public function __construct( - private readonly RequestDataCollector $pool_request, + private readonly RequestDataCollectorInterface $pool_request, private readonly \ilAssQuestionSkillAssignmentList $assignment_list, private readonly UIFactory $ui_factory, private readonly \ilLanguage $lng, From 9f636931c99e734c34f026f4c692c002a9ca8973 Mon Sep 17 00:00:00 2001 From: Stephan Kergomard Date: Wed, 19 Nov 2025 09:16:06 +0100 Subject: [PATCH 004/865] OpenId: Fix Missing Parameter for Setting See: https://mantis.ilias.de/view.php?id=46241 --- .../OpenIdConnect/classes/class.ilOpenIdConnectSettingsGUI.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/components/ILIAS/OpenIdConnect/classes/class.ilOpenIdConnectSettingsGUI.php b/components/ILIAS/OpenIdConnect/classes/class.ilOpenIdConnectSettingsGUI.php index 0fc0e0c19744..2543a7f8265b 100755 --- a/components/ILIAS/OpenIdConnect/classes/class.ilOpenIdConnectSettingsGUI.php +++ b/components/ILIAS/OpenIdConnect/classes/class.ilOpenIdConnectSettingsGUI.php @@ -958,7 +958,7 @@ private function buildUserMappingInputFormUDF($definition, array $ui_container): $text_input = $this->ui ->input() ->field() - ->text($definition->getLabel(), '') + ->text($definition->getLabel($this->lng), '') ->withAdditionalTransformation($this->trimIfStringTrafo()) ->withValue($value) ->withDedicatedName(self::UDF_STRING . $definition->getIdentifier() . self::VALUE_STRING); From 9e3c2ed1d0b0cfd54bad857a0c5ebfb72a222c68 Mon Sep 17 00:00:00 2001 From: mjansen Date: Wed, 19 Nov 2025 09:36:51 +0100 Subject: [PATCH 005/865] OpenIdConnect: Fix profile field issues --- .../classes/class.ilOpenIdConnectSettingsGUI.php | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/components/ILIAS/OpenIdConnect/classes/class.ilOpenIdConnectSettingsGUI.php b/components/ILIAS/OpenIdConnect/classes/class.ilOpenIdConnectSettingsGUI.php index 2543a7f8265b..311f97e76427 100755 --- a/components/ILIAS/OpenIdConnect/classes/class.ilOpenIdConnectSettingsGUI.php +++ b/components/ILIAS/OpenIdConnect/classes/class.ilOpenIdConnectSettingsGUI.php @@ -61,7 +61,7 @@ class ilOpenIdConnectSettingsGUI private readonly Profile $profile; private ilToolbarGUI $toolbar; /** - * @var array|null + * @var array|null */ private ?array $user_defined_fields = null; private ilGlobalTemplateInterface $tpl; @@ -689,8 +689,7 @@ private function saveProfileMapping(): void } foreach ($this->user_defined_fields as $field) { - $field = self::UDF_STRING . $field->getIdentifier(); - $this->updateProfileMappingFieldValue($field->getIdentifier()); + $this->updateProfileMappingFieldValue(self::UDF_STRING . $field->getIdentifier()); } } @@ -946,12 +945,13 @@ private function initUserMappingForm(): Form } /** - * @param array{"field_id": int, "field_name": string} $definition - * @param list $ui_container + * @param list $ui_container * @return list */ - private function buildUserMappingInputFormUDF($definition, array $ui_container): array - { + private function buildUserMappingInputFormUDF( + ILIAS\User\Profile\Fields\Field $definition, + array $ui_container + ): array { $value = $this->settings->getProfileMappingFieldValue(self::UDF_STRING . $definition->getIdentifier()); $update = $this->settings->getProfileMappingFieldUpdate(self::UDF_STRING . $definition->getIdentifier()); From 2cd38dec349fe14bc9886be1167812ea4dd69dde Mon Sep 17 00:00:00 2001 From: Fabian Helfer Date: Tue, 11 Nov 2025 16:03:42 +0100 Subject: [PATCH 006/865] Forum/Import: Deriver parent id from "Nested Set" structured as fallback See: https://mantis.ilias.de/view.php?id=46246 (cherry picked from commit 3c48038b4a49f67ceb6ba3a33d54ba4b0682c126) --- .../Forum/classes/class.ilForumXMLParser.php | 54 ++++++++++++++++--- 1 file changed, 48 insertions(+), 6 deletions(-) diff --git a/components/ILIAS/Forum/classes/class.ilForumXMLParser.php b/components/ILIAS/Forum/classes/class.ilForumXMLParser.php index f134d5db4a01..0b56a1bce05a 100755 --- a/components/ILIAS/Forum/classes/class.ilForumXMLParser.php +++ b/components/ILIAS/Forum/classes/class.ilForumXMLParser.php @@ -57,8 +57,13 @@ class ilForumXMLParser extends ilSaxParser ]; private array $user_id_mapping = []; private array $mediaObjects = []; - protected \ILIAS\Style\Content\DomainService $content_style_domain; + /** + * Holds per-thread already-inserted posts with their nested set positions for in-memory parent lookup + * @var array + */ + private array $post_tree_structure = []; + public function __construct( private readonly ilObjForum $forum, @@ -125,6 +130,7 @@ public function handlerBeginTag(XMLParser $a_xml_parser, string $a_name, array $ case 'Thread': $this->entity = 'thread'; + $this->post_tree_structure = []; $this->threadArray = []; break; @@ -404,7 +410,7 @@ public function handlerEndTag(XMLParser $a_xml_parser, string $a_name): void if ($this->entity === 'thread' && $this->lastHandledForumId && $this->threadArray !== []) { $this->forumThread = new ilForumTopic(); - $this->forumThread->setId((int) ($this->threadArray['Id'] ?? 0)); + $this->forumThread->setId((int) $this->threadArray['Id']); $this->forumThread->setForumId($this->lastHandledForumId); $this->forumThread->setSubject( ilUtil::stripSlashes((string) ($this->threadArray['Subject'] ?? '')) @@ -550,9 +556,16 @@ public function handlerEndTag(XMLParser $a_xml_parser, string $a_name): void $this->forumPost->insert(); if (isset($this->postArray['ParentId'], $this->mapping['pos'][$this->postArray['ParentId']])) { - $parentId = (int) $this->mapping['pos'][$this->postArray['ParentId']]; + $parent_id = (int) $this->mapping['pos'][$this->postArray['ParentId']]; } else { - $parentId = 0; + $parent_id = 0; + } + + if ($parent_id === 0 && (int) $this->postArray['Lft'] > 1) { + $parent_id = $this->determineParentFromNestedSet( + (int) $this->postArray['Lft'], + (int) $this->postArray['Rgt'] + ); } $postTreeNodeId = $this->db->nextId('frm_posts_tree'); @@ -560,14 +573,20 @@ public function handlerEndTag(XMLParser $a_xml_parser, string $a_name): void 'fpt_pk' => ['integer', $postTreeNodeId], 'thr_fk' => ['integer', $this->lastHandledThreadId], 'pos_fk' => ['integer', $this->forumPost->getId()], - 'parent_pos' => ['integer', $parentId], + 'parent_pos' => ['integer', $parent_id], 'lft' => ['integer', $this->postArray['Lft']], 'rgt' => ['integer', $this->postArray['Rgt']], 'depth' => ['integer', $this->postArray['Depth']], 'fpt_date' => ['timestamp', date('Y-m-d H:i:s')] ]); - $this->mapping['pos'][($this->postArray['Id'] ?? 0)] = $this->forumPost->getId(); + $this->mapping['pos'][$this->postArray['Id']] = $this->forumPost->getId(); + $this->post_tree_structure[] = [ + 'id' => (int) $this->postArray['Id'], + 'lft' => (int) $this->postArray['Lft'], + 'rgt' => (int) $this->postArray['Rgt'], + 'new_id' => $this->forumPost->getId() + ]; $this->lastHandledPostId = $this->forumPost->getId(); $media_objects_found = false; @@ -777,4 +796,27 @@ public function handlerCharacterData(XMLParser $a_xml_parser, string $a_data): v $this->cdata .= $a_data; } } + + /** + * Find the closest parent using Nested Set values in memory. + * Returns the new DB id of the parent or 0 if none found. + */ + private function determineParentFromNestedSet(int $lft, int $rgt): int + { + $parent_id = 0; + $closest_span = PHP_INT_MAX; + + foreach ($this->post_tree_structure as $node) { + if ($node['lft'] < $lft && $node['rgt'] > $rgt) { + // Prefer the nearest ancestor: smallest span while still containing current node + $span = $node['rgt'] - $node['lft']; + if ($span < $closest_span) { + $closest_span = $span; + $parent_id = (int) $node['new_id']; + } + } + } + + return $parent_id; + } } From 097cba7b63523eca6803042f5913571daf507a14 Mon Sep 17 00:00:00 2001 From: Fabian Helfer Date: Wed, 19 Nov 2025 15:06:54 +0100 Subject: [PATCH 007/865] Certificate: Fix missing lang certificate_card_tile_image --- lang/ilias_de.lang | 2 +- lang/ilias_en.lang | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/lang/ilias_de.lang b/lang/ilias_de.lang index ec6f133f2b87..cc8c150fe89c 100644 --- a/lang/ilias_de.lang +++ b/lang/ilias_de.lang @@ -2790,7 +2790,7 @@ certificate#:#certificate_a4_landscape#:#A4 Quer (210 mm x 297 mm) certificate#:#certificate_a5#:#A5 (210 mm x 148 mm) certificate#:#certificate_a5_landscape#:#A5 Quer (148 mm x 210 mm) certificate#:#certificate_background_image#:#Hintergrundbild -certificate#:#certificate_card_thumbnail_image#:#Miniaturbild +certificate#:#certificate_card_tile_image#:#Miniaturbild certificate#:#certificate_change_active_status#:#Der Aktiv-Status des Zertifikats wurde geändert certificate#:#certificate_confirm_deletion_text#:#Wollen Sie wirklich die Zertifikat-Vorlage und alle zugehörigen Daten löschen? certificate#:#certificate_custom#:#Eigenes Format... diff --git a/lang/ilias_en.lang b/lang/ilias_en.lang index 4ec1b272a446..0fa2a8d1c413 100644 --- a/lang/ilias_en.lang +++ b/lang/ilias_en.lang @@ -2791,7 +2791,7 @@ certificate#:#certificate_a4_landscape#:#A4 Landscape (210 mm x 297 mm) certificate#:#certificate_a5#:#A5 (210 mm x 148 mm) certificate#:#certificate_a5_landscape#:#A5 Landscape (148 mm x 210 mm) certificate#:#certificate_background_image#:#Background Image -certificate#:#certificate_card_thumbnail_image#:#Thumbnail Image +certificate#:#certificate_card_tile_image#:#Thumbnail Image certificate#:#certificate_change_active_status#:#The ‘Active’ status of the certificate has been changed. certificate#:#certificate_confirm_deletion_text#:#Are you sure you want to delete all of the data entered for this certificate template? certificate#:#certificate_custom#:#Custom From 95c119b4f620cebfea6e2c7a3d76d87a74067016 Mon Sep 17 00:00:00 2001 From: Alex Killing Date: Wed, 19 Nov 2025 16:34:35 +0100 Subject: [PATCH 008/865] fixed 46200: Screen ID mit \ im Namen lassen sich nicht nutzen; 46255: Manche Screen ID funktionieren nicht --- components/ILIAS/Help/Map/MapDBRepository.php | 53 ++++++------------- .../Help/ScreenId/ClassNameToScreenId.php | 9 ++++ .../Help/Setup/class.ilHelpDBUpdateSteps.php | 5 ++ 3 files changed, 30 insertions(+), 37 deletions(-) diff --git a/components/ILIAS/Help/Map/MapDBRepository.php b/components/ILIAS/Help/Map/MapDBRepository.php index 311fd7c376f5..e1b201573fe1 100755 --- a/components/ILIAS/Help/Map/MapDBRepository.php +++ b/components/ILIAS/Help/Map/MapDBRepository.php @@ -61,12 +61,9 @@ public function saveScreenIdsForChapter( if ($pos !== false) { $full_id = substr($full_id, 0, $pos); } - $this->db->replace( + $this->db->insert( "help_map", array("chap" => array("integer", $a_chap), - "component" => array("text", $id[0]), - "screen_id" => array("text", $id[1]), - "screen_sub_id" => array("text", $id2[0]), "perm" => array("text", $id2[1]), "full_id" => array("text", trim($full_id)), "module_id" => array("integer", 0) @@ -86,12 +83,9 @@ public function saveMappingEntry( int $a_module_id = 0, string $full_id = "" ): void { - $this->db->replace( + $this->db->insert( "help_map", array("chap" => array("integer", $a_chap), - "component" => array("text", $a_comp), - "screen_id" => array("text", $a_screen_id), - "screen_sub_id" => array("text", $a_screen_sub_id), "perm" => array("text", $a_perm), "module_id" => array("integer", $a_module_id), "full_id" => array("text", $full_id) @@ -119,21 +113,15 @@ public function getScreenIdsOfChapter( "SELECT * FROM help_map " . " WHERE chap = " . $this->db->quote($a_chap, "integer") . " AND module_id = " . $this->db->quote($a_module_id, "integer") . - " ORDER BY component, screen_id, screen_sub_id" + " ORDER BY full_id" ); $screen_ids = array(); while ($rec = $this->db->fetchAssoc($set)) { - if ($rec["screen_id"] == "-") { - $rec["screen_id"] = ""; - } - if ($rec["screen_sub_id"] == "-") { - $rec["screen_sub_id"] = ""; - } - $id = $rec["component"] . "/" . $rec["screen_id"] . "/" . $rec["screen_sub_id"]; + $id = $rec["full_id"]; if ($rec["perm"] != "" && $rec["perm"] != "-") { $id .= "#" . $rec["perm"]; } - $screen_ids[] = $rec["full_id"]; + $screen_ids[] = $id; } return $screen_ids; } @@ -142,27 +130,18 @@ public function getChaptersForScreenId( string $a_screen_id, array $module_ids ): \Generator { - $sc_id = explode("/", $a_screen_id); - $chaps = array(); + $chaps = []; foreach ($module_ids as $module_id) { - if (($sc_id[0] ?? "") != "") { - if (($sc_id[1] ?? "") == "") { - $sc_id[1] = "-"; - } - if (($sc_id[2] ?? "") == "") { - $sc_id[2] = "-"; - } - $set = $this->db->query( - $q = - "SELECT chap, perm FROM help_map JOIN lm_tree" . - " ON (help_map.chap = lm_tree.child) " . - " WHERE full_id = " . $this->db->quote($a_screen_id, "text") . - " AND module_id = " . $this->db->quote($module_id, "integer") . - " ORDER BY lm_tree.lft" - ); - while ($rec = $this->db->fetchAssoc($set)) { - yield $rec; - } + $set = $this->db->query( + $q = + "SELECT chap, perm FROM help_map JOIN lm_tree" . + " ON (help_map.chap = lm_tree.child) " . + " WHERE full_id = " . $this->db->quote($a_screen_id, "text") . + " AND module_id = " . $this->db->quote($module_id, "integer") . + " ORDER BY lm_tree.lft" + ); + while ($rec = $this->db->fetchAssoc($set)) { + yield $rec; } } } diff --git a/components/ILIAS/Help/ScreenId/ClassNameToScreenId.php b/components/ILIAS/Help/ScreenId/ClassNameToScreenId.php index 3edf4e6b3e51..5175bc6a92f2 100644 --- a/components/ILIAS/Help/ScreenId/ClassNameToScreenId.php +++ b/components/ILIAS/Help/ScreenId/ClassNameToScreenId.php @@ -26,9 +26,18 @@ trait ClassNameToScreenId protected function classNameToScreenId(string $classname): ?string { + $classname = str_replace("ILIAS\\", "", $classname); + // remove ILIAS from namespaces $classname = preg_replace(self::$REGEX, "$2", $classname); + + // remove GUI from name + $classname = str_replace("GUI", "", $classname); + + $classname = $this->snakeToCamel($classname); + // remove namespace separators + $classname = str_replace("\\", "", $classname); return $classname; } diff --git a/components/ILIAS/Help/Setup/class.ilHelpDBUpdateSteps.php b/components/ILIAS/Help/Setup/class.ilHelpDBUpdateSteps.php index 7699f31f39cc..9faa5ca31a1d 100755 --- a/components/ILIAS/Help/Setup/class.ilHelpDBUpdateSteps.php +++ b/components/ILIAS/Help/Setup/class.ilHelpDBUpdateSteps.php @@ -88,6 +88,7 @@ public function step_4(): void public function step_5(): void { +<<<<<<< HEAD if (!$this->db->tableExists('help_gt_settings')) { $this->db->createTable( 'help_gt_settings', @@ -198,4 +199,8 @@ public function step_9(): void } } +======= + $this->db->dropPrimaryKey('help_map'); + } +>>>>>>> af8af40c7be (fixed 46200: Screen ID mit \ im Namen lassen sich nicht nutzen; 46255: Manche Screen ID funktionieren nicht) } From 7f03581205e24c9b7c7ffe771707d77e7128f959 Mon Sep 17 00:00:00 2001 From: Alex Killing Date: Wed, 19 Nov 2025 16:47:55 +0100 Subject: [PATCH 009/865] help: fixed db update --- .../Help/Setup/class.ilHelpDBUpdateSteps.php | 43 +++++++++++++++++-- 1 file changed, 39 insertions(+), 4 deletions(-) diff --git a/components/ILIAS/Help/Setup/class.ilHelpDBUpdateSteps.php b/components/ILIAS/Help/Setup/class.ilHelpDBUpdateSteps.php index 9faa5ca31a1d..7fdd51ff09e4 100755 --- a/components/ILIAS/Help/Setup/class.ilHelpDBUpdateSteps.php +++ b/components/ILIAS/Help/Setup/class.ilHelpDBUpdateSteps.php @@ -88,7 +88,6 @@ public function step_4(): void public function step_5(): void { -<<<<<<< HEAD if (!$this->db->tableExists('help_gt_settings')) { $this->db->createTable( 'help_gt_settings', @@ -189,6 +188,38 @@ public function step_8(): void public function step_9(): void { + // step 5 might not be run on ilias 10 systems (see 10 branch) + if (!$this->db->tableExists('help_gt_settings')) { + $this->db->createTable( + 'help_gt_settings', + [ + 'obj_id' => [ + 'type' => 'integer', + 'length' => 4, + 'notnull' => true + ], + 'active' => [ + 'type' => 'integer', + 'length' => 1, + 'notnull' => true, + 'default' => 0 + ], + 'screen_ids' => [ + 'type' => 'text', + 'length' => 1000, + 'notnull' => true, + 'default' => '' + ], + 'permission' => [ + 'type' => 'integer', + 'length' => 1, + 'notnull' => true, + 'default' => 0 + ], + ] + ); + $this->db->addPrimaryKey('help_gt_settings', ['obj_id']); + } if (!$this->db->tableColumnExists('help_gt_settings', 'lang')) { $this->db->addTableColumn('help_gt_settings', 'lang', array( 'type' => 'text', @@ -199,8 +230,12 @@ public function step_9(): void } } -======= - $this->db->dropPrimaryKey('help_map'); + public function step_10(): void + { + if ($this->db->primaryExistsByFields('help_map', array( + 'chap', 'component', 'screen_id', 'screen_sub_id', 'perm', 'module_id'))) { + $this->db->dropPrimaryKey('help_map'); + } } ->>>>>>> af8af40c7be (fixed 46200: Screen ID mit \ im Namen lassen sich nicht nutzen; 46255: Manche Screen ID funktionieren nicht) + } From 6d4ff643437c5b637ace947b7661bbc9b9837e6f Mon Sep 17 00:00:00 2001 From: mjansen Date: Thu, 13 Nov 2025 10:03:19 +0100 Subject: [PATCH 010/865] AuthApache/Init: Call legacy `entry_point` --- components/ILIAS/Init/resources/sso/index.php | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/components/ILIAS/Init/resources/sso/index.php b/components/ILIAS/Init/resources/sso/index.php index 08287e410501..56315015f752 100644 --- a/components/ILIAS/Init/resources/sso/index.php +++ b/components/ILIAS/Init/resources/sso/index.php @@ -44,11 +44,13 @@ $_COOKIE['ilClientId'] = $_GET['client_id']; } +define('IL_CERT_SSO', true); define('IL_COOKIE_PATH', $cookie_path); ilContext::init(ilContext::CONTEXT_APACHE_SSO); -ilInitialisation::initILIAS(); +require_once __DIR__ . '/../../artifacts/bootstrap_default.php'; +entry_point('ILIAS Legacy Initialisation Adapter'); ilStartUpGUI::setForcedCommand('doApacheAuthentication'); $ilCtrl->callBaseClass(ilStartUpGUI::class); From f0e3fdba0d6431e39e596494f8555307bf847924 Mon Sep 17 00:00:00 2001 From: kergomard <13102171+kergomard@users.noreply.github.com> Date: Wed, 19 Nov 2025 18:25:07 +0100 Subject: [PATCH 011/865] Repository: Remove Direct Access to User Table (#10355) --- .../LastVisited/class.ilNavigationHistory.php | 72 ++++++++----------- 1 file changed, 29 insertions(+), 43 deletions(-) diff --git a/components/ILIAS/Repository/LastVisited/class.ilNavigationHistory.php b/components/ILIAS/Repository/LastVisited/class.ilNavigationHistory.php index bf84062c4a68..e4275596e755 100755 --- a/components/ILIAS/Repository/LastVisited/class.ilNavigationHistory.php +++ b/components/ILIAS/Repository/LastVisited/class.ilNavigationHistory.php @@ -100,15 +100,8 @@ public function addItem( return; } - // update entries in db - $ilDB->update( - "usr_data", - array( - "last_visited" => array("clob", serialize($this->getItems()))), - array( - "usr_id" => array("integer", $ilUser->getId())) - ); + $ilUser->updateLastVisited($this->getItems()); } /** @@ -140,47 +133,40 @@ public function getItems(): array } // less than 10? -> get items from db if (count($items) < 10 && $ilUser->getId() !== ANONYMOUS_USER_ID) { - $set = $ilDB->query( - "SELECT last_visited FROM usr_data " . - " WHERE usr_id = " . $ilDB->quote($ilUser->getId(), "integer") - ); - $rec = $ilDB->fetchAssoc($set); - $db_entries = unserialize((string) $rec["last_visited"], ["allowed_classes" => false]); + $db_entries = $ilUser->getLastVisited(); $cnt = count($items); - if (is_array($db_entries)) { - foreach ($db_entries as $rec) { - if ( - $cnt <= 10 && - !isset($items[$rec["ref_id"] . ":" . $rec["sub_obj_id"]]) && - $tree->isInTree((int) $rec["ref_id"]) && + foreach ($db_entries as $rec) { + if ( + $cnt <= 10 && + !isset($items[$rec["ref_id"] . ":" . $rec["sub_obj_id"]]) && + $tree->isInTree((int) $rec["ref_id"]) && + ( + !$objDefinition->isPluginTypeName($rec["type"]) || ( - !$objDefinition->isPluginTypeName($rec["type"]) || - ( - $component_repository->hasPluginId($rec["type"]) && - $component_repository->getPluginById($rec["type"])->isActive() - ) + $component_repository->hasPluginId($rec["type"]) && + $component_repository->getPluginById($rec["type"])->isActive() ) - ) { - $link = ($rec["goto_link"] != "") - ? $rec["goto_link"] - : ilLink::_getLink((int) $rec["ref_id"]); - if ($rec["sub_obj_id"] != "") { - $title = $rec["title"]; - } elseif ($rec["type"] === "sess") { - try { - $sess = new ilObjSession((int) $rec["ref_id"]); - $title = $sess->getPresentationTitle(); - } catch (ilObjectTypeMismatchException) { - $title = ilObject::_lookupTitle(ilObject::_lookupObjId((int) $rec["ref_id"])); - } - } else { + ) + ) { + $link = ($rec["goto_link"] != "") + ? $rec["goto_link"] + : ilLink::_getLink((int) $rec["ref_id"]); + if ($rec["sub_obj_id"] != "") { + $title = $rec["title"]; + } elseif ($rec["type"] === "sess") { + try { + $sess = new ilObjSession((int) $rec["ref_id"]); + $title = $sess->getPresentationTitle(); + } catch (ilObjectTypeMismatchException) { $title = ilObject::_lookupTitle(ilObject::_lookupObjId((int) $rec["ref_id"])); } - $items[$rec["ref_id"] . ":" . $rec["sub_obj_id"]] = array("id" => $rec["ref_id"] . ":" . $rec["sub_obj_id"], - "ref_id" => $rec["ref_id"], "link" => $link, "title" => $title, - "type" => $rec["type"], "sub_obj_id" => $rec["sub_obj_id"], "goto_link" => $rec["goto_link"]); - $cnt++; + } else { + $title = ilObject::_lookupTitle(ilObject::_lookupObjId((int) $rec["ref_id"])); } + $items[$rec["ref_id"] . ":" . $rec["sub_obj_id"]] = array("id" => $rec["ref_id"] . ":" . $rec["sub_obj_id"], + "ref_id" => $rec["ref_id"], "link" => $link, "title" => $title, + "type" => $rec["type"], "sub_obj_id" => $rec["sub_obj_id"], "goto_link" => $rec["goto_link"]); + $cnt++; } } } From e3d1c36af64c2577557666dae9854569dd69d5a1 Mon Sep 17 00:00:00 2001 From: Alexander Killing Date: Wed, 19 Nov 2025 23:04:55 +0100 Subject: [PATCH 012/865] 45742: Accordions containing Content-Snippets crash ILIAS when clicked in the page editor --- components/ILIAS/COPage/PC/Tabs/class.ilPCTabsGUI.php | 3 +++ 1 file changed, 3 insertions(+) diff --git a/components/ILIAS/COPage/PC/Tabs/class.ilPCTabsGUI.php b/components/ILIAS/COPage/PC/Tabs/class.ilPCTabsGUI.php index 66e94fe2d2eb..721e8a065f5d 100755 --- a/components/ILIAS/COPage/PC/Tabs/class.ilPCTabsGUI.php +++ b/components/ILIAS/COPage/PC/Tabs/class.ilPCTabsGUI.php @@ -611,6 +611,9 @@ protected function getTabContent(string $pc_id): string $pc_obj = new $pc_class($this->getPage()); // post xsl page content modification by pc elements + // #45742 + $pc_obj->setFileDownloadLink("#"); + $pc_obj->setSourcecodeDownloadScript("#"); $output = $pc_obj->modifyPageContentPostXsl($output, "presentation", false); } From ff7027e04b002d445c90df03d1f39689fa599bb0 Mon Sep 17 00:00:00 2001 From: Tim Schmitz Date: Wed, 19 Nov 2025 09:49:15 +0100 Subject: [PATCH 013/865] Object/InfoScreen: fix presentation of precondition operator (46224) --- .../ILIAS/ILIASObject/classes/class.ilObjectListGUI.php | 3 +-- .../ILIAS/InfoScreen/classes/class.ilInfoScreenGUI.php | 5 +++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/components/ILIAS/ILIASObject/classes/class.ilObjectListGUI.php b/components/ILIAS/ILIASObject/classes/class.ilObjectListGUI.php index e5834e443203..38448398ebe0 100755 --- a/components/ILIAS/ILIASObject/classes/class.ilObjectListGUI.php +++ b/components/ILIAS/ILIASObject/classes/class.ilObjectListGUI.php @@ -1465,8 +1465,7 @@ protected function parseConditions(int $toggle_id, array $conditions, bool $obli continue; } - $operator = ilConditionHandlerGUI::translateOperator($condition['trigger_obj_id'], $condition['operator'], $condition['value']); - $cond_txt = $operator . ' ' . $condition['value']; + $cond_txt = ilConditionHandlerGUI::translateOperator($condition['trigger_obj_id'], $condition['operator'], $condition['value']); // display trigger item $class = $this->obj_definition->getClassName($condition['trigger_type']); diff --git a/components/ILIAS/InfoScreen/classes/class.ilInfoScreenGUI.php b/components/ILIAS/InfoScreen/classes/class.ilInfoScreenGUI.php index b4bca69d5d58..60ff725c1747 100755 --- a/components/ILIAS/InfoScreen/classes/class.ilInfoScreenGUI.php +++ b/components/ILIAS/InfoScreen/classes/class.ilInfoScreenGUI.php @@ -1187,8 +1187,9 @@ protected function addPreconditionSection( $properties[] = [ "condition" => ilConditionHandlerGUI::translateOperator( $condition['trigger_obj_id'], - $condition['operator'] - ) . ' ' . $condition['value'], + $condition['operator'], + $condition['value'] + ), "title" => ilObject::_lookupTitle($condition['trigger_obj_id']), "link" => ilLink::_getLink($condition['trigger_ref_id']) ]; From ce2feac9e9e9a7701422e9bab67bdb2b5e1ad0cc Mon Sep 17 00:00:00 2001 From: mjansen Date: Thu, 20 Nov 2025 12:37:17 +0100 Subject: [PATCH 014/865] Init: Silence ilCtrl error only for baseClass issues (cherry picked from commit 04936fb3e0995a48b928a6da68d932fb94956b2d) --- components/ILIAS/Init/resources/ilias.php | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/components/ILIAS/Init/resources/ilias.php b/components/ILIAS/Init/resources/ilias.php index 4730ea52e2d6..7e13a5b1f430 100644 --- a/components/ILIAS/Init/resources/ilias.php +++ b/components/ILIAS/Init/resources/ilias.php @@ -31,7 +31,16 @@ try { $DIC->ctrl()->callBaseClass(); -} catch (ilCtrlException) { +} catch (ilCtrlException $e) { + if ((defined('DEVMODE') && DEVMODE) || ( + !str_contains($e->getMessage(), 'not given a baseclass') && + !str_contains($e->getMessage(), 'not a baseclass') + )) { + throw new RuntimeException('No ilCtrl baseClass given', 0, $e); + } + + $DIC->logger()->root()->error($e->getMessage()); + $DIC->logger()->root()->error($e->getTraceAsString()); $DIC->ctrl()->redirectToURL(ilUtil::_getHttpPath()); } From f60e8b7fbf6fa5a8b2fcce430af4d601d186cac9 Mon Sep 17 00:00:00 2001 From: mjansen Date: Fri, 21 Nov 2025 11:19:45 +0100 Subject: [PATCH 015/865] Init/PasswordAssistance: Fix missing checks of second email address against `null` --- components/ILIAS/Init/classes/class.ilPasswordAssistanceGUI.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/components/ILIAS/Init/classes/class.ilPasswordAssistanceGUI.php b/components/ILIAS/Init/classes/class.ilPasswordAssistanceGUI.php index ade51ca540e6..ab465c942382 100755 --- a/components/ILIAS/Init/classes/class.ilPasswordAssistanceGUI.php +++ b/components/ILIAS/Init/classes/class.ilPasswordAssistanceGUI.php @@ -313,7 +313,7 @@ private function submitAssistanceForm(): void } $user = new ilObjUser($usr_id); - $email_addresses = array_map('strtolower', [$user->getEmail(), $user->getSecondEmail()]); + $email_addresses = array_map('strtolower', array_filter([$user->getEmail(), $user->getSecondEmail()])); if (!in_array(strtolower($email), $email_addresses, true)) { if (implode('', $email_addresses) === '') { From 9ff1280ef19176fc08f6d53f4533f104f3365829 Mon Sep 17 00:00:00 2001 From: mjansen Date: Fri, 21 Nov 2025 11:20:31 +0100 Subject: [PATCH 016/865] Mail: Fix missing checks of second email address against `null` --- .../Form/class.ilIncomingMailInputGUI.php | 4 ++-- .../Mail/src/UserSettings/IncomingMail.php | 18 +++++++++--------- 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/components/ILIAS/Mail/classes/Form/class.ilIncomingMailInputGUI.php b/components/ILIAS/Mail/classes/Form/class.ilIncomingMailInputGUI.php index 5ff71cc3bcc0..906fa2c9f857 100755 --- a/components/ILIAS/Mail/classes/Form/class.ilIncomingMailInputGUI.php +++ b/components/ILIAS/Mail/classes/Form/class.ilIncomingMailInputGUI.php @@ -169,7 +169,7 @@ private function addSubOptions(): void $this->setDisabled(true); } - if ($DIC->user()->getEmail() === '') { + if (empty($DIC->user()->getEmail())) { $sub_mail_opt1->setInfo($DIC->language()->txt('first_email_missing_info')); $sub_mail_opt3->setInfo($DIC->language()->txt('first_email_missing_info')); $sub_both_opt1->setInfo($DIC->language()->txt('first_email_missing_info')); @@ -184,7 +184,7 @@ private function addSubOptions(): void $sub_both_opt3->setDisabled(true); } - if ($DIC->user()->getSecondEmail() === '') { + if (empty($DIC->user()->getSecondEmail())) { $sub_mail_opt2->setInfo($DIC->language()->txt('second_email_missing_info')); $sub_mail_opt3->setInfo($DIC->language()->txt('second_email_missing_info')); $sub_both_opt2->setInfo($DIC->language()->txt('second_email_missing_info')); diff --git a/components/ILIAS/Mail/src/UserSettings/IncomingMail.php b/components/ILIAS/Mail/src/UserSettings/IncomingMail.php index 353fdd3bf6ce..dd0d5c557551 100644 --- a/components/ILIAS/Mail/src/UserSettings/IncomingMail.php +++ b/components/ILIAS/Mail/src/UserSettings/IncomingMail.php @@ -78,8 +78,8 @@ public function getInput( $lng->txt('mail_incoming_smtp') )->withDisabled( $user === null || ( - $user->getEmail() === '' && - $user->getSecondEmail() === '' + empty($user->getEmail()) && + empty($user->getSecondEmail()) ) ), \ilMailOptions::INCOMING_BOTH => $field_factory->group( @@ -87,8 +87,8 @@ public function getInput( $lng->txt('mail_incoming_both') )->withDisabled( $user === null || ( - $user->getEmail() === '' && - $user->getSecondEmail() === '' + empty($user->getEmail()) && + empty($user->getSecondEmail()) ) ) ], @@ -216,9 +216,9 @@ private function buildTransformation( function (array $v) use ($refinery, $user): array { $email_address_option = $v[1]['mail_address_option'] ?? null; if ($user !== null) { - if ($user->getEmail() !== '' && $user->getSecondEmail() === '') { + if (!empty($user->getEmail()) && empty($user->getSecondEmail())) { $email_address_option = \ilMailOptions::FIRST_EMAIL; - } elseif ($user->getSecondEmail() !== '' && $user->getEmail() === '') { + } elseif (!empty($user->getSecondEmail()) && empty($user->getEmail())) { $email_address_option = \ilMailOptions::SECOND_EMAIL; } } @@ -253,7 +253,7 @@ private function buildValueSetterArray( ]; if ($value['incoming_mail'] === \ilMailOptions::INCOMING_LOCAL || - ($user->getEmail() === '' && $user->getSecondEmail() === '')) { + (empty($user->getEmail()) && empty($user->getSecondEmail()))) { return $value['incoming_mail']; } @@ -270,7 +270,7 @@ private function buildEmailInputs( FieldFactory $field_factory, ?\ilObjUser $user ): array { - if ($user === null || ($user->getEmail() === '' && $user->getSecondEmail() === '')) { + if ($user === null || (empty($user->getEmail()) && empty($user->getSecondEmail()))) { return []; } @@ -289,7 +289,7 @@ private function buildEmailInputs( ->withOption( (string) \ilMailOptions::SECOND_EMAIL, $lng->txt('mail_second_email'), - $user->getSecondEmail() === '' + empty($user->getSecondEmail()) ? $lng->txt('second_email_missing_info') : $user->getSecondEmail() ) From 6e7d89a365394617b1e78352e53f763e384f7362 Mon Sep 17 00:00:00 2001 From: Michael Jansen Date: Mon, 24 Nov 2025 11:32:41 +0100 Subject: [PATCH 017/865] [FIX] UICore: wrong removals of `ilCtrlStructure` entries. (#10428) --- .../Structure/class.ilCtrlStructureMapper.php | 29 ++++++++++--------- 1 file changed, 16 insertions(+), 13 deletions(-) diff --git a/components/ILIAS/UICore/classes/Structure/class.ilCtrlStructureMapper.php b/components/ILIAS/UICore/classes/Structure/class.ilCtrlStructureMapper.php index 0bd3cc5d44cd..76d9c2292310 100755 --- a/components/ILIAS/UICore/classes/Structure/class.ilCtrlStructureMapper.php +++ b/components/ILIAS/UICore/classes/Structure/class.ilCtrlStructureMapper.php @@ -19,8 +19,6 @@ declare(strict_types=1); /** - * Class ilCtrlStructureMapper - * * @author Thibeau Fuhrer */ class ilCtrlStructureMapper @@ -64,6 +62,8 @@ public function getStructure(): array private function addViseVersaMappingByClass(string $class_name, string $key_ref_from, string $key_ref_to): void { if (!empty($this->ctrl_structure[$class_name][$key_ref_from])) { + $invalid_indices = []; + foreach ($this->ctrl_structure[$class_name][$key_ref_from] as $index => $reference) { $is_reference_available = isset($this->ctrl_structure[$reference]); $is_reference_valid = $this->isStructureEntryValid($reference); @@ -85,9 +85,11 @@ private function addViseVersaMappingByClass(string $class_name, string $key_ref_ // if the referenced class does not exist within the current // structure, the reference is removed from the reference list. if (!$is_reference_available || !$is_reference_valid) { - $this->removeReference($this->ctrl_structure[$class_name][$key_ref_from], $index); + $invalid_indices[] = $index; } } + + $this->removeInvalidReferences($invalid_indices, $class_name, $key_ref_from); } } @@ -119,19 +121,20 @@ private function mapStructure(): void } /** - * Removes an entry within the given reference list for the - * given index and re-indexes the reference list afterwards. - * - * @param array $reference_list - * @param string|int $index + * @param list $invalid_indices */ - private function removeReference(array &$reference_list, $index): void + private function removeInvalidReferences(array $invalid_indices, string $class_name, string $key_ref_from): void { - // remove the reference of the current index. - unset($reference_list[$index]); + foreach ($invalid_indices as $index) { + unset($this->ctrl_structure[$class_name][$key_ref_from][$index]); + } - // re-index the reference list. - $reference_list = array_values($reference_list); + // Re-index the array once after all removals + if (!empty($invalid_indices)) { + $this->ctrl_structure[$class_name][$key_ref_from] = array_values( + $this->ctrl_structure[$class_name][$key_ref_from] + ); + } } /** From 6fe43f05dbf48c83cbb2f0d8f4bf3edd3c080e62 Mon Sep 17 00:00:00 2001 From: Lukas Scharmer Date: Thu, 13 Nov 2025 15:41:02 +0100 Subject: [PATCH 018/865] SimpleSaml: Bump symfony/http-foundation dependency --- composer.lock | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/composer.lock b/composer.lock index 06009e57be28..474ffdb8e075 100644 --- a/composer.lock +++ b/composer.lock @@ -5272,16 +5272,16 @@ }, { "name": "symfony/http-foundation", - "version": "v6.4.23", + "version": "v6.4.29", "source": { "type": "git", "url": "https://github.com/symfony/http-foundation.git", - "reference": "452d19f945ee41345fd8a50c18b60783546b7bd3" + "reference": "b03d11e015552a315714c127d8d1e0f9e970ec88" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-foundation/zipball/452d19f945ee41345fd8a50c18b60783546b7bd3", - "reference": "452d19f945ee41345fd8a50c18b60783546b7bd3", + "url": "https://api.github.com/repos/symfony/http-foundation/zipball/b03d11e015552a315714c127d8d1e0f9e970ec88", + "reference": "b03d11e015552a315714c127d8d1e0f9e970ec88", "shasum": "" }, "require": { @@ -5329,7 +5329,7 @@ "description": "Defines an object-oriented layer for the HTTP specification", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/http-foundation/tree/v6.4.23" + "source": "https://github.com/symfony/http-foundation/tree/v6.4.29" }, "funding": [ { @@ -5340,12 +5340,16 @@ "url": "https://github.com/fabpot", "type": "github" }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, { "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", "type": "tidelift" } ], - "time": "2025-05-26T09:17:58+00:00" + "time": "2025-11-08T16:40:12+00:00" }, { "name": "symfony/http-kernel", From f5b9d6377c3b71c6011bd7fe403e0b9c5d5bcb45 Mon Sep 17 00:00:00 2001 From: Thibeau Fuhrer Date: Mon, 24 Nov 2025 13:11:46 +0100 Subject: [PATCH 019/865] [FIX] #46031 UI: update `Component\Triggerer` JS binding order. (#10390) * Fixes https://mantis.ilias.de/view.php?id=46031 * All `Render\ComponentRenderer` add triggerer JS binding explicitly --- .../UI/src/Implementation/Component/Button/Renderer.php | 3 +++ .../ILIAS/UI/src/Implementation/Component/Card/Renderer.php | 3 +++ .../UI/src/Implementation/Component/Dropdown/Renderer.php | 3 +++ .../src/Implementation/Component/Dropzone/File/Renderer.php | 3 +++ .../ILIAS/UI/src/Implementation/Component/Image/Renderer.php | 3 +++ .../Component/Input/Field/FilterContextRenderer.php | 3 +++ .../UI/src/Implementation/Component/Input/Field/Renderer.php | 4 ++++ .../Implementation/Component/Input/ViewControl/Renderer.php | 4 ++++ .../Implementation/Component/MainControls/Slate/Renderer.php | 3 +++ .../ILIAS/UI/src/Implementation/Component/Modal/Renderer.php | 3 +++ .../UI/src/Implementation/Component/Progress/Renderer.php | 3 +++ .../src/Implementation/Component/Symbol/Glyph/Renderer.php | 3 +++ .../UI/src/Implementation/Component/Tree/Node/Renderer.php | 3 +++ .../UI/src/Implementation/Component/ViewControl/Renderer.php | 3 +++ .../src/Implementation/Render/AbstractComponentRenderer.php | 5 +---- 15 files changed, 45 insertions(+), 4 deletions(-) diff --git a/components/ILIAS/UI/src/Implementation/Component/Button/Renderer.php b/components/ILIAS/UI/src/Implementation/Component/Button/Renderer.php index 13388a37a685..9e2457f2f9bf 100755 --- a/components/ILIAS/UI/src/Implementation/Component/Button/Renderer.php +++ b/components/ILIAS/UI/src/Implementation/Component/Button/Renderer.php @@ -37,6 +37,9 @@ class Renderer extends AbstractComponentRenderer */ public function render(Component\Component $component, RendererInterface $default_renderer): string { + if ($component instanceof Component\Triggerer) { + $component = $this->addTriggererOnLoadCode($component); + } if ($component instanceof Component\Button\Close) { return $this->renderClose($component); } elseif ($component instanceof Component\Button\Minimize) { diff --git a/components/ILIAS/UI/src/Implementation/Component/Card/Renderer.php b/components/ILIAS/UI/src/Implementation/Component/Card/Renderer.php index 695a3cd114a5..ba826fa1c131 100755 --- a/components/ILIAS/UI/src/Implementation/Component/Card/Renderer.php +++ b/components/ILIAS/UI/src/Implementation/Component/Card/Renderer.php @@ -39,6 +39,9 @@ public function render(Component\Component $component, RendererInterface $defaul $this->cannotHandleComponent($component); } + /** @var $component Component\Card\Card */ + $component = $this->addTriggererOnLoadCode($component); + $tpl = $this->getTemplate("tpl.card.html", true, true); $title = $component->getTitle(); diff --git a/components/ILIAS/UI/src/Implementation/Component/Dropdown/Renderer.php b/components/ILIAS/UI/src/Implementation/Component/Dropdown/Renderer.php index c98d6fa73cdf..1a2adae90013 100755 --- a/components/ILIAS/UI/src/Implementation/Component/Dropdown/Renderer.php +++ b/components/ILIAS/UI/src/Implementation/Component/Dropdown/Renderer.php @@ -34,6 +34,9 @@ class Renderer extends AbstractComponentRenderer */ public function render(Component\Component $component, RendererInterface $default_renderer): string { + if ($component instanceof Component\Triggerer) { + $component = $this->addTriggererOnLoadCode($component); + } if ($component instanceof Component\Dropdown\Dropdown) { return $this->renderDropdown($component, $default_renderer); } diff --git a/components/ILIAS/UI/src/Implementation/Component/Dropzone/File/Renderer.php b/components/ILIAS/UI/src/Implementation/Component/Dropzone/File/Renderer.php index c6340601a905..d339ead8b166 100755 --- a/components/ILIAS/UI/src/Implementation/Component/Dropzone/File/Renderer.php +++ b/components/ILIAS/UI/src/Implementation/Component/Dropzone/File/Renderer.php @@ -37,6 +37,9 @@ class Renderer extends AbstractComponentRenderer { public function render(Component $component, RenderInterface $default_renderer): string { + if ($component instanceof \ILIAS\UI\Component\Triggerer) { + $component = $this->addTriggererOnLoadCode($component); + } if ($component instanceof \ILIAS\UI\Component\Dropzone\File\Wrapper) { return $this->renderWrapper($component, $default_renderer); } diff --git a/components/ILIAS/UI/src/Implementation/Component/Image/Renderer.php b/components/ILIAS/UI/src/Implementation/Component/Image/Renderer.php index cf606d48c22f..11b7f119c0ba 100755 --- a/components/ILIAS/UI/src/Implementation/Component/Image/Renderer.php +++ b/components/ILIAS/UI/src/Implementation/Component/Image/Renderer.php @@ -40,6 +40,9 @@ public function render(Component\Component $component, RendererInterface $defaul $this->cannotHandleComponent($component); } + /** @var $component Component\Image\Image */ + $component = $this->addTriggererOnLoadCode($component); + $tpl = $this->getTemplate("tpl.image.html", true, true); if (($sources = $component->getAdditionalHighResSources()) !== []) { diff --git a/components/ILIAS/UI/src/Implementation/Component/Input/Field/FilterContextRenderer.php b/components/ILIAS/UI/src/Implementation/Component/Input/Field/FilterContextRenderer.php index 2716b06e1085..47295fd44c77 100755 --- a/components/ILIAS/UI/src/Implementation/Component/Input/Field/FilterContextRenderer.php +++ b/components/ILIAS/UI/src/Implementation/Component/Input/Field/FilterContextRenderer.php @@ -42,6 +42,9 @@ class FilterContextRenderer extends Renderer public function render(Component\Component $component, RendererInterface $default_renderer): string { + if ($component instanceof Component\Triggerer) { + $component = $this->addTriggererOnLoadCode($component); + } if ($component instanceof FilterInput) { $component = $this->setSignals($component); } diff --git a/components/ILIAS/UI/src/Implementation/Component/Input/Field/Renderer.php b/components/ILIAS/UI/src/Implementation/Component/Input/Field/Renderer.php index 326249bc56fc..10a673784a43 100755 --- a/components/ILIAS/UI/src/Implementation/Component/Input/Field/Renderer.php +++ b/components/ILIAS/UI/src/Implementation/Component/Input/Field/Renderer.php @@ -87,6 +87,10 @@ class Renderer extends AbstractComponentRenderer */ public function render(Component\Component $component, RendererInterface $default_renderer): string { + if ($component instanceof Component\Triggerer) { + $component = $this->addTriggererOnLoadCode($component); + } + $component = $this->setSignals($component); switch (true) { diff --git a/components/ILIAS/UI/src/Implementation/Component/Input/ViewControl/Renderer.php b/components/ILIAS/UI/src/Implementation/Component/Input/ViewControl/Renderer.php index 87a907a4206e..dc702a5e3f0d 100755 --- a/components/ILIAS/UI/src/Implementation/Component/Input/ViewControl/Renderer.php +++ b/components/ILIAS/UI/src/Implementation/Component/Input/ViewControl/Renderer.php @@ -37,6 +37,10 @@ class Renderer extends AbstractComponentRenderer public function render(Component\Component $component, RendererInterface $default_renderer): string { + if ($component instanceof Component\Triggerer) { + $component = $this->addTriggererOnLoadCode($component); + } + switch (true) { case ($component instanceof FieldSelection): return $this->renderFieldSelection($component, $default_renderer); diff --git a/components/ILIAS/UI/src/Implementation/Component/MainControls/Slate/Renderer.php b/components/ILIAS/UI/src/Implementation/Component/MainControls/Slate/Renderer.php index 7f59e547dc1b..07adfd864bff 100755 --- a/components/ILIAS/UI/src/Implementation/Component/MainControls/Slate/Renderer.php +++ b/components/ILIAS/UI/src/Implementation/Component/MainControls/Slate/Renderer.php @@ -34,6 +34,9 @@ public function render(Component\Component $component, RendererInterface $defaul $this->cannotHandleComponent($component); } + /** @var $component ISlate\slate */ + $component = $this->addTriggererOnLoadCode($component); + switch (true) { case ($component instanceof ISlate\Notification): return $this->renderNotificationSlate($component, $default_renderer); diff --git a/components/ILIAS/UI/src/Implementation/Component/Modal/Renderer.php b/components/ILIAS/UI/src/Implementation/Component/Modal/Renderer.php index 7465a35a928a..3f987d347bea 100755 --- a/components/ILIAS/UI/src/Implementation/Component/Modal/Renderer.php +++ b/components/ILIAS/UI/src/Implementation/Component/Modal/Renderer.php @@ -44,6 +44,9 @@ public function render(Component\Component $component, RendererInterface $defaul $this->cannotHandleComponent($component); } + /** @var $component Component\Modal\Modal */ + $component = $this->addTriggererOnLoadCode($component); + // If the modal is rendered async, we just create a fake container which will be // replaced by the modal upon successful ajax request if ($component->getAsyncRenderUrl()) { diff --git a/components/ILIAS/UI/src/Implementation/Component/Progress/Renderer.php b/components/ILIAS/UI/src/Implementation/Component/Progress/Renderer.php index 555968e92f90..5721e21fb3ed 100644 --- a/components/ILIAS/UI/src/Implementation/Component/Progress/Renderer.php +++ b/components/ILIAS/UI/src/Implementation/Component/Progress/Renderer.php @@ -40,6 +40,9 @@ public function registerResources(ResourceRegistry $registry): void public function render(Component $component, RendererInterface $default_renderer): string { + if ($component instanceof \ILIAS\UI\Component\Triggerer) { + $component = $this->addTriggererOnLoadCode($component); + } if ($component instanceof Bar) { return $this->renderProgressBar($component, $default_renderer); } diff --git a/components/ILIAS/UI/src/Implementation/Component/Symbol/Glyph/Renderer.php b/components/ILIAS/UI/src/Implementation/Component/Symbol/Glyph/Renderer.php index 278d9a3f5988..83195849394c 100755 --- a/components/ILIAS/UI/src/Implementation/Component/Symbol/Glyph/Renderer.php +++ b/components/ILIAS/UI/src/Implementation/Component/Symbol/Glyph/Renderer.php @@ -43,6 +43,9 @@ public function render(Component\Component $component, RendererInterface $defaul $this->cannotHandleComponent($component); } + /** @var $component Component\Symbol\Glyph\Glyph */ + $component = $this->addTriggererOnLoadCode($component); + $tpl_file = $this->getTemplateFilename(); $tpl = $this->getTemplate($tpl_file, true, true); diff --git a/components/ILIAS/UI/src/Implementation/Component/Tree/Node/Renderer.php b/components/ILIAS/UI/src/Implementation/Component/Tree/Node/Renderer.php index 7b09d8ee3d60..1c72dbf842ad 100755 --- a/components/ILIAS/UI/src/Implementation/Component/Tree/Node/Renderer.php +++ b/components/ILIAS/UI/src/Implementation/Component/Tree/Node/Renderer.php @@ -38,6 +38,9 @@ public function render(Component\Component $component, RendererInterface $defaul $this->cannotHandleComponent($component); } + /** @var $component Component\Button\Button */ + $component = $this->addTriggererOnLoadCode($component); + $tpl_name = "tpl.node.html"; $tpl = $this->getTemplate($tpl_name, true, true); diff --git a/components/ILIAS/UI/src/Implementation/Component/ViewControl/Renderer.php b/components/ILIAS/UI/src/Implementation/Component/ViewControl/Renderer.php index 06579b16f89c..55d0e7a6f646 100644 --- a/components/ILIAS/UI/src/Implementation/Component/ViewControl/Renderer.php +++ b/components/ILIAS/UI/src/Implementation/Component/ViewControl/Renderer.php @@ -38,6 +38,9 @@ class Renderer extends AbstractComponentRenderer public function render(Component\Component $component, RendererInterface $default_renderer): string { + if ($component instanceof Component\Triggerer) { + $component = $this->addTriggererOnLoadCode($component); + } if ($component instanceof Component\ViewControl\Mode) { return $this->renderMode($component, $default_renderer); } diff --git a/components/ILIAS/UI/src/Implementation/Render/AbstractComponentRenderer.php b/components/ILIAS/UI/src/Implementation/Render/AbstractComponentRenderer.php index 28c3708eb9c9..08cdeba0c471 100755 --- a/components/ILIAS/UI/src/Implementation/Render/AbstractComponentRenderer.php +++ b/components/ILIAS/UI/src/Implementation/Render/AbstractComponentRenderer.php @@ -153,9 +153,6 @@ private function getTemplateRaw(string $path, bool $purge_unfilled_vars, bool $p */ final protected function bindJavaScript(JavaScriptBindable $component): ?string { - if ($component instanceof Triggerer) { - $component = $this->addTriggererOnLoadCode($component); - } return $this->bindOnloadCode($component); } @@ -201,7 +198,7 @@ private function bindOnloadCode(JavaScriptBindable $component): ?string /** * Add onload-code for triggerer. */ - private function addTriggererOnLoadCode(Triggerer $triggerer): JavaScriptBindable + final protected function addTriggererOnLoadCode(Triggerer $triggerer): Triggerer { $triggered_signals = $triggerer->getTriggeredSignals(); if (count($triggered_signals) == 0) { From e72f13e49a8f46e4d6c74faf8aca3852b74c2ebf Mon Sep 17 00:00:00 2001 From: Matthias Kunkel Date: Mon, 24 Nov 2025 16:12:39 +0100 Subject: [PATCH 020/865] Replaced icon for mail outbox. Look is now similar to inbox icon. --- .../resources/images/standard/icon_outbox.svg | 17 ++++------------- 1 file changed, 4 insertions(+), 13 deletions(-) diff --git a/components/ILIAS/UI/resources/images/standard/icon_outbox.svg b/components/ILIAS/UI/resources/images/standard/icon_outbox.svg index 17dcc1bfeb85..ffd890fea748 100644 --- a/components/ILIAS/UI/resources/images/standard/icon_outbox.svg +++ b/components/ILIAS/UI/resources/images/standard/icon_outbox.svg @@ -1,6 +1,6 @@ - - + + - - - - - - - + + \ No newline at end of file From b9aa63c904ca40d6791a005220006d62ff5bbf35 Mon Sep 17 00:00:00 2001 From: Matthias Kunkel Date: Mon, 24 Nov 2025 16:17:39 +0100 Subject: [PATCH 021/865] Replaced icon for read mail by icon from Milos set by Caro Wanner --- .../resources/images/standard/icon_mailr.svg | 27 ++++++++++++++++++- 1 file changed, 26 insertions(+), 1 deletion(-) diff --git a/components/ILIAS/UI/resources/images/standard/icon_mailr.svg b/components/ILIAS/UI/resources/images/standard/icon_mailr.svg index 93d113f8d1d3..0de7634f686d 100644 --- a/components/ILIAS/UI/resources/images/standard/icon_mailr.svg +++ b/components/ILIAS/UI/resources/images/standard/icon_mailr.svg @@ -1 +1,26 @@ - \ No newline at end of file + + + + + + + + + + + + + + \ No newline at end of file From c50da035e19ee7fe6868386c4bbf4dab3f2f69b2 Mon Sep 17 00:00:00 2001 From: Matthias Kunkel Date: Mon, 24 Nov 2025 16:19:35 +0100 Subject: [PATCH 022/865] Replaced draft icon by icon from Milos iconset by Caro Wanner --- .../resources/images/standard/icon_drafts.svg | 48 ++++++++++--------- 1 file changed, 26 insertions(+), 22 deletions(-) mode change 100755 => 100644 components/ILIAS/UI/resources/images/standard/icon_drafts.svg diff --git a/components/ILIAS/UI/resources/images/standard/icon_drafts.svg b/components/ILIAS/UI/resources/images/standard/icon_drafts.svg old mode 100755 new mode 100644 index c6a6a11532c6..2c980d720d30 --- a/components/ILIAS/UI/resources/images/standard/icon_drafts.svg +++ b/components/ILIAS/UI/resources/images/standard/icon_drafts.svg @@ -1,22 +1,26 @@ - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + \ No newline at end of file From 909d252879ec8f9e2dd4117e9056d389797a7537 Mon Sep 17 00:00:00 2001 From: Thibeau Fuhrer Date: Fri, 21 Nov 2025 20:56:00 +0100 Subject: [PATCH 023/865] [FIX] UI: `Field\TreeSelect::` and `Field\TreeMultiSelect::withValue()` of asynchronous nodes. * Add `Field\Node\NodeRetrieval::getNodes()` parameter for sync node whitelist. * Add `TreeSelect.#selectionHandler` to remove `TreeMultiSelect` and favour composition over inheritance. * Add `TreeSelect.engageNode()` function to engage a node inside the drilldown. * Add `TreeSelect.#engageDrilldownLevelHandler()` call to constructor to synchronise with drilldown. * Update examples and unit tests. --- .../js/Input/Field/dist/input.factory.min.js | 4 +- .../Field/src/TreeSelect/TreeMultiSelect.js | 149 ------------------ .../Input/Field/src/TreeSelect/TreeSelect.js | 81 ++++------ .../Field/src/TreeSelect/TreeSelectFactory.js | 34 +++- .../TreeSelect/engageParentDrilldownLevel.js | 29 ++++ .../src/TreeSelect/unselectChildNodes.js | 51 ++++++ .../updateMultiSelectButtonStates.js | 48 ++++++ .../updateSingleSelectButtonStates.js | 45 ++++++ .../resources/js/Menu/dist/drilldown.min.js | 2 +- .../resources/js/Menu/src/drilldown.main.js | 14 ++ .../Component/Input/Field/Node/Factory.php | 12 +- .../src/Component/Input/Field/Node/Node.php | 5 + .../Input/Field/Node/NodeRetrieval.php | 11 +- .../Component/Input/Field/Node/Async.php | 5 +- .../Component/Input/Field/Node/Branch.php | 5 +- .../Component/Input/Field/Node/Factory.php | 12 +- .../Component/Input/Field/Node/Node.php | 31 +++- .../Component/Input/Field/Renderer.php | 42 +++-- .../Input/Field/TreeMultiSelect/base.php | 84 +++++++--- .../with_select_child_nodes.php | 33 +++- .../Field/TreeMultiSelect/with_value.php | 20 ++- .../examples/Input/Field/TreeSelect/base.php | 84 +++++++--- .../Input/Field/TreeSelect/with_disabled.php | 16 ++ .../Input/Field/TreeSelect/with_required.php | 16 ++ .../Input/Field/TreeSelect/with_value.php | 21 ++- .../Client/Input/Field/TreeMultiSelect.js | 45 +++--- .../UI/tests/Client/Input/Field/TreeSelect.js | 74 +++++---- .../Client/Input/Field/TreeSelectFactory.js | 24 ++- .../Input/Field/Node/FieldAsyncNodeTest.php | 39 ++++- .../Input/Field/Node/FieldBranchNodeTest.php | 41 ++++- .../Input/Field/Node/FieldLeafNodeTest.php | 39 ++++- 31 files changed, 750 insertions(+), 366 deletions(-) delete mode 100644 components/ILIAS/UI/resources/js/Input/Field/src/TreeSelect/TreeMultiSelect.js create mode 100644 components/ILIAS/UI/resources/js/Input/Field/src/TreeSelect/engageParentDrilldownLevel.js create mode 100644 components/ILIAS/UI/resources/js/Input/Field/src/TreeSelect/unselectChildNodes.js create mode 100644 components/ILIAS/UI/resources/js/Input/Field/src/TreeSelect/updateMultiSelectButtonStates.js create mode 100644 components/ILIAS/UI/resources/js/Input/Field/src/TreeSelect/updateSingleSelectButtonStates.js diff --git a/components/ILIAS/UI/resources/js/Input/Field/dist/input.factory.min.js b/components/ILIAS/UI/resources/js/Input/Field/dist/input.factory.min.js index 57e92857b846..04d1d0b07553 100644 --- a/components/ILIAS/UI/resources/js/Input/Field/dist/input.factory.min.js +++ b/components/ILIAS/UI/resources/js/Input/Field/dist/input.factory.min.js @@ -12,7 +12,7 @@ * https://www.ilias.de * https://github.com/ILIAS-eLearning */ -!function(t,e,n){"use strict";class i{textarea;remainder=null;constructor(t){if(this.textarea=document.getElementById(t),null===this.textarea)throw new Error(`Could not find textarea for input-id '${t}'.`);if(this.shouldShowRemainder()){if(this.remainder=this.textarea.parentNode.querySelector('[data-action="remainder"]'),!this.remainder instanceof HTMLSpanElement)throw new Error(`Could not find remainder-element for input-id '${t}'.`);this.textarea.addEventListener("input",(()=>{this.updateRemainderCountHook()}))}}updateRemainderCountHook(){this.shouldShowRemainder()&&null!==this.remainder&&(this.remainder.innerHTML=(this.textarea.maxLength-this.textarea.value.length).toString())}updateTextareaContent(t,e=null,n=null){if(!this.isDisabled()){if(this.isContentTooLarge(t))return this.updateRemainderCountHook(),void this.textarea.focus();e=e??this.textarea.selectionStart,n=n??this.textarea.selectionEnd,this.textarea.value=t,ethis.textarea.selectionEnd?this.textarea.selectionStart:this.textarea.selectionEnd}getLinesBeforeSelection(){return a(this.textarea.value).slice(0,s(this.getTextBeforeSelection()))}getLinesAfterSelection(){const t=a(this.textarea.value);return t.slice(s(this.getTextBeforeSelection()+this.getTextOfSelection())+1,t.length)}getLinesOfSelection(){const t=a(this.textarea.value);return t.slice(this.getLinesBeforeSelection().length,t.length-this.getLinesAfterSelection().length)}isContentTooLarge(t){const e=this.getMaxLength();return!(e<0)&&e0}getMaxLength(){return Number(this.textarea.getAttribute("maxlength")??-1)}isDisabled(){return this.textarea.disabled}}function s(t){return(t.match(/\n/g)??[]).length}function a(t){return t.split(/\n/)}class o{instances=[];init(t){if(void 0!==this.instances[t])throw new Error(`Textarea with input-id '${t}' has already been initialized.`);this.instances[t]=new i(t)}get(t){return this.instances[t]??null}}class r{preview_parameter;preview_url;constructor(t,e){this.preview_parameter=t,this.preview_url=e}async getPreviewHtmlOf(t){if(0===t.length)return"";let e=new FormData;return e.append(this.preview_parameter,t),(await fetch(this.preview_url,{method:"POST",body:e})).text()}}const l="textarea",d="preview";class c extends i{preview_history=[];preview_renderer;content_wrappers;view_controls;actions;constructor(t,e){super(e);const n=this.textarea.closest(".c-field-markdown");if(null===n)throw new Error(`Could not find input-wrapper for input-id '${e}'.`);this.preview_renderer=t,this.content_wrappers=function(t){const e=new Map;return e.set(l,t.querySelector("textarea")),e.set(d,t.querySelector(".c-field-markdown__preview")),e.forEach((t=>{if(null===t)throw new Error("Could not find all content-wrappers for markdown-input.")})),e}(n),this.view_controls=function(t){const e=t.querySelector(".il-viewcontrol-mode")?.getElementsByTagName("button");if(!e instanceof HTMLCollection||2!==e.length)throw new Error("Could not find exactly two view-controls.");return[...e]}(n),this.actions=function(t){const e=t.querySelector(".c-field-markdown__actions")?.getElementsByTagName("button");if(e instanceof HTMLCollection)return[...e];return[]}(n);let i=!0;this.textarea.addEventListener("keydown",(t=>{i=this.handleEnterKeyBeforeInsertionHook(t)})),this.textarea.addEventListener("keyup",(t=>{this.handleEnterKeyAfterInsertionHook(t,i)})),this.actions.forEach((t=>{t.addEventListener("click",(t=>{this.performMarkdownActionHook(t)}))})),this.view_controls.forEach((t=>{t.addEventListener("click",(()=>{this.toggleViewingModeHook()}))}))}handleEnterKeyAfterInsertionHook(t,e){if(!e||!p(t))return;const n=this.getLinesBeforeSelection().pop();void 0!==n&&m(n)?this.applyTransformationToSelection(u):void 0!==n&&v(n)&&this.insertSingleEnumeration()}handleEnterKeyBeforeInsertionHook(t){if(!p(t))return!1;const e=this.getLinesOfSelection().shift();if(void 0===e||!((e.match(/((^(\s*-)|(^(\s*\d+\.)))\s*)$/g)??[]).length>0))return!0;let n=this.getLinesBeforeSelection().join("\n"),i=this.getLinesAfterSelection().join("\n");return n.length>0&&(n+="\n"),i.length>0&&(i=`\n${i}`),this.updateTextareaContent(n+i,this.getAbsoluteSelectionStart()-e.length,this.getAbsoluteSelectionEnd()-e.length),t.preventDefault(),!1}performMarkdownActionHook(t){const e=function(t){const e=t.closest("span[data-action]");if(!e instanceof HTMLSpanElement)return null;if(!e.hasAttribute("data-action"))return null;return e.dataset.action}(t.target);switch(e){case"insert-heading":this.insertCharactersAroundSelection("# ","");break;case"insert-link":this.insertCharactersAroundSelection("[","](url)");break;case"insert-bold":this.insertCharactersAroundSelection("**","**");break;case"insert-italic":this.insertCharactersAroundSelection("_","_");break;case"insert-bullet-points":this.applyTransformationToSelection(u);break;case"insert-enumeration":this.isMultilineTextSelected()?this.applyTransformationToSelection(h):this.insertSingleEnumeration();break;default:throw new Error(`Could not perform markdown-action '${e}'.`)}}toggleViewingModeHook(){this.content_wrappers.forEach((t=>{g(t,"hidden")})),this.view_controls.forEach((t=>{g(t,"engaged")})),this.isDisabled()||this.actions.forEach((t=>{t.disabled=!t.disabled;const e=t.querySelector(".glyph");null!==e&&g(e,"disabled")})),this.maybeUpdatePreviewContent()}insertSingleEnumeration(){const t=this.getLinesOfSelection();if(1!==t.length)return void this.textarea.focus();const e=this.getLinesBeforeSelection(),n=e.length-1;let i=n>=0?function(t){const e=t.match(/([0-9]+)/);if(null!==e)return parseInt(e[0]);return null}(e[n])??0:0;const s=h(t,++i),a=function(t,e=0){if(t.length<1)return[];const n=[];for(const i of t){if(!v(i))break;n.push(i.replace(/([0-9]+)/,(++e).toString()))}n.length>0&&(t=n.concat(t.slice(n.length)));return t}(this.getLinesAfterSelection(),i);let o=e.join("\n");const r=a.join("\n");let l=s.join("\n");o.length>0&&l.length>0&&(o+="\n"),l.length>0&&r.length>0&&(l+="\n");const d=o+l+r,c=d.length-this.textarea.value.length;this.updateTextareaContent(d,this.getAbsoluteSelectionStart()+c,this.getAbsoluteSelectionEnd()+c)}applyTransformationToSelection(t){if(!t instanceof Function)throw new Error(`Transformation must be an instance of Function, ${typeof t} given.`);const e=t(this.getLinesOfSelection());if(!e instanceof Array)throw new Error(`Transformation must return an instance of Array, ${typeof e} returned.`);const n=e.length>1;let i=this.getLinesBeforeSelection().join("\n");const s=this.getLinesAfterSelection().join("\n");let a=e.join("\n");i.length>0&&a.length>0&&(i+="\n"),a.length>0&&s.length>0&&(a+="\n");const o=i+a+s,r=o.length-this.textarea.value.length,l=n?i.length:this.getAbsoluteSelectionStart()+r,d=n?l+a.length-1:this.getAbsoluteSelectionEnd()+r;this.updateTextareaContent(o,l,d)}maybeUpdatePreviewContent(){const t=this.preview_history[this.preview_history.length-1]??"",e=this.textarea.value;e!==t&&(this.preview_history.push(e),this.preview_renderer.getPreviewHtmlOf(e).then((t=>{this.content_wrappers.get(d).innerHTML=t})))}getBulletPointTransformation(){return u}getEnumerationTransformation(){return h}}function u(t){const e=[],n=!m(t[0]??"");for(const i of t)e.push(n?`- ${i}`:f(i));return e}function h(t,e=1){const n=[],i=!v(t[0]??"");for(const s of t)n.push(i?`${e++}. ${s}`:f(s));return n}function g(t,e){t.classList.contains(e)?t.classList.remove(e):t.classList.add(e)}function p(t){return t instanceof KeyboardEvent&&"Enter"===t.code}function f(t){return t.replace(/((^(\s*[-])|(^(\s*\d+\.)))\s*)/g,"")}function m(t){return(t.match(/^(\s*[-])/g)??[]).length>0}function v(t){return(t.match(/^(\s*\d+\.)/g)??[]).length>0}class w{instances=[];init(t,e,n){if(void 0!==this.instances[t])throw new Error(`Markdown with input-id '${t}' has already been initialized.`);this.instances[t]=new c(new r(n,e),t)}get(t){return this.instances[t]??null}}class y{constructor(t,e,n,i,s,a=null,o=null,r=null){this.id=t,this.name=e,this.element=n,this.selectButton=i,this.drilldownParentLevel=s,this.drilldownButton=a,this.listElement=o,this.renderUrl=r}}const b="data-node-id",T="data-node-name",S="data-render-url",x="data-ddindex",E="c-input-node",O="c-input-tree_select",D=`${E}__async`,C=`${E}__leaf`,I=`${E}--selected`,A="hidden",M="disabled",N=".glyph",_=`.${E}`,L=`.${O}`,k=`.${O}__selection`,B='[data-action="remove"]',P='[data-action="select"]',j=`.${E}__select`,V=".c-drilldown__menulevel--trigger";function F(t){return function(t){return t.classList.contains(D)}(t)&&t.hasAttribute(S)?t.getAttribute(S):null}function q(t){return!t.classList.contains(C)&&t.classList.contains(E)}function H(t,e=null){return t.reduce(((t,e)=>{const n=function(t){const e=t.getAttribute(b);if(null===e)throw new Error("Could not find data-node-id attribute.");return e}(e);if(t.has(n))throw new Error(`Node '${n}' has already been parsed. There might be a rendering issue.`);return t.set(n,new y(n,function(t){const e=t.querySelector(`[${T}]`);if(null===e)throw new Error("Could not find element with data-node-name attribute.");return e.textContent}(e),e,function(t){const e=t.querySelector(`:scope > ${j}`);if(null===e)throw new Error("Could not find node select button.");return e}(e),function(t){const e=t.closest(`ul[${x}]`);if(null===e)throw new Error("Could not find drilldown menu of node.");return e.getAttribute(x)}(e),function(t){if(!q(t))return null;const e=t.querySelector(`${V}`);if(null===e)throw new Error("Could not find drilldown menu button of branch node.");return e}(e),function(t){if(!q(t))return null;const e=t.querySelector("ul");if(null===e)throw new Error("Could not find list element of branch node.");return e}(e),F(e)))}),new Map(e??[]))}function R(t,e){for(let n=0;nn.shift()??""))}function U(t,e){t.classList.toggle(I,e)}class W{#t;#e=new Set;#n=new Set;#i=new Set;#s;#a;#o;#r;#l;#d;#c;#u;#h;#g;#p;constructor(t,e,n,i,s,a,o,r,l,d,c,u,h){this.#t=t,this.#s=n,this.#a=i,this.#o=s,this.#r=a,this.#l=o,this.#d=r,this.#c=l,this.#u=d,this.#h=c,this.#g=u,this.#p=h,e.on(this.#p.ownerDocument,this.#r.getBackSignal(),(()=>{this.#f()})),this.#p.querySelectorAll('[data-action="close"]').forEach((t=>{t.addEventListener("click",(()=>{this.#m()}))})),this.#c.querySelectorAll("li").forEach((t=>{const e=function(t){const e=t.getAttribute(b);if(null===e)throw new Error(`Could not find '${b}' attribbute of element.`);return e}(t);this.#v(t,e),this.#w(e)})),this.#r.addEngageListener((t=>{this.#y(t)})),this.#g.addEventListener("click",(()=>{this.#b()})),this.#t.forEach((t=>{this.#T(t)})),this.#S()}unselectNode(t){if(this.#x(t),this.#S(),this.#E(t),this.#t.has(t)){const e=this.#t.get(t);U(e.element,!1),this.#O(e.selectButton,e.name),this.updateNodeSelectButtonStates()}}selectNode(t){if(this.#w(t),this.#S(),this.#t.has(t)){const e=this.#t.get(t);U(e.element,!0),this.#D(e.selectButton,e.name),this.#C(e),this.updateNodeSelectButtonStates()}}updateNodeSelectButtonStates(){this.#t.forEach(((t,e)=>{this.#e.size>0?(t.selectButton.disabled=!this.#e.has(e),t.selectButton.querySelector(N).classList.toggle(M,!this.#e.has(e))):(t.selectButton.disabled=!1,t.selectButton.querySelector(N).classList.toggle(M,!1))}))}getSelection(){return new Set(this.#e)}getNodes(){return new Map(this.#t)}async#I(t){var e,n,i;if(!this.#n.has(t.id)&&!this.#i.has(t.id))try{this.#i.add(t.id);const s=await this.#a.loadContent(t.renderUrl);t.listElement.append(...s.children),this.#r.parseLevels();const a=H((i=t.listElement,Array.from(i.querySelectorAll(_))),this.#t),o=(e=a,n=this.#t,Array.from(e.entries()).filter((([t])=>!n.has(t))).map((([,t])=>t)));this.#t=a,R(o,(t=>{this.#e.has(t.id)?this.selectNode(t.id):this.unselectNode(t.id),this.#T(t)})),this.#n.add(t.id)}catch(t){throw new Error(`Could not render async node children: ${t.message}`)}finally{this.#i.delete(t.id)}}#A(t){R(function(t,e,n=255){const i=[];let s=t;for(let t=0;t{const e=t.getAttribute(b);if(null===e||!this.#t.has(e))throw new Error(`Could not find '${b}' of node element.`);const n=this.#t.get(e);this.#M(n)}))}#M(t){const e=this.#s.createContent(this.#d).querySelector(".crumb");e.setAttribute(x,t.drilldownParentLevel),e.firstElementChild.textContent=t.name,e.addEventListener("click",(()=>{this.#r.engageLevel(t.drilldownParentLevel),t.drilldownButton.click()})),this.#l.append(e)}#f(){const t=this.#l.querySelectorAll(".crumb");t.item(t.length-1)?.remove()}#N(){R(this.#l.querySelectorAll(".crumb"),(t=>{t.remove()}))}#y(t){if("0"===t)return void this.#N();const e=this.#p.querySelector(`ul[${x}="${t}"]`)?.closest(_)?.getAttribute(b);if(null===e||!this.#t.has(e))throw new Error(`Could not find node for drilldown-level '${t}'.`);this.#N(),this.#A(this.#t.get(e))}#_(t,e){t.addEventListener("click",(()=>{null!==e.renderUrl&&this.#I(e)}))}#v(t,e){t.querySelector(B)?.addEventListener("click",(()=>{this.unselectNode(e),t.remove()}))}#L(t,e){t.addEventListener("click",(()=>{this.#e.has(e.id)?this.unselectNode(e.id):this.selectNode(e.id)}))}#C(t){if(null!==this.#c.querySelector(`li[${b}="${t.id}"]`))return;const e=this.#s.createContent(this.#u),n=e.querySelector("[data-node-id]");n.setAttribute(b,t.id),n.querySelector(`[${T}]`).textContent=t.name,n.querySelector("input").value=t.id,this.#v(n,t.id),this.#c.append(...e.children)}#E(t){this.#c.querySelector(`li[${b}="${t}"]`)?.remove()}#T(t){this.#L(t.selectButton,t),null!==t.drilldownButton&&this.#_(t.drilldownButton,t)}#O(t,e){t.querySelector(B)?.classList.add(A),t.querySelector(P)?.classList.remove(A),t.setAttribute("aria-label",this.#k("select_node",e))}#D(t,e){t.querySelector(P)?.classList.add(A),t.querySelector(B)?.classList.remove(A),t.setAttribute("aria-label",this.#k("unselect_node",e))}#S(){this.#h.disabled=this.#e.size<=0}#x(t){this.#e.has(t)&&this.#e.delete(t)}#w(t){this.#e.has(t)||this.#e.add(t)}#k(t,...e){return $(this.#o.txt(t),e)}#m(){this.#p.close()}#b(){this.#p.showModal()}}class K extends W{#B;constructor(t,e,n,i,s,a,o,r,l,d,c,u,h,g){super(t,e,n,i,s,a,o,r,l,d,c,u,h),this.#B=g}selectNode(t){if(!this.#B){const e=Array.from(this.getSelection().add(t));this.#P(e,this.getNodes())}super.selectNode(t)}updateNodeSelectButtonStates(){if(this.#B)return;const t=this.getNodes();t.forEach((t=>{t.selectButton.disabled=!1,t.selectButton.querySelector(N).classList.remove(M)})),this.getSelection().forEach((e=>{const n=t.get(e);null!==n&&null!==n.listElement&&n.listElement.querySelectorAll(j).forEach((t=>{t.disabled=!0,t.querySelector(N).classList.add(M)}))}))}#P(t,e){for(let i=0;i{const i=t.getAttribute(n);if(!e.has(i))throw new Error(`Element references '${i}' which does not exist.`);t.setAttribute(n,e.get(i))}))}class J{#j;constructor(t){this.#j=t}createContent(t){const e=t.content.cloneNode(!0),n=new Map;return e.querySelectorAll("[id]").forEach((t=>{const e=function(t=""){return`${t}${Date.now().toString(36)}_${Math.random().toString(36).substring(2)}`}("il_ui_fw_");n.set(t.id,e),t.id=e})),e.querySelectorAll("[for]").forEach((t=>{t.htmlFor=n.get(t.htmlFor)})),X(e,n,"aria-describedby"),X(e,n,"aria-labelledby"),X(e,n,"aria-controls"),X(e,n,"aria-owns"),z(this.#j,e.children)}}class Q{#j;constructor(t){this.#j=t}loadContent(t){return fetch(t.toString()).then((t=>t.text())).then((t=>this.#V(t))).then((t=>z(this.#j,t))).catch((e=>{throw new Error(`Could not render element(s) from '${t}': ${e.message}`)}))}#F(t){const e=this.#j.createElement("script");return t.hasAttribute("type")&&e.setAttribute("type",t.getAttribute("type")),t.hasAttribute("src")&&e.setAttribute("src",t.getAttribute("src")),t.textContent.length>0&&(e.textContent=t.textContent),e}#V(t){const e=this.#j.createElement("div");return e.innerHTML=t.trim(),e.querySelectorAll("script").forEach((t=>{const e=this.#F(t);t.replaceWith(e)})),e.children}}function G(t){return Array.from(t.querySelectorAll(_))}class Y{#q=new Map;#H;#R;#o;#j;constructor(t,e,n,i){this.#H=t,this.#R=e,this.#o=n,this.#j=i}initTreeMultiSelect(t,e){if(this.#q.has(t))throw new Error(`TreeSelect '${t}' already exists.`);const[n,i,s,a,o,r,l,d]=this.#$(t),c=this.#U(i),u=new K(H(G(l)),this.#H,new J(this.#j),new Q(this.#j),this.#o,c,s,a,o,r,d,n,l,e);return this.#q.set(t,u),u}initTreeSelect(t){if(this.#q.has(t))throw new Error(`TreeSelect '${t}' already exists.`);const[e,n,i,s,a,o,r,l]=this.#$(t),d=this.#U(n),c=new W(H(G(r)),this.#H,new J(this.#j),new Q(this.#j),this.#o,d,i,s,a,o,l,e,r);return this.#q.set(t,c),c}getInstance(t){return this.#q.has(t)?this.#q.get(t):null}#$(t){const e=this.#j.getElementById(t),n=e?.closest(L),i=n?.querySelector(".breadcrumb"),s=n?.querySelector(".modal-body > template"),a=n?.querySelector(k),o=a?.querySelector(":scope > template"),r=n?.querySelector("dialog"),l=r?.querySelector(".btn-primary");if(null===i||null===s||null===a||null===o||null===l||null===e||null===r)throw new Error(`Could not find some element(s) for Tree Select Input '${t}'.`);return[e,n,i,s,a,o,r,l]}#U(t){const e=t.querySelector(".c-drilldown");if(null===e||!e.hasAttribute("id"))throw new Error("Could not find drilldown element.");const n=this.#R.getInstance(e.id);if(null===e)throw new Error("Could not find drilldown instance.");return n}}class Z{#W;constructor(t){this.#W=t}on(t,e,n){this.#W(t).on(e,n)}off(t,e,n){this.#W(t).off(e,n)}} +!function(t,e,n){"use strict";class i{textarea;remainder=null;constructor(t){if(this.textarea=document.getElementById(t),null===this.textarea)throw new Error(`Could not find textarea for input-id '${t}'.`);if(this.shouldShowRemainder()){if(this.remainder=this.textarea.parentNode.querySelector('[data-action="remainder"]'),!this.remainder instanceof HTMLSpanElement)throw new Error(`Could not find remainder-element for input-id '${t}'.`);this.textarea.addEventListener("input",(()=>{this.updateRemainderCountHook()}))}}updateRemainderCountHook(){this.shouldShowRemainder()&&null!==this.remainder&&(this.remainder.innerHTML=(this.textarea.maxLength-this.textarea.value.length).toString())}updateTextareaContent(t,e=null,n=null){if(!this.isDisabled()){if(this.isContentTooLarge(t))return this.updateRemainderCountHook(),void this.textarea.focus();e=e??this.textarea.selectionStart,n=n??this.textarea.selectionEnd,this.textarea.value=t,ethis.textarea.selectionEnd?this.textarea.selectionStart:this.textarea.selectionEnd}getLinesBeforeSelection(){return a(this.textarea.value).slice(0,s(this.getTextBeforeSelection()))}getLinesAfterSelection(){const t=a(this.textarea.value);return t.slice(s(this.getTextBeforeSelection()+this.getTextOfSelection())+1,t.length)}getLinesOfSelection(){const t=a(this.textarea.value);return t.slice(this.getLinesBeforeSelection().length,t.length-this.getLinesAfterSelection().length)}isContentTooLarge(t){const e=this.getMaxLength();return!(e<0)&&e0}getMaxLength(){return Number(this.textarea.getAttribute("maxlength")??-1)}isDisabled(){return this.textarea.disabled}}function s(t){return(t.match(/\n/g)??[]).length}function a(t){return t.split(/\n/)}class o{instances=[];init(t){if(void 0!==this.instances[t])throw new Error(`Textarea with input-id '${t}' has already been initialized.`);this.instances[t]=new i(t)}get(t){return this.instances[t]??null}}class r{preview_parameter;preview_url;constructor(t,e){this.preview_parameter=t,this.preview_url=e}async getPreviewHtmlOf(t){if(0===t.length)return"";let e=new FormData;return e.append(this.preview_parameter,t),(await fetch(this.preview_url,{method:"POST",body:e})).text()}}const l="textarea",d="preview";class c extends i{preview_history=[];preview_renderer;content_wrappers;view_controls;actions;constructor(t,e){super(e);const n=this.textarea.closest(".c-field-markdown");if(null===n)throw new Error(`Could not find input-wrapper for input-id '${e}'.`);this.preview_renderer=t,this.content_wrappers=function(t){const e=new Map;return e.set(l,t.querySelector("textarea")),e.set(d,t.querySelector(".c-field-markdown__preview")),e.forEach((t=>{if(null===t)throw new Error("Could not find all content-wrappers for markdown-input.")})),e}(n),this.view_controls=function(t){const e=t.querySelector(".il-viewcontrol-mode")?.getElementsByTagName("button");if(!e instanceof HTMLCollection||2!==e.length)throw new Error("Could not find exactly two view-controls.");return[...e]}(n),this.actions=function(t){const e=t.querySelector(".c-field-markdown__actions")?.getElementsByTagName("button");if(e instanceof HTMLCollection)return[...e];return[]}(n);let i=!0;this.textarea.addEventListener("keydown",(t=>{i=this.handleEnterKeyBeforeInsertionHook(t)})),this.textarea.addEventListener("keyup",(t=>{this.handleEnterKeyAfterInsertionHook(t,i)})),this.actions.forEach((t=>{t.addEventListener("click",(t=>{this.performMarkdownActionHook(t)}))})),this.view_controls.forEach((t=>{t.addEventListener("click",(()=>{this.toggleViewingModeHook()}))}))}handleEnterKeyAfterInsertionHook(t,e){if(!e||!p(t))return;const n=this.getLinesBeforeSelection().pop();void 0!==n&&m(n)?this.applyTransformationToSelection(u):void 0!==n&&v(n)&&this.insertSingleEnumeration()}handleEnterKeyBeforeInsertionHook(t){if(!p(t))return!1;const e=this.getLinesOfSelection().shift();if(void 0===e||!((e.match(/((^(\s*-)|(^(\s*\d+\.)))\s*)$/g)??[]).length>0))return!0;let n=this.getLinesBeforeSelection().join("\n"),i=this.getLinesAfterSelection().join("\n");return n.length>0&&(n+="\n"),i.length>0&&(i=`\n${i}`),this.updateTextareaContent(n+i,this.getAbsoluteSelectionStart()-e.length,this.getAbsoluteSelectionEnd()-e.length),t.preventDefault(),!1}performMarkdownActionHook(t){const e=function(t){const e=t.closest("span[data-action]");if(!e instanceof HTMLSpanElement)return null;if(!e.hasAttribute("data-action"))return null;return e.dataset.action}(t.target);switch(e){case"insert-heading":this.insertCharactersAroundSelection("# ","");break;case"insert-link":this.insertCharactersAroundSelection("[","](url)");break;case"insert-bold":this.insertCharactersAroundSelection("**","**");break;case"insert-italic":this.insertCharactersAroundSelection("_","_");break;case"insert-bullet-points":this.applyTransformationToSelection(u);break;case"insert-enumeration":this.isMultilineTextSelected()?this.applyTransformationToSelection(h):this.insertSingleEnumeration();break;default:throw new Error(`Could not perform markdown-action '${e}'.`)}}toggleViewingModeHook(){this.content_wrappers.forEach((t=>{g(t,"hidden")})),this.view_controls.forEach((t=>{g(t,"engaged")})),this.isDisabled()||this.actions.forEach((t=>{t.disabled=!t.disabled;const e=t.querySelector(".glyph");null!==e&&g(e,"disabled")})),this.maybeUpdatePreviewContent()}insertSingleEnumeration(){const t=this.getLinesOfSelection();if(1!==t.length)return void this.textarea.focus();const e=this.getLinesBeforeSelection(),n=e.length-1;let i=n>=0?function(t){const e=t.match(/([0-9]+)/);if(null!==e)return parseInt(e[0]);return null}(e[n])??0:0;const s=h(t,++i),a=function(t,e=0){if(t.length<1)return[];const n=[];for(const i of t){if(!v(i))break;n.push(i.replace(/([0-9]+)/,(++e).toString()))}n.length>0&&(t=n.concat(t.slice(n.length)));return t}(this.getLinesAfterSelection(),i);let o=e.join("\n");const r=a.join("\n");let l=s.join("\n");o.length>0&&l.length>0&&(o+="\n"),l.length>0&&r.length>0&&(l+="\n");const d=o+l+r,c=d.length-this.textarea.value.length;this.updateTextareaContent(d,this.getAbsoluteSelectionStart()+c,this.getAbsoluteSelectionEnd()+c)}applyTransformationToSelection(t){if(!t instanceof Function)throw new Error(`Transformation must be an instance of Function, ${typeof t} given.`);const e=t(this.getLinesOfSelection());if(!e instanceof Array)throw new Error(`Transformation must return an instance of Array, ${typeof e} returned.`);const n=e.length>1;let i=this.getLinesBeforeSelection().join("\n");const s=this.getLinesAfterSelection().join("\n");let a=e.join("\n");i.length>0&&a.length>0&&(i+="\n"),a.length>0&&s.length>0&&(a+="\n");const o=i+a+s,r=o.length-this.textarea.value.length,l=n?i.length:this.getAbsoluteSelectionStart()+r,d=n?l+a.length-1:this.getAbsoluteSelectionEnd()+r;this.updateTextareaContent(o,l,d)}maybeUpdatePreviewContent(){const t=this.preview_history[this.preview_history.length-1]??"",e=this.textarea.value;e!==t&&(this.preview_history.push(e),this.preview_renderer.getPreviewHtmlOf(e).then((t=>{this.content_wrappers.get(d).innerHTML=t})))}getBulletPointTransformation(){return u}getEnumerationTransformation(){return h}}function u(t){const e=[],n=!m(t[0]??"");for(const i of t)e.push(n?`- ${i}`:f(i));return e}function h(t,e=1){const n=[],i=!v(t[0]??"");for(const s of t)n.push(i?`${e++}. ${s}`:f(s));return n}function g(t,e){t.classList.contains(e)?t.classList.remove(e):t.classList.add(e)}function p(t){return t instanceof KeyboardEvent&&"Enter"===t.code}function f(t){return t.replace(/((^(\s*[-])|(^(\s*\d+\.)))\s*)/g,"")}function m(t){return(t.match(/^(\s*[-])/g)??[]).length>0}function v(t){return(t.match(/^(\s*\d+\.)/g)??[]).length>0}class w{instances=[];init(t,e,n){if(void 0!==this.instances[t])throw new Error(`Markdown with input-id '${t}' has already been initialized.`);this.instances[t]=new c(new r(n,e),t)}get(t){return this.instances[t]??null}}class y{constructor(t,e,n,i,s,a=null,o=null,r=null){this.id=t,this.name=e,this.element=n,this.selectButton=i,this.drilldownParentLevel=s,this.drilldownButton=a,this.listElement=o,this.renderUrl=r}}const b="data-node-id",T="data-node-name",S="data-render-url",x="data-ddindex",E="c-input-node",O="c-input-tree_select",D=`${E}__async`,C=`${E}__leaf`,I=`${E}--selected`,A="hidden",M="disabled",N=".glyph",_=`.${E}`,L=`.${O}`,k=`.${O}__selection`,P='[data-action="remove"]',B='[data-action="select"]',j=`.${E}__select`,V=".c-drilldown__menulevel--trigger";function F(t){return function(t){return t.classList.contains(D)}(t)&&t.hasAttribute(S)?t.getAttribute(S):null}function H(t){return!t.classList.contains(C)&&t.classList.contains(E)}function q(t,e=null){return t.reduce(((t,e)=>{const n=function(t){const e=t.getAttribute(b);if(null===e)throw new Error("Could not find data-node-id attribute.");return e}(e);if(t.has(n))throw new Error(`Node '${n}' has already been parsed. There might be a rendering issue.`);return t.set(n,new y(n,function(t){const e=t.querySelector(`[${T}]`);if(null===e)throw new Error("Could not find element with data-node-name attribute.");return e.textContent}(e),e,function(t){const e=t.querySelector(`:scope > ${j}`);if(null===e)throw new Error("Could not find node select button.");return e}(e),function(t){const e=t.closest(`ul[${x}]`);if(null===e)throw new Error("Could not find drilldown menu of node.");return e.getAttribute(x)}(e),function(t){if(!H(t))return null;const e=t.querySelector(`${V}`);if(null===e)throw new Error("Could not find drilldown menu button of branch node.");return e}(e),function(t){if(!H(t))return null;const e=t.querySelector("ul");if(null===e)throw new Error("Could not find list element of branch node.");return e}(e),F(e)))}),new Map(e??[]))}function R(t,e){for(let n=0;nn.shift()??""))}function U(t,e){t.classList.toggle(I,e)}class W{#t;#e=new Set;#n=new Set;#i=new Set;#s;#a;#o;#r;#l;#d;#c;#u;#h;#g;#p;#f;constructor(t,e,n,i,s,a,o,r,l,d,c,u,h,g){this.#t=t,this.#s=n,this.#a=i,this.#o=s,this.#r=a,this.#l=o,this.#d=r,this.#c=l,this.#u=d,this.#h=c,this.#g=u,this.#p=h,this.#f=g,e.on(this.#p.ownerDocument,this.#r.getBackSignal(),(()=>{this.#m()})),this.#p.querySelectorAll('[data-action="close"]').forEach((t=>{t.addEventListener("click",(()=>{this.#v()}))})),this.#r.addEngageListener((t=>{this.#w(t)})),this.#g.addEventListener("click",(()=>{this.#y()})),this.#t.forEach((t=>{this.#b(t)})),this.#c.querySelectorAll("li").forEach((t=>{const e=function(t){const e=t.getAttribute(b);if(null===e)throw new Error(`Could not find '${b}' attribbute of element.`);return e}(t);this.#T(t,e),this.selectNode(e)})),this.#w(this.#r.getCurrentLevel()),this.#S()}unselectNode(t){if(this.#x(t),this.#S(),this.#E(t),this.#t.has(t)){const e=this.#t.get(t);U(e.element,!1),this.#O(e.selectButton,e.name)}this.#f(this)}selectNode(t){if(this.#D(t),this.#S(),this.#t.has(t)){const e=this.#t.get(t);U(e.element,!0),this.#C(e.selectButton,e.name),this.#I(e)}this.#f(this)}engageNode(t){if(!this.#t.has(t))return;const e=this.#t.get(t).drilldownParentLevel;this.#r.getCurrentLevel()!==e&&this.#r.getParentLevel()!==e&&this.#r.engageLevel(e)}getSelection(){return new Set(this.#e)}getNodes(){return new Map(this.#t)}async#A(t){var e,n,i;if(!this.#n.has(t.id)&&!this.#i.has(t.id))try{this.#i.add(t.id);const s=await this.#a.loadContent(t.renderUrl);t.listElement.append(...s.children),this.#r.parseLevels();const a=q((i=t.listElement,Array.from(i.querySelectorAll(_))),this.#t),o=(e=a,n=this.#t,Array.from(e.entries()).filter((([t])=>!n.has(t))).map((([,t])=>t)));this.#t=a,R(o,(t=>{this.#e.has(t.id)?this.selectNode(t.id):this.unselectNode(t.id),this.#b(t)})),this.#n.add(t.id)}catch(t){throw new Error(`Could not render async node children: ${t.message}`)}finally{this.#i.delete(t.id)}}#M(t){R(function(t,e,n=255){const i=[];let s=t;for(let t=0;t{const e=t.getAttribute(b);if(null===e||!this.#t.has(e))throw new Error(`Could not find '${b}' of node element.`);const n=this.#t.get(e);this.#N(n)}))}#N(t){const e=this.#s.createContent(this.#d).querySelector(".crumb");e.setAttribute(x,t.drilldownParentLevel),e.firstElementChild.textContent=t.name,e.addEventListener("click",(()=>{this.#r.engageLevel(t.drilldownParentLevel),t.drilldownButton.click()})),this.#l.append(e)}#m(){const t=this.#l.querySelectorAll(".crumb");t.item(t.length-1)?.remove()}#_(){R(this.#l.querySelectorAll(".crumb"),(t=>{t.remove()}))}#w(t){if("0"===t)return void this.#_();const e=this.#p.querySelector(`ul[${x}="${t}"]`)?.closest(_)?.getAttribute(b);if(null===e||!this.#t.has(e))throw new Error(`Could not find node for drilldown-level '${t}'.`);const n=this.#t.get(e);this.#_(),this.#M(n),null!==n.renderUrl&&this.#A(n)}#T(t,e){t.querySelector(P)?.addEventListener("click",(()=>{this.unselectNode(e),t.remove()}))}#L(t,e){t.addEventListener("click",(()=>{this.#e.has(e.id)?this.unselectNode(e.id):this.selectNode(e.id)}))}#I(t){if(null!==this.#c.querySelector(`li[${b}="${t.id}"]`))return;const e=this.#s.createContent(this.#u),n=e.querySelector("[data-node-id]");n.setAttribute(b,t.id),n.querySelector(`[${T}]`).textContent=t.name,n.querySelector("input").value=t.id,this.#T(n,t.id),this.#c.append(...e.children)}#E(t){this.#c.querySelector(`li[${b}="${t}"]`)?.remove()}#b(t){this.#L(t.selectButton,t)}#O(t,e){t.querySelector(P)?.classList.add(A),t.querySelector(B)?.classList.remove(A),t.setAttribute("aria-label",this.#k("select_node",e))}#C(t,e){t.querySelector(B)?.classList.add(A),t.querySelector(P)?.classList.remove(A),t.setAttribute("aria-label",this.#k("unselect_node",e))}#S(){this.#h.disabled=this.#e.size<=0}#x(t){this.#e.has(t)&&this.#e.delete(t)}#D(t){this.#e.has(t)||this.#e.add(t)}#k(t,...e){return $(this.#o.txt(t),e)}#v(){this.#p.close()}#y(){this.#p.showModal()}}function z(t,e){const n=t.createDocumentFragment();return n.append(...e),n}function K(t,e,n){t.querySelectorAll(`[${n}]`).forEach((t=>{const i=t.getAttribute(n);if(!e.has(i))throw new Error(`Element references '${i}' which does not exist.`);t.setAttribute(n,e.get(i))}))}class X{#P;constructor(t){this.#P=t}createContent(t){const e=t.content.cloneNode(!0),n=new Map;return e.querySelectorAll("[id]").forEach((t=>{const e=function(t=""){return`${t}${Date.now().toString(36)}_${Math.random().toString(36).substring(2)}`}("il_ui_fw_");n.set(t.id,e),t.id=e})),e.querySelectorAll("[for]").forEach((t=>{t.htmlFor=n.get(t.htmlFor)})),K(e,n,"aria-describedby"),K(e,n,"aria-labelledby"),K(e,n,"aria-controls"),K(e,n,"aria-owns"),z(this.#P,e.children)}}class J{#P;constructor(t){this.#P=t}loadContent(t){return fetch(t.toString()).then((t=>t.text())).then((t=>this.#B(t))).then((t=>z(this.#P,t))).catch((e=>{throw new Error(`Could not render element(s) from '${t}': ${e.message}`)}))}#j(t){const e=this.#P.createElement("script");return t.hasAttribute("type")&&e.setAttribute("type",t.getAttribute("type")),t.hasAttribute("src")&&e.setAttribute("src",t.getAttribute("src")),t.textContent.length>0&&(e.textContent=t.textContent),e}#B(t){const e=this.#P.createElement("div");return e.innerHTML=t.trim(),e.querySelectorAll("script").forEach((t=>{const e=this.#j(t);t.replaceWith(e)})),e.children}}function Q(t){return Array.from(t.querySelectorAll(_))}function G(){return t=>{!function(t){const e=t.getNodes(),n=t.getSelection();e.forEach(((t,e)=>{n.size>0?(t.selectButton.disabled=!n.has(e),t.selectButton.querySelector(N).classList.toggle(M,!n.has(e))):(t.selectButton.disabled=!1,t.selectButton.querySelector(N).classList.toggle(M,!1))}))}(t),function(t){const e=t.getSelection();if(1===e.size){const n=e.values()?.next()?.value;t.getNodes().has(n)&&t.engageNode(n)}}(t)}}function Y(t){return t?()=>{}:t=>{!function(t){const e=Array.from(t.getSelection()),n=t.getNodes();for(let s=0;s{t.selectButton.disabled=!1,t.selectButton.querySelector(N).classList.remove(M)})),n.forEach((t=>{const n=e.get(t);null!==n&&null!==n.listElement&&n.listElement.querySelectorAll(j).forEach((t=>{t.disabled=!0,t.querySelector(N).classList.add(M)}))}))}(t)}}class Z{#V=new Map;#F;#H;#o;#P;constructor(t,e,n,i){this.#F=t,this.#H=e,this.#o=n,this.#P=i}initTreeMultiSelect(t,e){if(this.#V.has(t))throw new Error(`TreeSelect '${t}' already exists.`);const[n,i,s,a,o,r,l,d]=this.#q(t),c=this.#R(i),u=new W(q(Q(l)),this.#F,new X(this.#P),new J(this.#P),this.#o,c,s,a,o,r,d,n,l,Y(e));return this.#V.set(t,u),u}initTreeSelect(t){if(this.#V.has(t))throw new Error(`TreeSelect '${t}' already exists.`);const[e,n,i,s,a,o,r,l]=this.#q(t),d=this.#R(n),c=new W(q(Q(r)),this.#F,new X(this.#P),new J(this.#P),this.#o,d,i,s,a,o,l,e,r,G());return this.#V.set(t,c),c}getInstance(t){return this.#V.has(t)?this.#V.get(t):null}#q(t){const e=this.#P.getElementById(t),n=e?.closest(L),i=n?.querySelector(".breadcrumb"),s=n?.querySelector(".modal-body > template"),a=n?.querySelector(k),o=a?.querySelector(":scope > template"),r=n?.querySelector("dialog"),l=r?.querySelector(".btn-primary");if(null===i||null===s||null===a||null===o||null===l||null===e||null===r)throw new Error(`Could not find some element(s) for Tree Select Input '${t}'.`);return[e,n,i,s,a,o,r,l]}#R(t){const e=t.querySelector(".c-drilldown");if(null===e||!e.hasAttribute("id"))throw new Error("Could not find drilldown element.");const n=this.#H.getInstance(e.id);if(null===e)throw new Error("Could not find drilldown instance.");return n}}class tt{#$;constructor(t){this.#$=t}on(t,e,n){this.#$(t).on(e,n)}off(t,e,n){this.#$(t).off(e,n)}} /* Tagify v4.33.2 - tags input component By: Yair Even-Or @@ -38,4 +38,4 @@ This Software may not be rebranded and sold as a library under any other name other than "Tagify" (by owner) or as part of another library. - */var tt="​";function et(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,i=new Array(e);n/g,">").replace(/"/g,""").replace(/`|'/g,"'"):t}function ct(t){var e=Object.prototype.toString.call(t).split(" ")[1].slice(0,-1);return t===Object(t)&&"Array"!=e&&"Function"!=e&&"RegExp"!=e&&"HTMLUnknownElement"!=e}function ut(t,e,n){var i,s;function a(t,e){for(var n in e)if(e.hasOwnProperty(n)){if(ct(e[n])){ct(t[n])?a(t[n],e[n]):t[n]=Object.assign({},e[n]);continue}if(Array.isArray(e[n])){t[n]=Object.assign([],e[n]);continue}t[n]=e[n]}}return i=t,(null!=(s=Object)&&"undefined"!=typeof Symbol&&s[Symbol.hasInstance]?s[Symbol.hasInstance](i):i instanceof s)||(t={}),a(t,e),n&&a(t,n),t}function ht(){var t=[],e={},n=!0,i=!1,s=void 0;try{for(var a,o=arguments[Symbol.iterator]();!(n=(a=o.next()).done);n=!0){var r=a.value,l=!0,d=!1,c=void 0;try{for(var u,h=r[Symbol.iterator]();!(l=(u=h.next()).done);l=!0){var g=u.value;ct(g)?e[g.value]||(t.push(g),e[g.value]=1):t.includes(g)||t.push(g)}}catch(t){d=!0,c=t}finally{try{l||null==h.return||h.return()}finally{if(d)throw c}}}}catch(t){i=!0,s=t}finally{try{n||null==o.return||o.return()}finally{if(i)throw s}}return t}function gt(t){return String.prototype.normalize?"string"==typeof t?t.normalize("NFD").replace(/[\u0300-\u036f]/g,""):void 0:t}var pt=function(){return/(?=.*chrome)(?=.*android)/i.test(navigator.userAgent)};function ft(){return([1e7]+-1e3+-4e3+-8e3+-1e11).replace(/[018]/g,(function(t){return(t^crypto.getRandomValues(new Uint8Array(1))[0]&15>>t/4).toString(16)}))}function mt(t){var e;return wt.call(this,t)&&(null==t||null===(e=t.classList)||void 0===e?void 0:e.contains(this.settings.classNames.tag))}function vt(t){return wt.call(this,t)&&(null==t?void 0:t.closest(this.settings.classNames.tagSelector))}function wt(t){var e;return(null==t||null===(e=t.closest)||void 0===e?void 0:e.call(t,this.settings.classNames.namespaceSelector))===this.DOM.scope}function yt(t,e){var n=window.getSelection();return e=e||n.getRangeAt(0),"string"==typeof t&&(t=document.createTextNode(t)),e&&(e.deleteContents(),e.insertNode(t)),t}function bt(t,e,n){return t?(e&&(t.__tagifyTagData=n?e:ut({},t.__tagifyTagData||{},e)),t.__tagifyTagData):(it.warn("tag element doesn't exist",{tagElm:t,data:e}),e)}function Tt(t){if(t&&t.parentNode){var e=t,n=window.getSelection(),i=n.getRangeAt(0);n.rangeCount&&(i.setStartAfter(e),i.collapse(!0),n.removeAllRanges(),n.addRange(i))}}function St(t,e){t.forEach((function(t){if(bt(t.previousSibling)||!t.previousSibling){var n=document.createTextNode("​");t.before(n),e&&Tt(n)}}))}var xt={delimiters:",",pattern:null,tagTextProp:"value",maxTags:1/0,callbacks:{},addTagOnBlur:!0,addTagOn:["blur","tab","enter"],onChangeAfterBlur:!0,duplicates:!1,whitelist:[],blacklist:[],enforceWhitelist:!1,userInput:!0,focusable:!0,keepInvalidTags:!1,createInvalidTags:!0,mixTagsAllowedAfter:/,|\.|\:|\s/,mixTagsInterpolator:["[[","]]"],backspace:!0,skipInvalid:!1,pasteAsTags:!0,editTags:{clicks:2,keepInvalid:!0},transformTag:function(){},trim:!0,a11y:{focusableTags:!1},mixMode:{insertAfterTag:" "},autoComplete:{enabled:!0,rightKey:!1,tabKey:!1},classNames:{namespace:"tagify",mixMode:"tagify--mix",selectMode:"tagify--select",input:"tagify__input",focus:"tagify--focus",tagNoAnimation:"tagify--noAnim",tagInvalid:"tagify--invalid",tagNotAllowed:"tagify--notAllowed",scopeLoading:"tagify--loading",hasMaxTags:"tagify--hasMaxTags",hasNoTags:"tagify--noTags",empty:"tagify--empty",inputInvalid:"tagify__input--invalid",dropdown:"tagify__dropdown",dropdownWrapper:"tagify__dropdown__wrapper",dropdownHeader:"tagify__dropdown__header",dropdownFooter:"tagify__dropdown__footer",dropdownItem:"tagify__dropdown__item",dropdownItemActive:"tagify__dropdown__item--active",dropdownItemHidden:"tagify__dropdown__item--hidden",dropdownItemSelected:"tagify__dropdown__item--selected",dropdownInital:"tagify__dropdown--initial",tag:"tagify__tag",tagText:"tagify__tag-text",tagX:"tagify__tag__removeBtn",tagLoading:"tagify__tag--loading",tagEditing:"tagify__tag--editable",tagFlash:"tagify__tag--flash",tagHide:"tagify__tag--hide"},dropdown:{classname:"",enabled:2,maxItems:10,searchKeys:["value","searchBy"],fuzzySearch:!0,caseSensitive:!1,accentedSearch:!0,includeSelectedTags:!1,escapeHTML:!0,highlightFirst:!0,closeOnSelect:!0,clearOnSelect:!0,position:"all",appendTarget:null},hooks:{beforeRemoveTag:function(){return Promise.resolve()},beforePaste:function(){return Promise.resolve()},suggestionClick:function(){return Promise.resolve()},beforeKeyDown:function(){return Promise.resolve()}}};function Et(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function Ot(t){for(var e=1;et.length)&&(e=t.length);for(var n=0,i=new Array(e);n0&&void 0!==arguments[0])||arguments[0],e=this.dropdown.events.callbacks,n=this.listeners.dropdown=this.listeners.dropdown||{position:this.dropdown.position.bind(this,null),onKeyDown:e.onKeyDown.bind(this),onMouseOver:e.onMouseOver.bind(this),onMouseLeave:e.onMouseLeave.bind(this),onClick:e.onClick.bind(this),onScroll:e.onScroll.bind(this)},i=t?"addEventListener":"removeEventListener";"manual"!=this.settings.dropdown.position&&(document[i]("scroll",n.position,!0),window[i]("resize",n.position),window[i]("keydown",n.onKeyDown)),this.DOM.dropdown[i]("mouseover",n.onMouseOver),this.DOM.dropdown[i]("mouseleave",n.onMouseLeave),this.DOM.dropdown[i]("mousedown",n.onClick),this.DOM.dropdown.content[i]("scroll",n.onScroll)},callbacks:{onKeyDown:function(t){var e=this;if(this.state.hasFocus&&!this.state.composing){var n=this.settings,i=n.dropdown.includeSelectedTags,s=this.DOM.dropdown.querySelector(n.classNames.dropdownItemActiveSelector),a=this.dropdown.getSuggestionDataByNode(s),o="mix"==n.mode,r="select"==n.mode;n.hooks.beforeKeyDown(t,{tagify:this}).then((function(l){switch(t.key){case"ArrowDown":case"ArrowUp":case"Down":case"Up":t.preventDefault();var d=e.dropdown.getAllSuggestionsRefs(),c="ArrowUp"==t.key||"Up"==t.key;s&&(s=e.dropdown.getNextOrPrevOption(s,!c)),s&&s.matches(n.classNames.dropdownItemSelector)||(s=d[c?d.length-1:0]),e.dropdown.highlightOption(s,!0);break;case"PageUp":case"PageDown":var u;t.preventDefault();var h=e.dropdown.getAllSuggestionsRefs(),g=Math.floor(e.DOM.dropdown.content.clientHeight/(null===(u=h[0])||void 0===u?void 0:u.offsetHeight))||1,p="PageUp"===t.key;if(s){var f=h.indexOf(s),m=p?Math.max(0,f-g):Math.min(h.length-1,f+g);s=h[m]}else s=h[0];e.dropdown.highlightOption(s,!0);break;case"Home":case"End":t.preventDefault();var v=e.dropdown.getAllSuggestionsRefs();s=v["Home"===t.key?0:v.length-1],e.dropdown.highlightOption(s,!0);break;case"Escape":case"Esc":e.dropdown.hide();break;case"ArrowRight":if(e.state.actions.ArrowLeft||n.autoComplete.rightKey)return;case"Tab":var w=!n.autoComplete.rightKey||!n.autoComplete.tabKey;if(!o&&!r&&s&&w&&!e.state.editing&&a){t.preventDefault();var y=e.dropdown.getMappedValue(a);return e.state.autoCompleteData=a,e.input.autocomplete.set.call(e,y),!1}return!0;case"Enter":t.preventDefault(),e.state.actions.selectOption=!0,setTimeout((function(){return e.state.actions.selectOption=!1}),100),n.hooks.suggestionClick(t,{tagify:e,tagData:a,suggestionElm:s}).then((function(){if(s){var n=i?s:e.dropdown.getNextOrPrevOption(s,!c);e.dropdown.selectOption(s,t,(function(){if(n){var t=n.getAttribute("value");n=e.dropdown.getSuggestionNodeByValue(t),e.dropdown.highlightOption(n)}}))}else e.dropdown.hide(),o||e.addTags(e.state.inputText.trim(),!0)})).catch((function(t){return it.warn(t)}));break;case"Backspace":if(o||e.state.editing.scope)return;var b=e.input.raw.call(e);""!=b&&8203!=b.charCodeAt(0)||(!0===n.backspace?e.removeTags():"edit"==n.backspace&&setTimeout(e.editTag.bind(e),0))}}))}},onMouseOver:function(t){var e=t.target.closest(this.settings.classNames.dropdownItemSelector);this.dropdown.highlightOption(e)},onMouseLeave:function(t){this.dropdown.highlightOption()},onClick:function(t){var e=this;if(0==t.button&&t.target!=this.DOM.dropdown&&t.target!=this.DOM.dropdown.content){var n=t.target.closest(this.settings.classNames.dropdownItemSelector),i=this.dropdown.getSuggestionDataByNode(n);this.state.actions.selectOption=!0,setTimeout((function(){return e.state.actions.selectOption=!1}),100),this.settings.hooks.suggestionClick(t,{tagify:this,tagData:i,suggestionElm:n}).then((function(){n?e.dropdown.selectOption(n,t):e.dropdown.hide()})).catch((function(t){return it.warn(t)}))}},onScroll:function(t){var e=t.target,n=e.scrollTop/(e.scrollHeight-e.parentNode.clientHeight)*100;this.trigger("dropdown:scroll",{percentage:Math.round(n)})}}},refilter:function(t){t=t||this.state.dropdown.query||"",this.suggestedListItems=this.dropdown.filterListItems(t),this.dropdown.fill(),this.suggestedListItems.length||this.dropdown.hide(),this.trigger("dropdown:updated",this.DOM.dropdown)},getSuggestionDataByNode:function(t){for(var e,n=t&&t.getAttribute("value"),i=this.suggestedListItems.length;i--;){if(ct(e=this.suggestedListItems[i])&&e.value==n)return e;if(e==n)return{value:e}}},getSuggestionNodeByValue:function(t){return this.dropdown.getAllSuggestionsRefs().find((function(e){return e.getAttribute("value")===t}))},getNextOrPrevOption:function(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],n=this.dropdown.getAllSuggestionsRefs(),i=n.findIndex((function(e){return e===t}));return e?n[i+1]:n[i-1]},highlightOption:function(t,e){var n,i=this.settings.classNames.dropdownItemActive;if(this.state.ddItemElm&&(this.state.ddItemElm.classList.remove(i),this.state.ddItemElm.removeAttribute("aria-selected")),!t)return this.state.ddItemData=null,this.state.ddItemElm=null,void this.input.autocomplete.suggest.call(this);n=this.dropdown.getSuggestionDataByNode(t),this.state.ddItemData=n,this.state.ddItemElm=t,t.classList.add(i),t.setAttribute("aria-selected",!0),e&&(t.parentNode.scrollTop=t.clientHeight+t.offsetTop-t.parentNode.clientHeight),this.settings.autoComplete&&(this.input.autocomplete.suggest.call(this,n),this.dropdown.position())},selectOption:function(t,e,n){var i=this,s=this.settings,a=s.dropdown.includeSelectedTags,o=s.dropdown,r=o.clearOnSelect,l=o.closeOnSelect;if(!t)return this.addTags(this.state.inputText,!0),void(l&&this.dropdown.hide());e=e||{};var d=t.getAttribute("value"),c="noMatch"==d,u="mix"==s.mode,h=this.suggestedListItems.find((function(t){var e;return(null!==(e=t.value)&&void 0!==e?e:t)==d}));if(this.trigger("dropdown:select",{data:h,elm:t,event:e}),h||c){if(this.state.editing){var g=this.normalizeTags([h])[0];h=s.transformTag.call(this,g)||g,this.onEditTagDone(null,ut({__isValid:!0},h))}else this[u?"addMixTags":"addTags"]([h||this.input.raw.call(this)],r);(u||this.DOM.input.parentNode)&&(setTimeout((function(){i.DOM.input.focus(),i.toggleFocusClass(!0)})),l&&setTimeout(this.dropdown.hide.bind(this)),a?n&&n():(t.addEventListener("transitionend",(function(){i.dropdown.fillHeaderFooter(),setTimeout((function(){t.remove(),i.dropdown.refilter(),n&&n()}),100)}),{once:!0}),t.classList.add(this.settings.classNames.dropdownItemHidden)))}else l&&setTimeout(this.dropdown.hide.bind(this))},selectAll:function(t){this.suggestedListItems.length=0,this.dropdown.hide(),this.dropdown.filterListItems("");var e=this.dropdown.filterListItems("");return t||(e=this.state.dropdown.suggestions),this.addTags(e,!0),this},filterListItems:function(t,e){var n,i,s,a,o,r,l=function(){var t,l,d=void 0,c=void 0;t=p[y],i=(null!=(l=Object)&&"undefined"!=typeof Symbol&&l[Symbol.hasInstance]?l[Symbol.hasInstance](t):t instanceof l)?p[y]:{value:p[y]};var f,m=Object.keys(i).some((function(t){return w.includes(t)}))?w:["value"];u.fuzzySearch&&!e.exact?(a=m.reduce((function(t,e){return t+" "+(i[e]||"")}),"").toLowerCase().trim(),u.accentedSearch&&(a=gt(a),r=gt(r)),d=0==a.indexOf(r),c=a===r,f=a,s=r.toLowerCase().split(" ").every((function(t){return f.includes(t.toLowerCase())}))):(d=!0,s=m.some((function(t){var n=""+(i[t]||"");return u.accentedSearch&&(n=gt(n),r=gt(r)),u.caseSensitive||(n=n.toLowerCase()),c=n===r,e.exact?n===r:0==n.indexOf(r)}))),o=!u.includeSelectedTags&&n.isTagDuplicate(ct(i)?i.value:i),s&&!o&&(c&&d?g.push(i):"startsWith"==u.sortby&&d?h.unshift(i):h.push(i))},d=this,c=this.settings,u=c.dropdown,h=(e=e||{},[]),g=[],p=c.whitelist,f=u.maxItems>=0?u.maxItems:1/0,m=u.includeSelectedTags,v="function"==typeof u.sortby,w=u.searchKeys,y=0;if(!(t="select"==c.mode&&this.value.length&&this.value[0][c.tagTextProp]==t?"":t)||!w.length){h=m?p:p.filter((function(t){return!d.isTagDuplicate(ct(t)?t.value:t)}));var b=v?u.sortby(h,r):h.slice(0,f);return this.state.dropdown.suggestions=b,b}for(r=u.caseSensitive?""+t:(""+t).toLowerCase();y[\r\n ]+\<").split(/>\s+<").trim():""},fillHeaderFooter:function(){var t=this.dropdown.filterListItems(this.state.dropdown.query),e=this.parseTemplate("dropdownHeader",[t]),n=this.parseTemplate("dropdownFooter",[t]),i=this.dropdown.getHeaderRef(),s=this.dropdown.getFooterRef();e&&(null==i||i.parentNode.replaceChild(e,i)),n&&(null==s||s.parentNode.replaceChild(n,s))},position:function(t){var e=this.settings.dropdown,n=this.dropdown.getAppendTarget();if("manual"!=e.position&&n){var i,s,a,o,r,l,d,c,u,h,g=this.DOM.dropdown,p=e.RTL,f=n===document.body,m=n===this.DOM.scope,v=f?window.pageYOffset:n.scrollTop,w=document.fullscreenElement||document.webkitFullscreenElement||document.documentElement,y=w.clientHeight,b=Math.max(w.clientWidth||0,window.innerWidth||0),T=b>480?e.position:"all",S=this.DOM["input"==T?"input":"scope"];if(t=t||g.clientHeight,this.state.dropdown.visible){if("text"==T?(a=(i=function(){var t=document.getSelection();if(t.rangeCount){var e,n,i=t.getRangeAt(0),s=i.startContainer,a=i.startOffset;if(a>0)return(n=document.createRange()).setStart(s,a-1),n.setEnd(s,a),{left:(e=n.getBoundingClientRect()).right,top:e.top,bottom:e.bottom};if(s.getBoundingClientRect)return s.getBoundingClientRect()}return{left:-9999,top:-9999}}()).bottom,s=i.top,o=i.left,r="auto"):(l=function(t){var e=0,n=0;for(t=t.parentNode;t&&t!=w;)e+=t.offsetTop||0,n+=t.offsetLeft||0,t=t.parentNode;return{top:e,left:n}}(n),i=S.getBoundingClientRect(),s=m?-1:i.top-l.top,a=(m?i.height:i.bottom-l.top)-1,o=m?-1:i.left-l.left,r=i.width+"px"),!f){var x=function(){for(var t=0,n=e.appendTarget.parentNode;n;)t+=n.scrollTop||0,n=n.parentNode;return t}();s+=x,a+=x}var E;s=Math.floor(s),a=Math.ceil(a),c=b-o<120,u=((d=null!==(E=e.placeAbove)&&void 0!==E?E:y-i.bottom\n ').concat(this.settings.templates.input.call(this),"\n ").concat(tt,"\n ")},input:function(){var t=this.settings,e=t.placeholder||tt;return"')},tag:function(t,e){var n=e.settings;return'\n \n
\n ').concat(t[n.tagTextProp]||t.value,"\n
\n
")},dropdown:function(t){var e=t.dropdown,n="manual"==e.position;return'
\n
\n
')},dropdownContent:function(t){var e=this.settings.templates,n=this.state.dropdown.suggestions;return"\n ".concat(e.dropdownHeader.call(this,n),"\n ").concat(t,"\n ").concat(e.dropdownFooter.call(this,n),"\n ")},dropdownItem:function(t){return"
').concat(t.mappedValue||t.value,"
")},dropdownHeader:function(t){return"
')},dropdownFooter:function(t){var e=t.length-this.settings.dropdown.maxItems;return e>0?"
\n ').concat(e," more items. Refine your search.\n
"):""},dropdownItemNoMatch:null};function Pt(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,i=new Array(e);nt.length)&&(e=t.length);for(var n=0,i=new Array(e);n0&&void 0!==arguments[0])||arguments[0],n=this.settings,i=this.events.callbacks,s=e?"addEventListener":"removeEventListener";if(!this.state.mainEvents||!e){for(var a in this.state.mainEvents=e,e&&!this.listeners.main&&(this.events.bindGlobal.call(this),this.settings.isJQueryPlugin&&jQuery(this.DOM.originalInput).on("tagify.removeAllTags",this.removeAllTags.bind(this))),t=this.listeners.main=this.listeners.main||{keydown:["input",i.onKeydown.bind(this)],click:["scope",i.onClickScope.bind(this)],dblclick:"select"!=n.mode&&["scope",i.onDoubleClickScope.bind(this)],paste:["input",i.onPaste.bind(this)],drop:["input",i.onDrop.bind(this)],compositionstart:["input",i.onCompositionStart.bind(this)],compositionend:["input",i.onCompositionEnd.bind(this)]})t[a]&&this.DOM[t[a][0]][s](a,t[a][1]);var o=this.listeners.main.inputMutationObserver||new MutationObserver(i.onInputDOMChange.bind(this));o.disconnect(),"mix"==n.mode&&o.observe(this.DOM.input,{childList:!0}),this.events.bindOriginaInputListener.call(this)}},bindOriginaInputListener:function(t){var e=(t||0)+500;this.listeners.main&&(clearInterval(this.listeners.main.originalInputValueObserverInterval),this.listeners.main.originalInputValueObserverInterval=setInterval(this.events.callbacks.observeOriginalInputValue.bind(this),e))},bindGlobal:function(t){var e,n=this.events.callbacks,i=t?"removeEventListener":"addEventListener";if(this.listeners&&(t||!this.listeners.global)){this.listeners.global=this.listeners.global||[{type:this.isIE?"keydown":"input",target:this.DOM.input,cb:n[this.isIE?"onInputIE":"onInput"].bind(this)},{type:"keydown",target:window,cb:n.onWindowKeyDown.bind(this)},{type:"focusin",target:this.DOM.scope,cb:n.onFocusBlur.bind(this)},{type:"focusout",target:this.DOM.scope,cb:n.onFocusBlur.bind(this)},{type:"click",target:document,cb:n.onClickAnywhere.bind(this),useCapture:!0}];var s=!0,a=!1,o=void 0;try{for(var r,l=this.listeners.global[Symbol.iterator]();!(s=(r=l.next()).done);s=!0)(e=r.value).target[i](e.type,e.cb,!!e.useCapture)}catch(t){a=!0,o=t}finally{try{s||null==l.return||l.return()}finally{if(a)throw o}}}},unbindGlobal:function(){this.events.bindGlobal.call(this,!0)},callbacks:{onFocusBlur:function(t){var e,n,i=this.settings,s=vt.call(this,t.relatedTarget),a=mt.call(this,t.relatedTarget),o=t.target.classList.contains(i.classNames.tagX),r="focusin"==t.type,l="focusout"==t.type;o&&"mix"!=i.mode&&this.DOM.input.focus(),s&&r&&!a&&!o&&this.toggleFocusClass(this.state.hasFocus=+new Date);var d=t.target?this.trim(this.DOM.input.textContent):"",c=null===(n=this.value)||void 0===n||null===(e=n[0])||void 0===e?void 0:e[i.tagTextProp],u=i.dropdown.enabled>=0,h={relatedTarget:t.relatedTarget},g=this.state.actions.selectOption&&(u||!i.dropdown.closeOnSelect),p=this.state.actions.addNew&&u;if(l){if(t.relatedTarget===this.DOM.scope)return this.dropdown.hide(),void this.DOM.input.focus();this.postUpdate(),i.onChangeAfterBlur&&this.triggerChangeEvent()}if(!(g||p||o))if(this.state.hasFocus=!(!r&&!s)&&+new Date,this.toggleFocusClass(this.state.hasFocus),"mix"!=i.mode){if(r){if(!i.focusable)return;var f=0===i.dropdown.enabled&&!this.state.dropdown.visible,m=!a||"select"===i.mode,v=this.DOM.scope.querySelector(this.settings.classNames.tagTextSelector);return this.trigger("focus",h),void(f&&m&&(this.dropdown.show(this.value.length?"":void 0),this.setRangeAtStartEnd(!1,v)))}if(l){if(this.trigger("blur",h),this.loading(!1),"select"==i.mode){if(this.value.length){var w=this.getTagElms()[0];d=this.trim(w.textContent)}c===d&&(d="")}d&&!this.state.actions.selectOption&&i.addTagOnBlur&&i.addTagOn.includes("blur")&&this.addTags(d,!0)}s||(this.DOM.input.removeAttribute("style"),this.dropdown.hide())}else r?this.trigger("focus",h):l&&(this.trigger("blur",h),this.loading(!1),this.dropdown.hide(),this.state.dropdown.visible=void 0,this.setStateSelection())},onCompositionStart:function(t){this.state.composing=!0},onCompositionEnd:function(t){this.state.composing=!1},onWindowKeyDown:function(t){var e,n=this.settings,i=document.activeElement,s=vt.call(this,i)&&this.DOM.scope.contains(i),a=i===this.DOM.input,o=s&&i.hasAttribute("readonly"),r=this.DOM.scope.querySelector(this.settings.classNames.tagTextSelector),l=this.state.dropdown.visible;if(("Tab"===t.key&&l||this.state.hasFocus||s&&!o)&&!a){e=i.nextElementSibling;var d=t.target.classList.contains(n.classNames.tagX);switch(t.key){case"Backspace":n.readonly||this.state.editing||(this.removeTags(i),(e||this.DOM.input).focus());break;case"Enter":if(d)return void this.removeTags(t.target.parentNode);n.a11y.focusableTags&&mt.call(this,i)&&setTimeout(this.editTag.bind(this),0,i);break;case"ArrowDown":this.state.dropdown.visible||"mix"==n.mode||this.dropdown.show();break;case"Tab":null==r||r.focus()}}},onKeydown:function(t){var e=this,n=this.settings;if(!this.state.composing&&n.userInput){"select"==n.mode&&n.enforceWhitelist&&this.value.length&&"Tab"!=t.key&&t.preventDefault();var i=this.trim(t.target.textContent);this.trigger("keydown",{event:t}),n.hooks.beforeKeyDown(t,{tagify:this}).then((function(s){if("mix"==n.mode){switch(t.key){case"Left":case"ArrowLeft":e.state.actions.ArrowLeft=!0;break;case"Delete":case"Backspace":if(e.state.editing)return;var a=document.getSelection(),o="Delete"==t.key&&a.anchorOffset==(a.anchorNode.length||0),r=a.anchorNode.previousSibling,l=1==a.anchorNode.nodeType||!a.anchorOffset&&r&&1==r.nodeType&&a.anchorNode.previousSibling;!function(t){var e=document.createElement("div");t.replace(/\&#?[0-9a-z]+;/gi,(function(t){return e.innerHTML=t,e.innerText}))}(e.DOM.input.innerHTML);var d,c,u,h=e.getTagElms(),g=1===a.anchorNode.length&&a.anchorNode.nodeValue==String.fromCharCode(8203);if("edit"==n.backspace&&l)return d=1==a.anchorNode.nodeType?null:a.anchorNode.previousElementSibling,setTimeout(e.editTag.bind(e),0,d),void t.preventDefault();if(pt()&&qt(l,Element))return u=lt(l),l.hasAttribute("readonly")||l.remove(),e.DOM.input.focus(),void setTimeout((function(){Tt(u),e.DOM.input.click()}));if("BR"==a.anchorNode.nodeName)return;if((o||l)&&1==a.anchorNode.nodeType?c=0==a.anchorOffset?o?h[0]:null:h[Math.min(h.length,a.anchorOffset)-1]:o?c=a.anchorNode.nextElementSibling:qt(l,Element)&&(c=l),3==a.anchorNode.nodeType&&!a.anchorNode.nodeValue&&a.anchorNode.previousElementSibling&&t.preventDefault(),(l||o)&&!n.backspace)return void t.preventDefault();if("Range"!=a.type&&!a.anchorOffset&&a.anchorNode==e.DOM.input&&"Delete"!=t.key)return void t.preventDefault();if("Range"!=a.type&&c&&c.hasAttribute("readonly"))return void Tt(lt(c));"Delete"==t.key&&g&&bt(a.anchorNode.nextSibling)&&e.removeTags(a.anchorNode.nextSibling)}return!0}var p="manual"==n.dropdown.position;switch(t.key){case"Backspace":"select"==n.mode&&n.enforceWhitelist&&e.value.length?e.removeTags():e.state.dropdown.visible&&"manual"!=n.dropdown.position||""!=t.target.textContent&&8203!=i.charCodeAt(0)||(!0===n.backspace?e.removeTags():"edit"==n.backspace&&setTimeout(e.editTag.bind(e),0));break;case"Esc":case"Escape":if(e.state.dropdown.visible)return;t.target.blur();break;case"Down":case"ArrowDown":e.state.dropdown.visible||e.dropdown.show();break;case"ArrowRight":var f=e.state.inputSuggestion||e.state.ddItemData;if(f&&n.autoComplete.rightKey)return void e.addTags([f],!0);break;case"Tab":return!0;case"Enter":if(e.state.dropdown.visible&&!p)return;t.preventDefault();var m=e.state.autoCompleteData||i;setTimeout((function(){e.state.dropdown.visible&&!p||e.state.actions.selectOption||!n.addTagOn.includes(t.key.toLowerCase())||(e.addTags([m],!0),e.state.autoCompleteData=null)}))}})).catch((function(t){return t}))}},onInput:function(t){this.postUpdate();var e=this.settings;if("mix"==e.mode)return this.events.callbacks.onMixTagsInput.call(this,t);var n=this.input.normalize.call(this,void 0,{trim:!1}),i=n.length>=e.dropdown.enabled,s={value:n,inputElm:this.DOM.input},a=this.validateTag({value:n});"select"==e.mode&&this.toggleScopeValidation(a),s.isValid=a,this.state.inputText!=n&&(this.input.set.call(this,n,!1),-1!=n.search(e.delimiters)?this.addTags(n)&&this.input.set.call(this):e.dropdown.enabled>=0&&this.dropdown[i?"show":"hide"](n),this.trigger("input",s))},onMixTagsInput:function(t){var e,n,i,s,a,o,r,l,d=this,c=this.settings,u=this.value.length,h=this.getTagElms(),g=document.createDocumentFragment(),p=window.getSelection().getRangeAt(0),f=[].map.call(h,(function(t){return bt(t).value}));if("deleteContentBackward"==t.inputType&&pt()&&this.events.callbacks.onKeydown.call(this,{target:t.target,key:"Backspace"}),St(this.getTagElms()),this.value.slice().forEach((function(t){t.readonly&&!f.includes(t.value)&&g.appendChild(d.createTagElem(t))})),g.childNodes.length&&(p.insertNode(g),this.setRangeAtStartEnd(!1,g.lastChild)),h.length!=u)return this.value=[].map.call(this.getTagElms(),(function(t){return bt(t)})),void this.update({withoutChangeEvent:!0});if(this.hasMaxTags())return!0;if(window.getSelection&&(o=window.getSelection()).rangeCount>0&&3==o.anchorNode.nodeType){if((p=o.getRangeAt(0).cloneRange()).collapse(!0),p.setStart(o.focusNode,0),i=(e=p.toString().slice(0,p.endOffset)).split(c.pattern).length-1,(n=e.match(c.pattern))&&(s=e.slice(e.lastIndexOf(n[n.length-1]))),s){if(this.state.actions.ArrowLeft=!1,this.state.tag={prefix:s.match(c.pattern)[0],value:s.replace(c.pattern,"")},this.state.tag.baseOffset=o.baseOffset-this.state.tag.value.length,l=this.state.tag.value.match(c.delimiters))return this.state.tag.value=this.state.tag.value.replace(c.delimiters,""),this.state.tag.delimiters=l[0],this.addTags(this.state.tag.value,c.dropdown.clearOnSelect),void this.dropdown.hide();a=this.state.tag.value.length>=c.dropdown.enabled;try{r=(r=this.state.flaggedTags[this.state.tag.baseOffset]).prefix==this.state.tag.prefix&&r.value[0]==this.state.tag.value[0],this.state.flaggedTags[this.state.tag.baseOffset]&&!this.state.tag.value&&delete this.state.flaggedTags[this.state.tag.baseOffset]}catch(t){}(r||i500||!e.focusable)?this.state.dropdown.visible?this.dropdown.hide():0===e.dropdown.enabled&&"mix"!=e.mode&&this.dropdown.show(this.value.length?"":void 0):"select"!=e.mode||0!==e.dropdown.enabled||this.state.dropdown.visible||(this.events.callbacks.onDoubleClickScope.call(this,function(t,e){return e=null!=e?e:{},Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(e)):function(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);n.push.apply(n,i)}return n}(Object(e)).forEach((function(n){Object.defineProperty(t,n,Object.getOwnPropertyDescriptor(e,n))})),t}(function(t){for(var e=1;e=this.settings.dropdown.enabled&&(this.state.editing&&(this.state.editing.value=o),this.dropdown.show(o)),this.trigger("edit:input",{tag:i,index:s,data:ut({},this.value[s],{newValue:o}),event:e})},onEditTagPaste:function(t,e){var n=(e.clipboardData||window.clipboardData).getData("Text");e.preventDefault();var i=yt(n);this.setRangeAtStartEnd(!1,i)},onEditTagClick:function(t,e){this.events.callbacks.onClickScope.call(this,e)},onEditTagFocus:function(t){this.state.editing={scope:t,input:t.querySelector("[contenteditable]")}},onEditTagBlur:function(t,e){var n=mt.call(this,e.relatedTarget);if("select"==this.settings.mode&&n&&e.relatedTarget.contains(e.target))this.dropdown.hide();else if(this.state.editing&&(this.state.hasFocus||this.toggleFocusClass(),this.DOM.scope.contains(document.activeElement)||this.trigger("blur",{}),this.DOM.scope.contains(t))){var i,s,a,o=this.settings,r=t.closest("."+o.classNames.tag),l=bt(r),d=this.input.normalize.call(this,t),c=(Ft(i={},o.tagTextProp,d),Ft(i,"__tagId",l.__tagId),i),u=l.__originalData,h=this.editTagChangeDetected(ut(l,c)),g=this.validateTag(c);if(d)if(h){var p;if(s=this.hasMaxTags(),a=ut({},u,(Ft(p={},o.tagTextProp,this.trim(d)),Ft(p,"__isValid",g),p)),o.transformTag.call(this,a,u),!0!==(g=(!s||!0===u.__isValid)&&this.validateTag(a))){if(this.trigger("invalid",{data:a,tag:r,message:g}),o.editTags.keepInvalid)return;o.keepInvalidTags?a.__isValid=g:a=u}else o.keepInvalidTags&&(delete a.title,delete a["aria-invalid"],delete a.class);this.onEditTagDone(r,a)}else this.onEditTagDone(r,u);else this.onEditTagDone(r)}},onEditTagkeydown:function(t,e){if(!this.state.composing)switch(this.trigger("edit:keydown",{event:t}),t.key){case"Esc":case"Escape":this.state.editing=!1,e.__tagifyTagData.__originalData.value?e.parentNode.replaceChild(e.__tagifyTagData.__originalHTML,e):e.remove();break;case"Enter":case"Tab":t.preventDefault(),setTimeout((function(){return t.target.blur()}),0)}},onDoubleClickScope:function(t){var e=t.target.closest("."+this.settings.classNames.tag);if(e){var n,i,s=bt(e),a=this.settings;!1!==(null==s?void 0:s.editable)&&(n=e.classList.contains(this.settings.classNames.tagEditing),i=e.hasAttribute("readonly"),a.readonly||n||i||!this.settings.editTags||!a.userInput||(this.events.callbacks.onEditTagFocus.call(this,e),this.editTag(e)),this.toggleFocusClass(!0),"select"!=a.mode&&this.trigger("dblclick",{tag:e,index:this.getNodeIndex(e),data:bt(e)}))}},onInputDOMChange:function(t){var e=this;t.forEach((function(t){t.addedNodes.forEach((function(t){if("

"==t.outerHTML)t.replaceWith(document.createElement("br"));else if(1==t.nodeType&&t.querySelector(e.settings.classNames.tagSelector)){var n,i=document.createTextNode("");3==t.childNodes[0].nodeType&&"BR"!=t.previousSibling.nodeName&&(i=document.createTextNode("\n")),(n=t).replaceWith.apply(n,Ht([i].concat(Ht(Ht(t.childNodes).slice(0,-1))))),Tt(i)}else if(mt.call(e,t)){var s;if(3!=(null===(s=t.previousSibling)||void 0===s?void 0:s.nodeType)||t.previousSibling.textContent||t.previousSibling.remove(),t.previousSibling&&"BR"==t.previousSibling.nodeName){t.previousSibling.replaceWith("\n​");for(var a=t.nextSibling,o="";a;)o+=a.textContent,a=a.nextSibling;o.trim()&&Tt(t.previousSibling)}else t.previousSibling&&!bt(t.previousSibling)||t.before("​")}})),t.removedNodes.forEach((function(t){t&&"BR"==t.nodeName&&mt.call(e,n)&&(e.removeTags(n),e.fixFirefoxLastTagNoCaret())}))}));var n=this.DOM.input.lastChild;n&&""==n.nodeValue&&n.remove(),n&&"BR"==n.nodeName||this.DOM.input.appendChild(document.createElement("br"))}}};function $t(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,i=new Array(e);nt.map((t=>t.value)),dropdown:{enabled:e.dropdownSuggestionsStartAfter,maxItems:e.dropdownMaxItems,closeOnSelect:e.dropdownCloseOnSelect,highlightFirst:e.highlight},transformTag(t){t.display||(t.display=t.value,t.value=encodeURIComponent(t.value)),t.display=t.display.replace(//g,">")},templates:{wrapper(t,e){return`
\n ${this.settings.templates.input.call(this)}\n ​\n
`},tag:t=>`
\n \n
\n ${t.display}\n
\n
`,dropdownItem:t=>`
\n ${t.display}\n
`}}}(e.id,n));o.addTags(i),void 0!==s&&o.on("input",(t=>{!function(t,e,n,i,s,a){Jt instanceof AbortController&&Jt.abort(),Jt=new AbortController,t.whitelist=null,void 0!==Qt&&(t.DOM.scope.ownerDocument.defaultView.clearTimeout(Qt),Qt=void 0),s.detail.value.length{const e=s.detail.value;n.writeParameter(i,e),t.loading(!0),fetch(n.getUrl().toString(),{signal:Jt.signal}).then((t=>t.json())).catch((()=>{})).then((n=>{t.whitelist=n,t.loading(!1).dropdown.show(e)}))}),a))}(o,n.suggestionStarts,s,a,t,n.autocompleteTriggerTimeout)}))}Xt.prototype={_dropdown:_t,placeCaretAfterNode:Tt,getSetTagData:bt,helpers:{sameStr:st,removeCollectionProp:at,omit:ot,isObject:ct,parseHTML:rt,escapeHTML:dt,extend:ut,concatWithoutDups:ht,getUID:ft,isNodeTag:mt},customEventsList:["change","add","remove","invalid","input","paste","click","keydown","focus","blur","edit:input","edit:beforeUpdate","edit:updated","edit:start","edit:keydown","dropdown:show","dropdown:hide","dropdown:select","dropdown:updated","dropdown:noMatch","dropdown:scroll"],dataProps:["__isValid","__removed","__originalData","__originalHTML","__tagId"],trim:function(t){return this.settings.trim&&t&&"string"==typeof t?t.trim():t},parseHTML:rt,templates:Bt,parseTemplate:function(t,e){return rt((t=this.settings.templates[t]||t).apply(this,e))},set whitelist(t){var e=t&&Array.isArray(t);this.settings.whitelist=e?t:[],this.setPersistedData(e?t:[],"whitelist")},get whitelist(){return this.settings.whitelist},set userInput(t){this.settings.userInput=!!t,this.setContentEditable(!!t)},get userInput(){return this.settings.userInput},generateClassSelectors:function(t){var e=function(e){var n=e;Object.defineProperty(t,n+"Selector",{get:function(){return"."+this[n].split(" ")[0]}})};for(var n in t)e(n)},applySettings:function(t,e){var n,i;xt.templates=this.templates;var s=ut({},xt,"mix"==e.mode?{dropdown:{position:"text"}}:{}),a=this.settings=ut({},s,e);if(a.disabled=t.hasAttribute("disabled"),a.readonly=a.readonly||t.hasAttribute("readonly"),a.placeholder=dt(t.getAttribute("placeholder")||a.placeholder||""),a.required=t.hasAttribute("required"),this.generateClassSelectors(a.classNames),this.isIE&&(a.autoComplete=!1),["whitelist","blacklist"].forEach((function(e){var n=t.getAttribute("data-"+e);n&&Wt(n=n.split(a.delimiters),Array)&&(a[e]=n)})),"autoComplete"in e&&!ct(e.autoComplete)&&(a.autoComplete=xt.autoComplete,a.autoComplete.enabled=e.autoComplete),"mix"==a.mode&&(a.pattern=a.pattern||/@/,a.autoComplete.rightKey=!0,a.delimiters=e.delimiters||null,a.tagTextProp&&!a.dropdown.searchKeys.includes(a.tagTextProp)&&a.dropdown.searchKeys.push(a.tagTextProp)),t.pattern)try{a.pattern=new RegExp(t.pattern)}catch(t){}if(a.delimiters){a._delimiters=a.delimiters;try{a.delimiters=new RegExp(this.settings.delimiters,"g")}catch(t){}}a.disabled&&(a.userInput=!1),this.TEXTS=Kt({},kt,a.texts||{}),"select"==a.mode&&(a.dropdown.includeSelectedTags=!0),("select"!=a.mode||(null===(n=e.dropdown)||void 0===n?void 0:n.enabled))&&a.userInput||(a.dropdown.enabled=0),a.dropdown.appendTarget=(null===(i=e.dropdown)||void 0===i?void 0:i.appendTarget)||document.body,void 0===a.dropdown.includeSelectedTags&&(a.dropdown.includeSelectedTags=a.duplicates);var o=this.getPersistedData("whitelist");Array.isArray(o)&&(this.whitelist=Array.isArray(a.whitelist)?ht(a.whitelist,o):o)},getAttributes:function(t){var e,n=this.getCustomAttributes(t),i="";for(e in n)i+=" "+e+(void 0!==t[e]?'="'.concat(n[e],'"'):"");return i},getCustomAttributes:function(t){if(!ct(t))return"";var e,n={};for(e in t)"__"!=e.slice(0,2)&&"class"!=e&&t.hasOwnProperty(e)&&void 0!==t[e]&&(n[e]=dt(t[e]));return n},setStateSelection:function(){var t=window.getSelection(),e={anchorOffset:t.anchorOffset,anchorNode:t.anchorNode,range:t.getRangeAt&&t.rangeCount&&t.getRangeAt(0)};return this.state.selection=e,e},getCSSVars:function(){var t,e,n=getComputedStyle(this.DOM.scope,null);this.CSSVars={tagHideTransition:(t=function(t){if(!t)return{};var e=(t=t.trim().split(" ")[0]).split(/\d+/g).filter((function(t){return t})).pop().trim();return{value:+t.split(e).filter((function(t){return t}))[0].trim(),unit:e}}(("tag-hide-transition",n.getPropertyValue("--tag-hide-transition"))),e=t.value,"s"==t.unit?1e3*e:e)}},build:function(t){var e=this.DOM,n=t.closest("label");this.settings.mixMode.integrated?(e.originalInput=null,e.scope=t,e.input=t):(e.originalInput=t,e.originalInput_tabIndex=t.tabIndex,e.scope=this.parseTemplate("wrapper",[t,this.settings]),e.input=e.scope.querySelector(this.settings.classNames.inputSelector),t.parentNode.insertBefore(e.scope,t),t.tabIndex=-1),n&&n.setAttribute("for","")},destroy:function(){var t;this.events.unbindGlobal.call(this),null===(t=this.DOM.scope.parentNode)||void 0===t||t.removeChild(this.DOM.scope),this.DOM.originalInput.tabIndex=this.DOM.originalInput_tabIndex,delete this.DOM.originalInput.__tagify,this.dropdown.hide(!0),this.removeAllCustomListeners(),clearTimeout(this.dropdownHide__bindEventsTimeout),clearInterval(this.listeners.main.originalInputValueObserverInterval)},loadOriginalValues:function(t){var e,n=this.settings;if(this.state.blockChangeEvent=!0,void 0===t){var i=this.getPersistedData("value");t=i&&!this.DOM.originalInput.value?i:n.mixMode.integrated?this.DOM.input.textContent:this.DOM.originalInput.value}if(this.removeAllTags(),t)if("mix"==n.mode)this.parseMixTags(t),(e=this.DOM.input.lastChild)&&"BR"==e.tagName||this.DOM.input.insertAdjacentHTML("beforeend","
");else{try{Wt(JSON.parse(t),Array)&&(t=JSON.parse(t))}catch(t){}this.addTags(t,!0).forEach((function(t){return t&&t.classList.add(n.classNames.tagNoAnimation)}))}else this.postUpdate();this.state.lastOriginalValueReported=n.mixMode.integrated?"":this.DOM.originalInput.value},cloneEvent:function(t){var e={};for(var n in t)"path"!=n&&(e[n]=t[n]);return e},loading:function(t){return this.state.isLoading=t,this.DOM.scope.classList[t?"add":"remove"](this.settings.classNames.scopeLoading),this},tagLoading:function(t,e){return t&&t.classList[e?"add":"remove"](this.settings.classNames.tagLoading),this},toggleClass:function(t,e){"string"==typeof t&&this.DOM.scope.classList.toggle(t,e)},toggleScopeValidation:function(t){var e=!0===t||void 0===t;!this.settings.required&&t&&t===this.TEXTS.empty&&(e=!0),this.toggleClass(this.settings.classNames.tagInvalid,!e),this.DOM.scope.title=e?"":t},toggleFocusClass:function(t){this.toggleClass(this.settings.classNames.focus,!!t)},setPlaceholder:function(t){var e=this;["data","aria"].forEach((function(n){return e.DOM.input.setAttribute("".concat(n,"-placeholder"),t)}))},triggerChangeEvent:function(){if(!this.settings.mixMode.integrated){var t=this.DOM.originalInput,e=this.state.lastOriginalValueReported!==t.value,n=new CustomEvent("change",{bubbles:!0});e&&(this.state.lastOriginalValueReported=t.value,n.simulated=!0,t._valueTracker&&t._valueTracker.setValue(Math.random()),t.dispatchEvent(n),this.trigger("change",this.state.lastOriginalValueReported),t.value=this.state.lastOriginalValueReported)}},events:Rt,fixFirefoxLastTagNoCaret:function(){},setRangeAtStartEnd:function(t,e){if(e){t="number"==typeof t?t:!!t,e=e.lastChild||e;var n=document.getSelection();if(Wt(n.focusNode,Element)&&!this.DOM.input.contains(n.focusNode))return!0;try{n.rangeCount>=1&&["Start","End"].forEach((function(i){return n.getRangeAt(0)["set"+i](e,t||e.length)}))}catch(t){console.warn(t)}}},insertAfterTag:function(t,e){if(e=e||this.settings.mixMode.insertAfterTag,t&&t.parentNode&&e)return e="string"==typeof e?document.createTextNode(e):e,t.parentNode.insertBefore(e,t.nextSibling),e},editTagChangeDetected:function(t){var e=t.__originalData;for(var n in e)if(!this.dataProps.includes(n)&&t[n]!=e[n])return!0;return!1},getTagTextNode:function(t){return t.querySelector(this.settings.classNames.tagTextSelector)},setTagTextNode:function(t,e){this.getTagTextNode(t).innerHTML=dt(e)},editTag:function(t,e){var n=this;t=t||this.getLastTag(),e=e||{};var i=this.settings,s=this.getTagTextNode(t),a=this.getNodeIndex(t),o=bt(t),r=this.events.callbacks,l=!0,d="select"==i.mode;if(!d&&this.dropdown.hide(),s){if(!Wt(o,Object)||!("editable"in o)||o.editable)return o=bt(t,{__originalData:ut({},o),__originalHTML:t.cloneNode(!0)}),bt(o.__originalHTML,o.__originalData),s.setAttribute("contenteditable",!0),t.classList.add(i.classNames.tagEditing),this.events.callbacks.onEditTagFocus.call(this,t),s.addEventListener("click",r.onEditTagClick.bind(this,t)),s.addEventListener("blur",r.onEditTagBlur.bind(this,this.getTagTextNode(t))),s.addEventListener("input",r.onEditTagInput.bind(this,s)),s.addEventListener("paste",r.onEditTagPaste.bind(this,s)),s.addEventListener("keydown",(function(e){return r.onEditTagkeydown.call(n,e,t)})),s.addEventListener("compositionstart",r.onCompositionStart.bind(this)),s.addEventListener("compositionend",r.onCompositionEnd.bind(this)),e.skipValidation||(l=this.editTagToggleValidity(t)),s.originalIsValid=l,this.trigger("edit:start",{tag:t,index:a,data:o,isValid:l}),s.focus(),!d&&this.setRangeAtStartEnd(!1,s),0===i.dropdown.enabled&&!d&&this.dropdown.show(),this.state.hasFocus=!0,this}else it.warn("Cannot find element in Tag template: .",i.classNames.tagTextSelector)},editTagToggleValidity:function(t,e){var n;if(e=e||bt(t))return(n=!("__isValid"in e)||!0===e.__isValid)||this.removeTagsFromValue(t),this.update(),t.classList.toggle(this.settings.classNames.tagNotAllowed,!n),e.__isValid=n,e.__isValid;it.warn("tag has no data: ",t,e)},onEditTagDone:function(t,e){t=t||this.state.editing.scope,e=e||{};var n,i,s=this.settings,a={tag:t,index:this.getNodeIndex(t),previousData:bt(t),data:e};this.trigger("edit:beforeUpdate",a,{cloneData:!1}),this.state.editing=!1,delete e.__originalData,delete e.__originalHTML,t&&t.parentNode&&((void 0!==(i=e[s.tagTextProp])?null===(n=(i+="").trim)||void 0===n?void 0:n.call(i):s.tagTextProp in e?void 0:e.value)?(t=this.replaceTag(t,e),this.editTagToggleValidity(t,e),s.a11y.focusableTags?t.focus():"select"!=s.mode&&Tt(t)):this.removeTags(t)),this.trigger("edit:updated",a),s.dropdown.closeOnSelect&&this.dropdown.hide(),this.settings.keepInvalidTags&&this.reCheckInvalidTags()},replaceTag:function(t,e){e&&""!==e.value&&void 0!==e.value||(e=t.__tagifyTagData),e.__isValid&&1!=e.__isValid&&ut(e,this.getInvalidTagAttrs(e,e.__isValid));var n=this.createTagElem(e);return t.parentNode.replaceChild(n,t),this.updateValueByDOMTags(),n},updateValueByDOMTags:function(){var t=this;this.value.length=0;var e=this.settings.classNames,n=[e.tagNotAllowed.split(" ")[0],e.tagHide];[].forEach.call(this.getTagElms(),(function(e){zt(e.classList).some((function(t){return n.includes(t)}))||t.value.push(bt(e))})),this.update(),this.dropdown.refilter()},injectAtCaret:function(t,e){var n;if(e=e||(null===(n=this.state.selection)||void 0===n?void 0:n.range),"string"==typeof t&&(t=document.createTextNode(t)),!e&&t)return this.appendMixTags(t),this;var i=yt(t,e);return this.setRangeAtStartEnd(!1,i),this.updateValueByDOMTags(),this.update(),this},input:{set:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],n=this.settings,i=n.dropdown.closeOnSelect;this.state.inputText=t,e&&(this.DOM.input.innerHTML=dt(""+t),t&&this.toggleClass(n.classNames.empty,!this.DOM.input.innerHTML)),!t&&i&&this.dropdown.hide.bind(this),this.input.autocomplete.suggest.call(this),this.input.validate.call(this)},raw:function(){return this.DOM.input.textContent},validate:function(){var t=!this.state.inputText||!0===this.validateTag({value:this.state.inputText});return this.DOM.input.classList.toggle(this.settings.classNames.inputInvalid,!t),t},normalize:function(t,e){var n=t||this.DOM.input,i=[];n.childNodes.forEach((function(t){return 3==t.nodeType&&i.push(t.nodeValue)})),i=i.join("\n");try{i=i.replace(/(?:\r\n|\r|\n)/g,this.settings.delimiters.source.charAt(0))}catch(t){}return i=i.replace(/\s/g," "),(null==e?void 0:e.trim)?this.trim(i):i},autocomplete:{suggest:function(t){if(this.settings.autoComplete.enabled){"object"!=typeof(t=t||{value:""})&&(t={value:t});var e=this.dropdown.getMappedValue(t);if("number"!=typeof e){var n=this.state.inputText.toLowerCase(),i=e.substr(0,this.state.inputText.length).toLowerCase(),s=e.substring(this.state.inputText.length);e&&this.state.inputText&&i==n?(this.DOM.input.setAttribute("data-suggest",s),this.state.inputSuggestion=t):(this.DOM.input.removeAttribute("data-suggest"),delete this.state.inputSuggestion)}}},set:function(t){var e=this.DOM.input.getAttribute("data-suggest"),n=t||(e?this.state.inputText+e:null);return!!n&&("mix"==this.settings.mode?this.replaceTextWithNode(document.createTextNode(this.state.tag.prefix+n)):(this.input.set.call(this,n),this.setRangeAtStartEnd(!1,this.DOM.input)),this.input.autocomplete.suggest.call(this),this.dropdown.hide(),!0)}}},getTagIdx:function(t){return this.value.findIndex((function(e){return e.__tagId==(t||{}).__tagId}))},getNodeIndex:function(t){var e=0;if(t)for(;t=t.previousElementSibling;)e++;return e},getTagElms:function(){for(var t=arguments.length,e=new Array(t),n=0;n=this.settings.maxTags&&this.TEXTS.exceed},setReadonly:function(t,e){var n=this.settings;this.DOM.scope.contains(document.activeElement)&&document.activeElement.blur(),n[e||"readonly"]=t,this.DOM.scope[(t?"set":"remove")+"Attribute"](e||"readonly",!0),this.settings.userInput=!0,this.setContentEditable(!t)},setContentEditable:function(t){this.DOM.input.contentEditable=t,this.DOM.input.tabIndex=t?0:-1},setDisabled:function(t){this.setReadonly(t,"disabled")},normalizeTags:function(t){var e=this,n=this.settings,i=n.whitelist,s=n.delimiters,a=n.mode,o=n.tagTextProp,r=[],l=!!i&&Wt(i[0],Object),d=Array.isArray(t),c=d&&t[0].value,u=function(t){return(t+"").split(s).reduce((function(t,n){var i,s=e.trim(n);return s&&t.push((Ut(i={},o,s),Ut(i,"value",s),i)),t}),[])};if("number"==typeof t&&(t=t.toString()),"string"==typeof t){if(!t.trim())return[];t=u(t)}else d&&(t=t.reduce((function(t,n){if(ct(n)){var i=ut({},n);o in i||(o="value"),i[o]=e.trim(i[o]),(i[o]||0===i[o])&&t.push(i)}else if(null!=n&&""!==n&&void 0!==n){var s;(s=t).push.apply(s,zt(u(n)))}return t}),[]));return l&&!c&&(t.forEach((function(t){var n=r.map((function(t){return t.value})),i=e.dropdown.filterListItems.call(e,t[o],{exact:!0});e.settings.duplicates||(i=i.filter((function(t){return!n.includes(t.value)})));var s=i.length>1?e.getWhitelistItem(t[o],o,i):i[0];s&&Wt(s,Object)?r.push(s):"mix"!=a&&(null==t.value&&(t.value=t[o]),r.push(t))})),r.length&&(t=r)),t},parseMixTags:function(t){var e=this,n=this.settings,i=n.mixTagsInterpolator,s=n.duplicates,a=n.transformTag,o=n.enforceWhitelist,r=n.maxTags,l=n.tagTextProp,d=[];t=t.split(i[0]).map((function(t,n){var c,u,h,g=t.split(i[1]),p=g[0],f=d.length==r;try{if(p==+p)throw Error;u=JSON.parse(p)}catch(t){u=e.normalizeTags(p)[0]||{value:p}}if(a.call(e,u),f||!(g.length>1)||o&&!e.isTagWhitelisted(u.value)||!s&&e.isTagDuplicate(u.value)){if(t)return n?i[0]+t:t}else u[c=u[l]?l:"value"]=e.trim(u[c]),h=e.createTagElem(u),d.push(u),h.classList.add(e.settings.classNames.tagNoAnimation),g[0]=h.outerHTML,e.value.push(u);return g.join("")})).join(""),this.DOM.input.innerHTML=t,this.DOM.input.appendChild(document.createTextNode("")),this.DOM.input.normalize();var c=this.getTagElms();return c.forEach((function(t,e){return bt(t,d[e])})),this.update({withoutChangeEvent:!0}),St(c,this.state.hasFocus),t},replaceTextWithNode:function(t,e){if(this.state.tag||e){e=e||this.state.tag.prefix+this.state.tag.value;var n,i,s=this.state.selection||window.getSelection(),a=s.anchorNode,o=this.state.tag.delimiters?this.state.tag.delimiters.length:0;return a.splitText(s.anchorOffset-o),-1==(n=a.nodeValue.lastIndexOf(e))||(i=a.splitText(n),t&&a.parentNode.replaceChild(t,i)),!0}},prepareNewTagNode:function(t,e){e=e||{};var n=this.settings,i=[],s={},a=Object.assign({},t,{value:t.value+""});if(t=Object.assign({},a),n.transformTag.call(this,t),t.__isValid=this.hasMaxTags()||this.validateTag(t),!0!==t.__isValid){if(e.skipInvalid)return;if(ut(s,this.getInvalidTagAttrs(t,t.__isValid),{__preInvalidData:a}),t.__isValid==this.TEXTS.duplicate&&this.flashTag(this.getTagElmByValue(t.value)),!n.createInvalidTags)return void i.push(t.value)}return"readonly"in t&&(t.readonly?s["aria-readonly"]=!0:delete t.readonly),{tagElm:this.createTagElem(t,s),tagData:t,aggregatedInvalidInput:i}},postProcessNewTagNode:function(t,e){var n=this,i=this.settings,s=e.__isValid;s&&!0===s?this.value.push(e):(this.trigger("invalid",{data:e,index:this.value.length,tag:t,message:s}),i.keepInvalidTags||setTimeout((function(){return n.removeTags(t,!0)}),1e3)),this.dropdown.position()},selectTag:function(t,e){var n=this;if(!this.settings.enforceWhitelist||this.isTagWhitelisted(e.value)){this.state.actions.selectOption&&setTimeout((function(){return n.setRangeAtStartEnd(!1,n.DOM.input)}));var i=this.getLastTag();return i?this.replaceTag(i,e):this.appendTag(t),this.value[0]=e,this.update(),this.trigger("add",{tag:t,data:e}),[t]}},addEmptyTag:function(t){var e=ut({value:""},t||{}),n=this.createTagElem(e);bt(n,e),this.appendTag(n),this.editTag(n,{skipValidation:!0}),this.toggleFocusClass(!0)},addTags:function(t,e,n){var i=this,s=[],a=this.settings,o=[],r=document.createDocumentFragment(),l=[];if(!t||0==t.length)return s;switch(t=this.normalizeTags(t),a.mode){case"mix":return this.addMixTags(t);case"select":e=!1,this.removeAllTags()}return this.DOM.input.removeAttribute("style"),t.forEach((function(t){var e=i.prepareNewTagNode(t,{skipInvalid:n||a.skipInvalid});if(e){var d=e.tagElm;if(t=e.tagData,o=e.aggregatedInvalidInput,s.push(d),"select"==a.mode)return i.selectTag(d,t);r.appendChild(d),i.postProcessNewTagNode(d,t),l.push({tagElm:d,tagData:t})}})),this.appendTag(r),l.forEach((function(t){var e=t.tagElm,n=t.tagData;return i.trigger("add",{tag:e,index:i.getTagIdx(n),data:n})})),this.update(),t.length&&e&&(this.input.set.call(this,a.createInvalidTags?"":o.join(a._delimiters)),this.setRangeAtStartEnd(!1,this.DOM.input)),this.dropdown.refilter(),s},addMixTags:function(t){var e=this;if((t=this.normalizeTags(t))[0].prefix||this.state.tag)return this.prefixedTextToTag(t[0]);var n=document.createDocumentFragment();return t.forEach((function(t){var i=e.prepareNewTagNode(t);n.appendChild(i.tagElm),e.insertAfterTag(i.tagElm),e.postProcessNewTagNode(i.tagElm,i.tagData)})),this.appendMixTags(n),n.children},appendMixTags:function(t){var e=!!this.state.selection;e?this.injectAtCaret(t):(this.DOM.input.focus(),(e=this.setStateSelection()).range.setStart(this.DOM.input,e.range.endOffset),e.range.setEnd(this.DOM.input,e.range.endOffset),this.DOM.input.appendChild(t),this.updateValueByDOMTags(),this.update())},prefixedTextToTag:function(t){var e,n,i,s=this,a=this.settings,o=null===(e=this.state.tag)||void 0===e?void 0:e.delimiters;if(t.prefix=t.prefix||this.state.tag?this.state.tag.prefix:(a.pattern.source||a.pattern)[0],i=this.prepareNewTagNode(t),n=i.tagElm,this.replaceTextWithNode(n)||this.DOM.input.appendChild(n),setTimeout((function(){return n.classList.add(s.settings.classNames.tagNoAnimation)}),300),this.update(),!o){var r=this.insertAfterTag(n)||n;setTimeout(Tt,0,r)}return this.state.tag=null,this.postProcessNewTagNode(n,i.tagData),n},appendTag:function(t){var e=this.DOM,n=e.input;e.scope.insertBefore(t,n)},createTagElem:function(t,e){t.__tagId=ft();var n,i=ut({},t,Kt({value:dt(t.value+"")},e));return function(t){for(var e,n=document.createNodeIterator(t,NodeFilter.SHOW_TEXT,null,!1);e=n.nextNode();)e.textContent.trim()||e.parentNode.removeChild(e)}(n=this.parseTemplate("tag",[i,this])),bt(n,t),n},reCheckInvalidTags:function(){var t=this,e=this.settings;this.getTagElms(e.classNames.tagNotAllowed).forEach((function(n,i){var s=bt(n),a=t.hasMaxTags(),o=t.validateTag(s),r=!0===o&&!a;if("select"==e.mode&&t.toggleScopeValidation(o),r)return s=s.__preInvalidData?s.__preInvalidData:{value:s.value},t.replaceTag(n,s);n.title=a||o}))},removeTags:function(t,e,n){var i,s=this,a=this.settings;if(t=t&&Wt(t,HTMLElement)?[t]:Wt(t,Array)?t:t?[t]:[this.getLastTag()].filter((function(t){return t})),i=t.reduce((function(t,e){e&&"string"==typeof e&&(e=s.getTagElmByValue(e));var n=bt(e);return e&&n&&!n.readonly&&t.push({node:e,idx:s.getTagIdx(n),data:bt(e,{__removed:!0})}),t}),[]),n="number"==typeof n?n:this.CSSVars.tagHideTransition,"select"==a.mode&&(n=0,this.input.set.call(this)),1==i.length&&"select"!=a.mode&&i[0].node.classList.contains(a.classNames.tagNotAllowed)&&(e=!0),i.length)return a.hooks.beforeRemoveTag(i,{tagify:this}).then((function(){var t=function(t){t.node.parentNode&&(t.node.parentNode.removeChild(t.node),e?a.keepInvalidTags&&this.trigger("remove",{tag:t.node,index:t.idx}):(this.trigger("remove",{tag:t.node,index:t.idx,data:t.data}),this.dropdown.refilter(),this.dropdown.position(),this.DOM.input.normalize(),a.keepInvalidTags&&this.reCheckInvalidTags()))};n&&n>10&&1==i.length?function(e){e.node.style.width=parseFloat(window.getComputedStyle(e.node).width)+"px",document.body.clientTop,e.node.classList.add(a.classNames.tagHide),setTimeout(t.bind(this),n,e)}.call(s,i[0]):i.forEach(t.bind(s)),e||(s.removeTagsFromValue(i.map((function(t){return t.node}))),s.update(),"select"==a.mode&&a.userInput&&s.setContentEditable(!0))})).catch((function(t){}))},removeTagsFromDOM:function(){this.getTagElms().forEach((function(t){return t.remove()}))},removeTagsFromValue:function(t){var e=this;(t=Array.isArray(t)?t:[t]).forEach((function(t){var n=bt(t),i=e.getTagIdx(n);i>-1&&e.value.splice(i,1)}))},removeAllTags:function(t){var e=this;t=t||{},this.value=[],"mix"==this.settings.mode?this.DOM.input.innerHTML="":this.removeTagsFromDOM(),this.dropdown.refilter(),this.dropdown.position(),this.state.dropdown.visible&&setTimeout((function(){e.DOM.input.focus()})),"select"==this.settings.mode&&(this.input.set.call(this),this.settings.userInput&&this.setContentEditable(!0)),this.update(t)},postUpdate:function(){this.state.blockChangeEvent=!1;var t,e,n=this.settings,i=n.classNames,s="mix"==n.mode?n.mixMode.integrated?this.DOM.input.textContent:this.DOM.originalInput.value.trim():this.value.length+this.input.raw.call(this).length;this.toggleClass(i.hasMaxTags,this.value.length>=n.maxTags),this.toggleClass(i.hasNoTags,!this.value.length),this.toggleClass(i.empty,!s),"select"==n.mode&&this.toggleScopeValidation(null===(e=this.value)||void 0===e||null===(t=e[0])||void 0===t?void 0:t.__isValid)},setOriginalInputValue:function(t){var e=this.DOM.originalInput;this.settings.mixMode.integrated||(e.value=t,e.tagifyValue=e.value,this.setPersistedData(t,"value"))},update:function(t){clearTimeout(this.debouncedUpdateTimeout),this.debouncedUpdateTimeout=setTimeout(function(){var e=this.getInputValue();this.setOriginalInputValue(e),this.settings.onChangeAfterBlur&&(t||{}).withoutChangeEvent||this.state.blockChangeEvent||this.triggerChangeEvent(),this.postUpdate()}.bind(this),100),this.events.bindOriginaInputListener.call(this,100)},getInputValue:function(){var t=this.getCleanValue();return"mix"==this.settings.mode?this.getMixedTagsAsString(t):t.length?this.settings.originalInputValueFormat?this.settings.originalInputValueFormat(t):JSON.stringify(t):""},getCleanValue:function(t){return at(t||this.value,this.dataProps)},getMixedTagsAsString:function(){var t="",e=this,n=this.settings,i=n.originalInputValueFormat||JSON.stringify,s=n.mixTagsInterpolator;return function n(a){a.childNodes.forEach((function(a){if(1==a.nodeType){var o=bt(a);if("BR"==a.tagName&&(t+="\r\n"),o&&mt.call(e,a)){if(o.__removed)return;t+=s[0]+i(ot(o,e.dataProps))+s[1]}else a.getAttribute("style")||["B","I","U"].includes(a.tagName)?t+=a.textContent:"DIV"!=a.tagName&&"P"!=a.tagName||(t+="\r\n",n(a))}else t+=a.textContent}))}(this.DOM.input),t}},Xt.prototype.removeTag=Xt.prototype.removeTags;class Yt{#K;#z;#X;#J;#Q;#G;#Y;#Z;#tt;#et;#nt;#it;#st;#at;#ot;#rt=null;constructor(t,e,n,i,s,a,o,r,l,d,c,u){this.#K=t,this.#et=e,this.#z=n,this.#X=i,this.#J=s,this.#Q=a,this.#st=o,this.#at=u,this.#ot=this.#at.innerHTML,this.#tt=r,this.#G=l,this.#Y=d,this.#Z=c,this.#it=!1,this.#nt=!1,this.#z.addEventListener("input",(t=>{this.filterItemsSearch(t)})),this.#tt.addEventListener("click",(()=>{this.setFiltered(!1)})),this.#G.addEventListener("click",(()=>{this.toggleVisibility()})),"radio-field-input"===this.#X&&this.#Q.forEach((t=>{t.addEventListener("change",(()=>{this.scrollListToTop()}))}))}isEngaged(){return this.#it}isFiltered(){return this.#nt}setFiltered(t){this.#nt!==t&&(this.#nt=t,t?(this.#tt.style.removeProperty("display"),this.#at.style.removeProperty("display")):(this.#z.value="",this.#tt.style.display="none",this.#at.style.display="none",this.#st.style.display="none",this.#lt()))}toggleVisibility(){this.isEngaged()?(this.#it=!1,this.#K.classList.remove("engaged"),this.setFiltered(!1),this.#G.setAttribute("aria-expanded","false"),this.#Y.style.removeProperty("display"),this.#Z.style.display="none"):(this.#it=!0,this.#K.classList.add("engaged"),this.#G.setAttribute("aria-expanded","true"),this.#Y.style.display="none",this.#Z.style.removeProperty("display"))}#dt(t){this.#K.ownerDocument.defaultView.clearTimeout(this.#rt),this.#rt=this.#K.ownerDocument.defaultView.setTimeout((()=>{this.#at.textContent="",this.#K.ownerDocument.defaultView.requestAnimationFrame((()=>{this.#at.textContent=t}))}),500)}#ct(t){const e=$(this.#ot,t);this.#dt(e)}filterItemsSearch(t){const e=t.target.value.toLowerCase();this.setFiltered(!!e);let n=0,i=!1;this.#Q.forEach((t=>{t.textContent.toLowerCase().includes(e)?(n+=1,i=!0,Zt(t)):function(t){t.style.display="none"}(t)})),this.#ct(n.toString()),""!==e&&!1===i?this.#st.style.removeProperty("display"):(""===e||i)&&(this.#st.style.display="none")}#lt(){this.#Q.forEach((t=>Zt(t)))}scrollListToTop(){this.#et.scrollTo({top:0,behavior:"smooth"})}}function Zt(t){t.style.removeProperty("display")}class te{#q=new Map;init(t){if(void 0===t)throw new TypeError("During init of an InputHasOptionFilter an undefined element was passed to the factory.");if(this.#q.has(t.id))throw new Error(`A InputHasOptionFilter with id '${t.id}' has already been initialized.`);const e=t,n=e.querySelector(".c-input--has-option-filter__field"),i=e.querySelector(".c-input--has-option-filter__search-input input"),s=e.getAttribute("data-il-ui-component"),a=e.querySelector(".c-field--has-option-filter__list"),o=a.querySelectorAll(".c-field--has-option-filter__item"),r=e.querySelector(".message-no-match"),l=e.querySelector('.c-input--has-option-filter__synopsis [role="status"]'),d=e.querySelector(".c-input--has-option-filter__clear-search"),c=e.querySelector(".c-input--has-option-filter__visibility-toggle"),u=c.querySelector(".text-expand"),h=c.querySelector(".text-collapse"),g=new Yt(t,n,i,s,a,o,r,d,c,u,h,l);return this.#q.set(t.id,g),g}get(t){return this.#q.has(t)?this.#q.get(t):null}}var ee;e.UI=e.UI||{},e.UI.Input=e.UI.Input||{},(ee=e.UI.Input).textarea=new o,ee.mustacheVariables={init:(t,e)=>function(t,e){e.querySelectorAll(".c-input--has-mustache-variables__definitions > li > a").forEach((e=>{const n=function(t){const e=t.textContent.match(/^\s*\{\{([^}]+)\}\}\s*$/);return e?e[1].trim():null}(e);e.addEventListener("click",(()=>{t.insertCharactersAroundSelection(`{{${n}}}`,"")}))}))}(t,e)},ee.markdown=new w,ee.optionFilter=new te,ee.treeSelect=new Y(new Z(t),e.UI.menu.drilldown,{txt:t=>e.Language.txt(t)},n),ee.tagInput=ee.tag||{},ee.tagInput.init=(t,e,n,i,s)=>Gt(Xt,t,e,n,i,s)}($,il,document); + */var et="​";function nt(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,i=new Array(e);n/g,">").replace(/"/g,""").replace(/`|'/g,"'"):t}function ut(t){var e=Object.prototype.toString.call(t).split(" ")[1].slice(0,-1);return t===Object(t)&&"Array"!=e&&"Function"!=e&&"RegExp"!=e&&"HTMLUnknownElement"!=e}function ht(t,e,n){var i,s;function a(t,e){for(var n in e)if(e.hasOwnProperty(n)){if(ut(e[n])){ut(t[n])?a(t[n],e[n]):t[n]=Object.assign({},e[n]);continue}if(Array.isArray(e[n])){t[n]=Object.assign([],e[n]);continue}t[n]=e[n]}}return i=t,(null!=(s=Object)&&"undefined"!=typeof Symbol&&s[Symbol.hasInstance]?s[Symbol.hasInstance](i):i instanceof s)||(t={}),a(t,e),n&&a(t,n),t}function gt(){var t=[],e={},n=!0,i=!1,s=void 0;try{for(var a,o=arguments[Symbol.iterator]();!(n=(a=o.next()).done);n=!0){var r=a.value,l=!0,d=!1,c=void 0;try{for(var u,h=r[Symbol.iterator]();!(l=(u=h.next()).done);l=!0){var g=u.value;ut(g)?e[g.value]||(t.push(g),e[g.value]=1):t.includes(g)||t.push(g)}}catch(t){d=!0,c=t}finally{try{l||null==h.return||h.return()}finally{if(d)throw c}}}}catch(t){i=!0,s=t}finally{try{n||null==o.return||o.return()}finally{if(i)throw s}}return t}function pt(t){return String.prototype.normalize?"string"==typeof t?t.normalize("NFD").replace(/[\u0300-\u036f]/g,""):void 0:t}var ft=function(){return/(?=.*chrome)(?=.*android)/i.test(navigator.userAgent)};function mt(){return([1e7]+-1e3+-4e3+-8e3+-1e11).replace(/[018]/g,(function(t){return(t^crypto.getRandomValues(new Uint8Array(1))[0]&15>>t/4).toString(16)}))}function vt(t){var e;return yt.call(this,t)&&(null==t||null===(e=t.classList)||void 0===e?void 0:e.contains(this.settings.classNames.tag))}function wt(t){return yt.call(this,t)&&(null==t?void 0:t.closest(this.settings.classNames.tagSelector))}function yt(t){var e;return(null==t||null===(e=t.closest)||void 0===e?void 0:e.call(t,this.settings.classNames.namespaceSelector))===this.DOM.scope}function bt(t,e){var n=window.getSelection();return e=e||n.getRangeAt(0),"string"==typeof t&&(t=document.createTextNode(t)),e&&(e.deleteContents(),e.insertNode(t)),t}function Tt(t,e,n){return t?(e&&(t.__tagifyTagData=n?e:ht({},t.__tagifyTagData||{},e)),t.__tagifyTagData):(st.warn("tag element doesn't exist",{tagElm:t,data:e}),e)}function St(t){if(t&&t.parentNode){var e=t,n=window.getSelection(),i=n.getRangeAt(0);n.rangeCount&&(i.setStartAfter(e),i.collapse(!0),n.removeAllRanges(),n.addRange(i))}}function xt(t,e){t.forEach((function(t){if(Tt(t.previousSibling)||!t.previousSibling){var n=document.createTextNode("​");t.before(n),e&&St(n)}}))}var Et={delimiters:",",pattern:null,tagTextProp:"value",maxTags:1/0,callbacks:{},addTagOnBlur:!0,addTagOn:["blur","tab","enter"],onChangeAfterBlur:!0,duplicates:!1,whitelist:[],blacklist:[],enforceWhitelist:!1,userInput:!0,focusable:!0,keepInvalidTags:!1,createInvalidTags:!0,mixTagsAllowedAfter:/,|\.|\:|\s/,mixTagsInterpolator:["[[","]]"],backspace:!0,skipInvalid:!1,pasteAsTags:!0,editTags:{clicks:2,keepInvalid:!0},transformTag:function(){},trim:!0,a11y:{focusableTags:!1},mixMode:{insertAfterTag:" "},autoComplete:{enabled:!0,rightKey:!1,tabKey:!1},classNames:{namespace:"tagify",mixMode:"tagify--mix",selectMode:"tagify--select",input:"tagify__input",focus:"tagify--focus",tagNoAnimation:"tagify--noAnim",tagInvalid:"tagify--invalid",tagNotAllowed:"tagify--notAllowed",scopeLoading:"tagify--loading",hasMaxTags:"tagify--hasMaxTags",hasNoTags:"tagify--noTags",empty:"tagify--empty",inputInvalid:"tagify__input--invalid",dropdown:"tagify__dropdown",dropdownWrapper:"tagify__dropdown__wrapper",dropdownHeader:"tagify__dropdown__header",dropdownFooter:"tagify__dropdown__footer",dropdownItem:"tagify__dropdown__item",dropdownItemActive:"tagify__dropdown__item--active",dropdownItemHidden:"tagify__dropdown__item--hidden",dropdownItemSelected:"tagify__dropdown__item--selected",dropdownInital:"tagify__dropdown--initial",tag:"tagify__tag",tagText:"tagify__tag-text",tagX:"tagify__tag__removeBtn",tagLoading:"tagify__tag--loading",tagEditing:"tagify__tag--editable",tagFlash:"tagify__tag--flash",tagHide:"tagify__tag--hide"},dropdown:{classname:"",enabled:2,maxItems:10,searchKeys:["value","searchBy"],fuzzySearch:!0,caseSensitive:!1,accentedSearch:!0,includeSelectedTags:!1,escapeHTML:!0,highlightFirst:!0,closeOnSelect:!0,clearOnSelect:!0,position:"all",appendTarget:null},hooks:{beforeRemoveTag:function(){return Promise.resolve()},beforePaste:function(){return Promise.resolve()},suggestionClick:function(){return Promise.resolve()},beforeKeyDown:function(){return Promise.resolve()}}};function Ot(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function Dt(t){for(var e=1;et.length)&&(e=t.length);for(var n=0,i=new Array(e);n0&&void 0!==arguments[0])||arguments[0],e=this.dropdown.events.callbacks,n=this.listeners.dropdown=this.listeners.dropdown||{position:this.dropdown.position.bind(this,null),onKeyDown:e.onKeyDown.bind(this),onMouseOver:e.onMouseOver.bind(this),onMouseLeave:e.onMouseLeave.bind(this),onClick:e.onClick.bind(this),onScroll:e.onScroll.bind(this)},i=t?"addEventListener":"removeEventListener";"manual"!=this.settings.dropdown.position&&(document[i]("scroll",n.position,!0),window[i]("resize",n.position),window[i]("keydown",n.onKeyDown)),this.DOM.dropdown[i]("mouseover",n.onMouseOver),this.DOM.dropdown[i]("mouseleave",n.onMouseLeave),this.DOM.dropdown[i]("mousedown",n.onClick),this.DOM.dropdown.content[i]("scroll",n.onScroll)},callbacks:{onKeyDown:function(t){var e=this;if(this.state.hasFocus&&!this.state.composing){var n=this.settings,i=n.dropdown.includeSelectedTags,s=this.DOM.dropdown.querySelector(n.classNames.dropdownItemActiveSelector),a=this.dropdown.getSuggestionDataByNode(s),o="mix"==n.mode,r="select"==n.mode;n.hooks.beforeKeyDown(t,{tagify:this}).then((function(l){switch(t.key){case"ArrowDown":case"ArrowUp":case"Down":case"Up":t.preventDefault();var d=e.dropdown.getAllSuggestionsRefs(),c="ArrowUp"==t.key||"Up"==t.key;s&&(s=e.dropdown.getNextOrPrevOption(s,!c)),s&&s.matches(n.classNames.dropdownItemSelector)||(s=d[c?d.length-1:0]),e.dropdown.highlightOption(s,!0);break;case"PageUp":case"PageDown":var u;t.preventDefault();var h=e.dropdown.getAllSuggestionsRefs(),g=Math.floor(e.DOM.dropdown.content.clientHeight/(null===(u=h[0])||void 0===u?void 0:u.offsetHeight))||1,p="PageUp"===t.key;if(s){var f=h.indexOf(s),m=p?Math.max(0,f-g):Math.min(h.length-1,f+g);s=h[m]}else s=h[0];e.dropdown.highlightOption(s,!0);break;case"Home":case"End":t.preventDefault();var v=e.dropdown.getAllSuggestionsRefs();s=v["Home"===t.key?0:v.length-1],e.dropdown.highlightOption(s,!0);break;case"Escape":case"Esc":e.dropdown.hide();break;case"ArrowRight":if(e.state.actions.ArrowLeft||n.autoComplete.rightKey)return;case"Tab":var w=!n.autoComplete.rightKey||!n.autoComplete.tabKey;if(!o&&!r&&s&&w&&!e.state.editing&&a){t.preventDefault();var y=e.dropdown.getMappedValue(a);return e.state.autoCompleteData=a,e.input.autocomplete.set.call(e,y),!1}return!0;case"Enter":t.preventDefault(),e.state.actions.selectOption=!0,setTimeout((function(){return e.state.actions.selectOption=!1}),100),n.hooks.suggestionClick(t,{tagify:e,tagData:a,suggestionElm:s}).then((function(){if(s){var n=i?s:e.dropdown.getNextOrPrevOption(s,!c);e.dropdown.selectOption(s,t,(function(){if(n){var t=n.getAttribute("value");n=e.dropdown.getSuggestionNodeByValue(t),e.dropdown.highlightOption(n)}}))}else e.dropdown.hide(),o||e.addTags(e.state.inputText.trim(),!0)})).catch((function(t){return st.warn(t)}));break;case"Backspace":if(o||e.state.editing.scope)return;var b=e.input.raw.call(e);""!=b&&8203!=b.charCodeAt(0)||(!0===n.backspace?e.removeTags():"edit"==n.backspace&&setTimeout(e.editTag.bind(e),0))}}))}},onMouseOver:function(t){var e=t.target.closest(this.settings.classNames.dropdownItemSelector);this.dropdown.highlightOption(e)},onMouseLeave:function(t){this.dropdown.highlightOption()},onClick:function(t){var e=this;if(0==t.button&&t.target!=this.DOM.dropdown&&t.target!=this.DOM.dropdown.content){var n=t.target.closest(this.settings.classNames.dropdownItemSelector),i=this.dropdown.getSuggestionDataByNode(n);this.state.actions.selectOption=!0,setTimeout((function(){return e.state.actions.selectOption=!1}),100),this.settings.hooks.suggestionClick(t,{tagify:this,tagData:i,suggestionElm:n}).then((function(){n?e.dropdown.selectOption(n,t):e.dropdown.hide()})).catch((function(t){return st.warn(t)}))}},onScroll:function(t){var e=t.target,n=e.scrollTop/(e.scrollHeight-e.parentNode.clientHeight)*100;this.trigger("dropdown:scroll",{percentage:Math.round(n)})}}},refilter:function(t){t=t||this.state.dropdown.query||"",this.suggestedListItems=this.dropdown.filterListItems(t),this.dropdown.fill(),this.suggestedListItems.length||this.dropdown.hide(),this.trigger("dropdown:updated",this.DOM.dropdown)},getSuggestionDataByNode:function(t){for(var e,n=t&&t.getAttribute("value"),i=this.suggestedListItems.length;i--;){if(ut(e=this.suggestedListItems[i])&&e.value==n)return e;if(e==n)return{value:e}}},getSuggestionNodeByValue:function(t){return this.dropdown.getAllSuggestionsRefs().find((function(e){return e.getAttribute("value")===t}))},getNextOrPrevOption:function(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],n=this.dropdown.getAllSuggestionsRefs(),i=n.findIndex((function(e){return e===t}));return e?n[i+1]:n[i-1]},highlightOption:function(t,e){var n,i=this.settings.classNames.dropdownItemActive;if(this.state.ddItemElm&&(this.state.ddItemElm.classList.remove(i),this.state.ddItemElm.removeAttribute("aria-selected")),!t)return this.state.ddItemData=null,this.state.ddItemElm=null,void this.input.autocomplete.suggest.call(this);n=this.dropdown.getSuggestionDataByNode(t),this.state.ddItemData=n,this.state.ddItemElm=t,t.classList.add(i),t.setAttribute("aria-selected",!0),e&&(t.parentNode.scrollTop=t.clientHeight+t.offsetTop-t.parentNode.clientHeight),this.settings.autoComplete&&(this.input.autocomplete.suggest.call(this,n),this.dropdown.position())},selectOption:function(t,e,n){var i=this,s=this.settings,a=s.dropdown.includeSelectedTags,o=s.dropdown,r=o.clearOnSelect,l=o.closeOnSelect;if(!t)return this.addTags(this.state.inputText,!0),void(l&&this.dropdown.hide());e=e||{};var d=t.getAttribute("value"),c="noMatch"==d,u="mix"==s.mode,h=this.suggestedListItems.find((function(t){var e;return(null!==(e=t.value)&&void 0!==e?e:t)==d}));if(this.trigger("dropdown:select",{data:h,elm:t,event:e}),h||c){if(this.state.editing){var g=this.normalizeTags([h])[0];h=s.transformTag.call(this,g)||g,this.onEditTagDone(null,ht({__isValid:!0},h))}else this[u?"addMixTags":"addTags"]([h||this.input.raw.call(this)],r);(u||this.DOM.input.parentNode)&&(setTimeout((function(){i.DOM.input.focus(),i.toggleFocusClass(!0)})),l&&setTimeout(this.dropdown.hide.bind(this)),a?n&&n():(t.addEventListener("transitionend",(function(){i.dropdown.fillHeaderFooter(),setTimeout((function(){t.remove(),i.dropdown.refilter(),n&&n()}),100)}),{once:!0}),t.classList.add(this.settings.classNames.dropdownItemHidden)))}else l&&setTimeout(this.dropdown.hide.bind(this))},selectAll:function(t){this.suggestedListItems.length=0,this.dropdown.hide(),this.dropdown.filterListItems("");var e=this.dropdown.filterListItems("");return t||(e=this.state.dropdown.suggestions),this.addTags(e,!0),this},filterListItems:function(t,e){var n,i,s,a,o,r,l=function(){var t,l,d=void 0,c=void 0;t=p[y],i=(null!=(l=Object)&&"undefined"!=typeof Symbol&&l[Symbol.hasInstance]?l[Symbol.hasInstance](t):t instanceof l)?p[y]:{value:p[y]};var f,m=Object.keys(i).some((function(t){return w.includes(t)}))?w:["value"];u.fuzzySearch&&!e.exact?(a=m.reduce((function(t,e){return t+" "+(i[e]||"")}),"").toLowerCase().trim(),u.accentedSearch&&(a=pt(a),r=pt(r)),d=0==a.indexOf(r),c=a===r,f=a,s=r.toLowerCase().split(" ").every((function(t){return f.includes(t.toLowerCase())}))):(d=!0,s=m.some((function(t){var n=""+(i[t]||"");return u.accentedSearch&&(n=pt(n),r=pt(r)),u.caseSensitive||(n=n.toLowerCase()),c=n===r,e.exact?n===r:0==n.indexOf(r)}))),o=!u.includeSelectedTags&&n.isTagDuplicate(ut(i)?i.value:i),s&&!o&&(c&&d?g.push(i):"startsWith"==u.sortby&&d?h.unshift(i):h.push(i))},d=this,c=this.settings,u=c.dropdown,h=(e=e||{},[]),g=[],p=c.whitelist,f=u.maxItems>=0?u.maxItems:1/0,m=u.includeSelectedTags,v="function"==typeof u.sortby,w=u.searchKeys,y=0;if(!(t="select"==c.mode&&this.value.length&&this.value[0][c.tagTextProp]==t?"":t)||!w.length){h=m?p:p.filter((function(t){return!d.isTagDuplicate(ut(t)?t.value:t)}));var b=v?u.sortby(h,r):h.slice(0,f);return this.state.dropdown.suggestions=b,b}for(r=u.caseSensitive?""+t:(""+t).toLowerCase();y[\r\n ]+\<").split(/>\s+<").trim():""},fillHeaderFooter:function(){var t=this.dropdown.filterListItems(this.state.dropdown.query),e=this.parseTemplate("dropdownHeader",[t]),n=this.parseTemplate("dropdownFooter",[t]),i=this.dropdown.getHeaderRef(),s=this.dropdown.getFooterRef();e&&(null==i||i.parentNode.replaceChild(e,i)),n&&(null==s||s.parentNode.replaceChild(n,s))},position:function(t){var e=this.settings.dropdown,n=this.dropdown.getAppendTarget();if("manual"!=e.position&&n){var i,s,a,o,r,l,d,c,u,h,g=this.DOM.dropdown,p=e.RTL,f=n===document.body,m=n===this.DOM.scope,v=f?window.pageYOffset:n.scrollTop,w=document.fullscreenElement||document.webkitFullscreenElement||document.documentElement,y=w.clientHeight,b=Math.max(w.clientWidth||0,window.innerWidth||0),T=b>480?e.position:"all",S=this.DOM["input"==T?"input":"scope"];if(t=t||g.clientHeight,this.state.dropdown.visible){if("text"==T?(a=(i=function(){var t=document.getSelection();if(t.rangeCount){var e,n,i=t.getRangeAt(0),s=i.startContainer,a=i.startOffset;if(a>0)return(n=document.createRange()).setStart(s,a-1),n.setEnd(s,a),{left:(e=n.getBoundingClientRect()).right,top:e.top,bottom:e.bottom};if(s.getBoundingClientRect)return s.getBoundingClientRect()}return{left:-9999,top:-9999}}()).bottom,s=i.top,o=i.left,r="auto"):(l=function(t){var e=0,n=0;for(t=t.parentNode;t&&t!=w;)e+=t.offsetTop||0,n+=t.offsetLeft||0,t=t.parentNode;return{top:e,left:n}}(n),i=S.getBoundingClientRect(),s=m?-1:i.top-l.top,a=(m?i.height:i.bottom-l.top)-1,o=m?-1:i.left-l.left,r=i.width+"px"),!f){var x=function(){for(var t=0,n=e.appendTarget.parentNode;n;)t+=n.scrollTop||0,n=n.parentNode;return t}();s+=x,a+=x}var E;s=Math.floor(s),a=Math.ceil(a),c=b-o<120,u=((d=null!==(E=e.placeAbove)&&void 0!==E?E:y-i.bottom\n ').concat(this.settings.templates.input.call(this),"\n ").concat(et,"\n ")},input:function(){var t=this.settings,e=t.placeholder||et;return"')},tag:function(t,e){var n=e.settings;return'\n \n
\n ').concat(t[n.tagTextProp]||t.value,"\n
\n
")},dropdown:function(t){var e=t.dropdown,n="manual"==e.position;return'
\n
\n
')},dropdownContent:function(t){var e=this.settings.templates,n=this.state.dropdown.suggestions;return"\n ".concat(e.dropdownHeader.call(this,n),"\n ").concat(t,"\n ").concat(e.dropdownFooter.call(this,n),"\n ")},dropdownItem:function(t){return"
').concat(t.mappedValue||t.value,"
")},dropdownHeader:function(t){return"
')},dropdownFooter:function(t){var e=t.length-this.settings.dropdown.maxItems;return e>0?"
\n ').concat(e," more items. Refine your search.\n
"):""},dropdownItemNoMatch:null};function jt(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,i=new Array(e);nt.length)&&(e=t.length);for(var n=0,i=new Array(e);n0&&void 0!==arguments[0])||arguments[0],n=this.settings,i=this.events.callbacks,s=e?"addEventListener":"removeEventListener";if(!this.state.mainEvents||!e){for(var a in this.state.mainEvents=e,e&&!this.listeners.main&&(this.events.bindGlobal.call(this),this.settings.isJQueryPlugin&&jQuery(this.DOM.originalInput).on("tagify.removeAllTags",this.removeAllTags.bind(this))),t=this.listeners.main=this.listeners.main||{keydown:["input",i.onKeydown.bind(this)],click:["scope",i.onClickScope.bind(this)],dblclick:"select"!=n.mode&&["scope",i.onDoubleClickScope.bind(this)],paste:["input",i.onPaste.bind(this)],drop:["input",i.onDrop.bind(this)],compositionstart:["input",i.onCompositionStart.bind(this)],compositionend:["input",i.onCompositionEnd.bind(this)]})t[a]&&this.DOM[t[a][0]][s](a,t[a][1]);var o=this.listeners.main.inputMutationObserver||new MutationObserver(i.onInputDOMChange.bind(this));o.disconnect(),"mix"==n.mode&&o.observe(this.DOM.input,{childList:!0}),this.events.bindOriginaInputListener.call(this)}},bindOriginaInputListener:function(t){var e=(t||0)+500;this.listeners.main&&(clearInterval(this.listeners.main.originalInputValueObserverInterval),this.listeners.main.originalInputValueObserverInterval=setInterval(this.events.callbacks.observeOriginalInputValue.bind(this),e))},bindGlobal:function(t){var e,n=this.events.callbacks,i=t?"removeEventListener":"addEventListener";if(this.listeners&&(t||!this.listeners.global)){this.listeners.global=this.listeners.global||[{type:this.isIE?"keydown":"input",target:this.DOM.input,cb:n[this.isIE?"onInputIE":"onInput"].bind(this)},{type:"keydown",target:window,cb:n.onWindowKeyDown.bind(this)},{type:"focusin",target:this.DOM.scope,cb:n.onFocusBlur.bind(this)},{type:"focusout",target:this.DOM.scope,cb:n.onFocusBlur.bind(this)},{type:"click",target:document,cb:n.onClickAnywhere.bind(this),useCapture:!0}];var s=!0,a=!1,o=void 0;try{for(var r,l=this.listeners.global[Symbol.iterator]();!(s=(r=l.next()).done);s=!0)(e=r.value).target[i](e.type,e.cb,!!e.useCapture)}catch(t){a=!0,o=t}finally{try{s||null==l.return||l.return()}finally{if(a)throw o}}}},unbindGlobal:function(){this.events.bindGlobal.call(this,!0)},callbacks:{onFocusBlur:function(t){var e,n,i=this.settings,s=wt.call(this,t.relatedTarget),a=vt.call(this,t.relatedTarget),o=t.target.classList.contains(i.classNames.tagX),r="focusin"==t.type,l="focusout"==t.type;o&&"mix"!=i.mode&&this.DOM.input.focus(),s&&r&&!a&&!o&&this.toggleFocusClass(this.state.hasFocus=+new Date);var d=t.target?this.trim(this.DOM.input.textContent):"",c=null===(n=this.value)||void 0===n||null===(e=n[0])||void 0===e?void 0:e[i.tagTextProp],u=i.dropdown.enabled>=0,h={relatedTarget:t.relatedTarget},g=this.state.actions.selectOption&&(u||!i.dropdown.closeOnSelect),p=this.state.actions.addNew&&u;if(l){if(t.relatedTarget===this.DOM.scope)return this.dropdown.hide(),void this.DOM.input.focus();this.postUpdate(),i.onChangeAfterBlur&&this.triggerChangeEvent()}if(!(g||p||o))if(this.state.hasFocus=!(!r&&!s)&&+new Date,this.toggleFocusClass(this.state.hasFocus),"mix"!=i.mode){if(r){if(!i.focusable)return;var f=0===i.dropdown.enabled&&!this.state.dropdown.visible,m=!a||"select"===i.mode,v=this.DOM.scope.querySelector(this.settings.classNames.tagTextSelector);return this.trigger("focus",h),void(f&&m&&(this.dropdown.show(this.value.length?"":void 0),this.setRangeAtStartEnd(!1,v)))}if(l){if(this.trigger("blur",h),this.loading(!1),"select"==i.mode){if(this.value.length){var w=this.getTagElms()[0];d=this.trim(w.textContent)}c===d&&(d="")}d&&!this.state.actions.selectOption&&i.addTagOnBlur&&i.addTagOn.includes("blur")&&this.addTags(d,!0)}s||(this.DOM.input.removeAttribute("style"),this.dropdown.hide())}else r?this.trigger("focus",h):l&&(this.trigger("blur",h),this.loading(!1),this.dropdown.hide(),this.state.dropdown.visible=void 0,this.setStateSelection())},onCompositionStart:function(t){this.state.composing=!0},onCompositionEnd:function(t){this.state.composing=!1},onWindowKeyDown:function(t){var e,n=this.settings,i=document.activeElement,s=wt.call(this,i)&&this.DOM.scope.contains(i),a=i===this.DOM.input,o=s&&i.hasAttribute("readonly"),r=this.DOM.scope.querySelector(this.settings.classNames.tagTextSelector),l=this.state.dropdown.visible;if(("Tab"===t.key&&l||this.state.hasFocus||s&&!o)&&!a){e=i.nextElementSibling;var d=t.target.classList.contains(n.classNames.tagX);switch(t.key){case"Backspace":n.readonly||this.state.editing||(this.removeTags(i),(e||this.DOM.input).focus());break;case"Enter":if(d)return void this.removeTags(t.target.parentNode);n.a11y.focusableTags&&vt.call(this,i)&&setTimeout(this.editTag.bind(this),0,i);break;case"ArrowDown":this.state.dropdown.visible||"mix"==n.mode||this.dropdown.show();break;case"Tab":null==r||r.focus()}}},onKeydown:function(t){var e=this,n=this.settings;if(!this.state.composing&&n.userInput){"select"==n.mode&&n.enforceWhitelist&&this.value.length&&"Tab"!=t.key&&t.preventDefault();var i=this.trim(t.target.textContent);this.trigger("keydown",{event:t}),n.hooks.beforeKeyDown(t,{tagify:this}).then((function(s){if("mix"==n.mode){switch(t.key){case"Left":case"ArrowLeft":e.state.actions.ArrowLeft=!0;break;case"Delete":case"Backspace":if(e.state.editing)return;var a=document.getSelection(),o="Delete"==t.key&&a.anchorOffset==(a.anchorNode.length||0),r=a.anchorNode.previousSibling,l=1==a.anchorNode.nodeType||!a.anchorOffset&&r&&1==r.nodeType&&a.anchorNode.previousSibling;!function(t){var e=document.createElement("div");t.replace(/\&#?[0-9a-z]+;/gi,(function(t){return e.innerHTML=t,e.innerText}))}(e.DOM.input.innerHTML);var d,c,u,h=e.getTagElms(),g=1===a.anchorNode.length&&a.anchorNode.nodeValue==String.fromCharCode(8203);if("edit"==n.backspace&&l)return d=1==a.anchorNode.nodeType?null:a.anchorNode.previousElementSibling,setTimeout(e.editTag.bind(e),0,d),void t.preventDefault();if(ft()&&qt(l,Element))return u=dt(l),l.hasAttribute("readonly")||l.remove(),e.DOM.input.focus(),void setTimeout((function(){St(u),e.DOM.input.click()}));if("BR"==a.anchorNode.nodeName)return;if((o||l)&&1==a.anchorNode.nodeType?c=0==a.anchorOffset?o?h[0]:null:h[Math.min(h.length,a.anchorOffset)-1]:o?c=a.anchorNode.nextElementSibling:qt(l,Element)&&(c=l),3==a.anchorNode.nodeType&&!a.anchorNode.nodeValue&&a.anchorNode.previousElementSibling&&t.preventDefault(),(l||o)&&!n.backspace)return void t.preventDefault();if("Range"!=a.type&&!a.anchorOffset&&a.anchorNode==e.DOM.input&&"Delete"!=t.key)return void t.preventDefault();if("Range"!=a.type&&c&&c.hasAttribute("readonly"))return void St(dt(c));"Delete"==t.key&&g&&Tt(a.anchorNode.nextSibling)&&e.removeTags(a.anchorNode.nextSibling)}return!0}var p="manual"==n.dropdown.position;switch(t.key){case"Backspace":"select"==n.mode&&n.enforceWhitelist&&e.value.length?e.removeTags():e.state.dropdown.visible&&"manual"!=n.dropdown.position||""!=t.target.textContent&&8203!=i.charCodeAt(0)||(!0===n.backspace?e.removeTags():"edit"==n.backspace&&setTimeout(e.editTag.bind(e),0));break;case"Esc":case"Escape":if(e.state.dropdown.visible)return;t.target.blur();break;case"Down":case"ArrowDown":e.state.dropdown.visible||e.dropdown.show();break;case"ArrowRight":var f=e.state.inputSuggestion||e.state.ddItemData;if(f&&n.autoComplete.rightKey)return void e.addTags([f],!0);break;case"Tab":return!0;case"Enter":if(e.state.dropdown.visible&&!p)return;t.preventDefault();var m=e.state.autoCompleteData||i;setTimeout((function(){e.state.dropdown.visible&&!p||e.state.actions.selectOption||!n.addTagOn.includes(t.key.toLowerCase())||(e.addTags([m],!0),e.state.autoCompleteData=null)}))}})).catch((function(t){return t}))}},onInput:function(t){this.postUpdate();var e=this.settings;if("mix"==e.mode)return this.events.callbacks.onMixTagsInput.call(this,t);var n=this.input.normalize.call(this,void 0,{trim:!1}),i=n.length>=e.dropdown.enabled,s={value:n,inputElm:this.DOM.input},a=this.validateTag({value:n});"select"==e.mode&&this.toggleScopeValidation(a),s.isValid=a,this.state.inputText!=n&&(this.input.set.call(this,n,!1),-1!=n.search(e.delimiters)?this.addTags(n)&&this.input.set.call(this):e.dropdown.enabled>=0&&this.dropdown[i?"show":"hide"](n),this.trigger("input",s))},onMixTagsInput:function(t){var e,n,i,s,a,o,r,l,d=this,c=this.settings,u=this.value.length,h=this.getTagElms(),g=document.createDocumentFragment(),p=window.getSelection().getRangeAt(0),f=[].map.call(h,(function(t){return Tt(t).value}));if("deleteContentBackward"==t.inputType&&ft()&&this.events.callbacks.onKeydown.call(this,{target:t.target,key:"Backspace"}),xt(this.getTagElms()),this.value.slice().forEach((function(t){t.readonly&&!f.includes(t.value)&&g.appendChild(d.createTagElem(t))})),g.childNodes.length&&(p.insertNode(g),this.setRangeAtStartEnd(!1,g.lastChild)),h.length!=u)return this.value=[].map.call(this.getTagElms(),(function(t){return Tt(t)})),void this.update({withoutChangeEvent:!0});if(this.hasMaxTags())return!0;if(window.getSelection&&(o=window.getSelection()).rangeCount>0&&3==o.anchorNode.nodeType){if((p=o.getRangeAt(0).cloneRange()).collapse(!0),p.setStart(o.focusNode,0),i=(e=p.toString().slice(0,p.endOffset)).split(c.pattern).length-1,(n=e.match(c.pattern))&&(s=e.slice(e.lastIndexOf(n[n.length-1]))),s){if(this.state.actions.ArrowLeft=!1,this.state.tag={prefix:s.match(c.pattern)[0],value:s.replace(c.pattern,"")},this.state.tag.baseOffset=o.baseOffset-this.state.tag.value.length,l=this.state.tag.value.match(c.delimiters))return this.state.tag.value=this.state.tag.value.replace(c.delimiters,""),this.state.tag.delimiters=l[0],this.addTags(this.state.tag.value,c.dropdown.clearOnSelect),void this.dropdown.hide();a=this.state.tag.value.length>=c.dropdown.enabled;try{r=(r=this.state.flaggedTags[this.state.tag.baseOffset]).prefix==this.state.tag.prefix&&r.value[0]==this.state.tag.value[0],this.state.flaggedTags[this.state.tag.baseOffset]&&!this.state.tag.value&&delete this.state.flaggedTags[this.state.tag.baseOffset]}catch(t){}(r||i500||!e.focusable)?this.state.dropdown.visible?this.dropdown.hide():0===e.dropdown.enabled&&"mix"!=e.mode&&this.dropdown.show(this.value.length?"":void 0):"select"!=e.mode||0!==e.dropdown.enabled||this.state.dropdown.visible||(this.events.callbacks.onDoubleClickScope.call(this,function(t,e){return e=null!=e?e:{},Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(e)):function(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);n.push.apply(n,i)}return n}(Object(e)).forEach((function(n){Object.defineProperty(t,n,Object.getOwnPropertyDescriptor(e,n))})),t}(function(t){for(var e=1;e=this.settings.dropdown.enabled&&(this.state.editing&&(this.state.editing.value=o),this.dropdown.show(o)),this.trigger("edit:input",{tag:i,index:s,data:ht({},this.value[s],{newValue:o}),event:e})},onEditTagPaste:function(t,e){var n=(e.clipboardData||window.clipboardData).getData("Text");e.preventDefault();var i=bt(n);this.setRangeAtStartEnd(!1,i)},onEditTagClick:function(t,e){this.events.callbacks.onClickScope.call(this,e)},onEditTagFocus:function(t){this.state.editing={scope:t,input:t.querySelector("[contenteditable]")}},onEditTagBlur:function(t,e){var n=vt.call(this,e.relatedTarget);if("select"==this.settings.mode&&n&&e.relatedTarget.contains(e.target))this.dropdown.hide();else if(this.state.editing&&(this.state.hasFocus||this.toggleFocusClass(),this.DOM.scope.contains(document.activeElement)||this.trigger("blur",{}),this.DOM.scope.contains(t))){var i,s,a,o=this.settings,r=t.closest("."+o.classNames.tag),l=Tt(r),d=this.input.normalize.call(this,t),c=(Ht(i={},o.tagTextProp,d),Ht(i,"__tagId",l.__tagId),i),u=l.__originalData,h=this.editTagChangeDetected(ht(l,c)),g=this.validateTag(c);if(d)if(h){var p;if(s=this.hasMaxTags(),a=ht({},u,(Ht(p={},o.tagTextProp,this.trim(d)),Ht(p,"__isValid",g),p)),o.transformTag.call(this,a,u),!0!==(g=(!s||!0===u.__isValid)&&this.validateTag(a))){if(this.trigger("invalid",{data:a,tag:r,message:g}),o.editTags.keepInvalid)return;o.keepInvalidTags?a.__isValid=g:a=u}else o.keepInvalidTags&&(delete a.title,delete a["aria-invalid"],delete a.class);this.onEditTagDone(r,a)}else this.onEditTagDone(r,u);else this.onEditTagDone(r)}},onEditTagkeydown:function(t,e){if(!this.state.composing)switch(this.trigger("edit:keydown",{event:t}),t.key){case"Esc":case"Escape":this.state.editing=!1,e.__tagifyTagData.__originalData.value?e.parentNode.replaceChild(e.__tagifyTagData.__originalHTML,e):e.remove();break;case"Enter":case"Tab":t.preventDefault(),setTimeout((function(){return t.target.blur()}),0)}},onDoubleClickScope:function(t){var e=t.target.closest("."+this.settings.classNames.tag);if(e){var n,i,s=Tt(e),a=this.settings;!1!==(null==s?void 0:s.editable)&&(n=e.classList.contains(this.settings.classNames.tagEditing),i=e.hasAttribute("readonly"),a.readonly||n||i||!this.settings.editTags||!a.userInput||(this.events.callbacks.onEditTagFocus.call(this,e),this.editTag(e)),this.toggleFocusClass(!0),"select"!=a.mode&&this.trigger("dblclick",{tag:e,index:this.getNodeIndex(e),data:Tt(e)}))}},onInputDOMChange:function(t){var e=this;t.forEach((function(t){t.addedNodes.forEach((function(t){if("

"==t.outerHTML)t.replaceWith(document.createElement("br"));else if(1==t.nodeType&&t.querySelector(e.settings.classNames.tagSelector)){var n,i=document.createTextNode("");3==t.childNodes[0].nodeType&&"BR"!=t.previousSibling.nodeName&&(i=document.createTextNode("\n")),(n=t).replaceWith.apply(n,Rt([i].concat(Rt(Rt(t.childNodes).slice(0,-1))))),St(i)}else if(vt.call(e,t)){var s;if(3!=(null===(s=t.previousSibling)||void 0===s?void 0:s.nodeType)||t.previousSibling.textContent||t.previousSibling.remove(),t.previousSibling&&"BR"==t.previousSibling.nodeName){t.previousSibling.replaceWith("\n​");for(var a=t.nextSibling,o="";a;)o+=a.textContent,a=a.nextSibling;o.trim()&&St(t.previousSibling)}else t.previousSibling&&!Tt(t.previousSibling)||t.before("​")}})),t.removedNodes.forEach((function(t){t&&"BR"==t.nodeName&&vt.call(e,n)&&(e.removeTags(n),e.fixFirefoxLastTagNoCaret())}))}));var n=this.DOM.input.lastChild;n&&""==n.nodeValue&&n.remove(),n&&"BR"==n.nodeName||this.DOM.input.appendChild(document.createElement("br"))}}};function Ut(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,i=new Array(e);nt.map((t=>t.value)),dropdown:{enabled:e.dropdownSuggestionsStartAfter,maxItems:e.dropdownMaxItems,closeOnSelect:e.dropdownCloseOnSelect,highlightFirst:e.highlight},transformTag(t){t.display||(t.display=t.value,t.value=encodeURIComponent(t.value)),t.display=t.display.replace(//g,">")},templates:{wrapper(t,e){return`
\n ${this.settings.templates.input.call(this)}\n ​\n
`},tag:t=>`
\n \n
\n ${t.display}\n
\n
`,dropdownItem:t=>`
\n ${t.display}\n
`}}}(e.id,n));o.addTags(i),void 0!==s&&o.on("input",(t=>{!function(t,e,n,i,s,a){Qt instanceof AbortController&&Qt.abort(),Qt=new AbortController,t.whitelist=null,void 0!==Gt&&(t.DOM.scope.ownerDocument.defaultView.clearTimeout(Gt),Gt=void 0),s.detail.value.length{const e=s.detail.value;n.writeParameter(i,e),t.loading(!0),fetch(n.getUrl().toString(),{signal:Qt.signal}).then((t=>t.json())).catch((()=>{})).then((n=>{t.whitelist=n,t.loading(!1).dropdown.show(e)}))}),a))}(o,n.suggestionStarts,s,a,t,n.autocompleteTriggerTimeout)}))}Jt.prototype={_dropdown:Lt,placeCaretAfterNode:St,getSetTagData:Tt,helpers:{sameStr:at,removeCollectionProp:ot,omit:rt,isObject:ut,parseHTML:lt,escapeHTML:ct,extend:ht,concatWithoutDups:gt,getUID:mt,isNodeTag:vt},customEventsList:["change","add","remove","invalid","input","paste","click","keydown","focus","blur","edit:input","edit:beforeUpdate","edit:updated","edit:start","edit:keydown","dropdown:show","dropdown:hide","dropdown:select","dropdown:updated","dropdown:noMatch","dropdown:scroll"],dataProps:["__isValid","__removed","__originalData","__originalHTML","__tagId"],trim:function(t){return this.settings.trim&&t&&"string"==typeof t?t.trim():t},parseHTML:lt,templates:Bt,parseTemplate:function(t,e){return lt((t=this.settings.templates[t]||t).apply(this,e))},set whitelist(t){var e=t&&Array.isArray(t);this.settings.whitelist=e?t:[],this.setPersistedData(e?t:[],"whitelist")},get whitelist(){return this.settings.whitelist},set userInput(t){this.settings.userInput=!!t,this.setContentEditable(!!t)},get userInput(){return this.settings.userInput},generateClassSelectors:function(t){var e=function(e){var n=e;Object.defineProperty(t,n+"Selector",{get:function(){return"."+this[n].split(" ")[0]}})};for(var n in t)e(n)},applySettings:function(t,e){var n,i;Et.templates=this.templates;var s=ht({},Et,"mix"==e.mode?{dropdown:{position:"text"}}:{}),a=this.settings=ht({},s,e);if(a.disabled=t.hasAttribute("disabled"),a.readonly=a.readonly||t.hasAttribute("readonly"),a.placeholder=ct(t.getAttribute("placeholder")||a.placeholder||""),a.required=t.hasAttribute("required"),this.generateClassSelectors(a.classNames),this.isIE&&(a.autoComplete=!1),["whitelist","blacklist"].forEach((function(e){var n=t.getAttribute("data-"+e);n&&zt(n=n.split(a.delimiters),Array)&&(a[e]=n)})),"autoComplete"in e&&!ut(e.autoComplete)&&(a.autoComplete=Et.autoComplete,a.autoComplete.enabled=e.autoComplete),"mix"==a.mode&&(a.pattern=a.pattern||/@/,a.autoComplete.rightKey=!0,a.delimiters=e.delimiters||null,a.tagTextProp&&!a.dropdown.searchKeys.includes(a.tagTextProp)&&a.dropdown.searchKeys.push(a.tagTextProp)),t.pattern)try{a.pattern=new RegExp(t.pattern)}catch(t){}if(a.delimiters){a._delimiters=a.delimiters;try{a.delimiters=new RegExp(this.settings.delimiters,"g")}catch(t){}}a.disabled&&(a.userInput=!1),this.TEXTS=Kt({},Pt,a.texts||{}),"select"==a.mode&&(a.dropdown.includeSelectedTags=!0),("select"!=a.mode||(null===(n=e.dropdown)||void 0===n?void 0:n.enabled))&&a.userInput||(a.dropdown.enabled=0),a.dropdown.appendTarget=(null===(i=e.dropdown)||void 0===i?void 0:i.appendTarget)||document.body,void 0===a.dropdown.includeSelectedTags&&(a.dropdown.includeSelectedTags=a.duplicates);var o=this.getPersistedData("whitelist");Array.isArray(o)&&(this.whitelist=Array.isArray(a.whitelist)?gt(a.whitelist,o):o)},getAttributes:function(t){var e,n=this.getCustomAttributes(t),i="";for(e in n)i+=" "+e+(void 0!==t[e]?'="'.concat(n[e],'"'):"");return i},getCustomAttributes:function(t){if(!ut(t))return"";var e,n={};for(e in t)"__"!=e.slice(0,2)&&"class"!=e&&t.hasOwnProperty(e)&&void 0!==t[e]&&(n[e]=ct(t[e]));return n},setStateSelection:function(){var t=window.getSelection(),e={anchorOffset:t.anchorOffset,anchorNode:t.anchorNode,range:t.getRangeAt&&t.rangeCount&&t.getRangeAt(0)};return this.state.selection=e,e},getCSSVars:function(){var t,e,n=getComputedStyle(this.DOM.scope,null);this.CSSVars={tagHideTransition:(t=function(t){if(!t)return{};var e=(t=t.trim().split(" ")[0]).split(/\d+/g).filter((function(t){return t})).pop().trim();return{value:+t.split(e).filter((function(t){return t}))[0].trim(),unit:e}}(("tag-hide-transition",n.getPropertyValue("--tag-hide-transition"))),e=t.value,"s"==t.unit?1e3*e:e)}},build:function(t){var e=this.DOM,n=t.closest("label");this.settings.mixMode.integrated?(e.originalInput=null,e.scope=t,e.input=t):(e.originalInput=t,e.originalInput_tabIndex=t.tabIndex,e.scope=this.parseTemplate("wrapper",[t,this.settings]),e.input=e.scope.querySelector(this.settings.classNames.inputSelector),t.parentNode.insertBefore(e.scope,t),t.tabIndex=-1),n&&n.setAttribute("for","")},destroy:function(){var t;this.events.unbindGlobal.call(this),null===(t=this.DOM.scope.parentNode)||void 0===t||t.removeChild(this.DOM.scope),this.DOM.originalInput.tabIndex=this.DOM.originalInput_tabIndex,delete this.DOM.originalInput.__tagify,this.dropdown.hide(!0),this.removeAllCustomListeners(),clearTimeout(this.dropdownHide__bindEventsTimeout),clearInterval(this.listeners.main.originalInputValueObserverInterval)},loadOriginalValues:function(t){var e,n=this.settings;if(this.state.blockChangeEvent=!0,void 0===t){var i=this.getPersistedData("value");t=i&&!this.DOM.originalInput.value?i:n.mixMode.integrated?this.DOM.input.textContent:this.DOM.originalInput.value}if(this.removeAllTags(),t)if("mix"==n.mode)this.parseMixTags(t),(e=this.DOM.input.lastChild)&&"BR"==e.tagName||this.DOM.input.insertAdjacentHTML("beforeend","
");else{try{zt(JSON.parse(t),Array)&&(t=JSON.parse(t))}catch(t){}this.addTags(t,!0).forEach((function(t){return t&&t.classList.add(n.classNames.tagNoAnimation)}))}else this.postUpdate();this.state.lastOriginalValueReported=n.mixMode.integrated?"":this.DOM.originalInput.value},cloneEvent:function(t){var e={};for(var n in t)"path"!=n&&(e[n]=t[n]);return e},loading:function(t){return this.state.isLoading=t,this.DOM.scope.classList[t?"add":"remove"](this.settings.classNames.scopeLoading),this},tagLoading:function(t,e){return t&&t.classList[e?"add":"remove"](this.settings.classNames.tagLoading),this},toggleClass:function(t,e){"string"==typeof t&&this.DOM.scope.classList.toggle(t,e)},toggleScopeValidation:function(t){var e=!0===t||void 0===t;!this.settings.required&&t&&t===this.TEXTS.empty&&(e=!0),this.toggleClass(this.settings.classNames.tagInvalid,!e),this.DOM.scope.title=e?"":t},toggleFocusClass:function(t){this.toggleClass(this.settings.classNames.focus,!!t)},setPlaceholder:function(t){var e=this;["data","aria"].forEach((function(n){return e.DOM.input.setAttribute("".concat(n,"-placeholder"),t)}))},triggerChangeEvent:function(){if(!this.settings.mixMode.integrated){var t=this.DOM.originalInput,e=this.state.lastOriginalValueReported!==t.value,n=new CustomEvent("change",{bubbles:!0});e&&(this.state.lastOriginalValueReported=t.value,n.simulated=!0,t._valueTracker&&t._valueTracker.setValue(Math.random()),t.dispatchEvent(n),this.trigger("change",this.state.lastOriginalValueReported),t.value=this.state.lastOriginalValueReported)}},events:$t,fixFirefoxLastTagNoCaret:function(){},setRangeAtStartEnd:function(t,e){if(e){t="number"==typeof t?t:!!t,e=e.lastChild||e;var n=document.getSelection();if(zt(n.focusNode,Element)&&!this.DOM.input.contains(n.focusNode))return!0;try{n.rangeCount>=1&&["Start","End"].forEach((function(i){return n.getRangeAt(0)["set"+i](e,t||e.length)}))}catch(t){console.warn(t)}}},insertAfterTag:function(t,e){if(e=e||this.settings.mixMode.insertAfterTag,t&&t.parentNode&&e)return e="string"==typeof e?document.createTextNode(e):e,t.parentNode.insertBefore(e,t.nextSibling),e},editTagChangeDetected:function(t){var e=t.__originalData;for(var n in e)if(!this.dataProps.includes(n)&&t[n]!=e[n])return!0;return!1},getTagTextNode:function(t){return t.querySelector(this.settings.classNames.tagTextSelector)},setTagTextNode:function(t,e){this.getTagTextNode(t).innerHTML=ct(e)},editTag:function(t,e){var n=this;t=t||this.getLastTag(),e=e||{};var i=this.settings,s=this.getTagTextNode(t),a=this.getNodeIndex(t),o=Tt(t),r=this.events.callbacks,l=!0,d="select"==i.mode;if(!d&&this.dropdown.hide(),s){if(!zt(o,Object)||!("editable"in o)||o.editable)return o=Tt(t,{__originalData:ht({},o),__originalHTML:t.cloneNode(!0)}),Tt(o.__originalHTML,o.__originalData),s.setAttribute("contenteditable",!0),t.classList.add(i.classNames.tagEditing),this.events.callbacks.onEditTagFocus.call(this,t),s.addEventListener("click",r.onEditTagClick.bind(this,t)),s.addEventListener("blur",r.onEditTagBlur.bind(this,this.getTagTextNode(t))),s.addEventListener("input",r.onEditTagInput.bind(this,s)),s.addEventListener("paste",r.onEditTagPaste.bind(this,s)),s.addEventListener("keydown",(function(e){return r.onEditTagkeydown.call(n,e,t)})),s.addEventListener("compositionstart",r.onCompositionStart.bind(this)),s.addEventListener("compositionend",r.onCompositionEnd.bind(this)),e.skipValidation||(l=this.editTagToggleValidity(t)),s.originalIsValid=l,this.trigger("edit:start",{tag:t,index:a,data:o,isValid:l}),s.focus(),!d&&this.setRangeAtStartEnd(!1,s),0===i.dropdown.enabled&&!d&&this.dropdown.show(),this.state.hasFocus=!0,this}else st.warn("Cannot find element in Tag template: .",i.classNames.tagTextSelector)},editTagToggleValidity:function(t,e){var n;if(e=e||Tt(t))return(n=!("__isValid"in e)||!0===e.__isValid)||this.removeTagsFromValue(t),this.update(),t.classList.toggle(this.settings.classNames.tagNotAllowed,!n),e.__isValid=n,e.__isValid;st.warn("tag has no data: ",t,e)},onEditTagDone:function(t,e){t=t||this.state.editing.scope,e=e||{};var n,i,s=this.settings,a={tag:t,index:this.getNodeIndex(t),previousData:Tt(t),data:e};this.trigger("edit:beforeUpdate",a,{cloneData:!1}),this.state.editing=!1,delete e.__originalData,delete e.__originalHTML,t&&t.parentNode&&((void 0!==(i=e[s.tagTextProp])?null===(n=(i+="").trim)||void 0===n?void 0:n.call(i):s.tagTextProp in e?void 0:e.value)?(t=this.replaceTag(t,e),this.editTagToggleValidity(t,e),s.a11y.focusableTags?t.focus():"select"!=s.mode&&St(t)):this.removeTags(t)),this.trigger("edit:updated",a),s.dropdown.closeOnSelect&&this.dropdown.hide(),this.settings.keepInvalidTags&&this.reCheckInvalidTags()},replaceTag:function(t,e){e&&""!==e.value&&void 0!==e.value||(e=t.__tagifyTagData),e.__isValid&&1!=e.__isValid&&ht(e,this.getInvalidTagAttrs(e,e.__isValid));var n=this.createTagElem(e);return t.parentNode.replaceChild(n,t),this.updateValueByDOMTags(),n},updateValueByDOMTags:function(){var t=this;this.value.length=0;var e=this.settings.classNames,n=[e.tagNotAllowed.split(" ")[0],e.tagHide];[].forEach.call(this.getTagElms(),(function(e){Xt(e.classList).some((function(t){return n.includes(t)}))||t.value.push(Tt(e))})),this.update(),this.dropdown.refilter()},injectAtCaret:function(t,e){var n;if(e=e||(null===(n=this.state.selection)||void 0===n?void 0:n.range),"string"==typeof t&&(t=document.createTextNode(t)),!e&&t)return this.appendMixTags(t),this;var i=bt(t,e);return this.setRangeAtStartEnd(!1,i),this.updateValueByDOMTags(),this.update(),this},input:{set:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],n=this.settings,i=n.dropdown.closeOnSelect;this.state.inputText=t,e&&(this.DOM.input.innerHTML=ct(""+t),t&&this.toggleClass(n.classNames.empty,!this.DOM.input.innerHTML)),!t&&i&&this.dropdown.hide.bind(this),this.input.autocomplete.suggest.call(this),this.input.validate.call(this)},raw:function(){return this.DOM.input.textContent},validate:function(){var t=!this.state.inputText||!0===this.validateTag({value:this.state.inputText});return this.DOM.input.classList.toggle(this.settings.classNames.inputInvalid,!t),t},normalize:function(t,e){var n=t||this.DOM.input,i=[];n.childNodes.forEach((function(t){return 3==t.nodeType&&i.push(t.nodeValue)})),i=i.join("\n");try{i=i.replace(/(?:\r\n|\r|\n)/g,this.settings.delimiters.source.charAt(0))}catch(t){}return i=i.replace(/\s/g," "),(null==e?void 0:e.trim)?this.trim(i):i},autocomplete:{suggest:function(t){if(this.settings.autoComplete.enabled){"object"!=typeof(t=t||{value:""})&&(t={value:t});var e=this.dropdown.getMappedValue(t);if("number"!=typeof e){var n=this.state.inputText.toLowerCase(),i=e.substr(0,this.state.inputText.length).toLowerCase(),s=e.substring(this.state.inputText.length);e&&this.state.inputText&&i==n?(this.DOM.input.setAttribute("data-suggest",s),this.state.inputSuggestion=t):(this.DOM.input.removeAttribute("data-suggest"),delete this.state.inputSuggestion)}}},set:function(t){var e=this.DOM.input.getAttribute("data-suggest"),n=t||(e?this.state.inputText+e:null);return!!n&&("mix"==this.settings.mode?this.replaceTextWithNode(document.createTextNode(this.state.tag.prefix+n)):(this.input.set.call(this,n),this.setRangeAtStartEnd(!1,this.DOM.input)),this.input.autocomplete.suggest.call(this),this.dropdown.hide(),!0)}}},getTagIdx:function(t){return this.value.findIndex((function(e){return e.__tagId==(t||{}).__tagId}))},getNodeIndex:function(t){var e=0;if(t)for(;t=t.previousElementSibling;)e++;return e},getTagElms:function(){for(var t=arguments.length,e=new Array(t),n=0;n=this.settings.maxTags&&this.TEXTS.exceed},setReadonly:function(t,e){var n=this.settings;this.DOM.scope.contains(document.activeElement)&&document.activeElement.blur(),n[e||"readonly"]=t,this.DOM.scope[(t?"set":"remove")+"Attribute"](e||"readonly",!0),this.settings.userInput=!0,this.setContentEditable(!t)},setContentEditable:function(t){this.DOM.input.contentEditable=t,this.DOM.input.tabIndex=t?0:-1},setDisabled:function(t){this.setReadonly(t,"disabled")},normalizeTags:function(t){var e=this,n=this.settings,i=n.whitelist,s=n.delimiters,a=n.mode,o=n.tagTextProp,r=[],l=!!i&&zt(i[0],Object),d=Array.isArray(t),c=d&&t[0].value,u=function(t){return(t+"").split(s).reduce((function(t,n){var i,s=e.trim(n);return s&&t.push((Wt(i={},o,s),Wt(i,"value",s),i)),t}),[])};if("number"==typeof t&&(t=t.toString()),"string"==typeof t){if(!t.trim())return[];t=u(t)}else d&&(t=t.reduce((function(t,n){if(ut(n)){var i=ht({},n);o in i||(o="value"),i[o]=e.trim(i[o]),(i[o]||0===i[o])&&t.push(i)}else if(null!=n&&""!==n&&void 0!==n){var s;(s=t).push.apply(s,Xt(u(n)))}return t}),[]));return l&&!c&&(t.forEach((function(t){var n=r.map((function(t){return t.value})),i=e.dropdown.filterListItems.call(e,t[o],{exact:!0});e.settings.duplicates||(i=i.filter((function(t){return!n.includes(t.value)})));var s=i.length>1?e.getWhitelistItem(t[o],o,i):i[0];s&&zt(s,Object)?r.push(s):"mix"!=a&&(null==t.value&&(t.value=t[o]),r.push(t))})),r.length&&(t=r)),t},parseMixTags:function(t){var e=this,n=this.settings,i=n.mixTagsInterpolator,s=n.duplicates,a=n.transformTag,o=n.enforceWhitelist,r=n.maxTags,l=n.tagTextProp,d=[];t=t.split(i[0]).map((function(t,n){var c,u,h,g=t.split(i[1]),p=g[0],f=d.length==r;try{if(p==+p)throw Error;u=JSON.parse(p)}catch(t){u=e.normalizeTags(p)[0]||{value:p}}if(a.call(e,u),f||!(g.length>1)||o&&!e.isTagWhitelisted(u.value)||!s&&e.isTagDuplicate(u.value)){if(t)return n?i[0]+t:t}else u[c=u[l]?l:"value"]=e.trim(u[c]),h=e.createTagElem(u),d.push(u),h.classList.add(e.settings.classNames.tagNoAnimation),g[0]=h.outerHTML,e.value.push(u);return g.join("")})).join(""),this.DOM.input.innerHTML=t,this.DOM.input.appendChild(document.createTextNode("")),this.DOM.input.normalize();var c=this.getTagElms();return c.forEach((function(t,e){return Tt(t,d[e])})),this.update({withoutChangeEvent:!0}),xt(c,this.state.hasFocus),t},replaceTextWithNode:function(t,e){if(this.state.tag||e){e=e||this.state.tag.prefix+this.state.tag.value;var n,i,s=this.state.selection||window.getSelection(),a=s.anchorNode,o=this.state.tag.delimiters?this.state.tag.delimiters.length:0;return a.splitText(s.anchorOffset-o),-1==(n=a.nodeValue.lastIndexOf(e))||(i=a.splitText(n),t&&a.parentNode.replaceChild(t,i)),!0}},prepareNewTagNode:function(t,e){e=e||{};var n=this.settings,i=[],s={},a=Object.assign({},t,{value:t.value+""});if(t=Object.assign({},a),n.transformTag.call(this,t),t.__isValid=this.hasMaxTags()||this.validateTag(t),!0!==t.__isValid){if(e.skipInvalid)return;if(ht(s,this.getInvalidTagAttrs(t,t.__isValid),{__preInvalidData:a}),t.__isValid==this.TEXTS.duplicate&&this.flashTag(this.getTagElmByValue(t.value)),!n.createInvalidTags)return void i.push(t.value)}return"readonly"in t&&(t.readonly?s["aria-readonly"]=!0:delete t.readonly),{tagElm:this.createTagElem(t,s),tagData:t,aggregatedInvalidInput:i}},postProcessNewTagNode:function(t,e){var n=this,i=this.settings,s=e.__isValid;s&&!0===s?this.value.push(e):(this.trigger("invalid",{data:e,index:this.value.length,tag:t,message:s}),i.keepInvalidTags||setTimeout((function(){return n.removeTags(t,!0)}),1e3)),this.dropdown.position()},selectTag:function(t,e){var n=this;if(!this.settings.enforceWhitelist||this.isTagWhitelisted(e.value)){this.state.actions.selectOption&&setTimeout((function(){return n.setRangeAtStartEnd(!1,n.DOM.input)}));var i=this.getLastTag();return i?this.replaceTag(i,e):this.appendTag(t),this.value[0]=e,this.update(),this.trigger("add",{tag:t,data:e}),[t]}},addEmptyTag:function(t){var e=ht({value:""},t||{}),n=this.createTagElem(e);Tt(n,e),this.appendTag(n),this.editTag(n,{skipValidation:!0}),this.toggleFocusClass(!0)},addTags:function(t,e,n){var i=this,s=[],a=this.settings,o=[],r=document.createDocumentFragment(),l=[];if(!t||0==t.length)return s;switch(t=this.normalizeTags(t),a.mode){case"mix":return this.addMixTags(t);case"select":e=!1,this.removeAllTags()}return this.DOM.input.removeAttribute("style"),t.forEach((function(t){var e=i.prepareNewTagNode(t,{skipInvalid:n||a.skipInvalid});if(e){var d=e.tagElm;if(t=e.tagData,o=e.aggregatedInvalidInput,s.push(d),"select"==a.mode)return i.selectTag(d,t);r.appendChild(d),i.postProcessNewTagNode(d,t),l.push({tagElm:d,tagData:t})}})),this.appendTag(r),l.forEach((function(t){var e=t.tagElm,n=t.tagData;return i.trigger("add",{tag:e,index:i.getTagIdx(n),data:n})})),this.update(),t.length&&e&&(this.input.set.call(this,a.createInvalidTags?"":o.join(a._delimiters)),this.setRangeAtStartEnd(!1,this.DOM.input)),this.dropdown.refilter(),s},addMixTags:function(t){var e=this;if((t=this.normalizeTags(t))[0].prefix||this.state.tag)return this.prefixedTextToTag(t[0]);var n=document.createDocumentFragment();return t.forEach((function(t){var i=e.prepareNewTagNode(t);n.appendChild(i.tagElm),e.insertAfterTag(i.tagElm),e.postProcessNewTagNode(i.tagElm,i.tagData)})),this.appendMixTags(n),n.children},appendMixTags:function(t){var e=!!this.state.selection;e?this.injectAtCaret(t):(this.DOM.input.focus(),(e=this.setStateSelection()).range.setStart(this.DOM.input,e.range.endOffset),e.range.setEnd(this.DOM.input,e.range.endOffset),this.DOM.input.appendChild(t),this.updateValueByDOMTags(),this.update())},prefixedTextToTag:function(t){var e,n,i,s=this,a=this.settings,o=null===(e=this.state.tag)||void 0===e?void 0:e.delimiters;if(t.prefix=t.prefix||this.state.tag?this.state.tag.prefix:(a.pattern.source||a.pattern)[0],i=this.prepareNewTagNode(t),n=i.tagElm,this.replaceTextWithNode(n)||this.DOM.input.appendChild(n),setTimeout((function(){return n.classList.add(s.settings.classNames.tagNoAnimation)}),300),this.update(),!o){var r=this.insertAfterTag(n)||n;setTimeout(St,0,r)}return this.state.tag=null,this.postProcessNewTagNode(n,i.tagData),n},appendTag:function(t){var e=this.DOM,n=e.input;e.scope.insertBefore(t,n)},createTagElem:function(t,e){t.__tagId=mt();var n,i=ht({},t,Kt({value:ct(t.value+"")},e));return function(t){for(var e,n=document.createNodeIterator(t,NodeFilter.SHOW_TEXT,null,!1);e=n.nextNode();)e.textContent.trim()||e.parentNode.removeChild(e)}(n=this.parseTemplate("tag",[i,this])),Tt(n,t),n},reCheckInvalidTags:function(){var t=this,e=this.settings;this.getTagElms(e.classNames.tagNotAllowed).forEach((function(n,i){var s=Tt(n),a=t.hasMaxTags(),o=t.validateTag(s),r=!0===o&&!a;if("select"==e.mode&&t.toggleScopeValidation(o),r)return s=s.__preInvalidData?s.__preInvalidData:{value:s.value},t.replaceTag(n,s);n.title=a||o}))},removeTags:function(t,e,n){var i,s=this,a=this.settings;if(t=t&&zt(t,HTMLElement)?[t]:zt(t,Array)?t:t?[t]:[this.getLastTag()].filter((function(t){return t})),i=t.reduce((function(t,e){e&&"string"==typeof e&&(e=s.getTagElmByValue(e));var n=Tt(e);return e&&n&&!n.readonly&&t.push({node:e,idx:s.getTagIdx(n),data:Tt(e,{__removed:!0})}),t}),[]),n="number"==typeof n?n:this.CSSVars.tagHideTransition,"select"==a.mode&&(n=0,this.input.set.call(this)),1==i.length&&"select"!=a.mode&&i[0].node.classList.contains(a.classNames.tagNotAllowed)&&(e=!0),i.length)return a.hooks.beforeRemoveTag(i,{tagify:this}).then((function(){var t=function(t){t.node.parentNode&&(t.node.parentNode.removeChild(t.node),e?a.keepInvalidTags&&this.trigger("remove",{tag:t.node,index:t.idx}):(this.trigger("remove",{tag:t.node,index:t.idx,data:t.data}),this.dropdown.refilter(),this.dropdown.position(),this.DOM.input.normalize(),a.keepInvalidTags&&this.reCheckInvalidTags()))};n&&n>10&&1==i.length?function(e){e.node.style.width=parseFloat(window.getComputedStyle(e.node).width)+"px",document.body.clientTop,e.node.classList.add(a.classNames.tagHide),setTimeout(t.bind(this),n,e)}.call(s,i[0]):i.forEach(t.bind(s)),e||(s.removeTagsFromValue(i.map((function(t){return t.node}))),s.update(),"select"==a.mode&&a.userInput&&s.setContentEditable(!0))})).catch((function(t){}))},removeTagsFromDOM:function(){this.getTagElms().forEach((function(t){return t.remove()}))},removeTagsFromValue:function(t){var e=this;(t=Array.isArray(t)?t:[t]).forEach((function(t){var n=Tt(t),i=e.getTagIdx(n);i>-1&&e.value.splice(i,1)}))},removeAllTags:function(t){var e=this;t=t||{},this.value=[],"mix"==this.settings.mode?this.DOM.input.innerHTML="":this.removeTagsFromDOM(),this.dropdown.refilter(),this.dropdown.position(),this.state.dropdown.visible&&setTimeout((function(){e.DOM.input.focus()})),"select"==this.settings.mode&&(this.input.set.call(this),this.settings.userInput&&this.setContentEditable(!0)),this.update(t)},postUpdate:function(){this.state.blockChangeEvent=!1;var t,e,n=this.settings,i=n.classNames,s="mix"==n.mode?n.mixMode.integrated?this.DOM.input.textContent:this.DOM.originalInput.value.trim():this.value.length+this.input.raw.call(this).length;this.toggleClass(i.hasMaxTags,this.value.length>=n.maxTags),this.toggleClass(i.hasNoTags,!this.value.length),this.toggleClass(i.empty,!s),"select"==n.mode&&this.toggleScopeValidation(null===(e=this.value)||void 0===e||null===(t=e[0])||void 0===t?void 0:t.__isValid)},setOriginalInputValue:function(t){var e=this.DOM.originalInput;this.settings.mixMode.integrated||(e.value=t,e.tagifyValue=e.value,this.setPersistedData(t,"value"))},update:function(t){clearTimeout(this.debouncedUpdateTimeout),this.debouncedUpdateTimeout=setTimeout(function(){var e=this.getInputValue();this.setOriginalInputValue(e),this.settings.onChangeAfterBlur&&(t||{}).withoutChangeEvent||this.state.blockChangeEvent||this.triggerChangeEvent(),this.postUpdate()}.bind(this),100),this.events.bindOriginaInputListener.call(this,100)},getInputValue:function(){var t=this.getCleanValue();return"mix"==this.settings.mode?this.getMixedTagsAsString(t):t.length?this.settings.originalInputValueFormat?this.settings.originalInputValueFormat(t):JSON.stringify(t):""},getCleanValue:function(t){return ot(t||this.value,this.dataProps)},getMixedTagsAsString:function(){var t="",e=this,n=this.settings,i=n.originalInputValueFormat||JSON.stringify,s=n.mixTagsInterpolator;return function n(a){a.childNodes.forEach((function(a){if(1==a.nodeType){var o=Tt(a);if("BR"==a.tagName&&(t+="\r\n"),o&&vt.call(e,a)){if(o.__removed)return;t+=s[0]+i(rt(o,e.dataProps))+s[1]}else a.getAttribute("style")||["B","I","U"].includes(a.tagName)?t+=a.textContent:"DIV"!=a.tagName&&"P"!=a.tagName||(t+="\r\n",n(a))}else t+=a.textContent}))}(this.DOM.input),t}},Jt.prototype.removeTag=Jt.prototype.removeTags;class Zt{#U;#W;#z;#K;#X;#J;#Q;#G;#Y;#Z;#tt;#et;#nt;#it;#st;#at=null;constructor(t,e,n,i,s,a,o,r,l,d,c,u){this.#U=t,this.#Z=e,this.#W=n,this.#z=i,this.#K=s,this.#X=a,this.#nt=o,this.#it=u,this.#st=this.#it.innerHTML,this.#Y=r,this.#J=l,this.#Q=d,this.#G=c,this.#et=!1,this.#tt=!1,this.#W.addEventListener("input",(t=>{this.filterItemsSearch(t)})),this.#Y.addEventListener("click",(()=>{this.setFiltered(!1)})),this.#J.addEventListener("click",(()=>{this.toggleVisibility()})),"radio-field-input"===this.#z&&this.#X.forEach((t=>{t.addEventListener("change",(()=>{this.scrollListToTop()}))}))}isEngaged(){return this.#et}isFiltered(){return this.#tt}setFiltered(t){this.#tt!==t&&(this.#tt=t,t?(this.#Y.style.removeProperty("display"),this.#it.style.removeProperty("display")):(this.#W.value="",this.#Y.style.display="none",this.#it.style.display="none",this.#nt.style.display="none",this.#ot()))}toggleVisibility(){this.isEngaged()?(this.#et=!1,this.#U.classList.remove("engaged"),this.setFiltered(!1),this.#J.setAttribute("aria-expanded","false"),this.#Q.style.removeProperty("display"),this.#G.style.display="none"):(this.#et=!0,this.#U.classList.add("engaged"),this.#J.setAttribute("aria-expanded","true"),this.#Q.style.display="none",this.#G.style.removeProperty("display"))}#rt(t){this.#U.ownerDocument.defaultView.clearTimeout(this.#at),this.#at=this.#U.ownerDocument.defaultView.setTimeout((()=>{this.#it.textContent="",this.#U.ownerDocument.defaultView.requestAnimationFrame((()=>{this.#it.textContent=t}))}),500)}#lt(t){const e=$(this.#st,t);this.#rt(e)}filterItemsSearch(t){const e=t.target.value.toLowerCase();this.setFiltered(!!e);let n=0,i=!1;this.#X.forEach((t=>{t.textContent.toLowerCase().includes(e)?(n+=1,i=!0,te(t)):function(t){t.style.display="none"}(t)})),this.#lt(n.toString()),""!==e&&!1===i?this.#nt.style.removeProperty("display"):(""===e||i)&&(this.#nt.style.display="none")}#ot(){this.#X.forEach((t=>te(t)))}scrollListToTop(){this.#Z.scrollTo({top:0,behavior:"smooth"})}}function te(t){t.style.removeProperty("display")}class ee{#V=new Map;init(t){if(void 0===t)throw new TypeError("During init of an InputHasOptionFilter an undefined element was passed to the factory.");if(this.#V.has(t.id))throw new Error(`A InputHasOptionFilter with id '${t.id}' has already been initialized.`);const e=t,n=e.querySelector(".c-input--has-option-filter__field"),i=e.querySelector(".c-input--has-option-filter__search-input input"),s=e.getAttribute("data-il-ui-component"),a=e.querySelector(".c-field--has-option-filter__list"),o=a.querySelectorAll(".c-field--has-option-filter__item"),r=e.querySelector(".message-no-match"),l=e.querySelector('.c-input--has-option-filter__synopsis [role="status"]'),d=e.querySelector(".c-input--has-option-filter__clear-search"),c=e.querySelector(".c-input--has-option-filter__visibility-toggle"),u=c.querySelector(".text-expand"),h=c.querySelector(".text-collapse"),g=new Zt(t,n,i,s,a,o,r,d,c,u,h,l);return this.#V.set(t.id,g),g}get(t){return this.#V.has(t)?this.#V.get(t):null}}var ne;e.UI=e.UI||{},e.UI.Input=e.UI.Input||{},(ne=e.UI.Input).textarea=new o,ne.mustacheVariables={init:(t,e)=>function(t,e){e.querySelectorAll(".c-input--has-mustache-variables__definitions > li > a").forEach((e=>{const n=function(t){const e=t.textContent.match(/^\s*\{\{([^}]+)\}\}\s*$/);return e?e[1].trim():null}(e);e.addEventListener("click",(()=>{t.insertCharactersAroundSelection(`{{${n}}}`,"")}))}))}(t,e)},ne.markdown=new w,ne.optionFilter=new ee,ne.treeSelect=new Z(new tt(t),e.UI.menu.drilldown,{txt:t=>e.Language.txt(t)},n),ne.tagInput=ne.tag||{},ne.tagInput.init=(t,e,n,i,s)=>Yt(Jt,t,e,n,i,s)}($,il,document); diff --git a/components/ILIAS/UI/resources/js/Input/Field/src/TreeSelect/TreeMultiSelect.js b/components/ILIAS/UI/resources/js/Input/Field/src/TreeSelect/TreeMultiSelect.js deleted file mode 100644 index 97069edf2c92..000000000000 --- a/components/ILIAS/UI/resources/js/Input/Field/src/TreeSelect/TreeMultiSelect.js +++ /dev/null @@ -1,149 +0,0 @@ -/** - * This file is part of ILIAS, a powerful learning management system - * published by ILIAS open source e-Learning e.V. - * - * ILIAS is licensed with the GPL-3.0, - * see https://www.gnu.org/licenses/gpl-3.0.en.html - * You should have received a copy of said license along with the - * source code, too. - * - * If this is not the case or you just want to try ILIAS, you'll find - * us at: - * https://www.ilias.de - * https://github.com/ILIAS-eLearning - */ - -import TreeSelect from './TreeSelect.js'; -import * as CONSTANTS from './constants.js'; - -/** - * @param {TreeSelectNode} child - * @param {TreeSelectNode} parent - * @returns {boolean} - */ -function isNodeChildOf(child, parent) { - return parent.element.querySelector(`[${CONSTANTS.NODE_ID}="${child.id}"]`) !== null; -} - -/** - * @author Thibeau Fuhrer - */ -export default class TreeMultiSelect extends TreeSelect { - /** @type {boolean} */ - #canSelectChildNodes; - - /** - * @param {Map} nodeMap (node-id => node) - * @param {JQueryEventListener} jqueryEventListener - * @param {TemplateRenderer} templateRenderer - * @param {AsyncRenderer} asyncRenderer - * @param {{txt: function(string): string}} language - * @param {Drilldown} drilldownComponent - * @param {HTMLElement} breadcrumbsElement - * @param {HTMLTemplateElement} breadcrumbTemplate - * @param {HTMLUListElement} nodeSelectionElement - * @param {HTMLTemplateElement} nodeSelectionTemplate - * @param {HTMLButtonElement} dialogSelectButton - * @param {HTMLButtonElement} dialogOpenButton - * @param {HTMLDialogElement} dialogElement - * @param {boolean} canSelectChildNodes - */ - constructor( - nodeMap, - jqueryEventListener, - templateRenderer, - asyncRenderer, - language, - drilldownComponent, - breadcrumbsElement, - breadcrumbTemplate, - nodeSelectionElement, - nodeSelectionTemplate, - dialogSelectButton, - dialogOpenButton, - dialogElement, - canSelectChildNodes, - ) { - super( - nodeMap, - jqueryEventListener, - templateRenderer, - asyncRenderer, - language, - drilldownComponent, - breadcrumbsElement, - breadcrumbTemplate, - nodeSelectionElement, - nodeSelectionTemplate, - dialogSelectButton, - dialogOpenButton, - dialogElement, - ); - - this.#canSelectChildNodes = canSelectChildNodes; - } - - /** - * @inheritDoc - */ - selectNode(nodeId) { - if (!this.#canSelectChildNodes) { - // provide selection with new node-id already - const newSelection = Array.from(this.getSelection().add(nodeId)); - this.#unselectChildNodes(newSelection, this.getNodes()); - } - super.selectNode(nodeId); - } - - /** - * Updates the TreeSelectNode.selectButton state in the following manner: - * - if one or more node is selected, disable their descendant buttons and enable all others - * - if no node is selected, enable all buttons - */ - updateNodeSelectButtonStates() { - if (this.#canSelectChildNodes) { - return; - } - const nodeMap = this.getNodes(); - nodeMap.forEach((node) => { - node.selectButton.disabled = false; - node.selectButton.querySelector(CONSTANTS.GLYPH).classList.remove(CONSTANTS.DISABLED_CLASS); - }); - this.getSelection().forEach((nodeId) => { - const node = nodeMap.get(nodeId); - // ignore nodes which have not been loaded (yet) and leaf nodes - if (null === node || node.listElement === null) { - return; - } - // disable all descending select buttons - node.listElement - .querySelectorAll(CONSTANTS.NODE_SELECT_BUTTON) - .forEach((button) => { - button.disabled = true; - button.querySelector(CONSTANTS.GLYPH).classList.add(CONSTANTS.DISABLED_CLASS); - }); - }); - } - - /** - * Calls unselectNode() for each node-id which is selected in a nested manner (parent-child). - * - * @param {string[]} selection (node-ids) - * @param {Map} nodeMap (node-id => node) - */ - #unselectChildNodes(selection, nodeMap) { - for (let childIndex = 0; childIndex < selection.length; childIndex += 1) { - for (let parentIndex = 0; parentIndex < selection.length; parentIndex += 1) { - const parentNodeId = selection[parentIndex]; - const childNodeId = selection[childIndex]; - // skip same index or if one of both node-ids does not (yet) exist. - if (childIndex === parentIndex || !nodeMap.has(childNodeId) || !nodeMap.has(parentNodeId)) { - continue; - } - if (isNodeChildOf(nodeMap.get(childNodeId), nodeMap.get(parentNodeId))) { - this.unselectNode(childNodeId); - } - } - } - } -} diff --git a/components/ILIAS/UI/resources/js/Input/Field/src/TreeSelect/TreeSelect.js b/components/ILIAS/UI/resources/js/Input/Field/src/TreeSelect/TreeSelect.js index 9ac7e525ea5b..31bcefecdf12 100644 --- a/components/ILIAS/UI/resources/js/Input/Field/src/TreeSelect/TreeSelect.js +++ b/components/ILIAS/UI/resources/js/Input/Field/src/TreeSelect/TreeSelect.js @@ -111,6 +111,9 @@ export default class TreeSelect { /** @type {HTMLDialogElement} */ #dialogElement; + /** @type {function(TreeSelect): void} */ + #selectionHandler; + /** * @param {Map} nodeMap (node-id => node) * @param {JQueryEventListener} jqueryEventListener @@ -125,6 +128,7 @@ export default class TreeSelect { * @param {HTMLButtonElement} dialogSelectButton * @param {HTMLButtonElement} dialogOpenButton * @param {HTMLDialogElement} dialogElement + * @param {function(TreeSelect): void} selectionHandler */ constructor( nodeMap, @@ -140,6 +144,7 @@ export default class TreeSelect { dialogSelectButton, dialogOpenButton, dialogElement, + selectionHandler, ) { this.#nodeMap = nodeMap; this.#templateRenderer = templateRenderer; @@ -153,6 +158,7 @@ export default class TreeSelect { this.#dialogSelectButton = dialogSelectButton; this.#dialogOpenButton = dialogOpenButton; this.#dialogElement = dialogElement; + this.#selectionHandler = selectionHandler; jqueryEventListener.on( this.#dialogElement.ownerDocument, @@ -168,13 +174,6 @@ export default class TreeSelect { this.#closeDialog(); }); }); - this.#nodeSelectionElement - .querySelectorAll('li') - .forEach((entry) => { - const nodeId = getNodeIdOrAbort(entry); - this.#addRemoveNodeSelectionEntryClickHandler(entry, nodeId); - this.#addNodeSelectionId(nodeId); - }); this.#drilldownComponent.addEngageListener((drilldownLevel) => { this.#engageDrilldownLevelHandler(drilldownLevel); }); @@ -184,7 +183,16 @@ export default class TreeSelect { this.#nodeMap.forEach((node) => { this.#hydrateNode(node); }); + this.#nodeSelectionElement + .querySelectorAll('li') + .forEach((entry) => { + const nodeId = getNodeIdOrAbort(entry); + this.#addRemoveNodeSelectionEntryClickHandler(entry, nodeId); + this.selectNode(nodeId); + }); + // trigger drilldown engage listenerfor already engaged level once. + this.#engageDrilldownLevelHandler(this.#drilldownComponent.getCurrentLevel()); this.#updateDialogSelectButton(); } @@ -195,13 +203,13 @@ export default class TreeSelect { this.#removeNodeSelectionId(nodeId); this.#updateDialogSelectButton(); this.#removeNodeSelectionEntry(nodeId); - // check in case the node was not yet loaded (async). + // check in case the node does not exist anymore (Input::withValue()). if (this.#nodeMap.has(nodeId)) { const node = this.#nodeMap.get(nodeId); toggleSelectedNodeElementClass(node.element, false); this.#changeNodeSelectButtonToSelect(node.selectButton, node.name); - this.updateNodeSelectButtonStates(); } + this.#selectionHandler(this); } /** @@ -210,37 +218,29 @@ export default class TreeSelect { selectNode(nodeId) { this.#addNodeSelectionId(nodeId); this.#updateDialogSelectButton(); - // check in case the node was not yet loaded (async). + // check in case the node does not exist anymore (Input::withValue()). if (this.#nodeMap.has(nodeId)) { const node = this.#nodeMap.get(nodeId); toggleSelectedNodeElementClass(node.element, true); this.#changeNodeSelectButtonToUnselect(node.selectButton, node.name); this.#renderNodeSelectionEntry(node); - this.updateNodeSelectButtonStates(); } + this.#selectionHandler(this); } /** - * Updates the TreeSelectNode.selectButton state in the following manner: - * - if no node is selected, enable all buttons - * - if a node is selected, disable all other buttons + * @param {string} nodeId */ - updateNodeSelectButtonStates() { - this.#nodeMap.forEach((node, nodeId) => { - if (this.#nodeSelectionSet.size > 0) { - node.selectButton.disabled = !this.#nodeSelectionSet.has(nodeId); - node.selectButton.querySelector(CONSTANTS.GLYPH).classList.toggle( - CONSTANTS.DISABLED_CLASS, - !this.#nodeSelectionSet.has(nodeId), - ); - } else { - node.selectButton.disabled = false; - node.selectButton.querySelector(CONSTANTS.GLYPH).classList.toggle( - CONSTANTS.DISABLED_CLASS, - false, - ); - } - }); + engageNode(nodeId) { + if (!this.#nodeMap.has(nodeId)) { + return; + } + const parentLevel = this.#nodeMap.get(nodeId).drilldownParentLevel; + if (this.#drilldownComponent.getCurrentLevel() !== parentLevel + && this.#drilldownComponent.getParentLevel() !== parentLevel + ) { + this.#drilldownComponent.engageLevel(parentLevel); + } } /** @@ -362,20 +362,12 @@ export default class TreeSelect { if (engagedNodeId === null || !this.#nodeMap.has(engagedNodeId)) { throw new Error(`Could not find node for drilldown-level '${drilldownLevel}'.`); } + const node = this.#nodeMap.get(engagedNodeId); this.#removeAllBreadcrumbs(); - this.#renderAllBreadcrumbs(this.#nodeMap.get(engagedNodeId)); - } - - /** - * @param {HTMLButtonElement} button - * @param {TreeSelectNode} node - */ - #addNodeDrilldownButtonClickHandler(button, node) { - button.addEventListener('click', () => { - if (node.renderUrl !== null) { - this.#renderAsyncNodeChildren(node); - } - }); + this.#renderAllBreadcrumbs(node); + if (node.renderUrl !== null) { + this.#renderAsyncNodeChildren(node); + } } /** @@ -436,9 +428,6 @@ export default class TreeSelect { */ #hydrateNode(node) { this.#addNodeSelectButtonClickHandler(node.selectButton, node); - if (node.drilldownButton !== null) { - this.#addNodeDrilldownButtonClickHandler(node.drilldownButton, node); - } } /** diff --git a/components/ILIAS/UI/resources/js/Input/Field/src/TreeSelect/TreeSelectFactory.js b/components/ILIAS/UI/resources/js/Input/Field/src/TreeSelect/TreeSelectFactory.js index 418a83b6a821..8f7bc555bda3 100644 --- a/components/ILIAS/UI/resources/js/Input/Field/src/TreeSelect/TreeSelectFactory.js +++ b/components/ILIAS/UI/resources/js/Input/Field/src/TreeSelect/TreeSelectFactory.js @@ -14,10 +14,13 @@ */ import TreeSelect from './TreeSelect.js'; -import TreeMultiSelect from './TreeMultiSelect.js'; import TemplateRenderer from '../../../../Core/src/TemplateRenderer.js'; import AsyncRenderer from '../../../../Core/src/AsyncRenderer.js'; +import updateSingleSelectButtonStates from './updateSingleSelectButtonStates.js'; +import updateMultiSelectButtonStates from './updateMultiSelectButtonStates.js'; +import engageParentDrilldownLevel from './engageParentDrilldownLevel.js'; import createTreeSelectNodes from './createTreeSelectNodes.js'; +import unselectChildNodes from './unselectChildNodes.js'; import * as CONSTANTS from './constants.js'; /** @@ -28,6 +31,30 @@ function getNodeElements(element) { return Array.from(element.querySelectorAll(CONSTANTS.NODE)); } +/** + * @returns {function(TreeSelect): void} + */ +function getSingleSelectionHandler() { + return (treeSelectComponent) => { + updateSingleSelectButtonStates(treeSelectComponent); + engageParentDrilldownLevel(treeSelectComponent); + }; +} + +/** + * @param {boolean} canSelectSubNodes + * @returns {function(TreeSelect): void} + */ +function getMultiSelectionHandler(canSelectSubNodes) { + if (canSelectSubNodes) { + return () => {}; + } + return (treeSelectComponent) => { + unselectChildNodes(treeSelectComponent); + updateMultiSelectButtonStates(treeSelectComponent); + }; +} + /** * @author Thibeau Fuhrer */ @@ -88,7 +115,7 @@ export default class TreeSelectFactory { const drilldownComponent = this.#getDrilldown(treeSelectElement); - const treeMultiSelect = new TreeMultiSelect( + const treeMultiSelect = new TreeSelect( createTreeSelectNodes(getNodeElements(dialogElement)), this.#jqueryEventListener, new TemplateRenderer(this.#document), @@ -102,7 +129,7 @@ export default class TreeSelectFactory { dialogSelectButton, dialogOpenButton, dialogElement, - canSelectChildNodes, + getMultiSelectionHandler(canSelectChildNodes), ); this.#instances.set(inputId, treeMultiSelect); @@ -146,6 +173,7 @@ export default class TreeSelectFactory { dialogSelectButton, dialogOpenButton, dialogElement, + getSingleSelectionHandler(), ); this.#instances.set(inputId, treeSelect); diff --git a/components/ILIAS/UI/resources/js/Input/Field/src/TreeSelect/engageParentDrilldownLevel.js b/components/ILIAS/UI/resources/js/Input/Field/src/TreeSelect/engageParentDrilldownLevel.js new file mode 100644 index 000000000000..0544f728773b --- /dev/null +++ b/components/ILIAS/UI/resources/js/Input/Field/src/TreeSelect/engageParentDrilldownLevel.js @@ -0,0 +1,29 @@ +/** + * This file is part of ILIAS, a powerful learning management system + * published by ILIAS open source e-Learning e.V. + * + * ILIAS is licensed with the GPL-3.0, + * see https://www.gnu.org/licenses/gpl-3.0.en.html + * You should have received a copy of said license along with the + * source code, too. + * + * If this is not the case or you just want to try ILIAS, you'll find + * us at: + * https://www.ilias.de + * https://github.com/ILIAS-eLearning + * + * @author Thibeau Fuhrer + */ + +/** + * @param {TreeSelect} treeSelectComponent + */ +export default function engageParentDrilldownLevel(treeSelectComponent) { + const nodeSelectionSet = treeSelectComponent.getSelection(); + if (nodeSelectionSet.size === 1) { + const nodeId = nodeSelectionSet.values()?.next()?.value; + if (treeSelectComponent.getNodes().has(nodeId)) { + treeSelectComponent.engageNode(nodeId); + } + } +} diff --git a/components/ILIAS/UI/resources/js/Input/Field/src/TreeSelect/unselectChildNodes.js b/components/ILIAS/UI/resources/js/Input/Field/src/TreeSelect/unselectChildNodes.js new file mode 100644 index 000000000000..d7a10d8e8c65 --- /dev/null +++ b/components/ILIAS/UI/resources/js/Input/Field/src/TreeSelect/unselectChildNodes.js @@ -0,0 +1,51 @@ +/** + * This file is part of ILIAS, a powerful learning management system + * published by ILIAS open source e-Learning e.V. + * + * ILIAS is licensed with the GPL-3.0, + * see https://www.gnu.org/licenses/gpl-3.0.en.html + * You should have received a copy of said license along with the + * source code, too. + * + * If this is not the case or you just want to try ILIAS, you'll find + * us at: + * https://www.ilias.de + * https://github.com/ILIAS-eLearning + * + * @author Thibeau Fuhrer + */ + +import * as CONSTANTS from './constants.js'; + +/** + * @param {TreeSelectNode} child + * @param {TreeSelectNode} parent + * @returns {boolean} + */ +function isNodeChildOf(child, parent) { + return parent.element.querySelector(`[${CONSTANTS.NODE_ID}="${child.id}"]`) !== null; +} + +/** + * Calls unselectNode() for each node-id which is selected in a nested manner (parent-child). + * + * @param {TreeSelect} treeSelectComponent + */ +export default function unselectChildNodes(treeSelectComponent) { + const selection = Array.from(treeSelectComponent.getSelection()); + const nodeMap = treeSelectComponent.getNodes(); + for (let childIndex = 0; childIndex < selection.length; childIndex += 1) { + for (let parentIndex = 0; parentIndex < selection.length; parentIndex += 1) { + const parentNodeId = selection[parentIndex]; + const childNodeId = selection[childIndex]; + // ignore same index and if one of both node-ids does not (yet) exist. + if (childIndex !== parentIndex + && nodeMap.has(childNodeId) + && nodeMap.has(parentNodeId) + && isNodeChildOf(nodeMap.get(childNodeId), nodeMap.get(parentNodeId)) + ) { + treeSelectComponent.unselectNode(childNodeId); + } + } + } +} diff --git a/components/ILIAS/UI/resources/js/Input/Field/src/TreeSelect/updateMultiSelectButtonStates.js b/components/ILIAS/UI/resources/js/Input/Field/src/TreeSelect/updateMultiSelectButtonStates.js new file mode 100644 index 000000000000..afcdbabcd882 --- /dev/null +++ b/components/ILIAS/UI/resources/js/Input/Field/src/TreeSelect/updateMultiSelectButtonStates.js @@ -0,0 +1,48 @@ +/** + * This file is part of ILIAS, a powerful learning management system + * published by ILIAS open source e-Learning e.V. + * + * ILIAS is licensed with the GPL-3.0, + * see https://www.gnu.org/licenses/gpl-3.0.en.html + * You should have received a copy of said license along with the + * source code, too. + * + * If this is not the case or you just want to try ILIAS, you'll find + * us at: + * https://www.ilias.de + * https://github.com/ILIAS-eLearning + * + * @author Thibeau Fuhrer + */ + +import * as CONSTANTS from './constants.js'; + +/** + * Updates the TreeSelectNode.selectButton state in the following manner: + * - if one or more nodes are selected, disable their descendant buttons and enable all others + * - if no node is selected, enable all buttons + * + * @param {TreeSelect} treeSelectComponent + */ +export default function updateMultiSelectButtonStates(treeSelectComponent) { + const nodeMap = treeSelectComponent.getNodes(); + const nodeSelectionSet = treeSelectComponent.getSelection(); + nodeMap.forEach((node) => { + node.selectButton.disabled = false; + node.selectButton.querySelector(CONSTANTS.GLYPH).classList.remove(CONSTANTS.DISABLED_CLASS); + }); + nodeSelectionSet.forEach((nodeId) => { + const node = nodeMap.get(nodeId); + // ignore nodes which have not been loaded (yet) and leaf nodes + if (node === null || node.listElement === null) { + return; + } + // disable all descending select buttons + node.listElement + .querySelectorAll(CONSTANTS.NODE_SELECT_BUTTON) + .forEach((button) => { + button.disabled = true; + button.querySelector(CONSTANTS.GLYPH).classList.add(CONSTANTS.DISABLED_CLASS); + }); + }); +} diff --git a/components/ILIAS/UI/resources/js/Input/Field/src/TreeSelect/updateSingleSelectButtonStates.js b/components/ILIAS/UI/resources/js/Input/Field/src/TreeSelect/updateSingleSelectButtonStates.js new file mode 100644 index 000000000000..3c208ab76662 --- /dev/null +++ b/components/ILIAS/UI/resources/js/Input/Field/src/TreeSelect/updateSingleSelectButtonStates.js @@ -0,0 +1,45 @@ +/** + * This file is part of ILIAS, a powerful learning management system + * published by ILIAS open source e-Learning e.V. + * + * ILIAS is licensed with the GPL-3.0, + * see https://www.gnu.org/licenses/gpl-3.0.en.html + * You should have received a copy of said license along with the + * source code, too. + * + * If this is not the case or you just want to try ILIAS, you'll find + * us at: + * https://www.ilias.de + * https://github.com/ILIAS-eLearning + * + * @author Thibeau Fuhrer + */ + +import * as CONSTANTS from './constants.js'; + +/** + * Updates the TreeSelectNode.selectButton state in the following manner: + * - if no node is selected, enable all buttons + * - if a node is selected, disable all other buttons + * + * @param {TreeSelect} treeSelectComponent + */ +export default function updateSingleSelectButtonStates(treeSelectComponent) { + const nodeMap = treeSelectComponent.getNodes(); + const nodeSelectionSet = treeSelectComponent.getSelection(); + nodeMap.forEach((node, nodeId) => { + if (nodeSelectionSet.size > 0) { + node.selectButton.disabled = !nodeSelectionSet.has(nodeId); + node.selectButton.querySelector(CONSTANTS.GLYPH).classList.toggle( + CONSTANTS.DISABLED_CLASS, + !nodeSelectionSet.has(nodeId), + ); + } else { + node.selectButton.disabled = false; + node.selectButton.querySelector(CONSTANTS.GLYPH).classList.toggle( + CONSTANTS.DISABLED_CLASS, + false, + ); + } + }); +} diff --git a/components/ILIAS/UI/resources/js/Menu/dist/drilldown.min.js b/components/ILIAS/UI/resources/js/Menu/dist/drilldown.min.js index c7e1c5b4e43f..e71dc3342fc8 100644 --- a/components/ILIAS/UI/resources/js/Menu/dist/drilldown.min.js +++ b/components/ILIAS/UI/resources/js/Menu/dist/drilldown.min.js @@ -12,4 +12,4 @@ * https://www.ilias.de * https://github.com/ILIAS-eLearning */ -!function(e,t,s){"use strict";class i{#e=new Set;#t;#s;#i;#l;constructor(e,t,s,i,l,n){this.#t=s,this.#s=i,this.#i=l,this.#l=n,e.on(t,this.#l,(()=>{this.#n()})),this.#i.maybeAddFilterHandler((e=>{"Tab"!==e.key&&"Shift"!==e.key&&this.#r(e)})),this.parseLevels(),this.engageLevel(this.#t.read())}parseLevels(){this.#i.parseLevel(((e,t,s,i,l)=>this.#s.addLevel(e,t,s,i,l)),((e,t)=>this.#s.buildLeaf(e,t)),(e=>{this.engageLevel(e)}))}removeEngageListener(e){this.#e.has(e)&&this.#e.delete(e)}addEngageListener(e){this.#e.has(e)||this.#e.add(e)}getBackSignal(){return this.#l}engageLevel(e){this.#s.engageLevel(e),this.#a(),this.#e.forEach((t=>{t(e)}))}#r(e){this.#s.engageLevel(0),this.#s.filter(e),this.#i.setFiltered(this.#s.getFiltered()),e.target.focus()}#n(){this.#s.upLevel(),this.engageLevel(this.#s.getCurrent().id)}#a(){const e=this.#s.getCurrent(),t=this.#s.getParent();let s=2;null===e.parent?s=0:"0"===e.parent&&(s=1),this.#i.setEngaged(e.id),this.#t.store(e.id),this.#i.setHeader(e.headerDisplayElement,t.headerDisplayElement),this.#i.setHeaderBacknav(s),this.#i.correctRightColumnPositionAndHeight(e.id)}}class l{#d="level_id";#h;constructor(e){this.#h=e}#c(){return this.#h}read(){return this.#h.items[this.#d]??0}store(e){this.#h.add(this.#d,e),this.#h.store()}}class n{#o={id:null,parent:null,engaged:!1,headerDisplayElement:"",leaves:[]};#E={index:null,text:null,filtered:!1};#u=[];#g(e,t,s,i){const l={...this.#o};return l.id=e,l.parent=s,l.headerDisplayElement=t,l.leaves=i,l}buildLeaf(e,t){const s={...this.#E};return s.index=e,s.text=t,s}addLevel(e,t,s,i=null){let l=i;if(null===l){l=this.#u.length.toString();const i=this.#g(l,e,t,s);this.#u[i.id]=i}else this.#u[l].leaves=s;return this.#u[l]}engageLevel(e){this.#u.forEach((t=>{t.engaged=t.id===e}))}getLevel(e){const t=this.#u.find((t=>t.id===e));return t||null}getCurrent(){const e=this.#u.find((e=>e.engaged));return void 0!==e?e:this.#u[0]}getParent(){const e=this.getCurrent();return e.parent?this.getLevel(e.parent):{}}upLevel(){const e=this.getCurrent();e.parent&&this.engageLevel(this.getLevel(e.parent).id)}#m(e){null!==e&&0!==e||(this.#u[e].filtered=!1,null!==this.#u[e].parent&&0!==this.#u[e].parent&&this.#m(this.#u[e].parent))}filter(e){const t=e.target.value.toLowerCase();this.#u.forEach((e=>{e.leaves.forEach((e=>{const s=e;""!==t?!1!==s.text.toLowerCase().includes(t)?s.filtered=!1:s.filtered=!0:s.filtered=!1}))}))}getFiltered(){const e=[];return this.#u.forEach((t=>{const s=t.leaves.filter((e=>e.filtered));if(s.length>0){const i=this.#g(t.id,t.headerDisplayElement,t.parent,[...s]);e.push(i)}})),e}}function r(e,t){for(let s=0;s input`)?.addEventListener("keyup",e)}parseLevel(e,t,s){r(this.#_().querySelectorAll(this.#L.LIST_TAG),(i=>{const l=i.getAttribute(this.#L.ID_ATTRIBUTE),n=e(this.#f(i),this.#I(i),this.#A(i,t),l);null===l&&(this.#y(i,n.id),this.registerHandler(i,s,n.id),this.#v.levels[n.id]=i)}))}#y(e,t){e.setAttribute(this.#L.ID_ATTRIBUTE,t)}#f(e){const t=e.parentElement.querySelector(`:scope > .${this.#L.HEADER_ELEMENT}`);if(null===t)return null;let s=null;return s=this.#p.createElement("h2"),s.textContent=t.innerText,s}#I(e){return e.parentElement.parentElement.getAttribute(this.#L.ID_ATTRIBUTE)}#A(e,t){const s=e.querySelectorAll(`:scope >.${this.#L.MENU_LEAF}`),i=[];return r(s,((e,s)=>{i.push(t(s,e.firstElementChild.innerText))})),i}registerHandler(e,t,s){const i=e.parentElement.querySelector(`:scope > .${this.#L.HEADER_ELEMENT}`);null!==i&&i.addEventListener("click",(()=>{t(s)}))}setEngaged(e){this.#v.dd.querySelector(`.${this.#L.ACTIVE}`)?.classList.remove(`${this.#L.ACTIVE}`),this.#v.dd.querySelector(`.${this.#L.ACTIVE_ITEM}`)?.classList.remove(`${this.#L.ACTIVE_ITEM}`),this.#v.dd.querySelector(`.${this.#L.ACTIVE_PARENT}`)?.classList.remove(`${this.#L.ACTIVE_PARENT}`);const t=this.#v.levels[e];t.classList.add(this.#L.ACTIVE);const s=t.parentElement.parentElement;"UL"===s.nodeName?(t.parentElement.classList.add(this.#L.ACTIVE_ITEM),s.classList.add(this.#L.ACTIVE_PARENT)):t.classList.add(this.#L.ACTIVE_PARENT);const i=this.#v.levels[e].querySelector(":scope > li")?.firstElementChild;i?.focus()}setFiltered(e){const t=this.#v.dd.querySelectorAll(`${this.#L.LIST_TAG}`),s=this.#v.dd.querySelectorAll(`.${this.#L.MENU_LEAF}`),i=e.map((e=>e.id)),l=this.#v.dd.querySelectorAll(`.${this.#L.MENU} > ul > .${this.#L.MENU_BRANCH}`);if(this.#v.levels.forEach((e=>{const t=e;t.style.removeProperty("top"),t.style.removeProperty("height")})),s.forEach((e=>{e.classList.remove(this.#L.FILTERED)})),0===e.length)return this.#v.dd.classList.remove(this.#L.MENU_FILTERED),l.forEach((e=>{const t=e;t.firstElementChild.disabled=!1,t.classList.remove(this.#L.FILTERED)})),void this.correctRightColumnPositionAndHeight("0");this.setEngaged(0),this.#v.dd.classList.add(this.#L.MENU_FILTERED),l.forEach((e=>{const t=e;t.firstElementChild.disabled=!0,t.classList.remove(this.#L.FILTERED)})),i.forEach(((s,i)=>{const[l]=[...t].filter((e=>e.getAttribute(this.#L.ID_ATTRIBUTE)===s)),n=l.querySelectorAll(`:scope >.${this.#L.MENU_LEAF}`);e[i].leaves.forEach((e=>n[e.index].classList.add(this.#L.FILTERED)))})),l.forEach((e=>{if(0===e.querySelectorAll(`.${this.#L.MENU_LEAF}:not(.${this.#L.FILTERED})`).length){e.classList.add(this.#L.FILTERED)}}))}setHeader(e,t){this.#v.header.children[1].replaceWith(this.#p.createElement("div")),null!==e?(this.#v.header.firstElementChild.replaceWith(e),null!==t&&this.#v.header.children[1].replaceWith(t)):this.#v.header.firstElementChild.replaceWith(this.#p.createElement("div"))}setHeaderBacknav(e){this.#v.header.classList.remove(this.#L.WITH_BACKLINK_TWO_COL),this.#v.header.classList.remove(this.#L.WITH_BACKLINK_ONE_COL),0!==e&&(e>1&&this.#v.header.classList.add(this.#L.WITH_BACKLINK_TWO_COL),this.#v.header.classList.add(this.#L.WITH_BACKLINK_ONE_COL))}correctRightColumnPositionAndHeight(e){let t=this.#v.levels[e];const s=this.#v.dd.querySelector(`.${this.#L.MENU}`),i=this.#v.dd.querySelector(`.${this.#L.MENU}`).offsetHeight;if(0!==i)this.#v.levels.forEach((e=>{const t=e;t.style.removeProperty("top"),t.style.removeProperty("height")})),"0"===e&&(t=t.querySelector(`:scope > .${this.#L.MENU_BRANCH} > ul`)),0!==t.offsetHeight&&(t.style.top=`-${t.offsetTop}px`,t.style.height=`${i}px`);else{const t=new this.#T((i=>{i[0].target.offsetHeight>0&&(this.correctRightColumnPositionAndHeight(e),t.unobserve(s))}));t.observe(s)}}}s.UI=s.UI||{},s.UI.menu=s.UI.menu||{},s.UI.menu.drilldown=new class{#C=[];#p;#T;#N;#R;constructor(e,t,s,i){this.#N=e,this.#T=t,this.#p=s,this.#R=i}init(e,t,s){if(void 0!==this.#C[e])throw new Error(`Drilldown with id '${e}' has already been initialized.`);null!==this.#p.getElementById(e)&&(this.#C[e]=new i(this.#N,this.#p,new l(new this.#R.Utilities.CookieStorage(s)),new n,new a(this.#p,this.#T,e),t))}getInstance(e){return void 0!==this.#C[e]?this.#C[e]:null}}(new class{#S;constructor(e){this.#S=e}on(e,t,s){this.#S(e).on(t,s)}off(e,t,s){this.#S(e).off(t,s)}}(t),e.defaultView.ResizeObserver,e,s)}(document,$,il); +!function(e,t,s){"use strict";class i{#e=new Set;#t;#s;#i;#l;constructor(e,t,s,i,l,r){this.#t=s,this.#s=i,this.#i=l,this.#l=r,e.on(t,this.#l,(()=>{this.#r()})),this.#i.maybeAddFilterHandler((e=>{"Tab"!==e.key&&"Shift"!==e.key&&this.#n(e)})),this.parseLevels(),this.engageLevel(this.#t.read())}parseLevels(){this.#i.parseLevel(((e,t,s,i,l)=>this.#s.addLevel(e,t,s,i,l)),((e,t)=>this.#s.buildLeaf(e,t)),(e=>{this.engageLevel(e)}))}removeEngageListener(e){this.#e.has(e)&&this.#e.delete(e)}addEngageListener(e){this.#e.has(e)||this.#e.add(e)}getBackSignal(){return this.#l}engageLevel(e){this.#s.engageLevel(e),this.#a(),this.#e.forEach((t=>{t(e)}))}getParentLevel(){return this.#s.getCurrent()?.parent??null}getCurrentLevel(){return this.#s.getCurrent().id}#n(e){this.#s.engageLevel(0),this.#s.filter(e),this.#i.setFiltered(this.#s.getFiltered()),e.target.focus()}#r(){this.#s.upLevel(),this.engageLevel(this.#s.getCurrent().id)}#a(){const e=this.#s.getCurrent(),t=this.#s.getParent();let s=2;null===e.parent?s=0:"0"===e.parent&&(s=1),this.#i.setEngaged(e.id),this.#t.store(e.id),this.#i.setHeader(e.headerDisplayElement,t.headerDisplayElement),this.#i.setHeaderBacknav(s),this.#i.correctRightColumnPositionAndHeight(e.id)}}class l{#d="level_id";#h;constructor(e){this.#h=e}#c(){return this.#h}read(){return this.#h.items[this.#d]??"0"}store(e){this.#h.add(this.#d,e),this.#h.store()}}class r{#o={id:null,parent:null,engaged:!1,headerDisplayElement:"",leaves:[]};#E={index:null,text:null,filtered:!1};#u=[];#g(e,t,s,i){const l={...this.#o};return l.id=e,l.parent=s,l.headerDisplayElement=t,l.leaves=i,l}buildLeaf(e,t){const s={...this.#E};return s.index=e,s.text=t,s}addLevel(e,t,s,i=null){let l=i;if(null===l){l=this.#u.length.toString();const i=this.#g(l,e,t,s);this.#u[i.id]=i}else this.#u[l].leaves=s;return this.#u[l]}engageLevel(e){this.#u.forEach((t=>{t.engaged=t.id===e}))}getLevel(e){const t=this.#u.find((t=>t.id===e));return t||null}getCurrent(){const e=this.#u.find((e=>e.engaged));return void 0!==e?e:this.#u[0]}getParent(){const e=this.getCurrent();return e.parent?this.getLevel(e.parent):{}}upLevel(){const e=this.getCurrent();e.parent&&this.engageLevel(this.getLevel(e.parent).id)}#m(e){null!==e&&0!==e||(this.#u[e].filtered=!1,null!==this.#u[e].parent&&0!==this.#u[e].parent&&this.#m(this.#u[e].parent))}filter(e){const t=e.target.value.toLowerCase();this.#u.forEach((e=>{e.leaves.forEach((e=>{const s=e;""!==t?!1!==s.text.toLowerCase().includes(t)?s.filtered=!1:s.filtered=!0:s.filtered=!1}))}))}getFiltered(){const e=[];return this.#u.forEach((t=>{const s=t.leaves.filter((e=>e.filtered));if(s.length>0){const i=this.#g(t.id,t.headerDisplayElement,t.parent,[...s]);e.push(i)}})),e}}function n(e,t){for(let s=0;s input`)?.addEventListener("keyup",e)}parseLevel(e,t,s){n(this.#_().querySelectorAll(this.#L.LIST_TAG),(i=>{const l=i.getAttribute(this.#L.ID_ATTRIBUTE),r=e(this.#f(i),this.#I(i),this.#A(i,t),l);null===l&&(this.#y(i,r.id),this.registerHandler(i,s,r.id),this.#v.levels[r.id]=i)}))}#y(e,t){e.setAttribute(this.#L.ID_ATTRIBUTE,t)}#f(e){const t=e.parentElement.querySelector(`:scope > .${this.#L.HEADER_ELEMENT}`);if(null===t)return null;let s=null;return s=this.#p.createElement("h2"),s.textContent=t.innerText,s}#I(e){return e.parentElement.parentElement.getAttribute(this.#L.ID_ATTRIBUTE)}#A(e,t){const s=e.querySelectorAll(`:scope >.${this.#L.MENU_LEAF}`),i=[];return n(s,((e,s)=>{i.push(t(s,e.firstElementChild.innerText))})),i}registerHandler(e,t,s){const i=e.parentElement.querySelector(`:scope > .${this.#L.HEADER_ELEMENT}`);null!==i&&i.addEventListener("click",(()=>{t(s)}))}setEngaged(e){this.#v.dd.querySelector(`.${this.#L.ACTIVE}`)?.classList.remove(`${this.#L.ACTIVE}`),this.#v.dd.querySelector(`.${this.#L.ACTIVE_ITEM}`)?.classList.remove(`${this.#L.ACTIVE_ITEM}`),this.#v.dd.querySelector(`.${this.#L.ACTIVE_PARENT}`)?.classList.remove(`${this.#L.ACTIVE_PARENT}`);const t=this.#v.levels[e];t.classList.add(this.#L.ACTIVE);const s=t.parentElement.parentElement;"UL"===s.nodeName?(t.parentElement.classList.add(this.#L.ACTIVE_ITEM),s.classList.add(this.#L.ACTIVE_PARENT)):t.classList.add(this.#L.ACTIVE_PARENT);const i=this.#v.levels[e].querySelector(":scope > li")?.firstElementChild;i?.focus()}setFiltered(e){const t=this.#v.dd.querySelectorAll(`${this.#L.LIST_TAG}`),s=this.#v.dd.querySelectorAll(`.${this.#L.MENU_LEAF}`),i=e.map((e=>e.id)),l=this.#v.dd.querySelectorAll(`.${this.#L.MENU} > ul > .${this.#L.MENU_BRANCH}`);if(this.#v.levels.forEach((e=>{const t=e;t.style.removeProperty("top"),t.style.removeProperty("height")})),s.forEach((e=>{e.classList.remove(this.#L.FILTERED)})),0===e.length)return this.#v.dd.classList.remove(this.#L.MENU_FILTERED),l.forEach((e=>{const t=e;t.firstElementChild.disabled=!1,t.classList.remove(this.#L.FILTERED)})),void this.correctRightColumnPositionAndHeight("0");this.setEngaged(0),this.#v.dd.classList.add(this.#L.MENU_FILTERED),l.forEach((e=>{const t=e;t.firstElementChild.disabled=!0,t.classList.remove(this.#L.FILTERED)})),i.forEach(((s,i)=>{const[l]=[...t].filter((e=>e.getAttribute(this.#L.ID_ATTRIBUTE)===s)),r=l.querySelectorAll(`:scope >.${this.#L.MENU_LEAF}`);e[i].leaves.forEach((e=>r[e.index].classList.add(this.#L.FILTERED)))})),l.forEach((e=>{if(0===e.querySelectorAll(`.${this.#L.MENU_LEAF}:not(.${this.#L.FILTERED})`).length){e.classList.add(this.#L.FILTERED)}}))}setHeader(e,t){this.#v.header.children[1].replaceWith(this.#p.createElement("div")),null!==e?(this.#v.header.firstElementChild.replaceWith(e),null!==t&&this.#v.header.children[1].replaceWith(t)):this.#v.header.firstElementChild.replaceWith(this.#p.createElement("div"))}setHeaderBacknav(e){this.#v.header.classList.remove(this.#L.WITH_BACKLINK_TWO_COL),this.#v.header.classList.remove(this.#L.WITH_BACKLINK_ONE_COL),0!==e&&(e>1&&this.#v.header.classList.add(this.#L.WITH_BACKLINK_TWO_COL),this.#v.header.classList.add(this.#L.WITH_BACKLINK_ONE_COL))}correctRightColumnPositionAndHeight(e){let t=this.#v.levels[e];const s=this.#v.dd.querySelector(`.${this.#L.MENU}`),i=this.#v.dd.querySelector(`.${this.#L.MENU}`).offsetHeight;if(0!==i)this.#v.levels.forEach((e=>{const t=e;t.style.removeProperty("top"),t.style.removeProperty("height")})),"0"===e&&(t=t.querySelector(`:scope > .${this.#L.MENU_BRANCH} > ul`)),0!==t.offsetHeight&&(t.style.top=`-${t.offsetTop}px`,t.style.height=`${i}px`);else{const t=new this.#T((i=>{i[0].target.offsetHeight>0&&(this.correctRightColumnPositionAndHeight(e),t.unobserve(s))}));t.observe(s)}}}s.UI=s.UI||{},s.UI.menu=s.UI.menu||{},s.UI.menu.drilldown=new class{#C=[];#p;#T;#N;#R;constructor(e,t,s,i){this.#N=e,this.#T=t,this.#p=s,this.#R=i}init(e,t,s){if(void 0!==this.#C[e])throw new Error(`Drilldown with id '${e}' has already been initialized.`);null!==this.#p.getElementById(e)&&(this.#C[e]=new i(this.#N,this.#p,new l(new this.#R.Utilities.CookieStorage(s)),new r,new a(this.#p,this.#T,e),t))}getInstance(e){return void 0!==this.#C[e]?this.#C[e]:null}}(new class{#S;constructor(e){this.#S=e}on(e,t,s){this.#S(e).on(t,s)}off(e,t,s){this.#S(e).off(t,s)}}(t),e.defaultView.ResizeObserver,e,s)}(document,$,il); diff --git a/components/ILIAS/UI/resources/js/Menu/src/drilldown.main.js b/components/ILIAS/UI/resources/js/Menu/src/drilldown.main.js index 3738e3c495fa..84394deb992f 100755 --- a/components/ILIAS/UI/resources/js/Menu/src/drilldown.main.js +++ b/components/ILIAS/UI/resources/js/Menu/src/drilldown.main.js @@ -115,6 +115,20 @@ export default class Drilldown { }); } + /** + * @returns {string|number|null} + */ + getParentLevel() { + return this.#model.getCurrent()?.parent ?? null; + } + + /** + * @returns {string|number} + */ + getCurrentLevel() { + return this.#model.getCurrent().id; + } + /** * @param {Event} e * @returns {void} diff --git a/components/ILIAS/UI/src/Component/Input/Field/Node/Factory.php b/components/ILIAS/UI/src/Component/Input/Field/Node/Factory.php index 9c3e0a5a826e..4838ec6afd00 100644 --- a/components/ILIAS/UI/src/Component/Input/Field/Node/Factory.php +++ b/components/ILIAS/UI/src/Component/Input/Field/Node/Factory.php @@ -44,14 +44,14 @@ interface Factory * Icons SHOULD reflect the kind of data a node represents as closely as possible. * If there is only one kind of data, an icon SHOULD NOT be provided. * --- - * @param string|int $id + * @param array $full_node_path (root to node path (ASC)) * @param string $name * @param \ILIAS\UI\Component\Input\Field\Node\Node $children * @param \ILIAS\UI\Component\Symbol\Glyph\Glyph|null $icon * @return \ILIAS\UI\Component\Input\Field\Node\Node */ public function branch( - string|int $id, + array $full_node_path, string $name, ?Icon $icon = null, Node ...$children, @@ -77,12 +77,12 @@ public function branch( * If there is only one kind of data, an icon SHOULD NOT be provided. * --- * @param \ILIAS\Data\URI $render_url - * @param string|int $id + * @param array $full_node_path (root to node path (ASC)) * @param string $name * @param \ILIAS\UI\Component\Symbol\Glyph\Glyph|null $icon * @return \ILIAS\UI\Component\Input\Field\Node\Async */ - public function async(URI $render_url, string|int $id, string $name, ?Icon $icon = null): Async; + public function async(URI $render_url, array $full_node_path, string $name, ?Icon $icon = null): Async; /** * --- @@ -103,10 +103,10 @@ public function async(URI $render_url, string|int $id, string $name, ?Icon $icon * Icons SHOULD reflect the kind of data a node represents as closely as possible. * If there is only one kind of data, an icon SHOULD NOT be provided. * --- - * @param string|int $id + * @param array $full_node_path (root to node path (ASC)) * @param string $name * @param \ILIAS\UI\Component\Symbol\Glyph\Glyph|null $icon * @return \ILIAS\UI\Component\Input\Field\Node\Leaf */ - public function leaf(string|int $id, string $name, ?Icon $icon = null): Leaf; + public function leaf(array $full_node_path, string $name, ?Icon $icon = null): Leaf; } diff --git a/components/ILIAS/UI/src/Component/Input/Field/Node/Node.php b/components/ILIAS/UI/src/Component/Input/Field/Node/Node.php index 965d552f60eb..d1ec7d162b49 100644 --- a/components/ILIAS/UI/src/Component/Input/Field/Node/Node.php +++ b/components/ILIAS/UI/src/Component/Input/Field/Node/Node.php @@ -25,4 +25,9 @@ */ interface Node extends Component { + /** + * Returns the unique identifier of this Node. A Node may be passed between + * components or other layers, so they need a way to identify them. + */ + public function getId(): string|int; } diff --git a/components/ILIAS/UI/src/Component/Input/Field/Node/NodeRetrieval.php b/components/ILIAS/UI/src/Component/Input/Field/Node/NodeRetrieval.php index 681e4f1d6da3..413c74c36e3f 100644 --- a/components/ILIAS/UI/src/Component/Input/Field/Node/NodeRetrieval.php +++ b/components/ILIAS/UI/src/Component/Input/Field/Node/NodeRetrieval.php @@ -26,7 +26,7 @@ interface NodeRetrieval { /** - * This method will be called by the tree select input and multi tree select input + * This method will be called by the tree select input and tree multi select input * to generate the tree which is displayed on the client. * * Parts of the tree can be rendered asynchronously, by generating an @see Async node, @@ -36,11 +36,20 @@ interface NodeRetrieval * can recursively continue. Please generate child-nodes during this process by using an * instance of this retrieval and provide the appropriate $parent_id parameter. * + * When this method is provided with a $sync_node_id_whitelist by the UI framework, you + * MUST generate a complete path from the root to each node (id) in the whitelist. The + * whitelist is derived from selected node-ids and already contains every node-id on the + * path leading to a selected node. You can therefore treat it as a "max-depth-whitelist" + * while building the tree. At every level of these paths all sibling nodes must be included. + * Sibling branches that are not part of any path MAY be represented as an @see Async node. + * + * @param array $sync_node_id_whitelist * @return \Generator */ public function getNodes( NodeFactory $node_factory, IconFactory $icon_factory, + array $sync_node_id_whitelist = [], ?string $parent_id = null, ): \Generator; diff --git a/components/ILIAS/UI/src/Implementation/Component/Input/Field/Node/Async.php b/components/ILIAS/UI/src/Implementation/Component/Input/Field/Node/Async.php index 9302f1088080..5e10f2693551 100644 --- a/components/ILIAS/UI/src/Implementation/Component/Input/Field/Node/Async.php +++ b/components/ILIAS/UI/src/Implementation/Component/Input/Field/Node/Async.php @@ -27,13 +27,14 @@ */ class Async extends Node implements C\Input\Field\Node\Async { + /** @inheritDoc */ public function __construct( protected URI $render_url, - int|string $id, + array $full_node_path, string $name, ?C\Symbol\Icon\Icon $icon ) { - parent::__construct($id, $name, $icon); + parent::__construct($full_node_path, $name, $icon); } public function getRenderUrl(): URI diff --git a/components/ILIAS/UI/src/Implementation/Component/Input/Field/Node/Branch.php b/components/ILIAS/UI/src/Implementation/Component/Input/Field/Node/Branch.php index 1276cea963a8..b8a355d4ef15 100644 --- a/components/ILIAS/UI/src/Implementation/Component/Input/Field/Node/Branch.php +++ b/components/ILIAS/UI/src/Implementation/Component/Input/Field/Node/Branch.php @@ -27,15 +27,16 @@ class Branch extends Node implements C\Input\Field\Node\Branch { /** + * @inheritDoc * @param C\Input\Field\Node\Node[] $children */ public function __construct( - int|string $id, + array $full_node_path, string $name, ?C\Symbol\Icon\Icon $icon, protected array $children, ) { - parent::__construct($id, $name, $icon); + parent::__construct($full_node_path, $name, $icon); } /** diff --git a/components/ILIAS/UI/src/Implementation/Component/Input/Field/Node/Factory.php b/components/ILIAS/UI/src/Implementation/Component/Input/Field/Node/Factory.php index 633ec51c15e8..ac6f4fe57752 100644 --- a/components/ILIAS/UI/src/Implementation/Component/Input/Field/Node/Factory.php +++ b/components/ILIAS/UI/src/Implementation/Component/Input/Field/Node/Factory.php @@ -29,21 +29,21 @@ class Factory implements Field\Node\Factory { public function branch( - string|int $id, + array $full_node_path, string $name, ?Symbol\Icon\Icon $icon = null, Field\Node\Node ...$children ): Branch { - return new Branch($id, $name, $icon, $children); + return new Branch($full_node_path, $name, $icon, $children); } - public function async(URI $render_url, string|int $id, string $name, ?Symbol\Icon\Icon $icon = null): Async + public function async(URI $render_url, array $full_node_path, string $name, ?Symbol\Icon\Icon $icon = null): Async { - return new Async($render_url, $id, $name, $icon); + return new Async($render_url, $full_node_path, $name, $icon); } - public function leaf(string|int $id, string $name, ?Symbol\Icon\Icon $icon = null): Leaf + public function leaf(array $full_node_path, string $name, ?Symbol\Icon\Icon $icon = null): Leaf { - return new Leaf($id, $name, $icon); + return new Leaf($full_node_path, $name, $icon); } } diff --git a/components/ILIAS/UI/src/Implementation/Component/Input/Field/Node/Node.php b/components/ILIAS/UI/src/Implementation/Component/Input/Field/Node/Node.php index 4fa86cb62e14..2b2458272472 100644 --- a/components/ILIAS/UI/src/Implementation/Component/Input/Field/Node/Node.php +++ b/components/ILIAS/UI/src/Implementation/Component/Input/Field/Node/Node.php @@ -14,7 +14,7 @@ * https://www.ilias.de * https://github.com/ILIAS-eLearning */ - + declare(strict_types=1); namespace ILIAS\UI\Implementation\Component\Input\Field\Node; @@ -29,21 +29,42 @@ abstract class Node implements C\Input\Field\Node\Node { use ComponentHelper; + protected string|int $id; + + /** @var array */ + protected array $parent_ids; + + /** @param array $full_node_path */ public function __construct( - protected string|int $id, + protected array $full_node_path, protected string $name, protected ?C\Symbol\Icon\Icon $icon, ) { + if (empty($full_node_path)) { + throw new \InvalidArgumentException("\$full_node_path MUST contain at least one node-id."); + } + $this->checkArgListElements('full_node_path', $full_node_path, ['string', 'int']); + $this->id = array_pop($full_node_path); + $this->parent_ids = $full_node_path; } - /** - * Returns the unique identifier of this node. - */ public function getId(): string|int { return $this->id; } + /** @return array */ + public function getFullPath(): array + { + return $this->full_node_path; + } + + /** @return array */ + public function getParentIds(): array + { + return $this->parent_ids; + } + /** * Returns the display value of this node. */ diff --git a/components/ILIAS/UI/src/Implementation/Component/Input/Field/Renderer.php b/components/ILIAS/UI/src/Implementation/Component/Input/Field/Renderer.php index 10a673784a43..2ce701ae764c 100755 --- a/components/ILIAS/UI/src/Implementation/Component/Input/Field/Renderer.php +++ b/components/ILIAS/UI/src/Implementation/Component/Input/Field/Renderer.php @@ -1209,23 +1209,6 @@ protected function prepareTreeSelectTemplate( $this->getUIFactory()->breadcrumbs([]) )); - $node_factory = $this->getUIFactory()->input()->field()->node(); - $node_generator = $component->getNodeRetrieval()->getNodes( - $node_factory, - $this->getUIFactory()->symbol()->icon(), - ); - - $nodes = []; - foreach ($node_generator as $node) { - // check against public interface, will be delegated to rendering chain. - $this->checkArgInstanceOf('node', $node, Component\Input\Field\Node\Node::class); - $nodes[] = $node; - } - - $template->setVariable('DRILLDOWN', $default_renderer->render( - $this->getUIFactory()->menu()->drilldown($component->getLabel(), $nodes) - )); - /** @var $dynamic_inputs_generator \Generator */ $dynamic_inputs_generator = (static fn() => yield from $component->getGeneratedDynamicInputs())(); @@ -1236,6 +1219,7 @@ protected function prepareTreeSelectTemplate( ); $lockstep_iterator = $this->iterateGeneratorsInLockstep($leaf_generator, $dynamic_inputs_generator); + $sync_node_id_whitelst = []; foreach ($lockstep_iterator as [$leaf, $dynamic_input]) { // check against internal interface, will not be delegated to rendering chain. @@ -1253,8 +1237,32 @@ protected function prepareTreeSelectTemplate( $template->setCurrentBlock('with_value'); $template->setVariable('VALUE', $value_template->get('with_value_template')); $template->parseCurrentBlock(); + + foreach ($leaf->getParentIds() as $parent_id) { + // deduplicate overlaping parent ids by using them as offset + $sync_node_id_whitelst[$parent_id] = $parent_id; + } } + $node_factory = $this->getUIFactory()->input()->field()->node(); + $node_generator = $component->getNodeRetrieval()->getNodes( + $node_factory, + $this->getUIFactory()->symbol()->icon(), + array_values($sync_node_id_whitelst), + null, + ); + + $nodes = []; + foreach ($node_generator as $node) { + // check against public interface, will be delegated to rendering chain. + $this->checkArgInstanceOf('node', $node, Component\Input\Field\Node\Node::class); + $nodes[] = $node; + } + + $template->setVariable('DRILLDOWN', $default_renderer->render( + $this->getUIFactory()->menu()->drilldown($component->getLabel(), $nodes) + )); + $this->toJS('unselect_node'); $this->toJS('select_node'); diff --git a/components/ILIAS/UI/src/examples/Input/Field/TreeMultiSelect/base.php b/components/ILIAS/UI/src/examples/Input/Field/TreeMultiSelect/base.php index cdf16fab94fd..a8fe1ad5c9a6 100644 --- a/components/ILIAS/UI/src/examples/Input/Field/TreeMultiSelect/base.php +++ b/components/ILIAS/UI/src/examples/Input/Field/TreeMultiSelect/base.php @@ -1,5 +1,20 @@ uri((string) $http->request()->getUri()); $base_url_builder = new URLBuilder($example_uri); - [$node_id_url_builder, $node_id_parameter] = $base_url_builder->acquireParameter(explode('\\', __NAMESPACE__), "node_id"); - [$process_form_url_builder ,$process_form_parameter] = $base_url_builder->acquireParameter(explode('\\', __NAMESPACE__), "process"); + [$node_id_url_builder, $node_id_parameter] = $base_url_builder->acquireParameter( + explode('\\', __NAMESPACE__), + "node_id" + ); + [$process_form_url_builder, $process_form_parameter] = $base_url_builder->acquireParameter( + explode('\\', __NAMESPACE__), + "process" + ); $node_retrieval = new TreeMultiSelectExampleNodeRetrieval($node_id_url_builder, $node_id_parameter); @@ -72,6 +93,7 @@ function base(): string $node_generator = $node_retrieval->getNodes( $factory->input()->field()->node(), $factory->symbol()->icon(), + [], $parent_node_id ); @@ -120,16 +142,20 @@ public function __construct( ) { } - public function getNodes(NodeFactory $node_factory, IconFactory $icon_factory, ?string $parent_id = null): \Generator - { + public function getNodes( + NodeFactory $node_factory, + IconFactory $icon_factory, + array $sync_node_id_whitelist = [], + ?string $parent_id = null + ): \Generator { if (null !== $parent_id) { yield $this->getExampleNodeChildren($node_factory, $parent_id); return; } - yield $node_factory->branch('1', 'branch 1', null, ...$this->getExampleNodeChildren($node_factory, '1')); - yield $node_factory->branch('2', 'branch 2', null, ...$this->getExampleNodeChildren($node_factory, '2')); - yield $node_factory->leaf('3', 'leaf 3'); + yield $node_factory->branch(['1'], 'branch 1', null, ...$this->getExampleNodeChildren($node_factory, '1')); + yield $node_factory->branch(['2'], 'branch 2', null, ...$this->getExampleNodeChildren($node_factory, '2')); + yield $node_factory->leaf(['3'], 'leaf 3'); } public function getNodesAsLeaf( @@ -142,24 +168,46 @@ public function getNodesAsLeaf( } } - protected function getExampleNodeChildren(NodeFactory $node_factory, string|int $parent_id): array + protected function getExampleNodeChildren(NodeFactory $node_factory, string $parent_id): array { return [ - $node_factory->branch("$parent_id.1", "branch $parent_id.1", null, - $node_factory->leaf("$parent_id.1.1", "leaf $parent_id.1.1"), - $node_factory->leaf("$parent_id.1.2", "leaf $parent_id.1.2"), - $node_factory->leaf("$parent_id.1.3", "leaf $parent_id.1.3"), + $node_factory->branch( + $this->getFullNodePath($parent_id, "1"), + "branch $parent_id.1", + null, + $node_factory->leaf($this->getFullNodePath($parent_id, "1.1"), "leaf $parent_id.1.1"), + $node_factory->leaf($this->getFullNodePath($parent_id, "1.2"), "leaf $parent_id.1.2"), + $node_factory->leaf($this->getFullNodePath($parent_id, "1.3"), "leaf $parent_id.1.3"), + ), + $node_factory->branch( + $this->getFullNodePath($parent_id, "2"), + "branch $parent_id.2", + null, + $node_factory->leaf($this->getFullNodePath($parent_id, "2.1"), "leaf $parent_id.2.1"), + $node_factory->leaf($this->getFullNodePath($parent_id, "2.2"), "leaf $parent_id.2.2"), + $node_factory->leaf($this->getFullNodePath($parent_id, "2.3"), "leaf $parent_id.2.3"), ), - $node_factory->branch("$parent_id.2", "branch $parent_id.2", null, - $node_factory->leaf("$parent_id.2.1", "leaf $parent_id.2.1"), - $node_factory->leaf("$parent_id.2.2", "leaf $parent_id.2.2"), - $node_factory->leaf("$parent_id.2.3", "leaf $parent_id.2.3"), + $node_factory->async( + $this->getAsyncNodeRenderUrl("$parent_id.3"), + $this->getFullNodePath($parent_id, "3"), + "async branch $parent_id.3" ), - $node_factory->async($this->getAsyncNodeRenderUrl("$parent_id.3"),"$parent_id.3", "async branch $parent_id.3"), - $node_factory->leaf("$parent_id.4", "leaf $parent_id.4"), + $node_factory->leaf($this->getFullNodePath($parent_id, "4"), "leaf $parent_id.4"), ]; } + /** @return string[] */ + protected function getFullNodePath(string $parent_id, string $child_id): array + { + $parts = explode(".", $parent_id); + $paths = []; + for ($index = 1, $count = count($parts); $index <= $count; $index++) { + $paths[] = implode(".", array_slice($parts, 0, $index)); + } + $paths[] = "{$paths[$count - 1]}.$child_id"; + return $paths; + } + protected function getAsyncNodeRenderUrl(int|string $node_id): URI { return $this->builder->withParameter($this->node_id_parameter, (string) $node_id)->buildURI(); diff --git a/components/ILIAS/UI/src/examples/Input/Field/TreeMultiSelect/with_select_child_nodes.php b/components/ILIAS/UI/src/examples/Input/Field/TreeMultiSelect/with_select_child_nodes.php index 8c4c4582507a..86a83e0b7c61 100644 --- a/components/ILIAS/UI/src/examples/Input/Field/TreeMultiSelect/with_select_child_nodes.php +++ b/components/ILIAS/UI/src/examples/Input/Field/TreeMultiSelect/with_select_child_nodes.php @@ -1,5 +1,20 @@ branch('1', 'branch node 1', null, - $node_factory->branch('1.1', 'branch node 1.1', null, - $node_factory->leaf('1.1.1', 'leaf node 1.1.1'), - $node_factory->leaf('1.1.2', 'leaf node 1.1.2'), + yield $node_factory->branch( + ['1'], + 'branch node 1', + null, + $node_factory->branch( + ['1', '1.1'], + 'branch node 1.1', + null, + $node_factory->leaf(['1', '1.1', '1.1.1'], 'leaf node 1.1.1'), + $node_factory->leaf(['1', '1.1', '1.1.2'], 'leaf node 1.1.2'), ), - $node_factory->leaf('1.2', 'leaf node 1.2'), + $node_factory->leaf(['1', '1.2'], 'leaf node 1.2'), ); } + public function getNodesAsLeaf( NodeFactory $node_factory, IconFactory $icon_factory, diff --git a/components/ILIAS/UI/src/examples/Input/Field/TreeMultiSelect/with_value.php b/components/ILIAS/UI/src/examples/Input/Field/TreeMultiSelect/with_value.php index 5c15222afbbb..ce6e8c2ed38d 100644 --- a/components/ILIAS/UI/src/examples/Input/Field/TreeMultiSelect/with_value.php +++ b/components/ILIAS/UI/src/examples/Input/Field/TreeMultiSelect/with_value.php @@ -1,5 +1,20 @@ getNodesAsLeaf($node_factory, $icon_factory, $sync_node_id_whitelist); } public function getNodesAsLeaf( NodeFactory $node_factory, @@ -42,7 +58,7 @@ public function getNodesAsLeaf( array $node_ids, ): \Generator { foreach ($node_ids as $node_id) { - yield $node_factory->leaf($node_id, "dummy leaf node $node_id"); + yield $node_factory->leaf([$node_id], "dummy leaf node $node_id"); } } }; diff --git a/components/ILIAS/UI/src/examples/Input/Field/TreeSelect/base.php b/components/ILIAS/UI/src/examples/Input/Field/TreeSelect/base.php index 318897526bba..c6acca1554e9 100644 --- a/components/ILIAS/UI/src/examples/Input/Field/TreeSelect/base.php +++ b/components/ILIAS/UI/src/examples/Input/Field/TreeSelect/base.php @@ -1,5 +1,20 @@ uri((string) $http->request()->getUri()); $base_url_builder = new URLBuilder($example_uri); - [$node_id_url_builder, $node_id_parameter] = $base_url_builder->acquireParameter(explode('\\', __NAMESPACE__), "node_id"); - [$process_form_url_builder ,$process_form_parameter] = $base_url_builder->acquireParameter(explode('\\', __NAMESPACE__), "process"); + [$node_id_url_builder, $node_id_parameter] = $base_url_builder->acquireParameter( + explode('\\', __NAMESPACE__), + "node_id" + ); + [$process_form_url_builder, $process_form_parameter] = $base_url_builder->acquireParameter( + explode('\\', __NAMESPACE__), + "process" + ); $node_retrieval = new TreeSelectExampleNodeRetrieval($node_id_url_builder, $node_id_parameter); @@ -70,6 +91,7 @@ function base(): string $node_generator = $node_retrieval->getNodes( $factory->input()->field()->node(), $factory->symbol()->icon(), + [], $parent_node_id ); @@ -118,16 +140,20 @@ public function __construct( ) { } - public function getNodes(NodeFactory $node_factory, IconFactory $icon_factory, ?string $parent_id = null): \Generator - { + public function getNodes( + NodeFactory $node_factory, + IconFactory $icon_factory, + array $sync_node_id_whitelist = [], + ?string $parent_id = null + ): \Generator { if (null !== $parent_id) { yield $this->getExampleNodeChildren($node_factory, $parent_id); return; } - yield $node_factory->branch('1', 'branch 1', null, ...$this->getExampleNodeChildren($node_factory, '1')); - yield $node_factory->branch('2', 'branch 2', null, ...$this->getExampleNodeChildren($node_factory, '2')); - yield $node_factory->leaf('3', 'leaf 3'); + yield $node_factory->branch(['1'], 'branch 1', null, ...$this->getExampleNodeChildren($node_factory, '1')); + yield $node_factory->branch(['2'], 'branch 2', null, ...$this->getExampleNodeChildren($node_factory, '2')); + yield $node_factory->leaf(['3'], 'leaf 3'); } public function getNodesAsLeaf( @@ -140,24 +166,46 @@ public function getNodesAsLeaf( } } - protected function getExampleNodeChildren(NodeFactory $node_factory, string|int $parent_id): array + protected function getExampleNodeChildren(NodeFactory $node_factory, string $parent_id): array { return [ - $node_factory->branch("$parent_id.1", "branch $parent_id.1", null, - $node_factory->leaf("$parent_id.1.1", "leaf $parent_id.1.1"), - $node_factory->leaf("$parent_id.1.2", "leaf $parent_id.1.2"), - $node_factory->leaf("$parent_id.1.3", "leaf $parent_id.1.3"), + $node_factory->branch( + $this->getFullNodePath($parent_id, "1"), + "branch $parent_id.1", + null, + $node_factory->leaf($this->getFullNodePath($parent_id, "1.1"), "leaf $parent_id.1.1"), + $node_factory->leaf($this->getFullNodePath($parent_id, "1.2"), "leaf $parent_id.1.2"), + $node_factory->leaf($this->getFullNodePath($parent_id, "1.3"), "leaf $parent_id.1.3"), + ), + $node_factory->branch( + $this->getFullNodePath($parent_id, "2"), + "branch $parent_id.2", + null, + $node_factory->leaf($this->getFullNodePath($parent_id, "2.1"), "leaf $parent_id.2.1"), + $node_factory->leaf($this->getFullNodePath($parent_id, "2.2"), "leaf $parent_id.2.2"), + $node_factory->leaf($this->getFullNodePath($parent_id, "2.3"), "leaf $parent_id.2.3"), ), - $node_factory->branch("$parent_id.2", "branch $parent_id.2", null, - $node_factory->leaf("$parent_id.2.1", "leaf $parent_id.2.1"), - $node_factory->leaf("$parent_id.2.2", "leaf $parent_id.2.2"), - $node_factory->leaf("$parent_id.2.3", "leaf $parent_id.2.3"), + $node_factory->async( + $this->getAsyncNodeRenderUrl("$parent_id.3"), + $this->getFullNodePath($parent_id, "3"), + "async branch $parent_id.3" ), - $node_factory->async($this->getAsyncNodeRenderUrl("$parent_id.3"),"$parent_id.3", "async branch $parent_id.3"), - $node_factory->leaf("$parent_id.4", "leaf $parent_id.4"), + $node_factory->leaf($this->getFullNodePath($parent_id, "4"), "leaf $parent_id.4"), ]; } + /** @return string[] */ + protected function getFullNodePath(string $parent_id, string $child_id): array + { + $parts = explode(".", $parent_id); + $paths = []; + for ($index = 1, $count = count($parts); $index <= $count; $index++) { + $paths[] = implode(".", array_slice($parts, 0, $index)); + } + $paths[] = "{$paths[$count - 1]}.$child_id"; + return $paths; + } + protected function getAsyncNodeRenderUrl(int|string $node_id): URI { return $this->builder->withParameter($this->node_id_parameter, (string) $node_id)->buildURI(); diff --git a/components/ILIAS/UI/src/examples/Input/Field/TreeSelect/with_disabled.php b/components/ILIAS/UI/src/examples/Input/Field/TreeSelect/with_disabled.php index efe0838877cb..5d55e3a589d7 100644 --- a/components/ILIAS/UI/src/examples/Input/Field/TreeSelect/with_disabled.php +++ b/components/ILIAS/UI/src/examples/Input/Field/TreeSelect/with_disabled.php @@ -1,5 +1,20 @@ getNodesAsLeaf($node_factory, $icon_factory, $sync_node_id_whitelist); } public function getNodesAsLeaf( NodeFactory $node_factory, @@ -42,7 +58,7 @@ public function getNodesAsLeaf( array $node_ids, ): \Generator { foreach ($node_ids as $node_id) { - yield $node_factory->leaf($node_id, "dummy leaf node $node_id"); + yield $node_factory->leaf([$node_id], "dummy leaf node $node_id"); } } }; @@ -59,4 +75,3 @@ public function getNodesAsLeaf( return $renderer->render($form); } - diff --git a/components/ILIAS/UI/tests/Client/Input/Field/TreeMultiSelect.js b/components/ILIAS/UI/tests/Client/Input/Field/TreeMultiSelect.js index 9e13dfc475d2..723a1d256166 100644 --- a/components/ILIAS/UI/tests/Client/Input/Field/TreeMultiSelect.js +++ b/components/ILIAS/UI/tests/Client/Input/Field/TreeMultiSelect.js @@ -17,10 +17,13 @@ import { beforeEach, describe, it } from 'node:test'; import { strict } from 'node:assert/strict'; -import TreeMultiSelect from '../../../../resources/js/Input/Field/src/TreeSelect/TreeMultiSelect.js'; - -describe('TreeMultiSelect', function () { +import TreeSelect from '../../../../resources/js/Input/Field/src/TreeSelect/TreeSelect.js'; +import unselectChildNodes + from '../../../../resources/js/Input/Field/src/TreeSelect/unselectChildNodes.js'; +import updateMultiSelectButtonStates + from '../../../../resources/js/Input/Field/src/TreeSelect/updateMultiSelectButtonStates.js'; +describe('TreeMultiSelect', () => { let jQueryEventListenerMock; let templateRendererMock; let asyncRendererMock; @@ -29,7 +32,7 @@ describe('TreeMultiSelect', function () { let basicElementMock; let elementWithClassListMock; - beforeEach(function () { + beforeEach(() => { jQueryEventListenerMock = { on: () => {}, }; @@ -45,6 +48,8 @@ describe('TreeMultiSelect', function () { drilldownMock = { getBackSignal: () => '', addEngageListener: () => {}, + getCurrentLevel: () => '0', + getParentLevel: () => null, }; basicElementMock = { remove: () => {}, @@ -52,7 +57,7 @@ describe('TreeMultiSelect', function () { querySelectorAll: () => [], querySelector() { return this; - } + }, }; elementWithClassListMock = { toggle: () => {}, @@ -60,11 +65,11 @@ describe('TreeMultiSelect', function () { add: () => {}, get classList() { return this; - } + }, }; }); - it('updates select button states and selection (cannot select child nodes)', function () { + it('updates select button states and selection (cannot select child nodes)', () => { const parentBranchNode = { id: 'node-id-1', name: 'node name 1', @@ -111,7 +116,7 @@ describe('TreeMultiSelect', function () { nodeMapMock.set(parentBranchNode.id, parentBranchNode); nodeMapMock.set(childLeafNode.id, childLeafNode); - const component = new TreeMultiSelect( + const component = new TreeSelect( nodeMapMock, jQueryEventListenerMock, templateRendererMock, @@ -125,13 +130,12 @@ describe('TreeMultiSelect', function () { basicElementMock, basicElementMock, basicElementMock, - false, + (treeSelectComponent) => { + unselectChildNodes(treeSelectComponent); + updateMultiSelectButtonStates(treeSelectComponent); + }, ); - // ensure nothing happens if nothing changes - strict.equal(parentBranchNode.selectButton.disabled, false); - strict.equal(childLeafNode.selectButton.disabled, false); - component.updateNodeSelectButtonStates(); strict.equal(parentBranchNode.selectButton.disabled, false); strict.equal(childLeafNode.selectButton.disabled, false); // ensure child nodes are disabled @@ -145,12 +149,12 @@ describe('TreeMultiSelect', function () { strict.equal(childLeafNode.selectButton.disabled, false); // ensure child nodes are unselected and disabled component.selectNode(parentBranchNode.id); - strict.equal(component.getSelection().has(childLeafNode.id), false) + strict.equal(component.getSelection().has(childLeafNode.id), false); strict.equal(parentBranchNode.selectButton.disabled, false); strict.equal(childLeafNode.selectButton.disabled, true); }); - it('updates select button states (can select child nodes)', function () { + it('updates select button states (can select child nodes)', () => { const parentBranchNode = { id: 'node-id-1', name: 'node name 1', @@ -197,7 +201,7 @@ describe('TreeMultiSelect', function () { nodeMapMock.set(parentBranchNode.id, parentBranchNode); nodeMapMock.set(childLeafNode.id, childLeafNode); - const component = new TreeMultiSelect( + const component = new TreeSelect( nodeMapMock, jQueryEventListenerMock, templateRendererMock, @@ -211,13 +215,9 @@ describe('TreeMultiSelect', function () { basicElementMock, basicElementMock, basicElementMock, - true, + () => {}, ); - // ensure nothing happens if nothing changes - strict.equal(parentBranchNode.selectButton.disabled, false); - strict.equal(childLeafNode.selectButton.disabled, false); - component.updateNodeSelectButtonStates(); strict.equal(parentBranchNode.selectButton.disabled, false); strict.equal(childLeafNode.selectButton.disabled, false); // ensure child nodes are not disabled @@ -231,9 +231,8 @@ describe('TreeMultiSelect', function () { strict.equal(childLeafNode.selectButton.disabled, false); // ensure nothing gets unselected or disabled component.selectNode(parentBranchNode.id); - strict.equal(component.getSelection().has(childLeafNode.id), true) + strict.equal(component.getSelection().has(childLeafNode.id), true); strict.equal(parentBranchNode.selectButton.disabled, false); strict.equal(childLeafNode.selectButton.disabled, false); }); - }); diff --git a/components/ILIAS/UI/tests/Client/Input/Field/TreeSelect.js b/components/ILIAS/UI/tests/Client/Input/Field/TreeSelect.js index 6a7a44da9beb..0b2623ce3b37 100644 --- a/components/ILIAS/UI/tests/Client/Input/Field/TreeSelect.js +++ b/components/ILIAS/UI/tests/Client/Input/Field/TreeSelect.js @@ -18,9 +18,12 @@ import { beforeEach, describe, it } from 'node:test'; import { strict } from 'node:assert/strict'; import TreeSelect from '../../../../resources/js/Input/Field/src/TreeSelect/TreeSelect.js'; +import updateSingleSelectButtonStates + from '../../../../resources/js/Input/Field/src/TreeSelect/updateSingleSelectButtonStates.js'; +import engageParentDrilldownLevel + from '../../../../resources/js/Input/Field/src/TreeSelect/engageParentDrilldownLevel.js'; -describe('TreeSelect', function () { - +describe('TreeSelect', () => { let jQueryEventListenerMock; let templateRendererMock; let asyncRendererMock; @@ -28,7 +31,7 @@ describe('TreeSelect', function () { let drilldownMock; let basicElementMock; - beforeEach(function () { + beforeEach(() => { jQueryEventListenerMock = { on: () => {}, }; @@ -44,6 +47,8 @@ describe('TreeSelect', function () { drilldownMock = { getBackSignal: () => '', addEngageListener: () => {}, + getCurrentLevel: () => '0', + getParentLevel: () => null, }; basicElementMock = { remove: () => {}, @@ -51,11 +56,11 @@ describe('TreeSelect', function () { querySelectorAll: () => [], querySelector() { return this; - } + }, }; }); - it('getSelection() returns a copy', function () { + it('getSelection() returns a copy', () => { const component = new TreeSelect( new Map(), jQueryEventListenerMock, @@ -70,6 +75,7 @@ describe('TreeSelect', function () { basicElementMock, basicElementMock, basicElementMock, + () => {}, ); const actual = component.getSelection(); @@ -77,7 +83,7 @@ describe('TreeSelect', function () { strict.notDeepEqual(actual, component.getSelection()); }); - it('getNodes() returns a copy', function () { + it('getNodes() returns a copy', () => { const emptyNodeMap = new Map(); const component = new TreeSelect( @@ -94,6 +100,7 @@ describe('TreeSelect', function () { basicElementMock, basicElementMock, basicElementMock, + () => {}, ); const actual = component.getNodes(); @@ -101,13 +108,13 @@ describe('TreeSelect', function () { strict.notDeepEqual(actual, emptyNodeMap); }); - it('initial leaf nodes are hydrated', function () { + it('initial leaf nodes are hydrated', () => { const nodeMapMock = new Map(); const selectButtonMock = { data: [], addEventListener(event, handler) { - this.data.push({event: event, handler: handler}); + this.data.push({ event, handler }); }, }; @@ -139,6 +146,7 @@ describe('TreeSelect', function () { basicElementMock, basicElementMock, basicElementMock, + () => {}, ); strict.equal(selectButtonMock.data.length, 1); @@ -146,19 +154,13 @@ describe('TreeSelect', function () { strict.equal((selectButtonMock.data[0].handler instanceof Function), true); }); - it('initial async and branch nodes are hydrated', function () { + it('initial async and branch nodes are hydrated', () => { const nodeMapMock = new Map(); const selectButtonMock = { data: [], addEventListener(event, handler) { - this.data.push({event: event, handler: handler}); - }, - }; - const drilldownButtonMock = { - data: [], - addEventListener(event, handler) { - this.data.push({event: event, handler: handler}); + this.data.push({ event, handler }); }, }; @@ -169,7 +171,7 @@ describe('TreeSelect', function () { element: basicElementMock, selectButton: selectButtonMock, drilldownParentLevel: '0', - drilldownButton: drilldownButtonMock, + drilldownButton: basicElementMock, listElement: basicElementMock, renderUrl: null, }; @@ -190,18 +192,15 @@ describe('TreeSelect', function () { basicElementMock, basicElementMock, basicElementMock, + () => {}, ); strict.equal(selectButtonMock.data.length, 1); strict.equal(selectButtonMock.data[0].event, 'click'); strict.equal((selectButtonMock.data[0].handler instanceof Function), true); - - strict.equal(drilldownButtonMock.data.length, 1); - strict.equal(drilldownButtonMock.data[0].event, 'click'); - strict.equal((drilldownButtonMock.data[0].handler instanceof Function), true); }); - it('breadcrumbs are removed and rendered', function () { + it('breadcrumbs are removed and rendered', () => { const newBreadcrumbElementMock = { id: 'some-html-id-to-verify', attributes: new Map(), @@ -211,11 +210,11 @@ describe('TreeSelect', function () { }, addEventListener: () => {}, setAttribute(attribute, value) { - this.attributes.set(attribute, value) + this.attributes.set(attribute, value); }, querySelector() { return this; - } + }, }; const templateRendererMock = { createContent: () => newBreadcrumbElementMock, @@ -229,7 +228,7 @@ describe('TreeSelect', function () { } this.isReturned = true; return this; - } + }, }; /** @type {TreeSelectNode} */ const engagedBranchNode = { @@ -249,6 +248,8 @@ describe('TreeSelect', function () { addEngageListener(listener) { this.engageListener = listener; }, + getCurrentLevel: () => '0', + getParentLevel: () => null, }; const breadcrumbElementMock = { isRemoved: false, @@ -261,7 +262,7 @@ describe('TreeSelect', function () { querySelectorAll: () => [breadcrumbElementMock], append(element) { this.appended.push(element); - } + }, }; const dialogElementMock = { querySelectorAll: () => [], @@ -291,6 +292,7 @@ describe('TreeSelect', function () { basicElementMock, basicElementMock, dialogElementMock, + () => {}, ); // ensure drilldown engage listener is set @@ -305,14 +307,14 @@ describe('TreeSelect', function () { strict.equal(newBreadcrumbElementMock.textContent, engagedBranchNode.name); }); - it('can select and unselect nodes', function () { + it('can select and unselect nodes', () => { const elementWithClassListMock = { toggle: () => {}, remove: () => {}, add: () => {}, get classList() { return this; - } + }, }; const nodeElementMock = { get classList() { @@ -352,6 +354,10 @@ describe('TreeSelect', function () { basicElementMock, basicElementMock, basicElementMock, + (treeSelectComponent) => { + updateSingleSelectButtonStates(treeSelectComponent); + engageParentDrilldownLevel(treeSelectComponent); + }, ); component.selectNode(initialLeafNode.id); @@ -361,14 +367,14 @@ describe('TreeSelect', function () { strict.equal(component.getSelection().has(initialLeafNode.id), false); }); - it('can update node select button states', function () { + it('can update node select button states', () => { const elementWithClassListMock = { toggle: () => {}, remove: () => {}, add: () => {}, get classList() { return this; - } + }, }; /** @type {TreeSelectNode} */ const leafNode1 = { @@ -420,16 +426,16 @@ describe('TreeSelect', function () { basicElementMock, basicElementMock, basicElementMock, + (treeSelectComponent) => { + updateSingleSelectButtonStates(treeSelectComponent); + engageParentDrilldownLevel(treeSelectComponent); + }, ); - strict.equal(leafNode1.selectButton.disabled, false); - strict.equal(leafNode2.selectButton.disabled, false); - component.updateNodeSelectButtonStates(); strict.equal(leafNode1.selectButton.disabled, false); strict.equal(leafNode2.selectButton.disabled, false); component.selectNode(leafNode1.id); strict.equal(leafNode1.selectButton.disabled, false); strict.equal(leafNode2.selectButton.disabled, true); }); - }); diff --git a/components/ILIAS/UI/tests/Client/Input/Field/TreeSelectFactory.js b/components/ILIAS/UI/tests/Client/Input/Field/TreeSelectFactory.js index fd0800404b54..697818b28290 100644 --- a/components/ILIAS/UI/tests/Client/Input/Field/TreeSelectFactory.js +++ b/components/ILIAS/UI/tests/Client/Input/Field/TreeSelectFactory.js @@ -18,13 +18,10 @@ import { beforeEach, describe, it } from 'node:test'; import { strict } from 'node:assert/strict'; import TreeSelect from '../../../../resources/js/Input/Field/src/TreeSelect/TreeSelect.js'; -import TreeMultiSelect - from '../../../../resources/js/Input/Field/src/TreeSelect/TreeMultiSelect.js'; import TreeSelectFactory from '../../../../resources/js/Input/Field/src/TreeSelect/TreeSelectFactory.js'; -describe('TreeSelectFactory', function () { - +describe('TreeSelectFactory', () => { let elementMock; let documentMock; let languageMock; @@ -32,7 +29,7 @@ describe('TreeSelectFactory', function () { let drilldownFactoryMock; let jQueryEventListenerMock; - beforeEach(function () { + beforeEach(() => { elementMock = { querySelectorAll() { return []; @@ -55,6 +52,8 @@ describe('TreeSelectFactory', function () { drilldownMock = { getBackSignal: () => '', addEngageListener: () => {}, + getCurrentLevel: () => '0', + getParentLevel: () => null, }; drilldownFactoryMock = { getInstance: () => drilldownMock, @@ -64,7 +63,7 @@ describe('TreeSelectFactory', function () { }; }); - it('returns TreeSelect instances', function () { + it('returns TreeSelect instances', () => { const factory = new TreeSelectFactory( jQueryEventListenerMock, drilldownFactoryMock, @@ -76,7 +75,7 @@ describe('TreeSelectFactory', function () { strict.equal((component instanceof TreeSelect), true); }); - it('returns TreeMultiSelect instances', function () { + it('returns TreeMultiSelect instances', () => { const factory = new TreeSelectFactory( jQueryEventListenerMock, drilldownFactoryMock, @@ -85,10 +84,10 @@ describe('TreeSelectFactory', function () { ); const component = factory.initTreeMultiSelect('some-id', false); - strict.equal((component instanceof TreeMultiSelect), true); + strict.equal((component instanceof TreeSelect), true); }); - it('stores TreeSelect instances', function () { + it('stores TreeSelect instances', () => { const factory = new TreeSelectFactory( jQueryEventListenerMock, drilldownFactoryMock, @@ -104,7 +103,7 @@ describe('TreeSelectFactory', function () { strict.deepEqual(component2, component1); }); - it('stores TreeMultiSelect instances', function () { + it('stores TreeMultiSelect instances', () => { const factory = new TreeSelectFactory( jQueryEventListenerMock, drilldownFactoryMock, @@ -115,9 +114,8 @@ describe('TreeSelectFactory', function () { const htmlId = 'some-id'; const component1 = factory.initTreeMultiSelect(htmlId, false); const component2 = factory.getInstance(htmlId); - strict.equal((component1 instanceof TreeMultiSelect), true); - strict.equal((component2 instanceof TreeMultiSelect), true); + strict.equal((component1 instanceof TreeSelect), true); + strict.equal((component2 instanceof TreeSelect), true); strict.deepEqual(component2, component1); }); - }); diff --git a/components/ILIAS/UI/tests/Component/Input/Field/Node/FieldAsyncNodeTest.php b/components/ILIAS/UI/tests/Component/Input/Field/Node/FieldAsyncNodeTest.php index 1f66d746c34a..2f848a1c0082 100644 --- a/components/ILIAS/UI/tests/Component/Input/Field/Node/FieldAsyncNodeTest.php +++ b/components/ILIAS/UI/tests/Component/Input/Field/Node/FieldAsyncNodeTest.php @@ -22,6 +22,7 @@ use ILIAS\UI\Implementation\Component\Input\Field; use ILIAS\UI\Implementation\Component; use PHPUnit\Framework\MockObject\MockObject; +use PHPUnit\Framework\Attributes\DataProvider; require_once(__DIR__ . "/../../../../../../../../vendor/composer/vendor/autoload.php"); require_once(__DIR__ . "/../../../../Base.php"); @@ -96,7 +97,7 @@ public function testRenderWithUrl(): void $node_id = 'some-existing-node-id'; $node_name = 'some existing node name'; - $component = $this->getNodeFactory()->async($this->uri_stub, $node_id, $node_name); + $component = $this->getNodeFactory()->async($this->uri_stub, [$node_id], $node_name); $renderer = $this->getDefaultRenderer(); $expected = <<createSimpleRenderingStub(Component\Symbol\Icon\Custom::class); - $component = $this->getNodeFactory()->async($this->uri_stub, '', $icon_stub); + $component = $this->getNodeFactory()->async($this->uri_stub, [''], $icon_stub); $renderer = $this->getDefaultRenderer(null, [$icon_stub]); $actual = $renderer->render($component); @@ -141,7 +142,7 @@ public function testRenderWithoutIcon(): void $this->icon_factory->expects($this->once())->method('standard'); $this->icon_stub->expects($this->once())->method('withAbbreviation')->with($first_node_name_letter); - $component = $this->getNodeFactory()->async($this->uri_stub, '', $node_name); + $component = $this->getNodeFactory()->async($this->uri_stub, [''], $node_name); $renderer = $this->getDefaultRenderer(); $actual = $renderer->render($component); @@ -149,6 +150,38 @@ public function testRenderWithoutIcon(): void $this->assertTrue(str_contains($actual, $this->icon_html)); } + protected function testConstructorWithValidNodePath(): void + { + $root_node_id = 0; + $level_one_node_id = 1; + $level_two_node_id = 2; + $parent_ids = [$root_node_id, $level_one_node_id]; + $full_node_path = [...$parent_ids, $level_two_node_id]; + + $node = $this->getNodeFactory()->async($this->uri_stub, $full_node_path, ""); + + $this->assertEquals($full_node_path, $node->getFullPath()); + $this->assertEquals($parent_ids, $node->getParentIds()); + $this->assertEquals($level_two_node_id, $node->getId()); + } + + #[DataProvider('provideInvalidNodePaths')] + protected function testConstructorWithInvalidNodePath(array $path): void + { + $this->expectException(\InvalidArgumentException::class); + $this->getNodeFactory()->async($this->uri_stub, $path, ""); + } + + public static function provideInvalidNodePaths(): array + { + return [ + [1.0], + [false], + [null], + [], + ]; + } + protected function getNodeFactory(): Field\Node\Factory { return new Field\Node\Factory(); diff --git a/components/ILIAS/UI/tests/Component/Input/Field/Node/FieldBranchNodeTest.php b/components/ILIAS/UI/tests/Component/Input/Field/Node/FieldBranchNodeTest.php index f98d96f0e7c5..375557757064 100644 --- a/components/ILIAS/UI/tests/Component/Input/Field/Node/FieldBranchNodeTest.php +++ b/components/ILIAS/UI/tests/Component/Input/Field/Node/FieldBranchNodeTest.php @@ -22,6 +22,7 @@ use ILIAS\UI\Implementation\Component\Input\Field; use ILIAS\UI\Implementation\Component; use PHPUnit\Framework\MockObject\MockObject; +use PHPUnit\Framework\Attributes\DataProvider; require_once(__DIR__ . "/../../../../../../../../vendor/composer/vendor/autoload.php"); require_once(__DIR__ . "/../../../../Base.php"); @@ -92,7 +93,7 @@ public function testRenderWithChildren(): void [$child_node_stub, $child_node_html] = $this->createSimpleRenderingStub(Field\Node\Leaf::class); - $component = $this->getNodeFactory()->branch($node_id, $node_name, null, $child_node_stub); + $component = $this->getNodeFactory()->branch([$node_id], $node_name, null, $child_node_stub); $renderer = $this->getDefaultRenderer(null, [$child_node_stub]); $expected = <<getNodeFactory()->branch('', ''); + $component = $this->getNodeFactory()->branch([''], ''); $renderer = $this->getDefaultRenderer(); $actual = $renderer->render($component); @@ -131,7 +132,7 @@ protected function testRenderWithIcon(): void { [$icon_stub, $icon_html] = $this->createSimpleRenderingStub(Component\Symbol\Icon\Custom::class); - $component = $this->getNodeFactory()->branch('', ''); + $component = $this->getNodeFactory()->branch([''], ''); $renderer = $this->getDefaultRenderer(null, [$icon_stub]); $actual = $renderer->render($component); @@ -147,7 +148,7 @@ public function testRenderWithoutIcon(): void $this->icon_factory->expects($this->once())->method('standard'); $this->icon_stub->expects($this->once())->method('withAbbreviation')->with($first_node_name_letter); - $component = $this->getNodeFactory()->branch('', $node_name); + $component = $this->getNodeFactory()->branch([''], $node_name); $renderer = $this->getDefaultRenderer(); $actual = $renderer->render($component); @@ -155,6 +156,38 @@ public function testRenderWithoutIcon(): void $this->assertTrue(str_contains($actual, $this->icon_html)); } + protected function testConstructorWithValidNodePath(): void + { + $root_node_id = 0; + $level_one_node_id = 1; + $level_two_node_id = 2; + $parent_ids = [$root_node_id, $level_one_node_id]; + $full_node_path = [...$parent_ids, $level_two_node_id]; + + $node = $this->getNodeFactory()->branch($full_node_path, ""); + + $this->assertEquals($full_node_path, $node->getFullPath()); + $this->assertEquals($parent_ids, $node->getParentIds()); + $this->assertEquals($level_two_node_id, $node->getId()); + } + + #[DataProvider('provideInvalidNodePaths')] + protected function testConstructorWithInvalidNodePath(array $path): void + { + $this->expectException(\InvalidArgumentException::class); + $this->getNodeFactory()->branch($path, ""); + } + + public static function provideInvalidNodePaths(): array + { + return [ + [1.0], + [false], + [null], + [], + ]; + } + protected function getNodeFactory(): Field\Node\Factory { return new Field\Node\Factory(); diff --git a/components/ILIAS/UI/tests/Component/Input/Field/Node/FieldLeafNodeTest.php b/components/ILIAS/UI/tests/Component/Input/Field/Node/FieldLeafNodeTest.php index 52fedd0beff6..f34947942e39 100644 --- a/components/ILIAS/UI/tests/Component/Input/Field/Node/FieldLeafNodeTest.php +++ b/components/ILIAS/UI/tests/Component/Input/Field/Node/FieldLeafNodeTest.php @@ -22,6 +22,7 @@ use ILIAS\UI\Implementation\Component\Input\Field; use ILIAS\UI\Implementation\Component; use PHPUnit\Framework\MockObject\MockObject; +use PHPUnit\Framework\Attributes\DataProvider; require_once(__DIR__ . "/../../../../../../../../vendor/composer/vendor/autoload.php"); require_once(__DIR__ . "/../../../../Base.php"); @@ -90,7 +91,7 @@ public function testRender(): void $node_id = 'some-existing-node-id'; $node_name = 'some existing node name'; - $component = $this->getNodeFactory()->leaf($node_id, $node_name); + $component = $this->getNodeFactory()->leaf([$node_id], $node_name); $renderer = $this->getDefaultRenderer(); $expected = <<createSimpleRenderingStub(Component\Symbol\Icon\Custom::class); - $component = $this->getNodeFactory()->leaf('', ''); + $component = $this->getNodeFactory()->leaf([''], ''); $renderer = $this->getDefaultRenderer(null, [$icon_stub]); $actual = $renderer->render($component); @@ -133,7 +134,7 @@ public function testRenderWithoutIcon(): void $this->icon_factory->expects($this->once())->method('standard'); $this->icon_stub->expects($this->once())->method('withAbbreviation')->with($first_node_name_letter); - $component = $this->getNodeFactory()->leaf('', $node_name); + $component = $this->getNodeFactory()->leaf([''], $node_name); $renderer = $this->getDefaultRenderer(); $actual = $renderer->render($component); @@ -141,6 +142,38 @@ public function testRenderWithoutIcon(): void $this->assertTrue(str_contains($actual, $this->icon_html)); } + protected function testConstructorWithValidNodePath(): void + { + $root_node_id = 0; + $level_one_node_id = 1; + $level_two_node_id = 2; + $parent_ids = [$root_node_id, $level_one_node_id]; + $full_node_path = [...$parent_ids, $level_two_node_id]; + + $node = $this->getNodeFactory()->leaf($full_node_path, ""); + + $this->assertEquals($full_node_path, $node->getFullPath()); + $this->assertEquals($parent_ids, $node->getParentIds()); + $this->assertEquals($level_two_node_id, $node->getId()); + } + + #[DataProvider('provideInvalidNodePaths')] + protected function testConstructorWithInvalidNodePath(array $path): void + { + $this->expectException(\InvalidArgumentException::class); + $this->getNodeFactory()->leaf($path, ""); + } + + public static function provideInvalidNodePaths(): array + { + return [ + [1.0], + [false], + [null], + [], + ]; + } + protected function getNodeFactory(): Field\Node\Factory { return new Field\Node\Factory(); From 59f43b1c7d05d30f4343d01e7f23fd405877151d Mon Sep 17 00:00:00 2001 From: Thibeau Fuhrer Date: Fri, 21 Nov 2025 20:57:59 +0100 Subject: [PATCH 024/865] [FIX] StaticURL: update `UI/NodeRetrieval::getNodes()` to consider sync-node-whitelist. --- ...rieval.php => TreeSelectNodeRetrieval.php} | 77 +++++++++++-------- 1 file changed, 44 insertions(+), 33 deletions(-) rename components/ILIAS/StaticURL/src/Shortlinks/UI/{NodeRetrieval.php => TreeSelectNodeRetrieval.php} (72%) diff --git a/components/ILIAS/StaticURL/src/Shortlinks/UI/NodeRetrieval.php b/components/ILIAS/StaticURL/src/Shortlinks/UI/TreeSelectNodeRetrieval.php similarity index 72% rename from components/ILIAS/StaticURL/src/Shortlinks/UI/NodeRetrieval.php rename to components/ILIAS/StaticURL/src/Shortlinks/UI/TreeSelectNodeRetrieval.php index c4f5c8fba31c..872eb9d56584 100644 --- a/components/ILIAS/StaticURL/src/Shortlinks/UI/NodeRetrieval.php +++ b/components/ILIAS/StaticURL/src/Shortlinks/UI/TreeSelectNodeRetrieval.php @@ -13,26 +13,19 @@ * us at: * https://www.ilias.de * https://github.com/ILIAS-eLearning - * - *********************************************************************/ + */ declare(strict_types=1); namespace ILIAS\StaticURL\Shortlinks\UI; -use ILIAS\Language\Language; -use ILIAS\UI\URLBuilderToken; -use ILIAS\UI\URLBuilder; -use ILIAS\Data\URI; -use ILIAS\UI\Component\Symbol\Icon\Icon; -use ILIAS\UI\Component\Input\Field\Node\NodeRetrieval as UINodeRetrieval; -use ILIAS\UI\Component\Input\Field\Node\Factory as NodeFactory; -use ILIAS\UI\Component\Symbol\Icon\Factory as IconFactory; +use ILIAS\UI\Component\Input\Field; +use ILIAS\UI\Component\Symbol\Icon; /** - * @author Fabian Schmid + * @author Thibeau Fuhrer */ -class NodeRetrieval implements UINodeRetrieval +readonly class TreeSelectNodeRetrieval implements Field\Node\NodeRetrieval { /** node attribute used to sort entries, @see ilTree::getChildsByTypeFilter() */ protected const string NODE_SORT_BY = 'title'; @@ -45,10 +38,10 @@ class NodeRetrieval implements UINodeRetrieval * @param string[] $leaf_object_type_list (object types which have no children) */ public function __construct( - protected Language $language, + protected \ILIAS\Language\Language $language, protected \ILIAS\Data\Factory $data_factory, - protected URLBuilderToken $async_node_id_parameter, - protected URLBuilder $async_node_url_builder, + protected \ILIAS\UI\URLBuilderToken $async_node_id_parameter, + protected \ILIAS\UI\URLBuilder $async_node_url_builder, protected \ilAccess $access, protected \ilTree $tree, protected array $branch_object_type_list, @@ -60,17 +53,23 @@ public function __construct( } public function getNodes( - NodeFactory $node_factory, - IconFactory $icon_factory, + Field\Node\Factory $node_factory, + Icon\Factory $icon_factory, + array $sync_node_id_whitelist = [], ?string $parent_id = null, ): \Generator { - yield from $this->createNodes($node_factory, $icon_factory, (int) ($parent_id ?? $this->root_node_id)); + yield from $this->createNodes( + $node_factory, + $icon_factory, + $sync_node_id_whitelist, + (int) ($parent_id ?? $this->root_node_id), + ); } public function getNodesAsLeaf( - NodeFactory $node_factory, - IconFactory $icon_factory, - array $node_ids, + Field\Node\Factory $node_factory, + Icon\Factory $icon_factory, + array $node_ids ): \Generator { foreach ($node_ids as $node_id) { try { @@ -89,8 +88,9 @@ public function getNodesAsLeaf( /** @return Field\Node\Node[] */ protected function createNodes( - NodeFactory $node_factory, - IconFactory $icon_factory, + Field\Node\Factory $node_factory, + Icon\Factory $icon_factory, + array $max_depth_node_id_whitelist, int $parent_object_id, int $depth = 0, ): array { @@ -109,19 +109,31 @@ protected function createNodes( // append visible children of an invisible branch node to the current node. if (!$is_object_visible && $is_object_container) { - $nodes = [...$nodes, ...$this->createNodes($node_factory, $icon_factory, $object_ref_id, $depth + 1)]; + $nodes = [...$nodes, ...$this->createNodes( + $node_factory, + $icon_factory, + $max_depth_node_id_whitelist, + $object_ref_id, + $depth + 1 + )]; continue; } $object_icon = $this->getObjectIcon($icon_factory, $object_ref_id, $object_type); if ($is_object_visible && $is_object_container) { - if ($depth < $this->max_branch_node_depth) { + if ($depth < $this->max_branch_node_depth || in_array($object_ref_id, $max_depth_node_id_whitelist, true)) { $nodes[] = $node_factory->branch( $object_ref_id, $object_title, $object_icon, - ...$this->createNodes($node_factory, $icon_factory, $object_ref_id, $depth + 1), + ...$this->createNodes( + $node_factory, + $icon_factory, + $max_depth_node_id_whitelist, + $object_ref_id, + $depth + 1 + ), ); } else { $nodes[] = $node_factory->async( @@ -143,16 +155,16 @@ protected function createNodes( /** @return array{0: int, 1: string, 2: string} (object ref-id, type, title) */ protected function extractObjectDataOrAbort(array $tree_node_data): array { - $object_ref_id = $tree_node_data['ref_id'] ?? null; + $object_ref_id = $tree_node_data['ref_id'] ?? $tree_node_data['child'] ?? null; $object_type = $tree_node_data['type'] ?? null; $object_title = $tree_node_data['title'] ?? null; - if (in_array(null, [$object_ref_id, $object_type, $object_title], true)) { + if (null === $object_ref_id || null === $object_type || null === $object_title) { throw new \LogicException("Object data is invalid"); } return [$object_ref_id, $object_type, $object_title]; } - protected function getAsyncRenderUrl(int $object_ref_id): URI + protected function getAsyncRenderUrl(int $object_ref_id): \ILIAS\Data\URI { $async_node_url_builder = $this->async_node_url_builder->withParameter( $this->async_node_id_parameter, @@ -161,17 +173,17 @@ protected function getAsyncRenderUrl(int $object_ref_id): URI return $this->data_factory->uri((string) $async_node_url_builder->buildURI()); } - protected function getObjectIcon(IconFactory $icon_factory, int $object_ref_id, string $object_type): Icon + protected function getObjectIcon(Icon\Factory $icon_factory, int $object_ref_id, string $object_type): Icon\Icon { // ensures plugin object types are properly handled as well. - $icon_path = \ilObject::_getIcon(\ilObject::_lookupObjectId($object_ref_id), Icon::SMALL); + $icon_path = \ilObject::_getIcon(\ilObject::_lookupObjectId($object_ref_id), Icon\Icon::SMALL); if ($this->tree->getRootId() >= $object_ref_id) { $alt_text = $this->language->txt('repository'); } else { $alt_text = $this->language->txt($object_type); } - return $icon_factory->custom($icon_path, $alt_text, Icon::SMALL); + return $icon_factory->custom($icon_path, $alt_text, Icon\Icon::SMALL); } protected function isObjectVisible(int $object_ref_id, string $object_type = ''): bool @@ -183,5 +195,4 @@ protected function isObjectContainer(string $object_type): bool { return in_array($object_type, $this->branch_object_type_list, true); } - } From 4c52b8c1e5b6789240718abc88ceb1dfb27d6d17 Mon Sep 17 00:00:00 2001 From: Matthias Kunkel Date: Mon, 24 Nov 2025 17:10:05 +0100 Subject: [PATCH 025/865] Added new icon for symbolising attachments in mail slate. --- .../resources/images/standard/icon_attach.svg | 26 +++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 components/ILIAS/UI/resources/images/standard/icon_attach.svg diff --git a/components/ILIAS/UI/resources/images/standard/icon_attach.svg b/components/ILIAS/UI/resources/images/standard/icon_attach.svg new file mode 100644 index 000000000000..24b39134104d --- /dev/null +++ b/components/ILIAS/UI/resources/images/standard/icon_attach.svg @@ -0,0 +1,26 @@ + + + + + + + + + + + + + + \ No newline at end of file From f2cd450f35d15c004a04229d7c9692f05c6f4f24 Mon Sep 17 00:00:00 2001 From: Thibeau Fuhrer Date: Mon, 24 Nov 2025 21:49:19 +0100 Subject: [PATCH 026/865] [FIX] StaticURL: update `UI\NodeRetrieval` to provide object paths. --- .../classes/Shortlinks/NodeRetrievalGUI.php | 5 +++-- .../Shortlinks/UI/TreeSelectNodeRetrieval.php | 21 ++++++++++--------- 2 files changed, 14 insertions(+), 12 deletions(-) diff --git a/components/ILIAS/StaticURL/classes/Shortlinks/NodeRetrievalGUI.php b/components/ILIAS/StaticURL/classes/Shortlinks/NodeRetrievalGUI.php index 26ff2bfaec34..12cd0b87f41f 100644 --- a/components/ILIAS/StaticURL/classes/Shortlinks/NodeRetrievalGUI.php +++ b/components/ILIAS/StaticURL/classes/Shortlinks/NodeRetrievalGUI.php @@ -26,7 +26,7 @@ use ILIAS\Filesystem\Stream\Streams; use ILIAS\UI\Component\Input\Field\Node\NodeRetrieval as UINodeRetrieval; use ILIAS\UI\URLBuilder; -use ILIAS\StaticURL\Shortlinks\UI\NodeRetrieval; +use ILIAS\StaticURL\Shortlinks\UI\TreeSelectNodeRetrieval; /** * @author Fabian Schmid @@ -78,7 +78,7 @@ public function __construct() $branch_node_types = $object_definition->getExplorerContainerTypes(); $leaf_node_types = array_diff($object_definition->getAllRepositoryTypes(false), $branch_node_types); - $this->node_retrieval = new NodeRetrieval( + $this->node_retrieval = new TreeSelectNodeRetrieval( $DIC->language(), $data_factory, $this->async_node_id_parameter, @@ -125,6 +125,7 @@ protected function renderAsyncNodeChildren(int $parent_node_id): void $child_node_iterator = $this->node_retrieval->getNodes( $this->ui_factory->input()->field()->node(), $this->ui_factory->symbol()->icon(), + [], (string) $parent_node_id, ); diff --git a/components/ILIAS/StaticURL/src/Shortlinks/UI/TreeSelectNodeRetrieval.php b/components/ILIAS/StaticURL/src/Shortlinks/UI/TreeSelectNodeRetrieval.php index 872eb9d56584..5c1995bae8c1 100644 --- a/components/ILIAS/StaticURL/src/Shortlinks/UI/TreeSelectNodeRetrieval.php +++ b/components/ILIAS/StaticURL/src/Shortlinks/UI/TreeSelectNodeRetrieval.php @@ -74,14 +74,14 @@ public function getNodesAsLeaf( foreach ($node_ids as $node_id) { try { $tree_node_data = $this->tree->getNodeData((int) $node_id); - [$object_ref_id, $object_type, $object_title] = $this->extractObjectDataOrAbort($tree_node_data); + [$object_path, $object_ref_id, $object_type, $object_title] = $this->extractObjectDataOrAbort($tree_node_data); yield $node_factory->leaf( - $object_ref_id, + $object_path, $object_title, $this->getObjectIcon($icon_factory, $object_ref_id, $object_type), ); } catch (\LogicException) { - yield $node_factory->leaf($node_id, $this->language->txt('unknown')); + yield $node_factory->leaf([$node_id], $this->language->txt('unknown')); } } } @@ -102,7 +102,7 @@ protected function createNodes( $nodes = []; foreach ($children as $child) { - [$object_ref_id, $object_type, $object_title] = $this->extractObjectDataOrAbort($child); + [$object_path, $object_ref_id, $object_type, $object_title] = $this->extractObjectDataOrAbort($child); $is_object_visible = $this->isObjectVisible($object_ref_id, $object_type); $is_object_container = $this->isObjectContainer($object_type); @@ -124,7 +124,7 @@ protected function createNodes( if ($is_object_visible && $is_object_container) { if ($depth < $this->max_branch_node_depth || in_array($object_ref_id, $max_depth_node_id_whitelist, true)) { $nodes[] = $node_factory->branch( - $object_ref_id, + $object_path, $object_title, $object_icon, ...$this->createNodes( @@ -138,7 +138,7 @@ protected function createNodes( } else { $nodes[] = $node_factory->async( $this->getAsyncRenderUrl($object_ref_id), - $object_ref_id, + $object_path, $object_title, $object_icon, ); @@ -146,22 +146,23 @@ protected function createNodes( continue; } if ($is_object_visible && !$is_object_container) { - $nodes[] = $node_factory->leaf($object_ref_id, $object_title, $object_icon); + $nodes[] = $node_factory->leaf($object_path, $object_title, $object_icon); } } return $nodes; } - /** @return array{0: int, 1: string, 2: string} (object ref-id, type, title) */ + /** @return array{0: int[], 1: int, 2: string, 3: string} (object-path, ref-id, type, title) */ protected function extractObjectDataOrAbort(array $tree_node_data): array { + $object_path = array_map('intval', explode('.', (string) ($tree_node_data['path'] ?? ''))); $object_ref_id = $tree_node_data['ref_id'] ?? $tree_node_data['child'] ?? null; $object_type = $tree_node_data['type'] ?? null; $object_title = $tree_node_data['title'] ?? null; - if (null === $object_ref_id || null === $object_type || null === $object_title) { + if (empty($object_path) || null === $object_ref_id || null === $object_type || null === $object_title) { throw new \LogicException("Object data is invalid"); } - return [$object_ref_id, $object_type, $object_title]; + return [$object_path, $object_ref_id, $object_type, $object_title]; } protected function getAsyncRenderUrl(int $object_ref_id): \ILIAS\Data\URI From d3a4653ac0a287359ef2b8d17a0ba61095a8aa96 Mon Sep 17 00:00:00 2001 From: Lukas Scharmer Date: Mon, 24 Nov 2025 15:40:28 +0100 Subject: [PATCH 027/865] LegalDocuments: Move modals out of UI tables --- .../LegalDocuments/classes/Table/DocumentModal.php | 6 ++++-- .../LegalDocuments/classes/Table/DocumentTable.php | 11 +++++++---- .../LegalDocuments/classes/Table/HistoryTable.php | 5 +++-- .../LegalDocuments/tests/Table/DocumentModalTest.php | 3 ++- 4 files changed, 16 insertions(+), 9 deletions(-) diff --git a/components/ILIAS/LegalDocuments/classes/Table/DocumentModal.php b/components/ILIAS/LegalDocuments/classes/Table/DocumentModal.php index 3b0491bf5288..f4172f50bb30 100755 --- a/components/ILIAS/LegalDocuments/classes/Table/DocumentModal.php +++ b/components/ILIAS/LegalDocuments/classes/Table/DocumentModal.php @@ -65,8 +65,10 @@ public function create(DocumentContent $content): array /** * @return Component[] */ - public function components(): array + public function popComponents(): array { - return $this->components; + $c = $this->components; + $this->components = []; + return $c; } } diff --git a/components/ILIAS/LegalDocuments/classes/Table/DocumentTable.php b/components/ILIAS/LegalDocuments/classes/Table/DocumentTable.php index 3c6b9ae0a0d2..cd20ef5cd88c 100644 --- a/components/ILIAS/LegalDocuments/classes/Table/DocumentTable.php +++ b/components/ILIAS/LegalDocuments/classes/Table/DocumentTable.php @@ -57,8 +57,11 @@ class DocumentTable implements OrderingRetrieval private readonly ilCtrlInterface $ctrl; private readonly Ordering $table; private readonly Renderer $ui_renderer; - private ilObjUser $user; - private \DateTimeZone $usr_timezone; + private readonly ilObjUser $user; + private readonly \DateTimeZone $usr_timezone; + + /** @var Component[] */ + private array $modals = []; public function __construct( private readonly Closure $criterion_as_component, @@ -149,7 +152,7 @@ private function buildTableRow(OrderingRowBuilder $row_builder, Document $docume )->withOnClick($delete_modal->getShowSignal()) ]); - $criterion_components[] = $delete_modal; + $this->modals[] = $delete_modal; $criterion_components[] = $dropdown; } @@ -185,7 +188,7 @@ public function render(): string // because the components are filled within the rendering process. $html = $this->ui_renderer->render($this->table); - return $html . $this->ui_renderer->render($this->modal->components()); + return $html . $this->ui_renderer->render([...$this->modal->popComponents(), ...$this->modals]); } /** diff --git a/components/ILIAS/LegalDocuments/classes/Table/HistoryTable.php b/components/ILIAS/LegalDocuments/classes/Table/HistoryTable.php index c1c46cb15756..1e1f0c7aaa18 100755 --- a/components/ILIAS/LegalDocuments/classes/Table/HistoryTable.php +++ b/components/ILIAS/LegalDocuments/classes/Table/HistoryTable.php @@ -43,7 +43,8 @@ class HistoryTable implements Table private readonly Closure $format_date; /** - * @param Closure(class-string, ... $constructor_args): object $create + * @template C + * @param Closure(class-string, mixed...): C $create * @param null|Closure(DateTimeImmutable): string $format_date */ public function __construct( @@ -114,7 +115,7 @@ private function row(History $record): array 'login' => $user?->getLogin() ?? $this->ui->txt('deleted'), 'firstname' => $user?->getFirstname() ?? '-', 'lastname' => $user?->getLastname() ?? '-', - 'document' => $this->modal->create($record->documentContent()), + 'document' => [...$this->modal->create($record->documentContent()), ...$this->modal->popComponents()], 'criteria' => $this->showCriteria($record), ]; } diff --git a/components/ILIAS/LegalDocuments/tests/Table/DocumentModalTest.php b/components/ILIAS/LegalDocuments/tests/Table/DocumentModalTest.php index 68a63f5b4388..83da89a7bf9a 100755 --- a/components/ILIAS/LegalDocuments/tests/Table/DocumentModalTest.php +++ b/components/ILIAS/LegalDocuments/tests/Table/DocumentModalTest.php @@ -72,6 +72,7 @@ public function testCreate(): void }); $this->assertSame([$button_component], $instance->create($content)); - $this->assertSame([$modal_component], $instance->components($content)); + $this->assertSame([$modal_component], $instance->popComponents()); + $this->assertSame([], $instance->popComponents()); } } From 479cf4b4527efc52e05528c330250d672e870068 Mon Sep 17 00:00:00 2001 From: Marvin Beym Date: Tue, 25 Nov 2025 10:27:33 +0100 Subject: [PATCH 028/865] Change icon of attachments folder in mail tool slate (cherry picked from commit 98c42f8404f86f56f793b3a073badef06c3bfdbd) --- .../Mail/classes/Provider/MailGlobalScreenToolProvider.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/components/ILIAS/Mail/classes/Provider/MailGlobalScreenToolProvider.php b/components/ILIAS/Mail/classes/Provider/MailGlobalScreenToolProvider.php index bf50c71df2c6..68d8f7989954 100755 --- a/components/ILIAS/Mail/classes/Provider/MailGlobalScreenToolProvider.php +++ b/components/ILIAS/Mail/classes/Provider/MailGlobalScreenToolProvider.php @@ -122,7 +122,7 @@ public function getToolsForContextStack(CalledContexts $called_contexts): array ...$this->buildSubItems(), $this->buildItem( $this->lng->txt('mail_attachments'), - 'fils', + 'attach', $this->buildFolderLink($current_folder_id, [ilMailGUI::class, ilMailAttachmentGUI::class]) ) ]; From a2e8c25835cfdbc355b42c0f29bd7aec62625e27 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thomas=20Jou=C3=9Fen?= Date: Tue, 25 Nov 2025 10:49:22 +0100 Subject: [PATCH 029/865] BT: Fix exmpty user specific data handling during export --- .../Reservations/class.ilBookingReservationsTableGUI.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/components/ILIAS/BookingManager/Reservations/class.ilBookingReservationsTableGUI.php b/components/ILIAS/BookingManager/Reservations/class.ilBookingReservationsTableGUI.php index 5f39d17b5065..f6a88bece229 100755 --- a/components/ILIAS/BookingManager/Reservations/class.ilBookingReservationsTableGUI.php +++ b/components/ILIAS/BookingManager/Reservations/class.ilBookingReservationsTableGUI.php @@ -862,7 +862,7 @@ protected function fillRowExcel( } $a_excel->setCell($a_row, ++$col, $val); } else { - $a_excel->setCell($a_row, ++$col, $a_set[$colid]); + $a_excel->setCell($a_row, ++$col, $a_set[$colid] ?? ""); } } } @@ -928,7 +928,7 @@ protected function fillRowCSV( } $a_csv->addColumn($val); } else { - $a_csv->addColumn($a_set[$colid]); + $a_csv->addColumn($a_set[$colid] ?? ""); } } From 49056e36b55b06315acd9c68e9ee72d126ede7f1 Mon Sep 17 00:00:00 2001 From: Matheus Zych Date: Wed, 29 Oct 2025 13:08:00 +0100 Subject: [PATCH 030/865] Fixes custom user column data not being shown --- .../class.ilBookingReservationsGUI.php | 22 +++--- .../class.ilBookingReservationsTableGUI.php | 67 +++++++------------ 2 files changed, 33 insertions(+), 56 deletions(-) diff --git a/components/ILIAS/BookingManager/Reservations/class.ilBookingReservationsGUI.php b/components/ILIAS/BookingManager/Reservations/class.ilBookingReservationsGUI.php index e503e571f40a..e994a4656545 100755 --- a/components/ILIAS/BookingManager/Reservations/class.ilBookingReservationsGUI.php +++ b/components/ILIAS/BookingManager/Reservations/class.ilBookingReservationsGUI.php @@ -133,31 +133,25 @@ protected function setHelpId(string $a_id): void */ public function log(): void { - $tpl = $this->tpl; $this->showRerunPreferenceAssignment(); - $table = $this->getReservationsTable(); - $tpl->setContent($table->getHTML()); + $this->tpl->setContent($this->getReservationsTable()->getHTML()); } /** * Get reservationsTable */ - protected function getReservationsTable( - ?string $reservation_id = null - ): ilBookingReservationsTableGUI { - $show_all = ($this->access->canManageAllReservations($this->ref_id) || $this->pool->hasPublicLog()); + protected function getReservationsTable(?string $reservation_id = null): ilBookingReservationsTableGUI + { + $show_all = $this->access->canManageAllReservations($this->ref_id) || $this->pool->hasPublicLog(); - $filter = null; + $filter = []; if ($this->book_obj_id > 0) { - $filter["object"] = $this->book_obj_id; + $filter['object'] = $this->book_obj_id; } // coming from participants tab to cancel reservations. if ($this->book_request->getUserId() > 0) { - $filter["user_id"] = $this->book_request->getUserId(); + $filter['user_id'] = $this->book_request->getUserId(); } - $context_filter = ($this->context_obj_id > 0) - ? [$this->context_obj_id] - : null; return new ilBookingReservationsTableGUI( $this, @@ -167,7 +161,7 @@ protected function getReservationsTable( $show_all, $filter, $reservation_id, - $context_filter + $this->context_obj_id > 0 ? [$this->context_obj_id] : null ); } diff --git a/components/ILIAS/BookingManager/Reservations/class.ilBookingReservationsTableGUI.php b/components/ILIAS/BookingManager/Reservations/class.ilBookingReservationsTableGUI.php index f6a88bece229..728c3b363f18 100755 --- a/components/ILIAS/BookingManager/Reservations/class.ilBookingReservationsTableGUI.php +++ b/components/ILIAS/BookingManager/Reservations/class.ilBookingReservationsTableGUI.php @@ -169,10 +169,8 @@ public function __construct( // user columns foreach ($this->getSelectedColumns() as $col) { - if (array_key_exists($col, $cols)) { - if (isset($user_cols[$col])) { - $this->addColumn($cols[$col]["txt"], $col); - } + if (isset($cols[$col]["txt"], $user_cols[$col])) { + $this->addColumn($cols[$col]["txt"], $col); } } @@ -200,38 +198,25 @@ public function __construct( protected function showMessages(): bool { - return $this->pool->usesMessages() && - $this->access->canManageAllReservations($this->ref_id); + return $this->pool->usesMessages() && $this->access->canManageAllReservations($this->ref_id); } public function getSelectableColumns(): array { - $cols = array(); + $cols = []; if ($this->has_schedule) { - $this->lng->loadLanguageModule("dateplaner"); + $this->lng->loadLanguageModule('dateplaner'); - $cols["week"] = array( - "txt" => $this->lng->txt("wk_short"), - "default" => true - ); - - $cols["weekday"] = array( - "txt" => $this->lng->txt("cal_weekday"), - "default" => true - ); + $cols['week'] = ['txt' => $this->lng->txt('wk_short'), 'default' => true]; + $cols['weekday'] = ['txt' => $this->lng->txt('cal_weekday'), 'default' => true]; } foreach ($this->advmd as $field) { - $cols["advmd" . $field["id"]] = array( - "txt" => $field["title"], - "default" => false - ); + $cols["advmd{$field['id']}"] = ['txt' => $field['title'], 'default' => false]; } - $cols = array_merge($cols, $this->getSelectableUserColumns()); - - return $cols; + return array_merge($cols, $this->getSelectableUserColumns()); } /** @@ -517,11 +502,12 @@ public function getItems(array $filter): void $user_columns = []; $odf_ids = []; foreach ($this->getSelectedUserColumns() as $field) { - if (strpos($field, 'odf') === 0) { - $odf_ids[] = substr($field, 4); - } else { - $user_columns[] = $field; + if (str_starts_with($field, 'odf')) { + $odf_ids[] = (int) substr($field, 4); + continue; } + + $user_columns[] = $field; } // see ilCourseParticipantsTableGUI @@ -549,34 +535,33 @@ public function getItems(array $filter): void } // object specific user data fields of parent course or group - if ($odf_ids) { + if ($odf_ids !== []) { $parent = $this->access->getParentGroupCourse($this->ref_id); $parent_obj_id = ilObject::_lookupObjectId($parent['ref_id']); $parent_obj_type = ilObject::_lookupType($parent_obj_id); - $confirmation_required = ($parent_obj_type === 'crs') - ? ilPrivacySettings::getInstance()->courseConfirmationRequired() - : ilPrivacySettings::getInstance()->groupConfirmationRequired(); + $privacy_settings = ilPrivacySettings::getInstance(); + $confirmation_required = $parent_obj_type === 'crs' + ? $privacy_settings->courseConfirmationRequired() + : $privacy_settings->groupConfirmationRequired(); if ($confirmation_required) { $user_ids = array_diff($user_ids, ilMemberAgreement::lookupAcceptedAgreements($parent_obj_id)); } $odf_data = ilCourseUserData::_getValuesByObjId($parent_obj_id); $usr_data = []; foreach ($odf_data as $usr_id => $fields) { - // this currently does not with strict mode, since - // $user_ids holds strings - if (in_array($usr_id, $user_ids)) { + if (in_array($usr_id, $user_ids, true)) { foreach ($fields as $field_id => $value) { if (in_array($field_id, $odf_ids, true)) { - $usr_data[$usr_id]['odf_' . $field_id] = $value; + $usr_data[$usr_id]["odf_{$field_id}"] = $value; } } } } foreach ($data as $key => $v) { - if (isset($usr_data[$v["user_id"]])) { - $data[$key] = array_merge($v, $usr_data[$v["user_id"]]); + if (isset($usr_data[$v['user_id']])) { + $data[$key] = array_merge($v, $usr_data[$v['user_id']]); } } } @@ -787,10 +772,8 @@ protected function getAdditionalExportCols(): array // user columns foreach ($this->getSelectedColumns() as $col) { - if (array_key_exists($col, $cols)) { - if (isset($user_cols[$col])) { - $add_cols[$col] = $cols[$col]["txt"]; - } + if (isset($cols[$col]["txt"], $user_cols[$col])) { + $add_cols[$col] = $cols[$col]["txt"]; } } From 7440eae42f55294541259dabcb43df5723cdf84e Mon Sep 17 00:00:00 2001 From: Thibeau Fuhrer Date: Tue, 25 Nov 2025 14:29:35 +0100 Subject: [PATCH 031/865] [FIX] UI: use path in `Field\TreeSelect` and `TreeMultiSelect` base examples. --- .../ILIAS/UI/src/examples/Input/Field/TreeMultiSelect/base.php | 2 +- .../ILIAS/UI/src/examples/Input/Field/TreeSelect/base.php | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/components/ILIAS/UI/src/examples/Input/Field/TreeMultiSelect/base.php b/components/ILIAS/UI/src/examples/Input/Field/TreeMultiSelect/base.php index a8fe1ad5c9a6..6d913d8490d6 100644 --- a/components/ILIAS/UI/src/examples/Input/Field/TreeMultiSelect/base.php +++ b/components/ILIAS/UI/src/examples/Input/Field/TreeMultiSelect/base.php @@ -164,7 +164,7 @@ public function getNodesAsLeaf( array $node_ids, ): \Generator { foreach ($node_ids as $node_id) { - yield $node_factory->leaf($node_id, "dummy leaf node $node_id"); + yield $node_factory->leaf([$node_id], "dummy leaf node $node_id"); } } diff --git a/components/ILIAS/UI/src/examples/Input/Field/TreeSelect/base.php b/components/ILIAS/UI/src/examples/Input/Field/TreeSelect/base.php index c6acca1554e9..aecf5f4961cd 100644 --- a/components/ILIAS/UI/src/examples/Input/Field/TreeSelect/base.php +++ b/components/ILIAS/UI/src/examples/Input/Field/TreeSelect/base.php @@ -162,7 +162,7 @@ public function getNodesAsLeaf( array $node_ids, ): \Generator { foreach ($node_ids as $node_id) { - yield $node_factory->leaf($node_id, "dummy leaf node $node_id"); + yield $node_factory->leaf([$node_id], "dummy leaf node $node_id"); } } From 018483a222d1cc26386e2fd2a3d21fcc531500e4 Mon Sep 17 00:00:00 2001 From: Guido Vollbach Date: Tue, 25 Nov 2025 14:04:00 +0100 Subject: [PATCH 032/865] Removed unnecessary code parts --- .../Flavours/class.ilBadgePictureMachine.php | 20 +------------------ 1 file changed, 1 insertion(+), 19 deletions(-) diff --git a/components/ILIAS/Badge/classes/Flavours/class.ilBadgePictureMachine.php b/components/ILIAS/Badge/classes/Flavours/class.ilBadgePictureMachine.php index b9236fee6b9c..070d5f756a6c 100644 --- a/components/ILIAS/Badge/classes/Flavours/class.ilBadgePictureMachine.php +++ b/components/ILIAS/Badge/classes/Flavours/class.ilBadgePictureMachine.php @@ -46,7 +46,6 @@ class ilBadgePictureMachine extends AbstractMachine public function __construct() { parent::__construct(); - $this->extract_pages = new ExtractPages(); $this->crop = new CropSquare(); } @@ -74,27 +73,11 @@ public function processStream( $this->definition = $for_definition; $this->information = $information; - $page_stream = $this->extract_pages->processStream( - $this->information, - $stream, - new PagesToExtract( - false, - $this->definition->getWidths()['xl'], - 1, - false, - 100 - ) - )->current()?->getStream(); - - if ($page_stream === null) { - return; - } - $i = 0; foreach ($for_definition->getWidths() as $width) { yield new Result( $for_definition, - $this->cropImage($page_stream, $width), + $this->cropImage($stream, $width), $i, true ); @@ -110,7 +93,6 @@ protected function cropImage( ? 100 : $this->definition->getQuality(); - return $this->crop->processStream( $this->information, $stream, From 87bc2ce056b4ed743ca4c27ba5c2f7ec803c44ce Mon Sep 17 00:00:00 2001 From: Thibeau Fuhrer Date: Tue, 25 Nov 2025 17:05:44 +0100 Subject: [PATCH 033/865] [FIX] UI: use all node-ids when building `Field\Node\Noderetrieval::getNodes()` whitelist. --- .../src/Implementation/Component/Input/Field/Renderer.php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/components/ILIAS/UI/src/Implementation/Component/Input/Field/Renderer.php b/components/ILIAS/UI/src/Implementation/Component/Input/Field/Renderer.php index 2ce701ae764c..65abfedcd4be 100755 --- a/components/ILIAS/UI/src/Implementation/Component/Input/Field/Renderer.php +++ b/components/ILIAS/UI/src/Implementation/Component/Input/Field/Renderer.php @@ -1238,9 +1238,9 @@ protected function prepareTreeSelectTemplate( $template->setVariable('VALUE', $value_template->get('with_value_template')); $template->parseCurrentBlock(); - foreach ($leaf->getParentIds() as $parent_id) { - // deduplicate overlaping parent ids by using them as offset - $sync_node_id_whitelst[$parent_id] = $parent_id; + foreach ($leaf->getFullPath() as $node_id) { + // deduplicate overlaping node ids by using them as offset + $sync_node_id_whitelst[$node_id] = $node_id; } } From fe0dc87675962f515bb5d4376b25faecb6bcb15d Mon Sep 17 00:00:00 2001 From: Matthias Kunkel Date: Tue, 25 Nov 2025 17:23:56 +0100 Subject: [PATCH 034/865] =?UTF-8?q?Fixed=20Mantis=20#46316:=20German:=20ak?= =?UTF-8?q?kreditieren=20und=20Geh=C3=B6rt=20Zu?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lang/ilias_de.lang | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lang/ilias_de.lang b/lang/ilias_de.lang index cc8c150fe89c..ddb8ac4de66f 100644 --- a/lang/ilias_de.lang +++ b/lang/ilias_de.lang @@ -13526,7 +13526,7 @@ prg#:#prg_auto_member_select_grp#:#Gruppen prg#:#prg_auto_member_select_role#:#Rollen prg#:#prg_autoassignment#:#(automatisch) prg#:#prg_availability_action_not_allowed#:#Studienprogramme haben keine zeitliche Verfügbarkeit. -prg#:#prg_belongs_to#:#Gehört Zu +prg#:#prg_belongs_to#:#Gehört zu prg#:#prg_can_not_manage_in_repo#:#Sie dürfen dieses Studienprogramm nicht verwalten, da Ihm bereits Mitglieder zugeordnet sind. prg#:#prg_cancel#:#Abbrechen prg#:#prg_cancel_acknowledge_completed_courses#:#Keine Kurse anerkennen @@ -13580,7 +13580,7 @@ prg#:#prg_manage#:#Verwalten prg#:#prg_manage_members#:#Zuweisungen eines Studienprogramms bearbeiten prg#:#prg_manage_members_short#:#Zuweisungen verwalten prg#:#prg_manual_status#:#Manueller Status -prg#:#prg_mark_accredited#:#akkreditieren +prg#:#prg_mark_accredited#:#Akkreditieren prg#:#prg_mark_accredited_multi_success#:#Ausgewählte Benutzer akkreditiert. prg#:#prg_mark_accredited_success#:#Das Programm wurde für den Benutzer erfolgreich akkreditiert. prg#:#prg_mark_not_relevant_multi_success#:#Ausgewählte Benutzer als nicht relevant markiert. From 0a95bf0cd81983b9997aa717da8fb71b82aa066a Mon Sep 17 00:00:00 2001 From: Matthias Kunkel Date: Tue, 25 Nov 2025 17:25:52 +0100 Subject: [PATCH 035/865] Fixed Mantis #46284: Nachzug: Benutzervereinbarung > Nutzungsvereinbarung --- lang/ilias_de.lang | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lang/ilias_de.lang b/lang/ilias_de.lang index ddb8ac4de66f..78f2da1a0632 100644 --- a/lang/ilias_de.lang +++ b/lang/ilias_de.lang @@ -6739,7 +6739,7 @@ content#:#cont_lpe_openid_login_form#:#OpenID-Login-Maske content#:#cont_lpe_registration_link#:#Link zur Neuanmeldung content#:#cont_lpe_saml_login#:#SAML-Login content#:#cont_lpe_shib_login_form#:#Shibboleth-Login-Maske -content#:#cont_lpe_user_agreement_link#:#Link zur Benutzervereinbarung +content#:#cont_lpe_user_agreement_link#:#Link zur Nutzungsvereinbarung content#:#cont_lrs_settings#:#Einstellungen content#:#cont_lvalue#:#Datenelement content#:#cont_maintenance#:#Wartung From 0d3ea024c54ae3dd97562f703152da15d97ffe5e Mon Sep 17 00:00:00 2001 From: Matthias Kunkel Date: Tue, 25 Nov 2025 17:34:49 +0100 Subject: [PATCH 036/865] Fixed Mantis #41922: Message regarding missing date for course period or availability period is misleading --- lang/ilias_de.lang | 2 +- lang/ilias_en.lang | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/lang/ilias_de.lang b/lang/ilias_de.lang index 78f2da1a0632..e05842f3efc0 100644 --- a/lang/ilias_de.lang +++ b/lang/ilias_de.lang @@ -9976,7 +9976,7 @@ form#:#form_msg_max_upload#:#Maximale Anzahl von gleichzeitig hochladbaren Datei form#:#form_msg_numeric_value_required#:#Bitte geben Sie einen numerischen Wert ein. form#:#form_msg_value_too_high#:#Wert ist zu hoch. Bitte geben Sie einen niedrigeren Wert ein. form#:#form_msg_value_too_low#:#Wert ist zu niedrig. Bitte geben Sie einen höheren Wert ein. -form#:#form_msg_wrong_date#:#Falsches Datum. Bitte geben Sie ein gültiges Datum an. +form#:#form_msg_wrong_date#:#Bitte überprüfen Sie Ihre Datumseingabe. Sowohl ein Startdatum als auch ein Enddatum sind erforderlich und das Startdatum darf nicht später liegen als das Enddatum. form#:#form_no_link#:#Kein Link form#:#form_open_answer#:#Freitext form#:#form_password_not_allowed_for_auth#:#Für die gewählte Authentifizierungmethode können Sie das Passwort nicht ändern diff --git a/lang/ilias_en.lang b/lang/ilias_en.lang index 0fa2a8d1c413..110959414b41 100644 --- a/lang/ilias_en.lang +++ b/lang/ilias_en.lang @@ -9977,7 +9977,7 @@ form#:#form_msg_max_upload#:#Maximum number of simultaneously uploadable files: form#:#form_msg_numeric_value_required#:#Please enter a numeric value. form#:#form_msg_value_too_high#:#Value too high. Please enter a lower value. form#:#form_msg_value_too_low#:#Value too low. Please enter a higher value. -form#:#form_msg_wrong_date#:#Wrong date. Please enter a valid date. +form#:#form_msg_wrong_date#:#Please check your date entry. Both a start date and an end date are required and the start date cannot be later than the end date. form#:#form_no_link#:#No Link form#:#form_open_answer#:#Open Answer form#:#form_password_not_allowed_for_auth#:#It is not possible to change the password for the chosen authentication method. From 09e5fe41a6f59b0a5284f4e1ccf90591450266f5 Mon Sep 17 00:00:00 2001 From: Matthias Kunkel Date: Tue, 25 Nov 2025 17:38:23 +0100 Subject: [PATCH 037/865] Fixed Mantis #46214: Name des Repositoriums --> Name der Installation --- lang/ilias_de.lang | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lang/ilias_de.lang b/lang/ilias_de.lang index e05842f3efc0..0646e9bd6990 100644 --- a/lang/ilias_de.lang +++ b/lang/ilias_de.lang @@ -12066,7 +12066,7 @@ meta#:#md_oai_identifier_prefix#:#OAI Präfix meta#:#md_oai_identifier_prefix_info#:#Dieser Präfix wird als Namespace in den Bezeichnern von abgefragten OER-Datensätzen benutzt. meta#:#md_oai_pmh_enabled#:#Abfragen über OAI-PMH Schnittstelle erlauben meta#:#md_oai_pmh_enabled_info#:#Wenn aktiviert, können vom OER-Harvester gefundene Resourcen von externen Parteien wie OER Repositorien abgefragt werden. -meta#:#md_oai_repository_name#:#Name des Repositoriums +meta#:#md_oai_repository_name#:#Name der Installation meta#:#md_oai_repository_name_info#:#Bei Anfragen über die Schnittstelle wird dies als Name dieser ILIAS-Installation angegeben. meta#:#md_obj_types#:#Zugeordnete Objekte meta#:#md_record_export_table#:#Exportdateien From 443ff90855e4b04f13d6bdc435be3d52c5f05951 Mon Sep 17 00:00:00 2001 From: Matheus Zych Date: Wed, 17 Sep 2025 08:28:10 +0200 Subject: [PATCH 038/865] Improves news renderer factory for future use --- .../News/classes/class.ilNewsRendererFactory.php | 15 +++------------ 1 file changed, 3 insertions(+), 12 deletions(-) diff --git a/components/ILIAS/News/classes/class.ilNewsRendererFactory.php b/components/ILIAS/News/classes/class.ilNewsRendererFactory.php index 3cfd4ae0400f..f703059c1e77 100755 --- a/components/ILIAS/News/classes/class.ilNewsRendererFactory.php +++ b/components/ILIAS/News/classes/class.ilNewsRendererFactory.php @@ -30,19 +30,10 @@ public static function getRenderer(string $a_context_obj_type): ilNewsRendererGU global $DIC; if (!isset(self::$renderer[$a_context_obj_type])) { - $obj_def = $DIC["objDefinition"]; + $class_name = $DIC['objDefinition']->getClassName($a_context_obj_type); + $class = "il{$class_name}NewsRendererGUI"; - $comp = $obj_def->getComponentForType($a_context_obj_type); - $class = $obj_def->getClassName($a_context_obj_type); - - $class = "il" . $class . "NewsRendererGUI"; - $type_renderer_path = "./" . $comp . "/classes/class." . $class . ".php"; - if (is_file($type_renderer_path)) { - $rend = new $class(); - } else { - $rend = new ilNewsDefaultRendererGUI(); - } - self::$renderer[$a_context_obj_type] = $rend; + self::$renderer[$a_context_obj_type] = class_exists($class) ? new $class() : new ilNewsDefaultRendererGUI(); } return self::$renderer[$a_context_obj_type]; From 25d06c74f234fb1471d2b730c8d32543ed9bc0c2 Mon Sep 17 00:00:00 2001 From: Lukas Scharmer Date: Tue, 25 Nov 2025 16:18:40 +0100 Subject: [PATCH 039/865] LegalDocuments: Fix wrong history count with deleted documents --- .../classes/Repository/DatabaseHistoryRepository.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/components/ILIAS/LegalDocuments/classes/Repository/DatabaseHistoryRepository.php b/components/ILIAS/LegalDocuments/classes/Repository/DatabaseHistoryRepository.php index e41639f62d48..0f4006c21c64 100755 --- a/components/ILIAS/LegalDocuments/classes/Repository/DatabaseHistoryRepository.php +++ b/components/ILIAS/LegalDocuments/classes/Repository/DatabaseHistoryRepository.php @@ -145,8 +145,8 @@ public function countAll(array $filter = []): int [$filter, $join] = $this->filterAndJoin($filter); return (int) $this->database->fetchAssoc($this->database->query( - "SELECT COUNT(1) as count FROM $tracking INNER JOIN $version ON $tracking.tosv_id = $version.id INNER JOIN $documents ON $version.doc_id = $documents.id AND $version.provider = $provider " . - "$join WHERE $filter" + "SELECT COUNT(1) as count FROM $tracking INNER JOIN $version ON $tracking.tosv_id = $version.id LEFT JOIN $documents ON $version.doc_id = $documents.id " . + "$join WHERE $version.provider = $provider AND $filter" ))['count']; } From 3e949d6d4b90a1847024b39455c4c2c18d0a1232 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Katrin=20Gro=C3=9Fkopf?= Date: Wed, 26 Nov 2025 08:44:34 +0100 Subject: [PATCH 040/865] 46130 fix update when custom language file is installed Co-authored-by: Keven Clausen --- .../ILIAS/Language/classes/Setup/class.ilSetupLanguage.php | 3 +++ 1 file changed, 3 insertions(+) diff --git a/components/ILIAS/Language/classes/Setup/class.ilSetupLanguage.php b/components/ILIAS/Language/classes/Setup/class.ilSetupLanguage.php index ee77f905e413..89b7e55efa37 100755 --- a/components/ILIAS/Language/classes/Setup/class.ilSetupLanguage.php +++ b/components/ILIAS/Language/classes/Setup/class.ilSetupLanguage.php @@ -519,6 +519,9 @@ protected function insertLanguage(string $lang_key, string $scope = ""): void " AND module = " . $ilDB->quote($module, "text"); $set = $ilDB->query($q); $row = $ilDB->fetchAssoc($set); + if ($row === null) { + continue; + } $arr2 = unserialize($row["lang_array"], ["allowed_classes" => false]); if (is_array($arr2)) { $lang_arr = array_merge($arr2, $lang_arr); From 85b3c366fb96246b267a5dffbad25e93d8afa0b3 Mon Sep 17 00:00:00 2001 From: qualitus-dahme Date: Wed, 26 Nov 2025 10:22:36 +0100 Subject: [PATCH 041/865] Remove deprecated data directory that is no longer required by the Scorm2004 component (#10486) --- components/ILIAS/Scorm2004/data/.htaccess | 1 - components/ILIAS/Scorm2004/data/db-schema.xml | 581 - components/ILIAS/Scorm2004/data/db.xsl | 90 - components/ILIAS/Scorm2004/data/empty.sql | 22 - .../ILIAS/Scorm2004/data/mysql_schema.sql | 133 - .../data/sampledata/adl_testcases.sql | 25586 ---------------- .../ILIAS/Scorm2004/data/xmldb-mapping.xls | Bin 77824 -> 0 bytes 7 files changed, 26413 deletions(-) delete mode 100755 components/ILIAS/Scorm2004/data/.htaccess delete mode 100755 components/ILIAS/Scorm2004/data/db-schema.xml delete mode 100755 components/ILIAS/Scorm2004/data/db.xsl delete mode 100755 components/ILIAS/Scorm2004/data/empty.sql delete mode 100755 components/ILIAS/Scorm2004/data/mysql_schema.sql delete mode 100755 components/ILIAS/Scorm2004/data/sampledata/adl_testcases.sql delete mode 100755 components/ILIAS/Scorm2004/data/xmldb-mapping.xls diff --git a/components/ILIAS/Scorm2004/data/.htaccess b/components/ILIAS/Scorm2004/data/.htaccess deleted file mode 100755 index 3a4288278871..000000000000 --- a/components/ILIAS/Scorm2004/data/.htaccess +++ /dev/null @@ -1 +0,0 @@ -Deny from all diff --git a/components/ILIAS/Scorm2004/data/db-schema.xml b/components/ILIAS/Scorm2004/data/db-schema.xml deleted file mode 100755 index 8c111282cb1d..000000000000 --- a/components/ILIAS/Scorm2004/data/db-schema.xml +++ /dev/null @@ -1,581 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - -
- - - - - - - - - -
- - - - - - - - - - - - - - - -
- - - - - - - - - - - - -
- - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - - -
- - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - - -
- - - - - - - - - - - - - - - - -
-
diff --git a/components/ILIAS/Scorm2004/data/db.xsl b/components/ILIAS/Scorm2004/data/db.xsl deleted file mode 100755 index ac16fcd80f68..000000000000 --- a/components/ILIAS/Scorm2004/data/db.xsl +++ /dev/null @@ -1,90 +0,0 @@ - - - - - - CREATE TABLE ( - ); - - - - - - - `` - - - - INTEGER - - - - VARCHAR() - - - - TEXT - - - - TINYINT - - - - REAL - - - VARCHAR(20) - - - - BLOB - - - - PRIMARY KEY AUTO_INCREMENT - - - DEFAULT '' - - - - , - - - - - - - - ALTER TABLE ADD PRIMARY KEY(); - - - - - - CREATE INDEX ON ( ); - - - diff --git a/components/ILIAS/Scorm2004/data/empty.sql b/components/ILIAS/Scorm2004/data/empty.sql deleted file mode 100755 index 4b1e79811ebb..000000000000 --- a/components/ILIAS/Scorm2004/data/empty.sql +++ /dev/null @@ -1,22 +0,0 @@ -DELETE FROM cmi_comment ; -DELETE FROM cmi_correct_response ; -DELETE FROM cmi_interaction ; -DELETE FROM cmi_node ; -DELETE FROM cmi_objective ; -DELETE FROM cp_auxilaryResource ; -DELETE FROM cp_condition ; -DELETE FROM cp_dependency ; -DELETE FROM cp_file ; -DELETE FROM cp_hideLMSUI ; -DELETE FROM cp_item ; -DELETE FROM cp_manifest ; -DELETE FROM cp_mapinfo ; -DELETE FROM cp_node ; -DELETE FROM cp_objective ; -DELETE FROM cp_organization ; -DELETE FROM cp_package ; -DELETE FROM cp_resource ; -DELETE FROM cp_rule ; -DELETE FROM cp_sequencing ; -DELETE FROM cp_tree ; -VACUUM ; diff --git a/components/ILIAS/Scorm2004/data/mysql_schema.sql b/components/ILIAS/Scorm2004/data/mysql_schema.sql deleted file mode 100755 index 032a367a07d1..000000000000 --- a/components/ILIAS/Scorm2004/data/mysql_schema.sql +++ /dev/null @@ -1,133 +0,0 @@ - -CREATE TABLE cmi_comment(`cmi_comment_id` INTEGER PRIMARY KEY AUTO_INCREMENT, `cmi_node_id` INTEGER, `comment` TEXT, `timestamp` VARCHAR(20), `location` VARCHAR(255), `sourceIsLMS` TINYINT ); -CREATE INDEX cmi_comment_id ON cmi_comment(cmi_comment_id); - -CREATE INDEX cmi_id ON cmi_comment(cmi_node_id); - -CREATE TABLE cmi_correct_response(`cmi_correct_response_id` INTEGER PRIMARY KEY AUTO_INCREMENT, `cmi_interaction_id` INTEGER, `pattern` VARCHAR(255) ); -CREATE INDEX cmi_correct_response_id ON cmi_correct_response(cmi_correct_response_id); - -CREATE INDEX cmi_correct_responsecmi_interaction_id ON cmi_correct_response(cmi_interaction_id); - -CREATE TABLE cmi_interaction(`cmi_interaction_id` INTEGER PRIMARY KEY AUTO_INCREMENT, `cmi_node_id` INTEGER, `description` TEXT, `id` VARCHAR(255), `latency` VARCHAR(20), `learner_response` TEXT, `result` TEXT, `timestamp` VARCHAR(20), `type` VARCHAR(32), `weighting` REAL ); -CREATE INDEX cmi_interaction_id ON cmi_interaction(cmi_interaction_id); - -CREATE INDEX id ON cmi_interaction(id); - -CREATE INDEX type ON cmi_interaction(type); - -CREATE TABLE cmi_node(`accesscount` INTEGER, `accessduration` VARCHAR(20), `accessed` VARCHAR(20), `activityAbsoluteDuration` VARCHAR(20), `activityAttemptCount` INTEGER, `activityExperiencedDuration` VARCHAR(20), `activityProgressStatus` TINYINT, `attemptAbsoluteDuration` VARCHAR(20), `attemptCompletionAmount` REAL, `attemptCompletionStatus` TINYINT, `attemptExperiencedDuration` VARCHAR(20), `attemptProgressStatus` TINYINT, `audio_captioning` INTEGER, `audio_level` REAL, `availableChildren` VARCHAR(255), `cmi_node_id` INTEGER PRIMARY KEY AUTO_INCREMENT, `completion` REAL, `completion_status` VARCHAR(32), `completion_threshold` VARCHAR(32), `cp_node_id` INTEGER, `created` VARCHAR(20), `credit` VARCHAR(32), `delivery_speed` REAL, `exit` VARCHAR(255), `language` VARCHAR(5), `launch_data` TEXT, `learner_name` VARCHAR(255), `location` VARCHAR(255), `max` REAL, `min` REAL, `mode` VARCHAR(20), `modified` VARCHAR(20), `progress_measure` REAL, `raw` REAL, `scaled` REAL, `scaled_passing_score` REAL, `session_time` VARCHAR(20), `success_status` VARCHAR(255), `suspend_data` TEXT, `total_time` VARCHAR(20), `user_id` INTEGER ); -CREATE INDEX cmi_itemcp_id ON cmi_node(cp_node_id); - -CREATE INDEX completion_status ON cmi_node(completion_status); - -CREATE INDEX credit ON cmi_node(credit); - -CREATE INDEX id ON cmi_node(cmi_node_id); - -CREATE INDEX user_id ON cmi_node(user_id); - -CREATE TABLE cmi_objective(`cmi_interaction_id` INTEGER, `cmi_node_id` INTEGER, `cmi_objective_id` INTEGER PRIMARY KEY AUTO_INCREMENT, `completion_status` VARCHAR(32), `description` TEXT, `id` VARCHAR(255), `max` REAL, `min` REAL, `raw` REAL, `scaled` REAL, `progress_measure` REAL, `success_status` VARCHAR(32), `scope` VARCHAR(16) ); -CREATE INDEX cmi_objective_id ON cmi_objective(cmi_objective_id); - -CREATE INDEX cmi_objectivecmi_interaction_id ON cmi_objective(cmi_interaction_id); - -CREATE INDEX id ON cmi_objective(id); - -CREATE INDEX success_status ON cmi_objective(success_status); - -CREATE TABLE cp_auxilaryResource(`auxiliaryResourceID` VARCHAR(255), `cp_node_id` INTEGER, `purpose` VARCHAR(255) ); -ALTER TABLE cp_auxilaryResource ADD PRIMARY KEY(cp_node_id); - -CREATE TABLE cp_condition(`condition` VARCHAR(50), `cp_node_id` INTEGER, `measureThreshold` VARCHAR(50), `operator` VARCHAR(50), `referencedObjective` VARCHAR(50) ); -ALTER TABLE cp_condition ADD PRIMARY KEY(cp_node_id); - -CREATE TABLE cp_dependency(`cp_node_id` INTEGER, `resourceId` VARCHAR(50) ); -ALTER TABLE cp_dependency ADD PRIMARY KEY(cp_node_id); - -CREATE INDEX cp_id ON cp_dependency(cp_node_id); - -CREATE INDEX identifierref ON cp_dependency(resourceId); - -CREATE TABLE cp_file(`cp_node_id` INTEGER, `href` VARCHAR(50) ); -ALTER TABLE cp_file ADD PRIMARY KEY(cp_node_id); - -CREATE INDEX cp_id ON cp_file(cp_node_id); - -CREATE TABLE cp_hideLMSUI(`cp_node_id` INTEGER, `value` VARCHAR(50) ); -ALTER TABLE cp_hideLMSUI ADD PRIMARY KEY(cp_node_id); - -CREATE INDEX ss_sequencing_id ON cp_hideLMSUI(value); - -CREATE TABLE cp_item(`completionThreshold` VARCHAR(50), `cp_node_id` INTEGER, `dataFromLMS` VARCHAR(255), `id` VARCHAR(200), `isvisible` VARCHAR(32), `parameters` VARCHAR(255), `resourceId` VARCHAR(200), `sequencingId` VARCHAR(50), `timeLimitAction` VARCHAR(30), `title` VARCHAR(255) ); -ALTER TABLE cp_item ADD PRIMARY KEY(cp_node_id); - -CREATE INDEX cp_itemidentifier ON cp_item(id); - -CREATE INDEX ss_sequencing_id ON cp_item(sequencingId); - -CREATE TABLE cp_manifest(`base` VARCHAR(200), `cp_node_id` INTEGER, `defaultOrganization` VARCHAR(50), `id` VARCHAR(200), `title` VARCHAR(255), `uri` VARCHAR(255), `version` VARCHAR(200) ); -ALTER TABLE cp_manifest ADD PRIMARY KEY(cp_node_id); - -CREATE INDEX identifier ON cp_manifest(id); - -CREATE TABLE cp_mapinfo(`cp_node_id` INTEGER, `readNormalizedMeasure` TINYINT, `readSatisfiedStatus` TINYINT, `targetObjectiveID` VARCHAR(50), `writeNormalizedMeasure` TINYINT, `writeSatisfiedStatus` TINYINT ); -ALTER TABLE cp_mapinfo ADD PRIMARY KEY(cp_node_id); - -CREATE INDEX targetObjectiveId ON cp_mapinfo(targetObjectiveID); - -CREATE TABLE cp_node(`cp_node_id` INTEGER PRIMARY KEY AUTO_INCREMENT, `nodeName` VARCHAR(50), `slm_id` INTEGER ); -CREATE INDEX cp_id ON cp_node(cp_node_id); - -CREATE INDEX nodeName ON cp_node(nodeName); - -CREATE TABLE cp_objective(`cp_node_id` INTEGER, `minNormalizedMeasure` VARCHAR(50), `objectiveID` VARCHAR(200), `primary` TINYINT, `satisfiedByMeasure` TINYINT ); -ALTER TABLE cp_objective ADD PRIMARY KEY(cp_node_id); - -CREATE TABLE cp_organization(`cp_node_id` INTEGER, `id` VARCHAR(200), `objectivesGlobalToSystem` TINYINT, `sequencingId` VARCHAR(50), `structure` VARCHAR(200), `title` VARCHAR(255) ); -ALTER TABLE cp_organization ADD PRIMARY KEY(cp_node_id); - -CREATE INDEX cp_organizationid ON cp_organization(id); - -CREATE INDEX ss_sequencing_id ON cp_organization(sequencingId); - -CREATE TABLE cp_package(`created` VARCHAR(20), `identifier` VARCHAR(255), `jsdata` TEXT, `modified` VARCHAR(20), `obj_id` INTEGER, `persistPreviousAttempts` INTEGER, `settings` VARCHAR(255), `xmldata` TEXT ); -ALTER TABLE cp_package ADD PRIMARY KEY(obj_id); - -CREATE INDEX identifier ON cp_package(identifier); - -CREATE TABLE cp_resource(`base` VARCHAR(200), `cp_node_id` INTEGER, `href` VARCHAR(250), `id` VARCHAR(200), `scormType` VARCHAR(32), `type` VARCHAR(30) ); -ALTER TABLE cp_resource ADD PRIMARY KEY(cp_node_id); - -CREATE INDEX import_id ON cp_resource(id); - -CREATE TABLE cp_rule(`action` VARCHAR(50), `childActivitySet` VARCHAR(50), `conditionCombination` VARCHAR(50), `cp_node_id` INTEGER, `minimumCount` INTEGER, `minimumPercent` VARCHAR(50), `type` VARCHAR(50) ); -ALTER TABLE cp_rule ADD PRIMARY KEY(cp_node_id); - -CREATE TABLE cp_sequencing(`activityAbsoluteDurationLimit` VARCHAR(20), `activityExperiencedDurationLimit` VARCHAR(20), `attemptAbsoluteDurationLimit` VARCHAR(20), `attemptExperiencedDurationLimit` VARCHAR(20), `attemptLimit` INTEGER, `beginTimeLimit` VARCHAR(20), `choice` TINYINT, `choiceExit` TINYINT, `completionSetByContent` TINYINT, `constrainChoice` TINYINT, `cp_node_id` INTEGER, `endTimeLimit` VARCHAR(20), `flow` TINYINT, `forwardOnly` TINYINT, `id` VARCHAR(200), `measureSatisfactionIfActive` TINYINT, `objectiveMeasureWeight` REAL, `objectiveSetByContent` TINYINT, `preventActivation` TINYINT, `randomizationTiming` VARCHAR(50), `reorderChildren` TINYINT, `requiredForCompleted` VARCHAR(50), `requiredForIncomplete` VARCHAR(50), `requiredForNotSatisfied` VARCHAR(50), `requiredForSatisfied` VARCHAR(50), `rollupObjectiveSatisfied` TINYINT, `rollupProgressCompletion` TINYINT, `selectCount` INTEGER, `selectionTiming` VARCHAR(50), `sequencingId` VARCHAR(50), `tracked` TINYINT, `useCurrentAttemptObjectiveInfo` TINYINT, `useCurrentAttemptProgressInfo` TINYINT ); -ALTER TABLE cp_sequencing ADD PRIMARY KEY(cp_node_id); - -CREATE INDEX cp_sequencingid ON cp_sequencing(id); - -CREATE TABLE cp_tree(`child` INTEGER, `depth` INTEGER, `lft` INTEGER, `obj_id` INTEGER, `parent` INTEGER, `rgt` INTEGER ); -CREATE INDEX child ON cp_tree(child); - -CREATE INDEX cp_treeobj_id ON cp_tree(obj_id); - -CREATE INDEX parent ON cp_tree(parent); - -CREATE TABLE object_data(`create_date` VARCHAR(20), `description` VARCHAR(128), `import_id` VARCHAR(50), `last_update` VARCHAR(20), `obj_id` INTEGER PRIMARY KEY AUTO_INCREMENT, `owner` INTEGER, `title` VARCHAR(70), `type` VARCHAR(4) ); -CREATE TABLE object_reference(`obj_id` INTEGER, `ref_id` INTEGER PRIMARY KEY AUTO_INCREMENT ); -CREATE INDEX object_referenceobj_id ON object_reference(obj_id); - -CREATE TABLE sahs_lm(`api_adapter` VARCHAR(80), `api_func_prefix` VARCHAR(20), `auto_review` VARCHAR(1), `credit` VARCHAR(32), `default_lesson_mode` VARCHAR(32), `id` INTEGER, `online` VARCHAR(1), `type` VARCHAR(32) ); -ALTER TABLE sahs_lm ADD PRIMARY KEY(id); - -CREATE TABLE usr_data(`email` VARCHAR(80), `firstname` VARCHAR(32), `lastname` VARCHAR(32), `login` VARCHAR(80), `matriculation` VARCHAR(50), `passwd` VARCHAR(32), `title` VARCHAR(32), `usr_id` INTEGER PRIMARY KEY AUTO_INCREMENT ); -CREATE TABLE lng_data(`module` VARCHAR(30), `identifier` VARCHAR(50), `lang_key` VARCHAR(2), `value` BLOB ); -ALTER TABLE lng_data ADD PRIMARY KEY(module); - -CREATE INDEX lng_data_module ON lng_data(module); - -CREATE INDEX lng_data_lang_key ON lng_data(lang_key); - diff --git a/components/ILIAS/Scorm2004/data/sampledata/adl_testcases.sql b/components/ILIAS/Scorm2004/data/sampledata/adl_testcases.sql deleted file mode 100755 index 39836dc1b140..000000000000 --- a/components/ILIAS/Scorm2004/data/sampledata/adl_testcases.sql +++ /dev/null @@ -1,25586 +0,0 @@ -INSERT INTO cp_condition VALUES ('satisfied', '152', '', '', ''); -INSERT INTO cp_condition VALUES ('satisfied', '198', '', '', ''); -INSERT INTO cp_condition VALUES ('attempted', '247', '', '', ''); -INSERT INTO cp_condition VALUES ('completed', '248', '', 'not', ''); -INSERT INTO cp_condition VALUES ('attempted', '251', '', '', ''); -INSERT INTO cp_condition VALUES ('completed', '252', '', 'not', ''); -INSERT INTO cp_condition VALUES ('attempted', '255', '', '', ''); -INSERT INTO cp_condition VALUES ('completed', '256', '', 'not', ''); -INSERT INTO cp_condition VALUES ('attempted', '320', '', '', ''); -INSERT INTO cp_condition VALUES ('completed', '321', '', 'not', ''); -INSERT INTO cp_condition VALUES ('attempted', '324', '', '', ''); -INSERT INTO cp_condition VALUES ('completed', '325', '', 'not', ''); -INSERT INTO cp_condition VALUES ('attempted', '328', '', '', ''); -INSERT INTO cp_condition VALUES ('completed', '329', '', 'not', ''); -INSERT INTO cp_condition VALUES ('attempted', '440', '', '', ''); -INSERT INTO cp_condition VALUES ('attempted', '513', '', '', ''); -INSERT INTO cp_condition VALUES ('always', '718', '', '', ''); -INSERT INTO cp_condition VALUES ('always', '725', '', '', ''); -INSERT INTO cp_condition VALUES ('always', '781', '', '', ''); -INSERT INTO cp_condition VALUES ('always', '786', '', '', ''); -INSERT INTO cp_condition VALUES ('always', '790', '', '', ''); -INSERT INTO cp_condition VALUES ('attempted', '793', '', '', ''); -INSERT INTO cp_condition VALUES ('always', '841', '', '', ''); -INSERT INTO cp_condition VALUES ('attempted', '845', '', '', ''); -INSERT INTO cp_condition VALUES ('always', '851', '', '', ''); -INSERT INTO cp_condition VALUES ('always', '932', '', '', ''); -INSERT INTO cp_condition VALUES ('always', '963', '', '', ''); -INSERT INTO cp_condition VALUES ('always', '991', '', '', ''); -INSERT INTO cp_condition VALUES ('objectiveMeasureGreaterThan', '1199', '0.4', '', ''); -INSERT INTO cp_condition VALUES ('objectiveMeasureLessThan', '1249', '0.6', '', ''); -INSERT INTO cp_condition VALUES ('objectiveMeasureGreaterThan', '1299', '0.5', '', ''); -INSERT INTO cp_condition VALUES ('objectiveMeasureLessThan', '1333', '0.25', '', ''); -INSERT INTO cp_condition VALUES ('satisfied', '1366', '', '', ''); -INSERT INTO cp_condition VALUES ('satisfied', '1368', '', '', ''); -INSERT INTO cp_condition VALUES ('satisfied', '1417', '', '', ''); -INSERT INTO cp_condition VALUES ('satisfied', '1419', '', '', ''); -INSERT INTO cp_condition VALUES ('satisfied', '1468', '', '', ''); -INSERT INTO cp_condition VALUES ('satisfied', '1470', '', '', ''); -INSERT INTO cp_condition VALUES ('satisfied', '1472', '', '', ''); -INSERT INTO cp_condition VALUES ('satisfied', '1514', '', '', ''); -INSERT INTO cp_condition VALUES ('objectiveMeasureGreaterThan', '1557', '0.75', '', ''); -INSERT INTO cp_condition VALUES ('satisfied', '1600', '', '', ''); -INSERT INTO cp_condition VALUES ('satisfied', '1644', '', 'not', 'obj1'); -INSERT INTO cp_condition VALUES ('objectiveMeasureLessThan', '1680', '0.25', '', 'obj1'); -INSERT INTO cp_condition VALUES ('satisfied', '1786', '', 'not', ''); -INSERT INTO cp_condition VALUES ('satisfied', '1791', '', '', ''); -INSERT INTO cp_condition VALUES ('satisfied', '1796', '', '', ''); -INSERT INTO cp_condition VALUES ('satisfied', '1801', '', '', ''); -INSERT INTO cp_condition VALUES ('satisfied', '1806', '', '', ''); -INSERT INTO cp_condition VALUES ('objectiveStatusKnown', '1865', '', 'not', ''); -INSERT INTO cp_condition VALUES ('satisfied', '1870', '', '', ''); -INSERT INTO cp_condition VALUES ('satisfied', '1875', '', '', ''); -INSERT INTO cp_condition VALUES ('satisfied', '1880', '', 'not', ''); -INSERT INTO cp_condition VALUES ('satisfied', '1885', '', 'not', ''); -INSERT INTO cp_condition VALUES ('objectiveStatusKnown', '1886', '', 'not', 'obj1'); -INSERT INTO cp_condition VALUES ('completed', '1958', '', '', ''); -INSERT INTO cp_condition VALUES ('satisfied', '1960', '', '', ''); -INSERT INTO cp_condition VALUES ('satisfied', '2005', '', '', ''); -INSERT INTO cp_condition VALUES ('satisfied', '2010', '', 'not', ''); -INSERT INTO cp_condition VALUES ('objectiveStatusKnown', '2057', '', 'not', ''); -INSERT INTO cp_condition VALUES ('satisfied', '2062', '', '', ''); -INSERT INTO cp_condition VALUES ('objectiveStatusKnown', '2105', '', 'not', ''); -INSERT INTO cp_condition VALUES ('objectiveStatusKnown', '2157', '', '', ''); -INSERT INTO cp_condition VALUES ('objectiveMeasureKnown', '2158', '', '', ''); -INSERT INTO cp_condition VALUES ('objectiveStatusKnown', '2160', '', '', ''); -INSERT INTO cp_condition VALUES ('objectiveMeasureKnown', '2161', '', '', ''); -INSERT INTO cp_condition VALUES ('objectiveStatusKnown', '2204', '', '', 'obj1'); -INSERT INTO cp_condition VALUES ('satisfied', '2205', '', 'not', 'obj1'); -INSERT INTO cp_condition VALUES ('objectiveMeasureLessThan', '2252', '0.75', '', 'obj1'); -INSERT INTO cp_condition VALUES ('objectiveMeasureGreaterThan', '2303', '0.0', '', ''); -INSERT INTO cp_condition VALUES ('always', '2305', '', '', ''); -INSERT INTO cp_condition VALUES ('objectiveMeasureLessThan', '2310', '0.5', '', ''); -INSERT INTO cp_condition VALUES ('objectiveMeasureGreaterThan', '2311', '0.5', '', ''); -INSERT INTO cp_condition VALUES ('always', '2313', '', '', ''); -INSERT INTO cp_condition VALUES ('objectiveMeasureLessThan', '2318', '1.0', '', ''); -INSERT INTO cp_condition VALUES ('always', '2320', '', '', ''); -INSERT INTO cp_condition VALUES ('objectiveMeasureGreaterThan', '2367', '0.0', '', ''); -INSERT INTO cp_condition VALUES ('always', '2369', '', '', ''); -INSERT INTO cp_condition VALUES ('objectiveMeasureLessThan', '2374', '0.5', '', ''); -INSERT INTO cp_condition VALUES ('objectiveMeasureGreaterThan', '2375', '0.5', '', ''); -INSERT INTO cp_condition VALUES ('always', '2377', '', '', ''); -INSERT INTO cp_condition VALUES ('objectiveMeasureLessThan', '2382', '1.0', '', ''); -INSERT INTO cp_condition VALUES ('always', '2384', '', '', ''); -INSERT INTO cp_condition VALUES ('satisfied', '2424', '', '', 'obj1'); -INSERT INTO cp_condition VALUES ('satisfied', '2429', '', '', 'obj2'); -INSERT INTO cp_condition VALUES ('completed', '2440', '', '', ''); -INSERT INTO cp_condition VALUES ('satisfied', '2442', '', 'not', ''); -INSERT INTO cp_condition VALUES ('satisfied', '2479', '', '', 'obj1'); -INSERT INTO cp_condition VALUES ('satisfied', '2484', '', '', 'obj2'); -INSERT INTO cp_condition VALUES ('completed', '2495', '', '', ''); -INSERT INTO cp_condition VALUES ('satisfied', '2497', '', 'not', ''); -INSERT INTO cp_condition VALUES ('satisfied', '2528', '', '', ''); -INSERT INTO cp_condition VALUES ('objectiveMeasureGreaterThan', '2574', '0.70', '', ''); -INSERT INTO cp_condition VALUES ('satisfied', '2621', '', '', ''); -INSERT INTO cp_condition VALUES ('objectiveMeasureGreaterThan', '2670', '0.70', '', ''); -INSERT INTO cp_condition VALUES ('satisfied', '2717', '', '', ''); -INSERT INTO cp_condition VALUES ('objectiveMeasureGreaterThan', '2768', '0.70', '', ''); -INSERT INTO cp_condition VALUES ('objectiveStatusKnown', '2813', '', '', 'obj1'); -INSERT INTO cp_condition VALUES ('objectiveMeasureKnown', '2814', '', 'not', 'obj1'); -INSERT INTO cp_condition VALUES ('objectiveStatusKnown', '2854', '', 'not', 'obj1'); -INSERT INTO cp_condition VALUES ('objectiveMeasureKnown', '2855', '', '', 'obj1'); -INSERT INTO cp_condition VALUES ('objectiveStatusKnown', '2895', '', '', 'obj1'); -INSERT INTO cp_condition VALUES ('objectiveMeasureKnown', '2896', '', '', 'obj1'); -INSERT INTO cp_condition VALUES ('objectiveStatusKnown', '2944', '', '', 'obj1'); -INSERT INTO cp_condition VALUES ('objectiveMeasureKnown', '2945', '', 'not', 'obj1'); -INSERT INTO cp_condition VALUES ('objectiveStatusKnown', '2994', '', 'not', 'obj1'); -INSERT INTO cp_condition VALUES ('objectiveMeasureKnown', '2995', '', '', 'obj1'); -INSERT INTO cp_condition VALUES ('objectiveStatusKnown', '3044', '', '', 'obj1'); -INSERT INTO cp_condition VALUES ('objectiveMeasureKnown', '3045', '', '', 'obj1'); -INSERT INTO cp_condition VALUES ('activityProgressKnown', '3243', '', 'not', ''); -INSERT INTO cp_condition VALUES ('completed', '3255', '', '', ''); -INSERT INTO cp_condition VALUES ('satisfied', '3257', '', '', ''); -INSERT INTO cp_condition VALUES ('activityProgressKnown', '3260', '', 'not', ''); -INSERT INTO cp_condition VALUES ('satisfied', '3262', '', '', ''); -INSERT INTO cp_condition VALUES ('satisfied', '3311', '', '', ''); -INSERT INTO cp_condition VALUES ('satisfied', '3313', '', '', ''); -INSERT INTO cp_condition VALUES ('satisfied', '3360', '', '', ''); -INSERT INTO cp_condition VALUES ('satisfied', '3362', '', '', ''); -INSERT INTO cp_condition VALUES ('completed', '3394', '', '', ''); -INSERT INTO cp_condition VALUES ('completed', '3396', '', '', ''); -INSERT INTO cp_condition VALUES ('completed', '3443', '', '', ''); -INSERT INTO cp_condition VALUES ('completed', '3445', '', '', ''); -INSERT INTO cp_condition VALUES ('completed', '3492', '', '', ''); -INSERT INTO cp_condition VALUES ('completed', '3494', '', '', ''); -INSERT INTO cp_condition VALUES ('satisfied', '3496', '', '', ''); -INSERT INTO cp_condition VALUES ('satisfied', '3543', '', '', ''); -INSERT INTO cp_condition VALUES ('satisfied', '3545', '', '', ''); -INSERT INTO cp_condition VALUES ('completed', '3547', '', '', ''); -INSERT INTO cp_condition VALUES ('completed', '3594', '', '', ''); -INSERT INTO cp_condition VALUES ('completed', '3596', '', '', ''); -INSERT INTO cp_condition VALUES ('attempted', '3598', '', '', ''); -INSERT INTO cp_condition VALUES ('completed', '3599', '', 'not', ''); -INSERT INTO cp_condition VALUES ('satisfied', '3646', '', '', ''); -INSERT INTO cp_condition VALUES ('satisfied', '3648', '', '', ''); -INSERT INTO cp_condition VALUES ('attempted', '3650', '', '', ''); -INSERT INTO cp_condition VALUES ('satisfied', '3651', '', 'not', ''); -INSERT INTO cp_condition VALUES ('satisfied', '3698', '', '', ''); -INSERT INTO cp_condition VALUES ('satisfied', '3700', '', '', ''); -INSERT INTO cp_condition VALUES ('satisfied', '3702', '', '', ''); -INSERT INTO cp_condition VALUES ('objectiveMeasureKnown', '3703', '', '', ''); -INSERT INTO cp_condition VALUES ('satisfied', '3750', '', '', ''); -INSERT INTO cp_condition VALUES ('satisfied', '3752', '', '', ''); -INSERT INTO cp_condition VALUES ('satisfied', '3754', '', '', ''); -INSERT INTO cp_condition VALUES ('objectiveMeasureKnown', '3755', '', '', ''); -INSERT INTO cp_condition VALUES ('completed', '3802', '', '', ''); -INSERT INTO cp_condition VALUES ('completed', '3804', '', '', ''); -INSERT INTO cp_condition VALUES ('completed', '3806', '', '', ''); -INSERT INTO cp_condition VALUES ('objectiveMeasureKnown', '3807', '', '', ''); -INSERT INTO cp_condition VALUES ('completed', '3854', '', '', ''); -INSERT INTO cp_condition VALUES ('completed', '3856', '', '', ''); -INSERT INTO cp_condition VALUES ('completed', '3858', '', '', ''); -INSERT INTO cp_condition VALUES ('objectiveMeasureKnown', '3859', '', '', ''); -INSERT INTO cp_condition VALUES ('completed', '3891', '', '', ''); -INSERT INTO cp_condition VALUES ('completed', '3893', '', '', ''); -INSERT INTO cp_condition VALUES ('completed', '3895', '', '', ''); -INSERT INTO cp_condition VALUES ('objectiveMeasureKnown', '3896', '', '', ''); -INSERT INTO cp_condition VALUES ('completed', '3943', '', '', ''); -INSERT INTO cp_condition VALUES ('completed', '3945', '', '', ''); -INSERT INTO cp_condition VALUES ('completed', '3947', '', '', ''); -INSERT INTO cp_condition VALUES ('objectiveMeasureKnown', '3948', '', '', ''); -INSERT INTO cp_condition VALUES ('completed', '3995', '', '', ''); -INSERT INTO cp_condition VALUES ('completed', '3997', '', '', ''); -INSERT INTO cp_condition VALUES ('satisfied', '3999', '', '', ''); -INSERT INTO cp_condition VALUES ('satisfied', '4046', '', '', ''); -INSERT INTO cp_condition VALUES ('satisfied', '4048', '', '', ''); -INSERT INTO cp_condition VALUES ('completed', '4050', '', '', ''); -INSERT INTO cp_condition VALUES ('satisfied', '4093', '', '', ''); -INSERT INTO cp_condition VALUES ('satisfied', '4095', '', '', ''); -INSERT INTO cp_condition VALUES ('satisfied', '4138', '', '', ''); -INSERT INTO cp_condition VALUES ('satisfied', '4140', '', '', ''); -INSERT INTO cp_condition VALUES ('completed', '4142', '', '', ''); -INSERT INTO cp_condition VALUES ('attemptLimitExceeded', '4189', '', '', ''); -INSERT INTO cp_condition VALUES ('always', '4192', '', '', ''); -INSERT INTO cp_condition VALUES ('completed', '4195', '', '', ''); -INSERT INTO cp_condition VALUES ('satisfied', '4197', '', 'not', ''); -INSERT INTO cp_condition VALUES ('attemptLimitExceeded', '4244', '', '', ''); -INSERT INTO cp_condition VALUES ('always', '4247', '', '', ''); -INSERT INTO cp_condition VALUES ('completed', '4250', '', '', ''); -INSERT INTO cp_condition VALUES ('satisfied', '4252', '', 'not', ''); -INSERT INTO cp_condition VALUES ('attemptLimitExceeded', '4299', '', '', ''); -INSERT INTO cp_condition VALUES ('completed', '4303', '', '', ''); -INSERT INTO cp_condition VALUES ('satisfied', '4305', '', 'not', ''); -INSERT INTO cp_condition VALUES ('satisfied', '4356', '', '', ''); -INSERT INTO cp_condition VALUES ('satisfied', '4358', '', '', ''); -INSERT INTO cp_condition VALUES ('objectiveStatusKnown', '4360', '', '', ''); -INSERT INTO cp_condition VALUES ('objectiveMeasureKnown', '4361', '', '', ''); -INSERT INTO cp_condition VALUES ('activityProgressKnown', '4362', '', '', ''); -INSERT INTO cp_condition VALUES ('attempted', '4364', '', '', ''); -INSERT INTO cp_condition VALUES ('completed', '4368', '', '', ''); -INSERT INTO cp_condition VALUES ('activityProgressKnown', '4370', '', '', ''); -INSERT INTO cp_condition VALUES ('completed', '4371', '', 'not', ''); -INSERT INTO cp_condition VALUES ('satisfied', '4426', '', '', ''); -INSERT INTO cp_condition VALUES ('satisfied', '4428', '', '', ''); -INSERT INTO cp_condition VALUES ('objectiveStatusKnown', '4430', '', '', ''); -INSERT INTO cp_condition VALUES ('objectiveMeasureKnown', '4431', '', '', ''); -INSERT INTO cp_condition VALUES ('activityProgressKnown', '4432', '', '', ''); -INSERT INTO cp_condition VALUES ('attempted', '4434', '', '', ''); -INSERT INTO cp_condition VALUES ('completed', '4437', '', '', ''); -INSERT INTO cp_condition VALUES ('activityProgressKnown', '4439', '', '', ''); -INSERT INTO cp_condition VALUES ('completed', '4440', '', 'not', ''); -INSERT INTO cp_condition VALUES ('attemptLimitExceeded', '4487', '', '', ''); -INSERT INTO cp_condition VALUES ('satisfied', '4490', '', '', ''); -INSERT INTO cp_condition VALUES ('completed', '4492', '', 'not', ''); -INSERT INTO cp_condition VALUES ('completed', '4494', '', '', ''); -INSERT INTO cp_condition VALUES ('completed', '4541', '', '', ''); -INSERT INTO cp_condition VALUES ('completed', '4543', '', '', ''); -INSERT INTO cp_condition VALUES ('satisfied', '4545', '', '', ''); -INSERT INTO cp_condition VALUES ('completed', '4596', '', '', ''); -INSERT INTO cp_condition VALUES ('completed', '4598', '', '', ''); -INSERT INTO cp_condition VALUES ('objectiveStatusKnown', '4600', '', 'not', ''); -INSERT INTO cp_condition VALUES ('always', '4639', '', '', ''); -INSERT INTO cp_condition VALUES ('objectiveStatusKnown', '4641', '', 'not', ''); -INSERT INTO cp_condition VALUES ('satisfied', '4643', '', '', ''); -INSERT INTO cp_condition VALUES ('satisfied', '4645', '', 'not', ''); -INSERT INTO cp_condition VALUES ('always', '4684', '', '', ''); -INSERT INTO cp_condition VALUES ('activityProgressKnown', '4686', '', 'not', ''); -INSERT INTO cp_condition VALUES ('completed', '4688', '', '', ''); -INSERT INTO cp_condition VALUES ('completed', '4690', '', 'not', ''); -INSERT INTO cp_condition VALUES ('satisfied', '4722', '', '', ''); -INSERT INTO cp_condition VALUES ('satisfied', '4724', '', '', ''); -INSERT INTO cp_condition VALUES ('completed', '4726', '', '', ''); -INSERT INTO cp_condition VALUES ('completed', '4784', '', '', ''); -INSERT INTO cp_condition VALUES ('completed', '4786', '', '', ''); -INSERT INTO cp_condition VALUES ('satisfied', '4788', '', '', ''); -INSERT INTO cp_condition VALUES ('satisfied', '4826', '', '', ''); -INSERT INTO cp_condition VALUES ('satisfied', '4866', '', '', ''); -INSERT INTO cp_condition VALUES ('completed', '4867', '', '', ''); -INSERT INTO cp_condition VALUES ('satisfied', '4924', '', '', ''); -INSERT INTO cp_condition VALUES ('satisfied', '4929', '', '', ''); -INSERT INTO cp_condition VALUES ('satisfied', '4934', '', '', 'obj-SX05-3a'); -INSERT INTO cp_condition VALUES ('satisfied', '4940', '', '', 'obj-SX05-3b'); -INSERT INTO cp_condition VALUES ('satisfied', '4942', '', 'not', 'obj-SX05-3a'); -INSERT INTO cp_condition VALUES ('satisfied', '4943', '', 'not', 'obj-SX05-3b'); -INSERT INTO cp_condition VALUES ('satisfied', '4952', '', '', 'obj-SX05-4a'); -INSERT INTO cp_condition VALUES ('satisfied', '4958', '', '', 'obj-SX05-4b'); -INSERT INTO cp_condition VALUES ('satisfied', '4960', '', 'not', 'obj-SX05-4a'); -INSERT INTO cp_condition VALUES ('satisfied', '4961', '', 'not', 'obj-SX05-4b'); -INSERT INTO cp_condition VALUES ('always', '4970', '', '', ''); -INSERT INTO cp_condition VALUES ('satisfied', '4984', '', 'not', 'obj-SX05-5'); -INSERT INTO cp_condition VALUES ('completed', '5025', '', '', ''); -INSERT INTO cp_condition VALUES ('completed', '5027', '', 'not', ''); -INSERT INTO cp_condition VALUES ('completed', '5070', '', 'not', ''); -INSERT INTO cp_condition VALUES ('satisfied', '5110', '', 'not', ''); -INSERT INTO cp_condition VALUES ('satisfied', '5150', '', '', ''); -INSERT INTO cp_condition VALUES ('completed', '5153', '', '', ''); -INSERT INTO cp_condition VALUES ('completed', '5155', '', '', ''); -INSERT INTO cp_condition VALUES ('satisfied', '5206', '', '', ''); -INSERT INTO cp_condition VALUES ('completed', '5210', '', '', ''); -INSERT INTO cp_condition VALUES ('satisfied', '5213', '', '', ''); -INSERT INTO cp_condition VALUES ('satisfied', '5265', '', '', ''); -INSERT INTO cp_condition VALUES ('satisfied', '5268', '', '', ''); -INSERT INTO cp_condition VALUES ('completed', '5272', '', '', ''); -INSERT INTO cp_condition VALUES ('completed', '5456', '', '', ''); -INSERT INTO cp_condition VALUES ('always', '5458', '', '', ''); -INSERT INTO cp_condition VALUES ('completed', '5469', '', '', ''); -INSERT INTO cp_condition VALUES ('satisfied', '5471', '', 'not', ''); -INSERT INTO cp_condition VALUES ('satisfied', '5474', '', '', ''); -INSERT INTO cp_condition VALUES ('attempted', '5476', '', '', ''); -INSERT INTO cp_condition VALUES ('satisfied', '5479', '', '', ''); -INSERT INTO cp_condition VALUES ('satisfied', '5482', '', '', ''); -INSERT INTO cp_condition VALUES ('attempted', '5484', '', '', ''); -INSERT INTO cp_condition VALUES ('completed', '5487', '', '', ''); -INSERT INTO cp_condition VALUES ('completed', '5679', '', '', ''); -INSERT INTO cp_condition VALUES ('always', '5681', '', '', ''); -INSERT INTO cp_condition VALUES ('completed', '5692', '', '', ''); -INSERT INTO cp_condition VALUES ('satisfied', '5694', '', 'not', ''); -INSERT INTO cp_condition VALUES ('satisfied', '5697', '', '', ''); -INSERT INTO cp_condition VALUES ('attempted', '5699', '', '', ''); -INSERT INTO cp_condition VALUES ('satisfied', '5702', '', '', ''); -INSERT INTO cp_condition VALUES ('satisfied', '5705', '', '', ''); -INSERT INTO cp_condition VALUES ('attempted', '5707', '', '', ''); -INSERT INTO cp_condition VALUES ('completed', '5710', '', '', ''); -INSERT INTO cp_condition VALUES ('attempted', '6365', '', '', ''); -INSERT INTO cp_condition VALUES ('completed', '6369', '', '', ''); -INSERT INTO cp_condition VALUES ('satisfied', '6371', '', '', ''); -INSERT INTO cp_condition VALUES ('satisfied', '6373', '', 'not', ''); -INSERT INTO cp_condition VALUES ('attempted', '6593', '', '', ''); -INSERT INTO cp_condition VALUES ('completed', '6597', '', '', ''); -INSERT INTO cp_condition VALUES ('satisfied', '6599', '', '', ''); -INSERT INTO cp_condition VALUES ('satisfied', '6601', '', 'not', ''); -INSERT INTO cp_condition VALUES ('attempted', '6821', '', '', ''); -INSERT INTO cp_condition VALUES ('completed', '6825', '', '', ''); -INSERT INTO cp_condition VALUES ('satisfied', '6827', '', '', ''); -INSERT INTO cp_condition VALUES ('satisfied', '6829', '', 'not', ''); -INSERT INTO cp_condition VALUES ('always', '6902', '', '', ''); -INSERT INTO cp_condition VALUES ('objectiveMeasureLessThan', '6905', '0.66', '', '201c0fcdbe99495ebabe81ec93e19736'); -INSERT INTO cp_condition VALUES ('always', '6908', '', '', ''); -INSERT INTO cp_condition VALUES ('objectiveMeasureLessThan', '6911', '0.75', 'not', 'b75d9d2755344021b906853aea56f52f'); -INSERT INTO cp_condition VALUES ('objectiveMeasureGreaterThan', '6914', '0.5', 'not', '1d622cc0b1a547019354abfbef60c303'); -INSERT INTO cp_condition VALUES ('objectiveMeasureLessThan', '6915', '0.5', 'not', '1d622cc0b1a547019354abfbef60c303'); -INSERT INTO cp_condition VALUES ('always', '6918', '', '', ''); -INSERT INTO cp_condition VALUES ('objectiveMeasureGreaterThan', '6921', '1', 'not', '1d622cc0b1a547019354abfbef60c303'); -INSERT INTO cp_condition VALUES ('objectiveMeasureLessThan', '6922', '1', 'not', '1d622cc0b1a547019354abfbef60c303'); -INSERT INTO cp_condition VALUES ('always', '7003', '', '', ''); -INSERT INTO cp_condition VALUES ('objectiveMeasureLessThan', '7006', '0.66', '', '201c0fcdbe99495ebabe81ec93e19736'); -INSERT INTO cp_condition VALUES ('always', '7009', '', '', ''); -INSERT INTO cp_condition VALUES ('objectiveMeasureLessThan', '7012', '0.75', 'not', 'b75d9d2755344021b906853aea56f52f'); -INSERT INTO cp_condition VALUES ('objectiveMeasureGreaterThan', '7015', '0.5', 'not', '1d622cc0b1a547019354abfbef60c303'); -INSERT INTO cp_condition VALUES ('objectiveMeasureLessThan', '7016', '0.5', 'not', '1d622cc0b1a547019354abfbef60c303'); -INSERT INTO cp_condition VALUES ('always', '7019', '', '', ''); -INSERT INTO cp_condition VALUES ('objectiveMeasureGreaterThan', '7022', '1', 'not', '1d622cc0b1a547019354abfbef60c303'); -INSERT INTO cp_condition VALUES ('objectiveMeasureLessThan', '7023', '1', 'not', '1d622cc0b1a547019354abfbef60c303'); -# -------------------------------------------------------- - - -# -# Dumping data for table: cp_dependency -# -INSERT INTO cp_dependency VALUES ('11', 'LMSFNCTS01'); -INSERT INTO cp_dependency VALUES ('12', 'JAR01'); -INSERT INTO cp_dependency VALUES ('13', 'ABOUT01'); -INSERT INTO cp_dependency VALUES ('14', 'EMULATION01'); -INSERT INTO cp_dependency VALUES ('15', 'LMSINCLUDE'); -INSERT INTO cp_dependency VALUES ('18', 'LMSFNCTS01'); -INSERT INTO cp_dependency VALUES ('19', 'JAR01'); -INSERT INTO cp_dependency VALUES ('20', 'ABOUT01'); -INSERT INTO cp_dependency VALUES ('21', 'EMULATION01'); -INSERT INTO cp_dependency VALUES ('22', 'LMSINCLUDE'); -INSERT INTO cp_dependency VALUES ('25', 'LMSFNCTS01'); -INSERT INTO cp_dependency VALUES ('26', 'JAR01'); -INSERT INTO cp_dependency VALUES ('27', 'ABOUT01'); -INSERT INTO cp_dependency VALUES ('28', 'EMULATION01'); -INSERT INTO cp_dependency VALUES ('29', 'LMSINCLUDE'); -INSERT INTO cp_dependency VALUES ('36', 'BROWSERDETECT01'); -INSERT INTO cp_dependency VALUES ('53', 'LMSFNCTS01'); -INSERT INTO cp_dependency VALUES ('54', 'JAR01'); -INSERT INTO cp_dependency VALUES ('55', 'ABOUT01'); -INSERT INTO cp_dependency VALUES ('56', 'EMULATION01'); -INSERT INTO cp_dependency VALUES ('57', 'LMSINCLUDE'); -INSERT INTO cp_dependency VALUES ('60', 'LMSFNCTS01'); -INSERT INTO cp_dependency VALUES ('61', 'JAR01'); -INSERT INTO cp_dependency VALUES ('62', 'ABOUT01'); -INSERT INTO cp_dependency VALUES ('63', 'EMULATION01'); -INSERT INTO cp_dependency VALUES ('64', 'LMSINCLUDE'); -INSERT INTO cp_dependency VALUES ('67', 'LMSFNCTS01'); -INSERT INTO cp_dependency VALUES ('68', 'JAR01'); -INSERT INTO cp_dependency VALUES ('69', 'ABOUT01'); -INSERT INTO cp_dependency VALUES ('70', 'EMULATION01'); -INSERT INTO cp_dependency VALUES ('71', 'LMSINCLUDE'); -INSERT INTO cp_dependency VALUES ('78', 'BROWSERDETECT01'); -INSERT INTO cp_dependency VALUES ('101', 'LMSFNCTS01'); -INSERT INTO cp_dependency VALUES ('102', 'JAR01'); -INSERT INTO cp_dependency VALUES ('103', 'ABOUT01'); -INSERT INTO cp_dependency VALUES ('104', 'EMULATION01'); -INSERT INTO cp_dependency VALUES ('105', 'LMSINCLUDE'); -INSERT INTO cp_dependency VALUES ('114', 'BROWSERDETECT01'); -INSERT INTO cp_dependency VALUES ('132', 'LMSFNCTS01'); -INSERT INTO cp_dependency VALUES ('133', 'JAR01'); -INSERT INTO cp_dependency VALUES ('134', 'ABOUT01'); -INSERT INTO cp_dependency VALUES ('135', 'EMULATION01'); -INSERT INTO cp_dependency VALUES ('136', 'LMSINCLUDE'); -INSERT INTO cp_dependency VALUES ('145', 'BROWSERDETECT01'); -INSERT INTO cp_dependency VALUES ('173', 'LMSFNCTS01'); -INSERT INTO cp_dependency VALUES ('174', 'JAR01'); -INSERT INTO cp_dependency VALUES ('175', 'ABOUT01'); -INSERT INTO cp_dependency VALUES ('176', 'EMULATION01'); -INSERT INTO cp_dependency VALUES ('177', 'LMSINCLUDE'); -INSERT INTO cp_dependency VALUES ('186', 'BROWSERDETECT01'); -INSERT INTO cp_dependency VALUES ('217', 'LMSFNCTS01'); -INSERT INTO cp_dependency VALUES ('218', 'JAR01'); -INSERT INTO cp_dependency VALUES ('219', 'ABOUT01'); -INSERT INTO cp_dependency VALUES ('220', 'EMULATION01'); -INSERT INTO cp_dependency VALUES ('221', 'LMSINCLUDE'); -INSERT INTO cp_dependency VALUES ('230', 'BROWSERDETECT01'); -INSERT INTO cp_dependency VALUES ('289', 'LMSFNCTS01'); -INSERT INTO cp_dependency VALUES ('290', 'JAR01'); -INSERT INTO cp_dependency VALUES ('291', 'ABOUT01'); -INSERT INTO cp_dependency VALUES ('292', 'EMULATION01'); -INSERT INTO cp_dependency VALUES ('293', 'LMSINCLUDE'); -INSERT INTO cp_dependency VALUES ('302', 'BROWSERDETECT01'); -INSERT INTO cp_dependency VALUES ('381', 'LMSFNCTS01'); -INSERT INTO cp_dependency VALUES ('382', 'JAR01'); -INSERT INTO cp_dependency VALUES ('383', 'ABOUT01'); -INSERT INTO cp_dependency VALUES ('384', 'EMULATION01'); -INSERT INTO cp_dependency VALUES ('385', 'LMSINCLUDE'); -INSERT INTO cp_dependency VALUES ('394', 'BROWSERDETECT01'); -INSERT INTO cp_dependency VALUES ('419', 'LMSFNCTS01'); -INSERT INTO cp_dependency VALUES ('420', 'JAR01'); -INSERT INTO cp_dependency VALUES ('421', 'ABOUT01'); -INSERT INTO cp_dependency VALUES ('422', 'EMULATION01'); -INSERT INTO cp_dependency VALUES ('423', 'LMSINCLUDE'); -INSERT INTO cp_dependency VALUES ('432', 'BROWSERDETECT01'); -INSERT INTO cp_dependency VALUES ('492', 'LMSFNCTS01'); -INSERT INTO cp_dependency VALUES ('493', 'JAR01'); -INSERT INTO cp_dependency VALUES ('494', 'ABOUT01'); -INSERT INTO cp_dependency VALUES ('495', 'EMULATION01'); -INSERT INTO cp_dependency VALUES ('496', 'LMSINCLUDE'); -INSERT INTO cp_dependency VALUES ('505', 'BROWSERDETECT01'); -INSERT INTO cp_dependency VALUES ('564', 'LMSFNCTS01'); -INSERT INTO cp_dependency VALUES ('565', 'JAR01'); -INSERT INTO cp_dependency VALUES ('566', 'ABOUT01'); -INSERT INTO cp_dependency VALUES ('567', 'EMULATION01'); -INSERT INTO cp_dependency VALUES ('568', 'LMSINCLUDE'); -INSERT INTO cp_dependency VALUES ('577', 'BROWSERDETECT01'); -INSERT INTO cp_dependency VALUES ('617', 'LMSFNCTS01'); -INSERT INTO cp_dependency VALUES ('618', 'JAR01'); -INSERT INTO cp_dependency VALUES ('619', 'ABOUT01'); -INSERT INTO cp_dependency VALUES ('620', 'EMULATION01'); -INSERT INTO cp_dependency VALUES ('621', 'LMSINCLUDE'); -INSERT INTO cp_dependency VALUES ('630', 'BROWSERDETECT01'); -INSERT INTO cp_dependency VALUES ('654', 'LMSFNCTS01'); -INSERT INTO cp_dependency VALUES ('655', 'JAR01'); -INSERT INTO cp_dependency VALUES ('656', 'ABOUT01'); -INSERT INTO cp_dependency VALUES ('657', 'EMULATION01'); -INSERT INTO cp_dependency VALUES ('658', 'LMSINCLUDE'); -INSERT INTO cp_dependency VALUES ('667', 'BROWSERDETECT01'); -INSERT INTO cp_dependency VALUES ('691', 'LMSFNCTS01'); -INSERT INTO cp_dependency VALUES ('692', 'JAR01'); -INSERT INTO cp_dependency VALUES ('693', 'ABOUT01'); -INSERT INTO cp_dependency VALUES ('694', 'EMULATION01'); -INSERT INTO cp_dependency VALUES ('695', 'LMSINCLUDE'); -INSERT INTO cp_dependency VALUES ('698', 'LMSFNCTS01'); -INSERT INTO cp_dependency VALUES ('699', 'JAR01'); -INSERT INTO cp_dependency VALUES ('700', 'ABOUT01'); -INSERT INTO cp_dependency VALUES ('701', 'EMULATION01'); -INSERT INTO cp_dependency VALUES ('702', 'LMSINCLUDE'); -INSERT INTO cp_dependency VALUES ('711', 'BROWSERDETECT01'); -INSERT INTO cp_dependency VALUES ('754', 'LMSFNCTS01'); -INSERT INTO cp_dependency VALUES ('755', 'JAR01'); -INSERT INTO cp_dependency VALUES ('756', 'ABOUT01'); -INSERT INTO cp_dependency VALUES ('757', 'EMULATION01'); -INSERT INTO cp_dependency VALUES ('758', 'LMSINCLUDE'); -INSERT INTO cp_dependency VALUES ('761', 'LMSFNCTS01'); -INSERT INTO cp_dependency VALUES ('762', 'JAR01'); -INSERT INTO cp_dependency VALUES ('763', 'ABOUT01'); -INSERT INTO cp_dependency VALUES ('764', 'EMULATION01'); -INSERT INTO cp_dependency VALUES ('765', 'LMSINCLUDE'); -INSERT INTO cp_dependency VALUES ('774', 'BROWSERDETECT01'); -INSERT INTO cp_dependency VALUES ('819', 'LMSFNCTS01'); -INSERT INTO cp_dependency VALUES ('820', 'JAR01'); -INSERT INTO cp_dependency VALUES ('821', 'ABOUT01'); -INSERT INTO cp_dependency VALUES ('822', 'EMULATION01'); -INSERT INTO cp_dependency VALUES ('823', 'LMSINCLUDE'); -INSERT INTO cp_dependency VALUES ('832', 'BROWSERDETECT01'); -INSERT INTO cp_dependency VALUES ('876', 'LMSFNCTS01'); -INSERT INTO cp_dependency VALUES ('877', 'JAR01'); -INSERT INTO cp_dependency VALUES ('878', 'ABOUT01'); -INSERT INTO cp_dependency VALUES ('879', 'EMULATION01'); -INSERT INTO cp_dependency VALUES ('880', 'LMSINCLUDE'); -INSERT INTO cp_dependency VALUES ('889', 'BROWSERDETECT01'); -INSERT INTO cp_dependency VALUES ('912', 'LMSFNCTS01'); -INSERT INTO cp_dependency VALUES ('913', 'JAR01'); -INSERT INTO cp_dependency VALUES ('914', 'ABOUT01'); -INSERT INTO cp_dependency VALUES ('915', 'EMULATION01'); -INSERT INTO cp_dependency VALUES ('916', 'LMSINCLUDE'); -INSERT INTO cp_dependency VALUES ('925', 'BROWSERDETECT01'); -INSERT INTO cp_dependency VALUES ('943', 'LMSFNCTS01'); -INSERT INTO cp_dependency VALUES ('944', 'JAR01'); -INSERT INTO cp_dependency VALUES ('945', 'ABOUT01'); -INSERT INTO cp_dependency VALUES ('946', 'EMULATION01'); -INSERT INTO cp_dependency VALUES ('947', 'LMSINCLUDE'); -INSERT INTO cp_dependency VALUES ('956', 'BROWSERDETECT01'); -INSERT INTO cp_dependency VALUES ('971', 'LMSFNCTS01'); -INSERT INTO cp_dependency VALUES ('972', 'JAR01'); -INSERT INTO cp_dependency VALUES ('973', 'ABOUT01'); -INSERT INTO cp_dependency VALUES ('974', 'EMULATION01'); -INSERT INTO cp_dependency VALUES ('975', 'LMSINCLUDE'); -INSERT INTO cp_dependency VALUES ('984', 'BROWSERDETECT01'); -INSERT INTO cp_dependency VALUES ('1016', 'LMSFNCTS01'); -INSERT INTO cp_dependency VALUES ('1017', 'JAR01'); -INSERT INTO cp_dependency VALUES ('1018', 'ABOUT01'); -INSERT INTO cp_dependency VALUES ('1019', 'EMULATION01'); -INSERT INTO cp_dependency VALUES ('1020', 'LMSINCLUDE'); -INSERT INTO cp_dependency VALUES ('1023', 'LMSFNCTS01'); -INSERT INTO cp_dependency VALUES ('1024', 'JAR01'); -INSERT INTO cp_dependency VALUES ('1025', 'ABOUT01'); -INSERT INTO cp_dependency VALUES ('1026', 'EMULATION01'); -INSERT INTO cp_dependency VALUES ('1027', 'LMSINCLUDE'); -INSERT INTO cp_dependency VALUES ('1030', 'LMSFNCTS01'); -INSERT INTO cp_dependency VALUES ('1031', 'JAR01'); -INSERT INTO cp_dependency VALUES ('1032', 'ABOUT01'); -INSERT INTO cp_dependency VALUES ('1033', 'EMULATION01'); -INSERT INTO cp_dependency VALUES ('1034', 'LMSINCLUDE'); -INSERT INTO cp_dependency VALUES ('1037', 'LMSFNCTS01'); -INSERT INTO cp_dependency VALUES ('1038', 'JAR01'); -INSERT INTO cp_dependency VALUES ('1039', 'ABOUT01'); -INSERT INTO cp_dependency VALUES ('1040', 'EMULATION01'); -INSERT INTO cp_dependency VALUES ('1041', 'LMSINCLUDE'); -INSERT INTO cp_dependency VALUES ('1044', 'LMSFNCTS01'); -INSERT INTO cp_dependency VALUES ('1045', 'JAR01'); -INSERT INTO cp_dependency VALUES ('1046', 'ABOUT01'); -INSERT INTO cp_dependency VALUES ('1047', 'EMULATION01'); -INSERT INTO cp_dependency VALUES ('1048', 'LMSINCLUDE'); -INSERT INTO cp_dependency VALUES ('1051', 'LMSFNCTS01'); -INSERT INTO cp_dependency VALUES ('1052', 'JAR01'); -INSERT INTO cp_dependency VALUES ('1053', 'ABOUT01'); -INSERT INTO cp_dependency VALUES ('1054', 'EMULATION01'); -INSERT INTO cp_dependency VALUES ('1055', 'LMSINCLUDE'); -INSERT INTO cp_dependency VALUES ('1058', 'LMSFNCTS01'); -INSERT INTO cp_dependency VALUES ('1059', 'JAR01'); -INSERT INTO cp_dependency VALUES ('1060', 'ABOUT01'); -INSERT INTO cp_dependency VALUES ('1061', 'EMULATION01'); -INSERT INTO cp_dependency VALUES ('1062', 'LMSINCLUDE'); -INSERT INTO cp_dependency VALUES ('1065', 'LMSFNCTS01'); -INSERT INTO cp_dependency VALUES ('1066', 'JAR01'); -INSERT INTO cp_dependency VALUES ('1067', 'ABOUT01'); -INSERT INTO cp_dependency VALUES ('1068', 'EMULATION01'); -INSERT INTO cp_dependency VALUES ('1069', 'LMSINCLUDE'); -INSERT INTO cp_dependency VALUES ('1072', 'LMSFNCTS01'); -INSERT INTO cp_dependency VALUES ('1073', 'JAR01'); -INSERT INTO cp_dependency VALUES ('1074', 'ABOUT01'); -INSERT INTO cp_dependency VALUES ('1075', 'EMULATION01'); -INSERT INTO cp_dependency VALUES ('1076', 'LMSINCLUDE'); -INSERT INTO cp_dependency VALUES ('1085', 'BROWSERDETECT01'); -INSERT INTO cp_dependency VALUES ('1114', 'LMSFNCTS01'); -INSERT INTO cp_dependency VALUES ('1115', 'JAR01'); -INSERT INTO cp_dependency VALUES ('1116', 'ABOUT01'); -INSERT INTO cp_dependency VALUES ('1117', 'EMULATION01'); -INSERT INTO cp_dependency VALUES ('1118', 'LMSINCLUDE'); -INSERT INTO cp_dependency VALUES ('1121', 'LMSFNCTS01'); -INSERT INTO cp_dependency VALUES ('1122', 'JAR01'); -INSERT INTO cp_dependency VALUES ('1123', 'ABOUT01'); -INSERT INTO cp_dependency VALUES ('1124', 'EMULATION01'); -INSERT INTO cp_dependency VALUES ('1125', 'LMSINCLUDE'); -INSERT INTO cp_dependency VALUES ('1128', 'LMSFNCTS01'); -INSERT INTO cp_dependency VALUES ('1129', 'JAR01'); -INSERT INTO cp_dependency VALUES ('1130', 'ABOUT01'); -INSERT INTO cp_dependency VALUES ('1131', 'EMULATION01'); -INSERT INTO cp_dependency VALUES ('1132', 'LMSINCLUDE'); -INSERT INTO cp_dependency VALUES ('1135', 'LMSFNCTS01'); -INSERT INTO cp_dependency VALUES ('1136', 'JAR01'); -INSERT INTO cp_dependency VALUES ('1137', 'ABOUT01'); -INSERT INTO cp_dependency VALUES ('1138', 'EMULATION01'); -INSERT INTO cp_dependency VALUES ('1139', 'LMSINCLUDE'); -INSERT INTO cp_dependency VALUES ('1148', 'BROWSERDETECT01'); -INSERT INTO cp_dependency VALUES ('1178', 'LMSFNCTS01'); -INSERT INTO cp_dependency VALUES ('1179', 'JAR01'); -INSERT INTO cp_dependency VALUES ('1180', 'ABOUT01'); -INSERT INTO cp_dependency VALUES ('1181', 'EMULATION01'); -INSERT INTO cp_dependency VALUES ('1182', 'LMSINCLUDE'); -INSERT INTO cp_dependency VALUES ('1191', 'BROWSERDETECT01'); -INSERT INTO cp_dependency VALUES ('1226', 'LMSFNCTS01'); -INSERT INTO cp_dependency VALUES ('1227', 'JAR01'); -INSERT INTO cp_dependency VALUES ('1228', 'ABOUT01'); -INSERT INTO cp_dependency VALUES ('1229', 'EMULATION01'); -INSERT INTO cp_dependency VALUES ('1230', 'LMSINCLUDE'); -INSERT INTO cp_dependency VALUES ('1239', 'BROWSERDETECT01'); -INSERT INTO cp_dependency VALUES ('1276', 'LMSFNCTS01'); -INSERT INTO cp_dependency VALUES ('1277', 'JAR01'); -INSERT INTO cp_dependency VALUES ('1278', 'ABOUT01'); -INSERT INTO cp_dependency VALUES ('1279', 'EMULATION01'); -INSERT INTO cp_dependency VALUES ('1280', 'LMSINCLUDE'); -INSERT INTO cp_dependency VALUES ('1289', 'BROWSERDETECT01'); -INSERT INTO cp_dependency VALUES ('1311', 'LMSFNCTS01'); -INSERT INTO cp_dependency VALUES ('1312', 'JAR01'); -INSERT INTO cp_dependency VALUES ('1313', 'ABOUT01'); -INSERT INTO cp_dependency VALUES ('1314', 'EMULATION01'); -INSERT INTO cp_dependency VALUES ('1315', 'LMSINCLUDE'); -INSERT INTO cp_dependency VALUES ('1324', 'BROWSERDETECT01'); -INSERT INTO cp_dependency VALUES ('1345', 'LMSFNCTS01'); -INSERT INTO cp_dependency VALUES ('1346', 'JAR01'); -INSERT INTO cp_dependency VALUES ('1347', 'ABOUT01'); -INSERT INTO cp_dependency VALUES ('1348', 'EMULATION01'); -INSERT INTO cp_dependency VALUES ('1349', 'LMSINCLUDE'); -INSERT INTO cp_dependency VALUES ('1358', 'BROWSERDETECT01'); -INSERT INTO cp_dependency VALUES ('1396', 'LMSFNCTS01'); -INSERT INTO cp_dependency VALUES ('1397', 'JAR01'); -INSERT INTO cp_dependency VALUES ('1398', 'ABOUT01'); -INSERT INTO cp_dependency VALUES ('1399', 'EMULATION01'); -INSERT INTO cp_dependency VALUES ('1400', 'LMSINCLUDE'); -INSERT INTO cp_dependency VALUES ('1409', 'BROWSERDETECT01'); -INSERT INTO cp_dependency VALUES ('1447', 'LMSFNCTS01'); -INSERT INTO cp_dependency VALUES ('1448', 'JAR01'); -INSERT INTO cp_dependency VALUES ('1449', 'ABOUT01'); -INSERT INTO cp_dependency VALUES ('1450', 'EMULATION01'); -INSERT INTO cp_dependency VALUES ('1451', 'LMSINCLUDE'); -INSERT INTO cp_dependency VALUES ('1460', 'BROWSERDETECT01'); -INSERT INTO cp_dependency VALUES ('1491', 'LMSFNCTS01'); -INSERT INTO cp_dependency VALUES ('1492', 'JAR01'); -INSERT INTO cp_dependency VALUES ('1493', 'ABOUT01'); -INSERT INTO cp_dependency VALUES ('1494', 'EMULATION01'); -INSERT INTO cp_dependency VALUES ('1495', 'LMSINCLUDE'); -INSERT INTO cp_dependency VALUES ('1504', 'BROWSERDETECT01'); -INSERT INTO cp_dependency VALUES ('1534', 'LMSFNCTS01'); -INSERT INTO cp_dependency VALUES ('1535', 'JAR01'); -INSERT INTO cp_dependency VALUES ('1536', 'ABOUT01'); -INSERT INTO cp_dependency VALUES ('1537', 'EMULATION01'); -INSERT INTO cp_dependency VALUES ('1538', 'LMSINCLUDE'); -INSERT INTO cp_dependency VALUES ('1547', 'BROWSERDETECT01'); -INSERT INTO cp_dependency VALUES ('1577', 'LMSFNCTS01'); -INSERT INTO cp_dependency VALUES ('1578', 'JAR01'); -INSERT INTO cp_dependency VALUES ('1579', 'ABOUT01'); -INSERT INTO cp_dependency VALUES ('1580', 'EMULATION01'); -INSERT INTO cp_dependency VALUES ('1581', 'LMSINCLUDE'); -INSERT INTO cp_dependency VALUES ('1590', 'BROWSERDETECT01'); -INSERT INTO cp_dependency VALUES ('1620', 'LMSFNCTS01'); -INSERT INTO cp_dependency VALUES ('1621', 'JAR01'); -INSERT INTO cp_dependency VALUES ('1622', 'ABOUT01'); -INSERT INTO cp_dependency VALUES ('1623', 'EMULATION01'); -INSERT INTO cp_dependency VALUES ('1624', 'LMSINCLUDE'); -INSERT INTO cp_dependency VALUES ('1633', 'BROWSERDETECT01'); -INSERT INTO cp_dependency VALUES ('1656', 'LMSFNCTS01'); -INSERT INTO cp_dependency VALUES ('1657', 'JAR01'); -INSERT INTO cp_dependency VALUES ('1658', 'ABOUT01'); -INSERT INTO cp_dependency VALUES ('1659', 'EMULATION01'); -INSERT INTO cp_dependency VALUES ('1660', 'LMSINCLUDE'); -INSERT INTO cp_dependency VALUES ('1669', 'BROWSERDETECT01'); -INSERT INTO cp_dependency VALUES ('1701', 'LMSFNCTS01'); -INSERT INTO cp_dependency VALUES ('1702', 'JAR01'); -INSERT INTO cp_dependency VALUES ('1703', 'ABOUT01'); -INSERT INTO cp_dependency VALUES ('1704', 'EMULATION01'); -INSERT INTO cp_dependency VALUES ('1705', 'LMSINCLUDE'); -INSERT INTO cp_dependency VALUES ('1714', 'BROWSERDETECT01'); -INSERT INTO cp_dependency VALUES ('1766', 'LMSFNCTS01'); -INSERT INTO cp_dependency VALUES ('1767', 'JAR01'); -INSERT INTO cp_dependency VALUES ('1768', 'ABOUT01'); -INSERT INTO cp_dependency VALUES ('1769', 'EMULATION01'); -INSERT INTO cp_dependency VALUES ('1770', 'LMSINCLUDE'); -INSERT INTO cp_dependency VALUES ('1779', 'BROWSERDETECT01'); -INSERT INTO cp_dependency VALUES ('1845', 'LMSFNCTS01'); -INSERT INTO cp_dependency VALUES ('1846', 'JAR01'); -INSERT INTO cp_dependency VALUES ('1847', 'ABOUT01'); -INSERT INTO cp_dependency VALUES ('1848', 'EMULATION01'); -INSERT INTO cp_dependency VALUES ('1849', 'LMSINCLUDE'); -INSERT INTO cp_dependency VALUES ('1858', 'BROWSERDETECT01'); -INSERT INTO cp_dependency VALUES ('1922', 'LMSFNCTS01'); -INSERT INTO cp_dependency VALUES ('1923', 'JAR01'); -INSERT INTO cp_dependency VALUES ('1924', 'ABOUT01'); -INSERT INTO cp_dependency VALUES ('1925', 'EMULATION01'); -INSERT INTO cp_dependency VALUES ('1926', 'LMSINCLUDE'); -INSERT INTO cp_dependency VALUES ('1935', 'BROWSERDETECT01'); -INSERT INTO cp_dependency VALUES ('1982', 'LMSFNCTS01'); -INSERT INTO cp_dependency VALUES ('1983', 'JAR01'); -INSERT INTO cp_dependency VALUES ('1984', 'ABOUT01'); -INSERT INTO cp_dependency VALUES ('1985', 'EMULATION01'); -INSERT INTO cp_dependency VALUES ('1986', 'LMSINCLUDE'); -INSERT INTO cp_dependency VALUES ('1995', 'BROWSERDETECT01'); -INSERT INTO cp_dependency VALUES ('2034', 'LMSFNCTS01'); -INSERT INTO cp_dependency VALUES ('2035', 'JAR01'); -INSERT INTO cp_dependency VALUES ('2036', 'ABOUT01'); -INSERT INTO cp_dependency VALUES ('2037', 'EMULATION01'); -INSERT INTO cp_dependency VALUES ('2038', 'LMSINCLUDE'); -INSERT INTO cp_dependency VALUES ('2047', 'BROWSERDETECT01'); -INSERT INTO cp_dependency VALUES ('2082', 'LMSFNCTS01'); -INSERT INTO cp_dependency VALUES ('2083', 'JAR01'); -INSERT INTO cp_dependency VALUES ('2084', 'ABOUT01'); -INSERT INTO cp_dependency VALUES ('2085', 'EMULATION01'); -INSERT INTO cp_dependency VALUES ('2086', 'LMSINCLUDE'); -INSERT INTO cp_dependency VALUES ('2095', 'BROWSERDETECT01'); -INSERT INTO cp_dependency VALUES ('2134', 'LMSFNCTS01'); -INSERT INTO cp_dependency VALUES ('2135', 'JAR01'); -INSERT INTO cp_dependency VALUES ('2136', 'ABOUT01'); -INSERT INTO cp_dependency VALUES ('2137', 'EMULATION01'); -INSERT INTO cp_dependency VALUES ('2138', 'LMSINCLUDE'); -INSERT INTO cp_dependency VALUES ('2147', 'BROWSERDETECT01'); -INSERT INTO cp_dependency VALUES ('2181', 'LMSFNCTS01'); -INSERT INTO cp_dependency VALUES ('2182', 'JAR01'); -INSERT INTO cp_dependency VALUES ('2183', 'ABOUT01'); -INSERT INTO cp_dependency VALUES ('2184', 'EMULATION01'); -INSERT INTO cp_dependency VALUES ('2185', 'LMSINCLUDE'); -INSERT INTO cp_dependency VALUES ('2194', 'BROWSERDETECT01'); -INSERT INTO cp_dependency VALUES ('2229', 'LMSFNCTS01'); -INSERT INTO cp_dependency VALUES ('2230', 'JAR01'); -INSERT INTO cp_dependency VALUES ('2231', 'ABOUT01'); -INSERT INTO cp_dependency VALUES ('2232', 'EMULATION01'); -INSERT INTO cp_dependency VALUES ('2233', 'LMSINCLUDE'); -INSERT INTO cp_dependency VALUES ('2242', 'BROWSERDETECT01'); -INSERT INTO cp_dependency VALUES ('2280', 'LMSFNCTS01'); -INSERT INTO cp_dependency VALUES ('2281', 'JAR01'); -INSERT INTO cp_dependency VALUES ('2282', 'ABOUT01'); -INSERT INTO cp_dependency VALUES ('2283', 'EMULATION01'); -INSERT INTO cp_dependency VALUES ('2284', 'LMSINCLUDE'); -INSERT INTO cp_dependency VALUES ('2293', 'BROWSERDETECT01'); -INSERT INTO cp_dependency VALUES ('2344', 'LMSFNCTS01'); -INSERT INTO cp_dependency VALUES ('2345', 'JAR01'); -INSERT INTO cp_dependency VALUES ('2346', 'ABOUT01'); -INSERT INTO cp_dependency VALUES ('2347', 'EMULATION01'); -INSERT INTO cp_dependency VALUES ('2348', 'LMSINCLUDE'); -INSERT INTO cp_dependency VALUES ('2357', 'BROWSERDETECT01'); -INSERT INTO cp_dependency VALUES ('2404', 'LMSFNCTS01'); -INSERT INTO cp_dependency VALUES ('2405', 'JAR01'); -INSERT INTO cp_dependency VALUES ('2406', 'ABOUT01'); -INSERT INTO cp_dependency VALUES ('2407', 'EMULATION01'); -INSERT INTO cp_dependency VALUES ('2408', 'LMSINCLUDE'); -INSERT INTO cp_dependency VALUES ('2417', 'BROWSERDETECT01'); -INSERT INTO cp_dependency VALUES ('2459', 'LMSFNCTS01'); -INSERT INTO cp_dependency VALUES ('2460', 'JAR01'); -INSERT INTO cp_dependency VALUES ('2461', 'ABOUT01'); -INSERT INTO cp_dependency VALUES ('2462', 'EMULATION01'); -INSERT INTO cp_dependency VALUES ('2463', 'LMSINCLUDE'); -INSERT INTO cp_dependency VALUES ('2472', 'BROWSERDETECT01'); -INSERT INTO cp_dependency VALUES ('2505', 'LMSFNCTS01'); -INSERT INTO cp_dependency VALUES ('2506', 'JAR01'); -INSERT INTO cp_dependency VALUES ('2507', 'ABOUT01'); -INSERT INTO cp_dependency VALUES ('2508', 'EMULATION01'); -INSERT INTO cp_dependency VALUES ('2509', 'LMSINCLUDE'); -INSERT INTO cp_dependency VALUES ('2518', 'BROWSERDETECT01'); -INSERT INTO cp_dependency VALUES ('2551', 'LMSFNCTS01'); -INSERT INTO cp_dependency VALUES ('2552', 'JAR01'); -INSERT INTO cp_dependency VALUES ('2553', 'ABOUT01'); -INSERT INTO cp_dependency VALUES ('2554', 'EMULATION01'); -INSERT INTO cp_dependency VALUES ('2555', 'LMSINCLUDE'); -INSERT INTO cp_dependency VALUES ('2564', 'BROWSERDETECT01'); -INSERT INTO cp_dependency VALUES ('2597', 'LMSFNCTS01'); -INSERT INTO cp_dependency VALUES ('2598', 'JAR01'); -INSERT INTO cp_dependency VALUES ('2599', 'ABOUT01'); -INSERT INTO cp_dependency VALUES ('2600', 'EMULATION01'); -INSERT INTO cp_dependency VALUES ('2601', 'LMSINCLUDE'); -INSERT INTO cp_dependency VALUES ('2610', 'BROWSERDETECT01'); -INSERT INTO cp_dependency VALUES ('2644', 'LMSFNCTS01'); -INSERT INTO cp_dependency VALUES ('2645', 'JAR01'); -INSERT INTO cp_dependency VALUES ('2646', 'ABOUT01'); -INSERT INTO cp_dependency VALUES ('2647', 'EMULATION01'); -INSERT INTO cp_dependency VALUES ('2648', 'LMSINCLUDE'); -INSERT INTO cp_dependency VALUES ('2657', 'BROWSERDETECT01'); -INSERT INTO cp_dependency VALUES ('2693', 'LMSFNCTS01'); -INSERT INTO cp_dependency VALUES ('2694', 'JAR01'); -INSERT INTO cp_dependency VALUES ('2695', 'ABOUT01'); -INSERT INTO cp_dependency VALUES ('2696', 'EMULATION01'); -INSERT INTO cp_dependency VALUES ('2697', 'LMSINCLUDE'); -INSERT INTO cp_dependency VALUES ('2706', 'BROWSERDETECT01'); -INSERT INTO cp_dependency VALUES ('2742', 'LMSFNCTS01'); -INSERT INTO cp_dependency VALUES ('2743', 'JAR01'); -INSERT INTO cp_dependency VALUES ('2744', 'ABOUT01'); -INSERT INTO cp_dependency VALUES ('2745', 'EMULATION01'); -INSERT INTO cp_dependency VALUES ('2746', 'LMSINCLUDE'); -INSERT INTO cp_dependency VALUES ('2755', 'BROWSERDETECT01'); -INSERT INTO cp_dependency VALUES ('2793', 'LMSFNCTS01'); -INSERT INTO cp_dependency VALUES ('2794', 'JAR01'); -INSERT INTO cp_dependency VALUES ('2795', 'ABOUT01'); -INSERT INTO cp_dependency VALUES ('2796', 'EMULATION01'); -INSERT INTO cp_dependency VALUES ('2797', 'LMSINCLUDE'); -INSERT INTO cp_dependency VALUES ('2806', 'BROWSERDETECT01'); -INSERT INTO cp_dependency VALUES ('2834', 'LMSFNCTS01'); -INSERT INTO cp_dependency VALUES ('2835', 'JAR01'); -INSERT INTO cp_dependency VALUES ('2836', 'ABOUT01'); -INSERT INTO cp_dependency VALUES ('2837', 'EMULATION01'); -INSERT INTO cp_dependency VALUES ('2838', 'LMSINCLUDE'); -INSERT INTO cp_dependency VALUES ('2847', 'BROWSERDETECT01'); -INSERT INTO cp_dependency VALUES ('2875', 'LMSFNCTS01'); -INSERT INTO cp_dependency VALUES ('2876', 'JAR01'); -INSERT INTO cp_dependency VALUES ('2877', 'ABOUT01'); -INSERT INTO cp_dependency VALUES ('2878', 'EMULATION01'); -INSERT INTO cp_dependency VALUES ('2879', 'LMSINCLUDE'); -INSERT INTO cp_dependency VALUES ('2888', 'BROWSERDETECT01'); -INSERT INTO cp_dependency VALUES ('2920', 'LMSFNCTS01'); -INSERT INTO cp_dependency VALUES ('2921', 'JAR01'); -INSERT INTO cp_dependency VALUES ('2922', 'ABOUT01'); -INSERT INTO cp_dependency VALUES ('2923', 'EMULATION01'); -INSERT INTO cp_dependency VALUES ('2924', 'LMSINCLUDE'); -INSERT INTO cp_dependency VALUES ('2933', 'BROWSERDETECT01'); -INSERT INTO cp_dependency VALUES ('2970', 'LMSFNCTS01'); -INSERT INTO cp_dependency VALUES ('2971', 'JAR01'); -INSERT INTO cp_dependency VALUES ('2972', 'ABOUT01'); -INSERT INTO cp_dependency VALUES ('2973', 'EMULATION01'); -INSERT INTO cp_dependency VALUES ('2974', 'LMSINCLUDE'); -INSERT INTO cp_dependency VALUES ('2983', 'BROWSERDETECT01'); -INSERT INTO cp_dependency VALUES ('3020', 'LMSFNCTS01'); -INSERT INTO cp_dependency VALUES ('3021', 'JAR01'); -INSERT INTO cp_dependency VALUES ('3022', 'ABOUT01'); -INSERT INTO cp_dependency VALUES ('3023', 'EMULATION01'); -INSERT INTO cp_dependency VALUES ('3024', 'LMSINCLUDE'); -INSERT INTO cp_dependency VALUES ('3033', 'BROWSERDETECT01'); -INSERT INTO cp_dependency VALUES ('3066', 'LMSFNCTS01'); -INSERT INTO cp_dependency VALUES ('3067', 'JAR01'); -INSERT INTO cp_dependency VALUES ('3068', 'ABOUT01'); -INSERT INTO cp_dependency VALUES ('3069', 'EMULATION01'); -INSERT INTO cp_dependency VALUES ('3070', 'LMSINCLUDE'); -INSERT INTO cp_dependency VALUES ('3079', 'BROWSERDETECT01'); -INSERT INTO cp_dependency VALUES ('3139', 'LMSFNCTS01'); -INSERT INTO cp_dependency VALUES ('3140', 'JAR01'); -INSERT INTO cp_dependency VALUES ('3141', 'ABOUT01'); -INSERT INTO cp_dependency VALUES ('3142', 'EMULATION01'); -INSERT INTO cp_dependency VALUES ('3143', 'LMSINCLUDE'); -INSERT INTO cp_dependency VALUES ('3152', 'BROWSERDETECT01'); -INSERT INTO cp_dependency VALUES ('3223', 'LMSFNCTS01'); -INSERT INTO cp_dependency VALUES ('3224', 'JAR01'); -INSERT INTO cp_dependency VALUES ('3225', 'ABOUT01'); -INSERT INTO cp_dependency VALUES ('3226', 'EMULATION01'); -INSERT INTO cp_dependency VALUES ('3227', 'LMSINCLUDE'); -INSERT INTO cp_dependency VALUES ('3236', 'BROWSERDETECT01'); -INSERT INTO cp_dependency VALUES ('3291', 'LMSFNCTS01'); -INSERT INTO cp_dependency VALUES ('3292', 'JAR01'); -INSERT INTO cp_dependency VALUES ('3293', 'ABOUT01'); -INSERT INTO cp_dependency VALUES ('3294', 'EMULATION01'); -INSERT INTO cp_dependency VALUES ('3295', 'LMSINCLUDE'); -INSERT INTO cp_dependency VALUES ('3304', 'BROWSERDETECT01'); -INSERT INTO cp_dependency VALUES ('3340', 'LMSFNCTS01'); -INSERT INTO cp_dependency VALUES ('3341', 'JAR01'); -INSERT INTO cp_dependency VALUES ('3342', 'ABOUT01'); -INSERT INTO cp_dependency VALUES ('3343', 'EMULATION01'); -INSERT INTO cp_dependency VALUES ('3344', 'LMSINCLUDE'); -INSERT INTO cp_dependency VALUES ('3353', 'BROWSERDETECT01'); -INSERT INTO cp_dependency VALUES ('3374', 'LMSFNCTS01'); -INSERT INTO cp_dependency VALUES ('3375', 'JAR01'); -INSERT INTO cp_dependency VALUES ('3376', 'ABOUT01'); -INSERT INTO cp_dependency VALUES ('3377', 'EMULATION01'); -INSERT INTO cp_dependency VALUES ('3378', 'LMSINCLUDE'); -INSERT INTO cp_dependency VALUES ('3387', 'BROWSERDETECT01'); -INSERT INTO cp_dependency VALUES ('3423', 'LMSFNCTS01'); -INSERT INTO cp_dependency VALUES ('3424', 'JAR01'); -INSERT INTO cp_dependency VALUES ('3425', 'ABOUT01'); -INSERT INTO cp_dependency VALUES ('3426', 'EMULATION01'); -INSERT INTO cp_dependency VALUES ('3427', 'LMSINCLUDE'); -INSERT INTO cp_dependency VALUES ('3436', 'BROWSERDETECT01'); -INSERT INTO cp_dependency VALUES ('3472', 'LMSFNCTS01'); -INSERT INTO cp_dependency VALUES ('3473', 'JAR01'); -INSERT INTO cp_dependency VALUES ('3474', 'ABOUT01'); -INSERT INTO cp_dependency VALUES ('3475', 'EMULATION01'); -INSERT INTO cp_dependency VALUES ('3476', 'LMSINCLUDE'); -INSERT INTO cp_dependency VALUES ('3485', 'BROWSERDETECT01'); -INSERT INTO cp_dependency VALUES ('3523', 'LMSFNCTS01'); -INSERT INTO cp_dependency VALUES ('3524', 'JAR01'); -INSERT INTO cp_dependency VALUES ('3525', 'ABOUT01'); -INSERT INTO cp_dependency VALUES ('3526', 'EMULATION01'); -INSERT INTO cp_dependency VALUES ('3527', 'LMSINCLUDE'); -INSERT INTO cp_dependency VALUES ('3536', 'BROWSERDETECT01'); -INSERT INTO cp_dependency VALUES ('3574', 'LMSFNCTS01'); -INSERT INTO cp_dependency VALUES ('3575', 'JAR01'); -INSERT INTO cp_dependency VALUES ('3576', 'ABOUT01'); -INSERT INTO cp_dependency VALUES ('3577', 'EMULATION01'); -INSERT INTO cp_dependency VALUES ('3578', 'LMSINCLUDE'); -INSERT INTO cp_dependency VALUES ('3587', 'BROWSERDETECT01'); -INSERT INTO cp_dependency VALUES ('3626', 'LMSFNCTS01'); -INSERT INTO cp_dependency VALUES ('3627', 'JAR01'); -INSERT INTO cp_dependency VALUES ('3628', 'ABOUT01'); -INSERT INTO cp_dependency VALUES ('3629', 'EMULATION01'); -INSERT INTO cp_dependency VALUES ('3630', 'LMSINCLUDE'); -INSERT INTO cp_dependency VALUES ('3639', 'BROWSERDETECT01'); -INSERT INTO cp_dependency VALUES ('3678', 'LMSFNCTS01'); -INSERT INTO cp_dependency VALUES ('3679', 'JAR01'); -INSERT INTO cp_dependency VALUES ('3680', 'ABOUT01'); -INSERT INTO cp_dependency VALUES ('3681', 'EMULATION01'); -INSERT INTO cp_dependency VALUES ('3682', 'LMSINCLUDE'); -INSERT INTO cp_dependency VALUES ('3691', 'BROWSERDETECT01'); -INSERT INTO cp_dependency VALUES ('3730', 'LMSFNCTS01'); -INSERT INTO cp_dependency VALUES ('3731', 'JAR01'); -INSERT INTO cp_dependency VALUES ('3732', 'ABOUT01'); -INSERT INTO cp_dependency VALUES ('3733', 'EMULATION01'); -INSERT INTO cp_dependency VALUES ('3734', 'LMSINCLUDE'); -INSERT INTO cp_dependency VALUES ('3743', 'BROWSERDETECT01'); -INSERT INTO cp_dependency VALUES ('3782', 'LMSFNCTS01'); -INSERT INTO cp_dependency VALUES ('3783', 'JAR01'); -INSERT INTO cp_dependency VALUES ('3784', 'ABOUT01'); -INSERT INTO cp_dependency VALUES ('3785', 'EMULATION01'); -INSERT INTO cp_dependency VALUES ('3786', 'LMSINCLUDE'); -INSERT INTO cp_dependency VALUES ('3795', 'BROWSERDETECT01'); -INSERT INTO cp_dependency VALUES ('3834', 'LMSFNCTS01'); -INSERT INTO cp_dependency VALUES ('3835', 'JAR01'); -INSERT INTO cp_dependency VALUES ('3836', 'ABOUT01'); -INSERT INTO cp_dependency VALUES ('3837', 'EMULATION01'); -INSERT INTO cp_dependency VALUES ('3838', 'LMSINCLUDE'); -INSERT INTO cp_dependency VALUES ('3847', 'BROWSERDETECT01'); -INSERT INTO cp_dependency VALUES ('3871', 'LMSFNCTS01'); -INSERT INTO cp_dependency VALUES ('3872', 'JAR01'); -INSERT INTO cp_dependency VALUES ('3873', 'ABOUT01'); -INSERT INTO cp_dependency VALUES ('3874', 'EMULATION01'); -INSERT INTO cp_dependency VALUES ('3875', 'LMSINCLUDE'); -INSERT INTO cp_dependency VALUES ('3884', 'BROWSERDETECT01'); -INSERT INTO cp_dependency VALUES ('3923', 'LMSFNCTS01'); -INSERT INTO cp_dependency VALUES ('3924', 'JAR01'); -INSERT INTO cp_dependency VALUES ('3925', 'ABOUT01'); -INSERT INTO cp_dependency VALUES ('3926', 'EMULATION01'); -INSERT INTO cp_dependency VALUES ('3927', 'LMSINCLUDE'); -INSERT INTO cp_dependency VALUES ('3936', 'BROWSERDETECT01'); -INSERT INTO cp_dependency VALUES ('3975', 'LMSFNCTS01'); -INSERT INTO cp_dependency VALUES ('3976', 'JAR01'); -INSERT INTO cp_dependency VALUES ('3977', 'ABOUT01'); -INSERT INTO cp_dependency VALUES ('3978', 'EMULATION01'); -INSERT INTO cp_dependency VALUES ('3979', 'LMSINCLUDE'); -INSERT INTO cp_dependency VALUES ('3988', 'BROWSERDETECT01'); -INSERT INTO cp_dependency VALUES ('4026', 'LMSFNCTS01'); -INSERT INTO cp_dependency VALUES ('4027', 'JAR01'); -INSERT INTO cp_dependency VALUES ('4028', 'ABOUT01'); -INSERT INTO cp_dependency VALUES ('4029', 'EMULATION01'); -INSERT INTO cp_dependency VALUES ('4030', 'LMSINCLUDE'); -INSERT INTO cp_dependency VALUES ('4039', 'BROWSERDETECT01'); -INSERT INTO cp_dependency VALUES ('4073', 'LMSFNCTS01'); -INSERT INTO cp_dependency VALUES ('4074', 'JAR01'); -INSERT INTO cp_dependency VALUES ('4075', 'ABOUT01'); -INSERT INTO cp_dependency VALUES ('4076', 'EMULATION01'); -INSERT INTO cp_dependency VALUES ('4077', 'LMSINCLUDE'); -INSERT INTO cp_dependency VALUES ('4086', 'BROWSERDETECT01'); -INSERT INTO cp_dependency VALUES ('4118', 'LMSFNCTS01'); -INSERT INTO cp_dependency VALUES ('4119', 'JAR01'); -INSERT INTO cp_dependency VALUES ('4120', 'ABOUT01'); -INSERT INTO cp_dependency VALUES ('4121', 'EMULATION01'); -INSERT INTO cp_dependency VALUES ('4122', 'LMSINCLUDE'); -INSERT INTO cp_dependency VALUES ('4131', 'BROWSERDETECT01'); -INSERT INTO cp_dependency VALUES ('4169', 'LMSFNCTS01'); -INSERT INTO cp_dependency VALUES ('4170', 'JAR01'); -INSERT INTO cp_dependency VALUES ('4171', 'ABOUT01'); -INSERT INTO cp_dependency VALUES ('4172', 'EMULATION01'); -INSERT INTO cp_dependency VALUES ('4173', 'LMSINCLUDE'); -INSERT INTO cp_dependency VALUES ('4182', 'BROWSERDETECT01'); -INSERT INTO cp_dependency VALUES ('4224', 'LMSFNCTS01'); -INSERT INTO cp_dependency VALUES ('4225', 'JAR01'); -INSERT INTO cp_dependency VALUES ('4226', 'ABOUT01'); -INSERT INTO cp_dependency VALUES ('4227', 'EMULATION01'); -INSERT INTO cp_dependency VALUES ('4228', 'LMSINCLUDE'); -INSERT INTO cp_dependency VALUES ('4237', 'BROWSERDETECT01'); -INSERT INTO cp_dependency VALUES ('4279', 'LMSFNCTS01'); -INSERT INTO cp_dependency VALUES ('4280', 'JAR01'); -INSERT INTO cp_dependency VALUES ('4281', 'ABOUT01'); -INSERT INTO cp_dependency VALUES ('4282', 'EMULATION01'); -INSERT INTO cp_dependency VALUES ('4283', 'LMSINCLUDE'); -INSERT INTO cp_dependency VALUES ('4292', 'BROWSERDETECT01'); -INSERT INTO cp_dependency VALUES ('4336', 'LMSFNCTS01'); -INSERT INTO cp_dependency VALUES ('4337', 'JAR01'); -INSERT INTO cp_dependency VALUES ('4338', 'ABOUT01'); -INSERT INTO cp_dependency VALUES ('4339', 'EMULATION01'); -INSERT INTO cp_dependency VALUES ('4340', 'LMSINCLUDE'); -INSERT INTO cp_dependency VALUES ('4349', 'BROWSERDETECT01'); -INSERT INTO cp_dependency VALUES ('4403', 'LMSFNCTS01'); -INSERT INTO cp_dependency VALUES ('4404', 'JAR01'); -INSERT INTO cp_dependency VALUES ('4405', 'ABOUT01'); -INSERT INTO cp_dependency VALUES ('4406', 'EMULATION01'); -INSERT INTO cp_dependency VALUES ('4407', 'LMSINCLUDE'); -INSERT INTO cp_dependency VALUES ('4416', 'BROWSERDETECT01'); -INSERT INTO cp_dependency VALUES ('4467', 'LMSFNCTS01'); -INSERT INTO cp_dependency VALUES ('4468', 'JAR01'); -INSERT INTO cp_dependency VALUES ('4469', 'ABOUT01'); -INSERT INTO cp_dependency VALUES ('4470', 'EMULATION01'); -INSERT INTO cp_dependency VALUES ('4471', 'LMSINCLUDE'); -INSERT INTO cp_dependency VALUES ('4480', 'BROWSERDETECT01'); -INSERT INTO cp_dependency VALUES ('4521', 'LMSFNCTS01'); -INSERT INTO cp_dependency VALUES ('4522', 'JAR01'); -INSERT INTO cp_dependency VALUES ('4523', 'ABOUT01'); -INSERT INTO cp_dependency VALUES ('4524', 'EMULATION01'); -INSERT INTO cp_dependency VALUES ('4525', 'LMSINCLUDE'); -INSERT INTO cp_dependency VALUES ('4534', 'BROWSERDETECT01'); -INSERT INTO cp_dependency VALUES ('4572', 'LMSFNCTS01'); -INSERT INTO cp_dependency VALUES ('4573', 'JAR01'); -INSERT INTO cp_dependency VALUES ('4574', 'ABOUT01'); -INSERT INTO cp_dependency VALUES ('4575', 'EMULATION01'); -INSERT INTO cp_dependency VALUES ('4576', 'LMSINCLUDE'); -INSERT INTO cp_dependency VALUES ('4585', 'BROWSERDETECT01'); -INSERT INTO cp_dependency VALUES ('4619', 'LMSFNCTS01'); -INSERT INTO cp_dependency VALUES ('4620', 'JAR01'); -INSERT INTO cp_dependency VALUES ('4621', 'ABOUT01'); -INSERT INTO cp_dependency VALUES ('4622', 'EMULATION01'); -INSERT INTO cp_dependency VALUES ('4623', 'LMSINCLUDE'); -INSERT INTO cp_dependency VALUES ('4632', 'BROWSERDETECT01'); -INSERT INTO cp_dependency VALUES ('4664', 'LMSFNCTS01'); -INSERT INTO cp_dependency VALUES ('4665', 'JAR01'); -INSERT INTO cp_dependency VALUES ('4666', 'ABOUT01'); -INSERT INTO cp_dependency VALUES ('4667', 'EMULATION01'); -INSERT INTO cp_dependency VALUES ('4668', 'LMSINCLUDE'); -INSERT INTO cp_dependency VALUES ('4677', 'BROWSERDETECT01'); -INSERT INTO cp_dependency VALUES ('4702', 'LMSFNCTS01'); -INSERT INTO cp_dependency VALUES ('4703', 'JAR01'); -INSERT INTO cp_dependency VALUES ('4704', 'ABOUT01'); -INSERT INTO cp_dependency VALUES ('4705', 'EMULATION01'); -INSERT INTO cp_dependency VALUES ('4706', 'LMSINCLUDE'); -INSERT INTO cp_dependency VALUES ('4715', 'BROWSERDETECT01'); -INSERT INTO cp_dependency VALUES ('4753', 'LMSFNCTS01'); -INSERT INTO cp_dependency VALUES ('4754', 'JAR01'); -INSERT INTO cp_dependency VALUES ('4755', 'ABOUT01'); -INSERT INTO cp_dependency VALUES ('4756', 'EMULATION01'); -INSERT INTO cp_dependency VALUES ('4757', 'LMSINCLUDE'); -INSERT INTO cp_dependency VALUES ('4766', 'BROWSERDETECT01'); -INSERT INTO cp_dependency VALUES ('4806', 'LMSFNCTS01'); -INSERT INTO cp_dependency VALUES ('4807', 'JAR01'); -INSERT INTO cp_dependency VALUES ('4808', 'ABOUT01'); -INSERT INTO cp_dependency VALUES ('4809', 'EMULATION01'); -INSERT INTO cp_dependency VALUES ('4810', 'LMSINCLUDE'); -INSERT INTO cp_dependency VALUES ('4819', 'BROWSERDETECT01'); -INSERT INTO cp_dependency VALUES ('4846', 'LMSFNCTS01'); -INSERT INTO cp_dependency VALUES ('4847', 'JAR01'); -INSERT INTO cp_dependency VALUES ('4848', 'ABOUT01'); -INSERT INTO cp_dependency VALUES ('4849', 'EMULATION01'); -INSERT INTO cp_dependency VALUES ('4850', 'LMSINCLUDE'); -INSERT INTO cp_dependency VALUES ('4859', 'BROWSERDETECT01'); -INSERT INTO cp_dependency VALUES ('4904', 'LMSFNCTS01'); -INSERT INTO cp_dependency VALUES ('4905', 'JAR01'); -INSERT INTO cp_dependency VALUES ('4906', 'ABOUT01'); -INSERT INTO cp_dependency VALUES ('4907', 'EMULATION01'); -INSERT INTO cp_dependency VALUES ('4908', 'LMSINCLUDE'); -INSERT INTO cp_dependency VALUES ('4917', 'BROWSERDETECT01'); -INSERT INTO cp_dependency VALUES ('5005', 'LMSFNCTS01'); -INSERT INTO cp_dependency VALUES ('5006', 'JAR01'); -INSERT INTO cp_dependency VALUES ('5007', 'ABOUT01'); -INSERT INTO cp_dependency VALUES ('5008', 'EMULATION01'); -INSERT INTO cp_dependency VALUES ('5009', 'LMSINCLUDE'); -INSERT INTO cp_dependency VALUES ('5018', 'BROWSERDETECT01'); -INSERT INTO cp_dependency VALUES ('5050', 'LMSFNCTS01'); -INSERT INTO cp_dependency VALUES ('5051', 'JAR01'); -INSERT INTO cp_dependency VALUES ('5052', 'ABOUT01'); -INSERT INTO cp_dependency VALUES ('5053', 'EMULATION01'); -INSERT INTO cp_dependency VALUES ('5054', 'LMSINCLUDE'); -INSERT INTO cp_dependency VALUES ('5063', 'BROWSERDETECT01'); -INSERT INTO cp_dependency VALUES ('5090', 'LMSFNCTS01'); -INSERT INTO cp_dependency VALUES ('5091', 'JAR01'); -INSERT INTO cp_dependency VALUES ('5092', 'ABOUT01'); -INSERT INTO cp_dependency VALUES ('5093', 'EMULATION01'); -INSERT INTO cp_dependency VALUES ('5094', 'LMSINCLUDE'); -INSERT INTO cp_dependency VALUES ('5103', 'BROWSERDETECT01'); -INSERT INTO cp_dependency VALUES ('5130', 'LMSFNCTS01'); -INSERT INTO cp_dependency VALUES ('5131', 'JAR01'); -INSERT INTO cp_dependency VALUES ('5132', 'ABOUT01'); -INSERT INTO cp_dependency VALUES ('5133', 'EMULATION01'); -INSERT INTO cp_dependency VALUES ('5134', 'LMSINCLUDE'); -INSERT INTO cp_dependency VALUES ('5143', 'BROWSERDETECT01'); -INSERT INTO cp_dependency VALUES ('5186', 'LMSFNCTS01'); -INSERT INTO cp_dependency VALUES ('5187', 'JAR01'); -INSERT INTO cp_dependency VALUES ('5188', 'ABOUT01'); -INSERT INTO cp_dependency VALUES ('5189', 'EMULATION01'); -INSERT INTO cp_dependency VALUES ('5190', 'LMSINCLUDE'); -INSERT INTO cp_dependency VALUES ('5199', 'BROWSERDETECT01'); -INSERT INTO cp_dependency VALUES ('5245', 'LMSFNCTS01'); -INSERT INTO cp_dependency VALUES ('5246', 'JAR01'); -INSERT INTO cp_dependency VALUES ('5247', 'ABOUT01'); -INSERT INTO cp_dependency VALUES ('5248', 'EMULATION01'); -INSERT INTO cp_dependency VALUES ('5249', 'LMSINCLUDE'); -INSERT INTO cp_dependency VALUES ('5258', 'BROWSERDETECT01'); -INSERT INTO cp_dependency VALUES ('5408', 'LMSFNCTS01'); -INSERT INTO cp_dependency VALUES ('5409', 'JAR01'); -INSERT INTO cp_dependency VALUES ('5410', 'ABOUT01'); -INSERT INTO cp_dependency VALUES ('5411', 'EMULATION01'); -INSERT INTO cp_dependency VALUES ('5412', 'LMSINCLUDE'); -INSERT INTO cp_dependency VALUES ('5421', 'BROWSERDETECT01'); -INSERT INTO cp_dependency VALUES ('5621', 'LMSFNCTS01'); -INSERT INTO cp_dependency VALUES ('5622', 'JAR01'); -INSERT INTO cp_dependency VALUES ('5623', 'ABOUT01'); -INSERT INTO cp_dependency VALUES ('5624', 'EMULATION01'); -INSERT INTO cp_dependency VALUES ('5625', 'LMSINCLUDE'); -INSERT INTO cp_dependency VALUES ('5634', 'BROWSERDETECT01'); -INSERT INTO cp_dependency VALUES ('5720', 'SCO1ITSELF'); -INSERT INTO cp_dependency VALUES ('5721', 'SCO1P2OBJECTS'); -INSERT INTO cp_dependency VALUES ('5722', 'SCO1RESOURCES'); -INSERT INTO cp_dependency VALUES ('5723', 'SCO1FLAVOUR'); -INSERT INTO cp_dependency VALUES ('5725', 'SCO2ITSELF'); -INSERT INTO cp_dependency VALUES ('5726', 'SCO2P2OBJECTS'); -INSERT INTO cp_dependency VALUES ('5727', 'SCO2RESOURCES'); -INSERT INTO cp_dependency VALUES ('5728', 'SCO2FLAVOUR'); -INSERT INTO cp_dependency VALUES ('5730', 'SCO3ITSELF'); -INSERT INTO cp_dependency VALUES ('5731', 'SCO3P2OBJECTS'); -INSERT INTO cp_dependency VALUES ('5732', 'SCO3RESOURCES'); -INSERT INTO cp_dependency VALUES ('5733', 'SCO3FLAVOUR'); -INSERT INTO cp_dependency VALUES ('5735', 'SCO4ITSELF'); -INSERT INTO cp_dependency VALUES ('5736', 'SCO4P2OBJECTS'); -INSERT INTO cp_dependency VALUES ('5737', 'SCO4RESOURCES'); -INSERT INTO cp_dependency VALUES ('5738', 'SCO4FLAVOUR'); -INSERT INTO cp_dependency VALUES ('5740', 'SCO5ITSELF'); -INSERT INTO cp_dependency VALUES ('5741', 'SCO5P2OBJECTS'); -INSERT INTO cp_dependency VALUES ('5742', 'SCO5RESOURCES'); -INSERT INTO cp_dependency VALUES ('5743', 'SCO5FLAVOUR'); -INSERT INTO cp_dependency VALUES ('7043', 'SCO1ITSELF'); -INSERT INTO cp_dependency VALUES ('7044', 'SCO1P2OBJECTS'); -INSERT INTO cp_dependency VALUES ('7045', 'SCO1RESOURCES'); -INSERT INTO cp_dependency VALUES ('7046', 'SCO1FLAVOUR'); -INSERT INTO cp_dependency VALUES ('7048', 'SCO2ITSELF'); -INSERT INTO cp_dependency VALUES ('7049', 'SCO2P2OBJECTS'); -INSERT INTO cp_dependency VALUES ('7050', 'SCO2RESOURCES'); -INSERT INTO cp_dependency VALUES ('7051', 'SCO2FLAVOUR'); -INSERT INTO cp_dependency VALUES ('7053', 'SCO3ITSELF'); -INSERT INTO cp_dependency VALUES ('7054', 'SCO3P2OBJECTS'); -INSERT INTO cp_dependency VALUES ('7055', 'SCO3RESOURCES'); -INSERT INTO cp_dependency VALUES ('7056', 'SCO3FLAVOUR'); -INSERT INTO cp_dependency VALUES ('7058', 'SCO4ITSELF'); -INSERT INTO cp_dependency VALUES ('7059', 'SCO4P2OBJECTS'); -INSERT INTO cp_dependency VALUES ('7060', 'SCO4RESOURCES'); -INSERT INTO cp_dependency VALUES ('7061', 'SCO4FLAVOUR'); -INSERT INTO cp_dependency VALUES ('7063', 'SCO5ITSELF'); -INSERT INTO cp_dependency VALUES ('7064', 'SCO5P2OBJECTS'); -INSERT INTO cp_dependency VALUES ('7065', 'SCO5RESOURCES'); -INSERT INTO cp_dependency VALUES ('7066', 'SCO5FLAVOUR'); -INSERT INTO cp_dependency VALUES ('7068', 'SCO6ITSELF'); -INSERT INTO cp_dependency VALUES ('7069', 'SCO6P2OBJECTS'); -INSERT INTO cp_dependency VALUES ('7070', 'SCO6RESOURCES'); -INSERT INTO cp_dependency VALUES ('7071', 'SCO6FLAVOUR'); -INSERT INTO cp_dependency VALUES ('7073', 'SCO7ITSELF'); -INSERT INTO cp_dependency VALUES ('7074', 'SCO7P2OBJECTS'); -INSERT INTO cp_dependency VALUES ('7075', 'SCO7RESOURCES'); -INSERT INTO cp_dependency VALUES ('7076', 'SCO7FLAVOUR'); -INSERT INTO cp_dependency VALUES ('7703', 'SCO1ITSELF'); -INSERT INTO cp_dependency VALUES ('7704', 'SCO1P2OBJECTS'); -INSERT INTO cp_dependency VALUES ('7705', 'SCO1RESOURCES'); -INSERT INTO cp_dependency VALUES ('7706', 'SCO1FLAVOUR'); -INSERT INTO cp_dependency VALUES ('7708', 'SCO2ITSELF'); -INSERT INTO cp_dependency VALUES ('7709', 'SCO2P2OBJECTS'); -INSERT INTO cp_dependency VALUES ('7710', 'SCO2RESOURCES'); -INSERT INTO cp_dependency VALUES ('7711', 'SCO2FLAVOUR'); -INSERT INTO cp_dependency VALUES ('7713', 'SCO3ITSELF'); -INSERT INTO cp_dependency VALUES ('7714', 'SCO3P2OBJECTS'); -INSERT INTO cp_dependency VALUES ('7715', 'SCO3RESOURCES'); -INSERT INTO cp_dependency VALUES ('7716', 'SCO3FLAVOUR'); -INSERT INTO cp_dependency VALUES ('7718', 'SCO4ITSELF'); -INSERT INTO cp_dependency VALUES ('7719', 'SCO4P2OBJECTS'); -INSERT INTO cp_dependency VALUES ('7720', 'SCO4RESOURCES'); -INSERT INTO cp_dependency VALUES ('7721', 'SCO4FLAVOUR'); -INSERT INTO cp_dependency VALUES ('7723', 'SCO5ITSELF'); -INSERT INTO cp_dependency VALUES ('7724', 'SCO5P2OBJECTS'); -INSERT INTO cp_dependency VALUES ('7725', 'SCO5RESOURCES'); -INSERT INTO cp_dependency VALUES ('7726', 'SCO5FLAVOUR'); -INSERT INTO cp_dependency VALUES ('7728', 'SCO6ITSELF'); -INSERT INTO cp_dependency VALUES ('7729', 'SCO6P2OBJECTS'); -INSERT INTO cp_dependency VALUES ('7730', 'SCO6RESOURCES'); -INSERT INTO cp_dependency VALUES ('7731', 'SCO6FLAVOUR'); -INSERT INTO cp_dependency VALUES ('7733', 'SCO7ITSELF'); -INSERT INTO cp_dependency VALUES ('7734', 'SCO7P2OBJECTS'); -INSERT INTO cp_dependency VALUES ('7735', 'SCO7RESOURCES'); -INSERT INTO cp_dependency VALUES ('7736', 'SCO7FLAVOUR'); -# -------------------------------------------------------- - - -# -# Dumping data for table: cp_file -# -INSERT INTO cp_file VALUES ('10', 'AssetLaunchTest.htm'); -INSERT INTO cp_file VALUES ('17', 'APIRTETest1.htm'); -INSERT INTO cp_file VALUES ('24', 'APIRTETest2.htm'); -INSERT INTO cp_file VALUES ('31', 'LMSTest.jar'); -INSERT INTO cp_file VALUES ('33', 'common/About.js'); -INSERT INTO cp_file VALUES ('35', 'common/EmulationCode.js'); -INSERT INTO cp_file VALUES ('38', 'common/BrowserDetect.js'); -INSERT INTO cp_file VALUES ('40', 'common/lmsrtefunctions.js'); -INSERT INTO cp_file VALUES ('42', 'includes/LMSTestContentPackages_style.css'); -INSERT INTO cp_file VALUES ('52', 'AssetLaunchTest.htm'); -INSERT INTO cp_file VALUES ('59', 'APIRTETest1.htm'); -INSERT INTO cp_file VALUES ('66', 'APIRTETest2.htm'); -INSERT INTO cp_file VALUES ('73', 'LMSTest.jar'); -INSERT INTO cp_file VALUES ('75', 'common/About.js'); -INSERT INTO cp_file VALUES ('77', 'common/EmulationCode.js'); -INSERT INTO cp_file VALUES ('80', 'common/BrowserDetect.js'); -INSERT INTO cp_file VALUES ('82', 'common/lmsrtefunctions.js'); -INSERT INTO cp_file VALUES ('84', 'includes/LMSTestContentPackages_style.css'); -INSERT INTO cp_file VALUES ('100', 'SequencingTest.htm'); -INSERT INTO cp_file VALUES ('107', 'common/lmsrtefunctions.js'); -INSERT INTO cp_file VALUES ('109', 'LMSTest.jar'); -INSERT INTO cp_file VALUES ('111', 'common/About.js'); -INSERT INTO cp_file VALUES ('113', 'common/EmulationCode.js'); -INSERT INTO cp_file VALUES ('116', 'common/BrowserDetect.js'); -INSERT INTO cp_file VALUES ('118', 'includes/LMSTestContentPackages_style.css'); -INSERT INTO cp_file VALUES ('131', 'SequencingTest.htm'); -INSERT INTO cp_file VALUES ('138', 'common/lmsrtefunctions.js'); -INSERT INTO cp_file VALUES ('140', 'LMSTest.jar'); -INSERT INTO cp_file VALUES ('142', 'common/About.js'); -INSERT INTO cp_file VALUES ('144', 'common/EmulationCode.js'); -INSERT INTO cp_file VALUES ('147', 'common/BrowserDetect.js'); -INSERT INTO cp_file VALUES ('149', 'includes/LMSTestContentPackages_style.css'); -INSERT INTO cp_file VALUES ('172', 'SequencingTest.htm'); -INSERT INTO cp_file VALUES ('179', 'common/lmsrtefunctions.js'); -INSERT INTO cp_file VALUES ('181', 'LMSTest.jar'); -INSERT INTO cp_file VALUES ('183', 'common/About.js'); -INSERT INTO cp_file VALUES ('185', 'common/EmulationCode.js'); -INSERT INTO cp_file VALUES ('188', 'common/BrowserDetect.js'); -INSERT INTO cp_file VALUES ('190', 'includes/LMSTestContentPackages_style.css'); -INSERT INTO cp_file VALUES ('216', 'SequencingTest.htm'); -INSERT INTO cp_file VALUES ('223', 'common/lmsrtefunctions.js'); -INSERT INTO cp_file VALUES ('225', 'LMSTest.jar'); -INSERT INTO cp_file VALUES ('227', 'common/About.js'); -INSERT INTO cp_file VALUES ('229', 'common/EmulationCode.js'); -INSERT INTO cp_file VALUES ('232', 'common/BrowserDetect.js'); -INSERT INTO cp_file VALUES ('234', 'includes/LMSTestContentPackages_style.css'); -INSERT INTO cp_file VALUES ('288', 'SequencingTest.htm'); -INSERT INTO cp_file VALUES ('295', 'common/lmsrtefunctions.js'); -INSERT INTO cp_file VALUES ('297', 'LMSTest.jar'); -INSERT INTO cp_file VALUES ('299', 'common/About.js'); -INSERT INTO cp_file VALUES ('301', 'common/EmulationCode.js'); -INSERT INTO cp_file VALUES ('304', 'common/BrowserDetect.js'); -INSERT INTO cp_file VALUES ('306', 'includes/LMSTestContentPackages_style.css'); -INSERT INTO cp_file VALUES ('380', 'SequencingTest.htm'); -INSERT INTO cp_file VALUES ('387', 'common/lmsrtefunctions.js'); -INSERT INTO cp_file VALUES ('389', 'LMSTest.jar'); -INSERT INTO cp_file VALUES ('391', 'common/About.js'); -INSERT INTO cp_file VALUES ('393', 'common/EmulationCode.js'); -INSERT INTO cp_file VALUES ('396', 'common/BrowserDetect.js'); -INSERT INTO cp_file VALUES ('398', 'includes/LMSTestContentPackages_style.css'); -INSERT INTO cp_file VALUES ('418', 'SequencingTest.htm'); -INSERT INTO cp_file VALUES ('425', 'common/lmsrtefunctions.js'); -INSERT INTO cp_file VALUES ('427', 'LMSTest.jar'); -INSERT INTO cp_file VALUES ('429', 'common/About.js'); -INSERT INTO cp_file VALUES ('431', 'common/EmulationCode.js'); -INSERT INTO cp_file VALUES ('434', 'common/BrowserDetect.js'); -INSERT INTO cp_file VALUES ('436', 'includes/LMSTestContentPackages_style.css'); -INSERT INTO cp_file VALUES ('491', 'SequencingTest.htm'); -INSERT INTO cp_file VALUES ('498', 'common/lmsrtefunctions.js'); -INSERT INTO cp_file VALUES ('500', 'LMSTest.jar'); -INSERT INTO cp_file VALUES ('502', 'common/About.js'); -INSERT INTO cp_file VALUES ('504', 'common/EmulationCode.js'); -INSERT INTO cp_file VALUES ('507', 'common/BrowserDetect.js'); -INSERT INTO cp_file VALUES ('509', 'includes/LMSTestContentPackages_style.css'); -INSERT INTO cp_file VALUES ('563', 'SequencingTest.htm'); -INSERT INTO cp_file VALUES ('570', 'common/lmsrtefunctions.js'); -INSERT INTO cp_file VALUES ('572', 'LMSTest.jar'); -INSERT INTO cp_file VALUES ('574', 'common/About.js'); -INSERT INTO cp_file VALUES ('576', 'common/EmulationCode.js'); -INSERT INTO cp_file VALUES ('579', 'common/BrowserDetect.js'); -INSERT INTO cp_file VALUES ('581', 'includes/LMSTestContentPackages_style.css'); -INSERT INTO cp_file VALUES ('616', 'SequencingTest.htm'); -INSERT INTO cp_file VALUES ('623', 'common/lmsrtefunctions.js'); -INSERT INTO cp_file VALUES ('625', 'LMSTest.jar'); -INSERT INTO cp_file VALUES ('627', 'common/About.js'); -INSERT INTO cp_file VALUES ('629', 'common/EmulationCode.js'); -INSERT INTO cp_file VALUES ('632', 'common/BrowserDetect.js'); -INSERT INTO cp_file VALUES ('634', 'includes/LMSTestContentPackages_style.css'); -INSERT INTO cp_file VALUES ('653', 'SequencingTest.htm'); -INSERT INTO cp_file VALUES ('660', 'common/lmsrtefunctions.js'); -INSERT INTO cp_file VALUES ('662', 'LMSTest.jar'); -INSERT INTO cp_file VALUES ('664', 'common/About.js'); -INSERT INTO cp_file VALUES ('666', 'common/EmulationCode.js'); -INSERT INTO cp_file VALUES ('669', 'common/BrowserDetect.js'); -INSERT INTO cp_file VALUES ('671', 'includes/LMSTestContentPackages_style.css'); -INSERT INTO cp_file VALUES ('690', 'SequencingTestFail.htm'); -INSERT INTO cp_file VALUES ('697', 'SequencingTest.htm'); -INSERT INTO cp_file VALUES ('704', 'common/lmsrtefunctions.js'); -INSERT INTO cp_file VALUES ('706', 'LMSTest.jar'); -INSERT INTO cp_file VALUES ('708', 'common/About.js'); -INSERT INTO cp_file VALUES ('710', 'common/EmulationCode.js'); -INSERT INTO cp_file VALUES ('713', 'common/BrowserDetect.js'); -INSERT INTO cp_file VALUES ('715', 'includes/LMSTestContentPackages_style.css'); -INSERT INTO cp_file VALUES ('753', 'SequencingTest.htm'); -INSERT INTO cp_file VALUES ('760', 'SequencingTestFail.htm'); -INSERT INTO cp_file VALUES ('767', 'common/lmsrtefunctions.js'); -INSERT INTO cp_file VALUES ('769', 'LMSTest.jar'); -INSERT INTO cp_file VALUES ('771', 'common/About.js'); -INSERT INTO cp_file VALUES ('773', 'common/EmulationCode.js'); -INSERT INTO cp_file VALUES ('776', 'common/BrowserDetect.js'); -INSERT INTO cp_file VALUES ('778', 'includes/LMSTestContentPackages_style.css'); -INSERT INTO cp_file VALUES ('818', 'SequencingTest.htm'); -INSERT INTO cp_file VALUES ('825', 'common/lmsrtefunctions.js'); -INSERT INTO cp_file VALUES ('827', 'LMSTest.jar'); -INSERT INTO cp_file VALUES ('829', 'common/About.js'); -INSERT INTO cp_file VALUES ('831', 'common/EmulationCode.js'); -INSERT INTO cp_file VALUES ('834', 'common/BrowserDetect.js'); -INSERT INTO cp_file VALUES ('836', 'includes/LMSTestContentPackages_style.css'); -INSERT INTO cp_file VALUES ('875', 'SequencingTest.htm'); -INSERT INTO cp_file VALUES ('882', 'common/lmsrtefunctions.js'); -INSERT INTO cp_file VALUES ('884', 'LMSTest.jar'); -INSERT INTO cp_file VALUES ('886', 'common/About.js'); -INSERT INTO cp_file VALUES ('888', 'common/EmulationCode.js'); -INSERT INTO cp_file VALUES ('891', 'common/BrowserDetect.js'); -INSERT INTO cp_file VALUES ('893', 'includes/LMSTestContentPackages_style.css'); -INSERT INTO cp_file VALUES ('911', 'SequencingTest.htm'); -INSERT INTO cp_file VALUES ('918', 'common/lmsrtefunctions.js'); -INSERT INTO cp_file VALUES ('920', 'LMSTest.jar'); -INSERT INTO cp_file VALUES ('922', 'common/About.js'); -INSERT INTO cp_file VALUES ('924', 'common/EmulationCode.js'); -INSERT INTO cp_file VALUES ('927', 'common/BrowserDetect.js'); -INSERT INTO cp_file VALUES ('929', 'includes/LMSTestContentPackages_style.css'); -INSERT INTO cp_file VALUES ('942', 'SequencingTest.htm'); -INSERT INTO cp_file VALUES ('949', 'common/lmsrtefunctions.js'); -INSERT INTO cp_file VALUES ('951', 'LMSTest.jar'); -INSERT INTO cp_file VALUES ('953', 'common/About.js'); -INSERT INTO cp_file VALUES ('955', 'common/EmulationCode.js'); -INSERT INTO cp_file VALUES ('958', 'common/BrowserDetect.js'); -INSERT INTO cp_file VALUES ('960', 'includes/LMSTestContentPackages_style.css'); -INSERT INTO cp_file VALUES ('970', 'SequencingTest.htm'); -INSERT INTO cp_file VALUES ('977', 'common/lmsrtefunctions.js'); -INSERT INTO cp_file VALUES ('979', 'LMSTest.jar'); -INSERT INTO cp_file VALUES ('981', 'common/About.js'); -INSERT INTO cp_file VALUES ('983', 'common/EmulationCode.js'); -INSERT INTO cp_file VALUES ('986', 'common/BrowserDetect.js'); -INSERT INTO cp_file VALUES ('988', 'includes/LMSTestContentPackages_style.css'); -INSERT INTO cp_file VALUES ('1015', 'DMBehaviorTest1.htm'); -INSERT INTO cp_file VALUES ('1022', 'DMBehaviorTest2.htm'); -INSERT INTO cp_file VALUES ('1029', 'DMBehaviorTest3.htm'); -INSERT INTO cp_file VALUES ('1036', 'DMBehaviorTest4.htm'); -INSERT INTO cp_file VALUES ('1043', 'DMBehaviorTest5.htm'); -INSERT INTO cp_file VALUES ('1050', 'DMBehaviorTest6.htm'); -INSERT INTO cp_file VALUES ('1057', 'DMBehaviorTest7.htm'); -INSERT INTO cp_file VALUES ('1064', 'DMBehaviorTest8.htm'); -INSERT INTO cp_file VALUES ('1071', 'DMBehaviorTest9.htm'); -INSERT INTO cp_file VALUES ('1078', 'common/lmsrtefunctions.js'); -INSERT INTO cp_file VALUES ('1080', 'LMSTest.jar'); -INSERT INTO cp_file VALUES ('1082', 'common/About.js'); -INSERT INTO cp_file VALUES ('1084', 'common/EmulationCode.js'); -INSERT INTO cp_file VALUES ('1087', 'common/BrowserDetect.js'); -INSERT INTO cp_file VALUES ('1089', 'includes/LMSTestContentPackages_style.css'); -INSERT INTO cp_file VALUES ('1113', 'DMImplementationTest1.htm'); -INSERT INTO cp_file VALUES ('1120', 'DMImplementationTest2.htm'); -INSERT INTO cp_file VALUES ('1127', 'DMImplementationTest3.htm'); -INSERT INTO cp_file VALUES ('1134', 'DMImplementationTest4.htm'); -INSERT INTO cp_file VALUES ('1141', 'common/lmsrtefunctions.js'); -INSERT INTO cp_file VALUES ('1143', 'LMSTest.jar'); -INSERT INTO cp_file VALUES ('1145', 'common/About.js'); -INSERT INTO cp_file VALUES ('1147', 'common/EmulationCode.js'); -INSERT INTO cp_file VALUES ('1150', 'common/BrowserDetect.js'); -INSERT INTO cp_file VALUES ('1152', 'includes/LMSTestContentPackages_style.css'); -INSERT INTO cp_file VALUES ('1177', 'SequencingTest.htm'); -INSERT INTO cp_file VALUES ('1184', 'common/lmsrtefunctions.js'); -INSERT INTO cp_file VALUES ('1186', 'LMSTest.jar'); -INSERT INTO cp_file VALUES ('1188', 'common/About.js'); -INSERT INTO cp_file VALUES ('1190', 'common/EmulationCode.js'); -INSERT INTO cp_file VALUES ('1193', 'common/BrowserDetect.js'); -INSERT INTO cp_file VALUES ('1195', 'includes/LMSTestContentPackages_style.css'); -INSERT INTO cp_file VALUES ('1225', 'SequencingTest.htm'); -INSERT INTO cp_file VALUES ('1232', 'common/lmsrtefunctions.js'); -INSERT INTO cp_file VALUES ('1234', 'LMSTest.jar'); -INSERT INTO cp_file VALUES ('1236', 'common/About.js'); -INSERT INTO cp_file VALUES ('1238', 'common/EmulationCode.js'); -INSERT INTO cp_file VALUES ('1241', 'common/BrowserDetect.js'); -INSERT INTO cp_file VALUES ('1243', 'includes/LMSTestContentPackages_style.css'); -INSERT INTO cp_file VALUES ('1275', 'SequencingTest.htm'); -INSERT INTO cp_file VALUES ('1282', 'common/lmsrtefunctions.js'); -INSERT INTO cp_file VALUES ('1284', 'LMSTest.jar'); -INSERT INTO cp_file VALUES ('1286', 'common/About.js'); -INSERT INTO cp_file VALUES ('1288', 'common/EmulationCode.js'); -INSERT INTO cp_file VALUES ('1291', 'common/BrowserDetect.js'); -INSERT INTO cp_file VALUES ('1293', 'includes/LMSTestContentPackages_style.css'); -INSERT INTO cp_file VALUES ('1310', 'SequencingTest.htm'); -INSERT INTO cp_file VALUES ('1317', 'common/lmsrtefunctions.js'); -INSERT INTO cp_file VALUES ('1319', 'LMSTest.jar'); -INSERT INTO cp_file VALUES ('1321', 'common/About.js'); -INSERT INTO cp_file VALUES ('1323', 'common/EmulationCode.js'); -INSERT INTO cp_file VALUES ('1326', 'common/BrowserDetect.js'); -INSERT INTO cp_file VALUES ('1328', 'includes/LMSTestContentPackages_style.css'); -INSERT INTO cp_file VALUES ('1344', 'SequencingTest.htm'); -INSERT INTO cp_file VALUES ('1351', 'common/lmsrtefunctions.js'); -INSERT INTO cp_file VALUES ('1353', 'LMSTest.jar'); -INSERT INTO cp_file VALUES ('1355', 'common/About.js'); -INSERT INTO cp_file VALUES ('1357', 'common/EmulationCode.js'); -INSERT INTO cp_file VALUES ('1360', 'common/BrowserDetect.js'); -INSERT INTO cp_file VALUES ('1362', 'includes/LMSTestContentPackages_style.css'); -INSERT INTO cp_file VALUES ('1395', 'SequencingTest.htm'); -INSERT INTO cp_file VALUES ('1402', 'common/lmsrtefunctions.js'); -INSERT INTO cp_file VALUES ('1404', 'LMSTest.jar'); -INSERT INTO cp_file VALUES ('1406', 'common/About.js'); -INSERT INTO cp_file VALUES ('1408', 'common/EmulationCode.js'); -INSERT INTO cp_file VALUES ('1411', 'common/BrowserDetect.js'); -INSERT INTO cp_file VALUES ('1413', 'includes/LMSTestContentPackages_style.css'); -INSERT INTO cp_file VALUES ('1446', 'SequencingTest.htm'); -INSERT INTO cp_file VALUES ('1453', 'common/lmsrtefunctions.js'); -INSERT INTO cp_file VALUES ('1455', 'LMSTest.jar'); -INSERT INTO cp_file VALUES ('1457', 'common/About.js'); -INSERT INTO cp_file VALUES ('1459', 'common/EmulationCode.js'); -INSERT INTO cp_file VALUES ('1462', 'common/BrowserDetect.js'); -INSERT INTO cp_file VALUES ('1464', 'includes/LMSTestContentPackages_style.css'); -INSERT INTO cp_file VALUES ('1490', 'SequencingTest.htm'); -INSERT INTO cp_file VALUES ('1497', 'common/lmsrtefunctions.js'); -INSERT INTO cp_file VALUES ('1499', 'LMSTest.jar'); -INSERT INTO cp_file VALUES ('1501', 'common/About.js'); -INSERT INTO cp_file VALUES ('1503', 'common/EmulationCode.js'); -INSERT INTO cp_file VALUES ('1506', 'common/BrowserDetect.js'); -INSERT INTO cp_file VALUES ('1508', 'includes/LMSTestContentPackages_style.css'); -INSERT INTO cp_file VALUES ('1533', 'SequencingTest.htm'); -INSERT INTO cp_file VALUES ('1540', 'common/lmsrtefunctions.js'); -INSERT INTO cp_file VALUES ('1542', 'LMSTest.jar'); -INSERT INTO cp_file VALUES ('1544', 'common/About.js'); -INSERT INTO cp_file VALUES ('1546', 'common/EmulationCode.js'); -INSERT INTO cp_file VALUES ('1549', 'common/BrowserDetect.js'); -INSERT INTO cp_file VALUES ('1551', 'includes/LMSTestContentPackages_style.css'); -INSERT INTO cp_file VALUES ('1576', 'SequencingTest.htm'); -INSERT INTO cp_file VALUES ('1583', 'common/lmsrtefunctions.js'); -INSERT INTO cp_file VALUES ('1585', 'LMSTest.jar'); -INSERT INTO cp_file VALUES ('1587', 'common/About.js'); -INSERT INTO cp_file VALUES ('1589', 'common/EmulationCode.js'); -INSERT INTO cp_file VALUES ('1592', 'common/BrowserDetect.js'); -INSERT INTO cp_file VALUES ('1594', 'includes/LMSTestContentPackages_style.css'); -INSERT INTO cp_file VALUES ('1619', 'SequencingTest.htm'); -INSERT INTO cp_file VALUES ('1626', 'common/lmsrtefunctions.js'); -INSERT INTO cp_file VALUES ('1628', 'LMSTest.jar'); -INSERT INTO cp_file VALUES ('1630', 'common/About.js'); -INSERT INTO cp_file VALUES ('1632', 'common/EmulationCode.js'); -INSERT INTO cp_file VALUES ('1635', 'common/BrowserDetect.js'); -INSERT INTO cp_file VALUES ('1637', 'includes/LMSTestContentPackages_style.css'); -INSERT INTO cp_file VALUES ('1655', 'SequencingTest.htm'); -INSERT INTO cp_file VALUES ('1662', 'common/lmsrtefunctions.js'); -INSERT INTO cp_file VALUES ('1664', 'LMSTest.jar'); -INSERT INTO cp_file VALUES ('1666', 'common/About.js'); -INSERT INTO cp_file VALUES ('1668', 'common/EmulationCode.js'); -INSERT INTO cp_file VALUES ('1671', 'common/BrowserDetect.js'); -INSERT INTO cp_file VALUES ('1673', 'includes/LMSTestContentPackages_style.css'); -INSERT INTO cp_file VALUES ('1700', 'SequencingTest.htm'); -INSERT INTO cp_file VALUES ('1707', 'common/lmsrtefunctions.js'); -INSERT INTO cp_file VALUES ('1709', 'LMSTest.jar'); -INSERT INTO cp_file VALUES ('1711', 'common/About.js'); -INSERT INTO cp_file VALUES ('1713', 'common/EmulationCode.js'); -INSERT INTO cp_file VALUES ('1716', 'common/BrowserDetect.js'); -INSERT INTO cp_file VALUES ('1718', 'includes/LMSTestContentPackages_style.css'); -INSERT INTO cp_file VALUES ('1765', 'SequencingTest.htm'); -INSERT INTO cp_file VALUES ('1772', 'common/lmsrtefunctions.js'); -INSERT INTO cp_file VALUES ('1774', 'LMSTest.jar'); -INSERT INTO cp_file VALUES ('1776', 'common/About.js'); -INSERT INTO cp_file VALUES ('1778', 'common/EmulationCode.js'); -INSERT INTO cp_file VALUES ('1781', 'common/BrowserDetect.js'); -INSERT INTO cp_file VALUES ('1783', 'includes/LMSTestContentPackages_style.css'); -INSERT INTO cp_file VALUES ('1844', 'SequencingTest.htm'); -INSERT INTO cp_file VALUES ('1851', 'common/lmsrtefunctions.js'); -INSERT INTO cp_file VALUES ('1853', 'LMSTest.jar'); -INSERT INTO cp_file VALUES ('1855', 'common/About.js'); -INSERT INTO cp_file VALUES ('1857', 'common/EmulationCode.js'); -INSERT INTO cp_file VALUES ('1860', 'common/BrowserDetect.js'); -INSERT INTO cp_file VALUES ('1862', 'includes/LMSTestContentPackages_style.css'); -INSERT INTO cp_file VALUES ('1921', 'SequencingTest.htm'); -INSERT INTO cp_file VALUES ('1928', 'common/lmsrtefunctions.js'); -INSERT INTO cp_file VALUES ('1930', 'LMSTest.jar'); -INSERT INTO cp_file VALUES ('1932', 'common/About.js'); -INSERT INTO cp_file VALUES ('1934', 'common/EmulationCode.js'); -INSERT INTO cp_file VALUES ('1937', 'common/BrowserDetect.js'); -INSERT INTO cp_file VALUES ('1939', 'includes/LMSTestContentPackages_style.css'); -INSERT INTO cp_file VALUES ('1981', 'SequencingTest.htm'); -INSERT INTO cp_file VALUES ('1988', 'common/lmsrtefunctions.js'); -INSERT INTO cp_file VALUES ('1990', 'LMSTest.jar'); -INSERT INTO cp_file VALUES ('1992', 'common/About.js'); -INSERT INTO cp_file VALUES ('1994', 'common/EmulationCode.js'); -INSERT INTO cp_file VALUES ('1997', 'common/BrowserDetect.js'); -INSERT INTO cp_file VALUES ('1999', 'includes/LMSTestContentPackages_style.css'); -INSERT INTO cp_file VALUES ('2033', 'SequencingTest.htm'); -INSERT INTO cp_file VALUES ('2040', 'common/lmsrtefunctions.js'); -INSERT INTO cp_file VALUES ('2042', 'LMSTest.jar'); -INSERT INTO cp_file VALUES ('2044', 'common/About.js'); -INSERT INTO cp_file VALUES ('2046', 'common/EmulationCode.js'); -INSERT INTO cp_file VALUES ('2049', 'common/BrowserDetect.js'); -INSERT INTO cp_file VALUES ('2051', 'includes/LMSTestContentPackages_style.css'); -INSERT INTO cp_file VALUES ('2081', 'SequencingTest.htm'); -INSERT INTO cp_file VALUES ('2088', 'common/lmsrtefunctions.js'); -INSERT INTO cp_file VALUES ('2090', 'LMSTest.jar'); -INSERT INTO cp_file VALUES ('2092', 'common/About.js'); -INSERT INTO cp_file VALUES ('2094', 'common/EmulationCode.js'); -INSERT INTO cp_file VALUES ('2097', 'common/BrowserDetect.js'); -INSERT INTO cp_file VALUES ('2099', 'includes/LMSTestContentPackages_style.css'); -INSERT INTO cp_file VALUES ('2133', 'SequencingTest.htm'); -INSERT INTO cp_file VALUES ('2140', 'common/lmsrtefunctions.js'); -INSERT INTO cp_file VALUES ('2142', 'LMSTest.jar'); -INSERT INTO cp_file VALUES ('2144', 'common/About.js'); -INSERT INTO cp_file VALUES ('2146', 'common/EmulationCode.js'); -INSERT INTO cp_file VALUES ('2149', 'common/BrowserDetect.js'); -INSERT INTO cp_file VALUES ('2151', 'includes/LMSTestContentPackages_style.css'); -INSERT INTO cp_file VALUES ('2180', 'SequencingTest.htm'); -INSERT INTO cp_file VALUES ('2187', 'common/lmsrtefunctions.js'); -INSERT INTO cp_file VALUES ('2189', 'LMSTest.jar'); -INSERT INTO cp_file VALUES ('2191', 'common/About.js'); -INSERT INTO cp_file VALUES ('2193', 'common/EmulationCode.js'); -INSERT INTO cp_file VALUES ('2196', 'common/BrowserDetect.js'); -INSERT INTO cp_file VALUES ('2198', 'includes/LMSTestContentPackages_style.css'); -INSERT INTO cp_file VALUES ('2228', 'SequencingTest.htm'); -INSERT INTO cp_file VALUES ('2235', 'common/lmsrtefunctions.js'); -INSERT INTO cp_file VALUES ('2237', 'LMSTest.jar'); -INSERT INTO cp_file VALUES ('2239', 'common/About.js'); -INSERT INTO cp_file VALUES ('2241', 'common/EmulationCode.js'); -INSERT INTO cp_file VALUES ('2244', 'common/BrowserDetect.js'); -INSERT INTO cp_file VALUES ('2246', 'includes/LMSTestContentPackages_style.css'); -INSERT INTO cp_file VALUES ('2279', 'SequencingTest.htm'); -INSERT INTO cp_file VALUES ('2286', 'common/lmsrtefunctions.js'); -INSERT INTO cp_file VALUES ('2288', 'LMSTest.jar'); -INSERT INTO cp_file VALUES ('2290', 'common/About.js'); -INSERT INTO cp_file VALUES ('2292', 'common/EmulationCode.js'); -INSERT INTO cp_file VALUES ('2295', 'common/BrowserDetect.js'); -INSERT INTO cp_file VALUES ('2297', 'includes/LMSTestContentPackages_style.css'); -INSERT INTO cp_file VALUES ('2343', 'SequencingTest.htm'); -INSERT INTO cp_file VALUES ('2350', 'common/lmsrtefunctions.js'); -INSERT INTO cp_file VALUES ('2352', 'LMSTest.jar'); -INSERT INTO cp_file VALUES ('2354', 'common/About.js'); -INSERT INTO cp_file VALUES ('2356', 'common/EmulationCode.js'); -INSERT INTO cp_file VALUES ('2359', 'common/BrowserDetect.js'); -INSERT INTO cp_file VALUES ('2361', 'includes/LMSTestContentPackages_style.css'); -INSERT INTO cp_file VALUES ('2403', 'SequencingTest.htm'); -INSERT INTO cp_file VALUES ('2410', 'common/lmsrtefunctions.js'); -INSERT INTO cp_file VALUES ('2412', 'LMSTest.jar'); -INSERT INTO cp_file VALUES ('2414', 'common/About.js'); -INSERT INTO cp_file VALUES ('2416', 'common/EmulationCode.js'); -INSERT INTO cp_file VALUES ('2419', 'common/BrowserDetect.js'); -INSERT INTO cp_file VALUES ('2421', 'includes/LMSTestContentPackages_style.css'); -INSERT INTO cp_file VALUES ('2458', 'SequencingTest.htm'); -INSERT INTO cp_file VALUES ('2465', 'common/lmsrtefunctions.js'); -INSERT INTO cp_file VALUES ('2467', 'LMSTest.jar'); -INSERT INTO cp_file VALUES ('2469', 'common/About.js'); -INSERT INTO cp_file VALUES ('2471', 'common/EmulationCode.js'); -INSERT INTO cp_file VALUES ('2474', 'common/BrowserDetect.js'); -INSERT INTO cp_file VALUES ('2476', 'includes/LMSTestContentPackages_style.css'); -INSERT INTO cp_file VALUES ('2504', 'SequencingTest.htm'); -INSERT INTO cp_file VALUES ('2511', 'common/lmsrtefunctions.js'); -INSERT INTO cp_file VALUES ('2513', 'LMSTest.jar'); -INSERT INTO cp_file VALUES ('2515', 'common/About.js'); -INSERT INTO cp_file VALUES ('2517', 'common/EmulationCode.js'); -INSERT INTO cp_file VALUES ('2520', 'common/BrowserDetect.js'); -INSERT INTO cp_file VALUES ('2522', 'includes/LMSTestContentPackages_style.css'); -INSERT INTO cp_file VALUES ('2550', 'SequencingTest.htm'); -INSERT INTO cp_file VALUES ('2557', 'common/lmsrtefunctions.js'); -INSERT INTO cp_file VALUES ('2559', 'LMSTest.jar'); -INSERT INTO cp_file VALUES ('2561', 'common/About.js'); -INSERT INTO cp_file VALUES ('2563', 'common/EmulationCode.js'); -INSERT INTO cp_file VALUES ('2566', 'common/BrowserDetect.js'); -INSERT INTO cp_file VALUES ('2568', 'includes/LMSTestContentPackages_style.css'); -INSERT INTO cp_file VALUES ('2596', 'SequencingTest.htm'); -INSERT INTO cp_file VALUES ('2603', 'common/lmsrtefunctions.js'); -INSERT INTO cp_file VALUES ('2605', 'LMSTest.jar'); -INSERT INTO cp_file VALUES ('2607', 'common/About.js'); -INSERT INTO cp_file VALUES ('2609', 'common/EmulationCode.js'); -INSERT INTO cp_file VALUES ('2612', 'common/BrowserDetect.js'); -INSERT INTO cp_file VALUES ('2614', 'includes/LMSTestContentPackages_style.css'); -INSERT INTO cp_file VALUES ('2643', 'SequencingTest.htm'); -INSERT INTO cp_file VALUES ('2650', 'common/lmsrtefunctions.js'); -INSERT INTO cp_file VALUES ('2652', 'LMSTest.jar'); -INSERT INTO cp_file VALUES ('2654', 'common/About.js'); -INSERT INTO cp_file VALUES ('2656', 'common/EmulationCode.js'); -INSERT INTO cp_file VALUES ('2659', 'common/BrowserDetect.js'); -INSERT INTO cp_file VALUES ('2661', 'includes/LMSTestContentPackages_style.css'); -INSERT INTO cp_file VALUES ('2692', 'SequencingTest.htm'); -INSERT INTO cp_file VALUES ('2699', 'common/lmsrtefunctions.js'); -INSERT INTO cp_file VALUES ('2701', 'LMSTest.jar'); -INSERT INTO cp_file VALUES ('2703', 'common/About.js'); -INSERT INTO cp_file VALUES ('2705', 'common/EmulationCode.js'); -INSERT INTO cp_file VALUES ('2708', 'common/BrowserDetect.js'); -INSERT INTO cp_file VALUES ('2710', 'includes/LMSTestContentPackages_style.css'); -INSERT INTO cp_file VALUES ('2741', 'SequencingTest.htm'); -INSERT INTO cp_file VALUES ('2748', 'common/lmsrtefunctions.js'); -INSERT INTO cp_file VALUES ('2750', 'LMSTest.jar'); -INSERT INTO cp_file VALUES ('2752', 'common/About.js'); -INSERT INTO cp_file VALUES ('2754', 'common/EmulationCode.js'); -INSERT INTO cp_file VALUES ('2757', 'common/BrowserDetect.js'); -INSERT INTO cp_file VALUES ('2759', 'includes/LMSTestContentPackages_style.css'); -INSERT INTO cp_file VALUES ('2792', 'SequencingTest.htm'); -INSERT INTO cp_file VALUES ('2799', 'common/lmsrtefunctions.js'); -INSERT INTO cp_file VALUES ('2801', 'LMSTest.jar'); -INSERT INTO cp_file VALUES ('2803', 'common/About.js'); -INSERT INTO cp_file VALUES ('2805', 'common/EmulationCode.js'); -INSERT INTO cp_file VALUES ('2808', 'common/BrowserDetect.js'); -INSERT INTO cp_file VALUES ('2810', 'includes/LMSTestContentPackages_style.css'); -INSERT INTO cp_file VALUES ('2833', 'SequencingTest.htm'); -INSERT INTO cp_file VALUES ('2840', 'common/lmsrtefunctions.js'); -INSERT INTO cp_file VALUES ('2842', 'LMSTest.jar'); -INSERT INTO cp_file VALUES ('2844', 'common/About.js'); -INSERT INTO cp_file VALUES ('2846', 'common/EmulationCode.js'); -INSERT INTO cp_file VALUES ('2849', 'common/BrowserDetect.js'); -INSERT INTO cp_file VALUES ('2851', 'includes/LMSTestContentPackages_style.css'); -INSERT INTO cp_file VALUES ('2874', 'SequencingTest.htm'); -INSERT INTO cp_file VALUES ('2881', 'common/lmsrtefunctions.js'); -INSERT INTO cp_file VALUES ('2883', 'LMSTest.jar'); -INSERT INTO cp_file VALUES ('2885', 'common/About.js'); -INSERT INTO cp_file VALUES ('2887', 'common/EmulationCode.js'); -INSERT INTO cp_file VALUES ('2890', 'common/BrowserDetect.js'); -INSERT INTO cp_file VALUES ('2892', 'includes/LMSTestContentPackages_style.css'); -INSERT INTO cp_file VALUES ('2919', 'SequencingTest.htm'); -INSERT INTO cp_file VALUES ('2926', 'common/lmsrtefunctions.js'); -INSERT INTO cp_file VALUES ('2928', 'LMSTest.jar'); -INSERT INTO cp_file VALUES ('2930', 'common/About.js'); -INSERT INTO cp_file VALUES ('2932', 'common/EmulationCode.js'); -INSERT INTO cp_file VALUES ('2935', 'common/BrowserDetect.js'); -INSERT INTO cp_file VALUES ('2937', 'includes/LMSTestContentPackages_style.css'); -INSERT INTO cp_file VALUES ('2969', 'SequencingTest.htm'); -INSERT INTO cp_file VALUES ('2976', 'common/lmsrtefunctions.js'); -INSERT INTO cp_file VALUES ('2978', 'LMSTest.jar'); -INSERT INTO cp_file VALUES ('2980', 'common/About.js'); -INSERT INTO cp_file VALUES ('2982', 'common/EmulationCode.js'); -INSERT INTO cp_file VALUES ('2985', 'common/BrowserDetect.js'); -INSERT INTO cp_file VALUES ('2987', 'includes/LMSTestContentPackages_style.css'); -INSERT INTO cp_file VALUES ('3019', 'SequencingTest.htm'); -INSERT INTO cp_file VALUES ('3026', 'common/lmsrtefunctions.js'); -INSERT INTO cp_file VALUES ('3028', 'LMSTest.jar'); -INSERT INTO cp_file VALUES ('3030', 'common/About.js'); -INSERT INTO cp_file VALUES ('3032', 'common/EmulationCode.js'); -INSERT INTO cp_file VALUES ('3035', 'common/BrowserDetect.js'); -INSERT INTO cp_file VALUES ('3037', 'includes/LMSTestContentPackages_style.css'); -INSERT INTO cp_file VALUES ('3065', 'SequencingTest.htm'); -INSERT INTO cp_file VALUES ('3072', 'common/lmsrtefunctions.js'); -INSERT INTO cp_file VALUES ('3074', 'LMSTest.jar'); -INSERT INTO cp_file VALUES ('3076', 'common/About.js'); -INSERT INTO cp_file VALUES ('3078', 'common/EmulationCode.js'); -INSERT INTO cp_file VALUES ('3081', 'common/BrowserDetect.js'); -INSERT INTO cp_file VALUES ('3083', 'includes/LMSTestContentPackages_style.css'); -INSERT INTO cp_file VALUES ('3138', 'SequencingTest.htm'); -INSERT INTO cp_file VALUES ('3145', 'common/lmsrtefunctions.js'); -INSERT INTO cp_file VALUES ('3147', 'LMSTest.jar'); -INSERT INTO cp_file VALUES ('3149', 'common/About.js'); -INSERT INTO cp_file VALUES ('3151', 'common/EmulationCode.js'); -INSERT INTO cp_file VALUES ('3154', 'common/BrowserDetect.js'); -INSERT INTO cp_file VALUES ('3156', 'includes/LMSTestContentPackages_style.css'); -INSERT INTO cp_file VALUES ('3222', 'SequencingTest.htm'); -INSERT INTO cp_file VALUES ('3229', 'common/lmsrtefunctions.js'); -INSERT INTO cp_file VALUES ('3231', 'LMSTest.jar'); -INSERT INTO cp_file VALUES ('3233', 'common/About.js'); -INSERT INTO cp_file VALUES ('3235', 'common/EmulationCode.js'); -INSERT INTO cp_file VALUES ('3238', 'common/BrowserDetect.js'); -INSERT INTO cp_file VALUES ('3240', 'includes/LMSTestContentPackages_style.css'); -INSERT INTO cp_file VALUES ('3290', 'SequencingTest.htm'); -INSERT INTO cp_file VALUES ('3297', 'common/lmsrtefunctions.js'); -INSERT INTO cp_file VALUES ('3299', 'LMSTest.jar'); -INSERT INTO cp_file VALUES ('3301', 'common/About.js'); -INSERT INTO cp_file VALUES ('3303', 'common/EmulationCode.js'); -INSERT INTO cp_file VALUES ('3306', 'common/BrowserDetect.js'); -INSERT INTO cp_file VALUES ('3308', 'includes/LMSTestContentPackages_style.css'); -INSERT INTO cp_file VALUES ('3339', 'SequencingTest.htm'); -INSERT INTO cp_file VALUES ('3346', 'common/lmsrtefunctions.js'); -INSERT INTO cp_file VALUES ('3348', 'LMSTest.jar'); -INSERT INTO cp_file VALUES ('3350', 'common/About.js'); -INSERT INTO cp_file VALUES ('3352', 'common/EmulationCode.js'); -INSERT INTO cp_file VALUES ('3355', 'common/BrowserDetect.js'); -INSERT INTO cp_file VALUES ('3357', 'includes/LMSTestContentPackages_style.css'); -INSERT INTO cp_file VALUES ('3373', 'SequencingTest.htm'); -INSERT INTO cp_file VALUES ('3380', 'common/lmsrtefunctions.js'); -INSERT INTO cp_file VALUES ('3382', 'LMSTest.jar'); -INSERT INTO cp_file VALUES ('3384', 'common/About.js'); -INSERT INTO cp_file VALUES ('3386', 'common/EmulationCode.js'); -INSERT INTO cp_file VALUES ('3389', 'common/BrowserDetect.js'); -INSERT INTO cp_file VALUES ('3391', 'includes/LMSTestContentPackages_style.css'); -INSERT INTO cp_file VALUES ('3422', 'SequencingTest.htm'); -INSERT INTO cp_file VALUES ('3429', 'common/lmsrtefunctions.js'); -INSERT INTO cp_file VALUES ('3431', 'LMSTest.jar'); -INSERT INTO cp_file VALUES ('3433', 'common/About.js'); -INSERT INTO cp_file VALUES ('3435', 'common/EmulationCode.js'); -INSERT INTO cp_file VALUES ('3438', 'common/BrowserDetect.js'); -INSERT INTO cp_file VALUES ('3440', 'includes/LMSTestContentPackages_style.css'); -INSERT INTO cp_file VALUES ('3471', 'SequencingTest.htm'); -INSERT INTO cp_file VALUES ('3478', 'common/lmsrtefunctions.js'); -INSERT INTO cp_file VALUES ('3480', 'LMSTest.jar'); -INSERT INTO cp_file VALUES ('3482', 'common/About.js'); -INSERT INTO cp_file VALUES ('3484', 'common/EmulationCode.js'); -INSERT INTO cp_file VALUES ('3487', 'common/BrowserDetect.js'); -INSERT INTO cp_file VALUES ('3489', 'includes/LMSTestContentPackages_style.css'); -INSERT INTO cp_file VALUES ('3522', 'SequencingTest.htm'); -INSERT INTO cp_file VALUES ('3529', 'common/lmsrtefunctions.js'); -INSERT INTO cp_file VALUES ('3531', 'LMSTest.jar'); -INSERT INTO cp_file VALUES ('3533', 'common/About.js'); -INSERT INTO cp_file VALUES ('3535', 'common/EmulationCode.js'); -INSERT INTO cp_file VALUES ('3538', 'common/BrowserDetect.js'); -INSERT INTO cp_file VALUES ('3540', 'includes/LMSTestContentPackages_style.css'); -INSERT INTO cp_file VALUES ('3573', 'SequencingTest.htm'); -INSERT INTO cp_file VALUES ('3580', 'common/lmsrtefunctions.js'); -INSERT INTO cp_file VALUES ('3582', 'LMSTest.jar'); -INSERT INTO cp_file VALUES ('3584', 'common/About.js'); -INSERT INTO cp_file VALUES ('3586', 'common/EmulationCode.js'); -INSERT INTO cp_file VALUES ('3589', 'common/BrowserDetect.js'); -INSERT INTO cp_file VALUES ('3591', 'includes/LMSTestContentPackages_style.css'); -INSERT INTO cp_file VALUES ('3625', 'SequencingTest.htm'); -INSERT INTO cp_file VALUES ('3632', 'common/lmsrtefunctions.js'); -INSERT INTO cp_file VALUES ('3634', 'LMSTest.jar'); -INSERT INTO cp_file VALUES ('3636', 'common/About.js'); -INSERT INTO cp_file VALUES ('3638', 'common/EmulationCode.js'); -INSERT INTO cp_file VALUES ('3641', 'common/BrowserDetect.js'); -INSERT INTO cp_file VALUES ('3643', 'includes/LMSTestContentPackages_style.css'); -INSERT INTO cp_file VALUES ('3677', 'SequencingTest.htm'); -INSERT INTO cp_file VALUES ('3684', 'common/lmsrtefunctions.js'); -INSERT INTO cp_file VALUES ('3686', 'LMSTest.jar'); -INSERT INTO cp_file VALUES ('3688', 'common/About.js'); -INSERT INTO cp_file VALUES ('3690', 'common/EmulationCode.js'); -INSERT INTO cp_file VALUES ('3693', 'common/BrowserDetect.js'); -INSERT INTO cp_file VALUES ('3695', 'includes/LMSTestContentPackages_style.css'); -INSERT INTO cp_file VALUES ('3729', 'SequencingTest.htm'); -INSERT INTO cp_file VALUES ('3736', 'common/lmsrtefunctions.js'); -INSERT INTO cp_file VALUES ('3738', 'LMSTest.jar'); -INSERT INTO cp_file VALUES ('3740', 'common/About.js'); -INSERT INTO cp_file VALUES ('3742', 'common/EmulationCode.js'); -INSERT INTO cp_file VALUES ('3745', 'common/BrowserDetect.js'); -INSERT INTO cp_file VALUES ('3747', 'includes/LMSTestContentPackages_style.css'); -INSERT INTO cp_file VALUES ('3781', 'SequencingTest.htm'); -INSERT INTO cp_file VALUES ('3788', 'common/lmsrtefunctions.js'); -INSERT INTO cp_file VALUES ('3790', 'LMSTest.jar'); -INSERT INTO cp_file VALUES ('3792', 'common/About.js'); -INSERT INTO cp_file VALUES ('3794', 'common/EmulationCode.js'); -INSERT INTO cp_file VALUES ('3797', 'common/BrowserDetect.js'); -INSERT INTO cp_file VALUES ('3799', 'includes/LMSTestContentPackages_style.css'); -INSERT INTO cp_file VALUES ('3833', 'SequencingTest.htm'); -INSERT INTO cp_file VALUES ('3840', 'common/lmsrtefunctions.js'); -INSERT INTO cp_file VALUES ('3842', 'LMSTest.jar'); -INSERT INTO cp_file VALUES ('3844', 'common/About.js'); -INSERT INTO cp_file VALUES ('3846', 'common/EmulationCode.js'); -INSERT INTO cp_file VALUES ('3849', 'common/BrowserDetect.js'); -INSERT INTO cp_file VALUES ('3851', 'includes/LMSTestContentPackages_style.css'); -INSERT INTO cp_file VALUES ('3870', 'SequencingTest.htm'); -INSERT INTO cp_file VALUES ('3877', 'common/lmsrtefunctions.js'); -INSERT INTO cp_file VALUES ('3879', 'LMSTest.jar'); -INSERT INTO cp_file VALUES ('3881', 'common/About.js'); -INSERT INTO cp_file VALUES ('3883', 'common/EmulationCode.js'); -INSERT INTO cp_file VALUES ('3886', 'common/BrowserDetect.js'); -INSERT INTO cp_file VALUES ('3888', 'includes/LMSTestContentPackages_style.css'); -INSERT INTO cp_file VALUES ('3922', 'SequencingTest.htm'); -INSERT INTO cp_file VALUES ('3929', 'common/lmsrtefunctions.js'); -INSERT INTO cp_file VALUES ('3931', 'LMSTest.jar'); -INSERT INTO cp_file VALUES ('3933', 'common/About.js'); -INSERT INTO cp_file VALUES ('3935', 'common/EmulationCode.js'); -INSERT INTO cp_file VALUES ('3938', 'common/BrowserDetect.js'); -INSERT INTO cp_file VALUES ('3940', 'includes/LMSTestContentPackages_style.css'); -INSERT INTO cp_file VALUES ('3974', 'SequencingTest.htm'); -INSERT INTO cp_file VALUES ('3981', 'common/lmsrtefunctions.js'); -INSERT INTO cp_file VALUES ('3983', 'LMSTest.jar'); -INSERT INTO cp_file VALUES ('3985', 'common/About.js'); -INSERT INTO cp_file VALUES ('3987', 'common/EmulationCode.js'); -INSERT INTO cp_file VALUES ('3990', 'common/BrowserDetect.js'); -INSERT INTO cp_file VALUES ('3992', 'includes/LMSTestContentPackages_style.css'); -INSERT INTO cp_file VALUES ('4025', 'SequencingTest.htm'); -INSERT INTO cp_file VALUES ('4032', 'common/lmsrtefunctions.js'); -INSERT INTO cp_file VALUES ('4034', 'LMSTest.jar'); -INSERT INTO cp_file VALUES ('4036', 'common/About.js'); -INSERT INTO cp_file VALUES ('4038', 'common/EmulationCode.js'); -INSERT INTO cp_file VALUES ('4041', 'common/BrowserDetect.js'); -INSERT INTO cp_file VALUES ('4043', 'includes/LMSTestContentPackages_style.css'); -INSERT INTO cp_file VALUES ('4072', 'SequencingTest.htm'); -INSERT INTO cp_file VALUES ('4079', 'common/lmsrtefunctions.js'); -INSERT INTO cp_file VALUES ('4081', 'LMSTest.jar'); -INSERT INTO cp_file VALUES ('4083', 'common/About.js'); -INSERT INTO cp_file VALUES ('4085', 'common/EmulationCode.js'); -INSERT INTO cp_file VALUES ('4088', 'common/BrowserDetect.js'); -INSERT INTO cp_file VALUES ('4090', 'includes/LMSTestContentPackages_style.css'); -INSERT INTO cp_file VALUES ('4117', 'SequencingTest.htm'); -INSERT INTO cp_file VALUES ('4124', 'common/lmsrtefunctions.js'); -INSERT INTO cp_file VALUES ('4126', 'LMSTest.jar'); -INSERT INTO cp_file VALUES ('4128', 'common/About.js'); -INSERT INTO cp_file VALUES ('4130', 'common/EmulationCode.js'); -INSERT INTO cp_file VALUES ('4133', 'common/BrowserDetect.js'); -INSERT INTO cp_file VALUES ('4135', 'includes/LMSTestContentPackages_style.css'); -INSERT INTO cp_file VALUES ('4168', 'SequencingTest.htm'); -INSERT INTO cp_file VALUES ('4175', 'common/lmsrtefunctions.js'); -INSERT INTO cp_file VALUES ('4177', 'LMSTest.jar'); -INSERT INTO cp_file VALUES ('4179', 'common/About.js'); -INSERT INTO cp_file VALUES ('4181', 'common/EmulationCode.js'); -INSERT INTO cp_file VALUES ('4184', 'common/BrowserDetect.js'); -INSERT INTO cp_file VALUES ('4186', 'includes/LMSTestContentPackages_style.css'); -INSERT INTO cp_file VALUES ('4223', 'SequencingTest.htm'); -INSERT INTO cp_file VALUES ('4230', 'common/lmsrtefunctions.js'); -INSERT INTO cp_file VALUES ('4232', 'LMSTest.jar'); -INSERT INTO cp_file VALUES ('4234', 'common/About.js'); -INSERT INTO cp_file VALUES ('4236', 'common/EmulationCode.js'); -INSERT INTO cp_file VALUES ('4239', 'common/BrowserDetect.js'); -INSERT INTO cp_file VALUES ('4241', 'includes/LMSTestContentPackages_style.css'); -INSERT INTO cp_file VALUES ('4278', 'SequencingTest.htm'); -INSERT INTO cp_file VALUES ('4285', 'common/lmsrtefunctions.js'); -INSERT INTO cp_file VALUES ('4287', 'LMSTest.jar'); -INSERT INTO cp_file VALUES ('4289', 'common/About.js'); -INSERT INTO cp_file VALUES ('4291', 'common/EmulationCode.js'); -INSERT INTO cp_file VALUES ('4294', 'common/BrowserDetect.js'); -INSERT INTO cp_file VALUES ('4296', 'includes/LMSTestContentPackages_style.css'); -INSERT INTO cp_file VALUES ('4335', 'SequencingTest.htm'); -INSERT INTO cp_file VALUES ('4342', 'common/lmsrtefunctions.js'); -INSERT INTO cp_file VALUES ('4344', 'LMSTest.jar'); -INSERT INTO cp_file VALUES ('4346', 'common/About.js'); -INSERT INTO cp_file VALUES ('4348', 'common/EmulationCode.js'); -INSERT INTO cp_file VALUES ('4351', 'common/BrowserDetect.js'); -INSERT INTO cp_file VALUES ('4353', 'includes/LMSTestContentPackages_style.css'); -INSERT INTO cp_file VALUES ('4402', 'SequencingTest.htm'); -INSERT INTO cp_file VALUES ('4409', 'common/lmsrtefunctions.js'); -INSERT INTO cp_file VALUES ('4411', 'LMSTest.jar'); -INSERT INTO cp_file VALUES ('4413', 'common/About.js'); -INSERT INTO cp_file VALUES ('4415', 'common/EmulationCode.js'); -INSERT INTO cp_file VALUES ('4418', 'common/BrowserDetect.js'); -INSERT INTO cp_file VALUES ('4420', 'includes/LMSTestContentPackages_style.css'); -INSERT INTO cp_file VALUES ('4466', 'SequencingTest.htm'); -INSERT INTO cp_file VALUES ('4473', 'common/lmsrtefunctions.js'); -INSERT INTO cp_file VALUES ('4475', 'LMSTest.jar'); -INSERT INTO cp_file VALUES ('4477', 'common/About.js'); -INSERT INTO cp_file VALUES ('4479', 'common/EmulationCode.js'); -INSERT INTO cp_file VALUES ('4482', 'common/BrowserDetect.js'); -INSERT INTO cp_file VALUES ('4484', 'includes/LMSTestContentPackages_style.css'); -INSERT INTO cp_file VALUES ('4520', 'SequencingTest.htm'); -INSERT INTO cp_file VALUES ('4527', 'common/lmsrtefunctions.js'); -INSERT INTO cp_file VALUES ('4529', 'LMSTest.jar'); -INSERT INTO cp_file VALUES ('4531', 'common/About.js'); -INSERT INTO cp_file VALUES ('4533', 'common/EmulationCode.js'); -INSERT INTO cp_file VALUES ('4536', 'common/BrowserDetect.js'); -INSERT INTO cp_file VALUES ('4538', 'includes/LMSTestContentPackages_style.css'); -INSERT INTO cp_file VALUES ('4571', 'SequencingTest.htm'); -INSERT INTO cp_file VALUES ('4578', 'common/lmsrtefunctions.js'); -INSERT INTO cp_file VALUES ('4580', 'LMSTest.jar'); -INSERT INTO cp_file VALUES ('4582', 'common/About.js'); -INSERT INTO cp_file VALUES ('4584', 'common/EmulationCode.js'); -INSERT INTO cp_file VALUES ('4587', 'common/BrowserDetect.js'); -INSERT INTO cp_file VALUES ('4589', 'includes/LMSTestContentPackages_style.css'); -INSERT INTO cp_file VALUES ('4618', 'SequencingTest.htm'); -INSERT INTO cp_file VALUES ('4625', 'common/lmsrtefunctions.js'); -INSERT INTO cp_file VALUES ('4627', 'LMSTest.jar'); -INSERT INTO cp_file VALUES ('4629', 'common/About.js'); -INSERT INTO cp_file VALUES ('4631', 'common/EmulationCode.js'); -INSERT INTO cp_file VALUES ('4634', 'common/BrowserDetect.js'); -INSERT INTO cp_file VALUES ('4636', 'includes/LMSTestContentPackages_style.css'); -INSERT INTO cp_file VALUES ('4663', 'SequencingTest.htm'); -INSERT INTO cp_file VALUES ('4670', 'common/lmsrtefunctions.js'); -INSERT INTO cp_file VALUES ('4672', 'LMSTest.jar'); -INSERT INTO cp_file VALUES ('4674', 'common/About.js'); -INSERT INTO cp_file VALUES ('4676', 'common/EmulationCode.js'); -INSERT INTO cp_file VALUES ('4679', 'common/BrowserDetect.js'); -INSERT INTO cp_file VALUES ('4681', 'includes/LMSTestContentPackages_style.css'); -INSERT INTO cp_file VALUES ('4701', 'SequencingTest.htm'); -INSERT INTO cp_file VALUES ('4708', 'common/lmsrtefunctions.js'); -INSERT INTO cp_file VALUES ('4710', 'LMSTest.jar'); -INSERT INTO cp_file VALUES ('4712', 'common/About.js'); -INSERT INTO cp_file VALUES ('4714', 'common/EmulationCode.js'); -INSERT INTO cp_file VALUES ('4717', 'common/BrowserDetect.js'); -INSERT INTO cp_file VALUES ('4719', 'includes/LMSTestContentPackages_style.css'); -INSERT INTO cp_file VALUES ('4752', 'resources/SequencingTest.htm'); -INSERT INTO cp_file VALUES ('4759', 'common/lmsrtefunctions.js'); -INSERT INTO cp_file VALUES ('4761', 'common/LMSTest.jar'); -INSERT INTO cp_file VALUES ('4763', 'common/About.js'); -INSERT INTO cp_file VALUES ('4765', 'common/EmulationCode.js'); -INSERT INTO cp_file VALUES ('4768', 'common/BrowserDetect.js'); -INSERT INTO cp_file VALUES ('4770', 'includes/LMSTestContentPackages_style.css'); -INSERT INTO cp_file VALUES ('4805', 'SequencingTest.htm'); -INSERT INTO cp_file VALUES ('4812', 'common/lmsrtefunctions.js'); -INSERT INTO cp_file VALUES ('4814', 'LMSTest.jar'); -INSERT INTO cp_file VALUES ('4816', 'common/About.js'); -INSERT INTO cp_file VALUES ('4818', 'common/EmulationCode.js'); -INSERT INTO cp_file VALUES ('4821', 'common/BrowserDetect.js'); -INSERT INTO cp_file VALUES ('4823', 'includes/LMSTestContentPackages_style.css'); -INSERT INTO cp_file VALUES ('4845', 'SequencingTest.htm'); -INSERT INTO cp_file VALUES ('4852', 'common/lmsrtefunctions.js'); -INSERT INTO cp_file VALUES ('4854', 'LMSTest.jar'); -INSERT INTO cp_file VALUES ('4856', 'common/About.js'); -INSERT INTO cp_file VALUES ('4858', 'common/EmulationCode.js'); -INSERT INTO cp_file VALUES ('4861', 'common/BrowserDetect.js'); -INSERT INTO cp_file VALUES ('4863', 'includes/LMSTestContentPackages_style.css'); -INSERT INTO cp_file VALUES ('4903', 'SequencingTest.htm'); -INSERT INTO cp_file VALUES ('4910', 'common/lmsrtefunctions.js'); -INSERT INTO cp_file VALUES ('4912', 'LMSTest.jar'); -INSERT INTO cp_file VALUES ('4914', 'common/About.js'); -INSERT INTO cp_file VALUES ('4916', 'common/EmulationCode.js'); -INSERT INTO cp_file VALUES ('4919', 'common/BrowserDetect.js'); -INSERT INTO cp_file VALUES ('4921', 'includes/LMSTestContentPackages_style.css'); -INSERT INTO cp_file VALUES ('5004', 'SequencingTest.htm'); -INSERT INTO cp_file VALUES ('5011', 'common/lmsrtefunctions.js'); -INSERT INTO cp_file VALUES ('5013', 'LMSTest.jar'); -INSERT INTO cp_file VALUES ('5015', 'common/About.js'); -INSERT INTO cp_file VALUES ('5017', 'common/EmulationCode.js'); -INSERT INTO cp_file VALUES ('5020', 'common/BrowserDetect.js'); -INSERT INTO cp_file VALUES ('5022', 'includes/LMSTestContentPackages_style.css'); -INSERT INTO cp_file VALUES ('5049', 'SequencingTest.htm'); -INSERT INTO cp_file VALUES ('5056', 'common/lmsrtefunctions.js'); -INSERT INTO cp_file VALUES ('5058', 'LMSTest.jar'); -INSERT INTO cp_file VALUES ('5060', 'common/About.js'); -INSERT INTO cp_file VALUES ('5062', 'common/EmulationCode.js'); -INSERT INTO cp_file VALUES ('5065', 'common/BrowserDetect.js'); -INSERT INTO cp_file VALUES ('5067', 'includes/LMSTestContentPackages_style.css'); -INSERT INTO cp_file VALUES ('5089', 'SequencingTest.htm'); -INSERT INTO cp_file VALUES ('5096', 'common/lmsrtefunctions.js'); -INSERT INTO cp_file VALUES ('5098', 'LMSTest.jar'); -INSERT INTO cp_file VALUES ('5100', 'common/About.js'); -INSERT INTO cp_file VALUES ('5102', 'common/EmulationCode.js'); -INSERT INTO cp_file VALUES ('5105', 'common/BrowserDetect.js'); -INSERT INTO cp_file VALUES ('5107', 'includes/LMSTestContentPackages_style.css'); -INSERT INTO cp_file VALUES ('5129', 'SequencingTest.htm'); -INSERT INTO cp_file VALUES ('5136', 'common/lmsrtefunctions.js'); -INSERT INTO cp_file VALUES ('5138', 'LMSTest.jar'); -INSERT INTO cp_file VALUES ('5140', 'common/About.js'); -INSERT INTO cp_file VALUES ('5142', 'common/EmulationCode.js'); -INSERT INTO cp_file VALUES ('5145', 'common/BrowserDetect.js'); -INSERT INTO cp_file VALUES ('5147', 'includes/LMSTestContentPackages_style.css'); -INSERT INTO cp_file VALUES ('5185', 'SequencingTest.htm'); -INSERT INTO cp_file VALUES ('5192', 'common/lmsrtefunctions.js'); -INSERT INTO cp_file VALUES ('5194', 'LMSTest.jar'); -INSERT INTO cp_file VALUES ('5196', 'common/About.js'); -INSERT INTO cp_file VALUES ('5198', 'common/EmulationCode.js'); -INSERT INTO cp_file VALUES ('5201', 'common/BrowserDetect.js'); -INSERT INTO cp_file VALUES ('5203', 'includes/LMSTestContentPackages_style.css'); -INSERT INTO cp_file VALUES ('5244', 'SequencingTest.htm'); -INSERT INTO cp_file VALUES ('5251', 'common/lmsrtefunctions.js'); -INSERT INTO cp_file VALUES ('5253', 'LMSTest.jar'); -INSERT INTO cp_file VALUES ('5255', 'common/About.js'); -INSERT INTO cp_file VALUES ('5257', 'common/EmulationCode.js'); -INSERT INTO cp_file VALUES ('5260', 'common/BrowserDetect.js'); -INSERT INTO cp_file VALUES ('5262', 'includes/LMSTestContentPackages_style.css'); -INSERT INTO cp_file VALUES ('5407', 'SequencingTest.htm'); -INSERT INTO cp_file VALUES ('5414', 'common/lmsrtefunctions.js'); -INSERT INTO cp_file VALUES ('5416', 'LMSTest.jar'); -INSERT INTO cp_file VALUES ('5418', 'common/About.js'); -INSERT INTO cp_file VALUES ('5420', 'common/EmulationCode.js'); -INSERT INTO cp_file VALUES ('5423', 'common/BrowserDetect.js'); -INSERT INTO cp_file VALUES ('5425', 'includes/LMSTestContentPackages_style.css'); -INSERT INTO cp_file VALUES ('5620', 'SequencingTest.htm'); -INSERT INTO cp_file VALUES ('5627', 'common/lmsrtefunctions.js'); -INSERT INTO cp_file VALUES ('5629', 'LMSTest.jar'); -INSERT INTO cp_file VALUES ('5631', 'common/About.js'); -INSERT INTO cp_file VALUES ('5633', 'common/EmulationCode.js'); -INSERT INTO cp_file VALUES ('5636', 'common/BrowserDetect.js'); -INSERT INTO cp_file VALUES ('5638', 'includes/LMSTestContentPackages_style.css'); -INSERT INTO cp_file VALUES ('5745', './scos/1/index.xml'); -INSERT INTO cp_file VALUES ('5746', './scos/1/p2sco.xsd'); -INSERT INTO cp_file VALUES ('5747', './scos/1/index.html'); -INSERT INTO cp_file VALUES ('5749', './scos/1/pictures/thumbnail-0.png'); -INSERT INTO cp_file VALUES ('5750', './scos/1/pictures/0.png'); -INSERT INTO cp_file VALUES ('5751', './scos/1/pictures/thumbnail-1.png'); -INSERT INTO cp_file VALUES ('5752', './scos/1/pictures/1.png'); -INSERT INTO cp_file VALUES ('5755', './scos/1/custom.xsl'); -INSERT INTO cp_file VALUES ('5756', './scos/1/css/custom.css'); -INSERT INTO cp_file VALUES ('5757', './scos/1/js/custom.js'); -INSERT INTO cp_file VALUES ('5758', './scos/1/js/x/x.js'); -INSERT INTO cp_file VALUES ('5759', './scos/1/js/overlib_mini.js'); -INSERT INTO cp_file VALUES ('5760', './scos/1/js/overlib_cssstyle.js'); -INSERT INTO cp_file VALUES ('5761', './scos/1/js/x/x_drag.js'); -INSERT INTO cp_file VALUES ('5762', './scos/1/js/x/x_timer.js'); -INSERT INTO cp_file VALUES ('5763', './scos/1/js/lightbox/effects.js'); -INSERT INTO cp_file VALUES ('5764', './scos/1/js/lightbox/lightbox.js'); -INSERT INTO cp_file VALUES ('5765', './scos/1/js/lightbox/prototype.js'); -INSERT INTO cp_file VALUES ('5766', './scos/1/js/lightbox/scriptaculous.js'); -INSERT INTO cp_file VALUES ('5767', './scos/1/css/lightbox.css'); -INSERT INTO cp_file VALUES ('5768', './scos/1/icons/n_pdf.png'); -INSERT INTO cp_file VALUES ('5769', './scos/1/icons/n_pollOLD.png'); -INSERT INTO cp_file VALUES ('5770', './scos/1/icons/gdict.png'); -INSERT INTO cp_file VALUES ('5771', './scos/1/icons/html.png'); -INSERT INTO cp_file VALUES ('5772', './scos/1/icons/n_link.png'); -INSERT INTO cp_file VALUES ('5773', './scos/1/icons/n_linkOLD.png'); -INSERT INTO cp_file VALUES ('5774', './scos/1/icons/audio.png'); -INSERT INTO cp_file VALUES ('5775', './scos/1/icons/n_shortAnswer.png'); -INSERT INTO cp_file VALUES ('5776', './scos/1/icons/file.png'); -INSERT INTO cp_file VALUES ('5777', './scos/1/icons/likert.png'); -INSERT INTO cp_file VALUES ('5778', './scos/1/icons/n_attention.png'); -INSERT INTO cp_file VALUES ('5779', './scos/1/icons/word.png'); -INSERT INTO cp_file VALUES ('5780', './scos/1/icons/pixel.png'); -INSERT INTO cp_file VALUES ('5781', './scos/1/icons/hint.png'); -INSERT INTO cp_file VALUES ('5782', './scos/1/icons/n_poll.png'); -INSERT INTO cp_file VALUES ('5783', './scos/1/icons/n_audio.png'); -INSERT INTO cp_file VALUES ('5784', './scos/1/icons/n_instruction.png'); -INSERT INTO cp_file VALUES ('5785', './scos/1/icons/n_selected.png'); -INSERT INTO cp_file VALUES ('5786', './scos/1/icons/pdf.png'); -INSERT INTO cp_file VALUES ('5787', './scos/1/icons/n_anyFile.png'); -INSERT INTO cp_file VALUES ('5788', './scos/1/icons/n_bibliography.png'); -INSERT INTO cp_file VALUES ('5789', './scos/1/icons/pdfnew.png'); -INSERT INTO cp_file VALUES ('5790', './scos/1/icons/n_hint.png'); -INSERT INTO cp_file VALUES ('5791', './scos/1/icons/like.png'); -INSERT INTO cp_file VALUES ('5792', './scos/1/images/n_descriptionList.gif'); -INSERT INTO cp_file VALUES ('5793', './scos/1/images/nextlabel.gif'); -INSERT INTO cp_file VALUES ('5794', './scos/1/images/blank.gif'); -INSERT INTO cp_file VALUES ('5795', './scos/1/images/yes.png'); -INSERT INTO cp_file VALUES ('5796', './scos/1/images/n_TESTbullet2.gif'); -INSERT INTO cp_file VALUES ('5797', './scos/1/images/n_TESTbullet3.gif'); -INSERT INTO cp_file VALUES ('5798', './scos/1/images/n_TESTbullet4.gif'); -INSERT INTO cp_file VALUES ('5799', './scos/1/images/n_TESTbullet5.gif'); -INSERT INTO cp_file VALUES ('5800', './scos/1/images/n_blank.gif'); -INSERT INTO cp_file VALUES ('5801', './scos/1/images/n_arrowBlack.png'); -INSERT INTO cp_file VALUES ('5802', './scos/1/images/closelabel.gif'); -INSERT INTO cp_file VALUES ('5803', './scos/1/images/n_yes.gif'); -INSERT INTO cp_file VALUES ('5804', './scos/1/images/n_quote_L.gif'); -INSERT INTO cp_file VALUES ('5805', './scos/1/images/n_TESTbullet.gif'); -INSERT INTO cp_file VALUES ('5806', './scos/1/images/n_quote_R.gif'); -INSERT INTO cp_file VALUES ('5807', './scos/1/images/core.png'); -INSERT INTO cp_file VALUES ('5808', './scos/1/images/n_quote_L_yellow.gif'); -INSERT INTO cp_file VALUES ('5809', './scos/1/images/pixel.png'); -INSERT INTO cp_file VALUES ('5810', './scos/1/images/no.png'); -INSERT INTO cp_file VALUES ('5811', './scos/1/images/on.png'); -INSERT INTO cp_file VALUES ('5812', './scos/1/images/off.png'); -INSERT INTO cp_file VALUES ('5813', './scos/1/images/prev.gif'); -INSERT INTO cp_file VALUES ('5814', './scos/1/images/n_quote_R_yellow.gif'); -INSERT INTO cp_file VALUES ('5815', './scos/1/images/yesno.png'); -INSERT INTO cp_file VALUES ('5816', './scos/1/images/n_no.gif'); -INSERT INTO cp_file VALUES ('5817', './scos/1/images/n_selected.png'); -INSERT INTO cp_file VALUES ('5818', './scos/1/images/next.gif'); -INSERT INTO cp_file VALUES ('5819', './scos/1/images/close.gif'); -INSERT INTO cp_file VALUES ('5820', './scos/1/images/loading.gif'); -INSERT INTO cp_file VALUES ('5821', './scos/1/images/like.png'); -INSERT INTO cp_file VALUES ('5822', './scos/1/images/prevlabel.gif'); -INSERT INTO cp_file VALUES ('5824', './scos/2/index.xml'); -INSERT INTO cp_file VALUES ('5825', './scos/2/p2sco.xsd'); -INSERT INTO cp_file VALUES ('5826', './scos/2/index.html'); -INSERT INTO cp_file VALUES ('5828', './scos/2/pictures/thumbnail-0.png'); -INSERT INTO cp_file VALUES ('5829', './scos/2/pictures/0.png'); -INSERT INTO cp_file VALUES ('5830', './scos/2/files/0.mp4'); -INSERT INTO cp_file VALUES ('5831', './scos/2/files/1.mp4'); -INSERT INTO cp_file VALUES ('5832', './scos/2/files/2.gif'); -INSERT INTO cp_file VALUES ('5833', './scos/2/files/3.swf'); -INSERT INTO cp_file VALUES ('5834', './scos/2/pictures/thumbnail-1.png'); -INSERT INTO cp_file VALUES ('5835', './scos/2/pictures/1.png'); -INSERT INTO cp_file VALUES ('5838', './scos/2/custom.xsl'); -INSERT INTO cp_file VALUES ('5839', './scos/2/css/custom.css'); -INSERT INTO cp_file VALUES ('5840', './scos/2/js/custom.js'); -INSERT INTO cp_file VALUES ('5841', './scos/2/js/x/x.js'); -INSERT INTO cp_file VALUES ('5842', './scos/2/js/overlib_mini.js'); -INSERT INTO cp_file VALUES ('5843', './scos/2/js/overlib_cssstyle.js'); -INSERT INTO cp_file VALUES ('5844', './scos/2/js/x/x_drag.js'); -INSERT INTO cp_file VALUES ('5845', './scos/2/js/x/x_timer.js'); -INSERT INTO cp_file VALUES ('5846', './scos/2/js/lightbox/effects.js'); -INSERT INTO cp_file VALUES ('5847', './scos/2/js/lightbox/lightbox.js'); -INSERT INTO cp_file VALUES ('5848', './scos/2/js/lightbox/prototype.js'); -INSERT INTO cp_file VALUES ('5849', './scos/2/js/lightbox/scriptaculous.js'); -INSERT INTO cp_file VALUES ('5850', './scos/2/css/lightbox.css'); -INSERT INTO cp_file VALUES ('5851', './scos/2/icons/n_pdf.png'); -INSERT INTO cp_file VALUES ('5852', './scos/2/icons/n_pollOLD.png'); -INSERT INTO cp_file VALUES ('5853', './scos/2/icons/gdict.png'); -INSERT INTO cp_file VALUES ('5854', './scos/2/icons/html.png'); -INSERT INTO cp_file VALUES ('5855', './scos/2/icons/n_link.png'); -INSERT INTO cp_file VALUES ('5856', './scos/2/icons/n_linkOLD.png'); -INSERT INTO cp_file VALUES ('5857', './scos/2/icons/audio.png'); -INSERT INTO cp_file VALUES ('5858', './scos/2/icons/n_shortAnswer.png'); -INSERT INTO cp_file VALUES ('5859', './scos/2/icons/file.png'); -INSERT INTO cp_file VALUES ('5860', './scos/2/icons/likert.png'); -INSERT INTO cp_file VALUES ('5861', './scos/2/icons/n_attention.png'); -INSERT INTO cp_file VALUES ('5862', './scos/2/icons/word.png'); -INSERT INTO cp_file VALUES ('5863', './scos/2/icons/pixel.png'); -INSERT INTO cp_file VALUES ('5864', './scos/2/icons/hint.png'); -INSERT INTO cp_file VALUES ('5865', './scos/2/icons/n_poll.png'); -INSERT INTO cp_file VALUES ('5866', './scos/2/icons/n_audio.png'); -INSERT INTO cp_file VALUES ('5867', './scos/2/icons/n_instruction.png'); -INSERT INTO cp_file VALUES ('5868', './scos/2/icons/n_selected.png'); -INSERT INTO cp_file VALUES ('5869', './scos/2/icons/pdf.png'); -INSERT INTO cp_file VALUES ('5870', './scos/2/icons/n_anyFile.png'); -INSERT INTO cp_file VALUES ('5871', './scos/2/icons/n_bibliography.png'); -INSERT INTO cp_file VALUES ('5872', './scos/2/icons/pdfnew.png'); -INSERT INTO cp_file VALUES ('5873', './scos/2/icons/n_hint.png'); -INSERT INTO cp_file VALUES ('5874', './scos/2/icons/like.png'); -INSERT INTO cp_file VALUES ('5875', './scos/2/images/n_descriptionList.gif'); -INSERT INTO cp_file VALUES ('5876', './scos/2/images/nextlabel.gif'); -INSERT INTO cp_file VALUES ('5877', './scos/2/images/blank.gif'); -INSERT INTO cp_file VALUES ('5878', './scos/2/images/yes.png'); -INSERT INTO cp_file VALUES ('5879', './scos/2/images/n_TESTbullet2.gif'); -INSERT INTO cp_file VALUES ('5880', './scos/2/images/n_TESTbullet3.gif'); -INSERT INTO cp_file VALUES ('5881', './scos/2/images/n_TESTbullet4.gif'); -INSERT INTO cp_file VALUES ('5882', './scos/2/images/n_TESTbullet5.gif'); -INSERT INTO cp_file VALUES ('5883', './scos/2/images/n_blank.gif'); -INSERT INTO cp_file VALUES ('5884', './scos/2/images/n_arrowBlack.png'); -INSERT INTO cp_file VALUES ('5885', './scos/2/images/closelabel.gif'); -INSERT INTO cp_file VALUES ('5886', './scos/2/images/n_yes.gif'); -INSERT INTO cp_file VALUES ('5887', './scos/2/images/n_quote_L.gif'); -INSERT INTO cp_file VALUES ('5888', './scos/2/images/n_TESTbullet.gif'); -INSERT INTO cp_file VALUES ('5889', './scos/2/images/n_quote_R.gif'); -INSERT INTO cp_file VALUES ('5890', './scos/2/images/core.png'); -INSERT INTO cp_file VALUES ('5891', './scos/2/images/n_quote_L_yellow.gif'); -INSERT INTO cp_file VALUES ('5892', './scos/2/images/pixel.png'); -INSERT INTO cp_file VALUES ('5893', './scos/2/images/no.png'); -INSERT INTO cp_file VALUES ('5894', './scos/2/images/on.png'); -INSERT INTO cp_file VALUES ('5895', './scos/2/images/off.png'); -INSERT INTO cp_file VALUES ('5896', './scos/2/images/prev.gif'); -INSERT INTO cp_file VALUES ('5897', './scos/2/images/n_quote_R_yellow.gif'); -INSERT INTO cp_file VALUES ('5898', './scos/2/images/yesno.png'); -INSERT INTO cp_file VALUES ('5899', './scos/2/images/n_no.gif'); -INSERT INTO cp_file VALUES ('5900', './scos/2/images/n_selected.png'); -INSERT INTO cp_file VALUES ('5901', './scos/2/images/next.gif'); -INSERT INTO cp_file VALUES ('5902', './scos/2/images/close.gif'); -INSERT INTO cp_file VALUES ('5903', './scos/2/images/loading.gif'); -INSERT INTO cp_file VALUES ('5904', './scos/2/images/like.png'); -INSERT INTO cp_file VALUES ('5905', './scos/2/images/prevlabel.gif'); -INSERT INTO cp_file VALUES ('5907', './scos/3/index.xml'); -INSERT INTO cp_file VALUES ('5908', './scos/3/p2sco.xsd'); -INSERT INTO cp_file VALUES ('5909', './scos/3/index.html'); -INSERT INTO cp_file VALUES ('5911', './scos/3/pictures/thumbnail-0.png'); -INSERT INTO cp_file VALUES ('5912', './scos/3/pictures/0.png'); -INSERT INTO cp_file VALUES ('5913', './scos/3/pictures/thumbnail-1.png'); -INSERT INTO cp_file VALUES ('5914', './scos/3/pictures/1.png'); -INSERT INTO cp_file VALUES ('5915', './scos/3/pictures/thumbnail-2.png'); -INSERT INTO cp_file VALUES ('5916', './scos/3/pictures/2.png'); -INSERT INTO cp_file VALUES ('5917', './scos/3/pictures/thumbnail-3.png'); -INSERT INTO cp_file VALUES ('5918', './scos/3/pictures/3.png'); -INSERT INTO cp_file VALUES ('5919', './scos/3/pictures/thumbnail-4.png'); -INSERT INTO cp_file VALUES ('5920', './scos/3/pictures/4.png'); -INSERT INTO cp_file VALUES ('5921', './scos/3/pictures/thumbnail-5.png'); -INSERT INTO cp_file VALUES ('5922', './scos/3/pictures/5.png'); -INSERT INTO cp_file VALUES ('5925', './scos/3/custom.xsl'); -INSERT INTO cp_file VALUES ('5926', './scos/3/css/custom.css'); -INSERT INTO cp_file VALUES ('5927', './scos/3/js/custom.js'); -INSERT INTO cp_file VALUES ('5928', './scos/3/js/x/x.js'); -INSERT INTO cp_file VALUES ('5929', './scos/3/js/overlib_mini.js'); -INSERT INTO cp_file VALUES ('5930', './scos/3/js/overlib_cssstyle.js'); -INSERT INTO cp_file VALUES ('5931', './scos/3/js/x/x_drag.js'); -INSERT INTO cp_file VALUES ('5932', './scos/3/js/x/x_timer.js'); -INSERT INTO cp_file VALUES ('5933', './scos/3/js/lightbox/effects.js'); -INSERT INTO cp_file VALUES ('5934', './scos/3/js/lightbox/lightbox.js'); -INSERT INTO cp_file VALUES ('5935', './scos/3/js/lightbox/prototype.js'); -INSERT INTO cp_file VALUES ('5936', './scos/3/js/lightbox/scriptaculous.js'); -INSERT INTO cp_file VALUES ('5937', './scos/3/css/lightbox.css'); -INSERT INTO cp_file VALUES ('5938', './scos/3/icons/n_pdf.png'); -INSERT INTO cp_file VALUES ('5939', './scos/3/icons/n_pollOLD.png'); -INSERT INTO cp_file VALUES ('5940', './scos/3/icons/gdict.png'); -INSERT INTO cp_file VALUES ('5941', './scos/3/icons/html.png'); -INSERT INTO cp_file VALUES ('5942', './scos/3/icons/n_link.png'); -INSERT INTO cp_file VALUES ('5943', './scos/3/icons/n_linkOLD.png'); -INSERT INTO cp_file VALUES ('5944', './scos/3/icons/audio.png'); -INSERT INTO cp_file VALUES ('5945', './scos/3/icons/n_shortAnswer.png'); -INSERT INTO cp_file VALUES ('5946', './scos/3/icons/file.png'); -INSERT INTO cp_file VALUES ('5947', './scos/3/icons/likert.png'); -INSERT INTO cp_file VALUES ('5948', './scos/3/icons/n_attention.png'); -INSERT INTO cp_file VALUES ('5949', './scos/3/icons/word.png'); -INSERT INTO cp_file VALUES ('5950', './scos/3/icons/pixel.png'); -INSERT INTO cp_file VALUES ('5951', './scos/3/icons/hint.png'); -INSERT INTO cp_file VALUES ('5952', './scos/3/icons/n_poll.png'); -INSERT INTO cp_file VALUES ('5953', './scos/3/icons/n_audio.png'); -INSERT INTO cp_file VALUES ('5954', './scos/3/icons/n_instruction.png'); -INSERT INTO cp_file VALUES ('5955', './scos/3/icons/n_selected.png'); -INSERT INTO cp_file VALUES ('5956', './scos/3/icons/pdf.png'); -INSERT INTO cp_file VALUES ('5957', './scos/3/icons/n_anyFile.png'); -INSERT INTO cp_file VALUES ('5958', './scos/3/icons/n_bibliography.png'); -INSERT INTO cp_file VALUES ('5959', './scos/3/icons/pdfnew.png'); -INSERT INTO cp_file VALUES ('5960', './scos/3/icons/n_hint.png'); -INSERT INTO cp_file VALUES ('5961', './scos/3/icons/like.png'); -INSERT INTO cp_file VALUES ('5962', './scos/3/images/n_descriptionList.gif'); -INSERT INTO cp_file VALUES ('5963', './scos/3/images/nextlabel.gif'); -INSERT INTO cp_file VALUES ('5964', './scos/3/images/blank.gif'); -INSERT INTO cp_file VALUES ('5965', './scos/3/images/yes.png'); -INSERT INTO cp_file VALUES ('5966', './scos/3/images/n_TESTbullet2.gif'); -INSERT INTO cp_file VALUES ('5967', './scos/3/images/n_TESTbullet3.gif'); -INSERT INTO cp_file VALUES ('5968', './scos/3/images/n_TESTbullet4.gif'); -INSERT INTO cp_file VALUES ('5969', './scos/3/images/n_TESTbullet5.gif'); -INSERT INTO cp_file VALUES ('5970', './scos/3/images/n_blank.gif'); -INSERT INTO cp_file VALUES ('5971', './scos/3/images/n_arrowBlack.png'); -INSERT INTO cp_file VALUES ('5972', './scos/3/images/closelabel.gif'); -INSERT INTO cp_file VALUES ('5973', './scos/3/images/n_yes.gif'); -INSERT INTO cp_file VALUES ('5974', './scos/3/images/n_quote_L.gif'); -INSERT INTO cp_file VALUES ('5975', './scos/3/images/n_TESTbullet.gif'); -INSERT INTO cp_file VALUES ('5976', './scos/3/images/n_quote_R.gif'); -INSERT INTO cp_file VALUES ('5977', './scos/3/images/core.png'); -INSERT INTO cp_file VALUES ('5978', './scos/3/images/n_quote_L_yellow.gif'); -INSERT INTO cp_file VALUES ('5979', './scos/3/images/pixel.png'); -INSERT INTO cp_file VALUES ('5980', './scos/3/images/no.png'); -INSERT INTO cp_file VALUES ('5981', './scos/3/images/on.png'); -INSERT INTO cp_file VALUES ('5982', './scos/3/images/off.png'); -INSERT INTO cp_file VALUES ('5983', './scos/3/images/prev.gif'); -INSERT INTO cp_file VALUES ('5984', './scos/3/images/n_quote_R_yellow.gif'); -INSERT INTO cp_file VALUES ('5985', './scos/3/images/yesno.png'); -INSERT INTO cp_file VALUES ('5986', './scos/3/images/n_no.gif'); -INSERT INTO cp_file VALUES ('5987', './scos/3/images/n_selected.png'); -INSERT INTO cp_file VALUES ('5988', './scos/3/images/next.gif'); -INSERT INTO cp_file VALUES ('5989', './scos/3/images/close.gif'); -INSERT INTO cp_file VALUES ('5990', './scos/3/images/loading.gif'); -INSERT INTO cp_file VALUES ('5991', './scos/3/images/like.png'); -INSERT INTO cp_file VALUES ('5992', './scos/3/images/prevlabel.gif'); -INSERT INTO cp_file VALUES ('5994', './scos/4/index.xml'); -INSERT INTO cp_file VALUES ('5995', './scos/4/p2sco.xsd'); -INSERT INTO cp_file VALUES ('5996', './scos/4/index.html'); -INSERT INTO cp_file VALUES ('5998', './scos/4/pictures/thumbnail-0.png'); -INSERT INTO cp_file VALUES ('5999', './scos/4/pictures/0.png'); -INSERT INTO cp_file VALUES ('6000', './scos/4/pictures/thumbnail-1.png'); -INSERT INTO cp_file VALUES ('6001', './scos/4/pictures/1.png'); -INSERT INTO cp_file VALUES ('6002', './scos/4/pictures/thumbnail-2.png'); -INSERT INTO cp_file VALUES ('6003', './scos/4/pictures/2.png'); -INSERT INTO cp_file VALUES ('6004', './scos/4/pictures/thumbnail-3.png'); -INSERT INTO cp_file VALUES ('6005', './scos/4/pictures/3.png'); -INSERT INTO cp_file VALUES ('6008', './scos/4/custom.xsl'); -INSERT INTO cp_file VALUES ('6009', './scos/4/css/custom.css'); -INSERT INTO cp_file VALUES ('6010', './scos/4/js/custom.js'); -INSERT INTO cp_file VALUES ('6011', './scos/4/js/x/x.js'); -INSERT INTO cp_file VALUES ('6012', './scos/4/js/overlib_mini.js'); -INSERT INTO cp_file VALUES ('6013', './scos/4/js/overlib_cssstyle.js'); -INSERT INTO cp_file VALUES ('6014', './scos/4/js/x/x_drag.js'); -INSERT INTO cp_file VALUES ('6015', './scos/4/js/x/x_timer.js'); -INSERT INTO cp_file VALUES ('6016', './scos/4/js/lightbox/effects.js'); -INSERT INTO cp_file VALUES ('6017', './scos/4/js/lightbox/lightbox.js'); -INSERT INTO cp_file VALUES ('6018', './scos/4/js/lightbox/prototype.js'); -INSERT INTO cp_file VALUES ('6019', './scos/4/js/lightbox/scriptaculous.js'); -INSERT INTO cp_file VALUES ('6020', './scos/4/css/lightbox.css'); -INSERT INTO cp_file VALUES ('6021', './scos/4/icons/n_pdf.png'); -INSERT INTO cp_file VALUES ('6022', './scos/4/icons/n_pollOLD.png'); -INSERT INTO cp_file VALUES ('6023', './scos/4/icons/gdict.png'); -INSERT INTO cp_file VALUES ('6024', './scos/4/icons/html.png'); -INSERT INTO cp_file VALUES ('6025', './scos/4/icons/n_link.png'); -INSERT INTO cp_file VALUES ('6026', './scos/4/icons/n_linkOLD.png'); -INSERT INTO cp_file VALUES ('6027', './scos/4/icons/audio.png'); -INSERT INTO cp_file VALUES ('6028', './scos/4/icons/n_shortAnswer.png'); -INSERT INTO cp_file VALUES ('6029', './scos/4/icons/file.png'); -INSERT INTO cp_file VALUES ('6030', './scos/4/icons/likert.png'); -INSERT INTO cp_file VALUES ('6031', './scos/4/icons/n_attention.png'); -INSERT INTO cp_file VALUES ('6032', './scos/4/icons/word.png'); -INSERT INTO cp_file VALUES ('6033', './scos/4/icons/pixel.png'); -INSERT INTO cp_file VALUES ('6034', './scos/4/icons/hint.png'); -INSERT INTO cp_file VALUES ('6035', './scos/4/icons/n_poll.png'); -INSERT INTO cp_file VALUES ('6036', './scos/4/icons/n_audio.png'); -INSERT INTO cp_file VALUES ('6037', './scos/4/icons/n_instruction.png'); -INSERT INTO cp_file VALUES ('6038', './scos/4/icons/n_selected.png'); -INSERT INTO cp_file VALUES ('6039', './scos/4/icons/pdf.png'); -INSERT INTO cp_file VALUES ('6040', './scos/4/icons/n_anyFile.png'); -INSERT INTO cp_file VALUES ('6041', './scos/4/icons/n_bibliography.png'); -INSERT INTO cp_file VALUES ('6042', './scos/4/icons/pdfnew.png'); -INSERT INTO cp_file VALUES ('6043', './scos/4/icons/n_hint.png'); -INSERT INTO cp_file VALUES ('6044', './scos/4/icons/like.png'); -INSERT INTO cp_file VALUES ('6045', './scos/4/images/n_descriptionList.gif'); -INSERT INTO cp_file VALUES ('6046', './scos/4/images/nextlabel.gif'); -INSERT INTO cp_file VALUES ('6047', './scos/4/images/blank.gif'); -INSERT INTO cp_file VALUES ('6048', './scos/4/images/yes.png'); -INSERT INTO cp_file VALUES ('6049', './scos/4/images/n_TESTbullet2.gif'); -INSERT INTO cp_file VALUES ('6050', './scos/4/images/n_TESTbullet3.gif'); -INSERT INTO cp_file VALUES ('6051', './scos/4/images/n_TESTbullet4.gif'); -INSERT INTO cp_file VALUES ('6052', './scos/4/images/n_TESTbullet5.gif'); -INSERT INTO cp_file VALUES ('6053', './scos/4/images/n_blank.gif'); -INSERT INTO cp_file VALUES ('6054', './scos/4/images/n_arrowBlack.png'); -INSERT INTO cp_file VALUES ('6055', './scos/4/images/closelabel.gif'); -INSERT INTO cp_file VALUES ('6056', './scos/4/images/n_yes.gif'); -INSERT INTO cp_file VALUES ('6057', './scos/4/images/n_quote_L.gif'); -INSERT INTO cp_file VALUES ('6058', './scos/4/images/n_TESTbullet.gif'); -INSERT INTO cp_file VALUES ('6059', './scos/4/images/n_quote_R.gif'); -INSERT INTO cp_file VALUES ('6060', './scos/4/images/core.png'); -INSERT INTO cp_file VALUES ('6061', './scos/4/images/n_quote_L_yellow.gif'); -INSERT INTO cp_file VALUES ('6062', './scos/4/images/pixel.png'); -INSERT INTO cp_file VALUES ('6063', './scos/4/images/no.png'); -INSERT INTO cp_file VALUES ('6064', './scos/4/images/on.png'); -INSERT INTO cp_file VALUES ('6065', './scos/4/images/off.png'); -INSERT INTO cp_file VALUES ('6066', './scos/4/images/prev.gif'); -INSERT INTO cp_file VALUES ('6067', './scos/4/images/n_quote_R_yellow.gif'); -INSERT INTO cp_file VALUES ('6068', './scos/4/images/yesno.png'); -INSERT INTO cp_file VALUES ('6069', './scos/4/images/n_no.gif'); -INSERT INTO cp_file VALUES ('6070', './scos/4/images/n_selected.png'); -INSERT INTO cp_file VALUES ('6071', './scos/4/images/next.gif'); -INSERT INTO cp_file VALUES ('6072', './scos/4/images/close.gif'); -INSERT INTO cp_file VALUES ('6073', './scos/4/images/loading.gif'); -INSERT INTO cp_file VALUES ('6074', './scos/4/images/like.png'); -INSERT INTO cp_file VALUES ('6075', './scos/4/images/prevlabel.gif'); -INSERT INTO cp_file VALUES ('6077', './scos/5/index.xml'); -INSERT INTO cp_file VALUES ('6078', './scos/5/p2sco.xsd'); -INSERT INTO cp_file VALUES ('6079', './scos/5/index.html'); -INSERT INTO cp_file VALUES ('6081', './scos/5/pictures/thumbnail-0.png'); -INSERT INTO cp_file VALUES ('6082', './scos/5/pictures/0.png'); -INSERT INTO cp_file VALUES ('6083', './scos/5/pictures/thumbnail-1.png'); -INSERT INTO cp_file VALUES ('6084', './scos/5/pictures/1.png'); -INSERT INTO cp_file VALUES ('6087', './scos/5/custom.xsl'); -INSERT INTO cp_file VALUES ('6088', './scos/5/css/custom.css'); -INSERT INTO cp_file VALUES ('6089', './scos/5/js/custom.js'); -INSERT INTO cp_file VALUES ('6090', './scos/5/js/x/x.js'); -INSERT INTO cp_file VALUES ('6091', './scos/5/js/overlib_mini.js'); -INSERT INTO cp_file VALUES ('6092', './scos/5/js/overlib_cssstyle.js'); -INSERT INTO cp_file VALUES ('6093', './scos/5/js/x/x_drag.js'); -INSERT INTO cp_file VALUES ('6094', './scos/5/js/x/x_timer.js'); -INSERT INTO cp_file VALUES ('6095', './scos/5/js/lightbox/effects.js'); -INSERT INTO cp_file VALUES ('6096', './scos/5/js/lightbox/lightbox.js'); -INSERT INTO cp_file VALUES ('6097', './scos/5/js/lightbox/prototype.js'); -INSERT INTO cp_file VALUES ('6098', './scos/5/js/lightbox/scriptaculous.js'); -INSERT INTO cp_file VALUES ('6099', './scos/5/css/lightbox.css'); -INSERT INTO cp_file VALUES ('6100', './scos/5/icons/n_pdf.png'); -INSERT INTO cp_file VALUES ('6101', './scos/5/icons/n_pollOLD.png'); -INSERT INTO cp_file VALUES ('6102', './scos/5/icons/gdict.png'); -INSERT INTO cp_file VALUES ('6103', './scos/5/icons/html.png'); -INSERT INTO cp_file VALUES ('6104', './scos/5/icons/n_link.png'); -INSERT INTO cp_file VALUES ('6105', './scos/5/icons/n_linkOLD.png'); -INSERT INTO cp_file VALUES ('6106', './scos/5/icons/audio.png'); -INSERT INTO cp_file VALUES ('6107', './scos/5/icons/n_shortAnswer.png'); -INSERT INTO cp_file VALUES ('6108', './scos/5/icons/file.png'); -INSERT INTO cp_file VALUES ('6109', './scos/5/icons/likert.png'); -INSERT INTO cp_file VALUES ('6110', './scos/5/icons/n_attention.png'); -INSERT INTO cp_file VALUES ('6111', './scos/5/icons/word.png'); -INSERT INTO cp_file VALUES ('6112', './scos/5/icons/pixel.png'); -INSERT INTO cp_file VALUES ('6113', './scos/5/icons/hint.png'); -INSERT INTO cp_file VALUES ('6114', './scos/5/icons/n_poll.png'); -INSERT INTO cp_file VALUES ('6115', './scos/5/icons/n_audio.png'); -INSERT INTO cp_file VALUES ('6116', './scos/5/icons/n_instruction.png'); -INSERT INTO cp_file VALUES ('6117', './scos/5/icons/n_selected.png'); -INSERT INTO cp_file VALUES ('6118', './scos/5/icons/pdf.png'); -INSERT INTO cp_file VALUES ('6119', './scos/5/icons/n_anyFile.png'); -INSERT INTO cp_file VALUES ('6120', './scos/5/icons/n_bibliography.png'); -INSERT INTO cp_file VALUES ('6121', './scos/5/icons/pdfnew.png'); -INSERT INTO cp_file VALUES ('6122', './scos/5/icons/n_hint.png'); -INSERT INTO cp_file VALUES ('6123', './scos/5/icons/like.png'); -INSERT INTO cp_file VALUES ('6124', './scos/5/images/n_descriptionList.gif'); -INSERT INTO cp_file VALUES ('6125', './scos/5/images/nextlabel.gif'); -INSERT INTO cp_file VALUES ('6126', './scos/5/images/blank.gif'); -INSERT INTO cp_file VALUES ('6127', './scos/5/images/yes.png'); -INSERT INTO cp_file VALUES ('6128', './scos/5/images/n_TESTbullet2.gif'); -INSERT INTO cp_file VALUES ('6129', './scos/5/images/n_TESTbullet3.gif'); -INSERT INTO cp_file VALUES ('6130', './scos/5/images/n_TESTbullet4.gif'); -INSERT INTO cp_file VALUES ('6131', './scos/5/images/n_TESTbullet5.gif'); -INSERT INTO cp_file VALUES ('6132', './scos/5/images/n_blank.gif'); -INSERT INTO cp_file VALUES ('6133', './scos/5/images/n_arrowBlack.png'); -INSERT INTO cp_file VALUES ('6134', './scos/5/images/closelabel.gif'); -INSERT INTO cp_file VALUES ('6135', './scos/5/images/n_yes.gif'); -INSERT INTO cp_file VALUES ('6136', './scos/5/images/n_quote_L.gif'); -INSERT INTO cp_file VALUES ('6137', './scos/5/images/n_TESTbullet.gif'); -INSERT INTO cp_file VALUES ('6138', './scos/5/images/n_quote_R.gif'); -INSERT INTO cp_file VALUES ('6139', './scos/5/images/core.png'); -INSERT INTO cp_file VALUES ('6140', './scos/5/images/n_quote_L_yellow.gif'); -INSERT INTO cp_file VALUES ('6141', './scos/5/images/pixel.png'); -INSERT INTO cp_file VALUES ('6142', './scos/5/images/no.png'); -INSERT INTO cp_file VALUES ('6143', './scos/5/images/on.png'); -INSERT INTO cp_file VALUES ('6144', './scos/5/images/off.png'); -INSERT INTO cp_file VALUES ('6145', './scos/5/images/prev.gif'); -INSERT INTO cp_file VALUES ('6146', './scos/5/images/n_quote_R_yellow.gif'); -INSERT INTO cp_file VALUES ('6147', './scos/5/images/yesno.png'); -INSERT INTO cp_file VALUES ('6148', './scos/5/images/n_no.gif'); -INSERT INTO cp_file VALUES ('6149', './scos/5/images/n_selected.png'); -INSERT INTO cp_file VALUES ('6150', './scos/5/images/next.gif'); -INSERT INTO cp_file VALUES ('6151', './scos/5/images/close.gif'); -INSERT INTO cp_file VALUES ('6152', './scos/5/images/loading.gif'); -INSERT INTO cp_file VALUES ('6153', './scos/5/images/like.png'); -INSERT INTO cp_file VALUES ('6154', './scos/5/images/prevlabel.gif'); -INSERT INTO cp_file VALUES ('6156', 'adlcp_v1p3.xsd'); -INSERT INTO cp_file VALUES ('6157', 'adlseq_v1p3.xsd'); -INSERT INTO cp_file VALUES ('6158', 'imsss_v1p0.xsd'); -INSERT INTO cp_file VALUES ('6159', 'adlnav_v1p3.xsd'); -INSERT INTO cp_file VALUES ('6160', 'imscp_v1p1.xsd'); -INSERT INTO cp_file VALUES ('6161', 'imsmanifest.xml'); -INSERT INTO cp_file VALUES ('6162', 'imsss_v1p0auxresource.xsd'); -INSERT INTO cp_file VALUES ('6163', 'imsss_v1p0control.xsd'); -INSERT INTO cp_file VALUES ('6164', 'imsss_v1p0delivery.xsd'); -INSERT INTO cp_file VALUES ('6165', 'imsss_v1p0limit.xsd'); -INSERT INTO cp_file VALUES ('6166', 'imsss_v1p0objective.xsd'); -INSERT INTO cp_file VALUES ('6167', 'imsss_v1p0random.xsd'); -INSERT INTO cp_file VALUES ('6168', 'imsss_v1p0rollup.xsd'); -INSERT INTO cp_file VALUES ('6169', 'imsss_v1p0seqrule.xsd'); -INSERT INTO cp_file VALUES ('6170', 'imsss_v1p0util.xsd'); -INSERT INTO cp_file VALUES ('6171', 'xml.xsd'); -INSERT INTO cp_file VALUES ('6172', 'index.html'); -INSERT INTO cp_file VALUES ('6199', 'intro.htm'); -INSERT INTO cp_file VALUES ('6200', 'images/headerside.gif'); -INSERT INTO cp_file VALUES ('6201', 'images/headertop.gif'); -INSERT INTO cp_file VALUES ('6202', 'images/pssidebar.gif'); -INSERT INTO cp_file VALUES ('6204', 'Lesson1.htm'); -INSERT INTO cp_file VALUES ('6205', 'images/EndOfLesson.gif'); -INSERT INTO cp_file VALUES ('6206', 'images/LessonTitle1.gif'); -INSERT INTO cp_file VALUES ('6207', 'images/headerside.gif'); -INSERT INTO cp_file VALUES ('6208', 'images/headertop.gif'); -INSERT INTO cp_file VALUES ('6209', 'images/interfacesmall.jpg'); -INSERT INTO cp_file VALUES ('6210', 'images/pssidebar.gif'); -INSERT INTO cp_file VALUES ('6212', 'Lesson2.htm'); -INSERT INTO cp_file VALUES ('6213', 'images/EndOfLesson.gif'); -INSERT INTO cp_file VALUES ('6214', 'images/HandTool.gif'); -INSERT INTO cp_file VALUES ('6215', 'images/LessonTitle2.gif'); -INSERT INTO cp_file VALUES ('6216', 'images/ZoomToolIcon.gif'); -INSERT INTO cp_file VALUES ('6217', 'images/box.gif'); -INSERT INTO cp_file VALUES ('6218', 'images/colorselect.gif'); -INSERT INTO cp_file VALUES ('6219', 'images/enhancementtools.gif'); -INSERT INTO cp_file VALUES ('6220', 'images/eyedroppertool.gif'); -INSERT INTO cp_file VALUES ('6221', 'images/headerside.gif'); -INSERT INTO cp_file VALUES ('6222', 'images/headertop.gif'); -INSERT INTO cp_file VALUES ('6223', 'images/navagationtools.gif'); -INSERT INTO cp_file VALUES ('6224', 'images/objecttools.gif'); -INSERT INTO cp_file VALUES ('6225', 'images/pssidebar.gif'); -INSERT INTO cp_file VALUES ('6226', 'images/selectiontools.gif'); -INSERT INTO cp_file VALUES ('6227', 'images/toolbox.gif'); -INSERT INTO cp_file VALUES ('6229', 'Lesson3.htm'); -INSERT INTO cp_file VALUES ('6230', 'images/EndOfLesson.gif'); -INSERT INTO cp_file VALUES ('6231', 'images/LessonTitle3.gif'); -INSERT INTO cp_file VALUES ('6232', 'images/defaultpalettes.gif'); -INSERT INTO cp_file VALUES ('6233', 'images/headerside.gif'); -INSERT INTO cp_file VALUES ('6234', 'images/headertop.gif'); -INSERT INTO cp_file VALUES ('6235', 'images/pssidebar.gif'); -INSERT INTO cp_file VALUES ('6237', 'Lesson4.htm'); -INSERT INTO cp_file VALUES ('6238', 'images/37.gif'); -INSERT INTO cp_file VALUES ('6239', 'images/EndOfLesson.gif'); -INSERT INTO cp_file VALUES ('6240', 'images/LessonTitle4.gif'); -INSERT INTO cp_file VALUES ('6241', 'images/eyeicon.gif'); -INSERT INTO cp_file VALUES ('6242', 'images/flatlayers.gif'); -INSERT INTO cp_file VALUES ('6243', 'images/headerside.gif'); -INSERT INTO cp_file VALUES ('6244', 'images/headertop.gif'); -INSERT INTO cp_file VALUES ('6245', 'images/layerarrows.gif'); -INSERT INTO cp_file VALUES ('6246', 'images/layers.gif'); -INSERT INTO cp_file VALUES ('6247', 'images/linkicon.gif'); -INSERT INTO cp_file VALUES ('6248', 'images/newlayericon.gif'); -INSERT INTO cp_file VALUES ('6249', 'images/paintbrush.gif'); -INSERT INTO cp_file VALUES ('6250', 'images/pssidebar.gif'); -INSERT INTO cp_file VALUES ('6252', 'Lesson5.htm'); -INSERT INTO cp_file VALUES ('6253', 'images/EndOfLesson.gif'); -INSERT INTO cp_file VALUES ('6254', 'images/LessonTitle5.gif'); -INSERT INTO cp_file VALUES ('6255', 'images/Tree-and-DragonsGreen.jpg'); -INSERT INTO cp_file VALUES ('6256', 'images/Tree-and-Dragonsnot-Green.jpg'); -INSERT INTO cp_file VALUES ('6257', 'images/box.gif'); -INSERT INTO cp_file VALUES ('6258', 'images/colorbalancebox.gif'); -INSERT INTO cp_file VALUES ('6259', 'images/colorbalancemenu2.gif'); -INSERT INTO cp_file VALUES ('6260', 'images/headerside.gif'); -INSERT INTO cp_file VALUES ('6261', 'images/headertop.gif'); -INSERT INTO cp_file VALUES ('6262', 'images/pssidebar.gif'); -INSERT INTO cp_file VALUES ('6264', 'Lesson6.htm'); -INSERT INTO cp_file VALUES ('6265', 'images/EndOfLesson.gif'); -INSERT INTO cp_file VALUES ('6266', 'images/Jar-GateDark.jpg'); -INSERT INTO cp_file VALUES ('6267', 'images/Jar-GateLight.jpg'); -INSERT INTO cp_file VALUES ('6268', 'images/LessonTitle6.gif'); -INSERT INTO cp_file VALUES ('6269', 'images/box.gif'); -INSERT INTO cp_file VALUES ('6270', 'images/brightnesscontrastbox.gif'); -INSERT INTO cp_file VALUES ('6271', 'images/brightnesscontrastmenu.gif'); -INSERT INTO cp_file VALUES ('6272', 'images/headerside.gif'); -INSERT INTO cp_file VALUES ('6273', 'images/headertop.gif'); -INSERT INTO cp_file VALUES ('6274', 'images/pssidebar.gif'); -INSERT INTO cp_file VALUES ('6276', 'Lesson7.htm'); -INSERT INTO cp_file VALUES ('6277', 'images/Circular-GateDark.jpg'); -INSERT INTO cp_file VALUES ('6278', 'images/Circular-GateLight.jpg'); -INSERT INTO cp_file VALUES ('6279', 'images/EndOfLesson.gif'); -INSERT INTO cp_file VALUES ('6280', 'images/LessonTitle7.gif'); -INSERT INTO cp_file VALUES ('6281', 'images/box.gif'); -INSERT INTO cp_file VALUES ('6282', 'images/headerside.gif'); -INSERT INTO cp_file VALUES ('6283', 'images/headertop.gif'); -INSERT INTO cp_file VALUES ('6284', 'images/huesaturationbox.gif'); -INSERT INTO cp_file VALUES ('6285', 'images/huesaturationmenu.gif'); -INSERT INTO cp_file VALUES ('6286', 'images/pssidebar.gif'); -INSERT INTO cp_file VALUES ('6288', 'Lesson8.htm'); -INSERT INTO cp_file VALUES ('6289', 'images/Addition.gif'); -INSERT INTO cp_file VALUES ('6290', 'images/EndOfLesson.gif'); -INSERT INTO cp_file VALUES ('6291', 'images/IntersectionIcon.gif'); -INSERT INTO cp_file VALUES ('6292', 'images/LessonTitle8.gif'); -INSERT INTO cp_file VALUES ('6293', 'images/MagicWandBar.gif'); -INSERT INTO cp_file VALUES ('6294', 'images/MagicWandIcon.gif'); -INSERT INTO cp_file VALUES ('6295', 'images/Selection.gif'); -INSERT INTO cp_file VALUES ('6296', 'images/SubtractionIcon.gif'); -INSERT INTO cp_file VALUES ('6297', 'images/addtosubtractfromselection.gif'); -INSERT INTO cp_file VALUES ('6298', 'images/dafbackground.jpg'); -INSERT INTO cp_file VALUES ('6299', 'images/dafmagicselect.jpg'); -INSERT INTO cp_file VALUES ('6300', 'images/headerside.gif'); -INSERT INTO cp_file VALUES ('6301', 'images/headertop.gif'); -INSERT INTO cp_file VALUES ('6302', 'images/lassotools.gif'); -INSERT INTO cp_file VALUES ('6303', 'images/marqueetools.gif'); -INSERT INTO cp_file VALUES ('6304', 'images/originaldaf.jpg'); -INSERT INTO cp_file VALUES ('6305', 'images/pssidebar.gif'); -INSERT INTO cp_file VALUES ('6306', 'images/selectiontools.gif'); -INSERT INTO cp_file VALUES ('6307', 'images/singledafselection.jpg'); -INSERT INTO cp_file VALUES ('6309', 'Lesson9.htm'); -INSERT INTO cp_file VALUES ('6310', 'images/EndOfLesson.gif'); -INSERT INTO cp_file VALUES ('6311', 'images/LessonTitle9.gif'); -INSERT INTO cp_file VALUES ('6312', 'images/TransformFlyout.gif'); -INSERT INTO cp_file VALUES ('6313', 'images/birdfeeder.jpg'); -INSERT INTO cp_file VALUES ('6314', 'images/birdfeederdistort.gif'); -INSERT INTO cp_file VALUES ('6315', 'images/birdfeederflip.gif'); -INSERT INTO cp_file VALUES ('6316', 'images/birdfeederperspective.gif'); -INSERT INTO cp_file VALUES ('6317', 'images/birdfeederrotated.jpg'); -INSERT INTO cp_file VALUES ('6318', 'images/birdfeederscaled.jpg'); -INSERT INTO cp_file VALUES ('6319', 'images/birdfeederskewed.gif'); -INSERT INTO cp_file VALUES ('6320', 'images/box-distort.gif'); -INSERT INTO cp_file VALUES ('6321', 'images/box-flip.gif'); -INSERT INTO cp_file VALUES ('6322', 'images/box-perspective.gif'); -INSERT INTO cp_file VALUES ('6323', 'images/box-rotate.gif'); -INSERT INTO cp_file VALUES ('6324', 'images/box-scale.gif'); -INSERT INTO cp_file VALUES ('6325', 'images/box-skew.gif'); -INSERT INTO cp_file VALUES ('6326', 'images/box.gif'); -INSERT INTO cp_file VALUES ('6327', 'images/headerside.gif'); -INSERT INTO cp_file VALUES ('6328', 'images/headertop.gif'); -INSERT INTO cp_file VALUES ('6329', 'images/pssidebar.gif'); -INSERT INTO cp_file VALUES ('6330', 'images/transformCheck.gif'); -INSERT INTO cp_file VALUES ('6331', 'images/transformX.gif'); -INSERT INTO cp_file VALUES ('6333', 'Question1.htm'); -INSERT INTO cp_file VALUES ('6334', 'util/APIWrapper.js'); -INSERT INTO cp_file VALUES ('6336', 'Question2.htm'); -INSERT INTO cp_file VALUES ('6337', 'util/APIWrapper.js'); -INSERT INTO cp_file VALUES ('6339', 'Question3.htm'); -INSERT INTO cp_file VALUES ('6340', 'util/APIWrapper.js'); -INSERT INTO cp_file VALUES ('6342', 'Question4.htm'); -INSERT INTO cp_file VALUES ('6343', 'util/APIWrapper.js'); -INSERT INTO cp_file VALUES ('6345', 'Question5.htm'); -INSERT INTO cp_file VALUES ('6346', 'util/APIWrapper.js'); -INSERT INTO cp_file VALUES ('6348', 'Question6.htm'); -INSERT INTO cp_file VALUES ('6349', 'util/APIWrapper.js'); -INSERT INTO cp_file VALUES ('6351', 'Question7.htm'); -INSERT INTO cp_file VALUES ('6352', 'util/APIWrapper.js'); -INSERT INTO cp_file VALUES ('6354', 'Question8.htm'); -INSERT INTO cp_file VALUES ('6355', 'util/APIWrapper.js'); -INSERT INTO cp_file VALUES ('6357', 'Question9.htm'); -INSERT INTO cp_file VALUES ('6358', 'util/APIWrapper.js'); -INSERT INTO cp_file VALUES ('6416', 'intro.htm'); -INSERT INTO cp_file VALUES ('6417', 'images/headerside.gif'); -INSERT INTO cp_file VALUES ('6418', 'images/headertop.gif'); -INSERT INTO cp_file VALUES ('6419', 'images/pssidebar.gif'); -INSERT INTO cp_file VALUES ('6420', 'util/Photoshop_APIWrapper.js'); -INSERT INTO cp_file VALUES ('6421', 'util/Photoshop_SCOFunctions.js'); -INSERT INTO cp_file VALUES ('6423', 'Lesson1.htm'); -INSERT INTO cp_file VALUES ('6424', 'images/EndOfLesson.gif'); -INSERT INTO cp_file VALUES ('6425', 'images/LessonTitle1.gif'); -INSERT INTO cp_file VALUES ('6426', 'images/headerside.gif'); -INSERT INTO cp_file VALUES ('6427', 'images/headertop.gif'); -INSERT INTO cp_file VALUES ('6428', 'images/interfacesmall.jpg'); -INSERT INTO cp_file VALUES ('6429', 'images/pssidebar.gif'); -INSERT INTO cp_file VALUES ('6430', 'Lesson2.htm'); -INSERT INTO cp_file VALUES ('6431', 'images/EndOfLesson.gif'); -INSERT INTO cp_file VALUES ('6432', 'images/HandTool.gif'); -INSERT INTO cp_file VALUES ('6433', 'images/LessonTitle2.gif'); -INSERT INTO cp_file VALUES ('6434', 'images/ZoomToolIcon.gif'); -INSERT INTO cp_file VALUES ('6435', 'images/box.gif'); -INSERT INTO cp_file VALUES ('6436', 'images/colorselect.gif'); -INSERT INTO cp_file VALUES ('6437', 'images/enhancementtools.gif'); -INSERT INTO cp_file VALUES ('6438', 'images/eyedroppertool.gif'); -INSERT INTO cp_file VALUES ('6439', 'images/headerside.gif'); -INSERT INTO cp_file VALUES ('6440', 'images/headertop.gif'); -INSERT INTO cp_file VALUES ('6441', 'images/navagationtools.gif'); -INSERT INTO cp_file VALUES ('6442', 'images/objecttools.gif'); -INSERT INTO cp_file VALUES ('6443', 'images/pssidebar.gif'); -INSERT INTO cp_file VALUES ('6444', 'images/selectiontools.gif'); -INSERT INTO cp_file VALUES ('6445', 'images/toolbox.gif'); -INSERT INTO cp_file VALUES ('6446', 'Lesson3.htm'); -INSERT INTO cp_file VALUES ('6447', 'images/EndOfLesson.gif'); -INSERT INTO cp_file VALUES ('6448', 'images/LessonTitle3.gif'); -INSERT INTO cp_file VALUES ('6449', 'images/defaultpalettes.gif'); -INSERT INTO cp_file VALUES ('6450', 'images/headerside.gif'); -INSERT INTO cp_file VALUES ('6451', 'images/headertop.gif'); -INSERT INTO cp_file VALUES ('6452', 'images/pssidebar.gif'); -INSERT INTO cp_file VALUES ('6453', 'Lesson4.htm'); -INSERT INTO cp_file VALUES ('6454', 'images/37.gif'); -INSERT INTO cp_file VALUES ('6455', 'images/EndOfLesson.gif'); -INSERT INTO cp_file VALUES ('6456', 'images/LessonTitle4.gif'); -INSERT INTO cp_file VALUES ('6457', 'images/eyeicon.gif'); -INSERT INTO cp_file VALUES ('6458', 'images/flatlayers.gif'); -INSERT INTO cp_file VALUES ('6459', 'images/headerside.gif'); -INSERT INTO cp_file VALUES ('6460', 'images/headertop.gif'); -INSERT INTO cp_file VALUES ('6461', 'images/layerarrows.gif'); -INSERT INTO cp_file VALUES ('6462', 'images/layers.gif'); -INSERT INTO cp_file VALUES ('6463', 'images/linkicon.gif'); -INSERT INTO cp_file VALUES ('6464', 'images/newlayericon.gif'); -INSERT INTO cp_file VALUES ('6465', 'images/paintbrush.gif'); -INSERT INTO cp_file VALUES ('6466', 'images/pssidebar.gif'); -INSERT INTO cp_file VALUES ('6467', 'util/Photoshop_APIWrapper.js'); -INSERT INTO cp_file VALUES ('6468', 'util/Photoshop_SCOFunctions.js'); -INSERT INTO cp_file VALUES ('6470', 'Lesson5.htm'); -INSERT INTO cp_file VALUES ('6471', 'images/EndOfLesson.gif'); -INSERT INTO cp_file VALUES ('6472', 'images/LessonTitle5.gif'); -INSERT INTO cp_file VALUES ('6473', 'images/Tree-and-DragonsGreen.jpg'); -INSERT INTO cp_file VALUES ('6474', 'images/Tree-and-Dragonsnot-Green.jpg'); -INSERT INTO cp_file VALUES ('6475', 'images/box.gif'); -INSERT INTO cp_file VALUES ('6476', 'images/colorbalancebox.gif'); -INSERT INTO cp_file VALUES ('6477', 'images/colorbalancemenu2.gif'); -INSERT INTO cp_file VALUES ('6478', 'images/headerside.gif'); -INSERT INTO cp_file VALUES ('6479', 'images/headertop.gif'); -INSERT INTO cp_file VALUES ('6480', 'images/pssidebar.gif'); -INSERT INTO cp_file VALUES ('6481', 'Lesson6.htm'); -INSERT INTO cp_file VALUES ('6482', 'images/EndOfLesson.gif'); -INSERT INTO cp_file VALUES ('6483', 'images/Jar-GateDark.jpg'); -INSERT INTO cp_file VALUES ('6484', 'images/Jar-GateLight.jpg'); -INSERT INTO cp_file VALUES ('6485', 'images/LessonTitle6.gif'); -INSERT INTO cp_file VALUES ('6486', 'images/box.gif'); -INSERT INTO cp_file VALUES ('6487', 'images/brightnesscontrastbox.gif'); -INSERT INTO cp_file VALUES ('6488', 'images/brightnesscontrastmenu.gif'); -INSERT INTO cp_file VALUES ('6489', 'images/headerside.gif'); -INSERT INTO cp_file VALUES ('6490', 'images/headertop.gif'); -INSERT INTO cp_file VALUES ('6491', 'images/pssidebar.gif'); -INSERT INTO cp_file VALUES ('6492', 'Lesson7.htm'); -INSERT INTO cp_file VALUES ('6493', 'images/Circular-GateDark.jpg'); -INSERT INTO cp_file VALUES ('6494', 'images/Circular-GateLight.jpg'); -INSERT INTO cp_file VALUES ('6495', 'images/EndOfLesson.gif'); -INSERT INTO cp_file VALUES ('6496', 'images/LessonTitle7.gif'); -INSERT INTO cp_file VALUES ('6497', 'images/box.gif'); -INSERT INTO cp_file VALUES ('6498', 'images/headerside.gif'); -INSERT INTO cp_file VALUES ('6499', 'images/headertop.gif'); -INSERT INTO cp_file VALUES ('6500', 'images/huesaturationbox.gif'); -INSERT INTO cp_file VALUES ('6501', 'images/huesaturationmenu.gif'); -INSERT INTO cp_file VALUES ('6502', 'images/pssidebar.gif'); -INSERT INTO cp_file VALUES ('6503', 'util/Photoshop_APIWrapper.js'); -INSERT INTO cp_file VALUES ('6504', 'util/Photoshop_SCOFunctions.js'); -INSERT INTO cp_file VALUES ('6506', 'Lesson8.htm'); -INSERT INTO cp_file VALUES ('6507', 'images/Addition.gif'); -INSERT INTO cp_file VALUES ('6508', 'images/EndOfLesson.gif'); -INSERT INTO cp_file VALUES ('6509', 'images/IntersectionIcon.gif'); -INSERT INTO cp_file VALUES ('6510', 'images/LessonTitle8.gif'); -INSERT INTO cp_file VALUES ('6511', 'images/MagicWandBar.gif'); -INSERT INTO cp_file VALUES ('6512', 'images/MagicWandIcon.gif'); -INSERT INTO cp_file VALUES ('6513', 'images/Selection.gif'); -INSERT INTO cp_file VALUES ('6514', 'images/SubtractionIcon.gif'); -INSERT INTO cp_file VALUES ('6515', 'images/addtosubtractfromselection.gif'); -INSERT INTO cp_file VALUES ('6516', 'images/dafbackground.jpg'); -INSERT INTO cp_file VALUES ('6517', 'images/dafmagicselect.jpg'); -INSERT INTO cp_file VALUES ('6518', 'images/headerside.gif'); -INSERT INTO cp_file VALUES ('6519', 'images/headertop.gif'); -INSERT INTO cp_file VALUES ('6520', 'images/lassotools.gif'); -INSERT INTO cp_file VALUES ('6521', 'images/marqueetools.gif'); -INSERT INTO cp_file VALUES ('6522', 'images/originaldaf.jpg'); -INSERT INTO cp_file VALUES ('6523', 'images/pssidebar.gif'); -INSERT INTO cp_file VALUES ('6524', 'images/selectiontools.gif'); -INSERT INTO cp_file VALUES ('6525', 'images/singledafselection.jpg'); -INSERT INTO cp_file VALUES ('6526', 'Lesson9.htm'); -INSERT INTO cp_file VALUES ('6527', 'images/EndOfLesson.gif'); -INSERT INTO cp_file VALUES ('6528', 'images/LessonTitle9.gif'); -INSERT INTO cp_file VALUES ('6529', 'images/TransformFlyout.gif'); -INSERT INTO cp_file VALUES ('6530', 'images/birdfeeder.jpg'); -INSERT INTO cp_file VALUES ('6531', 'images/birdfeederdistort.gif'); -INSERT INTO cp_file VALUES ('6532', 'images/birdfeederflip.gif'); -INSERT INTO cp_file VALUES ('6533', 'images/birdfeederperspective.gif'); -INSERT INTO cp_file VALUES ('6534', 'images/birdfeederrotated.jpg'); -INSERT INTO cp_file VALUES ('6535', 'images/birdfeederscaled.jpg'); -INSERT INTO cp_file VALUES ('6536', 'images/birdfeederskewed.gif'); -INSERT INTO cp_file VALUES ('6537', 'images/box-distort.gif'); -INSERT INTO cp_file VALUES ('6538', 'images/box-flip.gif'); -INSERT INTO cp_file VALUES ('6539', 'images/box-perspective.gif'); -INSERT INTO cp_file VALUES ('6540', 'images/box-rotate.gif'); -INSERT INTO cp_file VALUES ('6541', 'images/box-scale.gif'); -INSERT INTO cp_file VALUES ('6542', 'images/box-skew.gif'); -INSERT INTO cp_file VALUES ('6543', 'images/box.gif'); -INSERT INTO cp_file VALUES ('6544', 'images/headerside.gif'); -INSERT INTO cp_file VALUES ('6545', 'images/headertop.gif'); -INSERT INTO cp_file VALUES ('6546', 'images/pssidebar.gif'); -INSERT INTO cp_file VALUES ('6547', 'images/transformCheck.gif'); -INSERT INTO cp_file VALUES ('6548', 'images/transformX.gif'); -INSERT INTO cp_file VALUES ('6549', 'util/Photoshop_APIWrapper.js'); -INSERT INTO cp_file VALUES ('6550', 'util/Photoshop_SCOFunctions.js'); -INSERT INTO cp_file VALUES ('6552', 'Question1.htm'); -INSERT INTO cp_file VALUES ('6553', 'util/Photoshop_APIWrapper.js'); -INSERT INTO cp_file VALUES ('6554', 'util/Photoshop_SCOFunctions.js'); -INSERT INTO cp_file VALUES ('6556', 'Question2.htm'); -INSERT INTO cp_file VALUES ('6557', 'util/Photoshop_APIWrapper.js'); -INSERT INTO cp_file VALUES ('6558', 'util/Photoshop_SCOFunctions.js'); -INSERT INTO cp_file VALUES ('6560', 'Question3.htm'); -INSERT INTO cp_file VALUES ('6561', 'util/Photoshop_APIWrapper.js'); -INSERT INTO cp_file VALUES ('6562', 'util/Photoshop_SCOFunctions.js'); -INSERT INTO cp_file VALUES ('6564', 'Question4.htm'); -INSERT INTO cp_file VALUES ('6565', 'util/Photoshop_APIWrapper.js'); -INSERT INTO cp_file VALUES ('6566', 'util/Photoshop_SCOFunctions.js'); -INSERT INTO cp_file VALUES ('6568', 'Question5.htm'); -INSERT INTO cp_file VALUES ('6569', 'util/Photoshop_APIWrapper.js'); -INSERT INTO cp_file VALUES ('6570', 'util/Photoshop_SCOFunctions.js'); -INSERT INTO cp_file VALUES ('6572', 'Question6.htm'); -INSERT INTO cp_file VALUES ('6573', 'util/Photoshop_APIWrapper.js'); -INSERT INTO cp_file VALUES ('6574', 'util/Photoshop_SCOFunctions.js'); -INSERT INTO cp_file VALUES ('6576', 'Question7.htm'); -INSERT INTO cp_file VALUES ('6577', 'util/Photoshop_APIWrapper.js'); -INSERT INTO cp_file VALUES ('6578', 'util/Photoshop_SCOFunctions.js'); -INSERT INTO cp_file VALUES ('6580', 'Question8.htm'); -INSERT INTO cp_file VALUES ('6581', 'util/Photoshop_APIWrapper.js'); -INSERT INTO cp_file VALUES ('6582', 'util/Photoshop_SCOFunctions.js'); -INSERT INTO cp_file VALUES ('6584', 'Question9.htm'); -INSERT INTO cp_file VALUES ('6585', 'util/Photoshop_APIWrapper.js'); -INSERT INTO cp_file VALUES ('6586', 'util/Photoshop_SCOFunctions.js'); -INSERT INTO cp_file VALUES ('6644', 'intro.htm'); -INSERT INTO cp_file VALUES ('6645', 'images/headerside.gif'); -INSERT INTO cp_file VALUES ('6646', 'images/headertop.gif'); -INSERT INTO cp_file VALUES ('6647', 'images/pssidebar.gif'); -INSERT INTO cp_file VALUES ('6648', 'util/Photoshop_APIWrapper.js'); -INSERT INTO cp_file VALUES ('6649', 'util/Photoshop_SCOFunctions.js'); -INSERT INTO cp_file VALUES ('6651', 'Lesson1.htm'); -INSERT INTO cp_file VALUES ('6652', 'images/EndOfLesson.gif'); -INSERT INTO cp_file VALUES ('6653', 'images/LessonTitle1.gif'); -INSERT INTO cp_file VALUES ('6654', 'images/headerside.gif'); -INSERT INTO cp_file VALUES ('6655', 'images/headertop.gif'); -INSERT INTO cp_file VALUES ('6656', 'images/interfacesmall.jpg'); -INSERT INTO cp_file VALUES ('6657', 'images/pssidebar.gif'); -INSERT INTO cp_file VALUES ('6658', 'Lesson2.htm'); -INSERT INTO cp_file VALUES ('6659', 'images/EndOfLesson.gif'); -INSERT INTO cp_file VALUES ('6660', 'images/HandTool.gif'); -INSERT INTO cp_file VALUES ('6661', 'images/LessonTitle2.gif'); -INSERT INTO cp_file VALUES ('6662', 'images/ZoomToolIcon.gif'); -INSERT INTO cp_file VALUES ('6663', 'images/box.gif'); -INSERT INTO cp_file VALUES ('6664', 'images/colorselect.gif'); -INSERT INTO cp_file VALUES ('6665', 'images/enhancementtools.gif'); -INSERT INTO cp_file VALUES ('6666', 'images/eyedroppertool.gif'); -INSERT INTO cp_file VALUES ('6667', 'images/headerside.gif'); -INSERT INTO cp_file VALUES ('6668', 'images/headertop.gif'); -INSERT INTO cp_file VALUES ('6669', 'images/navagationtools.gif'); -INSERT INTO cp_file VALUES ('6670', 'images/objecttools.gif'); -INSERT INTO cp_file VALUES ('6671', 'images/pssidebar.gif'); -INSERT INTO cp_file VALUES ('6672', 'images/selectiontools.gif'); -INSERT INTO cp_file VALUES ('6673', 'images/toolbox.gif'); -INSERT INTO cp_file VALUES ('6674', 'Lesson3.htm'); -INSERT INTO cp_file VALUES ('6675', 'images/EndOfLesson.gif'); -INSERT INTO cp_file VALUES ('6676', 'images/LessonTitle3.gif'); -INSERT INTO cp_file VALUES ('6677', 'images/defaultpalettes.gif'); -INSERT INTO cp_file VALUES ('6678', 'images/headerside.gif'); -INSERT INTO cp_file VALUES ('6679', 'images/headertop.gif'); -INSERT INTO cp_file VALUES ('6680', 'images/pssidebar.gif'); -INSERT INTO cp_file VALUES ('6681', 'Lesson4.htm'); -INSERT INTO cp_file VALUES ('6682', 'images/37.gif'); -INSERT INTO cp_file VALUES ('6683', 'images/EndOfLesson.gif'); -INSERT INTO cp_file VALUES ('6684', 'images/LessonTitle4.gif'); -INSERT INTO cp_file VALUES ('6685', 'images/eyeicon.gif'); -INSERT INTO cp_file VALUES ('6686', 'images/flatlayers.gif'); -INSERT INTO cp_file VALUES ('6687', 'images/headerside.gif'); -INSERT INTO cp_file VALUES ('6688', 'images/headertop.gif'); -INSERT INTO cp_file VALUES ('6689', 'images/layerarrows.gif'); -INSERT INTO cp_file VALUES ('6690', 'images/layers.gif'); -INSERT INTO cp_file VALUES ('6691', 'images/linkicon.gif'); -INSERT INTO cp_file VALUES ('6692', 'images/newlayericon.gif'); -INSERT INTO cp_file VALUES ('6693', 'images/paintbrush.gif'); -INSERT INTO cp_file VALUES ('6694', 'images/pssidebar.gif'); -INSERT INTO cp_file VALUES ('6695', 'util/Photoshop_APIWrapper.js'); -INSERT INTO cp_file VALUES ('6696', 'util/Photoshop_SCOFunctions.js'); -INSERT INTO cp_file VALUES ('6698', 'Lesson5.htm'); -INSERT INTO cp_file VALUES ('6699', 'images/EndOfLesson.gif'); -INSERT INTO cp_file VALUES ('6700', 'images/LessonTitle5.gif'); -INSERT INTO cp_file VALUES ('6701', 'images/Tree-and-DragonsGreen.jpg'); -INSERT INTO cp_file VALUES ('6702', 'images/Tree-and-Dragonsnot-Green.jpg'); -INSERT INTO cp_file VALUES ('6703', 'images/box.gif'); -INSERT INTO cp_file VALUES ('6704', 'images/colorbalancebox.gif'); -INSERT INTO cp_file VALUES ('6705', 'images/colorbalancemenu2.gif'); -INSERT INTO cp_file VALUES ('6706', 'images/headerside.gif'); -INSERT INTO cp_file VALUES ('6707', 'images/headertop.gif'); -INSERT INTO cp_file VALUES ('6708', 'images/pssidebar.gif'); -INSERT INTO cp_file VALUES ('6709', 'Lesson6.htm'); -INSERT INTO cp_file VALUES ('6710', 'images/EndOfLesson.gif'); -INSERT INTO cp_file VALUES ('6711', 'images/Jar-GateDark.jpg'); -INSERT INTO cp_file VALUES ('6712', 'images/Jar-GateLight.jpg'); -INSERT INTO cp_file VALUES ('6713', 'images/LessonTitle6.gif'); -INSERT INTO cp_file VALUES ('6714', 'images/box.gif'); -INSERT INTO cp_file VALUES ('6715', 'images/brightnesscontrastbox.gif'); -INSERT INTO cp_file VALUES ('6716', 'images/brightnesscontrastmenu.gif'); -INSERT INTO cp_file VALUES ('6717', 'images/headerside.gif'); -INSERT INTO cp_file VALUES ('6718', 'images/headertop.gif'); -INSERT INTO cp_file VALUES ('6719', 'images/pssidebar.gif'); -INSERT INTO cp_file VALUES ('6720', 'Lesson7.htm'); -INSERT INTO cp_file VALUES ('6721', 'images/Circular-GateDark.jpg'); -INSERT INTO cp_file VALUES ('6722', 'images/Circular-GateLight.jpg'); -INSERT INTO cp_file VALUES ('6723', 'images/EndOfLesson.gif'); -INSERT INTO cp_file VALUES ('6724', 'images/LessonTitle7.gif'); -INSERT INTO cp_file VALUES ('6725', 'images/box.gif'); -INSERT INTO cp_file VALUES ('6726', 'images/headerside.gif'); -INSERT INTO cp_file VALUES ('6727', 'images/headertop.gif'); -INSERT INTO cp_file VALUES ('6728', 'images/huesaturationbox.gif'); -INSERT INTO cp_file VALUES ('6729', 'images/huesaturationmenu.gif'); -INSERT INTO cp_file VALUES ('6730', 'images/pssidebar.gif'); -INSERT INTO cp_file VALUES ('6731', 'util/Photoshop_APIWrapper.js'); -INSERT INTO cp_file VALUES ('6732', 'util/Photoshop_SCOFunctions.js'); -INSERT INTO cp_file VALUES ('6734', 'Lesson8.htm'); -INSERT INTO cp_file VALUES ('6735', 'images/Addition.gif'); -INSERT INTO cp_file VALUES ('6736', 'images/EndOfLesson.gif'); -INSERT INTO cp_file VALUES ('6737', 'images/IntersectionIcon.gif'); -INSERT INTO cp_file VALUES ('6738', 'images/LessonTitle8.gif'); -INSERT INTO cp_file VALUES ('6739', 'images/MagicWandBar.gif'); -INSERT INTO cp_file VALUES ('6740', 'images/MagicWandIcon.gif'); -INSERT INTO cp_file VALUES ('6741', 'images/Selection.gif'); -INSERT INTO cp_file VALUES ('6742', 'images/SubtractionIcon.gif'); -INSERT INTO cp_file VALUES ('6743', 'images/addtosubtractfromselection.gif'); -INSERT INTO cp_file VALUES ('6744', 'images/dafbackground.jpg'); -INSERT INTO cp_file VALUES ('6745', 'images/dafmagicselect.jpg'); -INSERT INTO cp_file VALUES ('6746', 'images/headerside.gif'); -INSERT INTO cp_file VALUES ('6747', 'images/headertop.gif'); -INSERT INTO cp_file VALUES ('6748', 'images/lassotools.gif'); -INSERT INTO cp_file VALUES ('6749', 'images/marqueetools.gif'); -INSERT INTO cp_file VALUES ('6750', 'images/originaldaf.jpg'); -INSERT INTO cp_file VALUES ('6751', 'images/pssidebar.gif'); -INSERT INTO cp_file VALUES ('6752', 'images/selectiontools.gif'); -INSERT INTO cp_file VALUES ('6753', 'images/singledafselection.jpg'); -INSERT INTO cp_file VALUES ('6754', 'Lesson9.htm'); -INSERT INTO cp_file VALUES ('6755', 'images/EndOfLesson.gif'); -INSERT INTO cp_file VALUES ('6756', 'images/LessonTitle9.gif'); -INSERT INTO cp_file VALUES ('6757', 'images/TransformFlyout.gif'); -INSERT INTO cp_file VALUES ('6758', 'images/birdfeeder.jpg'); -INSERT INTO cp_file VALUES ('6759', 'images/birdfeederdistort.gif'); -INSERT INTO cp_file VALUES ('6760', 'images/birdfeederflip.gif'); -INSERT INTO cp_file VALUES ('6761', 'images/birdfeederperspective.gif'); -INSERT INTO cp_file VALUES ('6762', 'images/birdfeederrotated.jpg'); -INSERT INTO cp_file VALUES ('6763', 'images/birdfeederscaled.jpg'); -INSERT INTO cp_file VALUES ('6764', 'images/birdfeederskewed.gif'); -INSERT INTO cp_file VALUES ('6765', 'images/box-distort.gif'); -INSERT INTO cp_file VALUES ('6766', 'images/box-flip.gif'); -INSERT INTO cp_file VALUES ('6767', 'images/box-perspective.gif'); -INSERT INTO cp_file VALUES ('6768', 'images/box-rotate.gif'); -INSERT INTO cp_file VALUES ('6769', 'images/box-scale.gif'); -INSERT INTO cp_file VALUES ('6770', 'images/box-skew.gif'); -INSERT INTO cp_file VALUES ('6771', 'images/box.gif'); -INSERT INTO cp_file VALUES ('6772', 'images/headerside.gif'); -INSERT INTO cp_file VALUES ('6773', 'images/headertop.gif'); -INSERT INTO cp_file VALUES ('6774', 'images/pssidebar.gif'); -INSERT INTO cp_file VALUES ('6775', 'images/transformCheck.gif'); -INSERT INTO cp_file VALUES ('6776', 'images/transformX.gif'); -INSERT INTO cp_file VALUES ('6777', 'util/Photoshop_APIWrapper.js'); -INSERT INTO cp_file VALUES ('6778', 'util/Photoshop_SCOFunctions.js'); -INSERT INTO cp_file VALUES ('6780', 'Question1.htm'); -INSERT INTO cp_file VALUES ('6781', 'util/Photoshop_APIWrapper.js'); -INSERT INTO cp_file VALUES ('6782', 'util/Photoshop_SCOFunctions.js'); -INSERT INTO cp_file VALUES ('6784', 'Question2.htm'); -INSERT INTO cp_file VALUES ('6785', 'util/Photoshop_APIWrapper.js'); -INSERT INTO cp_file VALUES ('6786', 'util/Photoshop_SCOFunctions.js'); -INSERT INTO cp_file VALUES ('6788', 'Question3.htm'); -INSERT INTO cp_file VALUES ('6789', 'util/Photoshop_APIWrapper.js'); -INSERT INTO cp_file VALUES ('6790', 'util/Photoshop_SCOFunctions.js'); -INSERT INTO cp_file VALUES ('6792', 'Question4.htm'); -INSERT INTO cp_file VALUES ('6793', 'util/Photoshop_APIWrapper.js'); -INSERT INTO cp_file VALUES ('6794', 'util/Photoshop_SCOFunctions.js'); -INSERT INTO cp_file VALUES ('6796', 'Question5.htm'); -INSERT INTO cp_file VALUES ('6797', 'util/Photoshop_APIWrapper.js'); -INSERT INTO cp_file VALUES ('6798', 'util/Photoshop_SCOFunctions.js'); -INSERT INTO cp_file VALUES ('6800', 'Question6.htm'); -INSERT INTO cp_file VALUES ('6801', 'util/Photoshop_APIWrapper.js'); -INSERT INTO cp_file VALUES ('6802', 'util/Photoshop_SCOFunctions.js'); -INSERT INTO cp_file VALUES ('6804', 'Question7.htm'); -INSERT INTO cp_file VALUES ('6805', 'util/Photoshop_APIWrapper.js'); -INSERT INTO cp_file VALUES ('6806', 'util/Photoshop_SCOFunctions.js'); -INSERT INTO cp_file VALUES ('6808', 'Question8.htm'); -INSERT INTO cp_file VALUES ('6809', 'util/Photoshop_APIWrapper.js'); -INSERT INTO cp_file VALUES ('6810', 'util/Photoshop_SCOFunctions.js'); -INSERT INTO cp_file VALUES ('6812', 'Question9.htm'); -INSERT INTO cp_file VALUES ('6813', 'util/Photoshop_APIWrapper.js'); -INSERT INTO cp_file VALUES ('6814', 'util/Photoshop_SCOFunctions.js'); -INSERT INTO cp_file VALUES ('6846', 'SequenceCap.html'); -INSERT INTO cp_file VALUES ('6848', 'e78a86fa23ee48f7a94b940d215c2d61.scorm.html'); -INSERT INTO cp_file VALUES ('6849', 'e78a86fa23ee48f7a94b940d215c2d61.html'); -INSERT INTO cp_file VALUES ('6850', 'res/PageSound.js'); -INSERT INTO cp_file VALUES ('6851', 'res/SkinSound.js'); -INSERT INTO cp_file VALUES ('6852', 'res/skinStyles.css'); -INSERT INTO cp_file VALUES ('6853', 'res/ISAssessment-model.js'); -INSERT INTO cp_file VALUES ('6854', 'res/APIWrapper.js'); -INSERT INTO cp_file VALUES ('6856', '02d2c79bc48441859c3f00f5ec2540c5.scorm.html'); -INSERT INTO cp_file VALUES ('6857', '02d2c79bc48441859c3f00f5ec2540c5.html'); -INSERT INTO cp_file VALUES ('6858', 'res/PageSound.js'); -INSERT INTO cp_file VALUES ('6859', 'res/SkinSound.js'); -INSERT INTO cp_file VALUES ('6860', 'res/skinStyles.css'); -INSERT INTO cp_file VALUES ('6861', 'res/APIWrapper.js'); -INSERT INTO cp_file VALUES ('6863', 'f5390ebc083c438fb67aa56b67780cff.scorm.html'); -INSERT INTO cp_file VALUES ('6864', 'f5390ebc083c438fb67aa56b67780cff.html'); -INSERT INTO cp_file VALUES ('6865', '3352883595.jpg'); -INSERT INTO cp_file VALUES ('6866', 'res/PageSound.js'); -INSERT INTO cp_file VALUES ('6867', 'res/SkinSound.js'); -INSERT INTO cp_file VALUES ('6868', 'res/skinStyles.css'); -INSERT INTO cp_file VALUES ('6869', 'res/APIWrapper.js'); -INSERT INTO cp_file VALUES ('6871', 'c69a680963fd4ba9803d03b60fa363e8.scorm.html'); -INSERT INTO cp_file VALUES ('6872', 'c69a680963fd4ba9803d03b60fa363e8.html'); -INSERT INTO cp_file VALUES ('6873', 'res/PageSound.js'); -INSERT INTO cp_file VALUES ('6874', 'res/SkinSound.js'); -INSERT INTO cp_file VALUES ('6875', 'res/skinStyles.css'); -INSERT INTO cp_file VALUES ('6876', 'res/ISAssessment-model.js'); -INSERT INTO cp_file VALUES ('6877', 'res/APIWrapper.js'); -INSERT INTO cp_file VALUES ('6879', '1b175b9aa5b441f7ad4a06cb9e989a76.scorm.html'); -INSERT INTO cp_file VALUES ('6880', '1b175b9aa5b441f7ad4a06cb9e989a76.html'); -INSERT INTO cp_file VALUES ('6881', 'res/PageSound.js'); -INSERT INTO cp_file VALUES ('6882', 'res/SkinSound.js'); -INSERT INTO cp_file VALUES ('6883', 'res/skinStyles.css'); -INSERT INTO cp_file VALUES ('6884', 'res/APIWrapper.js'); -INSERT INTO cp_file VALUES ('6886', '776fec1461844972b0ee5615f86b479b.scorm.html'); -INSERT INTO cp_file VALUES ('6887', '776fec1461844972b0ee5615f86b479b.html'); -INSERT INTO cp_file VALUES ('6888', 'res/PageSound.js'); -INSERT INTO cp_file VALUES ('6889', 'res/SkinSound.js'); -INSERT INTO cp_file VALUES ('6890', 'res/skinStyles.css'); -INSERT INTO cp_file VALUES ('6891', 'res/APIWrapper.js'); -INSERT INTO cp_file VALUES ('6893', '5de0f6934391493f859f0323f21e6fb3.scorm.html'); -INSERT INTO cp_file VALUES ('6894', '5de0f6934391493f859f0323f21e6fb3.html'); -INSERT INTO cp_file VALUES ('6895', 'res/PageSound.js'); -INSERT INTO cp_file VALUES ('6896', 'res/SkinSound.js'); -INSERT INTO cp_file VALUES ('6897', 'res/skinStyles.css'); -INSERT INTO cp_file VALUES ('6898', 'res/APIWrapper.js'); -INSERT INTO cp_file VALUES ('6947', 'SequenceCap.html'); -INSERT INTO cp_file VALUES ('6949', 'e78a86fa23ee48f7a94b940d215c2d61.scorm.html'); -INSERT INTO cp_file VALUES ('6950', 'e78a86fa23ee48f7a94b940d215c2d61.html'); -INSERT INTO cp_file VALUES ('6951', 'res/PageSound.js'); -INSERT INTO cp_file VALUES ('6952', 'res/SkinSound.js'); -INSERT INTO cp_file VALUES ('6953', 'res/skinStyles.css'); -INSERT INTO cp_file VALUES ('6954', 'res/ISAssessment-model.js'); -INSERT INTO cp_file VALUES ('6955', 'res/APIWrapper.js'); -INSERT INTO cp_file VALUES ('6957', '02d2c79bc48441859c3f00f5ec2540c5.scorm.html'); -INSERT INTO cp_file VALUES ('6958', '02d2c79bc48441859c3f00f5ec2540c5.html'); -INSERT INTO cp_file VALUES ('6959', 'res/PageSound.js'); -INSERT INTO cp_file VALUES ('6960', 'res/SkinSound.js'); -INSERT INTO cp_file VALUES ('6961', 'res/skinStyles.css'); -INSERT INTO cp_file VALUES ('6962', 'res/APIWrapper.js'); -INSERT INTO cp_file VALUES ('6964', 'f5390ebc083c438fb67aa56b67780cff.scorm.html'); -INSERT INTO cp_file VALUES ('6965', 'f5390ebc083c438fb67aa56b67780cff.html'); -INSERT INTO cp_file VALUES ('6966', '3352883595.jpg'); -INSERT INTO cp_file VALUES ('6967', 'res/PageSound.js'); -INSERT INTO cp_file VALUES ('6968', 'res/SkinSound.js'); -INSERT INTO cp_file VALUES ('6969', 'res/skinStyles.css'); -INSERT INTO cp_file VALUES ('6970', 'res/APIWrapper.js'); -INSERT INTO cp_file VALUES ('6972', 'c69a680963fd4ba9803d03b60fa363e8.scorm.html'); -INSERT INTO cp_file VALUES ('6973', 'c69a680963fd4ba9803d03b60fa363e8.html'); -INSERT INTO cp_file VALUES ('6974', 'res/PageSound.js'); -INSERT INTO cp_file VALUES ('6975', 'res/SkinSound.js'); -INSERT INTO cp_file VALUES ('6976', 'res/skinStyles.css'); -INSERT INTO cp_file VALUES ('6977', 'res/ISAssessment-model.js'); -INSERT INTO cp_file VALUES ('6978', 'res/APIWrapper.js'); -INSERT INTO cp_file VALUES ('6980', '1b175b9aa5b441f7ad4a06cb9e989a76.scorm.html'); -INSERT INTO cp_file VALUES ('6981', '1b175b9aa5b441f7ad4a06cb9e989a76.html'); -INSERT INTO cp_file VALUES ('6982', 'res/PageSound.js'); -INSERT INTO cp_file VALUES ('6983', 'res/SkinSound.js'); -INSERT INTO cp_file VALUES ('6984', 'res/skinStyles.css'); -INSERT INTO cp_file VALUES ('6985', 'res/APIWrapper.js'); -INSERT INTO cp_file VALUES ('6987', '776fec1461844972b0ee5615f86b479b.scorm.html'); -INSERT INTO cp_file VALUES ('6988', '776fec1461844972b0ee5615f86b479b.html'); -INSERT INTO cp_file VALUES ('6989', 'res/PageSound.js'); -INSERT INTO cp_file VALUES ('6990', 'res/SkinSound.js'); -INSERT INTO cp_file VALUES ('6991', 'res/skinStyles.css'); -INSERT INTO cp_file VALUES ('6992', 'res/APIWrapper.js'); -INSERT INTO cp_file VALUES ('6994', '5de0f6934391493f859f0323f21e6fb3.scorm.html'); -INSERT INTO cp_file VALUES ('6995', '5de0f6934391493f859f0323f21e6fb3.html'); -INSERT INTO cp_file VALUES ('6996', 'res/PageSound.js'); -INSERT INTO cp_file VALUES ('6997', 'res/SkinSound.js'); -INSERT INTO cp_file VALUES ('6998', 'res/skinStyles.css'); -INSERT INTO cp_file VALUES ('6999', 'res/APIWrapper.js'); -INSERT INTO cp_file VALUES ('7078', './scos/1/index.xml'); -INSERT INTO cp_file VALUES ('7079', './scos/1/p2sco.xsd'); -INSERT INTO cp_file VALUES ('7080', './scos/1/index.html'); -INSERT INTO cp_file VALUES ('7082', './scos/1/pictures/thumbnail-0.png'); -INSERT INTO cp_file VALUES ('7083', './scos/1/pictures/0.png'); -INSERT INTO cp_file VALUES ('7084', './scos/1/pictures/thumbnail-1.png'); -INSERT INTO cp_file VALUES ('7085', './scos/1/pictures/1.png'); -INSERT INTO cp_file VALUES ('7086', './scos/1/pictures/thumbnail-2.png'); -INSERT INTO cp_file VALUES ('7087', './scos/1/pictures/2.png'); -INSERT INTO cp_file VALUES ('7088', './scos/1/files/0.mpg'); -INSERT INTO cp_file VALUES ('7089', './scos/1/pictures/thumbnail-3.png'); -INSERT INTO cp_file VALUES ('7090', './scos/1/pictures/3.png'); -INSERT INTO cp_file VALUES ('7091', './scos/1/pictures/thumbnail-4.png'); -INSERT INTO cp_file VALUES ('7092', './scos/1/pictures/4.png'); -INSERT INTO cp_file VALUES ('7094', './scos/1/resources/images/n_instruction.png'); -INSERT INTO cp_file VALUES ('7096', './scos/1/custom.xsl'); -INSERT INTO cp_file VALUES ('7097', './scos/1/css/custom.css'); -INSERT INTO cp_file VALUES ('7098', './scos/1/js/custom.js'); -INSERT INTO cp_file VALUES ('7099', './scos/1/js/x/x.js'); -INSERT INTO cp_file VALUES ('7100', './scos/1/js/overlib_mini.js'); -INSERT INTO cp_file VALUES ('7101', './scos/1/js/overlib_cssstyle.js'); -INSERT INTO cp_file VALUES ('7102', './scos/1/js/x/x_drag.js'); -INSERT INTO cp_file VALUES ('7103', './scos/1/js/x/x_timer.js'); -INSERT INTO cp_file VALUES ('7104', './scos/1/js/lightbox/effects.js'); -INSERT INTO cp_file VALUES ('7105', './scos/1/js/lightbox/lightbox.js'); -INSERT INTO cp_file VALUES ('7106', './scos/1/js/lightbox/prototype.js'); -INSERT INTO cp_file VALUES ('7107', './scos/1/js/lightbox/scriptaculous.js'); -INSERT INTO cp_file VALUES ('7108', './scos/1/css/lightbox.css'); -INSERT INTO cp_file VALUES ('7109', './scos/1/icons/n_pdf.png'); -INSERT INTO cp_file VALUES ('7110', './scos/1/icons/n_pollOLD.png'); -INSERT INTO cp_file VALUES ('7111', './scos/1/icons/gdict.png'); -INSERT INTO cp_file VALUES ('7112', './scos/1/icons/html.png'); -INSERT INTO cp_file VALUES ('7113', './scos/1/icons/n_link.png'); -INSERT INTO cp_file VALUES ('7114', './scos/1/icons/n_linkOLD.png'); -INSERT INTO cp_file VALUES ('7115', './scos/1/icons/audio.png'); -INSERT INTO cp_file VALUES ('7116', './scos/1/icons/n_shortAnswer.png'); -INSERT INTO cp_file VALUES ('7117', './scos/1/icons/file.png'); -INSERT INTO cp_file VALUES ('7118', './scos/1/icons/likert.png'); -INSERT INTO cp_file VALUES ('7119', './scos/1/icons/n_attention.png'); -INSERT INTO cp_file VALUES ('7120', './scos/1/icons/word.png'); -INSERT INTO cp_file VALUES ('7121', './scos/1/icons/pixel.png'); -INSERT INTO cp_file VALUES ('7122', './scos/1/icons/hint.png'); -INSERT INTO cp_file VALUES ('7123', './scos/1/icons/n_poll.png'); -INSERT INTO cp_file VALUES ('7124', './scos/1/icons/n_audio.png'); -INSERT INTO cp_file VALUES ('7125', './scos/1/icons/n_instruction.png'); -INSERT INTO cp_file VALUES ('7126', './scos/1/icons/n_selected.png'); -INSERT INTO cp_file VALUES ('7127', './scos/1/icons/pdf.png'); -INSERT INTO cp_file VALUES ('7128', './scos/1/icons/n_anyFile.png'); -INSERT INTO cp_file VALUES ('7129', './scos/1/icons/n_bibliography.png'); -INSERT INTO cp_file VALUES ('7130', './scos/1/icons/pdfnew.png'); -INSERT INTO cp_file VALUES ('7131', './scos/1/icons/n_hint.png'); -INSERT INTO cp_file VALUES ('7132', './scos/1/icons/like.png'); -INSERT INTO cp_file VALUES ('7133', './scos/1/images/n_descriptionList.gif'); -INSERT INTO cp_file VALUES ('7134', './scos/1/images/nextlabel.gif'); -INSERT INTO cp_file VALUES ('7135', './scos/1/images/blank.gif'); -INSERT INTO cp_file VALUES ('7136', './scos/1/images/yes.png'); -INSERT INTO cp_file VALUES ('7137', './scos/1/images/n_TESTbullet2.gif'); -INSERT INTO cp_file VALUES ('7138', './scos/1/images/n_TESTbullet3.gif'); -INSERT INTO cp_file VALUES ('7139', './scos/1/images/n_TESTbullet4.gif'); -INSERT INTO cp_file VALUES ('7140', './scos/1/images/n_TESTbullet5.gif'); -INSERT INTO cp_file VALUES ('7141', './scos/1/images/n_blank.gif'); -INSERT INTO cp_file VALUES ('7142', './scos/1/images/n_arrowBlack.png'); -INSERT INTO cp_file VALUES ('7143', './scos/1/images/closelabel.gif'); -INSERT INTO cp_file VALUES ('7144', './scos/1/images/n_yes.gif'); -INSERT INTO cp_file VALUES ('7145', './scos/1/images/n_quote_L.gif'); -INSERT INTO cp_file VALUES ('7146', './scos/1/images/n_TESTbullet.gif'); -INSERT INTO cp_file VALUES ('7147', './scos/1/images/n_quote_R.gif'); -INSERT INTO cp_file VALUES ('7148', './scos/1/images/core.png'); -INSERT INTO cp_file VALUES ('7149', './scos/1/images/n_quote_L_yellow.gif'); -INSERT INTO cp_file VALUES ('7150', './scos/1/images/pixel.png'); -INSERT INTO cp_file VALUES ('7151', './scos/1/images/no.png'); -INSERT INTO cp_file VALUES ('7152', './scos/1/images/on.png'); -INSERT INTO cp_file VALUES ('7153', './scos/1/images/off.png'); -INSERT INTO cp_file VALUES ('7154', './scos/1/images/prev.gif'); -INSERT INTO cp_file VALUES ('7155', './scos/1/images/n_quote_R_yellow.gif'); -INSERT INTO cp_file VALUES ('7156', './scos/1/images/yesno.png'); -INSERT INTO cp_file VALUES ('7157', './scos/1/images/n_no.gif'); -INSERT INTO cp_file VALUES ('7158', './scos/1/images/n_selected.png'); -INSERT INTO cp_file VALUES ('7159', './scos/1/images/next.gif'); -INSERT INTO cp_file VALUES ('7160', './scos/1/images/close.gif'); -INSERT INTO cp_file VALUES ('7161', './scos/1/images/loading.gif'); -INSERT INTO cp_file VALUES ('7162', './scos/1/images/like.png'); -INSERT INTO cp_file VALUES ('7163', './scos/1/images/prevlabel.gif'); -INSERT INTO cp_file VALUES ('7165', './scos/2/index.xml'); -INSERT INTO cp_file VALUES ('7166', './scos/2/p2sco.xsd'); -INSERT INTO cp_file VALUES ('7167', './scos/2/index.html'); -INSERT INTO cp_file VALUES ('7169', './scos/2/pictures/thumbnail-0.png'); -INSERT INTO cp_file VALUES ('7170', './scos/2/pictures/0.png'); -INSERT INTO cp_file VALUES ('7171', './scos/2/pictures/thumbnail-1.png'); -INSERT INTO cp_file VALUES ('7172', './scos/2/pictures/1.png'); -INSERT INTO cp_file VALUES ('7173', './scos/2/documents/0.pdf'); -INSERT INTO cp_file VALUES ('7174', './scos/2/documents/1.pdf'); -INSERT INTO cp_file VALUES ('7176', './scos/2/resources/images/n_instruction.png'); -INSERT INTO cp_file VALUES ('7178', './scos/2/custom.xsl'); -INSERT INTO cp_file VALUES ('7179', './scos/2/css/custom.css'); -INSERT INTO cp_file VALUES ('7180', './scos/2/js/custom.js'); -INSERT INTO cp_file VALUES ('7181', './scos/2/js/x/x.js'); -INSERT INTO cp_file VALUES ('7182', './scos/2/js/overlib_mini.js'); -INSERT INTO cp_file VALUES ('7183', './scos/2/js/overlib_cssstyle.js'); -INSERT INTO cp_file VALUES ('7184', './scos/2/js/x/x_drag.js'); -INSERT INTO cp_file VALUES ('7185', './scos/2/js/x/x_timer.js'); -INSERT INTO cp_file VALUES ('7186', './scos/2/js/lightbox/effects.js'); -INSERT INTO cp_file VALUES ('7187', './scos/2/js/lightbox/lightbox.js'); -INSERT INTO cp_file VALUES ('7188', './scos/2/js/lightbox/prototype.js'); -INSERT INTO cp_file VALUES ('7189', './scos/2/js/lightbox/scriptaculous.js'); -INSERT INTO cp_file VALUES ('7190', './scos/2/css/lightbox.css'); -INSERT INTO cp_file VALUES ('7191', './scos/2/icons/n_pdf.png'); -INSERT INTO cp_file VALUES ('7192', './scos/2/icons/n_pollOLD.png'); -INSERT INTO cp_file VALUES ('7193', './scos/2/icons/gdict.png'); -INSERT INTO cp_file VALUES ('7194', './scos/2/icons/html.png'); -INSERT INTO cp_file VALUES ('7195', './scos/2/icons/n_link.png'); -INSERT INTO cp_file VALUES ('7196', './scos/2/icons/n_linkOLD.png'); -INSERT INTO cp_file VALUES ('7197', './scos/2/icons/audio.png'); -INSERT INTO cp_file VALUES ('7198', './scos/2/icons/n_shortAnswer.png'); -INSERT INTO cp_file VALUES ('7199', './scos/2/icons/file.png'); -INSERT INTO cp_file VALUES ('7200', './scos/2/icons/likert.png'); -INSERT INTO cp_file VALUES ('7201', './scos/2/icons/n_attention.png'); -INSERT INTO cp_file VALUES ('7202', './scos/2/icons/word.png'); -INSERT INTO cp_file VALUES ('7203', './scos/2/icons/pixel.png'); -INSERT INTO cp_file VALUES ('7204', './scos/2/icons/hint.png'); -INSERT INTO cp_file VALUES ('7205', './scos/2/icons/n_poll.png'); -INSERT INTO cp_file VALUES ('7206', './scos/2/icons/n_audio.png'); -INSERT INTO cp_file VALUES ('7207', './scos/2/icons/n_instruction.png'); -INSERT INTO cp_file VALUES ('7208', './scos/2/icons/n_selected.png'); -INSERT INTO cp_file VALUES ('7209', './scos/2/icons/pdf.png'); -INSERT INTO cp_file VALUES ('7210', './scos/2/icons/n_anyFile.png'); -INSERT INTO cp_file VALUES ('7211', './scos/2/icons/n_bibliography.png'); -INSERT INTO cp_file VALUES ('7212', './scos/2/icons/pdfnew.png'); -INSERT INTO cp_file VALUES ('7213', './scos/2/icons/n_hint.png'); -INSERT INTO cp_file VALUES ('7214', './scos/2/icons/like.png'); -INSERT INTO cp_file VALUES ('7215', './scos/2/images/n_descriptionList.gif'); -INSERT INTO cp_file VALUES ('7216', './scos/2/images/nextlabel.gif'); -INSERT INTO cp_file VALUES ('7217', './scos/2/images/blank.gif'); -INSERT INTO cp_file VALUES ('7218', './scos/2/images/yes.png'); -INSERT INTO cp_file VALUES ('7219', './scos/2/images/n_TESTbullet2.gif'); -INSERT INTO cp_file VALUES ('7220', './scos/2/images/n_TESTbullet3.gif'); -INSERT INTO cp_file VALUES ('7221', './scos/2/images/n_TESTbullet4.gif'); -INSERT INTO cp_file VALUES ('7222', './scos/2/images/n_TESTbullet5.gif'); -INSERT INTO cp_file VALUES ('7223', './scos/2/images/n_blank.gif'); -INSERT INTO cp_file VALUES ('7224', './scos/2/images/n_arrowBlack.png'); -INSERT INTO cp_file VALUES ('7225', './scos/2/images/closelabel.gif'); -INSERT INTO cp_file VALUES ('7226', './scos/2/images/n_yes.gif'); -INSERT INTO cp_file VALUES ('7227', './scos/2/images/n_quote_L.gif'); -INSERT INTO cp_file VALUES ('7228', './scos/2/images/n_TESTbullet.gif'); -INSERT INTO cp_file VALUES ('7229', './scos/2/images/n_quote_R.gif'); -INSERT INTO cp_file VALUES ('7230', './scos/2/images/core.png'); -INSERT INTO cp_file VALUES ('7231', './scos/2/images/n_quote_L_yellow.gif'); -INSERT INTO cp_file VALUES ('7232', './scos/2/images/pixel.png'); -INSERT INTO cp_file VALUES ('7233', './scos/2/images/no.png'); -INSERT INTO cp_file VALUES ('7234', './scos/2/images/on.png'); -INSERT INTO cp_file VALUES ('7235', './scos/2/images/off.png'); -INSERT INTO cp_file VALUES ('7236', './scos/2/images/prev.gif'); -INSERT INTO cp_file VALUES ('7237', './scos/2/images/n_quote_R_yellow.gif'); -INSERT INTO cp_file VALUES ('7238', './scos/2/images/yesno.png'); -INSERT INTO cp_file VALUES ('7239', './scos/2/images/n_no.gif'); -INSERT INTO cp_file VALUES ('7240', './scos/2/images/n_selected.png'); -INSERT INTO cp_file VALUES ('7241', './scos/2/images/next.gif'); -INSERT INTO cp_file VALUES ('7242', './scos/2/images/close.gif'); -INSERT INTO cp_file VALUES ('7243', './scos/2/images/loading.gif'); -INSERT INTO cp_file VALUES ('7244', './scos/2/images/like.png'); -INSERT INTO cp_file VALUES ('7245', './scos/2/images/prevlabel.gif'); -INSERT INTO cp_file VALUES ('7247', './scos/3/index.xml'); -INSERT INTO cp_file VALUES ('7248', './scos/3/p2sco.xsd'); -INSERT INTO cp_file VALUES ('7249', './scos/3/index.html'); -INSERT INTO cp_file VALUES ('7251', './scos/3/pictures/thumbnail-0.png'); -INSERT INTO cp_file VALUES ('7252', './scos/3/pictures/0.png'); -INSERT INTO cp_file VALUES ('7253', './scos/3/pictures/thumbnail-1.png'); -INSERT INTO cp_file VALUES ('7254', './scos/3/pictures/1.png'); -INSERT INTO cp_file VALUES ('7255', './scos/3/pictures/thumbnail-2.png'); -INSERT INTO cp_file VALUES ('7256', './scos/3/pictures/2.png'); -INSERT INTO cp_file VALUES ('7258', './scos/3/resources/images/n_instruction.png'); -INSERT INTO cp_file VALUES ('7260', './scos/3/custom.xsl'); -INSERT INTO cp_file VALUES ('7261', './scos/3/css/custom.css'); -INSERT INTO cp_file VALUES ('7262', './scos/3/js/custom.js'); -INSERT INTO cp_file VALUES ('7263', './scos/3/js/x/x.js'); -INSERT INTO cp_file VALUES ('7264', './scos/3/js/overlib_mini.js'); -INSERT INTO cp_file VALUES ('7265', './scos/3/js/overlib_cssstyle.js'); -INSERT INTO cp_file VALUES ('7266', './scos/3/js/x/x_drag.js'); -INSERT INTO cp_file VALUES ('7267', './scos/3/js/x/x_timer.js'); -INSERT INTO cp_file VALUES ('7268', './scos/3/js/lightbox/effects.js'); -INSERT INTO cp_file VALUES ('7269', './scos/3/js/lightbox/lightbox.js'); -INSERT INTO cp_file VALUES ('7270', './scos/3/js/lightbox/prototype.js'); -INSERT INTO cp_file VALUES ('7271', './scos/3/js/lightbox/scriptaculous.js'); -INSERT INTO cp_file VALUES ('7272', './scos/3/css/lightbox.css'); -INSERT INTO cp_file VALUES ('7273', './scos/3/icons/n_pdf.png'); -INSERT INTO cp_file VALUES ('7274', './scos/3/icons/n_pollOLD.png'); -INSERT INTO cp_file VALUES ('7275', './scos/3/icons/gdict.png'); -INSERT INTO cp_file VALUES ('7276', './scos/3/icons/html.png'); -INSERT INTO cp_file VALUES ('7277', './scos/3/icons/n_link.png'); -INSERT INTO cp_file VALUES ('7278', './scos/3/icons/n_linkOLD.png'); -INSERT INTO cp_file VALUES ('7279', './scos/3/icons/audio.png'); -INSERT INTO cp_file VALUES ('7280', './scos/3/icons/n_shortAnswer.png'); -INSERT INTO cp_file VALUES ('7281', './scos/3/icons/file.png'); -INSERT INTO cp_file VALUES ('7282', './scos/3/icons/likert.png'); -INSERT INTO cp_file VALUES ('7283', './scos/3/icons/n_attention.png'); -INSERT INTO cp_file VALUES ('7284', './scos/3/icons/word.png'); -INSERT INTO cp_file VALUES ('7285', './scos/3/icons/pixel.png'); -INSERT INTO cp_file VALUES ('7286', './scos/3/icons/hint.png'); -INSERT INTO cp_file VALUES ('7287', './scos/3/icons/n_poll.png'); -INSERT INTO cp_file VALUES ('7288', './scos/3/icons/n_audio.png'); -INSERT INTO cp_file VALUES ('7289', './scos/3/icons/n_instruction.png'); -INSERT INTO cp_file VALUES ('7290', './scos/3/icons/n_selected.png'); -INSERT INTO cp_file VALUES ('7291', './scos/3/icons/pdf.png'); -INSERT INTO cp_file VALUES ('7292', './scos/3/icons/n_anyFile.png'); -INSERT INTO cp_file VALUES ('7293', './scos/3/icons/n_bibliography.png'); -INSERT INTO cp_file VALUES ('7294', './scos/3/icons/pdfnew.png'); -INSERT INTO cp_file VALUES ('7295', './scos/3/icons/n_hint.png'); -INSERT INTO cp_file VALUES ('7296', './scos/3/icons/like.png'); -INSERT INTO cp_file VALUES ('7297', './scos/3/images/n_descriptionList.gif'); -INSERT INTO cp_file VALUES ('7298', './scos/3/images/nextlabel.gif'); -INSERT INTO cp_file VALUES ('7299', './scos/3/images/blank.gif'); -INSERT INTO cp_file VALUES ('7300', './scos/3/images/yes.png'); -INSERT INTO cp_file VALUES ('7301', './scos/3/images/n_TESTbullet2.gif'); -INSERT INTO cp_file VALUES ('7302', './scos/3/images/n_TESTbullet3.gif'); -INSERT INTO cp_file VALUES ('7303', './scos/3/images/n_TESTbullet4.gif'); -INSERT INTO cp_file VALUES ('7304', './scos/3/images/n_TESTbullet5.gif'); -INSERT INTO cp_file VALUES ('7305', './scos/3/images/n_blank.gif'); -INSERT INTO cp_file VALUES ('7306', './scos/3/images/n_arrowBlack.png'); -INSERT INTO cp_file VALUES ('7307', './scos/3/images/closelabel.gif'); -INSERT INTO cp_file VALUES ('7308', './scos/3/images/n_yes.gif'); -INSERT INTO cp_file VALUES ('7309', './scos/3/images/n_quote_L.gif'); -INSERT INTO cp_file VALUES ('7310', './scos/3/images/n_TESTbullet.gif'); -INSERT INTO cp_file VALUES ('7311', './scos/3/images/n_quote_R.gif'); -INSERT INTO cp_file VALUES ('7312', './scos/3/images/core.png'); -INSERT INTO cp_file VALUES ('7313', './scos/3/images/n_quote_L_yellow.gif'); -INSERT INTO cp_file VALUES ('7314', './scos/3/images/pixel.png'); -INSERT INTO cp_file VALUES ('7315', './scos/3/images/no.png'); -INSERT INTO cp_file VALUES ('7316', './scos/3/images/on.png'); -INSERT INTO cp_file VALUES ('7317', './scos/3/images/off.png'); -INSERT INTO cp_file VALUES ('7318', './scos/3/images/prev.gif'); -INSERT INTO cp_file VALUES ('7319', './scos/3/images/n_quote_R_yellow.gif'); -INSERT INTO cp_file VALUES ('7320', './scos/3/images/yesno.png'); -INSERT INTO cp_file VALUES ('7321', './scos/3/images/n_no.gif'); -INSERT INTO cp_file VALUES ('7322', './scos/3/images/n_selected.png'); -INSERT INTO cp_file VALUES ('7323', './scos/3/images/next.gif'); -INSERT INTO cp_file VALUES ('7324', './scos/3/images/close.gif'); -INSERT INTO cp_file VALUES ('7325', './scos/3/images/loading.gif'); -INSERT INTO cp_file VALUES ('7326', './scos/3/images/like.png'); -INSERT INTO cp_file VALUES ('7327', './scos/3/images/prevlabel.gif'); -INSERT INTO cp_file VALUES ('7329', './scos/4/index.xml'); -INSERT INTO cp_file VALUES ('7330', './scos/4/p2sco.xsd'); -INSERT INTO cp_file VALUES ('7331', './scos/4/index.html'); -INSERT INTO cp_file VALUES ('7333', './scos/4/pictures/thumbnail-0.png'); -INSERT INTO cp_file VALUES ('7334', './scos/4/pictures/0.png'); -INSERT INTO cp_file VALUES ('7335', './scos/4/pictures/thumbnail-1.png'); -INSERT INTO cp_file VALUES ('7336', './scos/4/pictures/1.png'); -INSERT INTO cp_file VALUES ('7338', './scos/4/resources/images/n_instruction.png'); -INSERT INTO cp_file VALUES ('7340', './scos/4/custom.xsl'); -INSERT INTO cp_file VALUES ('7341', './scos/4/css/custom.css'); -INSERT INTO cp_file VALUES ('7342', './scos/4/js/custom.js'); -INSERT INTO cp_file VALUES ('7343', './scos/4/js/x/x.js'); -INSERT INTO cp_file VALUES ('7344', './scos/4/js/overlib_mini.js'); -INSERT INTO cp_file VALUES ('7345', './scos/4/js/overlib_cssstyle.js'); -INSERT INTO cp_file VALUES ('7346', './scos/4/js/x/x_drag.js'); -INSERT INTO cp_file VALUES ('7347', './scos/4/js/x/x_timer.js'); -INSERT INTO cp_file VALUES ('7348', './scos/4/js/lightbox/effects.js'); -INSERT INTO cp_file VALUES ('7349', './scos/4/js/lightbox/lightbox.js'); -INSERT INTO cp_file VALUES ('7350', './scos/4/js/lightbox/prototype.js'); -INSERT INTO cp_file VALUES ('7351', './scos/4/js/lightbox/scriptaculous.js'); -INSERT INTO cp_file VALUES ('7352', './scos/4/css/lightbox.css'); -INSERT INTO cp_file VALUES ('7353', './scos/4/icons/n_pdf.png'); -INSERT INTO cp_file VALUES ('7354', './scos/4/icons/n_pollOLD.png'); -INSERT INTO cp_file VALUES ('7355', './scos/4/icons/gdict.png'); -INSERT INTO cp_file VALUES ('7356', './scos/4/icons/html.png'); -INSERT INTO cp_file VALUES ('7357', './scos/4/icons/n_link.png'); -INSERT INTO cp_file VALUES ('7358', './scos/4/icons/n_linkOLD.png'); -INSERT INTO cp_file VALUES ('7359', './scos/4/icons/audio.png'); -INSERT INTO cp_file VALUES ('7360', './scos/4/icons/n_shortAnswer.png'); -INSERT INTO cp_file VALUES ('7361', './scos/4/icons/file.png'); -INSERT INTO cp_file VALUES ('7362', './scos/4/icons/likert.png'); -INSERT INTO cp_file VALUES ('7363', './scos/4/icons/n_attention.png'); -INSERT INTO cp_file VALUES ('7364', './scos/4/icons/word.png'); -INSERT INTO cp_file VALUES ('7365', './scos/4/icons/pixel.png'); -INSERT INTO cp_file VALUES ('7366', './scos/4/icons/hint.png'); -INSERT INTO cp_file VALUES ('7367', './scos/4/icons/n_poll.png'); -INSERT INTO cp_file VALUES ('7368', './scos/4/icons/n_audio.png'); -INSERT INTO cp_file VALUES ('7369', './scos/4/icons/n_instruction.png'); -INSERT INTO cp_file VALUES ('7370', './scos/4/icons/n_selected.png'); -INSERT INTO cp_file VALUES ('7371', './scos/4/icons/pdf.png'); -INSERT INTO cp_file VALUES ('7372', './scos/4/icons/n_anyFile.png'); -INSERT INTO cp_file VALUES ('7373', './scos/4/icons/n_bibliography.png'); -INSERT INTO cp_file VALUES ('7374', './scos/4/icons/pdfnew.png'); -INSERT INTO cp_file VALUES ('7375', './scos/4/icons/n_hint.png'); -INSERT INTO cp_file VALUES ('7376', './scos/4/icons/like.png'); -INSERT INTO cp_file VALUES ('7377', './scos/4/images/n_descriptionList.gif'); -INSERT INTO cp_file VALUES ('7378', './scos/4/images/nextlabel.gif'); -INSERT INTO cp_file VALUES ('7379', './scos/4/images/blank.gif'); -INSERT INTO cp_file VALUES ('7380', './scos/4/images/yes.png'); -INSERT INTO cp_file VALUES ('7381', './scos/4/images/n_TESTbullet2.gif'); -INSERT INTO cp_file VALUES ('7382', './scos/4/images/n_TESTbullet3.gif'); -INSERT INTO cp_file VALUES ('7383', './scos/4/images/n_TESTbullet4.gif'); -INSERT INTO cp_file VALUES ('7384', './scos/4/images/n_TESTbullet5.gif'); -INSERT INTO cp_file VALUES ('7385', './scos/4/images/n_blank.gif'); -INSERT INTO cp_file VALUES ('7386', './scos/4/images/n_arrowBlack.png'); -INSERT INTO cp_file VALUES ('7387', './scos/4/images/closelabel.gif'); -INSERT INTO cp_file VALUES ('7388', './scos/4/images/n_yes.gif'); -INSERT INTO cp_file VALUES ('7389', './scos/4/images/n_quote_L.gif'); -INSERT INTO cp_file VALUES ('7390', './scos/4/images/n_TESTbullet.gif'); -INSERT INTO cp_file VALUES ('7391', './scos/4/images/n_quote_R.gif'); -INSERT INTO cp_file VALUES ('7392', './scos/4/images/core.png'); -INSERT INTO cp_file VALUES ('7393', './scos/4/images/n_quote_L_yellow.gif'); -INSERT INTO cp_file VALUES ('7394', './scos/4/images/pixel.png'); -INSERT INTO cp_file VALUES ('7395', './scos/4/images/no.png'); -INSERT INTO cp_file VALUES ('7396', './scos/4/images/on.png'); -INSERT INTO cp_file VALUES ('7397', './scos/4/images/off.png'); -INSERT INTO cp_file VALUES ('7398', './scos/4/images/prev.gif'); -INSERT INTO cp_file VALUES ('7399', './scos/4/images/n_quote_R_yellow.gif'); -INSERT INTO cp_file VALUES ('7400', './scos/4/images/yesno.png'); -INSERT INTO cp_file VALUES ('7401', './scos/4/images/n_no.gif'); -INSERT INTO cp_file VALUES ('7402', './scos/4/images/n_selected.png'); -INSERT INTO cp_file VALUES ('7403', './scos/4/images/next.gif'); -INSERT INTO cp_file VALUES ('7404', './scos/4/images/close.gif'); -INSERT INTO cp_file VALUES ('7405', './scos/4/images/loading.gif'); -INSERT INTO cp_file VALUES ('7406', './scos/4/images/like.png'); -INSERT INTO cp_file VALUES ('7407', './scos/4/images/prevlabel.gif'); -INSERT INTO cp_file VALUES ('7409', './scos/5/index.xml'); -INSERT INTO cp_file VALUES ('7410', './scos/5/p2sco.xsd'); -INSERT INTO cp_file VALUES ('7411', './scos/5/index.html'); -INSERT INTO cp_file VALUES ('7413', './scos/5/pictures/thumbnail-0.png'); -INSERT INTO cp_file VALUES ('7414', './scos/5/pictures/0.png'); -INSERT INTO cp_file VALUES ('7415', './scos/5/pictures/thumbnail-1.png'); -INSERT INTO cp_file VALUES ('7416', './scos/5/pictures/1.png'); -INSERT INTO cp_file VALUES ('7417', './scos/5/documents/0.pdf'); -INSERT INTO cp_file VALUES ('7418', './scos/5/pictures/thumbnail-2.png'); -INSERT INTO cp_file VALUES ('7419', './scos/5/pictures/2.png'); -INSERT INTO cp_file VALUES ('7420', './scos/5/pictures/thumbnail-3.png'); -INSERT INTO cp_file VALUES ('7421', './scos/5/pictures/3.png'); -INSERT INTO cp_file VALUES ('7422', './scos/5/pictures/thumbnail-4.png'); -INSERT INTO cp_file VALUES ('7423', './scos/5/pictures/4.png'); -INSERT INTO cp_file VALUES ('7425', './scos/5/resources/images/n_instruction.png'); -INSERT INTO cp_file VALUES ('7427', './scos/5/custom.xsl'); -INSERT INTO cp_file VALUES ('7428', './scos/5/css/custom.css'); -INSERT INTO cp_file VALUES ('7429', './scos/5/js/custom.js'); -INSERT INTO cp_file VALUES ('7430', './scos/5/js/x/x.js'); -INSERT INTO cp_file VALUES ('7431', './scos/5/js/overlib_mini.js'); -INSERT INTO cp_file VALUES ('7432', './scos/5/js/overlib_cssstyle.js'); -INSERT INTO cp_file VALUES ('7433', './scos/5/js/x/x_drag.js'); -INSERT INTO cp_file VALUES ('7434', './scos/5/js/x/x_timer.js'); -INSERT INTO cp_file VALUES ('7435', './scos/5/js/lightbox/effects.js'); -INSERT INTO cp_file VALUES ('7436', './scos/5/js/lightbox/lightbox.js'); -INSERT INTO cp_file VALUES ('7437', './scos/5/js/lightbox/prototype.js'); -INSERT INTO cp_file VALUES ('7438', './scos/5/js/lightbox/scriptaculous.js'); -INSERT INTO cp_file VALUES ('7439', './scos/5/css/lightbox.css'); -INSERT INTO cp_file VALUES ('7440', './scos/5/icons/n_pdf.png'); -INSERT INTO cp_file VALUES ('7441', './scos/5/icons/n_pollOLD.png'); -INSERT INTO cp_file VALUES ('7442', './scos/5/icons/gdict.png'); -INSERT INTO cp_file VALUES ('7443', './scos/5/icons/html.png'); -INSERT INTO cp_file VALUES ('7444', './scos/5/icons/n_link.png'); -INSERT INTO cp_file VALUES ('7445', './scos/5/icons/n_linkOLD.png'); -INSERT INTO cp_file VALUES ('7446', './scos/5/icons/audio.png'); -INSERT INTO cp_file VALUES ('7447', './scos/5/icons/n_shortAnswer.png'); -INSERT INTO cp_file VALUES ('7448', './scos/5/icons/file.png'); -INSERT INTO cp_file VALUES ('7449', './scos/5/icons/likert.png'); -INSERT INTO cp_file VALUES ('7450', './scos/5/icons/n_attention.png'); -INSERT INTO cp_file VALUES ('7451', './scos/5/icons/word.png'); -INSERT INTO cp_file VALUES ('7452', './scos/5/icons/pixel.png'); -INSERT INTO cp_file VALUES ('7453', './scos/5/icons/hint.png'); -INSERT INTO cp_file VALUES ('7454', './scos/5/icons/n_poll.png'); -INSERT INTO cp_file VALUES ('7455', './scos/5/icons/n_audio.png'); -INSERT INTO cp_file VALUES ('7456', './scos/5/icons/n_instruction.png'); -INSERT INTO cp_file VALUES ('7457', './scos/5/icons/n_selected.png'); -INSERT INTO cp_file VALUES ('7458', './scos/5/icons/pdf.png'); -INSERT INTO cp_file VALUES ('7459', './scos/5/icons/n_anyFile.png'); -INSERT INTO cp_file VALUES ('7460', './scos/5/icons/n_bibliography.png'); -INSERT INTO cp_file VALUES ('7461', './scos/5/icons/pdfnew.png'); -INSERT INTO cp_file VALUES ('7462', './scos/5/icons/n_hint.png'); -INSERT INTO cp_file VALUES ('7463', './scos/5/icons/like.png'); -INSERT INTO cp_file VALUES ('7464', './scos/5/images/n_descriptionList.gif'); -INSERT INTO cp_file VALUES ('7465', './scos/5/images/nextlabel.gif'); -INSERT INTO cp_file VALUES ('7466', './scos/5/images/blank.gif'); -INSERT INTO cp_file VALUES ('7467', './scos/5/images/yes.png'); -INSERT INTO cp_file VALUES ('7468', './scos/5/images/n_TESTbullet2.gif'); -INSERT INTO cp_file VALUES ('7469', './scos/5/images/n_TESTbullet3.gif'); -INSERT INTO cp_file VALUES ('7470', './scos/5/images/n_TESTbullet4.gif'); -INSERT INTO cp_file VALUES ('7471', './scos/5/images/n_TESTbullet5.gif'); -INSERT INTO cp_file VALUES ('7472', './scos/5/images/n_blank.gif'); -INSERT INTO cp_file VALUES ('7473', './scos/5/images/n_arrowBlack.png'); -INSERT INTO cp_file VALUES ('7474', './scos/5/images/closelabel.gif'); -INSERT INTO cp_file VALUES ('7475', './scos/5/images/n_yes.gif'); -INSERT INTO cp_file VALUES ('7476', './scos/5/images/n_quote_L.gif'); -INSERT INTO cp_file VALUES ('7477', './scos/5/images/n_TESTbullet.gif'); -INSERT INTO cp_file VALUES ('7478', './scos/5/images/n_quote_R.gif'); -INSERT INTO cp_file VALUES ('7479', './scos/5/images/core.png'); -INSERT INTO cp_file VALUES ('7480', './scos/5/images/n_quote_L_yellow.gif'); -INSERT INTO cp_file VALUES ('7481', './scos/5/images/pixel.png'); -INSERT INTO cp_file VALUES ('7482', './scos/5/images/no.png'); -INSERT INTO cp_file VALUES ('7483', './scos/5/images/on.png'); -INSERT INTO cp_file VALUES ('7484', './scos/5/images/off.png'); -INSERT INTO cp_file VALUES ('7485', './scos/5/images/prev.gif'); -INSERT INTO cp_file VALUES ('7486', './scos/5/images/n_quote_R_yellow.gif'); -INSERT INTO cp_file VALUES ('7487', './scos/5/images/yesno.png'); -INSERT INTO cp_file VALUES ('7488', './scos/5/images/n_no.gif'); -INSERT INTO cp_file VALUES ('7489', './scos/5/images/n_selected.png'); -INSERT INTO cp_file VALUES ('7490', './scos/5/images/next.gif'); -INSERT INTO cp_file VALUES ('7491', './scos/5/images/close.gif'); -INSERT INTO cp_file VALUES ('7492', './scos/5/images/loading.gif'); -INSERT INTO cp_file VALUES ('7493', './scos/5/images/like.png'); -INSERT INTO cp_file VALUES ('7494', './scos/5/images/prevlabel.gif'); -INSERT INTO cp_file VALUES ('7496', './scos/6/index.xml'); -INSERT INTO cp_file VALUES ('7497', './scos/6/p2sco.xsd'); -INSERT INTO cp_file VALUES ('7498', './scos/6/index.html'); -INSERT INTO cp_file VALUES ('7500', './scos/6/pictures/thumbnail-0.png'); -INSERT INTO cp_file VALUES ('7501', './scos/6/pictures/0.png'); -INSERT INTO cp_file VALUES ('7502', './scos/6/pictures/thumbnail-1.png'); -INSERT INTO cp_file VALUES ('7503', './scos/6/pictures/1.png'); -INSERT INTO cp_file VALUES ('7504', './scos/6/pictures/thumbnail-2.png'); -INSERT INTO cp_file VALUES ('7505', './scos/6/pictures/2.png'); -INSERT INTO cp_file VALUES ('7506', './scos/6/pictures/thumbnail-3.png'); -INSERT INTO cp_file VALUES ('7507', './scos/6/pictures/3.png'); -INSERT INTO cp_file VALUES ('7509', './scos/6/resources/images/n_instruction.png'); -INSERT INTO cp_file VALUES ('7511', './scos/6/custom.xsl'); -INSERT INTO cp_file VALUES ('7512', './scos/6/css/custom.css'); -INSERT INTO cp_file VALUES ('7513', './scos/6/js/custom.js'); -INSERT INTO cp_file VALUES ('7514', './scos/6/js/x/x.js'); -INSERT INTO cp_file VALUES ('7515', './scos/6/js/overlib_mini.js'); -INSERT INTO cp_file VALUES ('7516', './scos/6/js/overlib_cssstyle.js'); -INSERT INTO cp_file VALUES ('7517', './scos/6/js/x/x_drag.js'); -INSERT INTO cp_file VALUES ('7518', './scos/6/js/x/x_timer.js'); -INSERT INTO cp_file VALUES ('7519', './scos/6/js/lightbox/effects.js'); -INSERT INTO cp_file VALUES ('7520', './scos/6/js/lightbox/lightbox.js'); -INSERT INTO cp_file VALUES ('7521', './scos/6/js/lightbox/prototype.js'); -INSERT INTO cp_file VALUES ('7522', './scos/6/js/lightbox/scriptaculous.js'); -INSERT INTO cp_file VALUES ('7523', './scos/6/css/lightbox.css'); -INSERT INTO cp_file VALUES ('7524', './scos/6/icons/n_pdf.png'); -INSERT INTO cp_file VALUES ('7525', './scos/6/icons/n_pollOLD.png'); -INSERT INTO cp_file VALUES ('7526', './scos/6/icons/gdict.png'); -INSERT INTO cp_file VALUES ('7527', './scos/6/icons/html.png'); -INSERT INTO cp_file VALUES ('7528', './scos/6/icons/n_link.png'); -INSERT INTO cp_file VALUES ('7529', './scos/6/icons/n_linkOLD.png'); -INSERT INTO cp_file VALUES ('7530', './scos/6/icons/audio.png'); -INSERT INTO cp_file VALUES ('7531', './scos/6/icons/n_shortAnswer.png'); -INSERT INTO cp_file VALUES ('7532', './scos/6/icons/file.png'); -INSERT INTO cp_file VALUES ('7533', './scos/6/icons/likert.png'); -INSERT INTO cp_file VALUES ('7534', './scos/6/icons/n_attention.png'); -INSERT INTO cp_file VALUES ('7535', './scos/6/icons/word.png'); -INSERT INTO cp_file VALUES ('7536', './scos/6/icons/pixel.png'); -INSERT INTO cp_file VALUES ('7537', './scos/6/icons/hint.png'); -INSERT INTO cp_file VALUES ('7538', './scos/6/icons/n_poll.png'); -INSERT INTO cp_file VALUES ('7539', './scos/6/icons/n_audio.png'); -INSERT INTO cp_file VALUES ('7540', './scos/6/icons/n_instruction.png'); -INSERT INTO cp_file VALUES ('7541', './scos/6/icons/n_selected.png'); -INSERT INTO cp_file VALUES ('7542', './scos/6/icons/pdf.png'); -INSERT INTO cp_file VALUES ('7543', './scos/6/icons/n_anyFile.png'); -INSERT INTO cp_file VALUES ('7544', './scos/6/icons/n_bibliography.png'); -INSERT INTO cp_file VALUES ('7545', './scos/6/icons/pdfnew.png'); -INSERT INTO cp_file VALUES ('7546', './scos/6/icons/n_hint.png'); -INSERT INTO cp_file VALUES ('7547', './scos/6/icons/like.png'); -INSERT INTO cp_file VALUES ('7548', './scos/6/images/n_descriptionList.gif'); -INSERT INTO cp_file VALUES ('7549', './scos/6/images/nextlabel.gif'); -INSERT INTO cp_file VALUES ('7550', './scos/6/images/blank.gif'); -INSERT INTO cp_file VALUES ('7551', './scos/6/images/yes.png'); -INSERT INTO cp_file VALUES ('7552', './scos/6/images/n_TESTbullet2.gif'); -INSERT INTO cp_file VALUES ('7553', './scos/6/images/n_TESTbullet3.gif'); -INSERT INTO cp_file VALUES ('7554', './scos/6/images/n_TESTbullet4.gif'); -INSERT INTO cp_file VALUES ('7555', './scos/6/images/n_TESTbullet5.gif'); -INSERT INTO cp_file VALUES ('7556', './scos/6/images/n_blank.gif'); -INSERT INTO cp_file VALUES ('7557', './scos/6/images/n_arrowBlack.png'); -INSERT INTO cp_file VALUES ('7558', './scos/6/images/closelabel.gif'); -INSERT INTO cp_file VALUES ('7559', './scos/6/images/n_yes.gif'); -INSERT INTO cp_file VALUES ('7560', './scos/6/images/n_quote_L.gif'); -INSERT INTO cp_file VALUES ('7561', './scos/6/images/n_TESTbullet.gif'); -INSERT INTO cp_file VALUES ('7562', './scos/6/images/n_quote_R.gif'); -INSERT INTO cp_file VALUES ('7563', './scos/6/images/core.png'); -INSERT INTO cp_file VALUES ('7564', './scos/6/images/n_quote_L_yellow.gif'); -INSERT INTO cp_file VALUES ('7565', './scos/6/images/pixel.png'); -INSERT INTO cp_file VALUES ('7566', './scos/6/images/no.png'); -INSERT INTO cp_file VALUES ('7567', './scos/6/images/on.png'); -INSERT INTO cp_file VALUES ('7568', './scos/6/images/off.png'); -INSERT INTO cp_file VALUES ('7569', './scos/6/images/prev.gif'); -INSERT INTO cp_file VALUES ('7570', './scos/6/images/n_quote_R_yellow.gif'); -INSERT INTO cp_file VALUES ('7571', './scos/6/images/yesno.png'); -INSERT INTO cp_file VALUES ('7572', './scos/6/images/n_no.gif'); -INSERT INTO cp_file VALUES ('7573', './scos/6/images/n_selected.png'); -INSERT INTO cp_file VALUES ('7574', './scos/6/images/next.gif'); -INSERT INTO cp_file VALUES ('7575', './scos/6/images/close.gif'); -INSERT INTO cp_file VALUES ('7576', './scos/6/images/loading.gif'); -INSERT INTO cp_file VALUES ('7577', './scos/6/images/like.png'); -INSERT INTO cp_file VALUES ('7578', './scos/6/images/prevlabel.gif'); -INSERT INTO cp_file VALUES ('7580', './scos/7/index.xml'); -INSERT INTO cp_file VALUES ('7581', './scos/7/p2sco.xsd'); -INSERT INTO cp_file VALUES ('7582', './scos/7/index.html'); -INSERT INTO cp_file VALUES ('7584', './scos/7/pictures/thumbnail-0.png'); -INSERT INTO cp_file VALUES ('7585', './scos/7/pictures/0.png'); -INSERT INTO cp_file VALUES ('7586', './scos/7/pictures/thumbnail-1.png'); -INSERT INTO cp_file VALUES ('7587', './scos/7/pictures/1.png'); -INSERT INTO cp_file VALUES ('7589', './scos/7/resources/images/n_instruction.png'); -INSERT INTO cp_file VALUES ('7591', './scos/7/custom.xsl'); -INSERT INTO cp_file VALUES ('7592', './scos/7/css/custom.css'); -INSERT INTO cp_file VALUES ('7593', './scos/7/js/custom.js'); -INSERT INTO cp_file VALUES ('7594', './scos/7/js/x/x.js'); -INSERT INTO cp_file VALUES ('7595', './scos/7/js/overlib_mini.js'); -INSERT INTO cp_file VALUES ('7596', './scos/7/js/overlib_cssstyle.js'); -INSERT INTO cp_file VALUES ('7597', './scos/7/js/x/x_drag.js'); -INSERT INTO cp_file VALUES ('7598', './scos/7/js/x/x_timer.js'); -INSERT INTO cp_file VALUES ('7599', './scos/7/js/lightbox/effects.js'); -INSERT INTO cp_file VALUES ('7600', './scos/7/js/lightbox/lightbox.js'); -INSERT INTO cp_file VALUES ('7601', './scos/7/js/lightbox/prototype.js'); -INSERT INTO cp_file VALUES ('7602', './scos/7/js/lightbox/scriptaculous.js'); -INSERT INTO cp_file VALUES ('7603', './scos/7/css/lightbox.css'); -INSERT INTO cp_file VALUES ('7604', './scos/7/icons/n_pdf.png'); -INSERT INTO cp_file VALUES ('7605', './scos/7/icons/n_pollOLD.png'); -INSERT INTO cp_file VALUES ('7606', './scos/7/icons/gdict.png'); -INSERT INTO cp_file VALUES ('7607', './scos/7/icons/html.png'); -INSERT INTO cp_file VALUES ('7608', './scos/7/icons/n_link.png'); -INSERT INTO cp_file VALUES ('7609', './scos/7/icons/n_linkOLD.png'); -INSERT INTO cp_file VALUES ('7610', './scos/7/icons/audio.png'); -INSERT INTO cp_file VALUES ('7611', './scos/7/icons/n_shortAnswer.png'); -INSERT INTO cp_file VALUES ('7612', './scos/7/icons/file.png'); -INSERT INTO cp_file VALUES ('7613', './scos/7/icons/likert.png'); -INSERT INTO cp_file VALUES ('7614', './scos/7/icons/n_attention.png'); -INSERT INTO cp_file VALUES ('7615', './scos/7/icons/word.png'); -INSERT INTO cp_file VALUES ('7616', './scos/7/icons/pixel.png'); -INSERT INTO cp_file VALUES ('7617', './scos/7/icons/hint.png'); -INSERT INTO cp_file VALUES ('7618', './scos/7/icons/n_poll.png'); -INSERT INTO cp_file VALUES ('7619', './scos/7/icons/n_audio.png'); -INSERT INTO cp_file VALUES ('7620', './scos/7/icons/n_instruction.png'); -INSERT INTO cp_file VALUES ('7621', './scos/7/icons/n_selected.png'); -INSERT INTO cp_file VALUES ('7622', './scos/7/icons/pdf.png'); -INSERT INTO cp_file VALUES ('7623', './scos/7/icons/n_anyFile.png'); -INSERT INTO cp_file VALUES ('7624', './scos/7/icons/n_bibliography.png'); -INSERT INTO cp_file VALUES ('7625', './scos/7/icons/pdfnew.png'); -INSERT INTO cp_file VALUES ('7626', './scos/7/icons/n_hint.png'); -INSERT INTO cp_file VALUES ('7627', './scos/7/icons/like.png'); -INSERT INTO cp_file VALUES ('7628', './scos/7/images/n_descriptionList.gif'); -INSERT INTO cp_file VALUES ('7629', './scos/7/images/nextlabel.gif'); -INSERT INTO cp_file VALUES ('7630', './scos/7/images/blank.gif'); -INSERT INTO cp_file VALUES ('7631', './scos/7/images/yes.png'); -INSERT INTO cp_file VALUES ('7632', './scos/7/images/n_TESTbullet2.gif'); -INSERT INTO cp_file VALUES ('7633', './scos/7/images/n_TESTbullet3.gif'); -INSERT INTO cp_file VALUES ('7634', './scos/7/images/n_TESTbullet4.gif'); -INSERT INTO cp_file VALUES ('7635', './scos/7/images/n_TESTbullet5.gif'); -INSERT INTO cp_file VALUES ('7636', './scos/7/images/n_blank.gif'); -INSERT INTO cp_file VALUES ('7637', './scos/7/images/n_arrowBlack.png'); -INSERT INTO cp_file VALUES ('7638', './scos/7/images/closelabel.gif'); -INSERT INTO cp_file VALUES ('7639', './scos/7/images/n_yes.gif'); -INSERT INTO cp_file VALUES ('7640', './scos/7/images/n_quote_L.gif'); -INSERT INTO cp_file VALUES ('7641', './scos/7/images/n_TESTbullet.gif'); -INSERT INTO cp_file VALUES ('7642', './scos/7/images/n_quote_R.gif'); -INSERT INTO cp_file VALUES ('7643', './scos/7/images/core.png'); -INSERT INTO cp_file VALUES ('7644', './scos/7/images/n_quote_L_yellow.gif'); -INSERT INTO cp_file VALUES ('7645', './scos/7/images/pixel.png'); -INSERT INTO cp_file VALUES ('7646', './scos/7/images/no.png'); -INSERT INTO cp_file VALUES ('7647', './scos/7/images/on.png'); -INSERT INTO cp_file VALUES ('7648', './scos/7/images/off.png'); -INSERT INTO cp_file VALUES ('7649', './scos/7/images/prev.gif'); -INSERT INTO cp_file VALUES ('7650', './scos/7/images/n_quote_R_yellow.gif'); -INSERT INTO cp_file VALUES ('7651', './scos/7/images/yesno.png'); -INSERT INTO cp_file VALUES ('7652', './scos/7/images/n_no.gif'); -INSERT INTO cp_file VALUES ('7653', './scos/7/images/n_selected.png'); -INSERT INTO cp_file VALUES ('7654', './scos/7/images/next.gif'); -INSERT INTO cp_file VALUES ('7655', './scos/7/images/close.gif'); -INSERT INTO cp_file VALUES ('7656', './scos/7/images/loading.gif'); -INSERT INTO cp_file VALUES ('7657', './scos/7/images/like.png'); -INSERT INTO cp_file VALUES ('7658', './scos/7/images/prevlabel.gif'); -INSERT INTO cp_file VALUES ('7660', 'adlcp_v1p3.xsd'); -INSERT INTO cp_file VALUES ('7661', 'adlseq_v1p3.xsd'); -INSERT INTO cp_file VALUES ('7662', 'imsss_v1p0.xsd'); -INSERT INTO cp_file VALUES ('7663', 'adlnav_v1p3.xsd'); -INSERT INTO cp_file VALUES ('7664', 'imscp_v1p1.xsd'); -INSERT INTO cp_file VALUES ('7665', 'imsmanifest.xml'); -INSERT INTO cp_file VALUES ('7666', 'imsss_v1p0auxresource.xsd'); -INSERT INTO cp_file VALUES ('7667', 'imsss_v1p0control.xsd'); -INSERT INTO cp_file VALUES ('7668', 'imsss_v1p0delivery.xsd'); -INSERT INTO cp_file VALUES ('7669', 'imsss_v1p0limit.xsd'); -INSERT INTO cp_file VALUES ('7670', 'imsss_v1p0objective.xsd'); -INSERT INTO cp_file VALUES ('7671', 'imsss_v1p0random.xsd'); -INSERT INTO cp_file VALUES ('7672', 'imsss_v1p0rollup.xsd'); -INSERT INTO cp_file VALUES ('7673', 'imsss_v1p0seqrule.xsd'); -INSERT INTO cp_file VALUES ('7674', 'imsss_v1p0util.xsd'); -INSERT INTO cp_file VALUES ('7675', 'xml.xsd'); -INSERT INTO cp_file VALUES ('7676', 'index.html'); -INSERT INTO cp_file VALUES ('7738', './scos/1/index.xml'); -INSERT INTO cp_file VALUES ('7739', './scos/1/p2sco.xsd'); -INSERT INTO cp_file VALUES ('7740', './scos/1/index.html'); -INSERT INTO cp_file VALUES ('7742', './scos/1/pictures/thumbnail-0.png'); -INSERT INTO cp_file VALUES ('7743', './scos/1/pictures/0.png'); -INSERT INTO cp_file VALUES ('7744', './scos/1/pictures/thumbnail-1.png'); -INSERT INTO cp_file VALUES ('7745', './scos/1/pictures/1.png'); -INSERT INTO cp_file VALUES ('7746', './scos/1/pictures/thumbnail-2.png'); -INSERT INTO cp_file VALUES ('7747', './scos/1/pictures/2.png'); -INSERT INTO cp_file VALUES ('7748', './scos/1/files/0.mpg'); -INSERT INTO cp_file VALUES ('7749', './scos/1/pictures/thumbnail-3.png'); -INSERT INTO cp_file VALUES ('7750', './scos/1/pictures/3.png'); -INSERT INTO cp_file VALUES ('7751', './scos/1/pictures/thumbnail-4.png'); -INSERT INTO cp_file VALUES ('7752', './scos/1/pictures/4.png'); -INSERT INTO cp_file VALUES ('7754', './scos/1/resources/images/n_instruction.png'); -INSERT INTO cp_file VALUES ('7756', './scos/1/custom.xsl'); -INSERT INTO cp_file VALUES ('7757', './scos/1/css/custom.css'); -INSERT INTO cp_file VALUES ('7758', './scos/1/js/custom.js'); -INSERT INTO cp_file VALUES ('7759', './scos/1/js/x/x.js'); -INSERT INTO cp_file VALUES ('7760', './scos/1/js/overlib_mini.js'); -INSERT INTO cp_file VALUES ('7761', './scos/1/js/overlib_cssstyle.js'); -INSERT INTO cp_file VALUES ('7762', './scos/1/js/x/x_drag.js'); -INSERT INTO cp_file VALUES ('7763', './scos/1/js/x/x_timer.js'); -INSERT INTO cp_file VALUES ('7764', './scos/1/js/lightbox/effects.js'); -INSERT INTO cp_file VALUES ('7765', './scos/1/js/lightbox/lightbox.js'); -INSERT INTO cp_file VALUES ('7766', './scos/1/js/lightbox/prototype.js'); -INSERT INTO cp_file VALUES ('7767', './scos/1/js/lightbox/scriptaculous.js'); -INSERT INTO cp_file VALUES ('7768', './scos/1/css/lightbox.css'); -INSERT INTO cp_file VALUES ('7769', './scos/1/icons/n_pdf.png'); -INSERT INTO cp_file VALUES ('7770', './scos/1/icons/n_pollOLD.png'); -INSERT INTO cp_file VALUES ('7771', './scos/1/icons/gdict.png'); -INSERT INTO cp_file VALUES ('7772', './scos/1/icons/html.png'); -INSERT INTO cp_file VALUES ('7773', './scos/1/icons/n_link.png'); -INSERT INTO cp_file VALUES ('7774', './scos/1/icons/n_linkOLD.png'); -INSERT INTO cp_file VALUES ('7775', './scos/1/icons/audio.png'); -INSERT INTO cp_file VALUES ('7776', './scos/1/icons/n_shortAnswer.png'); -INSERT INTO cp_file VALUES ('7777', './scos/1/icons/file.png'); -INSERT INTO cp_file VALUES ('7778', './scos/1/icons/likert.png'); -INSERT INTO cp_file VALUES ('7779', './scos/1/icons/n_attention.png'); -INSERT INTO cp_file VALUES ('7780', './scos/1/icons/word.png'); -INSERT INTO cp_file VALUES ('7781', './scos/1/icons/pixel.png'); -INSERT INTO cp_file VALUES ('7782', './scos/1/icons/hint.png'); -INSERT INTO cp_file VALUES ('7783', './scos/1/icons/n_poll.png'); -INSERT INTO cp_file VALUES ('7784', './scos/1/icons/n_audio.png'); -INSERT INTO cp_file VALUES ('7785', './scos/1/icons/n_instruction.png'); -INSERT INTO cp_file VALUES ('7786', './scos/1/icons/n_selected.png'); -INSERT INTO cp_file VALUES ('7787', './scos/1/icons/pdf.png'); -INSERT INTO cp_file VALUES ('7788', './scos/1/icons/n_anyFile.png'); -INSERT INTO cp_file VALUES ('7789', './scos/1/icons/n_bibliography.png'); -INSERT INTO cp_file VALUES ('7790', './scos/1/icons/pdfnew.png'); -INSERT INTO cp_file VALUES ('7791', './scos/1/icons/n_hint.png'); -INSERT INTO cp_file VALUES ('7792', './scos/1/icons/like.png'); -INSERT INTO cp_file VALUES ('7793', './scos/1/images/n_descriptionList.gif'); -INSERT INTO cp_file VALUES ('7794', './scos/1/images/nextlabel.gif'); -INSERT INTO cp_file VALUES ('7795', './scos/1/images/blank.gif'); -INSERT INTO cp_file VALUES ('7796', './scos/1/images/yes.png'); -INSERT INTO cp_file VALUES ('7797', './scos/1/images/n_TESTbullet2.gif'); -INSERT INTO cp_file VALUES ('7798', './scos/1/images/n_TESTbullet3.gif'); -INSERT INTO cp_file VALUES ('7799', './scos/1/images/n_TESTbullet4.gif'); -INSERT INTO cp_file VALUES ('7800', './scos/1/images/n_TESTbullet5.gif'); -INSERT INTO cp_file VALUES ('7801', './scos/1/images/n_blank.gif'); -INSERT INTO cp_file VALUES ('7802', './scos/1/images/n_arrowBlack.png'); -INSERT INTO cp_file VALUES ('7803', './scos/1/images/closelabel.gif'); -INSERT INTO cp_file VALUES ('7804', './scos/1/images/n_yes.gif'); -INSERT INTO cp_file VALUES ('7805', './scos/1/images/n_quote_L.gif'); -INSERT INTO cp_file VALUES ('7806', './scos/1/images/n_TESTbullet.gif'); -INSERT INTO cp_file VALUES ('7807', './scos/1/images/n_quote_R.gif'); -INSERT INTO cp_file VALUES ('7808', './scos/1/images/core.png'); -INSERT INTO cp_file VALUES ('7809', './scos/1/images/n_quote_L_yellow.gif'); -INSERT INTO cp_file VALUES ('7810', './scos/1/images/pixel.png'); -INSERT INTO cp_file VALUES ('7811', './scos/1/images/no.png'); -INSERT INTO cp_file VALUES ('7812', './scos/1/images/on.png'); -INSERT INTO cp_file VALUES ('7813', './scos/1/images/off.png'); -INSERT INTO cp_file VALUES ('7814', './scos/1/images/prev.gif'); -INSERT INTO cp_file VALUES ('7815', './scos/1/images/n_quote_R_yellow.gif'); -INSERT INTO cp_file VALUES ('7816', './scos/1/images/yesno.png'); -INSERT INTO cp_file VALUES ('7817', './scos/1/images/n_no.gif'); -INSERT INTO cp_file VALUES ('7818', './scos/1/images/n_selected.png'); -INSERT INTO cp_file VALUES ('7819', './scos/1/images/next.gif'); -INSERT INTO cp_file VALUES ('7820', './scos/1/images/close.gif'); -INSERT INTO cp_file VALUES ('7821', './scos/1/images/loading.gif'); -INSERT INTO cp_file VALUES ('7822', './scos/1/images/like.png'); -INSERT INTO cp_file VALUES ('7823', './scos/1/images/prevlabel.gif'); -INSERT INTO cp_file VALUES ('7825', './scos/2/index.xml'); -INSERT INTO cp_file VALUES ('7826', './scos/2/p2sco.xsd'); -INSERT INTO cp_file VALUES ('7827', './scos/2/index.html'); -INSERT INTO cp_file VALUES ('7829', './scos/2/pictures/thumbnail-0.png'); -INSERT INTO cp_file VALUES ('7830', './scos/2/pictures/0.png'); -INSERT INTO cp_file VALUES ('7831', './scos/2/pictures/thumbnail-1.png'); -INSERT INTO cp_file VALUES ('7832', './scos/2/pictures/1.png'); -INSERT INTO cp_file VALUES ('7833', './scos/2/documents/0.pdf'); -INSERT INTO cp_file VALUES ('7834', './scos/2/documents/1.pdf'); -INSERT INTO cp_file VALUES ('7836', './scos/2/resources/images/n_instruction.png'); -INSERT INTO cp_file VALUES ('7838', './scos/2/custom.xsl'); -INSERT INTO cp_file VALUES ('7839', './scos/2/css/custom.css'); -INSERT INTO cp_file VALUES ('7840', './scos/2/js/custom.js'); -INSERT INTO cp_file VALUES ('7841', './scos/2/js/x/x.js'); -INSERT INTO cp_file VALUES ('7842', './scos/2/js/overlib_mini.js'); -INSERT INTO cp_file VALUES ('7843', './scos/2/js/overlib_cssstyle.js'); -INSERT INTO cp_file VALUES ('7844', './scos/2/js/x/x_drag.js'); -INSERT INTO cp_file VALUES ('7845', './scos/2/js/x/x_timer.js'); -INSERT INTO cp_file VALUES ('7846', './scos/2/js/lightbox/effects.js'); -INSERT INTO cp_file VALUES ('7847', './scos/2/js/lightbox/lightbox.js'); -INSERT INTO cp_file VALUES ('7848', './scos/2/js/lightbox/prototype.js'); -INSERT INTO cp_file VALUES ('7849', './scos/2/js/lightbox/scriptaculous.js'); -INSERT INTO cp_file VALUES ('7850', './scos/2/css/lightbox.css'); -INSERT INTO cp_file VALUES ('7851', './scos/2/icons/n_pdf.png'); -INSERT INTO cp_file VALUES ('7852', './scos/2/icons/n_pollOLD.png'); -INSERT INTO cp_file VALUES ('7853', './scos/2/icons/gdict.png'); -INSERT INTO cp_file VALUES ('7854', './scos/2/icons/html.png'); -INSERT INTO cp_file VALUES ('7855', './scos/2/icons/n_link.png'); -INSERT INTO cp_file VALUES ('7856', './scos/2/icons/n_linkOLD.png'); -INSERT INTO cp_file VALUES ('7857', './scos/2/icons/audio.png'); -INSERT INTO cp_file VALUES ('7858', './scos/2/icons/n_shortAnswer.png'); -INSERT INTO cp_file VALUES ('7859', './scos/2/icons/file.png'); -INSERT INTO cp_file VALUES ('7860', './scos/2/icons/likert.png'); -INSERT INTO cp_file VALUES ('7861', './scos/2/icons/n_attention.png'); -INSERT INTO cp_file VALUES ('7862', './scos/2/icons/word.png'); -INSERT INTO cp_file VALUES ('7863', './scos/2/icons/pixel.png'); -INSERT INTO cp_file VALUES ('7864', './scos/2/icons/hint.png'); -INSERT INTO cp_file VALUES ('7865', './scos/2/icons/n_poll.png'); -INSERT INTO cp_file VALUES ('7866', './scos/2/icons/n_audio.png'); -INSERT INTO cp_file VALUES ('7867', './scos/2/icons/n_instruction.png'); -INSERT INTO cp_file VALUES ('7868', './scos/2/icons/n_selected.png'); -INSERT INTO cp_file VALUES ('7869', './scos/2/icons/pdf.png'); -INSERT INTO cp_file VALUES ('7870', './scos/2/icons/n_anyFile.png'); -INSERT INTO cp_file VALUES ('7871', './scos/2/icons/n_bibliography.png'); -INSERT INTO cp_file VALUES ('7872', './scos/2/icons/pdfnew.png'); -INSERT INTO cp_file VALUES ('7873', './scos/2/icons/n_hint.png'); -INSERT INTO cp_file VALUES ('7874', './scos/2/icons/like.png'); -INSERT INTO cp_file VALUES ('7875', './scos/2/images/n_descriptionList.gif'); -INSERT INTO cp_file VALUES ('7876', './scos/2/images/nextlabel.gif'); -INSERT INTO cp_file VALUES ('7877', './scos/2/images/blank.gif'); -INSERT INTO cp_file VALUES ('7878', './scos/2/images/yes.png'); -INSERT INTO cp_file VALUES ('7879', './scos/2/images/n_TESTbullet2.gif'); -INSERT INTO cp_file VALUES ('7880', './scos/2/images/n_TESTbullet3.gif'); -INSERT INTO cp_file VALUES ('7881', './scos/2/images/n_TESTbullet4.gif'); -INSERT INTO cp_file VALUES ('7882', './scos/2/images/n_TESTbullet5.gif'); -INSERT INTO cp_file VALUES ('7883', './scos/2/images/n_blank.gif'); -INSERT INTO cp_file VALUES ('7884', './scos/2/images/n_arrowBlack.png'); -INSERT INTO cp_file VALUES ('7885', './scos/2/images/closelabel.gif'); -INSERT INTO cp_file VALUES ('7886', './scos/2/images/n_yes.gif'); -INSERT INTO cp_file VALUES ('7887', './scos/2/images/n_quote_L.gif'); -INSERT INTO cp_file VALUES ('7888', './scos/2/images/n_TESTbullet.gif'); -INSERT INTO cp_file VALUES ('7889', './scos/2/images/n_quote_R.gif'); -INSERT INTO cp_file VALUES ('7890', './scos/2/images/core.png'); -INSERT INTO cp_file VALUES ('7891', './scos/2/images/n_quote_L_yellow.gif'); -INSERT INTO cp_file VALUES ('7892', './scos/2/images/pixel.png'); -INSERT INTO cp_file VALUES ('7893', './scos/2/images/no.png'); -INSERT INTO cp_file VALUES ('7894', './scos/2/images/on.png'); -INSERT INTO cp_file VALUES ('7895', './scos/2/images/off.png'); -INSERT INTO cp_file VALUES ('7896', './scos/2/images/prev.gif'); -INSERT INTO cp_file VALUES ('7897', './scos/2/images/n_quote_R_yellow.gif'); -INSERT INTO cp_file VALUES ('7898', './scos/2/images/yesno.png'); -INSERT INTO cp_file VALUES ('7899', './scos/2/images/n_no.gif'); -INSERT INTO cp_file VALUES ('7900', './scos/2/images/n_selected.png'); -INSERT INTO cp_file VALUES ('7901', './scos/2/images/next.gif'); -INSERT INTO cp_file VALUES ('7902', './scos/2/images/close.gif'); -INSERT INTO cp_file VALUES ('7903', './scos/2/images/loading.gif'); -INSERT INTO cp_file VALUES ('7904', './scos/2/images/like.png'); -INSERT INTO cp_file VALUES ('7905', './scos/2/images/prevlabel.gif'); -INSERT INTO cp_file VALUES ('7907', './scos/3/index.xml'); -INSERT INTO cp_file VALUES ('7908', './scos/3/p2sco.xsd'); -INSERT INTO cp_file VALUES ('7909', './scos/3/index.html'); -INSERT INTO cp_file VALUES ('7911', './scos/3/pictures/thumbnail-0.png'); -INSERT INTO cp_file VALUES ('7912', './scos/3/pictures/0.png'); -INSERT INTO cp_file VALUES ('7913', './scos/3/pictures/thumbnail-1.png'); -INSERT INTO cp_file VALUES ('7914', './scos/3/pictures/1.png'); -INSERT INTO cp_file VALUES ('7915', './scos/3/pictures/thumbnail-2.png'); -INSERT INTO cp_file VALUES ('7916', './scos/3/pictures/2.png'); -INSERT INTO cp_file VALUES ('7918', './scos/3/resources/images/n_instruction.png'); -INSERT INTO cp_file VALUES ('7920', './scos/3/custom.xsl'); -INSERT INTO cp_file VALUES ('7921', './scos/3/css/custom.css'); -INSERT INTO cp_file VALUES ('7922', './scos/3/js/custom.js'); -INSERT INTO cp_file VALUES ('7923', './scos/3/js/x/x.js'); -INSERT INTO cp_file VALUES ('7924', './scos/3/js/overlib_mini.js'); -INSERT INTO cp_file VALUES ('7925', './scos/3/js/overlib_cssstyle.js'); -INSERT INTO cp_file VALUES ('7926', './scos/3/js/x/x_drag.js'); -INSERT INTO cp_file VALUES ('7927', './scos/3/js/x/x_timer.js'); -INSERT INTO cp_file VALUES ('7928', './scos/3/js/lightbox/effects.js'); -INSERT INTO cp_file VALUES ('7929', './scos/3/js/lightbox/lightbox.js'); -INSERT INTO cp_file VALUES ('7930', './scos/3/js/lightbox/prototype.js'); -INSERT INTO cp_file VALUES ('7931', './scos/3/js/lightbox/scriptaculous.js'); -INSERT INTO cp_file VALUES ('7932', './scos/3/css/lightbox.css'); -INSERT INTO cp_file VALUES ('7933', './scos/3/icons/n_pdf.png'); -INSERT INTO cp_file VALUES ('7934', './scos/3/icons/n_pollOLD.png'); -INSERT INTO cp_file VALUES ('7935', './scos/3/icons/gdict.png'); -INSERT INTO cp_file VALUES ('7936', './scos/3/icons/html.png'); -INSERT INTO cp_file VALUES ('7937', './scos/3/icons/n_link.png'); -INSERT INTO cp_file VALUES ('7938', './scos/3/icons/n_linkOLD.png'); -INSERT INTO cp_file VALUES ('7939', './scos/3/icons/audio.png'); -INSERT INTO cp_file VALUES ('7940', './scos/3/icons/n_shortAnswer.png'); -INSERT INTO cp_file VALUES ('7941', './scos/3/icons/file.png'); -INSERT INTO cp_file VALUES ('7942', './scos/3/icons/likert.png'); -INSERT INTO cp_file VALUES ('7943', './scos/3/icons/n_attention.png'); -INSERT INTO cp_file VALUES ('7944', './scos/3/icons/word.png'); -INSERT INTO cp_file VALUES ('7945', './scos/3/icons/pixel.png'); -INSERT INTO cp_file VALUES ('7946', './scos/3/icons/hint.png'); -INSERT INTO cp_file VALUES ('7947', './scos/3/icons/n_poll.png'); -INSERT INTO cp_file VALUES ('7948', './scos/3/icons/n_audio.png'); -INSERT INTO cp_file VALUES ('7949', './scos/3/icons/n_instruction.png'); -INSERT INTO cp_file VALUES ('7950', './scos/3/icons/n_selected.png'); -INSERT INTO cp_file VALUES ('7951', './scos/3/icons/pdf.png'); -INSERT INTO cp_file VALUES ('7952', './scos/3/icons/n_anyFile.png'); -INSERT INTO cp_file VALUES ('7953', './scos/3/icons/n_bibliography.png'); -INSERT INTO cp_file VALUES ('7954', './scos/3/icons/pdfnew.png'); -INSERT INTO cp_file VALUES ('7955', './scos/3/icons/n_hint.png'); -INSERT INTO cp_file VALUES ('7956', './scos/3/icons/like.png'); -INSERT INTO cp_file VALUES ('7957', './scos/3/images/n_descriptionList.gif'); -INSERT INTO cp_file VALUES ('7958', './scos/3/images/nextlabel.gif'); -INSERT INTO cp_file VALUES ('7959', './scos/3/images/blank.gif'); -INSERT INTO cp_file VALUES ('7960', './scos/3/images/yes.png'); -INSERT INTO cp_file VALUES ('7961', './scos/3/images/n_TESTbullet2.gif'); -INSERT INTO cp_file VALUES ('7962', './scos/3/images/n_TESTbullet3.gif'); -INSERT INTO cp_file VALUES ('7963', './scos/3/images/n_TESTbullet4.gif'); -INSERT INTO cp_file VALUES ('7964', './scos/3/images/n_TESTbullet5.gif'); -INSERT INTO cp_file VALUES ('7965', './scos/3/images/n_blank.gif'); -INSERT INTO cp_file VALUES ('7966', './scos/3/images/n_arrowBlack.png'); -INSERT INTO cp_file VALUES ('7967', './scos/3/images/closelabel.gif'); -INSERT INTO cp_file VALUES ('7968', './scos/3/images/n_yes.gif'); -INSERT INTO cp_file VALUES ('7969', './scos/3/images/n_quote_L.gif'); -INSERT INTO cp_file VALUES ('7970', './scos/3/images/n_TESTbullet.gif'); -INSERT INTO cp_file VALUES ('7971', './scos/3/images/n_quote_R.gif'); -INSERT INTO cp_file VALUES ('7972', './scos/3/images/core.png'); -INSERT INTO cp_file VALUES ('7973', './scos/3/images/n_quote_L_yellow.gif'); -INSERT INTO cp_file VALUES ('7974', './scos/3/images/pixel.png'); -INSERT INTO cp_file VALUES ('7975', './scos/3/images/no.png'); -INSERT INTO cp_file VALUES ('7976', './scos/3/images/on.png'); -INSERT INTO cp_file VALUES ('7977', './scos/3/images/off.png'); -INSERT INTO cp_file VALUES ('7978', './scos/3/images/prev.gif'); -INSERT INTO cp_file VALUES ('7979', './scos/3/images/n_quote_R_yellow.gif'); -INSERT INTO cp_file VALUES ('7980', './scos/3/images/yesno.png'); -INSERT INTO cp_file VALUES ('7981', './scos/3/images/n_no.gif'); -INSERT INTO cp_file VALUES ('7982', './scos/3/images/n_selected.png'); -INSERT INTO cp_file VALUES ('7983', './scos/3/images/next.gif'); -INSERT INTO cp_file VALUES ('7984', './scos/3/images/close.gif'); -INSERT INTO cp_file VALUES ('7985', './scos/3/images/loading.gif'); -INSERT INTO cp_file VALUES ('7986', './scos/3/images/like.png'); -INSERT INTO cp_file VALUES ('7987', './scos/3/images/prevlabel.gif'); -INSERT INTO cp_file VALUES ('7989', './scos/4/index.xml'); -INSERT INTO cp_file VALUES ('7990', './scos/4/p2sco.xsd'); -INSERT INTO cp_file VALUES ('7991', './scos/4/index.html'); -INSERT INTO cp_file VALUES ('7993', './scos/4/pictures/thumbnail-0.png'); -INSERT INTO cp_file VALUES ('7994', './scos/4/pictures/0.png'); -INSERT INTO cp_file VALUES ('7995', './scos/4/pictures/thumbnail-1.png'); -INSERT INTO cp_file VALUES ('7996', './scos/4/pictures/1.png'); -INSERT INTO cp_file VALUES ('7998', './scos/4/resources/images/n_instruction.png'); -INSERT INTO cp_file VALUES ('8000', './scos/4/custom.xsl'); -INSERT INTO cp_file VALUES ('8001', './scos/4/css/custom.css'); -INSERT INTO cp_file VALUES ('8002', './scos/4/js/custom.js'); -INSERT INTO cp_file VALUES ('8003', './scos/4/js/x/x.js'); -INSERT INTO cp_file VALUES ('8004', './scos/4/js/overlib_mini.js'); -INSERT INTO cp_file VALUES ('8005', './scos/4/js/overlib_cssstyle.js'); -INSERT INTO cp_file VALUES ('8006', './scos/4/js/x/x_drag.js'); -INSERT INTO cp_file VALUES ('8007', './scos/4/js/x/x_timer.js'); -INSERT INTO cp_file VALUES ('8008', './scos/4/js/lightbox/effects.js'); -INSERT INTO cp_file VALUES ('8009', './scos/4/js/lightbox/lightbox.js'); -INSERT INTO cp_file VALUES ('8010', './scos/4/js/lightbox/prototype.js'); -INSERT INTO cp_file VALUES ('8011', './scos/4/js/lightbox/scriptaculous.js'); -INSERT INTO cp_file VALUES ('8012', './scos/4/css/lightbox.css'); -INSERT INTO cp_file VALUES ('8013', './scos/4/icons/n_pdf.png'); -INSERT INTO cp_file VALUES ('8014', './scos/4/icons/n_pollOLD.png'); -INSERT INTO cp_file VALUES ('8015', './scos/4/icons/gdict.png'); -INSERT INTO cp_file VALUES ('8016', './scos/4/icons/html.png'); -INSERT INTO cp_file VALUES ('8017', './scos/4/icons/n_link.png'); -INSERT INTO cp_file VALUES ('8018', './scos/4/icons/n_linkOLD.png'); -INSERT INTO cp_file VALUES ('8019', './scos/4/icons/audio.png'); -INSERT INTO cp_file VALUES ('8020', './scos/4/icons/n_shortAnswer.png'); -INSERT INTO cp_file VALUES ('8021', './scos/4/icons/file.png'); -INSERT INTO cp_file VALUES ('8022', './scos/4/icons/likert.png'); -INSERT INTO cp_file VALUES ('8023', './scos/4/icons/n_attention.png'); -INSERT INTO cp_file VALUES ('8024', './scos/4/icons/word.png'); -INSERT INTO cp_file VALUES ('8025', './scos/4/icons/pixel.png'); -INSERT INTO cp_file VALUES ('8026', './scos/4/icons/hint.png'); -INSERT INTO cp_file VALUES ('8027', './scos/4/icons/n_poll.png'); -INSERT INTO cp_file VALUES ('8028', './scos/4/icons/n_audio.png'); -INSERT INTO cp_file VALUES ('8029', './scos/4/icons/n_instruction.png'); -INSERT INTO cp_file VALUES ('8030', './scos/4/icons/n_selected.png'); -INSERT INTO cp_file VALUES ('8031', './scos/4/icons/pdf.png'); -INSERT INTO cp_file VALUES ('8032', './scos/4/icons/n_anyFile.png'); -INSERT INTO cp_file VALUES ('8033', './scos/4/icons/n_bibliography.png'); -INSERT INTO cp_file VALUES ('8034', './scos/4/icons/pdfnew.png'); -INSERT INTO cp_file VALUES ('8035', './scos/4/icons/n_hint.png'); -INSERT INTO cp_file VALUES ('8036', './scos/4/icons/like.png'); -INSERT INTO cp_file VALUES ('8037', './scos/4/images/n_descriptionList.gif'); -INSERT INTO cp_file VALUES ('8038', './scos/4/images/nextlabel.gif'); -INSERT INTO cp_file VALUES ('8039', './scos/4/images/blank.gif'); -INSERT INTO cp_file VALUES ('8040', './scos/4/images/yes.png'); -INSERT INTO cp_file VALUES ('8041', './scos/4/images/n_TESTbullet2.gif'); -INSERT INTO cp_file VALUES ('8042', './scos/4/images/n_TESTbullet3.gif'); -INSERT INTO cp_file VALUES ('8043', './scos/4/images/n_TESTbullet4.gif'); -INSERT INTO cp_file VALUES ('8044', './scos/4/images/n_TESTbullet5.gif'); -INSERT INTO cp_file VALUES ('8045', './scos/4/images/n_blank.gif'); -INSERT INTO cp_file VALUES ('8046', './scos/4/images/n_arrowBlack.png'); -INSERT INTO cp_file VALUES ('8047', './scos/4/images/closelabel.gif'); -INSERT INTO cp_file VALUES ('8048', './scos/4/images/n_yes.gif'); -INSERT INTO cp_file VALUES ('8049', './scos/4/images/n_quote_L.gif'); -INSERT INTO cp_file VALUES ('8050', './scos/4/images/n_TESTbullet.gif'); -INSERT INTO cp_file VALUES ('8051', './scos/4/images/n_quote_R.gif'); -INSERT INTO cp_file VALUES ('8052', './scos/4/images/core.png'); -INSERT INTO cp_file VALUES ('8053', './scos/4/images/n_quote_L_yellow.gif'); -INSERT INTO cp_file VALUES ('8054', './scos/4/images/pixel.png'); -INSERT INTO cp_file VALUES ('8055', './scos/4/images/no.png'); -INSERT INTO cp_file VALUES ('8056', './scos/4/images/on.png'); -INSERT INTO cp_file VALUES ('8057', './scos/4/images/off.png'); -INSERT INTO cp_file VALUES ('8058', './scos/4/images/prev.gif'); -INSERT INTO cp_file VALUES ('8059', './scos/4/images/n_quote_R_yellow.gif'); -INSERT INTO cp_file VALUES ('8060', './scos/4/images/yesno.png'); -INSERT INTO cp_file VALUES ('8061', './scos/4/images/n_no.gif'); -INSERT INTO cp_file VALUES ('8062', './scos/4/images/n_selected.png'); -INSERT INTO cp_file VALUES ('8063', './scos/4/images/next.gif'); -INSERT INTO cp_file VALUES ('8064', './scos/4/images/close.gif'); -INSERT INTO cp_file VALUES ('8065', './scos/4/images/loading.gif'); -INSERT INTO cp_file VALUES ('8066', './scos/4/images/like.png'); -INSERT INTO cp_file VALUES ('8067', './scos/4/images/prevlabel.gif'); -INSERT INTO cp_file VALUES ('8069', './scos/5/index.xml'); -INSERT INTO cp_file VALUES ('8070', './scos/5/p2sco.xsd'); -INSERT INTO cp_file VALUES ('8071', './scos/5/index.html'); -INSERT INTO cp_file VALUES ('8073', './scos/5/pictures/thumbnail-0.png'); -INSERT INTO cp_file VALUES ('8074', './scos/5/pictures/0.png'); -INSERT INTO cp_file VALUES ('8075', './scos/5/pictures/thumbnail-1.png'); -INSERT INTO cp_file VALUES ('8076', './scos/5/pictures/1.png'); -INSERT INTO cp_file VALUES ('8077', './scos/5/documents/0.pdf'); -INSERT INTO cp_file VALUES ('8078', './scos/5/pictures/thumbnail-2.png'); -INSERT INTO cp_file VALUES ('8079', './scos/5/pictures/2.png'); -INSERT INTO cp_file VALUES ('8080', './scos/5/pictures/thumbnail-3.png'); -INSERT INTO cp_file VALUES ('8081', './scos/5/pictures/3.png'); -INSERT INTO cp_file VALUES ('8082', './scos/5/pictures/thumbnail-4.png'); -INSERT INTO cp_file VALUES ('8083', './scos/5/pictures/4.png'); -INSERT INTO cp_file VALUES ('8085', './scos/5/resources/images/n_instruction.png'); -INSERT INTO cp_file VALUES ('8087', './scos/5/custom.xsl'); -INSERT INTO cp_file VALUES ('8088', './scos/5/css/custom.css'); -INSERT INTO cp_file VALUES ('8089', './scos/5/js/custom.js'); -INSERT INTO cp_file VALUES ('8090', './scos/5/js/x/x.js'); -INSERT INTO cp_file VALUES ('8091', './scos/5/js/overlib_mini.js'); -INSERT INTO cp_file VALUES ('8092', './scos/5/js/overlib_cssstyle.js'); -INSERT INTO cp_file VALUES ('8093', './scos/5/js/x/x_drag.js'); -INSERT INTO cp_file VALUES ('8094', './scos/5/js/x/x_timer.js'); -INSERT INTO cp_file VALUES ('8095', './scos/5/js/lightbox/effects.js'); -INSERT INTO cp_file VALUES ('8096', './scos/5/js/lightbox/lightbox.js'); -INSERT INTO cp_file VALUES ('8097', './scos/5/js/lightbox/prototype.js'); -INSERT INTO cp_file VALUES ('8098', './scos/5/js/lightbox/scriptaculous.js'); -INSERT INTO cp_file VALUES ('8099', './scos/5/css/lightbox.css'); -INSERT INTO cp_file VALUES ('8100', './scos/5/icons/n_pdf.png'); -INSERT INTO cp_file VALUES ('8101', './scos/5/icons/n_pollOLD.png'); -INSERT INTO cp_file VALUES ('8102', './scos/5/icons/gdict.png'); -INSERT INTO cp_file VALUES ('8103', './scos/5/icons/html.png'); -INSERT INTO cp_file VALUES ('8104', './scos/5/icons/n_link.png'); -INSERT INTO cp_file VALUES ('8105', './scos/5/icons/n_linkOLD.png'); -INSERT INTO cp_file VALUES ('8106', './scos/5/icons/audio.png'); -INSERT INTO cp_file VALUES ('8107', './scos/5/icons/n_shortAnswer.png'); -INSERT INTO cp_file VALUES ('8108', './scos/5/icons/file.png'); -INSERT INTO cp_file VALUES ('8109', './scos/5/icons/likert.png'); -INSERT INTO cp_file VALUES ('8110', './scos/5/icons/n_attention.png'); -INSERT INTO cp_file VALUES ('8111', './scos/5/icons/word.png'); -INSERT INTO cp_file VALUES ('8112', './scos/5/icons/pixel.png'); -INSERT INTO cp_file VALUES ('8113', './scos/5/icons/hint.png'); -INSERT INTO cp_file VALUES ('8114', './scos/5/icons/n_poll.png'); -INSERT INTO cp_file VALUES ('8115', './scos/5/icons/n_audio.png'); -INSERT INTO cp_file VALUES ('8116', './scos/5/icons/n_instruction.png'); -INSERT INTO cp_file VALUES ('8117', './scos/5/icons/n_selected.png'); -INSERT INTO cp_file VALUES ('8118', './scos/5/icons/pdf.png'); -INSERT INTO cp_file VALUES ('8119', './scos/5/icons/n_anyFile.png'); -INSERT INTO cp_file VALUES ('8120', './scos/5/icons/n_bibliography.png'); -INSERT INTO cp_file VALUES ('8121', './scos/5/icons/pdfnew.png'); -INSERT INTO cp_file VALUES ('8122', './scos/5/icons/n_hint.png'); -INSERT INTO cp_file VALUES ('8123', './scos/5/icons/like.png'); -INSERT INTO cp_file VALUES ('8124', './scos/5/images/n_descriptionList.gif'); -INSERT INTO cp_file VALUES ('8125', './scos/5/images/nextlabel.gif'); -INSERT INTO cp_file VALUES ('8126', './scos/5/images/blank.gif'); -INSERT INTO cp_file VALUES ('8127', './scos/5/images/yes.png'); -INSERT INTO cp_file VALUES ('8128', './scos/5/images/n_TESTbullet2.gif'); -INSERT INTO cp_file VALUES ('8129', './scos/5/images/n_TESTbullet3.gif'); -INSERT INTO cp_file VALUES ('8130', './scos/5/images/n_TESTbullet4.gif'); -INSERT INTO cp_file VALUES ('8131', './scos/5/images/n_TESTbullet5.gif'); -INSERT INTO cp_file VALUES ('8132', './scos/5/images/n_blank.gif'); -INSERT INTO cp_file VALUES ('8133', './scos/5/images/n_arrowBlack.png'); -INSERT INTO cp_file VALUES ('8134', './scos/5/images/closelabel.gif'); -INSERT INTO cp_file VALUES ('8135', './scos/5/images/n_yes.gif'); -INSERT INTO cp_file VALUES ('8136', './scos/5/images/n_quote_L.gif'); -INSERT INTO cp_file VALUES ('8137', './scos/5/images/n_TESTbullet.gif'); -INSERT INTO cp_file VALUES ('8138', './scos/5/images/n_quote_R.gif'); -INSERT INTO cp_file VALUES ('8139', './scos/5/images/core.png'); -INSERT INTO cp_file VALUES ('8140', './scos/5/images/n_quote_L_yellow.gif'); -INSERT INTO cp_file VALUES ('8141', './scos/5/images/pixel.png'); -INSERT INTO cp_file VALUES ('8142', './scos/5/images/no.png'); -INSERT INTO cp_file VALUES ('8143', './scos/5/images/on.png'); -INSERT INTO cp_file VALUES ('8144', './scos/5/images/off.png'); -INSERT INTO cp_file VALUES ('8145', './scos/5/images/prev.gif'); -INSERT INTO cp_file VALUES ('8146', './scos/5/images/n_quote_R_yellow.gif'); -INSERT INTO cp_file VALUES ('8147', './scos/5/images/yesno.png'); -INSERT INTO cp_file VALUES ('8148', './scos/5/images/n_no.gif'); -INSERT INTO cp_file VALUES ('8149', './scos/5/images/n_selected.png'); -INSERT INTO cp_file VALUES ('8150', './scos/5/images/next.gif'); -INSERT INTO cp_file VALUES ('8151', './scos/5/images/close.gif'); -INSERT INTO cp_file VALUES ('8152', './scos/5/images/loading.gif'); -INSERT INTO cp_file VALUES ('8153', './scos/5/images/like.png'); -INSERT INTO cp_file VALUES ('8154', './scos/5/images/prevlabel.gif'); -INSERT INTO cp_file VALUES ('8156', './scos/6/index.xml'); -INSERT INTO cp_file VALUES ('8157', './scos/6/p2sco.xsd'); -INSERT INTO cp_file VALUES ('8158', './scos/6/index.html'); -INSERT INTO cp_file VALUES ('8160', './scos/6/pictures/thumbnail-0.png'); -INSERT INTO cp_file VALUES ('8161', './scos/6/pictures/0.png'); -INSERT INTO cp_file VALUES ('8162', './scos/6/pictures/thumbnail-1.png'); -INSERT INTO cp_file VALUES ('8163', './scos/6/pictures/1.png'); -INSERT INTO cp_file VALUES ('8164', './scos/6/pictures/thumbnail-2.png'); -INSERT INTO cp_file VALUES ('8165', './scos/6/pictures/2.png'); -INSERT INTO cp_file VALUES ('8166', './scos/6/pictures/thumbnail-3.png'); -INSERT INTO cp_file VALUES ('8167', './scos/6/pictures/3.png'); -INSERT INTO cp_file VALUES ('8169', './scos/6/resources/images/n_instruction.png'); -INSERT INTO cp_file VALUES ('8171', './scos/6/custom.xsl'); -INSERT INTO cp_file VALUES ('8172', './scos/6/css/custom.css'); -INSERT INTO cp_file VALUES ('8173', './scos/6/js/custom.js'); -INSERT INTO cp_file VALUES ('8174', './scos/6/js/x/x.js'); -INSERT INTO cp_file VALUES ('8175', './scos/6/js/overlib_mini.js'); -INSERT INTO cp_file VALUES ('8176', './scos/6/js/overlib_cssstyle.js'); -INSERT INTO cp_file VALUES ('8177', './scos/6/js/x/x_drag.js'); -INSERT INTO cp_file VALUES ('8178', './scos/6/js/x/x_timer.js'); -INSERT INTO cp_file VALUES ('8179', './scos/6/js/lightbox/effects.js'); -INSERT INTO cp_file VALUES ('8180', './scos/6/js/lightbox/lightbox.js'); -INSERT INTO cp_file VALUES ('8181', './scos/6/js/lightbox/prototype.js'); -INSERT INTO cp_file VALUES ('8182', './scos/6/js/lightbox/scriptaculous.js'); -INSERT INTO cp_file VALUES ('8183', './scos/6/css/lightbox.css'); -INSERT INTO cp_file VALUES ('8184', './scos/6/icons/n_pdf.png'); -INSERT INTO cp_file VALUES ('8185', './scos/6/icons/n_pollOLD.png'); -INSERT INTO cp_file VALUES ('8186', './scos/6/icons/gdict.png'); -INSERT INTO cp_file VALUES ('8187', './scos/6/icons/html.png'); -INSERT INTO cp_file VALUES ('8188', './scos/6/icons/n_link.png'); -INSERT INTO cp_file VALUES ('8189', './scos/6/icons/n_linkOLD.png'); -INSERT INTO cp_file VALUES ('8190', './scos/6/icons/audio.png'); -INSERT INTO cp_file VALUES ('8191', './scos/6/icons/n_shortAnswer.png'); -INSERT INTO cp_file VALUES ('8192', './scos/6/icons/file.png'); -INSERT INTO cp_file VALUES ('8193', './scos/6/icons/likert.png'); -INSERT INTO cp_file VALUES ('8194', './scos/6/icons/n_attention.png'); -INSERT INTO cp_file VALUES ('8195', './scos/6/icons/word.png'); -INSERT INTO cp_file VALUES ('8196', './scos/6/icons/pixel.png'); -INSERT INTO cp_file VALUES ('8197', './scos/6/icons/hint.png'); -INSERT INTO cp_file VALUES ('8198', './scos/6/icons/n_poll.png'); -INSERT INTO cp_file VALUES ('8199', './scos/6/icons/n_audio.png'); -INSERT INTO cp_file VALUES ('8200', './scos/6/icons/n_instruction.png'); -INSERT INTO cp_file VALUES ('8201', './scos/6/icons/n_selected.png'); -INSERT INTO cp_file VALUES ('8202', './scos/6/icons/pdf.png'); -INSERT INTO cp_file VALUES ('8203', './scos/6/icons/n_anyFile.png'); -INSERT INTO cp_file VALUES ('8204', './scos/6/icons/n_bibliography.png'); -INSERT INTO cp_file VALUES ('8205', './scos/6/icons/pdfnew.png'); -INSERT INTO cp_file VALUES ('8206', './scos/6/icons/n_hint.png'); -INSERT INTO cp_file VALUES ('8207', './scos/6/icons/like.png'); -INSERT INTO cp_file VALUES ('8208', './scos/6/images/n_descriptionList.gif'); -INSERT INTO cp_file VALUES ('8209', './scos/6/images/nextlabel.gif'); -INSERT INTO cp_file VALUES ('8210', './scos/6/images/blank.gif'); -INSERT INTO cp_file VALUES ('8211', './scos/6/images/yes.png'); -INSERT INTO cp_file VALUES ('8212', './scos/6/images/n_TESTbullet2.gif'); -INSERT INTO cp_file VALUES ('8213', './scos/6/images/n_TESTbullet3.gif'); -INSERT INTO cp_file VALUES ('8214', './scos/6/images/n_TESTbullet4.gif'); -INSERT INTO cp_file VALUES ('8215', './scos/6/images/n_TESTbullet5.gif'); -INSERT INTO cp_file VALUES ('8216', './scos/6/images/n_blank.gif'); -INSERT INTO cp_file VALUES ('8217', './scos/6/images/n_arrowBlack.png'); -INSERT INTO cp_file VALUES ('8218', './scos/6/images/closelabel.gif'); -INSERT INTO cp_file VALUES ('8219', './scos/6/images/n_yes.gif'); -INSERT INTO cp_file VALUES ('8220', './scos/6/images/n_quote_L.gif'); -INSERT INTO cp_file VALUES ('8221', './scos/6/images/n_TESTbullet.gif'); -INSERT INTO cp_file VALUES ('8222', './scos/6/images/n_quote_R.gif'); -INSERT INTO cp_file VALUES ('8223', './scos/6/images/core.png'); -INSERT INTO cp_file VALUES ('8224', './scos/6/images/n_quote_L_yellow.gif'); -INSERT INTO cp_file VALUES ('8225', './scos/6/images/pixel.png'); -INSERT INTO cp_file VALUES ('8226', './scos/6/images/no.png'); -INSERT INTO cp_file VALUES ('8227', './scos/6/images/on.png'); -INSERT INTO cp_file VALUES ('8228', './scos/6/images/off.png'); -INSERT INTO cp_file VALUES ('8229', './scos/6/images/prev.gif'); -INSERT INTO cp_file VALUES ('8230', './scos/6/images/n_quote_R_yellow.gif'); -INSERT INTO cp_file VALUES ('8231', './scos/6/images/yesno.png'); -INSERT INTO cp_file VALUES ('8232', './scos/6/images/n_no.gif'); -INSERT INTO cp_file VALUES ('8233', './scos/6/images/n_selected.png'); -INSERT INTO cp_file VALUES ('8234', './scos/6/images/next.gif'); -INSERT INTO cp_file VALUES ('8235', './scos/6/images/close.gif'); -INSERT INTO cp_file VALUES ('8236', './scos/6/images/loading.gif'); -INSERT INTO cp_file VALUES ('8237', './scos/6/images/like.png'); -INSERT INTO cp_file VALUES ('8238', './scos/6/images/prevlabel.gif'); -INSERT INTO cp_file VALUES ('8240', './scos/7/index.xml'); -INSERT INTO cp_file VALUES ('8241', './scos/7/p2sco.xsd'); -INSERT INTO cp_file VALUES ('8242', './scos/7/index.html'); -INSERT INTO cp_file VALUES ('8244', './scos/7/pictures/thumbnail-0.png'); -INSERT INTO cp_file VALUES ('8245', './scos/7/pictures/0.png'); -INSERT INTO cp_file VALUES ('8246', './scos/7/pictures/thumbnail-1.png'); -INSERT INTO cp_file VALUES ('8247', './scos/7/pictures/1.png'); -INSERT INTO cp_file VALUES ('8249', './scos/7/resources/images/n_instruction.png'); -INSERT INTO cp_file VALUES ('8251', './scos/7/custom.xsl'); -INSERT INTO cp_file VALUES ('8252', './scos/7/css/custom.css'); -INSERT INTO cp_file VALUES ('8253', './scos/7/js/custom.js'); -INSERT INTO cp_file VALUES ('8254', './scos/7/js/x/x.js'); -INSERT INTO cp_file VALUES ('8255', './scos/7/js/overlib_mini.js'); -INSERT INTO cp_file VALUES ('8256', './scos/7/js/overlib_cssstyle.js'); -INSERT INTO cp_file VALUES ('8257', './scos/7/js/x/x_drag.js'); -INSERT INTO cp_file VALUES ('8258', './scos/7/js/x/x_timer.js'); -INSERT INTO cp_file VALUES ('8259', './scos/7/js/lightbox/effects.js'); -INSERT INTO cp_file VALUES ('8260', './scos/7/js/lightbox/lightbox.js'); -INSERT INTO cp_file VALUES ('8261', './scos/7/js/lightbox/prototype.js'); -INSERT INTO cp_file VALUES ('8262', './scos/7/js/lightbox/scriptaculous.js'); -INSERT INTO cp_file VALUES ('8263', './scos/7/css/lightbox.css'); -INSERT INTO cp_file VALUES ('8264', './scos/7/icons/n_pdf.png'); -INSERT INTO cp_file VALUES ('8265', './scos/7/icons/n_pollOLD.png'); -INSERT INTO cp_file VALUES ('8266', './scos/7/icons/gdict.png'); -INSERT INTO cp_file VALUES ('8267', './scos/7/icons/html.png'); -INSERT INTO cp_file VALUES ('8268', './scos/7/icons/n_link.png'); -INSERT INTO cp_file VALUES ('8269', './scos/7/icons/n_linkOLD.png'); -INSERT INTO cp_file VALUES ('8270', './scos/7/icons/audio.png'); -INSERT INTO cp_file VALUES ('8271', './scos/7/icons/n_shortAnswer.png'); -INSERT INTO cp_file VALUES ('8272', './scos/7/icons/file.png'); -INSERT INTO cp_file VALUES ('8273', './scos/7/icons/likert.png'); -INSERT INTO cp_file VALUES ('8274', './scos/7/icons/n_attention.png'); -INSERT INTO cp_file VALUES ('8275', './scos/7/icons/word.png'); -INSERT INTO cp_file VALUES ('8276', './scos/7/icons/pixel.png'); -INSERT INTO cp_file VALUES ('8277', './scos/7/icons/hint.png'); -INSERT INTO cp_file VALUES ('8278', './scos/7/icons/n_poll.png'); -INSERT INTO cp_file VALUES ('8279', './scos/7/icons/n_audio.png'); -INSERT INTO cp_file VALUES ('8280', './scos/7/icons/n_instruction.png'); -INSERT INTO cp_file VALUES ('8281', './scos/7/icons/n_selected.png'); -INSERT INTO cp_file VALUES ('8282', './scos/7/icons/pdf.png'); -INSERT INTO cp_file VALUES ('8283', './scos/7/icons/n_anyFile.png'); -INSERT INTO cp_file VALUES ('8284', './scos/7/icons/n_bibliography.png'); -INSERT INTO cp_file VALUES ('8285', './scos/7/icons/pdfnew.png'); -INSERT INTO cp_file VALUES ('8286', './scos/7/icons/n_hint.png'); -INSERT INTO cp_file VALUES ('8287', './scos/7/icons/like.png'); -INSERT INTO cp_file VALUES ('8288', './scos/7/images/n_descriptionList.gif'); -INSERT INTO cp_file VALUES ('8289', './scos/7/images/nextlabel.gif'); -INSERT INTO cp_file VALUES ('8290', './scos/7/images/blank.gif'); -INSERT INTO cp_file VALUES ('8291', './scos/7/images/yes.png'); -INSERT INTO cp_file VALUES ('8292', './scos/7/images/n_TESTbullet2.gif'); -INSERT INTO cp_file VALUES ('8293', './scos/7/images/n_TESTbullet3.gif'); -INSERT INTO cp_file VALUES ('8294', './scos/7/images/n_TESTbullet4.gif'); -INSERT INTO cp_file VALUES ('8295', './scos/7/images/n_TESTbullet5.gif'); -INSERT INTO cp_file VALUES ('8296', './scos/7/images/n_blank.gif'); -INSERT INTO cp_file VALUES ('8297', './scos/7/images/n_arrowBlack.png'); -INSERT INTO cp_file VALUES ('8298', './scos/7/images/closelabel.gif'); -INSERT INTO cp_file VALUES ('8299', './scos/7/images/n_yes.gif'); -INSERT INTO cp_file VALUES ('8300', './scos/7/images/n_quote_L.gif'); -INSERT INTO cp_file VALUES ('8301', './scos/7/images/n_TESTbullet.gif'); -INSERT INTO cp_file VALUES ('8302', './scos/7/images/n_quote_R.gif'); -INSERT INTO cp_file VALUES ('8303', './scos/7/images/core.png'); -INSERT INTO cp_file VALUES ('8304', './scos/7/images/n_quote_L_yellow.gif'); -INSERT INTO cp_file VALUES ('8305', './scos/7/images/pixel.png'); -INSERT INTO cp_file VALUES ('8306', './scos/7/images/no.png'); -INSERT INTO cp_file VALUES ('8307', './scos/7/images/on.png'); -INSERT INTO cp_file VALUES ('8308', './scos/7/images/off.png'); -INSERT INTO cp_file VALUES ('8309', './scos/7/images/prev.gif'); -INSERT INTO cp_file VALUES ('8310', './scos/7/images/n_quote_R_yellow.gif'); -INSERT INTO cp_file VALUES ('8311', './scos/7/images/yesno.png'); -INSERT INTO cp_file VALUES ('8312', './scos/7/images/n_no.gif'); -INSERT INTO cp_file VALUES ('8313', './scos/7/images/n_selected.png'); -INSERT INTO cp_file VALUES ('8314', './scos/7/images/next.gif'); -INSERT INTO cp_file VALUES ('8315', './scos/7/images/close.gif'); -INSERT INTO cp_file VALUES ('8316', './scos/7/images/loading.gif'); -INSERT INTO cp_file VALUES ('8317', './scos/7/images/like.png'); -INSERT INTO cp_file VALUES ('8318', './scos/7/images/prevlabel.gif'); -INSERT INTO cp_file VALUES ('8320', 'adlcp_v1p3.xsd'); -INSERT INTO cp_file VALUES ('8321', 'adlseq_v1p3.xsd'); -INSERT INTO cp_file VALUES ('8322', 'imsss_v1p0.xsd'); -INSERT INTO cp_file VALUES ('8323', 'adlnav_v1p3.xsd'); -INSERT INTO cp_file VALUES ('8324', 'imscp_v1p1.xsd'); -INSERT INTO cp_file VALUES ('8325', 'imsmanifest.xml'); -INSERT INTO cp_file VALUES ('8326', 'imsss_v1p0auxresource.xsd'); -INSERT INTO cp_file VALUES ('8327', 'imsss_v1p0control.xsd'); -INSERT INTO cp_file VALUES ('8328', 'imsss_v1p0delivery.xsd'); -INSERT INTO cp_file VALUES ('8329', 'imsss_v1p0limit.xsd'); -INSERT INTO cp_file VALUES ('8330', 'imsss_v1p0objective.xsd'); -INSERT INTO cp_file VALUES ('8331', 'imsss_v1p0random.xsd'); -INSERT INTO cp_file VALUES ('8332', 'imsss_v1p0rollup.xsd'); -INSERT INTO cp_file VALUES ('8333', 'imsss_v1p0seqrule.xsd'); -INSERT INTO cp_file VALUES ('8334', 'imsss_v1p0util.xsd'); -INSERT INTO cp_file VALUES ('8335', 'xml.xsd'); -INSERT INTO cp_file VALUES ('8336', 'index.html'); -# -------------------------------------------------------- - - -# -# Dumping data for table: cp_hideLMSUI -# -INSERT INTO cp_hideLMSUI VALUES ('4', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('6', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('8', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('46', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('48', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('50', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('88', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('89', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('90', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('92', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('93', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('94', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('96', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('97', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('98', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('160', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('161', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('162', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('164', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('165', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('166', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('168', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('169', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('170', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('263', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('264', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('265', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('267', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('268', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('269', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('272', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('273', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('274', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('276', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('277', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('278', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('280', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('281', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('282', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('284', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('285', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('286', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('336', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('337', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('338', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('340', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('341', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('342', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('345', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('346', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('347', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('349', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('350', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('351', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('353', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('354', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('355', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('358', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('359', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('360', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('364', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('365', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('366', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('368', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('369', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('370', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('372', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('373', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('374', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('376', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('377', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('378', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('447', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('448', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('449', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('451', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('452', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('453', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('456', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('457', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('458', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('460', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('461', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('462', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('464', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('465', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('466', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('469', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('470', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('471', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('475', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('476', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('477', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('479', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('480', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('481', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('483', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('484', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('485', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('487', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('488', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('489', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('519', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('520', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('521', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('523', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('524', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('525', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('528', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('529', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('530', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('532', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('533', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('534', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('536', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('537', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('538', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('541', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('542', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('543', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('547', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('548', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('549', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('551', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('552', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('553', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('555', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('556', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('557', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('559', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('560', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('561', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('586', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('587', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('588', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('592', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('593', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('594', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('596', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('597', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('598', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('600', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('601', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('602', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('604', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('605', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('606', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('608', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('609', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('610', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('612', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('613', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('614', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('641', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('642', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('643', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('645', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('646', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('647', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('649', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('650', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('651', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('997', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('999', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('1001', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('1003', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('1005', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('1007', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('1009', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('1011', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('1013', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('1105', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('1107', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('1109', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('1111', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('1156', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('1157', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('1158', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('1161', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('1162', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('1163', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('1165', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('1166', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('1167', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('1169', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('1170', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('1171', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('1173', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('1174', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('1175', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('1204', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('1205', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('1206', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('1209', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('1210', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('1211', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('1213', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('1214', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('1215', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('1217', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('1218', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('1219', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('1221', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('1222', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('1223', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('1254', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('1255', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('1256', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('1259', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('1260', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('1261', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('1263', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('1264', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('1265', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('1267', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('1268', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('1269', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('1271', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('1272', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('1273', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('1374', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('1375', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('1376', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('1379', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('1380', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('1381', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('1383', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('1384', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('1385', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('1387', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('1388', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('1389', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('1391', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('1392', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('1393', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('1425', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('1426', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('1427', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('1430', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('1431', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('1432', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('1434', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('1435', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('1436', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('1438', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('1439', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('1440', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('1442', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('1443', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('1444', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('1478', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('1479', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('1480', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('1482', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('1483', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('1484', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('1486', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('1487', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('1488', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('1521', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('1522', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('1523', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('1525', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('1526', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('1527', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('1529', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('1530', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('1531', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('1564', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('1565', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('1566', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('1568', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('1569', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('1570', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('1572', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('1573', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('1574', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('1607', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('1608', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('1609', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('1611', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('1612', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('1613', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('1615', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('1616', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('1617', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('1688', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('1689', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('1690', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('1692', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('1693', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('1694', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('1696', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('1697', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('1698', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('1735', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('1736', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('1737', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('1741', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('1742', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('1743', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('1745', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('1746', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('1747', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('1749', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('1750', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('1751', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('1753', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('1754', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('1755', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('1757', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('1758', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('1759', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('1761', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('1762', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('1763', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('1814', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('1815', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('1816', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('1820', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('1821', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('1822', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('1824', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('1825', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('1826', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('1828', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('1829', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('1830', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('1832', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('1833', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('1834', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('1836', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('1837', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('1838', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('1840', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('1841', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('1842', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('1896', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('1897', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('1898', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('1900', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('1901', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('1902', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('1905', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('1906', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('1907', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('1909', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('1910', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('1911', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('1913', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('1914', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('1915', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('1917', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('1918', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('1919', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('1965', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('1966', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('1967', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('1969', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('1970', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('1971', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('1973', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('1974', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('1975', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('1977', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('1978', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('1979', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('2017', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('2018', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('2019', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('2021', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('2022', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('2023', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('2025', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('2026', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('2027', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('2029', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('2030', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('2031', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('2069', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('2070', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('2071', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('2073', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('2074', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('2075', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('2077', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('2078', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('2079', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('2112', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('2113', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('2114', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('2117', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('2118', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('2119', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('2121', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('2122', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('2123', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('2125', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('2126', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('2127', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('2129', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('2130', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('2131', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('2168', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('2169', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('2170', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('2172', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('2173', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('2174', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('2176', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('2177', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('2178', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('2216', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('2217', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('2218', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('2220', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('2221', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('2222', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('2224', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('2225', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('2226', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('2263', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('2264', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('2265', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('2267', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('2268', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('2269', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('2271', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('2272', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('2273', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('2275', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('2276', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('2277', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('2327', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('2328', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('2329', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('2331', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('2332', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('2333', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('2335', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('2336', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('2337', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('2339', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('2340', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('2341', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('2391', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('2392', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('2393', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('2395', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('2396', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('2397', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('2399', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('2400', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('2401', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('2446', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('2447', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('2448', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('2450', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('2451', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('2452', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('2454', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('2455', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('2456', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('2538', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('2539', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('2540', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('2542', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('2543', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('2544', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('2546', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('2547', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('2548', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('2584', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('2585', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('2586', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('2588', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('2589', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('2590', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('2592', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('2593', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('2594', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('2631', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('2632', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('2633', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('2635', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('2636', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('2637', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('2639', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('2640', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('2641', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('2680', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('2681', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('2682', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('2684', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('2685', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('2686', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('2688', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('2689', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('2690', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('2729', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('2730', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('2731', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('2733', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('2734', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('2735', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('2737', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('2738', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('2739', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('2780', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('2781', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('2782', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('2784', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('2785', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('2786', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('2788', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('2789', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('2790', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('2821', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('2822', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('2823', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('2825', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('2826', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('2827', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('2829', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('2830', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('2831', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('2862', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('2863', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('2864', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('2866', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('2867', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('2868', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('2870', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('2871', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('2872', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('2903', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('2904', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('2905', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('2907', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('2908', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('2909', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('2911', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('2912', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('2913', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('2915', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('2916', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('2917', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('2953', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('2954', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('2955', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('2957', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('2958', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('2959', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('2961', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('2962', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('2963', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('2965', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('2966', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('2967', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('3003', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('3004', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('3005', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('3007', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('3008', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('3009', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('3011', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('3012', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('3013', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('3015', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('3016', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('3017', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('3053', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('3054', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('3055', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('3057', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('3058', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('3059', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('3061', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('3062', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('3063', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('3122', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('3123', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('3124', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('3126', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('3127', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('3128', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('3130', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('3131', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('3132', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('3134', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('3135', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('3136', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('3197', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('3198', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('3199', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('3201', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('3202', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('3203', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('3206', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('3207', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('3208', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('3210', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('3211', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('3212', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('3214', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('3215', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('3216', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('3218', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('3219', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('3220', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('3269', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('3270', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('3271', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('3274', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('3275', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('3276', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('3278', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('3279', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('3280', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('3282', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('3283', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('3284', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('3286', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('3287', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('3288', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('3318', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('3319', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('3320', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('3323', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('3324', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('3325', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('3327', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('3328', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('3329', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('3331', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('3332', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('3333', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('3335', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('3336', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('3337', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('3401', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('3402', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('3403', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('3406', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('3407', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('3408', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('3410', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('3411', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('3412', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('3414', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('3415', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('3416', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('3418', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('3419', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('3420', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('3450', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('3451', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('3452', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('3455', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('3456', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('3457', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('3459', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('3460', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('3461', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('3463', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('3464', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('3465', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('3467', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('3468', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('3469', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('3501', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('3502', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('3503', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('3506', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('3507', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('3508', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('3510', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('3511', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('3512', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('3514', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('3515', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('3516', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('3518', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('3519', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('3520', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('3552', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('3553', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('3554', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('3557', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('3558', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('3559', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('3561', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('3562', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('3563', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('3565', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('3566', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('3567', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('3569', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('3570', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('3571', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('3604', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('3605', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('3606', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('3609', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('3610', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('3611', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('3613', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('3614', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('3615', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('3617', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('3618', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('3619', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('3621', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('3622', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('3623', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('3656', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('3657', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('3658', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('3661', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('3662', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('3663', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('3665', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('3666', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('3667', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('3669', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('3670', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('3671', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('3673', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('3674', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('3675', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('3708', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('3709', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('3710', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('3713', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('3714', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('3715', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('3717', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('3718', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('3719', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('3721', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('3722', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('3723', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('3725', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('3726', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('3727', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('3760', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('3761', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('3762', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('3765', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('3766', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('3767', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('3769', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('3770', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('3771', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('3773', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('3774', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('3775', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('3777', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('3778', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('3779', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('3812', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('3813', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('3814', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('3817', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('3818', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('3819', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('3821', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('3822', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('3823', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('3825', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('3826', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('3827', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('3829', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('3830', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('3831', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('3901', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('3902', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('3903', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('3906', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('3907', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('3908', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('3910', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('3911', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('3912', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('3914', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('3915', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('3916', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('3918', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('3919', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('3920', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('3953', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('3954', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('3955', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('3958', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('3959', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('3960', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('3962', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('3963', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('3964', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('3966', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('3967', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('3968', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('3970', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('3971', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('3972', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('4004', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('4005', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('4006', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('4009', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('4010', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('4011', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('4013', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('4014', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('4015', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('4017', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('4018', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('4019', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('4021', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('4022', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('4023', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('4056', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('4057', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('4058', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('4060', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('4061', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('4062', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('4064', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('4065', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('4066', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('4068', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('4069', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('4070', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('4101', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('4102', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('4103', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('4105', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('4106', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('4107', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('4109', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('4110', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('4111', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('4113', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('4114', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('4115', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('4147', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('4148', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('4149', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('4152', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('4153', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('4154', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('4156', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('4157', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('4158', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('4160', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('4161', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('4162', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('4164', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('4165', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('4166', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('4202', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('4203', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('4204', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('4207', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('4208', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('4209', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('4211', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('4212', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('4213', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('4215', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('4216', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('4217', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('4219', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('4220', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('4221', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('4258', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('4259', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('4260', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('4262', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('4263', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('4264', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('4266', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('4267', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('4268', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('4270', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('4271', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('4272', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('4274', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('4275', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('4276', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('4309', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('4310', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('4311', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('4315', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('4316', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('4317', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('4319', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('4320', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('4321', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('4323', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('4324', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('4325', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('4327', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('4328', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('4329', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('4331', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('4332', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('4333', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('4376', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('4377', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('4378', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('4382', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('4383', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('4384', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('4386', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('4387', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('4388', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('4390', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('4391', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('4392', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('4394', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('4395', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('4396', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('4398', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('4399', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('4400', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('4445', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('4446', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('4447', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('4450', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('4451', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('4452', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('4454', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('4455', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('4456', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('4458', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('4459', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('4460', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('4462', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('4463', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('4464', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('4499', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('4500', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('4501', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('4504', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('4505', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('4506', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('4508', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('4509', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('4510', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('4512', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('4513', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('4514', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('4516', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('4517', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('4518', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('4550', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('4551', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('4552', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('4555', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('4556', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('4557', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('4559', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('4560', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('4561', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('4563', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('4564', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('4565', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('4567', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('4568', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('4569', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('4605', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('4606', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('4607', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('4610', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('4611', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('4612', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('4614', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('4615', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('4616', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('4650', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('4651', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('4652', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('4655', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('4656', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('4657', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('4659', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('4660', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('4661', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('4731', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('4732', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('4733', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('4736', ' - continue - '); -INSERT INTO cp_hideLMSUI VALUES ('4737', ' - previous - '); -INSERT INTO cp_hideLMSUI VALUES ('4738', ' - suspendAll - '); -INSERT INTO cp_hideLMSUI VALUES ('4740', ' - continue - '); -INSERT INTO cp_hideLMSUI VALUES ('4741', ' - previous - '); -INSERT INTO cp_hideLMSUI VALUES ('4742', ' - suspendAll - '); -INSERT INTO cp_hideLMSUI VALUES ('4744', ' - continue - '); -INSERT INTO cp_hideLMSUI VALUES ('4745', ' - previous - '); -INSERT INTO cp_hideLMSUI VALUES ('4746', ' - suspendAll - '); -INSERT INTO cp_hideLMSUI VALUES ('4748', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('4749', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('4750', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('4793', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('4794', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('4795', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('4797', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('4798', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('4799', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('4801', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('4802', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('4803', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('4833', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('4834', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('4835', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('4837', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('4838', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('4839', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('4841', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('4842', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('4843', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('4872', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('4873', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('4874', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('4876', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('4877', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('4878', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('4882', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('4883', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('4884', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('4886', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('4887', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('4888', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('4891', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('4892', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('4893', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('4895', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('4896', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('4897', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('4899', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('4900', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('4901', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('4992', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('4993', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('4994', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('4996', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('4997', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('4998', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('5000', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('5001', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('5002', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('5033', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('5034', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('5035', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('5037', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('5038', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('5039', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('5041', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('5042', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('5043', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('5045', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('5046', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('5047', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('5077', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('5078', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('5079', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('5081', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('5082', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('5083', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('5085', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('5086', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('5087', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('5117', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('5118', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('5119', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('5121', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('5122', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('5123', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('5125', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('5126', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('5127', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('5160', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('5161', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('5162', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('5165', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('5166', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('5167', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('5169', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('5170', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('5171', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('5173', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('5174', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('5175', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('5177', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('5178', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('5179', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('5181', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('5182', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('5183', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('5219', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('5220', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('5221', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('5224', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('5225', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('5226', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('5228', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('5229', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('5230', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('5232', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('5233', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('5234', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('5236', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('5237', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('5238', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('5240', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('5241', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('5242', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('5278', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('5279', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('5280', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('5285', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('5286', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('5287', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('5289', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('5290', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('5291', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('5293', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('5294', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('5295', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('5298', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('5299', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('5300', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('5302', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('5303', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('5304', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('5306', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('5307', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('5308', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('5311', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('5312', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('5313', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('5315', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('5316', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('5317', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('5319', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('5320', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('5321', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('5325', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('5326', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('5327', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('5329', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('5330', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('5331', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('5333', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('5334', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('5335', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('5338', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('5339', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('5340', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('5342', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('5343', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('5344', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('5346', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('5347', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('5348', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('5351', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('5352', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('5353', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('5355', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('5356', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('5357', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('5359', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('5360', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('5361', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('5365', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('5366', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('5367', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('5369', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('5370', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('5371', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('5373', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('5374', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('5375', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('5378', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('5379', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('5380', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('5382', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('5383', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('5384', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('5386', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('5387', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('5388', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('5391', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('5392', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('5393', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('5395', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('5396', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('5397', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('5399', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('5400', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('5401', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('5403', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('5404', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('5405', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('5491', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('5492', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('5493', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('5498', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('5499', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('5500', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('5502', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('5503', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('5504', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('5506', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('5507', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('5508', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('5511', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('5512', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('5513', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('5515', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('5516', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('5517', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('5519', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('5520', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('5521', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('5524', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('5525', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('5526', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('5528', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('5529', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('5530', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('5532', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('5533', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('5534', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('5538', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('5539', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('5540', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('5542', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('5543', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('5544', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('5546', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('5547', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('5548', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('5551', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('5552', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('5553', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('5555', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('5556', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('5557', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('5559', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('5560', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('5561', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('5564', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('5565', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('5566', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('5568', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('5569', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('5570', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('5572', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('5573', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('5574', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('5578', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('5579', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('5580', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('5582', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('5583', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('5584', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('5586', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('5587', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('5588', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('5591', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('5592', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('5593', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('5595', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('5596', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('5597', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('5599', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('5600', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('5601', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('5604', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('5605', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('5606', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('5608', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('5609', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('5610', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('5612', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('5613', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('5614', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('5616', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('5617', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('5618', 'suspendAll'); -INSERT INTO cp_hideLMSUI VALUES ('6377', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('6379', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('6380', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('6382', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('6383', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('6385', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('6386', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('6389', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('6390', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('6392', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('6393', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('6395', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('6396', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('6398', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('6399', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('6401', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('6402', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('6404', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('6405', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('6407', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('6408', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('6410', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('6411', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('6413', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('6414', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('6605', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('6607', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('6608', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('6610', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('6611', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('6613', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('6614', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('6617', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('6618', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('6620', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('6621', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('6623', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('6624', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('6626', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('6627', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('6629', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('6630', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('6632', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('6633', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('6635', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('6636', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('6638', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('6639', 'continue'); -INSERT INTO cp_hideLMSUI VALUES ('6641', 'previous'); -INSERT INTO cp_hideLMSUI VALUES ('6642', 'continue'); -# -------------------------------------------------------- - - -# -# Dumping data for table: cp_item -# -INSERT INTO cp_item VALUES ('', '3', '', 'activity_1', '', 'tc=API&act=1', 'ASSETLAUNCH01', '', '', 'Asset Launch Test'); -INSERT INTO cp_item VALUES ('', '5', '', 'activity_2', '', 'tc=API&act=2', 'APIRTE01', '', '', 'API Implementation Test 1'); -INSERT INTO cp_item VALUES ('', '7', '', 'activity_3', '', 'tc=API&act=3', 'APIRTE02', '', '', 'API Implementation Test 2'); -INSERT INTO cp_item VALUES ('', '45', '', 'activity_1', '', 'tc=API&act=1', 'ASSETLAUNCH01', '', '', 'Asset Launch Test'); -INSERT INTO cp_item VALUES ('', '47', '', 'activity_2', '', 'tc=API&act=2', 'APIRTE01', '', '', 'API Implementation Test 1'); -INSERT INTO cp_item VALUES ('', '49', '', 'activity_3', '', 'tc=API&act=3', 'APIRTE02', '', '', 'API Implementation Test 2'); -INSERT INTO cp_item VALUES ('', '87', '', 'activity_1', '', 'tc=CM-01&act=1', 'SEQ01', 'id3004973', '', 'Activity 1'); -INSERT INTO cp_item VALUES ('', '91', '', 'activity_2', '', 'tc=CM-01&act=2', 'SEQ01', 'id3000020', '', 'Activity 2'); -INSERT INTO cp_item VALUES ('', '95', '', 'activity_3', '', 'tc=CM-01&act=3', 'SEQ01', 'id2784313', '', 'Activity 3'); -INSERT INTO cp_item VALUES ('', '127', '', 'activity_1', '', 'tc=CM-02a&act=1', 'SEQ01', '', '', 'Activity 1'); -INSERT INTO cp_item VALUES ('', '128', '', 'activity_2', '', 'tc=CM-02a&act=2', 'SEQ01', 'id2681375', '', 'Activity 2'); -INSERT INTO cp_item VALUES ('', '129', '', 'activity_3', '', 'tc=CM-02a&act=3', 'SEQ01', 'id2681311', '', 'Activity 3'); -INSERT INTO cp_item VALUES ('', '159', '', 'activity_1', '', 'tc=CM-02b&act=1', 'SEQ01', 'id2688724', '', 'Activity 1'); -INSERT INTO cp_item VALUES ('', '163', '', 'activity_2', '', 'tc=CM-02b&act=2', 'SEQ01', 'id2688740', '', 'Activity 2'); -INSERT INTO cp_item VALUES ('', '167', '', 'activity_3', '', 'tc=CM-02b&act=3', 'SEQ01', 'id2688775', '', 'Activity 3'); -INSERT INTO cp_item VALUES ('', '207', '', 'activity_1', '', '', '', 'id2813287', '', 'Activity 1'); -INSERT INTO cp_item VALUES ('', '208', '', 'activity_2', '', 'tc=CM-03a&act=2', 'SEQ01', 'id2813310', '', 'Activity 2'); -INSERT INTO cp_item VALUES ('', '209', '', 'activity_3', '', 'tc=CM-03a&act=3', 'SEQ01', 'id2835189', '', 'Activity 3'); -INSERT INTO cp_item VALUES ('', '210', '', 'activity_4', '', '', '', 'id2835331', '', 'Activity 4'); -INSERT INTO cp_item VALUES ('', '211', '', 'activity_5', '', 'tc=CM-03a&act=5', 'SEQ01', 'id2813412', '', 'Activity 5'); -INSERT INTO cp_item VALUES ('', '212', '', 'activity_6', '', 'tc=CM-03a&act=6', 'SEQ01', 'id2813486', '', 'Activity 6'); -INSERT INTO cp_item VALUES ('', '213', '', 'activity_7', '', 'tc=CM-03a&act=7', 'SEQ01', 'id2819729', '', 'Activity 7'); -INSERT INTO cp_item VALUES ('', '214', '', 'activity_8', '', 'tc=CM-03a&act=8', 'SEQ01', '', '', 'Activity 8'); -INSERT INTO cp_item VALUES ('', '261', '', 'activity_1', '', '', '', 'id2683920', '', 'Activity 1'); -INSERT INTO cp_item VALUES ('', '262', '', 'activity_2', '', 'tc=CM-03b&act=2', 'SEQ01', 'id2684104', '', 'Activity 2'); -INSERT INTO cp_item VALUES ('', '266', '', 'activity_3', '', 'tc=CM-03b&act=3', 'SEQ01', 'id2683998', '', 'Activity 3'); -INSERT INTO cp_item VALUES ('', '270', '', 'activity_4', '', '', '', 'id2683484', '', 'Activity 4'); -INSERT INTO cp_item VALUES ('', '271', '', 'activity_5', '', 'tc=CM-03b&act=5', 'SEQ01', 'id2683813', '', 'Activity 5'); -INSERT INTO cp_item VALUES ('', '275', '', 'activity_6', '', 'tc=CM-03b&act=6', 'SEQ01', 'id2683695', '', 'Activity 6'); -INSERT INTO cp_item VALUES ('', '279', '', 'activity_7', '', 'tc=CM-03b&act=7', 'SEQ01', 'id2683563', '', 'Activity 7'); -INSERT INTO cp_item VALUES ('', '283', '', 'activity_8', '', 'tc=CM-03b&act=8', 'SEQ01', '', '', 'Activity 8'); -INSERT INTO cp_item VALUES ('', '334', '', 'activity_1', '', '', '', '', '', 'Activity 1'); -INSERT INTO cp_item VALUES ('', '335', '', 'activity_2', '', 'tc=CM-04a&act=2', 'SEQ01', '', '', 'Activity 2'); -INSERT INTO cp_item VALUES ('', '339', '', '__CM-04a.Activity.3__', '', 'tc=CM-04a&act=3', 'SEQ01', '', '', 'Activity 3'); -INSERT INTO cp_item VALUES ('', '343', '', 'activity_4', '', '', '', '', '', 'Activity 4'); -INSERT INTO cp_item VALUES ('', '344', '', 'activity_5', '', 'tc=CM-04a&act=5', 'SEQ01', '', '', 'Activity 5'); -INSERT INTO cp_item VALUES ('', '348', '', 'activity_6', '', 'tc=CM-04a&act=6', 'SEQ01', '', '', 'Activity 6'); -INSERT INTO cp_item VALUES ('', '352', '', 'activity_7', '', 'tc=CM-04a&act=7', 'SEQ01', '', '', 'Activity 7'); -INSERT INTO cp_item VALUES ('', '356', '', 'activity_8', '', '', '', '', '', 'Activity 8'); -INSERT INTO cp_item VALUES ('', '357', '', '_9_', '', 'tc=CM-04a&act=9', 'SEQ01', '', '', 'Activity 9'); -INSERT INTO cp_item VALUES ('', '361', '', 'activity_10', '', '', '', '', '', 'Activity 10'); -INSERT INTO cp_item VALUES ('', '362', '', '_.activity.11', '', '', '', 'id2784280', '', 'Activity 11'); -INSERT INTO cp_item VALUES ('', '363', '', 'activity_12', '', 'tc=CM-04a&act=12', 'SEQ01', '', '', 'Activity 12'); -INSERT INTO cp_item VALUES ('', '367', '', 'activity_13', '', 'tc=CM-04a&act=13', 'SEQ01', '', '', 'Activity 13'); -INSERT INTO cp_item VALUES ('', '371', '', 'Activity.14_LEAF', '', 'tc=CM-04a&act=14', 'SEQ01', '', '', 'Activity 14'); -INSERT INTO cp_item VALUES ('', '375', '', 'Activity-15', '', 'tc=CM-04a&act=15', 'SEQ01', '', '', 'Activity 15'); -INSERT INTO cp_item VALUES ('', '402', '', 'activity_1', '', '', '', 'id2688676', '', 'Activity 1'); -INSERT INTO cp_item VALUES ('', '403', '', 'activity_2', '', 'tc=CM-04b&act=2', 'SEQ01', '', '', 'Activity 2'); -INSERT INTO cp_item VALUES ('', '404', '', 'activity_3', '', 'tc=CM-04b&act=3', 'SEQ01', '', '', 'Activity 3'); -INSERT INTO cp_item VALUES ('', '405', '', 'activity_4', '', '', '', '', '', 'Activity 4'); -INSERT INTO cp_item VALUES ('', '406', '', 'activity_5', '', 'tc=CM-04b&act=5', 'SEQ01', '', '', 'Activity 5'); -INSERT INTO cp_item VALUES ('', '407', '', 'activity_6', '', 'tc=CM-04b&act=6', 'SEQ01', '', '', 'Activity 6'); -INSERT INTO cp_item VALUES ('', '408', '', 'activity_7', '', 'tc=CM-04b&act=7', 'SEQ01', '', '', 'Activity 7'); -INSERT INTO cp_item VALUES ('', '409', '', 'activity_8', '', '', '', '', '', 'Activity 8'); -INSERT INTO cp_item VALUES ('', '410', '', 'activity_9', '', 'tc=CM-04b&act=9', 'SEQ01', '', '', 'Activity 9'); -INSERT INTO cp_item VALUES ('', '411', '', 'activity_10', '', '', '', 'id2690845', '', 'Activity 10'); -INSERT INTO cp_item VALUES ('', '412', '', 'activity_11', '', '', '', 'id2688662', '', 'Activity 11'); -INSERT INTO cp_item VALUES ('', '413', '', 'activity_12', '', 'tc=CM-04b&act=12', 'SEQ01', '', '', 'Activity 12'); -INSERT INTO cp_item VALUES ('', '414', '', 'activity_13', '', 'tc=CM-04b&act=13', 'SEQ01', '', '', 'Activity 13'); -INSERT INTO cp_item VALUES ('', '415', '', 'activity_14', '', 'tc=CM-04b&act=14', 'SEQ01', '', '', 'Activity 14'); -INSERT INTO cp_item VALUES ('', '416', '', 'activity_15', '', 'tc=CM-04b&act=15', 'SEQ01', '', '', 'Activity 15'); -INSERT INTO cp_item VALUES ('', '445', '', 'activity_1', '', '', '', 'id2684529', '', 'Activity 1'); -INSERT INTO cp_item VALUES ('', '446', '', 'activity_2', '', 'tc=CM-04c&act=2', 'SEQ01', '', '', 'Activity 2'); -INSERT INTO cp_item VALUES ('', '450', '', 'activity_3', '', 'tc=CM-04c&act=3', 'SEQ01', '', '', 'Activity 3'); -INSERT INTO cp_item VALUES ('', '454', '', 'activity_4', '', '', '', '', '', 'Activity 4'); -INSERT INTO cp_item VALUES ('', '455', '', 'activity_5', '', 'tc=CM-04c&act=5', 'SEQ01', '', '', 'Activity 5'); -INSERT INTO cp_item VALUES ('', '459', '', 'activity_6', '', 'tc=CM-04c&act=6', 'SEQ01', '', '', 'Activity 6'); -INSERT INTO cp_item VALUES ('', '463', '', 'activity_7', '', 'tc=CM-04c&act=7', 'SEQ01', '', '', 'Activity 7'); -INSERT INTO cp_item VALUES ('', '467', '', 'activity_8', '', '', '', '', '', 'Activity 8'); -INSERT INTO cp_item VALUES ('', '468', '', 'activity_9', '', 'tc=CM-04c&act=9', 'SEQ01', '', '', 'Activity 9'); -INSERT INTO cp_item VALUES ('', '472', '', 'activity_10', '', '', '', 'id2683882', '', 'Activity 10'); -INSERT INTO cp_item VALUES ('', '473', '', 'activity_11', '', '', '', 'id2684033', '', 'Activity 11'); -INSERT INTO cp_item VALUES ('', '474', '', 'activity_12', '', 'tc=CM-04c&act=12', 'SEQ01', '', '', 'Activity 12'); -INSERT INTO cp_item VALUES ('', '478', '', 'activity_13', '', 'tc=CM-04c&act=13', 'SEQ01', '', '', 'Activity 13'); -INSERT INTO cp_item VALUES ('', '482', '', 'activity_14', '', 'tc=CM-04c&act=14', 'SEQ01', '', '', 'Activity 14'); -INSERT INTO cp_item VALUES ('', '486', '', 'activity_15', '', 'tc=CM-04c&act=15', 'SEQ01', '', '', 'Activity 15'); -INSERT INTO cp_item VALUES ('', '517', '', 'activity_1', '', '', '', 'id2829866', '', 'Activity 1'); -INSERT INTO cp_item VALUES ('', '518', '', 'activity_2', '', 'tc=CM-04d&act=2', 'SEQ01', '', '', 'Activity 2'); -INSERT INTO cp_item VALUES ('', '522', '', 'activity_3', 'false', 'tc=CM-04d&act=3', 'SEQ01', '', '', 'Activity 3'); -INSERT INTO cp_item VALUES ('', '526', '', 'activity_4', '', '', '', '', '', 'Activity 4'); -INSERT INTO cp_item VALUES ('', '527', '', 'activity_5', '', 'tc=CM-04d&act=5', 'SEQ01', '', '', 'Activity 5'); -INSERT INTO cp_item VALUES ('', '531', '', '_6Sample-act', 'false', 'tc=CM-04d&act=6', 'SEQ01', '', '', 'Activity 6'); -INSERT INTO cp_item VALUES ('', '535', '', 'activity_7', '', 'tc=CM-04d&act=7', 'SEQ01', '', '', 'Activity 7'); -INSERT INTO cp_item VALUES ('', '539', '', 'activity_8', '', '', '', '', '', 'Activity 8'); -INSERT INTO cp_item VALUES ('', '540', '', 'activity_9', '', 'tc=CM-04d&act=9', 'SEQ01', '', '', 'Activity 9'); -INSERT INTO cp_item VALUES ('', '544', '', 'activity_10', '', '', '', '', '', 'Activity 10'); -INSERT INTO cp_item VALUES ('', '545', '', 'activity_11', '', '', '', '', '', 'Activity 11'); -INSERT INTO cp_item VALUES ('', '546', '', 'activity_12', '', 'tc=CM-04d&act=12', 'SEQ01', '', '', 'Activity 12'); -INSERT INTO cp_item VALUES ('', '550', '', 'Sample-act-13', '', 'tc=CM-04d&act=13', 'SEQ01', '', '', 'Activity 13'); -INSERT INTO cp_item VALUES ('', '554', '', 'activity_14', 'false', 'tc=CM-04d&act=14', 'SEQ01', '', '', 'Activity 14'); -INSERT INTO cp_item VALUES ('', '558', '', 'Sample15', 'false', 'tc=CM-04d&act=15', 'SEQ01', '', '', 'Activity 15'); -INSERT INTO cp_item VALUES ('', '585', '', 'activity_1', '', 'tc=CM-05&act=1', 'SEQ01', '', '', 'Activity 1'); -INSERT INTO cp_item VALUES ('', '589', '', 'activity_2', '', '', '', 'id3022102', '', 'Activity 2'); -INSERT INTO cp_item VALUES ('', '590', '', 'activity_3', '', '', '', 'id3028815', '', 'Activity 3'); -INSERT INTO cp_item VALUES ('', '591', '', 'activity_4', '', 'tc=CM-05&act=4', 'SEQ01', '', '', 'Activity 4'); -INSERT INTO cp_item VALUES ('', '595', '', 'activity_5', '', 'tc=CM-05&act=5', 'SEQ01', '', '', 'Activity 5'); -INSERT INTO cp_item VALUES ('', '599', '', 'activity_6', '', 'tc=CM-05&act=6', 'SEQ01', '', '', 'Activity 6'); -INSERT INTO cp_item VALUES ('', '603', '', 'activity_7', '', 'tc=CM-05&act=7', 'SEQ01', '', '', 'Activity 7'); -INSERT INTO cp_item VALUES ('', '607', '', 'activity_8', '', 'tc=CM-05&act=8', 'SEQ01', '', '', 'Activity 8'); -INSERT INTO cp_item VALUES ('', '611', '', 'activity_9', '', 'tc=CM-05&act=9', 'SEQ01', '', '', 'Activity 9'); -INSERT INTO cp_item VALUES ('', '640', '', 'activity_1', '', 'tc=CM-06&act=1', 'SEQ01', '', '', 'Activity 1'); -INSERT INTO cp_item VALUES ('', '644', '', 'activity_2', '', 'tc=CM-06&act=2', 'SEQ01', '', '', 'Activity 2'); -INSERT INTO cp_item VALUES ('', '648', '', 'activity_3', '', 'tc=CM-06&act=3', 'SEQ01', '', '', 'Activity 3'); -INSERT INTO cp_item VALUES ('', '675', '', 'activity_1', '', '', '', 'id2837640', '', 'Activity 1'); -INSERT INTO cp_item VALUES ('', '676', '', 'activity_2', '', '', '', 'id2815570', '', 'Activity 2'); -INSERT INTO cp_item VALUES ('', '677', '', 'activity_3', '', 'tc=CM-07a&act=3', 'SEQ01', '', '', 'Activity 3'); -INSERT INTO cp_item VALUES ('', '678', '', 'activity_4', '', 'tc=CM-07a&act=4', 'SEQ01', '', '', 'Activity 4'); -INSERT INTO cp_item VALUES ('', '679', '', 'activity_5', '', 'tc=CM-07a&act=5', 'Seq01', 'id2813725', '', 'Activity 5'); -INSERT INTO cp_item VALUES ('', '680', '', 'activity_6', '', 'tc=CM-07a&act=6', 'SEQ01', 'id2832153', '', 'Activity 6'); -INSERT INTO cp_item VALUES ('', '681', '', 'activity_7', '', 'tc=CM-07a&act=7', 'SEQ01', '', '', 'Activity 7'); -INSERT INTO cp_item VALUES ('', '682', '', 'activity_8', '', '', '', 'id2813947', '', 'Activity 8'); -INSERT INTO cp_item VALUES ('', '683', '', 'activity_9', '', 'tc=CM-07a&act=9', 'SEQ01', '', '', 'Activity 9'); -INSERT INTO cp_item VALUES ('', '684', '', 'activity_10', '', 'tc=CM-07a&act=10', 'SEQ01', 'id2837777', '', 'Activity 10'); -INSERT INTO cp_item VALUES ('', '685', '', 'activity_11', '', '', '', 'id2813936', '', 'Activity 11'); -INSERT INTO cp_item VALUES ('', '686', '', 'activity_12', '', 'tc=CM-07a&act=12', 'SEQ01', '', '', 'Activity 12'); -INSERT INTO cp_item VALUES ('', '687', '', 'activity_13', '', 'tc=CM-07a&act=13', 'SEQ01', '', '', 'Activity 13'); -INSERT INTO cp_item VALUES ('', '688', '', 'activity_14', '', 'tc=CM-07a&act=14', 'SEQ01', 'id2837306', '', 'Activity 14'); -INSERT INTO cp_item VALUES ('', '731', '', 'activity_1', '', '', '', 'id3020067', '', 'Activity 1'); -INSERT INTO cp_item VALUES ('', '732', '', 'activity_2', '', 'tc=CM-07b&act=2', 'SEQ01', 'id3024937', '', 'Activity 2'); -INSERT INTO cp_item VALUES ('', '733', '', 'activity_3', '', 'tc=CM-07b&act=3', 'SEQ01', '', '', 'Activity 3'); -INSERT INTO cp_item VALUES ('', '734', '', 'activity_4', '', '', '', 'id3022124', '', 'Activity 4'); -INSERT INTO cp_item VALUES ('', '735', '', 'activity_5', '', '', '', 'id3028800', '', 'Activity 5'); -INSERT INTO cp_item VALUES ('', '736', '', 'activity_6', '', 'tc=CM-07b&act=6', 'SEQ01', '', '', 'Activity 6'); -INSERT INTO cp_item VALUES ('', '737', '', 'activity_7', '', 'tc=CM-07b&act=7', 'SEQ01', '', '', 'Activity 7'); -INSERT INTO cp_item VALUES ('', '738', '', 'activity_8', '', 'tc=CM-07b&act=8', 'SEQ01', '', '', 'Activity 8'); -INSERT INTO cp_item VALUES ('', '739', '', 'activity_9', '', '', '', 'id3020956', '', 'Activity 9'); -INSERT INTO cp_item VALUES ('', '740', '', 'activity_10', '', '', '', 'id3020285', '', 'Activity 10'); -INSERT INTO cp_item VALUES ('', '741', '', 'activity_11', '', 'tc=CM-07b&act=11', 'SEQ01', '', '', 'Activity 11'); -INSERT INTO cp_item VALUES ('', '742', '', 'activity_12', '', 'tc=CM-07b&act=12', 'Seq01', '', '', 'Activity 12'); -INSERT INTO cp_item VALUES ('', '743', '', 'activity_13', '', '', '', 'id3020988', '', 'Activity 13'); -INSERT INTO cp_item VALUES ('', '744', '', 'activity_14', '', '', '', 'id3024549', '', 'Activity 14'); -INSERT INTO cp_item VALUES ('', '745', '', 'activity_15', '', 'tc=CM-07b&act=15', 'SEQ01', 'id3020228', '', 'Activity 15'); -INSERT INTO cp_item VALUES ('', '746', '', 'activity_16', '', 'tc=CM-07b&act=16', 'SEQ01', 'id3024605', '', 'Activity 16'); -INSERT INTO cp_item VALUES ('', '747', '', 'activity_17', '', 'tc=CM-07b&act=17', 'SEQ01', '', '', 'Activity 17'); -INSERT INTO cp_item VALUES ('', '748', '', 'activity_18', '', '', '', '', '', 'Activity 18'); -INSERT INTO cp_item VALUES ('', '749', '', 'activity_19', '', 'tc=CM-07b&act=19', 'SEQ01', '', '', 'Activity 19'); -INSERT INTO cp_item VALUES ('', '750', '', 'activity_20', '', 'tc=CM-07b&act=20', 'SEQ01', '', '', 'Activity 20'); -INSERT INTO cp_item VALUES ('', '751', '', 'activity_21', '', 'tc=CM-07b&act=21', 'SEQ01', '', '', 'Activity 21'); -INSERT INTO cp_item VALUES ('', '799', '', 'activity_1', '', '', '', 'id2621923', '', 'Activity 1'); -INSERT INTO cp_item VALUES ('', '800', '', 'activity_2', '', 'tc=CM-07c&act=2', 'SEQ01', 'id2621964', '', 'Activity 2'); -INSERT INTO cp_item VALUES ('', '801', '', 'activity_3', '', 'tc=CM-07c&act=3', 'SEQ01', '', '', 'Activity 3'); -INSERT INTO cp_item VALUES ('', '802', '', 'activity_4', '', '', '', 'id2621616', '', 'Activity 4'); -INSERT INTO cp_item VALUES ('', '803', '', 'activity_5', '', '', '', 'id2621754', '', 'Activity 5'); -INSERT INTO cp_item VALUES ('', '804', '', 'activity_6', '', 'tc=CM-07c&act=6', 'SEQ01', '', '', 'Activity 6'); -INSERT INTO cp_item VALUES ('', '805', '', 'activity_7', '', 'tc=CM-07c&act=7', 'SEQ01', 'id2621788', '', 'Activity 7'); -INSERT INTO cp_item VALUES ('', '806', '', 'activity_8', '', 'tc=CM-07c&act=8', 'SEQ01', '', '', 'Activity 8'); -INSERT INTO cp_item VALUES ('', '807', '', 'activity_9', '', '', '', 'id2621419', '', 'Activity 9'); -INSERT INTO cp_item VALUES ('', '808', '', 'activity_10', 'false', 'tc=CM-07c&act=10', 'SEQ01', '', '', 'Activity 10'); -INSERT INTO cp_item VALUES ('', '809', '', 'activity_11', '', '', '', 'id2621435', '', 'Activity 11'); -INSERT INTO cp_item VALUES ('', '810', '', 'activity_12', '', '', '', 'id2621504', '', 'Activity 12'); -INSERT INTO cp_item VALUES ('', '811', '', 'activity_13', '', 'tc=CM-07c&act=13', 'SEQ01', '', '', 'Activity 13'); -INSERT INTO cp_item VALUES ('', '812', '', 'activity_14', '', 'tc=CM-07c&act=14', 'SEQ01', '', '', 'Activity 14'); -INSERT INTO cp_item VALUES ('', '813', '', 'activity_15', '', 'tc=CM-07c&act=15', 'SEQ01', '', '', 'Activity 15'); -INSERT INTO cp_item VALUES ('', '814', '', 'activity_16', '', '', '', 'id2621296', '', 'Activity 16'); -INSERT INTO cp_item VALUES ('', '815', '', 'activity_17', '', 'tc=CM-07c&act=17', 'SEQ01', '', '', 'Activity 17'); -INSERT INTO cp_item VALUES ('', '816', '', 'activity_18', '', 'tc=CM-07c&act=18', 'SEQ01', 'id2621312', '', 'Activity 18'); -INSERT INTO cp_item VALUES ('', '856', '', 'activity_1', '', '', '', 'id2676334', '', 'Activity 1'); -INSERT INTO cp_item VALUES ('', '857', '', 'activity_2', '', 'tc=CM-07d&act=2', 'SEQ01', '', '', 'Activity 2'); -INSERT INTO cp_item VALUES ('', '858', '', 'activity_3', '', 'tc=CM-07d&act=3', 'SEQ01', '', '', 'Activity 3'); -INSERT INTO cp_item VALUES ('', '859', '', 'activity_4', '', '', '', 'id2676165', '', 'Activity 4'); -INSERT INTO cp_item VALUES ('', '860', '', 'activity_5', '', '', '', '', '', 'Activity 5'); -INSERT INTO cp_item VALUES ('', '861', '', 'activity_6', '', 'tc=CM-07d&act=6', 'SEQ01', '', '', 'Activity 6'); -INSERT INTO cp_item VALUES ('', '862', '', 'activity_7', '', 'tc=CM-07d&act=7', 'SEQ01', '', '', 'Activity 7'); -INSERT INTO cp_item VALUES ('', '863', '', 'activity_8', '', 'tc=CM-07d&act=8', 'SEQ01', '', '', 'Activity 8'); -INSERT INTO cp_item VALUES ('', '864', '', 'activity_9', '', '', '', 'id2675940', '', 'Activity 9'); -INSERT INTO cp_item VALUES ('', '865', '', 'activity_10', '', 'tc=CM-07d&act=10', 'SEQ01', '', '', 'Activity 10'); -INSERT INTO cp_item VALUES ('', '866', '', 'activity_11', '', '', '', 'id2675982', '', 'Activity 11'); -INSERT INTO cp_item VALUES ('', '867', '', 'activity_12', '', '', '', 'id2676043', '', 'Activity 12'); -INSERT INTO cp_item VALUES ('', '868', '', 'activity_13', '', 'tc=CM-07d&act=13', 'SEQ01', 'id2676063', '', 'Activity 13'); -INSERT INTO cp_item VALUES ('', '869', '', 'activity_14', '', 'tc=CM-07d&act=14', 'SEQ01', '', '', 'Activity 14'); -INSERT INTO cp_item VALUES ('', '870', '', 'activity_15', '', 'tc=CM-07d&act=15', 'SEQ01', '', '', 'Activity 15'); -INSERT INTO cp_item VALUES ('', '871', '', 'activity_16', '', '', '', 'id2675857', '', 'Activity 16'); -INSERT INTO cp_item VALUES ('', '872', '', 'activity_17', '', 'tc=CM-07d&act=17', 'SEQ01', '', '', 'Activity 17'); -INSERT INTO cp_item VALUES ('', '873', '', 'activity_18', '', 'tc=CM-07d&act=18', 'SEQ01', '', '', 'Activity 18'); -INSERT INTO cp_item VALUES ('', '904', '', 'activity_1', '', 'tc=CM-07e&act=1', 'SEQ01', '', '', 'Activity 1'); -INSERT INTO cp_item VALUES ('', '905', '', 'activity_2', '', '', '', 'id2619344', '', 'Activity 2'); -INSERT INTO cp_item VALUES ('', '906', '', 'CaseTest', '', 'tc=CM-07e&act=3', 'SEQ01', '', '', 'Activity 3'); -INSERT INTO cp_item VALUES ('', '907', '', 'activity_4', '', '', '', 'id2618515', '', 'Activity 4'); -INSERT INTO cp_item VALUES ('', '908', '', 'activity_5', '', 'tc=CM-07e&act=5', 'SEQ01', '', '', 'Activity 5'); -INSERT INTO cp_item VALUES ('', '909', '', 'activity_6', '', 'tc=CM-07e&act=6', 'SEQ01', '', '', 'Activity 6'); -INSERT INTO cp_item VALUES ('', '937', '', 'activity_1', '', 'tc=CM-07f&act=1', 'SEQ01', 'id2680596', '', 'Activity 1'); -INSERT INTO cp_item VALUES ('', '938', '', 'activity_2', '', 'tc=CM-07f&act=2', 'SEQ01', '', '', 'Activity 2'); -INSERT INTO cp_item VALUES ('', '939', '', 'activity_3', '', 'tc=CM-07f&act=3', 'SEQ01', '', '', 'Activity 3'); -INSERT INTO cp_item VALUES ('', '940', '', 'activity_4', '', 'tc=CM-07f&act=4', 'SEQ01', '', '', 'Activity 4'); -INSERT INTO cp_item VALUES ('', '967', '', 'activity_1', '', 'tc=CM-08&act=1', 'SEQ01', 'id2682236', '', 'Activity 1'); -INSERT INTO cp_item VALUES ('', '968', '', 'activity_2', '', 'tc=CM-08&act=2', 'SEQ01', 'id2681702', '', 'Activity 2'); -INSERT INTO cp_item VALUES ('', '996', '', 'activity_1', '', 'tc=DMB&act=1', 'DMBEHAVIOR01', '', '', 'Data Model Behavior Test 1'); -INSERT INTO cp_item VALUES ('0.8', '998', '', 'activity_2', '', 'tc=DMB&act=2', 'DMBEHAVIOR02', '', '', 'Data Model Behavior Test 2'); -INSERT INTO cp_item VALUES ('', '1000', '', 'activity_3', '', 'tc=DMB&act=3', 'DMBEHAVIOR03', 'id2624021', '', 'Data Model Behavior Test 3'); -INSERT INTO cp_item VALUES ('', '1002', '', 'activity_4', '', 'tc=DMB&act=4', 'DMBEHAVIOR04', 'id2623911', '', 'Data Model Behavior Test 4'); -INSERT INTO cp_item VALUES ('', '1004', '', 'activity_5', '', 'tc=DMB&act=5', 'DMBEHAVIOR05', 'id2623838', '', 'Data Model Behavior Test 5'); -INSERT INTO cp_item VALUES ('0.6', '1006', '', 'activity_6', '', 'tc=DMB&act=6', 'DMBEHAVIOR06', 'id2623724', '', 'Data Model Behavior Test 6'); -INSERT INTO cp_item VALUES ('', '1008', '', 'activity_7', '', 'tc=DMB&act=7', 'DMBEHAVIOR07', 'id2623628', '', 'Data Model Behavior Test 7'); -INSERT INTO cp_item VALUES ('', '1010', '', 'activity_8', '', 'tc=DMB&act=8', 'DMBEHAVIOR08', 'id2623522', '', 'Data Model Behavior Test 8'); -INSERT INTO cp_item VALUES ('', '1012', '', 'activity_9', '', 'tc=DMB&act=9', 'DMBEHAVIOR09', '', '', 'Data Model Behavior Test 9'); -INSERT INTO cp_item VALUES ('0.8', '1104', 'Launch Data Test', 'activity_1', '', 'tc=DMI&act=1', 'DMIMPLEMENTATION01', '', 'continue,message', 'Data Model Implementation Test 1'); -INSERT INTO cp_item VALUES ('', '1106', 'thisstringislength20qwertyuiop0123456789thisstringislength60qwertyuiop0123456789thisstringislengt100thisstringislengt120qwertyuiop0123456789thisstringislengt160qwertyuiop0123456789thisstringislengt200thisstringislengt220qwertyuiop0123456789thisstringislengt260qwertyuiop0123456789thisstringislengt300thisstringislengt320qwertyuiop0123456789thisstringislengt360qwertyuiop0123456789thisstringislengt400thisstringislengt420qwertyuiop0123456789thisstringislengt460qwertyuiop0123456789thisstringislengt500thisstringislengt520qwertyuiop0123456789thisstringislengt560qwertyuiop0123456789thisstringislengt600thisstringislengt620qwertyuiop0123456789thisstringislengt660qwertyuiop0123456789thisstringislengt700thisstringislengt720qwertyuiop0123456789thisstringislengt760qwertyuiop0123456789thisstringislengt800thisstringislengt820qwertyuiop0123456789thisstringislengt860qwertyuiop0123456789thisstringislengt900thisstringislengt920qwertyuiop0123456789thisstringislengt960qwertyuiop0123456789thisstringisleng1000thisstringisleng1020qwertyuiop0123456789thisstringisleng1060qwertyuiop0123456789thisstringisleng1100thisstringisleng1120qwertyuiop0123456789thisstringisleng1160qwertyuiop0123456789thisstringisleng1200thisstringisleng1220qwertyuiop0123456789thisstringisleng1260qwertyuiop0123456789thisstringisleng1300thisstringisleng1320qwertyuiop0123456789thisstringisleng1360qwertyuiop0123456789thisstringisleng1400thisstringisleng1420qwertyuiop0123456789thisstringisleng1460qwertyuiop0123456789thisstringisleng1500thisstringisleng1520qwertyuiop0123456789thisstringisleng1560qwertyuiop0123456789thisstringisleng1600thisstringisleng1620qwertyuiop0123456789thisstringisleng1660qwertyuiop0123456789thisstringisleng1700thisstringisleng1720qwertyuiop0123456789thisstringisleng1760qwertyuiop0123456789thisstringisleng1800thisstringisleng1820qwertyuiop0123456789thisstringisleng1860qwertyuiop0123456789thisstringisleng1900thisstringisleng1920qwertyuiop0123456789thisstringisleng1960qwertyuiop0123456789thisstringisleng2000thisstringisleng2020qwertyuiop0123456789thisstringisleng2060qwertyuiop0123456789thisstringisleng2100thisstringisleng2120qwertyuiop0123456789thisstringisleng2160qwertyuiop0123456789thisstringisleng2200thisstringisleng2220qwertyuiop0123456789thisstringisleng2260qwertyuiop0123456789thisstringisleng2300thisstringisleng2320qwertyuiop0123456789thisstringisleng2360qwertyuiop0123456789thisstringisleng2400thisstringisleng2420qwertyuiop0123456789thisstringisleng2460qwertyuiop0123456789thisstringisleng2500thisstringisleng2520qwertyuiop0123456789thisstringisleng2560qwertyuiop0123456789thisstringisleng2600thisstringisleng2620qwertyuiop0123456789thisstringisleng2660qwertyuiop0123456789thisstringisleng2700thisstringisleng2720qwertyuiop0123456789thisstringisleng2760qwertyuiop0123456789thisstringisleng2800thisstringisleng2820qwertyuiop0123456789thisstringisleng2860qwertyuiop0123456789thisstringisleng2900thisstringisleng2920qwertyuiop0123456789thisstringisleng2960qwertyuiop0123456789thisstringisleng2000thisstringisleng3020qwertyuiop0123456789thisstringisleng3060qwertyuiop0123456789thisstringisleng3100thisstringisleng3120qwertyuiop0123456789thisstringisleng3160qwertyuiop0123456789thisstringisleng3200thisstringisleng3220qwertyuiop0123456789thisstringisleng3260qwertyuiop0123456789thisstringisleng3300thisstringisleng3320qwertyuiop0123456789thisstringisleng3360qwertyuiop0123456789thisstringisleng3400thisstringisleng3420qwertyuiop0123456789thisstringisleng3460qwertyuiop0123456789thisstringisleng3500thisstringisleng3520qwertyuiop0123456789thisstringisleng3560qwertyuiop0123456789thisstringisleng3600thisstringisleng3620qwertyuiop0123456789thisstringisleng3660qwertyuiop0123456789thisstringisleng3700thisstringisleng3720qwertyuiop0123456789thisstringisleng3760qwertyuiop0123456789thisstringisleng3800thisstringisleng3820qwertyuiop0123456789thisstringisleng3860qwertyuiop0123456789thisstringisleng3900thisstringisleng3920qwertyuiop0123456789thisstringisleng3960qwertyuiop0123456789thisstringisleng4000', 'activity_2', '', 'tc=DMI&act=2', 'DMIMPLEMENTATION02', '', '', 'Data Model Implementation Test 2'); -INSERT INTO cp_item VALUES ('', '1108', '', 'activity_3', '', 'tc=DMI&act=3', 'DMIMPLEMENTATION03', '', '', 'Data Model Implementation Test 3'); -INSERT INTO cp_item VALUES ('', '1110', '', 'activity_4', '', 'tc=DMI&act=4', 'DMIMPLEMENTATION04', '', '', 'Data Model Implementation Test 4'); -INSERT INTO cp_item VALUES ('', '1155', '', 'activity_1', '', 'tc=MS-01&act=1', 'SEQ01', '', '', 'Activity 1'); -INSERT INTO cp_item VALUES ('', '1159', '', 'activity_2', '', '', '', 'id2623509', '', 'Activity 2'); -INSERT INTO cp_item VALUES ('', '1160', '', 'activity_3', '', 'tc=MS-01&act=3', 'SEQ01', 'id2623667', '', 'Activity 3'); -INSERT INTO cp_item VALUES ('', '1164', '', 'activity_4', '', 'tc=MS-01&act=4', 'SEQ01', '', '', 'Activity 4'); -INSERT INTO cp_item VALUES ('', '1168', '', 'activity_5', '', 'tc=MS-01&act=5', 'SEQ01', '', '', 'Activity 5'); -INSERT INTO cp_item VALUES ('', '1172', '', 'activity_6', '', 'tc=MS-01&act=6', 'SEQ01', '', '', 'Activity 6'); -INSERT INTO cp_item VALUES ('', '1203', '', 'activity_1', '', 'tc=MS-02&act=1', 'SEQ01', '', '', 'Activity 1'); -INSERT INTO cp_item VALUES ('', '1207', '', 'activity_2', '', '', '', 'id2630752', '', 'Activity 2'); -INSERT INTO cp_item VALUES ('', '1208', '', 'activity_3', '', 'tc=MS-02&act=3', 'SEQ01', 'id2631163', '', 'Activity 3'); -INSERT INTO cp_item VALUES ('', '1212', '', 'activity_4', '', 'tc=MS-02&act=4', 'SEQ01', 'id2625279', '', 'Activity 4'); -INSERT INTO cp_item VALUES ('', '1216', '', 'activity_5', '', 'tc=MS-02&act=5', 'SEQ01', 'id2630740', '', 'Activity 5'); -INSERT INTO cp_item VALUES ('', '1220', '', 'activity_6', '', 'tc=MS-02&act=6', 'SEQ01', '', '', 'Activity 6'); -INSERT INTO cp_item VALUES ('', '1253', '', 'activity_1', '', 'tc=MS-03&act=1', 'SEQ01', '', '', 'Activity 1'); -INSERT INTO cp_item VALUES ('', '1257', '', 'activity_2', '', '', '', 'id3111817', '', 'Activity 2'); -INSERT INTO cp_item VALUES ('', '1258', '', 'activity_3', '', 'tc=MS-03&act=3', 'SEQ01', 'id3078556', '', 'Activity 3'); -INSERT INTO cp_item VALUES ('', '1262', '', 'activity_4', '', 'tc=MS-03&act=4', 'SEQ01', 'id3078599', '', 'Activity 4'); -INSERT INTO cp_item VALUES ('', '1266', '', 'activity_5', '', 'tc=MS-03&act=5', 'SEQ01', 'id3111807', '', 'Activity 5'); -INSERT INTO cp_item VALUES ('', '1270', '', 'activity_6', '', 'tc=MS-03&act=6', 'SEQ01', '', '', 'Activity 6'); -INSERT INTO cp_item VALUES ('', '1303', '', 'activity_1', '', 'tc=MS-04&act=1', 'SEQ01', '', '', 'Activity 1'); -INSERT INTO cp_item VALUES ('', '1304', '', 'activity_2', '', '', '', 'id2836564', '', 'Activity 2'); -INSERT INTO cp_item VALUES ('', '1305', '', 'activity_3', '', 'tc=MS-04&act=3', 'SEQ01', '', '', 'Activity 3'); -INSERT INTO cp_item VALUES ('', '1306', '', 'activity_4', '', 'tc=MS-04&act=4', 'SEQ01', 'id2836477', '', 'Activity 4'); -INSERT INTO cp_item VALUES ('', '1307', '', 'activity_5', '', 'tc=MS-04&act=5', 'SEQ01', 'id2838200', '', 'Activity 5'); -INSERT INTO cp_item VALUES ('', '1308', '', 'activity_6', '', 'tc=MS-04&act=6', 'SEQ01', '', '', 'Activity 6'); -INSERT INTO cp_item VALUES ('', '1337', '', 'activity_1', '', 'tc=MS-05a&act=1', 'SEQ01', '', '', 'Activity 1'); -INSERT INTO cp_item VALUES ('', '1338', '', 'activity_2', '', '', '', 'id2832248', '', 'Activity 2'); -INSERT INTO cp_item VALUES ('', '1339', '', 'activity_3', '', 'tc=MS-05a&act=3', 'SEQ01', '', '', 'Activity 3'); -INSERT INTO cp_item VALUES ('', '1340', '', 'activity_4', '', 'tc=MS-05a&act=4', 'SEQ01', '', '', 'Activity 4'); -INSERT INTO cp_item VALUES ('', '1341', '', 'activity_5', '', 'tc=MS-05a&act=5', 'SEQ01', 'id2821682', '', 'Activity 5'); -INSERT INTO cp_item VALUES ('', '1342', '', 'activity_6', '', 'tc=MS-05a&act=6', 'SEQ01', '', '', 'Activity 6'); -INSERT INTO cp_item VALUES ('', '1373', '', 'activity_1', '', 'tc=MS-05b&act=1', 'SEQ01', '', '', 'Activity 1'); -INSERT INTO cp_item VALUES ('', '1377', '', 'activity_2', '', '', '', 'id2689660', '', 'Activity 2'); -INSERT INTO cp_item VALUES ('', '1378', '', 'activity_3', '', 'tc=MS-05b&act=3', 'SEQ01', '', '', 'Activity 3'); -INSERT INTO cp_item VALUES ('', '1382', '', 'activity_4', '', 'tc=MS-05b&act=4', 'SEQ01', '', '', 'Activity 4'); -INSERT INTO cp_item VALUES ('', '1386', '', 'activity_5', '', 'tc=MS-05b&act=5', 'SEQ01', 'id2689649', '', 'Activity 5'); -INSERT INTO cp_item VALUES ('', '1390', '', 'activity_6', '', 'tc=MS-05b&act=6', 'SEQ01', '', '', 'Activity 6'); -INSERT INTO cp_item VALUES ('', '1424', '', 'activity_1', '', 'tc=MS-06&act=1', 'SEQ01', '', '', 'Activity 1'); -INSERT INTO cp_item VALUES ('', '1428', '', 'activity_2', '', '', '', 'id2684182', '', 'Activity 2'); -INSERT INTO cp_item VALUES ('', '1429', '', 'activity_3', '', 'tc=MS-06&act=3', 'SEQ01', '', '', 'Activity 3'); -INSERT INTO cp_item VALUES ('', '1433', '', 'activity_4', '', 'tc=MS-06&act=4', 'SEQ01', '', '', 'Activity 4'); -INSERT INTO cp_item VALUES ('', '1437', '', 'activity_5', '', 'tc=MS-06&act=5', 'SEQ01', 'id2692447', '', 'Activity 5'); -INSERT INTO cp_item VALUES ('', '1441', '', 'activity_6', '', 'tc=MS-06&act=6', 'SEQ01', '', '', 'Activity 6'); -INSERT INTO cp_item VALUES ('', '1477', '', 'activity_1', '', 'tc=OB-01a&act=1', 'SEQ01', 'id2684515', '', 'Activity 1'); -INSERT INTO cp_item VALUES ('', '1481', '', 'activity_2', '', 'tc=OB-01a&act=2', 'SEQ01', 'id2684181', '', 'Activity 2'); -INSERT INTO cp_item VALUES ('', '1485', '', 'activity_3', '', 'tc=OB-01a&act=3', 'SEQ01', '', '', 'Activity 3'); -INSERT INTO cp_item VALUES ('', '1520', '', 'activity_1', '', 'tc=OB-01b&act=1', 'SEQ01', 'id2835613', '', 'Activity 1'); -INSERT INTO cp_item VALUES ('', '1524', '', 'activity_2', '', 'tc=OB-01b&act=2', 'SEQ01', 'id2834911', '', 'Activity 2'); -INSERT INTO cp_item VALUES ('', '1528', '', 'activity_3', '', 'tc=OB-01b&act=3', 'SEQ01', '', '', 'Activity 3'); -INSERT INTO cp_item VALUES ('', '1563', '', 'activity_1', '', 'tc=OB-01c&act=1', 'SEQ01', 'id2680072', '', 'Activity 1'); -INSERT INTO cp_item VALUES ('', '1567', '', 'activity_2', '', 'tc=OB-01c&act=2', 'SEQ01', 'id2682456', '', 'Activity 2'); -INSERT INTO cp_item VALUES ('', '1571', '', 'activity_3', '', 'tc=OB-01c&act=3', 'SEQ01', '', '', 'Activity 3'); -INSERT INTO cp_item VALUES ('', '1606', '', 'activity_1', '', 'tc=OB-02a&act=1', 'SEQ01', 'id2680029', '', 'Activity 1'); -INSERT INTO cp_item VALUES ('', '1610', '', 'activity_2', '', 'tc=OB-02a&act=2', 'SEQ01', 'id2680065', '', 'Activity 2'); -INSERT INTO cp_item VALUES ('', '1614', '', 'activity_3', '', 'tc=OB-02a&act=3', 'SEQ01', '', '', 'Activity 3'); -INSERT INTO cp_item VALUES ('', '1651', '', 'activity_1', '', 'tc=OB-02b&act=1', 'SEQ01', 'id2678657', '', 'Activity 1'); -INSERT INTO cp_item VALUES ('', '1652', '', 'activity_2', '', 'tc=OB-02b&act=2', 'SEQ01', 'id2678572', '', 'Activity 2'); -INSERT INTO cp_item VALUES ('', '1653', '', 'activity_3', '', 'tc=OB-02b&act=3', 'SEQ01', '', '', 'Activity 3'); -INSERT INTO cp_item VALUES ('', '1687', '', 'activity_1', '', 'tc=OB-03a&act=1', 'SEQ01', 'id2836190', '', 'Activity 1'); -INSERT INTO cp_item VALUES ('', '1691', '', 'activity_2', '', 'tc=OB-03a&act=2', 'SEQ01', 'id2832296', '', 'Activity 2'); -INSERT INTO cp_item VALUES ('', '1695', '', 'activity_3', '', 'tc=OB-03a&act=3', 'SEQ01', 'id2821209', '', 'Activity 3'); -INSERT INTO cp_item VALUES ('', '1734', '', 'activity_1', '', 'tc=OB-03b&act=1', 'SEQ01', 'id3020934', '', 'Activity 1'); -INSERT INTO cp_item VALUES ('', '1738', '', 'activity_2', '', '', '', 'id3022408', '', 'Activity 2'); -INSERT INTO cp_item VALUES ('', '1739', '', 'activity_3', '', '', '', 'id3074114', '', 'Activity 3'); -INSERT INTO cp_item VALUES ('', '1740', '', 'activity_4', '', 'tc=OB-03b&act=4', 'SEQ01', '', '', 'Activity 4'); -INSERT INTO cp_item VALUES ('', '1744', '', 'activity_5', '', 'tc=OB-03b&act=5', 'SEQ01', 'id3028833', '', 'Activity 5'); -INSERT INTO cp_item VALUES ('', '1748', '', 'activity_6', '', 'tc=OB-03b&act=6', 'SEQ01', '', '', 'Activity 6'); -INSERT INTO cp_item VALUES ('', '1752', '', 'activity_7', '', 'tc=OB-03b&act=7', 'SEQ01', 'id3041086', '', 'Activity 7'); -INSERT INTO cp_item VALUES ('', '1756', '', 'activity_8', '', 'tc=OB-03b&act=8', 'SEQ01', 'id3094598', '', 'Activity 8'); -INSERT INTO cp_item VALUES ('', '1760', '', 'activity_9', '', 'tc=OB-03b&act=9', 'SEQ01', '', '', 'Activity 9'); -INSERT INTO cp_item VALUES ('', '1813', '', 'activity_1', '', 'tc=OB-03c&act=1', 'SEQ01', 'id2619264', '', 'Activity 1'); -INSERT INTO cp_item VALUES ('', '1817', '', 'activity_2', '', '', '', 'id2618402', '', 'Activity 2'); -INSERT INTO cp_item VALUES ('', '1818', '', 'activity_3', '', '', '', 'id2618856', '', 'Activity 3'); -INSERT INTO cp_item VALUES ('', '1819', '', 'activity_4', '', 'tc=OB-03c&act=4', 'SEQ01', '', '', 'Activity 4'); -INSERT INTO cp_item VALUES ('', '1823', '', 'activity_5', '', 'tc=OB-03c&act=5', 'SEQ01', 'id2619009', '', 'Activity 5'); -INSERT INTO cp_item VALUES ('', '1827', '', 'activity_6', '', 'tc=OB-03c&act=6', 'SEQ01', '', '', 'Activity 6'); -INSERT INTO cp_item VALUES ('', '1831', '', 'activity_7', '', 'tc=OB-03c&act=7', 'SEQ01', 'id2618648', '', 'Activity 7'); -INSERT INTO cp_item VALUES ('', '1835', '', 'activity_8', '', 'tc=OB-03c&act=8', 'SEQ01', 'id2618531', '', 'Activity 8'); -INSERT INTO cp_item VALUES ('', '1839', '', 'activity_9', '', 'tc=OB-03c&act=9', 'SEQ01', '', '', 'Activity 9'); -INSERT INTO cp_item VALUES ('', '1895', '', 'activity_1', '', 'tc=OB-04&act=1', 'SEQ01', 'id2691977', '', 'Activity 1'); -INSERT INTO cp_item VALUES ('', '1899', '', 'activity_2', '', 'tc=OB-04&act=2', 'SEQ01', 'id2834923', '', 'Activity 2'); -INSERT INTO cp_item VALUES ('', '1903', '', 'activity_3', '', '', '', 'id2813658', '', 'Activity 3'); -INSERT INTO cp_item VALUES ('', '1904', '', 'activity_4', '', 'tc=OB-04&act=4', 'SEQ01', 'id2849373', '', 'Activity 4'); -INSERT INTO cp_item VALUES ('', '1908', '', 'activity_5', '', 'tc=OB-04&act=5', 'SEQ01', 'id2843005', '', 'Activity 5'); -INSERT INTO cp_item VALUES ('', '1912', '', 'activity_6', '', 'tc=OB-04&act=6', 'SEQ01', 'id2813760', '', 'Activity 6'); -INSERT INTO cp_item VALUES ('', '1916', '', 'activity_7', '', 'tc=OB-04&act=7', 'SEQ01', '', '', 'Activity 7'); -INSERT INTO cp_item VALUES ('', '1964', '', 'activity_1', '', 'tc=OB-05a&act=1', 'SEQ01', 'id2836202', '', 'Activity 1'); -INSERT INTO cp_item VALUES ('', '1968', '', 'activity_2', '', 'tc=OB-05a&act=2', 'SEQ01', 'id2834977', '', 'Activity 2'); -INSERT INTO cp_item VALUES ('', '1972', '', 'activity_3', '', 'tc=OB-05a&act=3', 'SEQ01', 'id2835142', '', 'Activity 3'); -INSERT INTO cp_item VALUES ('', '1976', '', 'activity_4', '', 'tc=OB-05a&act=4', 'SEQ01', '', '', 'Activity 4'); -INSERT INTO cp_item VALUES ('', '2016', '', 'activity_1', '', 'tc=OB-05b&act=1', 'SEQ01', 'id3024654', '', 'Activity 1'); -INSERT INTO cp_item VALUES ('', '2020', '', 'activity_2', '', 'tc=OB-05b&act=2', 'SEQ01', 'id3074260', '', 'Activity 2'); -INSERT INTO cp_item VALUES ('', '2024', '', 'activity_3', '', 'tc=OB-05b&act=3', 'SEQ01', 'id3041974', '', 'Activity 3'); -INSERT INTO cp_item VALUES ('', '2028', '', 'activity_4', '', 'tc=OB-05b&act=4', 'SEQ01', '', '', 'Activity 4'); -INSERT INTO cp_item VALUES ('', '2068', '', 'activity_1', '', 'tc=OB-05c&act=1', 'SEQ01', 'id2676157', '', 'Activity 1'); -INSERT INTO cp_item VALUES ('', '2072', '', 'activity_2', '', 'tc=OB-05c&act=2', 'SEQ01', 'id2676107', '', 'Activity 2'); -INSERT INTO cp_item VALUES ('', '2076', '', 'activity_3', '', 'tc=OB-05c&act=3', 'SEQ01', '', '', 'Activity 3'); -INSERT INTO cp_item VALUES ('', '2111', '', 'activity_1', '', 'tc=OB-06&act=1', 'SEQ01', 'id3025741', '', 'Activity 1'); -INSERT INTO cp_item VALUES ('', '2115', '', 'activity_2', '', '', '', 'id3082989', '', 'Activity 2'); -INSERT INTO cp_item VALUES ('', '2116', '', 'activity_3', '', 'tc=OB-06&act=3', 'SEQ01', '', '', 'Activity 3'); -INSERT INTO cp_item VALUES ('', '2120', '', 'activity_4', '', 'tc=OB-06&act=4', 'SEQ01', '', '', 'Activity 4'); -INSERT INTO cp_item VALUES ('', '2124', '', 'activity_5', '', 'tc=OB-06&act=5', 'SEQ01', '', '', 'Activity 5'); -INSERT INTO cp_item VALUES ('', '2128', '', 'activity_6', '', 'tc=OB-06&act=6', 'SEQ01', '', '', 'Activity 6'); -INSERT INTO cp_item VALUES ('', '2167', '', 'activity_1', '', 'tc=OB-07a&act=1', 'SEQ01', 'id2685266', '', 'Activity 1'); -INSERT INTO cp_item VALUES ('', '2171', '', 'activity_2', '', 'tc=OB-07a&act=2', 'SEQ01', 'id2685192', '', 'Activity 2'); -INSERT INTO cp_item VALUES ('', '2175', '', 'activity_3', '', 'tc=OB-07a&act=3', 'SEQ01', 'id2681135', '', 'Activity 3'); -INSERT INTO cp_item VALUES ('', '2215', '', 'activity_1', '', 'tc=OB-07b&act=1', 'SEQ01', 'id3082998', '', 'Activity 1'); -INSERT INTO cp_item VALUES ('', '2219', '', 'activity_2', '', 'tc=OB-07b&act=2', 'SEQ01', 'id3020248', '', 'Activity 2'); -INSERT INTO cp_item VALUES ('', '2223', '', 'activity_3', '', 'tc=OB-07b&act=3', 'SEQ01', 'id3024613', '', 'Activity 3'); -INSERT INTO cp_item VALUES ('', '2262', '', 'activity_1', '', 'tc=OB-08a&act=1', 'SEQ01', 'id3059082', '', 'Activity 1'); -INSERT INTO cp_item VALUES ('', '2266', '', 'activity_2', '', 'tc=OB-08a&act=2', 'SEQ01', 'id3024255', '', 'Activity 2'); -INSERT INTO cp_item VALUES ('', '2270', '', 'activity_3', '', 'tc=OB-08a&act=3', 'SEQ01', 'id3027207', '', 'Activity 3'); -INSERT INTO cp_item VALUES ('', '2274', '', 'activity_4', '', 'tc=OB-08a&act=4', 'SEQ01', 'id3024933', '', 'Activity 4'); -INSERT INTO cp_item VALUES ('', '2326', '', 'activity_1', '', 'tc=OB-08b&act=1', 'SEQ01', 'id2813980', '', 'Activity 1'); -INSERT INTO cp_item VALUES ('', '2330', '', 'activity_2', '', 'tc=OB-08b&act=2', 'SEQ01', 'id2836377', '', 'Activity 2'); -INSERT INTO cp_item VALUES ('', '2334', '', 'activity_3', '', 'tc=OB-08b&act=3', 'SEQ01', 'id2821677', '', 'Activity 3'); -INSERT INTO cp_item VALUES ('', '2338', '', 'activity_4', '', 'tc=OB-08b&act=4', 'SEQ01', 'id2847475', '', 'Activity 4'); -INSERT INTO cp_item VALUES ('', '2390', '', 'activity_1', '', 'tc=OB-09a&act=1', 'SEQ01', 'id2833749', '', 'Activity 1'); -INSERT INTO cp_item VALUES ('', '2394', '', 'activity_2', '', 'tc=OB-09a&act=2', 'SEQ01', 'id2836002', '', 'Activity 2'); -INSERT INTO cp_item VALUES ('', '2398', '', 'activity_3', '', 'tc=OB-09a&act=3', 'SEQ01', 'id2836376', '', 'Activity 3'); -INSERT INTO cp_item VALUES ('', '2445', '', 'activity_1', '', 'tc=OB-09b&act=1', 'SEQ01', 'id2684985', '', 'Activity 1'); -INSERT INTO cp_item VALUES ('', '2449', '', 'activity_2', '', 'tc=OB-09b&act=2', 'SEQ01', 'id2690601', '', 'Activity 2'); -INSERT INTO cp_item VALUES ('', '2453', '', 'activity_3', '', 'tc=OB-09b&act=3', 'SEQ01', 'id2689989', '', 'Activity 3'); -INSERT INTO cp_item VALUES ('', '2500', '', 'activity_1', '', 'tc=OB-10a&act=1', 'SEQ01', 'id2623602', '', 'Activity 1'); -INSERT INTO cp_item VALUES ('', '2501', '', 'activity_2', '', 'tc=OB-10a&act=2', 'SEQ01', 'id2623520', '', 'Activity 2'); -INSERT INTO cp_item VALUES ('', '2502', '', 'activity_3', '', 'tc=OB-10a&act=3', 'SEQ01', 'id2623422', '', 'Activity 3'); -INSERT INTO cp_item VALUES ('', '2537', '', 'activity_1', '', 'tc=OB-10b&act=1', 'SEQ01', 'id3085765', '', 'Activity 1'); -INSERT INTO cp_item VALUES ('', '2541', '', 'activity_2', '', 'tc=OB-10b&act=2', 'SEQ01', 'id3022395', '', 'Activity 2'); -INSERT INTO cp_item VALUES ('', '2545', '', 'activity_3', '', 'tc=OB-10b&act=3', 'SEQ01', 'id3022470', '', 'Activity 3'); -INSERT INTO cp_item VALUES ('', '2583', '', 'activity_1', '', 'tc=OB-10c&act=1', 'SEQ01', 'id3021295', '', 'Activity 1'); -INSERT INTO cp_item VALUES ('', '2587', '', 'activity_2', '', 'tc=OB-10c&act=2', 'SEQ01', 'id3020449', '', 'Activity 2'); -INSERT INTO cp_item VALUES ('', '2591', '', 'activity_3', '', 'tc=OB-10c&act=3', 'SEQ01', 'id3020211', '', 'Activity 3'); -INSERT INTO cp_item VALUES ('', '2630', '', 'activity_1', '', 'tc=OB-10d&act=1', 'SEQ01', 'id3021031', '', 'Activity 1'); -INSERT INTO cp_item VALUES ('', '2634', '', 'activity_2', '', 'tc=OB-10d&act=2', 'SEQ01', 'id3024205', '', 'Activity 2'); -INSERT INTO cp_item VALUES ('', '2638', '', 'activity_3', '', 'tc=OB-10d&act=3', 'SEQ01', 'id3020790', '', 'Activity 3'); -INSERT INTO cp_item VALUES ('', '2679', '', 'activity_1', '', 'tc=OB-11a&act=1', 'SEQ01', 'id3085660', '', 'Activity 1'); -INSERT INTO cp_item VALUES ('', '2683', '', 'activity_2', '', 'tc=OB-11a&act=2', 'SEQ01', 'id3024627', '', 'Activity 2'); -INSERT INTO cp_item VALUES ('', '2687', '', 'activity_3', '', 'tc=OB-11a&act=3', 'SEQ01', 'id3024005', '', 'Activity 3'); -INSERT INTO cp_item VALUES ('', '2728', '', 'activity_1', '', 'tc=OB-11b&act=1', 'SEQ01', 'id2684186', '', 'Activity 1'); -INSERT INTO cp_item VALUES ('', '2732', '', 'activity_2', '', 'tc=OB-11b&act=2', 'SEQ01', 'id2623396', '', 'Activity 2'); -INSERT INTO cp_item VALUES ('', '2736', '', 'activity_3', '', 'tc=OB-11b&act=3', 'SEQ01', 'id2623266', '', 'Activity 3'); -INSERT INTO cp_item VALUES ('', '2779', '', 'activity_1', '', 'tc=OB-12a&act=1', 'SEQ01', '', '', 'Activity 1'); -INSERT INTO cp_item VALUES ('', '2783', '', 'activity_2', '', 'tc=OB-12a&act=2', 'SEQ01', 'id3036015', '', 'Activity 2'); -INSERT INTO cp_item VALUES ('', '2787', '', 'activity_3', '', 'tc=OB-12a&act=3', 'SEQ01', '', '', 'Activity 3'); -INSERT INTO cp_item VALUES ('', '2820', '', 'activity_1', '', 'tc=OB-12b&act=1', 'SEQ01', '', '', 'Activity 1'); -INSERT INTO cp_item VALUES ('', '2824', '', 'activity_2', '', 'tc=OB-12b&act=2', 'SEQ01', 'id3020214', '', 'Activity 2'); -INSERT INTO cp_item VALUES ('', '2828', '', 'activity_3', '', 'tc=OB-12b&act=3', 'SEQ01', '', '', 'Activity 3'); -INSERT INTO cp_item VALUES ('', '2861', '', 'activity_1', '', 'tc=OB-12c&act=1', 'SEQ01', '', '', 'Activity 1'); -INSERT INTO cp_item VALUES ('', '2865', '', 'activity_2', '', 'tc=OB-12c&act=2', 'SEQ01', 'id2691063', '', 'Activity 2'); -INSERT INTO cp_item VALUES ('', '2869', '', 'activity_3', '', 'tc=OB-12c&act=3', 'SEQ01', '', '', 'Activity 3'); -INSERT INTO cp_item VALUES ('', '2902', '', 'activity_1', '', 'tc=OB-13a&act=1', 'SEQ01', '', '', 'Activity 1'); -INSERT INTO cp_item VALUES ('', '2906', '', 'activity_2', '', 'tc=OB-13a&act=2', 'SEQ01', 'id2686031', '', 'Activity 2'); -INSERT INTO cp_item VALUES ('', '2910', '', 'activity_3', '', 'tc=OB-13a&act=3', 'SEQ01', 'id2687289', '', 'Activity 3'); -INSERT INTO cp_item VALUES ('', '2914', '', 'activity_4', '', 'tc=OB-13a&act=4', 'SEQ01', '', '', 'Activity 4'); -INSERT INTO cp_item VALUES ('', '2952', '', 'activity_1', '', 'tc=OB-13b&act=1', 'SEQ01', '', '', 'Activity 1'); -INSERT INTO cp_item VALUES ('', '2956', '', 'activity_2', '', 'tc=OB-13b&act=2', 'SEQ01', 'id2821445', '', 'Activity 2'); -INSERT INTO cp_item VALUES ('', '2960', '', 'activity_3', '', 'tc=OB-13b&act=3', 'SEQ01', 'id2835105', '', 'Activity 3'); -INSERT INTO cp_item VALUES ('', '2964', '', 'activity_4', '', 'tc=OB-13b&act=4', 'SEQ01', '', '', 'Activity 4'); -INSERT INTO cp_item VALUES ('', '3002', '', 'activity_1', '', 'tc=OB-13c&act=1', 'SEQ01', '', '', 'Activity 1'); -INSERT INTO cp_item VALUES ('', '3006', '', 'activity_2', '', 'tc=OB-13c&act=2', 'SEQ01', 'id2678375', '', 'Activity 2'); -INSERT INTO cp_item VALUES ('', '3010', '', 'activity_3', '', 'tc=OB-13c&act=3', 'SEQ01', 'id2678294', '', 'Activity 3'); -INSERT INTO cp_item VALUES ('', '3014', '', 'activity_4', '', 'tc=OB-13c&act=4', 'SEQ01', '', '', 'Activity 4'); -INSERT INTO cp_item VALUES ('', '3052', '', 'activity_1', '', 'tc=OB-14a&act=1', 'SEQ01', 'id2843381', '', 'Activity 1'); -INSERT INTO cp_item VALUES ('', '3056', '', 'activity_2', '', 'tc=OB-14a&act=2', 'SEQ01', 'id2834918', '', 'Activity 2'); -INSERT INTO cp_item VALUES ('', '3060', '', 'activity_3', '', 'tc=OB-14a&act=3', 'SEQ01', 'id2836192', '', 'Activity 3'); -INSERT INTO cp_item VALUES ('', '3121', '', 'activity_1', '', 'tc=OB-14b&act=1', 'SEQ01', 'id2835369', '', 'Activity 1'); -INSERT INTO cp_item VALUES ('', '3125', '', 'activity_2', '', 'tc=OB-14b&act=2', 'SEQ01', 'id2836423', '', 'Activity 2'); -INSERT INTO cp_item VALUES ('', '3129', '', 'activity_3', '', 'tc=OB-14b&act=3', 'SEQ01', 'id2843361', '', 'Activity 3'); -INSERT INTO cp_item VALUES ('', '3133', '', 'activity_4', '', 'tc=OB-14b&act=4', 'SEQ01', 'id2835730', '', 'Activity 4'); -INSERT INTO cp_item VALUES ('', '3196', '', 'activity_1', '', 'tc=OB-15&act=1', 'SEQ01', 'id2620143', '', 'Activity 1'); -INSERT INTO cp_item VALUES ('', '3200', '', 'activity_2', '', 'tc=OB-15&act=2', 'SEQ01', 'id2620044', '', 'Activity 2'); -INSERT INTO cp_item VALUES ('', '3204', '', 'activity_3', '', '', '', 'id2619736', '', 'Activity 3'); -INSERT INTO cp_item VALUES ('', '3205', '', 'activity_4', '', 'tc=OB-15&act=4', 'SEQ01', 'id2619908', '', 'Activity 4'); -INSERT INTO cp_item VALUES ('', '3209', '', 'activity_5', '', 'tc=OB-15&act=5', 'SEQ01', 'id2619802', '', 'Activity 5'); -INSERT INTO cp_item VALUES ('', '3213', '', 'activity_6', '', 'tc=OB-15&act=6', 'SEQ01', 'id2619599', '', 'Activity 6'); -INSERT INTO cp_item VALUES ('', '3217', '', 'activity_7', '', 'tc=OB-15&act=7', 'SEQ01', '', '', 'Activity 7'); -INSERT INTO cp_item VALUES ('', '3268', '', 'activity_1', '', 'tc=RU-01aa&act=1', 'SEQ01', '', '', 'Activity 1'); -INSERT INTO cp_item VALUES ('', '3272', '', 'activity_2', '', '', '', 'id3020417', '', 'Activity 2'); -INSERT INTO cp_item VALUES ('', '3273', '', 'activity_3', '', 'tc=RU-01aa&act=3', 'SEQ01', '', '', 'Activity 3'); -INSERT INTO cp_item VALUES ('', '3277', '', 'activity_4', '', 'tc=RU-01aa&act=4', 'SEQ01', '', '', 'Activity 4'); -INSERT INTO cp_item VALUES ('', '3281', '', 'activity_5', '', 'tc=RU-01aa&act=5', 'SEQ01', '', '', 'Activity 5'); -INSERT INTO cp_item VALUES ('', '3285', '', 'activity_6', '', 'tc=RU-01aa&act=6', 'SEQ01', '', '', 'Activity 6'); -INSERT INTO cp_item VALUES ('', '3317', '', 'activity_1', '', 'tc=RU-01ab&act=1', 'SEQ01', '', '', 'Activity 1'); -INSERT INTO cp_item VALUES ('', '3321', '', 'activity_2', '', '', '', 'id2676129', '', 'Activity 2'); -INSERT INTO cp_item VALUES ('', '3322', '', 'activity_3', '', 'tc=RU-01ab&act=3', 'SEQ01', '', '', 'Activity 3'); -INSERT INTO cp_item VALUES ('', '3326', '', 'activity_4', '', 'tc=RU-01ab&act=4', 'SEQ01', '', '', 'Activity 4'); -INSERT INTO cp_item VALUES ('', '3330', '', 'activity_5', '', 'tc=RU-01ab&act=5', 'SEQ01', '', '', 'Activity 5'); -INSERT INTO cp_item VALUES ('', '3334', '', 'activity_6', '', 'tc=RU-01ab&act=6', 'SEQ01', '', '', 'Activity 6'); -INSERT INTO cp_item VALUES ('', '3366', '', 'activity_1', '', 'tc=RU-01ba&act=1', 'SEQ01', '', '', 'Activity 1'); -INSERT INTO cp_item VALUES ('', '3367', '', 'activity_2', '', '', '', 'id2834929', '', 'Activity 2'); -INSERT INTO cp_item VALUES ('', '3368', '', 'activity_3', '', 'tc=RU-01ba&act=3', 'SEQ01', '', '', 'Activity 3'); -INSERT INTO cp_item VALUES ('', '3369', '', 'activity_4', '', 'tc=RU-01ba&act=4', 'SEQ01', '', '', 'Activity 4'); -INSERT INTO cp_item VALUES ('', '3370', '', 'activity_5', '', 'tc=RU-01ba&act=5', 'SEQ01', '', '', 'Activity 5'); -INSERT INTO cp_item VALUES ('', '3371', '', 'activity_6', '', 'tc=RU-01ba&act=6', 'SEQ01', '', '', 'Activity 6'); -INSERT INTO cp_item VALUES ('', '3400', '', 'activity_1', '', 'tc=RU-01bb&act=1', 'SEQ01', '', '', 'Activity 1'); -INSERT INTO cp_item VALUES ('', '3404', '', 'activity_2', '', '', '', 'id2676502', '', 'Activity 2'); -INSERT INTO cp_item VALUES ('', '3405', '', 'activity_3', '', 'tc=RU-01bb&act=3', 'SEQ01', '', '', 'Activity 3'); -INSERT INTO cp_item VALUES ('', '3409', '', 'activity_4', '', 'tc=RU-01bb&act=4', 'SEQ01', '', '', 'Activity 4'); -INSERT INTO cp_item VALUES ('', '3413', '', 'activity_5', '', 'tc=RU-01bb&act=5', 'SEQ01', '', '', 'Activity 5'); -INSERT INTO cp_item VALUES ('', '3417', '', 'activity_6', '', 'tc=RU-01bb&act=6', 'SEQ01', '', '', 'Activity 6'); -INSERT INTO cp_item VALUES ('', '3449', '', 'activity_1', '', 'tc=RU-02a&act=1', 'SEQ01', '', '', 'Activity 1'); -INSERT INTO cp_item VALUES ('', '3453', '', 'activity_2', '', '', '', 'id2686379', '', 'Activity 2'); -INSERT INTO cp_item VALUES ('', '3454', '', 'activity_3', '', 'tc=RU-02a&act=3', 'SEQ01', '', '', 'Activity 3'); -INSERT INTO cp_item VALUES ('', '3458', '', 'activity_4', '', 'tc=RU-02a&act=4', 'SEQ01', '', '', 'Activity 4'); -INSERT INTO cp_item VALUES ('', '3462', '', 'activity_5', '', 'tc=RU-02a&act=5', 'SEQ01', '', '', 'Activity 5'); -INSERT INTO cp_item VALUES ('', '3466', '', 'activity_6', '', 'tc=RU-02a&act=6', 'SEQ01', '', '', 'Activity 6'); -INSERT INTO cp_item VALUES ('', '3500', '', 'activity_1', '', 'tc=RU-02b&act=1', 'SEQ01', '', '', 'Activity 1'); -INSERT INTO cp_item VALUES ('', '3504', '', 'activity_2', '', '', '', 'id2835303', '', 'Activity 2'); -INSERT INTO cp_item VALUES ('', '3505', '', 'activity_3', '', 'tc=RU-02b&act=3', 'SEQ01', '', '', 'Activity 3'); -INSERT INTO cp_item VALUES ('', '3509', '', 'activity_4', '', 'tc=RU-02b&act=4', 'SEQ01', '', '', 'Activity 4'); -INSERT INTO cp_item VALUES ('', '3513', '', 'activity_5', '', 'tc=RU-02b&act=5', 'SEQ01', '', '', 'Activity 5'); -INSERT INTO cp_item VALUES ('', '3517', '', 'activity_6', '', 'tc=RU-02b&act=6', 'SEQ01', '', '', 'Activity 6'); -INSERT INTO cp_item VALUES ('', '3551', '', 'activity_1', '', 'tc=RU-03a&act=1', 'SEQ01', '', '', 'Activity 1'); -INSERT INTO cp_item VALUES ('', '3555', '', 'activity_2', '', '', '', 'id2836314', '', 'Activity 2'); -INSERT INTO cp_item VALUES ('', '3556', '', 'activity_3', '', 'tc=RU-03a&act=3', 'SEQ01', '', '', 'Activity 3'); -INSERT INTO cp_item VALUES ('', '3560', '', 'activity_4', '', 'tc=RU-03a&act=4', 'SEQ01', '', '', 'Activity 4'); -INSERT INTO cp_item VALUES ('', '3564', '', 'activity_5', '', 'tc=RU-03a&act=5', 'SEQ01', '', '', 'Activity 5'); -INSERT INTO cp_item VALUES ('', '3568', '', 'activity_6', '', 'tc=RU-03a&act=6', 'SEQ01', '', '', 'Activity 6'); -INSERT INTO cp_item VALUES ('', '3603', '', 'activity_1', '', 'tc=RU-03b&act=1', 'SEQ01', '', '', 'Activity 1'); -INSERT INTO cp_item VALUES ('', '3607', '', 'activity_2', '', '', '', 'id2686169', '', 'Activity 2'); -INSERT INTO cp_item VALUES ('', '3608', '', 'activity_3', '', 'tc=RU-03b&act=3', 'SEQ01', '', '', 'Activity 3'); -INSERT INTO cp_item VALUES ('', '3612', '', 'activity_4', '', 'tc=RU-03b&act=4', 'SEQ01', '', '', 'Activity 4'); -INSERT INTO cp_item VALUES ('', '3616', '', 'activity_5', '', 'tc=RU-03b&act=5', 'SEQ01', '', '', 'Activity 5'); -INSERT INTO cp_item VALUES ('', '3620', '', 'activity_6', '', 'tc=RU-03b&act=6', 'SEQ01', '', '', 'Activity 6'); -INSERT INTO cp_item VALUES ('', '3655', '', 'activity_1', '', 'tc=RU-04aa&act=1', 'SEQ01', '', '', 'Activity 1'); -INSERT INTO cp_item VALUES ('', '3659', '', 'activity_2', '', '', '', 'id2697094', '', 'Activity 2'); -INSERT INTO cp_item VALUES ('', '3660', '', 'activity_3', '', 'tc=RU-04aa&act=3', 'SEQ01', '', '', 'Activity 3'); -INSERT INTO cp_item VALUES ('', '3664', '', 'activity_4', '', 'tc=RU-04aa&act=4', 'SEQ01', '', '', 'Activity 4'); -INSERT INTO cp_item VALUES ('', '3668', '', 'activity_5', '', 'tc=RU-04aa&act=5', 'SEQ01', '', '', 'Activity 5'); -INSERT INTO cp_item VALUES ('', '3672', '', 'activity_6', '', 'tc=RU-04aa&act=6', 'SEQ01', '', '', 'Activity 6'); -INSERT INTO cp_item VALUES ('', '3707', '', 'activity_1', '', 'tc=RU-04ab&act=1', 'SEQ01', '', '', 'Activity 1'); -INSERT INTO cp_item VALUES ('', '3711', '', 'activity_2', '', '', '', 'id2997725', '', 'Activity 2'); -INSERT INTO cp_item VALUES ('', '3712', '', 'activity_3', '', 'tc=RU-04ab&act=3', 'SEQ01', '', '', 'Activity 3'); -INSERT INTO cp_item VALUES ('', '3716', '', 'activity_4', '', 'tc=RU-04ab&act=4', 'SEQ01', '', '', 'Activity 4'); -INSERT INTO cp_item VALUES ('', '3720', '', 'activity_5', '', 'tc=RU-04ab&act=5', 'SEQ01', '', '', 'Activity 5'); -INSERT INTO cp_item VALUES ('', '3724', '', 'activity_6', '', 'tc=RU-04ab&act=6', 'SEQ01', '', '', 'Activity 6'); -INSERT INTO cp_item VALUES ('', '3759', '', 'activity_1', '', 'tc=RU-04ba&act=1', 'SEQ01', '', '', 'Activity 1'); -INSERT INTO cp_item VALUES ('', '3763', '', 'activity_2', '', '', '', 'id2999935', '', 'Activity 2'); -INSERT INTO cp_item VALUES ('', '3764', '', 'activity_3', '', 'tc=RU-04ba&act=3', 'SEQ01', '', '', 'Activity 3'); -INSERT INTO cp_item VALUES ('', '3768', '', 'activity_4', '', 'tc=RU-04ba&act=4', 'SEQ01', '', '', 'Activity 4'); -INSERT INTO cp_item VALUES ('', '3772', '', 'activity_5', '', 'tc=RU-04ba&act=5', 'SEQ01', '', '', 'Activity 5'); -INSERT INTO cp_item VALUES ('', '3776', '', 'activity_6', '', 'tc=RU-04ba&act=6', 'SEQ01', '', '', 'Activity 6'); -INSERT INTO cp_item VALUES ('', '3811', '', 'activity_1', '', 'tc=RU-04bb&act=1', 'SEQ01', '', '', 'Activity 1'); -INSERT INTO cp_item VALUES ('', '3815', '', 'activity_2', '', '', '', 'id2706518', '', 'Activity 2'); -INSERT INTO cp_item VALUES ('', '3816', '', 'activity_3', '', 'tc=RU-04bb&act=3', 'SEQ01', '', '', 'Activity 3'); -INSERT INTO cp_item VALUES ('', '3820', '', 'activity_4', '', 'tc=RU-04bb&act=4', 'SEQ01', '', '', 'Activity 4'); -INSERT INTO cp_item VALUES ('', '3824', '', 'activity_5', '', 'tc=RU-04bb&act=5', 'SEQ01', '', '', 'Activity 5'); -INSERT INTO cp_item VALUES ('', '3828', '', 'activity_6', '', 'tc=RU-04bb&act=6', 'SEQ01', '', '', 'Activity 6'); -INSERT INTO cp_item VALUES ('', '3863', '', 'activity_1', '', 'tc=RU-04bc&act=1', 'SEQ01', '', '', 'Activity 1'); -INSERT INTO cp_item VALUES ('', '3864', '', 'activity_2', '', '', '', 'id2694654', '', 'Activity 2'); -INSERT INTO cp_item VALUES ('', '3865', '', 'activity_3', '', 'tc=RU-04bc&act=3', 'SEQ01', '', '', 'Activity 3'); -INSERT INTO cp_item VALUES ('', '3866', '', 'activity_4', '', 'tc=RU-04bc&act=4', 'SEQ01', '', '', 'Activity 4'); -INSERT INTO cp_item VALUES ('', '3867', '', 'activity_5', '', 'tc=RU-04bc&act=5', 'SEQ01', '', '', 'Activity 5'); -INSERT INTO cp_item VALUES ('', '3868', '', 'activity_6', '', 'tc=RU-04bc&act=6', 'SEQ01', '', '', 'Activity 6'); -INSERT INTO cp_item VALUES ('', '3900', '', 'activity_1', '', 'tc=RU-04bd&act=1', 'SEQ01', '', '', 'Activity 1'); -INSERT INTO cp_item VALUES ('', '3904', '', 'activity_2', '', '', '', 'id2820463', '', 'Activity 2'); -INSERT INTO cp_item VALUES ('', '3905', '', 'activity_3', '', 'tc=RU-04bd&act=3', 'SEQ01', '', '', 'Activity 3'); -INSERT INTO cp_item VALUES ('', '3909', '', 'activity_4', '', 'tc=RU-04bd&act=4', 'SEQ01', '', '', 'Activity 4'); -INSERT INTO cp_item VALUES ('', '3913', '', 'activity_5', '', 'tc=RU-04bd&act=5', 'SEQ01', '', '', 'Activity 5'); -INSERT INTO cp_item VALUES ('', '3917', '', 'activity_6', '', 'tc=RU-04bd&act=6', 'SEQ01', '', '', 'Activity 6'); -INSERT INTO cp_item VALUES ('', '3952', '', 'activity_1', '', 'tc=RU-05a&act=1', 'SEQ01', '', '', 'Activity 1'); -INSERT INTO cp_item VALUES ('', '3956', '', 'activity_2', '', '', '', 'id3021205', '', 'Activity 2'); -INSERT INTO cp_item VALUES ('', '3957', '', 'activity_3', '', 'tc=RU-05a&act=3', 'SEQ01', '', '', 'Activity 3'); -INSERT INTO cp_item VALUES ('', '3961', '', 'activity_4', '', 'tc=RU-05a&act=4', 'SEQ01', '', '', 'Activity 4'); -INSERT INTO cp_item VALUES ('', '3965', '', 'activity_5', '', 'tc=RU-05a&act=5', 'SEQ01', '', '', 'Activity 5'); -INSERT INTO cp_item VALUES ('', '3969', '', 'activity_6', '', 'tc=RU-05a&act=6', 'SEQ01', '', '', 'Activity 6'); -INSERT INTO cp_item VALUES ('', '4003', '', 'activity_1', '', 'tc=RU-05b&act=1', 'SEQ01', '', '', 'Activity 1'); -INSERT INTO cp_item VALUES ('', '4007', '', 'activity_2', '', '', '', 'id2836321', '', 'Activity 2'); -INSERT INTO cp_item VALUES ('', '4008', '', 'activity_3', '', 'tc=RU-05b&act=3', 'SEQ01', '', '', 'Activity 3'); -INSERT INTO cp_item VALUES ('', '4012', '', 'activity_4', '', 'tc=RU-05b&act=4', 'SEQ01', '', '', 'Activity 4'); -INSERT INTO cp_item VALUES ('', '4016', '', 'activity_5', '', 'tc=RU-05b&act=5', 'SEQ01', '', '', 'Activity 5'); -INSERT INTO cp_item VALUES ('', '4020', '', 'activity_6', '', 'tc=RU-05b&act=6', 'SEQ01', '', '', 'Activity 6'); -INSERT INTO cp_item VALUES ('', '4054', '', 'activity_1', '', '', '', 'id2835665', '', 'Activity 1'); -INSERT INTO cp_item VALUES ('', '4055', '', 'activity_2', '', 'tc=RU-06a&act=2', 'SEQ01', '', '', 'Activity 2'); -INSERT INTO cp_item VALUES ('', '4059', '', 'activity_3', '', 'tc=RU-06a&act=3', 'SEQ01', '', '', 'Activity 3'); -INSERT INTO cp_item VALUES ('', '4063', '', 'activity_4', '', 'tc=RU-06a&act=4', 'SEQ01', '', '', 'Activity 4'); -INSERT INTO cp_item VALUES ('', '4067', '', 'activity_5', '', 'tc=RU-06a&act=5', 'SEQ01', '', '', 'Activity 5'); -INSERT INTO cp_item VALUES ('', '4099', '', 'activity_1', '', '', '', 'id2820358', '', 'Activity 1'); -INSERT INTO cp_item VALUES ('', '4100', '', 'activity_2', '', 'tc=RU-06b&act=2', 'SEQ01', '', '', 'Activity 2'); -INSERT INTO cp_item VALUES ('', '4104', '', 'activity_3', '', 'tc=RU-06b&act=3', 'SEQ01', '', '', 'Activity 3'); -INSERT INTO cp_item VALUES ('', '4108', '', 'activity_4', '', 'tc=RU-06b&act=4', 'SEQ01', '', '', 'Activity 4'); -INSERT INTO cp_item VALUES ('', '4112', '', 'activity_5', '', 'tc=RU-06b&act=5', 'SEQ01', '', '', 'Activity 5'); -INSERT INTO cp_item VALUES ('', '4146', '', 'activity_1', '', 'tc=RU-07a&act=1', 'SEQ01', '', '', 'Activity 1'); -INSERT INTO cp_item VALUES ('', '4150', '', 'activity_2', '', '', '', 'id2836245', '', 'Activity 2'); -INSERT INTO cp_item VALUES ('', '4151', '', 'activity_3', '', 'tc=RU-07a&act=3', 'SEQ01', 'id2832236', '', 'Activity 3'); -INSERT INTO cp_item VALUES ('', '4155', '', 'activity_4', '', 'tc=RU-07a&act=4', 'SEQ01', 'id2850277', '', 'Activity 4'); -INSERT INTO cp_item VALUES ('', '4159', '', 'activity_5', '', 'tc=RU-07a&act=5', 'SEQ01', '', '', 'Activity 5'); -INSERT INTO cp_item VALUES ('', '4163', '', 'activity_6', '', 'tc=RU-07a&act=6', 'SEQ01', '', '', 'Activity 6'); -INSERT INTO cp_item VALUES ('', '4201', '', 'activity_1', '', 'tc=RU-07b&act=1', 'SEQ01', '', '', 'Activity 1'); -INSERT INTO cp_item VALUES ('', '4205', '', 'activity_2', '', '', '', 'id2853206', '', 'Activity 2'); -INSERT INTO cp_item VALUES ('', '4206', '', 'activity_3', '', 'tc=RU-07b&act=3', 'SEQ01', 'id2835912', '', 'Activity 3'); -INSERT INTO cp_item VALUES ('', '4210', '', 'activity_4', '', 'tc=RU-07b&act=4', 'SEQ01', 'id2815734', '', 'Activity 4'); -INSERT INTO cp_item VALUES ('', '4214', '', 'activity_5', '', 'tc=RU-07b&act=5', 'SEQ01', '', '', 'Activity 5'); -INSERT INTO cp_item VALUES ('', '4218', '', 'activity_6', '', 'tc=RU-07b&act=6', 'SEQ01', '', '', 'Activity 6'); -INSERT INTO cp_item VALUES ('', '4256', '', 'activity_1', '', '', '', 'id2849899', '', 'Activity 1'); -INSERT INTO cp_item VALUES ('', '4257', '', 'activity_2', '', 'tc=RU-07c&act=2', 'SEQ01', '', '', 'Activity 2'); -INSERT INTO cp_item VALUES ('', '4261', '', 'activity_3', '', 'tc=RU-07c&act=3', 'SEQ01', '', '', 'Activity 3'); -INSERT INTO cp_item VALUES ('', '4265', '', 'activity_4', '', 'tc=RU-07c&act=4', 'SEQ01', '', '', 'Activity 4'); -INSERT INTO cp_item VALUES ('', '4269', '', 'activity_5', '', 'tc=RU-07c&act=5', 'SEQ01', '', '', 'Activity 5'); -INSERT INTO cp_item VALUES ('', '4273', '', 'activity_6', '', 'tc=RU-07c&act=6', 'SEQ01', 'id2859301', '', 'Activity 6'); -INSERT INTO cp_item VALUES ('', '4308', '', 'activity_1', '', 'tc=RU-08a&act=1', 'SEQ01', '', '', 'Activity 1'); -INSERT INTO cp_item VALUES ('', '4312', '', 'activity_2', '', '', '', 'id3093412', '', 'Activity 2'); -INSERT INTO cp_item VALUES ('', '4313', '', 'activity_3', '', '', '', 'id3099562', '', 'Activity 3'); -INSERT INTO cp_item VALUES ('', '4314', '', 'activity_4', '', 'tc=RU-08a&act=4', 'SEQ01', '', '', 'Activity 4'); -INSERT INTO cp_item VALUES ('', '4318', '', 'activity_5', '', 'tc=RU-08a&act=5', 'SEQ01', '', '', 'Activity 5'); -INSERT INTO cp_item VALUES ('', '4322', '', 'activity_6', '', 'tc=RU-08a&act=6', 'SEQ01', '', '', 'Activity 6'); -INSERT INTO cp_item VALUES ('', '4326', '', 'activity_7', '', 'tc=RU-08a&act=7', 'SEQ01', 'id3112339', '', 'Activity 7'); -INSERT INTO cp_item VALUES ('', '4330', '', 'activity_8', '', 'tc=RU-08a&act=8', 'SEQ01', '', '', 'Activity 8'); -INSERT INTO cp_item VALUES ('', '4375', '', 'activity_1', '', 'tc=RU-08b&act=1', 'SEQ01', '', '', 'Activity 1'); -INSERT INTO cp_item VALUES ('', '4379', '', 'activity_2', '', '', '', 'id2835519', '', 'Activity 2'); -INSERT INTO cp_item VALUES ('', '4380', '', 'activity_3', '', '', '', 'id2857593', '', 'Activity 3'); -INSERT INTO cp_item VALUES ('', '4381', '', 'activity_4', '', 'tc=RU-08b&act=4', 'SEQ01', 'id2835367', '', 'Activity 4'); -INSERT INTO cp_item VALUES ('', '4385', '', 'activity_5', '', 'tc=RU-08b&act=5', 'SEQ01', 'id2835628', '', 'Activity 5'); -INSERT INTO cp_item VALUES ('', '4389', '', 'activity_6', '', 'tc=RU-08b&act=6', 'SEQ01', 'id2832247', '', 'Activity 6'); -INSERT INTO cp_item VALUES ('', '4393', '', 'activity_7', '', 'tc=RU-08b&act=7', 'SEQ01', '', '', 'Activity 7'); -INSERT INTO cp_item VALUES ('', '4397', '', 'activity_8', '', 'tc=RU-08b&act=8', 'SEQ01', '', '', 'Activity 8'); -INSERT INTO cp_item VALUES ('', '4444', '', 'activity_1', '', 'tc=RU-09&act=1', 'SEQ01', '', '', 'Activity 1'); -INSERT INTO cp_item VALUES ('', '4448', '', 'activity_2', '', '', '', 'id2623166', '', 'Activity 2'); -INSERT INTO cp_item VALUES ('', '4449', '', 'activity_3', '', 'tc=RU-09&act=3', 'SEQ01', '', '', 'Activity 3'); -INSERT INTO cp_item VALUES ('', '4453', '', 'activity_4', '', 'tc=RU-09&act=4', 'SEQ01', 'id2623309', '', 'Activity 4'); -INSERT INTO cp_item VALUES ('', '4457', '', 'activity_5', '', 'tc=RU-09&act=5', 'SEQ01', '', '', 'Activity 5'); -INSERT INTO cp_item VALUES ('', '4461', '', 'activity_6', '', 'tc=RU-09&act=6', 'SEQ01', '', '', 'Activity 6'); -INSERT INTO cp_item VALUES ('', '4498', '', 'activity_1', '', 'tc=RU-10&act=1', 'SEQ01', '', '', 'Activity 1'); -INSERT INTO cp_item VALUES ('', '4502', '', 'activity_2', '', '', '', 'id2693746', '', 'Activity 2'); -INSERT INTO cp_item VALUES ('', '4503', '', 'activity_3', '', 'tc=RU-10&act=3', 'SEQ01', '', '', 'Activity 3'); -INSERT INTO cp_item VALUES ('', '4507', '', 'activity_4', '', 'tc=RU-10&act=4', 'SEQ01', '', '', 'Activity 4'); -INSERT INTO cp_item VALUES ('', '4511', '', 'activity_5', '', 'tc=RU-10&act=5', 'SEQ01', '', '', 'Activity 5'); -INSERT INTO cp_item VALUES ('', '4515', '', 'activity_6', '', 'tc=RU-10&act=6', 'SEQ01', '', '', 'Activity 6'); -INSERT INTO cp_item VALUES ('', '4549', '', 'activity_1', '', 'tc=RU-11&act=1', 'SEQ01', '', '', 'Activity 1'); -INSERT INTO cp_item VALUES ('', '4553', '', 'activity_2', '', '', '', 'id2817761', '', 'Activity 2'); -INSERT INTO cp_item VALUES ('', '4554', '', 'activity_3', '', 'tc=RU-11&act=3', 'SEQ01', 'id2835269', '', 'Activity 3'); -INSERT INTO cp_item VALUES ('', '4558', '', 'activity_4', '', 'tc=RU-11&act=4', 'SEQ01', 'id2835169', '', 'Activity 4'); -INSERT INTO cp_item VALUES ('', '4562', '', 'activity_5', '', 'tc=RU-11&act=5', 'SEQ01', 'id2817750', '', 'Activity 5'); -INSERT INTO cp_item VALUES ('', '4566', '', 'activity_6', '', 'tc=RU-11&act=6', 'SEQ01', '', '', 'Activity 6'); -INSERT INTO cp_item VALUES ('', '4604', '', 'activity_1', '', 'tc=RU-12a&act=1', 'SEQ01', '', '', 'Activity 1'); -INSERT INTO cp_item VALUES ('', '4608', '', 'activity_2', '', '', '', 'id2621117', '', 'Activity 2'); -INSERT INTO cp_item VALUES ('', '4609', '', 'activity_3', '', 'tc=RU-12a&act=3', 'SEQ01', '', '', 'Activity 3'); -INSERT INTO cp_item VALUES ('', '4613', '', 'activity_4', '', 'tc=RU-12a&act=4', 'SEQ01', '', '', 'Activity 4'); -INSERT INTO cp_item VALUES ('', '4649', '', 'activity_1', '', 'tc=RU-12b&act=1', 'SEQ01', '', '', 'Activity 1'); -INSERT INTO cp_item VALUES ('', '4653', '', 'activity_2', '', '', '', 'id2681832', '', 'Activity 2'); -INSERT INTO cp_item VALUES ('', '4654', '', 'activity_3', '', 'tc=RU-12b&act=3', 'SEQ01', '', '', 'Activity 3'); -INSERT INTO cp_item VALUES ('', '4658', '', 'activity_4', '', 'tc=RU-12b&act=4', 'SEQ01', '', '', 'Activity 4'); -INSERT INTO cp_item VALUES ('', '4694', '', 'activity_1', '', 'tc=SX-02&act=1', 'SEQ01', '', '', 'Activity 1'); -INSERT INTO cp_item VALUES ('', '4695', '', 'activity_2', '', '', '', 'id2836148', '', 'Activity 2'); -INSERT INTO cp_item VALUES ('0.5', '4696', '', 'activity_3', '', 'tc=SX-02&act=3', 'SEQ01', '', '', 'Activity 3'); -INSERT INTO cp_item VALUES ('', '4697', '', 'activity_4', '', 'tc=SX-02&act=4', 'SEQ01', '', '', 'Activity 4'); -INSERT INTO cp_item VALUES ('0.75', '4698', '', 'activity_5', '', 'tc=SX-02&act=5', 'SEQ01', '', '', 'Activity 5'); -INSERT INTO cp_item VALUES ('', '4699', '', 'activity_6', '', 'tc=SX-02&act=6', 'SEQ01', '', '', 'Activity 6'); -INSERT INTO cp_item VALUES ('', '4730', '', 'activity_1', '', 'tc=SX-03&act=1', 'SEQ01', 'id2699284', '', 'Activity 1'); -INSERT INTO cp_item VALUES ('', '4734', '', 'activity_2', '', '', '', 'id2699004', '', 'Activity 2'); -INSERT INTO cp_item VALUES ('', '4735', '', 'activity_3', '', 'tc=SX-03&act=3', 'SEQ01', 'id2698909', '', 'Activity 3'); -INSERT INTO cp_item VALUES ('', '4739', '', 'activity_4', '', 'tc=SX-03&act=4', 'SEQ01', '', '', 'Activity 4'); -INSERT INTO cp_item VALUES ('', '4743', '', 'activity_5', '', 'tc=SX-03&act=5', 'SEQ01', '', '', 'Activity 5'); -INSERT INTO cp_item VALUES ('', '4747', '', 'activity_6', '', 'tc=SX-03&act=6', 'SEQ01', '', '', 'Activity 6'); -INSERT INTO cp_item VALUES ('', '4792', '', 'activity_1', '', 'tc=SX-04a&act=1', 'SEQ01', 'id2624783', '', 'Activity 1'); -INSERT INTO cp_item VALUES ('', '4796', '', 'activity_2', '', 'tc=SX-04a&act=2', 'SEQ01', '', '', 'Activity 2'); -INSERT INTO cp_item VALUES ('', '4800', '', 'activity_3', '', 'tc=SX-04a&act=3', 'SEQ01', '', '', 'Activity 3'); -INSERT INTO cp_item VALUES ('', '4832', '', 'activity_1', '', 'tc=SX-04b&act=1', 'SEQ01', 'id3000006', '', 'Activity 1'); -INSERT INTO cp_item VALUES ('', '4836', '', 'activity_2', '', 'tc=SX-04b&act=2', 'SEQ01', '', '', 'Activity 2'); -INSERT INTO cp_item VALUES ('', '4840', '', 'activity_3', '', 'tc=SX-04b&act=3', 'SEQ01', '', '', 'Activity 3'); -INSERT INTO cp_item VALUES ('', '4871', '', 'activity_1', '', 'tc=SX-05&act=1', 'SEQ01', 'id2686705', '', 'Activity 1'); -INSERT INTO cp_item VALUES ('', '4875', '', 'activity_2', '', 'tc=SX-05&act=2', 'SEQ01', 'id2687557', '', 'Activity 2'); -INSERT INTO cp_item VALUES ('', '4879', '', 'activity_3', '', '', '', 'id2698812', '', 'Activity 3'); -INSERT INTO cp_item VALUES ('', '4880', '', 'activity_4', '', '', '', 'id2699280', '', 'Activity 4'); -INSERT INTO cp_item VALUES ('', '4881', '', 'activity_5', '', 'tc=SX-05&act=5', 'SEQ01', 'id2699316', '', 'Activity 5'); -INSERT INTO cp_item VALUES ('', '4885', '', 'activity_6', '', 'tc=SX-05&act=6', 'SEQ01', 'id2696380', '', 'Activity 6'); -INSERT INTO cp_item VALUES ('', '4889', '', 'activity_7', '', '', '', 'id2696287', '', 'Activity 7'); -INSERT INTO cp_item VALUES ('', '4890', '', 'activity_8', '', 'tc=SX-05&act=8', 'SEQ01', 'id2686689', '', 'Activity 8'); -INSERT INTO cp_item VALUES ('', '4894', '', 'activity_9', '', 'tc=SX-05&act=9', 'SEQ01', 'id2699208', '', 'Activity 9'); -INSERT INTO cp_item VALUES ('', '4898', '', 'activity_10', '', 'tc=SX-05&act=10', 'SEQ01', 'id2681469', '', 'Activity 10'); -INSERT INTO cp_item VALUES ('', '4991', '', 'activity_1', '', 'tc=SX-06&act=1', 'SEQ01', '', '', 'Activity 1'); -INSERT INTO cp_item VALUES ('', '4995', '', 'activity_2', '', 'tc=SX-06&act=2', 'SEQ01', 'id3095010', '', 'Activity 2'); -INSERT INTO cp_item VALUES ('', '4999', '', 'activity_3', '', 'tc=SX-06&act=3', 'SEQ01', '', '', 'Activity 3'); -INSERT INTO cp_item VALUES ('', '5031', '', 'activity_1', '', '', '', 'id2837196', '', 'Activity 1'); -INSERT INTO cp_item VALUES ('', '5032', '', 'activity_2', '', 'tc=SX-07a&act=2', 'SEQ01', 'id2837123', '', 'Activity 2'); -INSERT INTO cp_item VALUES ('', '5036', '', 'activity_3', '', 'tc=SX-07a&act=3', 'SEQ01', '', '', 'Activity 3'); -INSERT INTO cp_item VALUES ('', '5040', '', 'activity_4', '', 'tc=SX-07a&act=4', 'SEQ01', '', '', 'Activity 4'); -INSERT INTO cp_item VALUES ('', '5044', '', 'activity_5', '', 'tc=SX-07a&act=5', 'SEQ01', '', '', 'Activity 5'); -INSERT INTO cp_item VALUES ('', '5075', '', 'activity_1', '', '', '', 'id2836154', '', 'Activity 1'); -INSERT INTO cp_item VALUES ('', '5076', '', 'activity_2', '', 'tc=SX-07b&act=2', 'SEQ01', 'id2837340', '', 'Activity 2'); -INSERT INTO cp_item VALUES ('', '5080', '', 'activity_3', '', 'tc=SX-07b&act=3', 'SEQ01', '', '', 'Activity 3'); -INSERT INTO cp_item VALUES ('', '5084', '', 'activity_4', '', 'tc=SX-07b&act=4', 'SEQ01', '', '', 'Activity 4'); -INSERT INTO cp_item VALUES ('', '5115', '', 'activity_1', '', '', '', 'id2861852', '', 'Activity 1'); -INSERT INTO cp_item VALUES ('', '5116', '', 'activity_2', '', 'tc=SX-07c&act=2', 'SEQ01', 'id2837019', '', 'Activity 2'); -INSERT INTO cp_item VALUES ('', '5120', '', 'activity_3', '', 'tc=SX-07c&act=3', 'SEQ01', '', '', 'Activity 3'); -INSERT INTO cp_item VALUES ('', '5124', '', 'activity_4', '', 'tc=SX-07c&act=4', 'SEQ01', '', '', 'Activity 4'); -INSERT INTO cp_item VALUES ('', '5159', '', 'activity_1', '', 'tc=SX-07d&act=1', 'SEQ01', '', '', 'Activity 1'); -INSERT INTO cp_item VALUES ('', '5163', '', 'activity_2', '', '', '', 'id2813984', '', 'Activity 2'); -INSERT INTO cp_item VALUES ('', '5164', '', 'activity_3', '', 'tc=SX-07d&act=3', 'SEQ01', 'id2862147', '', 'Activity 3'); -INSERT INTO cp_item VALUES ('', '5168', '', 'activity_4', '', 'tc=SX-07d&act=4', 'SEQ01', 'id2812723', '', 'Activity 4'); -INSERT INTO cp_item VALUES ('', '5172', '', 'activity_5', '', 'tc=SX-07d&act=5', 'SEQ01', 'id2837145', '', 'Activity 5'); -INSERT INTO cp_item VALUES ('', '5176', '', 'activity_6', '', 'tc=SX-07d&act=6', 'SEQ01', '', '', 'Activity 6'); -INSERT INTO cp_item VALUES ('', '5180', '', 'activity_7', '', 'tc=SX-07d&act=7', 'SEQ01', '', '', 'Activity 7'); -INSERT INTO cp_item VALUES ('', '5218', '', 'activity_1', '', 'tc=SX-07e&act=1', 'SEQ01', '', '', 'Activity 1'); -INSERT INTO cp_item VALUES ('', '5222', '', 'activity_2', '', '', '', 'id2818780', '', 'Activity 2'); -INSERT INTO cp_item VALUES ('', '5223', '', 'activity_3', '', 'tc=SX-07e&act=3', 'SEQ01', '', '', 'Activity 3'); -INSERT INTO cp_item VALUES ('', '5227', '', 'activity_4', '', 'tc=SX-07e&act=4', 'SEQ01', 'id2834249', '', 'Activity 4'); -INSERT INTO cp_item VALUES ('', '5231', '', 'activity_5', '', 'tc=SX-07e&act=5', 'SEQ01', 'id2836098', '', 'Activity 5'); -INSERT INTO cp_item VALUES ('', '5235', '', 'activity_6', '', 'tc=SX-07e&act=6', 'SEQ01', 'id2835895', '', 'Activity 6'); -INSERT INTO cp_item VALUES ('', '5239', '', 'activity_7', '', 'tc=SX-07e&act=7', 'SEQ01', '', '', 'Activity 7'); -INSERT INTO cp_item VALUES ('', '5277', '', 'activity_1', '', 'tc=T-01a&act=1', 'SEQ01', 'id2675739', '', 'Activity 1'); -INSERT INTO cp_item VALUES ('', '5281', '', 'activity_2', '', '', '', 'id2675998', '', 'Activity 2'); -INSERT INTO cp_item VALUES ('', '5282', '', 'activity_3', '', '', '', 'module', '', 'Activity 3'); -INSERT INTO cp_item VALUES ('', '5283', '', 'activity_4', '', '', '', 'id2675451', '', 'Activity 4'); -INSERT INTO cp_item VALUES ('', '5284', '', 'activity_5', '', 'tc=T-01a&act=5', 'SEQ01', '', '', 'Activity 5'); -INSERT INTO cp_item VALUES ('', '5288', '', 'activity_6', '', 'tc=T-01a&act=6', 'SEQ01', '', '', 'Activity 6'); -INSERT INTO cp_item VALUES ('', '5292', '', 'activity_7', '', 'tc=T-01a&act=7', 'SEQ01', '', '', 'Activity 7'); -INSERT INTO cp_item VALUES ('', '5296', '', 'activity_8', '', '', '', 'id2675173', '', 'Activity 8'); -INSERT INTO cp_item VALUES ('', '5297', '', 'activity_9', '', 'tc=T-01a&act=9', 'SEQ01', '', '', 'Activity 9'); -INSERT INTO cp_item VALUES ('', '5301', '', 'activity_10', '', 'tc=T-01a&act=10', 'SEQ01', '', '', 'Activity 10'); -INSERT INTO cp_item VALUES ('', '5305', '', 'activity_11', '', 'tc=T-01a&act=11', 'SEQ01', '', '', 'Activity 11'); -INSERT INTO cp_item VALUES ('', '5309', '', 'activity_12', '', '', '', 'id2674918', '', 'Activity 12'); -INSERT INTO cp_item VALUES ('', '5310', '', 'activity_13', '', 'tc=T-01a&act=13', 'SEQ01', '', '', 'Activity 13'); -INSERT INTO cp_item VALUES ('', '5314', '', 'activity_14', '', 'tc=T-01a&act=14', 'SEQ01', '', '', 'Activity 14'); -INSERT INTO cp_item VALUES ('', '5318', '', 'activity_15', '', 'tc=T-01a&act=15', 'SEQ01', '', '', 'Activity 15'); -INSERT INTO cp_item VALUES ('', '5322', '', 'activity_16', '', '', '', 'module', '', 'Activity 16'); -INSERT INTO cp_item VALUES ('', '5323', '', 'activity_17', '', '', '', 'id2674604', '', 'Activty 17'); -INSERT INTO cp_item VALUES ('', '5324', '', 'activity_18', '', 'tc=T-01a&act=18', 'SEQ01', '', '', 'Activity 18'); -INSERT INTO cp_item VALUES ('', '5328', '', 'activity_19', '', 'tc=T-01a&act=19', 'SEQ01', '', '', 'Activity 19'); -INSERT INTO cp_item VALUES ('', '5332', '', 'activity_20', '', 'tc=T-01a&act=20', 'SEQ01', '', '', 'Activity 20'); -INSERT INTO cp_item VALUES ('', '5336', '', 'activity_21', '', '', '', 'id2674322', '', 'Activity 21'); -INSERT INTO cp_item VALUES ('', '5337', '', 'activity_22', '', 'tc=T-01a&act=22', 'SEQ01', '', '', 'Activity 22'); -INSERT INTO cp_item VALUES ('', '5341', '', 'activity_23', '', 'tc=T-01a&act=23', 'SEQ01', '', '', 'Activity 23'); -INSERT INTO cp_item VALUES ('', '5345', '', 'activity_24', '', 'tc=T-01a&act=24', 'SEQ01', '', '', 'Activity 24'); -INSERT INTO cp_item VALUES ('', '5349', '', 'activity_25', '', '', '', 'id2668217', '', 'Activity 25'); -INSERT INTO cp_item VALUES ('', '5350', '', 'activity_26', '', 'tc=T-01a&act=26', 'SEQ01', '', '', 'Activity 26'); -INSERT INTO cp_item VALUES ('', '5354', '', 'activity_27', '', 'tc=T-01a&act=27', 'SEQ01', '', '', 'Activity 27'); -INSERT INTO cp_item VALUES ('', '5358', '', 'activity_28', '', 'tc=T-01a&act=28', 'SEQ01', '', '', 'Activity 28'); -INSERT INTO cp_item VALUES ('', '5362', '', 'activity_29', '', '', '', 'module', '', 'Activity 29'); -INSERT INTO cp_item VALUES ('', '5363', '', 'activity_30', '', '', '', 'id2668137', '', 'Activity 30'); -INSERT INTO cp_item VALUES ('', '5364', '', 'activity_31', '', 'tc=T-01a&act=31', 'SEQ01', '', '', 'Activity 31'); -INSERT INTO cp_item VALUES ('', '5368', '', 'activity_32', '', 'tc=T-01a&act=32', 'SEQ01', '', '', 'Activity 32'); -INSERT INTO cp_item VALUES ('', '5372', '', 'activity_33', '', 'tc=T-01a&act=33', 'SEQ01', '', '', 'Activity 33'); -INSERT INTO cp_item VALUES ('', '5376', '', 'activity_34', '', '', '', 'id2678102', '', 'Activity 34'); -INSERT INTO cp_item VALUES ('', '5377', '', 'activity_35', '', 'tc=T-01a&act=35', 'SEQ01', '', '', 'Activity 35'); -INSERT INTO cp_item VALUES ('', '5381', '', 'activity_36', '', 'tc=T-01a&act=36', 'SEQ01', '', '', 'Activity 36'); -INSERT INTO cp_item VALUES ('', '5385', '', 'activity_37', '', 'tc=T-01a&act=37', 'SEQ01', '', '', 'Activity 37'); -INSERT INTO cp_item VALUES ('', '5389', '', 'activity_38', '', '', '', 'id2618945', '', 'Activity 38'); -INSERT INTO cp_item VALUES ('', '5390', '', 'activity_39', '', 'tc=T-01a&act=39', 'SEQ01', '', '', 'Activity 39'); -INSERT INTO cp_item VALUES ('', '5394', '', 'activity_40', '', 'tc=T-01a&act=40', 'SEQ01', '', '', 'Activity 40'); -INSERT INTO cp_item VALUES ('', '5398', '', 'activity_41', '', 'tc=T-01a&act=41', 'SEQ01', '', '', 'Activity 41'); -INSERT INTO cp_item VALUES ('', '5402', '', 'activity_42', '', 'tc=T-01a&act=42', 'SEQ01', 'id2678246', '', 'Activity 42'); -INSERT INTO cp_item VALUES ('', '5490', '', 'activity_1', '', 'tc=T-01b&act=1', 'SEQ01', 'id2820366', '', 'Activity 1'); -INSERT INTO cp_item VALUES ('', '5494', '', 'activity_2', '', '', '', 'id2837025', '', 'Activity 2'); -INSERT INTO cp_item VALUES ('', '5495', '', 'activity_3', '', '', '', 'module', '', 'Activity 3'); -INSERT INTO cp_item VALUES ('', '5496', '', 'activity_4', '', '', '', 'id2820213', '', 'Activity 4'); -INSERT INTO cp_item VALUES ('', '5497', '', 'activity_5', '', 'tc=T-01b&act=5', 'SEQ01', '', '', 'Activity 5'); -INSERT INTO cp_item VALUES ('', '5501', '', 'activity_6', '', 'tc=T-01b&act=6', 'SEQ01', '', '', 'Activity 6'); -INSERT INTO cp_item VALUES ('', '5505', '', 'activity_7', '', 'tc=T-01b&act=7', 'SEQ01', '', '', 'Activity 7'); -INSERT INTO cp_item VALUES ('', '5509', '', 'activity_8', '', '', '', 'id2837293', '', 'Activity 8'); -INSERT INTO cp_item VALUES ('', '5510', '', 'activity_9', '', 'tc=T-01b&act=9', 'SEQ01', 'id2843255', '', 'Activity 9'); -INSERT INTO cp_item VALUES ('', '5514', '', 'activity_10', '', 'tc=T-01b&act=10', 'SEQ01', 'id2820281', '', 'Activity 10'); -INSERT INTO cp_item VALUES ('', '5518', '', 'activity_11', '', 'tc=T-01b&act=11', 'SEQ01', '', '', 'Activity 11'); -INSERT INTO cp_item VALUES ('', '5522', '', 'activity_12', '', '', '', 'id2820160', '', 'Activity 12'); -INSERT INTO cp_item VALUES ('', '5523', '', 'activity_13', '', 'tc=T-01b&act=13', 'SEQ01', '', '', 'Activity 13'); -INSERT INTO cp_item VALUES ('', '5527', '', 'activity_14', '', 'tc=T-01b&act=14', 'SEQ01', '', '', 'Activity 14'); -INSERT INTO cp_item VALUES ('', '5531', '', 'activity_15', '', 'tc=T-01b&act=15', 'SEQ01', '', '', 'Activity 15'); -INSERT INTO cp_item VALUES ('', '5535', '', 'activity_16', '', '', '', 'module', '', 'Activity 16'); -INSERT INTO cp_item VALUES ('', '5536', '', 'activity_17', '', '', '', 'id2850173', '', 'Activty 17'); -INSERT INTO cp_item VALUES ('', '5537', '', 'activity_18', '', 'tc=T-01b&act=18', 'SEQ01', '', '', 'Activity 18'); -INSERT INTO cp_item VALUES ('', '5541', '', 'activity_19', '', 'tc=T-01b&act=19', 'SEQ01', '', '', 'Activity 19'); -INSERT INTO cp_item VALUES ('', '5545', '', 'activity_20', '', 'tc=T-01b&act=20', 'SEQ01', '', '', 'Activity 20'); -INSERT INTO cp_item VALUES ('', '5549', '', 'activity_21', '', '', '', 'id2820322', '', 'Activity 21'); -INSERT INTO cp_item VALUES ('', '5550', '', 'activity_22', '', 'tc=T-01b&act=22', 'SEQ01', '', '', 'Activity 22'); -INSERT INTO cp_item VALUES ('', '5554', '', 'activity_23', '', 'tc=T-01b&act=23', 'SEQ01', '', '', 'Activity 23'); -INSERT INTO cp_item VALUES ('', '5558', '', 'activity_24', '', 'tc=T-01b&act=24', 'SEQ01', '', '', 'Activity 24'); -INSERT INTO cp_item VALUES ('', '5562', '', 'activity_25', '', '', '', 'id2843649', '', 'Activity 25'); -INSERT INTO cp_item VALUES ('', '5563', '', 'activity_26', '', 'tc=T-01b&act=26', 'SEQ01', '', '', 'Activity 26'); -INSERT INTO cp_item VALUES ('', '5567', '', 'activity_27', '', 'tc=T-01b&act=27', 'SEQ01', '', '', 'Activity 27'); -INSERT INTO cp_item VALUES ('', '5571', '', 'activity_28', '', 'tc=T-01b&act=28', 'SEQ01', '', '', 'Activity 28'); -INSERT INTO cp_item VALUES ('', '5575', '', 'activity_29', '', '', '', 'module', '', 'Activity 29'); -INSERT INTO cp_item VALUES ('', '5576', '', 'activity_30', '', '', '', 'id2837175', '', 'Activity 30'); -INSERT INTO cp_item VALUES ('', '5577', '', 'activity_31', '', 'tc=T-01b&act=31', 'SEQ01', '', '', 'Activity 31'); -INSERT INTO cp_item VALUES ('', '5581', '', 'activity_32', '', 'tc=T-01b&act=32', 'SEQ01', '', '', 'Activity 32'); -INSERT INTO cp_item VALUES ('', '5585', '', 'activity_33', '', 'tc=T-01b&act=33', 'SEQ01', '', '', 'Activity 33'); -INSERT INTO cp_item VALUES ('', '5589', '', 'activity_34', '', '', '', 'id2820477', '', 'Activity 34'); -INSERT INTO cp_item VALUES ('', '5590', '', 'activity_35', '', 'tc=T-01b&act=35', 'SEQ01', '', '', 'Activity 35'); -INSERT INTO cp_item VALUES ('', '5594', '', 'activity_36', '', 'tc=T-01b&act=36', 'SEQ01', '', '', 'Activity 36'); -INSERT INTO cp_item VALUES ('', '5598', '', 'activity_37', '', 'tc=T-01b&act=37', 'SEQ01', '', '', 'Activity 37'); -INSERT INTO cp_item VALUES ('', '5602', '', 'activity_38', '', '', '', 'id2843571', '', 'Activity 38'); -INSERT INTO cp_item VALUES ('', '5603', '', 'activity_39', '', 'tc=T-01b&act=39', 'SEQ01', '', '', 'Activity 39'); -INSERT INTO cp_item VALUES ('', '5607', '', 'activity_40', '', 'tc=T-01b&act=40', 'SEQ01', '', '', 'Activity 40'); -INSERT INTO cp_item VALUES ('', '5611', '', 'activity_41', '', 'tc=T-01b&act=41', 'SEQ01', '', '', 'Activity 41'); -INSERT INTO cp_item VALUES ('', '5615', '', 'activity_42', '', 'tc=T-01b&act=42', 'SEQ01', 'id2837119', '', 'Activity 42'); -INSERT INTO cp_item VALUES ('', '5713', '', 'u1', '', '', '', '', '', 'Combating Trafficking in Human Beings'); -INSERT INTO cp_item VALUES ('', '5714', '', 'OSCO1', '', '', 'SCO1', '', '', 'NATO Policy on Combating Trafficking in Human Beings'); -INSERT INTO cp_item VALUES ('', '5715', '', 'OSCO2', '', '', 'SCO2', '', '', 'What is Trafficking in Human Beings?'); -INSERT INTO cp_item VALUES ('', '5716', '', 'OSCO3', '', '', 'SCO3', '', '', 'Trafficking in Human Beings: Victims and Perpetrators'); -INSERT INTO cp_item VALUES ('', '5717', '', 'OSCO4', '', '', 'SCO4', '', '', 'Impact of Trafficking in Human Beings on NATO-led operations'); -INSERT INTO cp_item VALUES ('', '5718', '', 'OSCO5', '', '', 'SCO5', '', '', 'Duties of NATO-led Forces in Preventing Trafficking in Human Beings'); -INSERT INTO cp_item VALUES ('', '6175', '', 'INTRO', '', '', 'RESOURCE_INTRO', 'id382584', '', 'Introduction'); -INSERT INTO cp_item VALUES ('', '6176', '', 'MODULE1', '', '', '', 'id382558', '', 'Module 1 -- Basics'); -INSERT INTO cp_item VALUES ('', '6177', '', 'LESSON1', '', '', 'RESOURCE_LESSON1', '', '', 'Lesson 1 -- Interface'); -INSERT INTO cp_item VALUES ('', '6178', '', 'LESSON2', '', '', 'RESOURCE_LESSON2', '', '', 'Lesson 2 -- Toolbox'); -INSERT INTO cp_item VALUES ('', '6179', '', 'LESSON3', '', '', 'RESOURCE_LESSON3', '', '', 'Lesson 3 -- Palettes'); -INSERT INTO cp_item VALUES ('', '6180', '', 'LESSON4', '', '', 'RESOURCE_LESSON4', '', '', 'Lesson 4 -- Layers'); -INSERT INTO cp_item VALUES ('', '6181', '', 'MODULE2', '', '', '', 'id382538', '', 'Module 2 -- Enhancing Images'); -INSERT INTO cp_item VALUES ('', '6182', '', 'LESSON5', '', '', 'RESOURCE_LESSON5', '', '', 'Lesson 5 -- Color Balance'); -INSERT INTO cp_item VALUES ('', '6183', '', 'LESSON6', '', '', 'RESOURCE_LESSON6', '', '', 'Lesson 6 -- Brightness and Contrast'); -INSERT INTO cp_item VALUES ('', '6184', '', 'LESSON7', '', '', 'RESOURCE_LESSON7', '', '', 'Lesson 7 -- Hue and Saturation'); -INSERT INTO cp_item VALUES ('', '6185', '', 'MODULE3', '', '', '', 'id382425', '', 'Module 3 -- Blending Images'); -INSERT INTO cp_item VALUES ('', '6186', '', 'LESSON8', '', '', 'RESOURCE_LESSON8', '', '', 'Lesson 8 -- Selection Tools'); -INSERT INTO cp_item VALUES ('', '6187', '', 'LESSON9', '', '', 'RESOURCE_LESSON9', '', '', 'Lesson 9 -- Transform'); -INSERT INTO cp_item VALUES ('', '6188', '', 'EXAM', '', '', '', 'id382240', '', 'Exam'); -INSERT INTO cp_item VALUES ('', '6189', '', 'QUESTION1', '', 'main=Exam&sub=Question 1', 'RESOURCE_QUESTION1', '', '', 'QUESTION 1'); -INSERT INTO cp_item VALUES ('', '6190', '', 'QUESTION2', '', 'main=Exam&sub=Question 2', 'RESOURCE_QUESTION2', '', '', 'QUESTION 2'); -INSERT INTO cp_item VALUES ('', '6191', '', 'QUESTION3', '', 'main=Exam&sub=Question 3', 'RESOURCE_QUESTION3', '', '', 'QUESTION 3'); -INSERT INTO cp_item VALUES ('', '6192', '', 'QUESTION4', '', 'main=Exam&sub=Question 4', 'RESOURCE_QUESTION4', '', '', 'QUESTION 4'); -INSERT INTO cp_item VALUES ('', '6193', '', 'QUESTION5', '', 'main=Exam&sub=Question 5', 'RESOURCE_QUESTION5', '', '', 'QUESTION 5'); -INSERT INTO cp_item VALUES ('', '6194', '', 'QUESTION6', '', 'main=Exam&sub=Question 6', 'RESOURCE_QUESTION6', '', '', 'QUESTION 6'); -INSERT INTO cp_item VALUES ('', '6195', '', 'QUESTION7', '', 'main=Exam&sub=Question 7', 'RESOURCE_QUESTION7', '', '', 'QUESTION 7'); -INSERT INTO cp_item VALUES ('', '6196', '', 'QUESTION8', '', 'main=Exam&sub=Question 8', 'RESOURCE_QUESTION8', '', '', 'QUESTION 8'); -INSERT INTO cp_item VALUES ('', '6197', '', 'QUESTION9', '', 'main=Exam&sub=Question 9', 'RESOURCE_QUESTION9', '', '', 'QUESTION 9'); -INSERT INTO cp_item VALUES ('', '6376', '', 'INTRO', '', '', 'RESOURCE_INTRO', 'id384142', '', 'Introduction'); -INSERT INTO cp_item VALUES ('', '6378', '', 'MODULE1', '', '', 'RESOURCE_LESSON1', 'id383693', '', 'Module 1 -- Basics'); -INSERT INTO cp_item VALUES ('', '6381', '', 'MODULE2', '', '', 'RESOURCE_LESSON2', 'id383741', '', 'Module 2 -- Enhancing Images'); -INSERT INTO cp_item VALUES ('', '6384', '', 'MODULE3', '', '', 'RESOURCE_LESSON3', 'id383789', '', 'Module 3 -- Blending Images'); -INSERT INTO cp_item VALUES ('', '6387', '', 'EXAM', '', '', '', 'id383606', '', 'Exam'); -INSERT INTO cp_item VALUES ('', '6388', '', 'QUESTION1', '', 'main=Exam&sub=Question 1', 'RESOURCE_QUESTION1', '', '', 'QUESTION 1'); -INSERT INTO cp_item VALUES ('', '6391', '', 'QUESTION2', '', 'main=Exam&sub=Question 2', 'RESOURCE_QUESTION2', '', '', 'QUESTION 2'); -INSERT INTO cp_item VALUES ('', '6394', '', 'QUESTION3', '', 'main=Exam&sub=Question 3', 'RESOURCE_QUESTION3', '', '', 'QUESTION 3'); -INSERT INTO cp_item VALUES ('', '6397', '', 'QUESTION4', '', 'main=Exam&sub=Question 4', 'RESOURCE_QUESTION4', '', '', 'QUESTION 4'); -INSERT INTO cp_item VALUES ('', '6400', '', 'QUESTION5', '', 'main=Exam&sub=Question 5', 'RESOURCE_QUESTION5', '', '', 'QUESTION 5'); -INSERT INTO cp_item VALUES ('', '6403', '', 'QUESTION6', '', 'main=Exam&sub=Question 6', 'RESOURCE_QUESTION6', '', '', 'QUESTION 6'); -INSERT INTO cp_item VALUES ('', '6406', '', 'QUESTION7', '', 'main=Exam&sub=Question 7', 'RESOURCE_QUESTION7', '', '', 'QUESTION 7'); -INSERT INTO cp_item VALUES ('', '6409', '', 'QUESTION8', '', 'main=Exam&sub=Question 8', 'RESOURCE_QUESTION8', '', '', 'QUESTION 8'); -INSERT INTO cp_item VALUES ('', '6412', '', 'QUESTION9', '', 'main=Exam&sub=Question 9', 'RESOURCE_QUESTION9', '', '', 'QUESTION 9'); -INSERT INTO cp_item VALUES ('', '6604', '', 'INTRO', '', '', 'RESOURCE_INTRO', 'id384077', '', 'Introduction'); -INSERT INTO cp_item VALUES ('', '6606', '', 'MODULE1', '', '', 'RESOURCE_LESSON1', 'id384117', '', 'Module 1 -- Basics'); -INSERT INTO cp_item VALUES ('', '6609', '', 'MODULE2', '', '', 'RESOURCE_LESSON2', 'id383992', '', 'Module 2 -- Enhancing Images'); -INSERT INTO cp_item VALUES ('', '6612', '', 'MODULE3', '', '', 'RESOURCE_LESSON3', 'id384048', '', 'Module 3 -- Blending Images'); -INSERT INTO cp_item VALUES ('', '6615', '', 'EXAM', '', '', '', 'id383725', '', 'Exam'); -INSERT INTO cp_item VALUES ('', '6616', '', 'QUESTION1', '', 'main=Exam&sub=Question 1', 'RESOURCE_QUESTION1', '', '', 'QUESTION 1'); -INSERT INTO cp_item VALUES ('', '6619', '', 'QUESTION2', '', 'main=Exam&sub=Question 2', 'RESOURCE_QUESTION2', '', '', 'QUESTION 2'); -INSERT INTO cp_item VALUES ('', '6622', '', 'QUESTION3', '', 'main=Exam&sub=Question 3', 'RESOURCE_QUESTION3', '', '', 'QUESTION 3'); -INSERT INTO cp_item VALUES ('', '6625', '', 'QUESTION4', '', 'main=Exam&sub=Question 4', 'RESOURCE_QUESTION4', '', '', 'QUESTION 4'); -INSERT INTO cp_item VALUES ('', '6628', '', 'QUESTION5', '', 'main=Exam&sub=Question 5', 'RESOURCE_QUESTION5', '', '', 'QUESTION 5'); -INSERT INTO cp_item VALUES ('', '6631', '', 'QUESTION6', '', 'main=Exam&sub=Question 6', 'RESOURCE_QUESTION6', '', '', 'QUESTION 6'); -INSERT INTO cp_item VALUES ('', '6634', '', 'QUESTION7', '', 'main=Exam&sub=Question 7', 'RESOURCE_QUESTION7', '', '', 'QUESTION 7'); -INSERT INTO cp_item VALUES ('', '6637', '', 'QUESTION8', '', 'main=Exam&sub=Question 8', 'RESOURCE_QUESTION8', '', '', 'QUESTION 8'); -INSERT INTO cp_item VALUES ('', '6640', '', 'QUESTION9', '', 'main=Exam&sub=Question 9', 'RESOURCE_QUESTION9', '', '', 'QUESTION 9'); -INSERT INTO cp_item VALUES ('', '6832', '', 'item_8017380e67384e13b735d16511a6c149', '', '', 'resource_74da3c38d35c47d5b42da9d6c0f255bb', 'id381365', '', 'Vorabtest'); -INSERT INTO cp_item VALUES ('', '6833', '', 'item_e4a9c7851c114760b2a3f03e892b5427', '', '', '', 'id381502', '', 'Authentifizierung'); -INSERT INTO cp_item VALUES ('', '6834', '', 'item_df1cb952695841938519b1b77d7fc5b6', 'false', '', '', 'id380310', '', 'Hidden Cluster Item'); -INSERT INTO cp_item VALUES ('', '6835', '', 'item_8ebe0745ffe24bffa2ceba3682c6f7ec', '', '', 'resource_0c47e4ac023a4a819fdbb28146b7b7a2', 'sequencing_c9c0a2a07aaf4c4d987e7c1cc90de4da', '', 'Authentifizierung 1 '); -INSERT INTO cp_item VALUES ('', '6836', '', 'item_3bf16927a417469293bd176b23bf5cb4', '', '', 'resource_eb239f75804641ab8932982a13e7db54', 'sequencing_c9c0a2a07aaf4c4d987e7c1cc90de4da', '', 'Authentifizerung 2 '); -INSERT INTO cp_item VALUES ('', '6837', '', 'item_366683108e61443b911f86a36cfd3ce6', '', '', 'resource_e5c297d67e284e82b1d3517d6fbe49d2', 'sequencing_c9c0a2a07aaf4c4d987e7c1cc90de4da', '', 'Authentifizierung Nachtest'); -INSERT INTO cp_item VALUES ('', '6838', '', 'item_a0dc6a3eb9714bb2bd7e322087a41b12', 'false', '', 'resource_f9bf818889944a0f9b87ade4807e0570', 'id380281', '', 'Sequence Cap'); -INSERT INTO cp_item VALUES ('', '6839', '', 'item_1ff77533d4084fb9aebf21d3a2154492', 'false', '', 'resource_f9bf818889944a0f9b87ade4807e0570', 'id381473', '', 'Sequence Cap'); -INSERT INTO cp_item VALUES ('', '6840', '', 'item_f321b6f642f04739ae001cb659321fd8', '', '', '', 'id381269', '', 'Deployment'); -INSERT INTO cp_item VALUES ('', '6841', '', 'item_55d6e1ad8c0a44f3b27f6bb825f30c61', '', '', 'resource_fc6d353a91074b368b6e67f9792be8a9', 'id381312', '', 'Nachhilfe zum Deployment'); -INSERT INTO cp_item VALUES ('', '6842', '', 'item_6da130defc4a403b8176bcdeb495a3ac', '', '', 'resource_de5e74877b524f77a97a5b0e93d8c7e1', 'sequencing_c9c0a2a07aaf4c4d987e7c1cc90de4da', '', 'Deployment I '); -INSERT INTO cp_item VALUES ('', '6843', '', 'item_c792f8ad0c0e45bb855c3887e5720565', 'false', '', 'resource_f9bf818889944a0f9b87ade4807e0570', 'id381240', '', 'Sequence Cap'); -INSERT INTO cp_item VALUES ('', '6844', '', 'item_8c3a716431ce4514b7ba93400f9f61e6', '', '', 'resource_9c7707d6d3da41629b647c3a0c9d6063', 'sequencing_c9c0a2a07aaf4c4d987e7c1cc90de4da', '', 'Ende'); -INSERT INTO cp_item VALUES ('', '6933', '', 'item_8017380e67384e13b735d16511a6c149', '', '', 'resource_74da3c38d35c47d5b42da9d6c0f255bb', 'id382028', '', 'Vorabtest'); -INSERT INTO cp_item VALUES ('', '6934', '', 'item_e4a9c7851c114760b2a3f03e892b5427', '', '', '', 'id381884', '', 'Authentifizierung'); -INSERT INTO cp_item VALUES ('', '6935', '', 'item_df1cb952695841938519b1b77d7fc5b6', 'false', '', '', 'id382072', '', 'Hidden Cluster Item'); -INSERT INTO cp_item VALUES ('', '6936', '', 'item_8ebe0745ffe24bffa2ceba3682c6f7ec', '', '', 'resource_0c47e4ac023a4a819fdbb28146b7b7a2', 'sequencing_c9c0a2a07aaf4c4d987e7c1cc90de4da', '', 'Authentifizierung 1 '); -INSERT INTO cp_item VALUES ('', '6937', '', 'item_3bf16927a417469293bd176b23bf5cb4', '', '', 'resource_eb239f75804641ab8932982a13e7db54', 'sequencing_c9c0a2a07aaf4c4d987e7c1cc90de4da', '', 'Authentifizerung 2 '); -INSERT INTO cp_item VALUES ('', '6938', '', 'item_366683108e61443b911f86a36cfd3ce6', '', '', 'resource_e5c297d67e284e82b1d3517d6fbe49d2', 'sequencing_c9c0a2a07aaf4c4d987e7c1cc90de4da', '', 'Authentifizierung Nachtest'); -INSERT INTO cp_item VALUES ('', '6939', '', 'item_a0dc6a3eb9714bb2bd7e322087a41b12', 'false', '', 'resource_f9bf818889944a0f9b87ade4807e0570', 'id382139', '', 'Sequence Cap'); -INSERT INTO cp_item VALUES ('', '6940', '', 'item_1ff77533d4084fb9aebf21d3a2154492', 'false', '', 'resource_f9bf818889944a0f9b87ade4807e0570', 'id381856', '', 'Sequence Cap'); -INSERT INTO cp_item VALUES ('', '6941', '', 'item_f321b6f642f04739ae001cb659321fd8', '', '', '', 'id381696', '', 'Deployment'); -INSERT INTO cp_item VALUES ('', '6942', '', 'item_55d6e1ad8c0a44f3b27f6bb825f30c61', '', '', 'resource_fc6d353a91074b368b6e67f9792be8a9', 'id381946', '', 'Nachhilfe zum Deployment'); -INSERT INTO cp_item VALUES ('', '6943', '', 'item_6da130defc4a403b8176bcdeb495a3ac', '', '', 'resource_de5e74877b524f77a97a5b0e93d8c7e1', 'sequencing_c9c0a2a07aaf4c4d987e7c1cc90de4da', '', 'Deployment I '); -INSERT INTO cp_item VALUES ('', '6944', '', 'item_c792f8ad0c0e45bb855c3887e5720565', 'false', '', 'resource_f9bf818889944a0f9b87ade4807e0570', 'id381668', '', 'Sequence Cap'); -INSERT INTO cp_item VALUES ('', '6945', '', 'item_8c3a716431ce4514b7ba93400f9f61e6', '', '', 'resource_9c7707d6d3da41629b647c3a0c9d6063', 'sequencing_c9c0a2a07aaf4c4d987e7c1cc90de4da', '', 'Ende'); -INSERT INTO cp_item VALUES ('', '7034', '', 'u1', '', '', '', '', '', 'Learning Objects'); -INSERT INTO cp_item VALUES ('', '7035', '', 'OSCO1', '', '', 'SCO1', '', '', 'Types of Human Trafficking'); -INSERT INTO cp_item VALUES ('', '7036', '', 'OSCO2', '', '', 'SCO2', '', '', 'The History of Human Trafficking'); -INSERT INTO cp_item VALUES ('', '7037', '', 'OSCO3', '', '', 'SCO3', '', '', 'Causes of Human Trafficking'); -INSERT INTO cp_item VALUES ('', '7038', '', 'OSCO4', '', '', 'SCO4', '', '', 'Consequences of Human Trafficking'); -INSERT INTO cp_item VALUES ('', '7039', '', 'OSCO5', '', '', 'SCO5', '', '', 'Strategies against Human Trafficking'); -INSERT INTO cp_item VALUES ('', '7040', '', 'OSCO6', '', '', 'SCO6', '', '', 'Challenges to Counter-Trafficking Efforts'); -INSERT INTO cp_item VALUES ('', '7041', '', 'OSCO7', '', '', 'SCO7', '', '', 'Human Trafficking: Causes, Consequences, and Counter-Strategies'); -INSERT INTO cp_item VALUES ('', '7679', '', 'ITEM-A0584416-40BD-5359-361E-EA8C65CF1931', '', '', 'cam.html', '', '', 'Item'); -INSERT INTO cp_item VALUES ('', '7680', '', 'ITEM-8003C0B7-59CA-87E9-7080-38F0B5744C65', '', '', 'cam.html', '', '', 'Item'); -INSERT INTO cp_item VALUES ('', '7681', '', 'ITEM-4218CB3B-2767-1405-B60E-683FD8B446F0', '', '', 'RES-832DAE41-07A8-167A-D214-DDBFCD53B10A', '', '', 'Item'); -INSERT INTO cp_item VALUES ('', '7682', '', 'ITEM-68636AC0-9174-5BA6-F2D7-723D75038477', '', '', 'RES-832DAE41-07A8-167A-D214-DDBFCD53B10A', '', '', 'Item'); -INSERT INTO cp_item VALUES ('', '7683', '', 'ITEM-A398A9B3-8834-BC2C-7248-74F403D6B0B2', '', '', 'RES-832DAE41-07A8-167A-D214-DDBFCD53B10A', '', '', 'Item'); -INSERT INTO cp_item VALUES ('', '7684', '', 'ITEM-A255830A-6D26-C1D0-05E5-F41BBF4EF59E', '', '', '', '', '', 'Item'); -INSERT INTO cp_item VALUES ('', '7685', '', 'ITEM-1C992844-FD6C-F690-E59C-3E24B4D81771', '', '', '', '', '', 'Item'); -INSERT INTO cp_item VALUES ('', '7686', '', 'ITEM-BFAA6BE7-54E8-E64E-C843-7E9FB8414008', '', '', '', '', '', 'Item'); -INSERT INTO cp_item VALUES ('', '7687', '', 'ITEM-AACF750F-4446-263F-B582-66AC9DD5794A', '', '', '', '', '', 'Item'); -INSERT INTO cp_item VALUES ('', '7688', '', 'ITEM-BAFBDB54-1B6D-88E7-4BAB-368C4A7A0EEE', '', '', '', '', '', 'Item'); -INSERT INTO cp_item VALUES ('', '7689', '', 'ITEM-CE1A7F27-3460-8F09-3ADC-3ED5C9EAD410', '', '', '', '', '', 'Item'); -INSERT INTO cp_item VALUES ('', '7694', '', 'u1', '', '', '', '', '', 'Learning Objects'); -INSERT INTO cp_item VALUES ('', '7695', '', 'OSCO1', '', '', 'SCO1', '', '', 'Types of Human Trafficking'); -INSERT INTO cp_item VALUES ('', '7696', '', 'OSCO2', '', '', 'SCO2', '', '', 'The History of Human Trafficking'); -INSERT INTO cp_item VALUES ('', '7697', '', 'OSCO3', '', '', 'SCO3', '', '', 'Causes of Human Trafficking'); -INSERT INTO cp_item VALUES ('', '7698', '', 'OSCO4', '', '', 'SCO4', '', '', 'Consequences of Human Trafficking'); -INSERT INTO cp_item VALUES ('', '7699', '', 'OSCO5', '', '', 'SCO5', '', '', 'Strategies against Human Trafficking'); -INSERT INTO cp_item VALUES ('', '7700', '', 'OSCO6', '', '', 'SCO6', '', '', 'Challenges to Counter-Trafficking Efforts'); -INSERT INTO cp_item VALUES ('', '7701', '', 'OSCO7', '', '', 'SCO7', '', '', 'Human Trafficking: Causes, Consequences, and Counter-Strategies'); -INSERT INTO cp_item VALUES ('', '8339', '', 'ITEM-A0584416-40BD-5359-361E-EA8C65CF1931', '', '', 'cam.html', '', '', 'Item'); -INSERT INTO cp_item VALUES ('', '8340', '', 'ITEM-8003C0B7-59CA-87E9-7080-38F0B5744C65', '', '', 'cam.html', '', '', 'Item'); -INSERT INTO cp_item VALUES ('', '8341', '', 'ITEM-4218CB3B-2767-1405-B60E-683FD8B446F0', '', '', 'RES-832DAE41-07A8-167A-D214-DDBFCD53B10A', '', '', 'Item'); -INSERT INTO cp_item VALUES ('', '8342', '', 'ITEM-68636AC0-9174-5BA6-F2D7-723D75038477', '', '', 'RES-832DAE41-07A8-167A-D214-DDBFCD53B10A', '', '', 'Item'); -INSERT INTO cp_item VALUES ('', '8343', '', 'ITEM-A398A9B3-8834-BC2C-7248-74F403D6B0B2', '', '', 'RES-832DAE41-07A8-167A-D214-DDBFCD53B10A', '', '', 'Item'); -INSERT INTO cp_item VALUES ('', '8344', '', 'ITEM-A255830A-6D26-C1D0-05E5-F41BBF4EF59E', '', '', '', '', '', 'Item'); -INSERT INTO cp_item VALUES ('', '8345', '', 'ITEM-1C992844-FD6C-F690-E59C-3E24B4D81771', '', '', '', '', '', 'Item'); -INSERT INTO cp_item VALUES ('', '8346', '', 'ITEM-BFAA6BE7-54E8-E64E-C843-7E9FB8414008', '', '', '', '', '', 'Item'); -INSERT INTO cp_item VALUES ('', '8347', '', 'ITEM-AACF750F-4446-263F-B582-66AC9DD5794A', '', '', '', '', '', 'Item'); -INSERT INTO cp_item VALUES ('', '8348', '', 'ITEM-BAFBDB54-1B6D-88E7-4BAB-368C4A7A0EEE', '', '', '', '', '', 'Item'); -INSERT INTO cp_item VALUES ('', '8349', '', 'ITEM-CE1A7F27-3460-8F09-3ADC-3ED5C9EAD410', '', '', '', '', '', 'Item'); -INSERT INTO cp_item VALUES ('', '8354', '', 'ITEM-A0584416-40BD-5359-361E-EA8C65CF1931', '', '', 'cam.html', '', '', 'Item'); -INSERT INTO cp_item VALUES ('', '8355', '', 'ITEM-8003C0B7-59CA-87E9-7080-38F0B5744C65', '', '', 'cam.html', '', '', 'Item'); -INSERT INTO cp_item VALUES ('', '8356', '', 'ITEM-4218CB3B-2767-1405-B60E-683FD8B446F0', '', '', 'RES-832DAE41-07A8-167A-D214-DDBFCD53B10A', '', '', 'Item'); -INSERT INTO cp_item VALUES ('', '8357', '', 'ITEM-68636AC0-9174-5BA6-F2D7-723D75038477', '', '', 'RES-832DAE41-07A8-167A-D214-DDBFCD53B10A', '', '', 'Item'); -INSERT INTO cp_item VALUES ('', '8358', '', 'ITEM-A398A9B3-8834-BC2C-7248-74F403D6B0B2', '', '', 'RES-832DAE41-07A8-167A-D214-DDBFCD53B10A', '', '', 'Item'); -INSERT INTO cp_item VALUES ('', '8359', '', 'ITEM-A255830A-6D26-C1D0-05E5-F41BBF4EF59E', '', '', '', '', '', 'Item'); -INSERT INTO cp_item VALUES ('', '8360', '', 'ITEM-1C992844-FD6C-F690-E59C-3E24B4D81771', '', '', '', '', '', 'Item'); -INSERT INTO cp_item VALUES ('', '8361', '', 'ITEM-BFAA6BE7-54E8-E64E-C843-7E9FB8414008', '', '', '', '', '', 'Item'); -INSERT INTO cp_item VALUES ('', '8362', '', 'ITEM-AACF750F-4446-263F-B582-66AC9DD5794A', '', '', '', '', '', 'Item'); -INSERT INTO cp_item VALUES ('', '8363', '', 'ITEM-BAFBDB54-1B6D-88E7-4BAB-368C4A7A0EEE', '', '', '', '', '', 'Item'); -INSERT INTO cp_item VALUES ('', '8364', '', 'ITEM-CE1A7F27-3460-8F09-3ADC-3ED5C9EAD410', '', '', '', '', '', 'Item'); -INSERT INTO cp_item VALUES ('', '8369', '', 'ITEM-A0584416-40BD-5359-361E-EA8C65CF1931', '', '', 'cam.html', '', '', 'Item'); -INSERT INTO cp_item VALUES ('', '8370', '', 'ITEM-8003C0B7-59CA-87E9-7080-38F0B5744C65', '', '', 'cam.html', '', '', 'Item'); -INSERT INTO cp_item VALUES ('', '8371', '', 'ITEM-4218CB3B-2767-1405-B60E-683FD8B446F0', '', '', 'RES-832DAE41-07A8-167A-D214-DDBFCD53B10A', '', '', 'Item'); -INSERT INTO cp_item VALUES ('', '8372', '', 'ITEM-68636AC0-9174-5BA6-F2D7-723D75038477', '', '', 'RES-832DAE41-07A8-167A-D214-DDBFCD53B10A', '', '', 'Item'); -INSERT INTO cp_item VALUES ('', '8373', '', 'ITEM-A398A9B3-8834-BC2C-7248-74F403D6B0B2', '', '', 'RES-832DAE41-07A8-167A-D214-DDBFCD53B10A', '', '', 'Item'); -INSERT INTO cp_item VALUES ('', '8374', '', 'ITEM-A255830A-6D26-C1D0-05E5-F41BBF4EF59E', '', '', '', '', '', 'Item'); -INSERT INTO cp_item VALUES ('', '8375', '', 'ITEM-1C992844-FD6C-F690-E59C-3E24B4D81771', '', '', '', '', '', 'Item'); -INSERT INTO cp_item VALUES ('', '8376', '', 'ITEM-BFAA6BE7-54E8-E64E-C843-7E9FB8414008', '', '', '', '', '', 'Item'); -INSERT INTO cp_item VALUES ('', '8377', '', 'ITEM-AACF750F-4446-263F-B582-66AC9DD5794A', '', '', '', '', '', 'Item'); -INSERT INTO cp_item VALUES ('', '8378', '', 'ITEM-BAFBDB54-1B6D-88E7-4BAB-368C4A7A0EEE', '', '', '', '', '', 'Item'); -INSERT INTO cp_item VALUES ('', '8379', '', 'ITEM-CE1A7F27-3460-8F09-3ADC-3ED5C9EAD410', '', '', '', '', '', 'Item'); -# -------------------------------------------------------- - - -# -# Dumping data for table: cp_manifest -# -INSERT INTO cp_manifest VALUES ('', '1', 'API', 'LMSTestPackage_API', '', 'md5:', '1.0.1'); -INSERT INTO cp_manifest VALUES ('', '43', 'API', 'LMSTestPackage_API', '', 'md5:', '1.0.1'); -INSERT INTO cp_manifest VALUES ('', '85', 'CM-01', 'LMSTestPackage_CM-01', '', 'md5:', '1.0.1'); -INSERT INTO cp_manifest VALUES ('', '125', 'CM-02a', 'LMSTestPackage_CM-02a', '', 'md5:', '1.0.1'); -INSERT INTO cp_manifest VALUES ('', '157', 'CM-02b', 'LMSTestPackage_CM-02b', '', 'md5:', '1.0.1'); -INSERT INTO cp_manifest VALUES ('', '205', 'CM-03a', 'LMSTestPackage_CM-03a', '', 'md5:', '1.0.1'); -INSERT INTO cp_manifest VALUES ('', '259', 'CM-03b', 'LMSTestPackage_CM-03b', '', 'md5:', '1.0.1'); -INSERT INTO cp_manifest VALUES ('', '332', 'CM-04a', 'LMSTestPackage_CM-04a', '', 'md5:', '1.0.1'); -INSERT INTO cp_manifest VALUES ('', '400', 'CM-04b', 'LMSTestPackage_CM-04b', '', 'md5:', '1.0.1'); -INSERT INTO cp_manifest VALUES ('', '443', 'CM-04c', 'LMSTestPackage_CM-04c', '', 'md5:', '1.0.1'); -INSERT INTO cp_manifest VALUES ('', '515', 'CM-04d', 'LMSTestPackage_CM-04d', '', 'md5:', '1.0.1'); -INSERT INTO cp_manifest VALUES ('', '583', 'CM-05', 'LMSTestPackage_CM-05', '', 'md5:', '1.0.1'); -INSERT INTO cp_manifest VALUES ('', '638', 'CM-06', 'LMSTestPackage_CM-06', '', 'md5:', '1.0.1'); -INSERT INTO cp_manifest VALUES ('', '673', 'CM-07a', 'LMSTestPackage_CM-07a', '', 'md5:', '1.0.1'); -INSERT INTO cp_manifest VALUES ('', '729', 'CM-07b', 'LMSTestPackage_CM-07b', '', 'md5:', '1.0.1'); -INSERT INTO cp_manifest VALUES ('', '797', 'CM-07c', 'LMSTestPackage_CM-07c', '', 'md5:', '1.0.1'); -INSERT INTO cp_manifest VALUES ('', '854', 'CM-07d', 'LMSTestPackage_CM-07d', '', 'md5:', '1.0.1'); -INSERT INTO cp_manifest VALUES ('', '902', 'CASETEST', 'LMSTestPackage_CM-07e', '', 'md5:', '1.0.1'); -INSERT INTO cp_manifest VALUES ('', '935', 'CM-07f', 'LMSTestPackage_CM-07f', '', 'md5:', '1.0.1'); -INSERT INTO cp_manifest VALUES ('', '965', 'CM-08', 'LMSTestPackage_CM-08', '', 'md5:', '1.0.1'); -INSERT INTO cp_manifest VALUES ('', '994', 'DMB', 'LMSTestPackage_DMB', '', 'md5:', '1.0.1'); -INSERT INTO cp_manifest VALUES ('', '1102', 'DMI', 'LMSTestPackage_DMI', '', 'md5:', '1.0.1'); -INSERT INTO cp_manifest VALUES ('', '1153', 'MS-01', 'LMSTestPackage_MS-01', '', 'md5:', '1.0.1'); -INSERT INTO cp_manifest VALUES ('', '1201', 'MS-02', 'LMSTestPackage_MS-02', '', 'md5:', '1.0.1'); -INSERT INTO cp_manifest VALUES ('', '1251', 'MS-03', 'LMSTestPackage_MS-03', '', 'md5:', '1.0.1'); -INSERT INTO cp_manifest VALUES ('', '1301', 'MS-04', 'LMSTestPackage_MS-04', '', 'md5:', '1.0.1'); -INSERT INTO cp_manifest VALUES ('', '1335', 'MS-05a', 'LMSTestPackage_MS-05a', '', 'md5:', '1.0.1'); -INSERT INTO cp_manifest VALUES ('', '1371', 'MS-05b', 'LMSTestPackage_MS-05b', '', 'md5:', '1.0.1'); -INSERT INTO cp_manifest VALUES ('', '1422', 'MS-06', 'LMSTestPackage_MS-06', '', 'md5:', '1.0.1'); -INSERT INTO cp_manifest VALUES ('', '1475', 'OB-01a', 'LMSTestPackage_OB-01a', '', 'md5:', '1.0.1'); -INSERT INTO cp_manifest VALUES ('', '1518', 'OB-01b', 'LMSTestPackage_OB-01b', '', 'md5:', '1.0.1'); -INSERT INTO cp_manifest VALUES ('', '1561', 'OB-01c', 'LMSTestPackage_OB-01c', '', 'md5:', '1.0.1'); -INSERT INTO cp_manifest VALUES ('', '1604', 'OB-02a', 'LMSTestPackage_OB-02a', '', 'md5:', '1.0.1'); -INSERT INTO cp_manifest VALUES ('', '1649', 'OB-02b', 'LMSTestPackage_OB-02b', '', 'md5:', '1.0.1'); -INSERT INTO cp_manifest VALUES ('', '1685', 'OB-03a', 'LMSTestPackage_OB-03a', '', 'md5:', '1.0.1'); -INSERT INTO cp_manifest VALUES ('', '1732', 'OB-03b', 'LMSTestPackage_OB-03b', '', 'md5:', '1.0.1'); -INSERT INTO cp_manifest VALUES ('', '1811', 'OB-03c', 'LMSTestPackage_OB-03c', '', 'md5:', '1.0.1'); -INSERT INTO cp_manifest VALUES ('', '1893', 'OB-04', 'LMSTestPackage_OB-04', '', 'md5:', '1.0.1'); -INSERT INTO cp_manifest VALUES ('', '1962', 'OB-05a', 'LMSTestPackage_OB-05a', '', 'md5:', '1.0.1'); -INSERT INTO cp_manifest VALUES ('', '2014', 'OB-05b', 'LMSTestPackage_OB-05b', '', 'md5:', '1.0.1'); -INSERT INTO cp_manifest VALUES ('', '2066', 'OB-05c', 'LMSTestPackage_OB-05c', '', 'md5:', '1.0.1'); -INSERT INTO cp_manifest VALUES ('', '2109', 'OB-06', 'LMSTestPackage_OB-06', '', 'md5:', '1.0.1'); -INSERT INTO cp_manifest VALUES ('', '2165', 'OB-07a', 'LMSTestPackage_OB-07a', '', 'md5:', '1.0.1'); -INSERT INTO cp_manifest VALUES ('', '2213', 'OB-07b', 'LMSTestPackage_OB-07b', '', 'md5:', '1.0.1'); -INSERT INTO cp_manifest VALUES ('', '2260', 'OB-08a', 'LMSTestPackage_OB-08a', '', 'md5:', '1.0.1'); -INSERT INTO cp_manifest VALUES ('', '2324', 'OB-08b', 'LMSTestPackage_OB-08b', '', 'md5:', '1.0.1'); -INSERT INTO cp_manifest VALUES ('', '2388', 'OB-09a', 'LMSTestPackage_OB-09a', '', 'md5:', '1.0.1'); -INSERT INTO cp_manifest VALUES ('', '2443', 'OB-09b', 'LMSTestPackage_OB-09b', '', 'md5:', '1.0.1'); -INSERT INTO cp_manifest VALUES ('', '2498', 'OB-10a', 'LMSTestPackage_OB-10a', '', 'md5:', '1.0.1'); -INSERT INTO cp_manifest VALUES ('', '2535', 'OB-10b', 'LMSTestPackage_OB-10b', '', 'md5:', '1.0.1'); -INSERT INTO cp_manifest VALUES ('', '2581', 'OB-10c', 'LMSTestPackage_OB-10c', '', 'md5:', '1.0.1'); -INSERT INTO cp_manifest VALUES ('', '2628', 'OB-10d', 'LMSTestPackage_OB-10d', '', 'md5:', '1.0.1'); -INSERT INTO cp_manifest VALUES ('', '2677', 'OB-11a', 'LMSTestPackage_OB-11a', '', 'md5:', '1.0.1'); -INSERT INTO cp_manifest VALUES ('', '2726', 'OB-11b', 'LMSTestPackage_OB-11b', '', 'md5:', '1.0.1'); -INSERT INTO cp_manifest VALUES ('', '2777', 'OB-12a', 'LMSTestPackage_OB-12a', '', 'md5:', '1.0.1'); -INSERT INTO cp_manifest VALUES ('', '2818', 'OB-12b', 'LMSTestPackage_OB-12b', '', 'md5:', '1.0.1'); -INSERT INTO cp_manifest VALUES ('', '2859', 'OB-12c', 'LMSTestPackage_OB-12c', '', 'md5:', '1.0.1'); -INSERT INTO cp_manifest VALUES ('', '2900', 'OB-13a', 'LMSTestPackage_OB-13a', '', 'md5:', '1.0.1'); -INSERT INTO cp_manifest VALUES ('', '2950', 'OB-13b', 'LMSTestPackage_OB-13b', '', 'md5:', '1.0.1'); -INSERT INTO cp_manifest VALUES ('', '3000', 'OB-13c', 'LMSTestPackage_OB-13c', '', 'md5:', '1.0.1'); -INSERT INTO cp_manifest VALUES ('', '3050', 'OB-14a', 'LMSTestPackage_OB-14a', '', 'md5:', '1.0.1'); -INSERT INTO cp_manifest VALUES ('', '3119', 'OB-14b', 'LMSTestPackage_OB-14b', '', 'md5:', '1.0.1'); -INSERT INTO cp_manifest VALUES ('', '3194', 'OB-15', 'LMSTestPackage_OB-15', '', 'md5:', '1.0.1'); -INSERT INTO cp_manifest VALUES ('', '3266', 'RU-01aa', 'LMSTestPackage_RU-01aa', '', 'md5:', '1.0.1'); -INSERT INTO cp_manifest VALUES ('', '3315', 'RU-01ab', 'LMSTestPackage_RU-01ab', '', 'md5:', '1.0.1'); -INSERT INTO cp_manifest VALUES ('', '3364', 'RU-01ba', 'LMSTestPackage_RU-01ba', '', 'md5:', '1.0.1'); -INSERT INTO cp_manifest VALUES ('', '3398', 'RU-01bb', 'LMSTestPackage_RU-01bb', '', 'md5:', '1.0.1'); -INSERT INTO cp_manifest VALUES ('', '3447', 'RU-02a', 'LMSTestPackage_RU-02a', '', 'md5:', '1.0.1'); -INSERT INTO cp_manifest VALUES ('', '3498', 'RU-02b', 'LMSTestPackage_RU-02b', '', 'md5:', '1.0.1'); -INSERT INTO cp_manifest VALUES ('', '3549', 'RU-03a', 'LMSTestPackage_RU-03a', '', 'md5:', '1.0.1'); -INSERT INTO cp_manifest VALUES ('', '3601', 'RU-03b', 'LMSTestPackage_RU-03b', '', 'md5:', '1.0.1'); -INSERT INTO cp_manifest VALUES ('', '3653', 'RU-04aa', 'LMSTestPackage_RU-04aa', '', 'md5:', '1.0.1'); -INSERT INTO cp_manifest VALUES ('', '3705', 'RU-04ab', 'LMSTestPackage_RU-04ab', '', 'md5:', '1.0.1'); -INSERT INTO cp_manifest VALUES ('', '3757', 'RU-04ba', 'LMSTestPackage_RU-04ba', '', 'md5:', '1.0.1'); -INSERT INTO cp_manifest VALUES ('', '3809', 'RU-04bb', 'LMSTestPackage_RU-04bb', '', 'md5:', '1.0.1'); -INSERT INTO cp_manifest VALUES ('', '3861', 'RU-04bc', 'LMSTestPackage_RU-04bc', '', 'md5:', '1.0.1'); -INSERT INTO cp_manifest VALUES ('', '3898', 'RU-04bd', 'LMSTestPackage_RU-04bd', '', 'md5:', '1.0.1'); -INSERT INTO cp_manifest VALUES ('', '3950', 'RU-05a', 'LMSTestPackage_RU-05a', '', 'md5:', '1.0.1'); -INSERT INTO cp_manifest VALUES ('', '4001', 'RU-05b', 'LMSTestPackage_RU-05b', '', 'md5:', '1.0.1'); -INSERT INTO cp_manifest VALUES ('', '4052', 'RU-06a', 'LMSTestPackage_RU-06a', '', 'md5:', '1.0.1'); -INSERT INTO cp_manifest VALUES ('', '4097', 'RU-06b', 'LMSTestPackage_RU-06b', '', 'md5:', '1.0.1'); -INSERT INTO cp_manifest VALUES ('', '4144', 'RU-07a', 'LMSTestPackage_RU-07a', '', 'md5:', '1.0.1'); -INSERT INTO cp_manifest VALUES ('', '4199', 'RU-07b', 'LMSTestPackage_RU-07b', '', 'md5:', '1.0.1'); -INSERT INTO cp_manifest VALUES ('', '4254', 'RU-07c', 'LMSTestPackage_RU-07c', '', 'md5:', '1.0.1'); -INSERT INTO cp_manifest VALUES ('', '4306', 'RU-08a', 'LMSTestPackage_RU-08a', '', 'md5:', '1.0.1'); -INSERT INTO cp_manifest VALUES ('', '4373', 'RU-08b', 'LMSTestPackage_RU-08b', '', 'md5:', '1.0.1'); -INSERT INTO cp_manifest VALUES ('', '4442', 'RU-09', 'LMSTestPackage_RU-09', '', 'md5:', '1.0.1'); -INSERT INTO cp_manifest VALUES ('', '4496', 'RU-10', 'LMSTestPackage_RU-10', '', 'md5:', '1.0.1'); -INSERT INTO cp_manifest VALUES ('', '4547', 'RU-11', 'LMSTestPackage_RU-11', '', 'md5:', '1.0.1'); -INSERT INTO cp_manifest VALUES ('', '4602', 'RU-12a', 'LMSTestPackage_RU-12a', '', 'md5:', '1.0.1'); -INSERT INTO cp_manifest VALUES ('', '4647', 'RU-12b', 'LMSTestPackage_RU-12b', '', 'md5:', '1.0.1'); -INSERT INTO cp_manifest VALUES ('', '4692', 'SX-02', 'LMSTestPackage_SX-02', '', 'md5:', '1.0.1'); -INSERT INTO cp_manifest VALUES ('', '4728', 'SX-03', 'LMSTestPackage_SX-03', '', 'md5:', '1.0.1'); -INSERT INTO cp_manifest VALUES ('', '4790', 'SX-04a', 'LMSTestPackage_SX-04a', '', 'md5:', '1.0.1'); -INSERT INTO cp_manifest VALUES ('', '4830', 'SX-04b', 'LMSTestPackage_SX-04b', '', 'md5:', '1.0.1'); -INSERT INTO cp_manifest VALUES ('', '4869', 'SX-05', 'SeqConTest_SX-05', '', 'md5:', '1.0.1'); -INSERT INTO cp_manifest VALUES ('', '4989', 'SX-06', 'LMSTestPackage_SX-06', '', 'md5:', '1.0.1'); -INSERT INTO cp_manifest VALUES ('', '5029', 'SX-07a', 'LMSTestPackage_SX-07a', '', 'md5:', '1.0.1'); -INSERT INTO cp_manifest VALUES ('', '5073', 'SX-07b', 'LMSTestPackage_SX-07b', '', 'md5:', '1.0.1'); -INSERT INTO cp_manifest VALUES ('', '5113', 'SX-07c', 'LMSTestPackage_SX-07c', '', 'md5:', '1.0.1'); -INSERT INTO cp_manifest VALUES ('', '5157', 'SX-07d', 'LMSTestPackage_SX-07d', '', 'md5:', '1.0.1'); -INSERT INTO cp_manifest VALUES ('', '5216', 'SX-07e', 'LMSTestPackage_SX-07e', '', 'md5:', '1.0.1'); -INSERT INTO cp_manifest VALUES ('', '5275', 'T-01a', 'LMSTestPackage_T-01a', '', 'md5:', '1.0.1'); -INSERT INTO cp_manifest VALUES ('', '5488', 'T-01b', 'LMSTestPackage_T-01b', '', 'md5:', '1.0.1'); -INSERT INTO cp_manifest VALUES ('', '5711', 'blabla', 'pfplms-42285', '', 'md5:', '2004 3rd Edition'); -INSERT INTO cp_manifest VALUES ('', '6173', 'TOC1', 'photo-MANIFEST-linear', '', 'md5:', '1.3'); -INSERT INTO cp_manifest VALUES ('', '6374', 'TOC1', 'photo-MANIFEST-linear-controls', '', 'md5:', '1.3'); -INSERT INTO cp_manifest VALUES ('', '6602', 'TOC1', 'photo-MANIFEST-linear-controls', '', 'md5:', '1.3'); -INSERT INTO cp_manifest VALUES ('', '6830', 'organization_294673fbf63c4815b45af1651480864c', 'manifest_5fdcd2e25838459c9bc3cee758cf4e5c', '', 'md5:', '2004 3rd Edition'); -INSERT INTO cp_manifest VALUES ('', '6931', 'organization_294673fbf63c4815b45af1651480864c', 'manifest_5fdcd2e25838459c9bc3cee758cf4e5c', '', 'md5:', '2004 3rd Edition'); -INSERT INTO cp_manifest VALUES ('', '7032', 'blabla', 'pfplms-70633', '', 'md5:', '2004 3rd Edition'); -INSERT INTO cp_manifest VALUES ('', '7677', 'ORG-5EA524CA-76F2-4829-DBD5-AC3CEF8A0153', 'MANIFEST-54F1704C-B5BA-B7A2-A13E-7BE4F0B9BEB1', '', 'md5:', ''); -INSERT INTO cp_manifest VALUES ('', '7692', 'blabla', 'pfplms-70633', '', 'md5:', '2004 3rd Edition'); -INSERT INTO cp_manifest VALUES ('', '8337', 'ORG-5EA524CA-76F2-4829-DBD5-AC3CEF8A0153', 'MANIFEST-54F1704C-B5BA-B7A2-A13E-7BE4F0B9BEB1', '', 'md5:', ''); -INSERT INTO cp_manifest VALUES ('', '8352', 'ORG-5EA524CA-76F2-4829-DBD5-AC3CEF8A0153', 'MANIFEST-54F1704C-B5BA-B7A2-A13E-7BE4F0B9BEB1', '', 'md5:', ''); -INSERT INTO cp_manifest VALUES ('', '8367', 'ORG-5EA524CA-76F2-4829-DBD5-AC3CEF8A0153', 'MANIFEST-54F1704C-B5BA-B7A2-A13E-7BE4F0B9BEB1', '', 'md5:', ''); -# -------------------------------------------------------- - - -# -# Dumping data for table: cp_mapinfo -# -INSERT INTO cp_mapinfo VALUES ('1511', 'false', 'false', 'gObj-OB01a', 'false', 'true'); -INSERT INTO cp_mapinfo VALUES ('1516', 'false', 'false', 'gObj-OB01a', 'false', 'false'); -INSERT INTO cp_mapinfo VALUES ('1554', 'false', 'false', 'gObj-OB01b', 'true', 'false'); -INSERT INTO cp_mapinfo VALUES ('1559', 'false', 'false', 'gObj-OB01b', 'false', 'false'); -INSERT INTO cp_mapinfo VALUES ('1597', 'false', 'false', 'gObj-OB01c', 'true', 'true'); -INSERT INTO cp_mapinfo VALUES ('1602', 'false', 'false', 'gObj-OB01c', 'false', 'false'); -INSERT INTO cp_mapinfo VALUES ('1641', 'false', 'false', 'gObj-OB02a', 'false', 'true'); -INSERT INTO cp_mapinfo VALUES ('1647', 'false', 'false', 'gObj-OB02a', 'false', 'false'); -INSERT INTO cp_mapinfo VALUES ('1677', 'false', 'false', 'gObj-OB02b', 'true', 'false'); -INSERT INTO cp_mapinfo VALUES ('1683', 'false', 'false', 'gObj-OB02b', 'false', 'false'); -INSERT INTO cp_mapinfo VALUES ('1722', 'false', 'false', 'gObj-OB03-1', 'true', 'true'); -INSERT INTO cp_mapinfo VALUES ('1726', 'false', 'false', 'gObj-OB03-2', 'true', 'true'); -INSERT INTO cp_mapinfo VALUES ('1730', 'false', 'false', 'gObj-OB03-3', 'true', 'true'); -INSERT INTO cp_mapinfo VALUES ('1788', 'false', 'false', 'gObj-OB03-2', 'false', 'false'); -INSERT INTO cp_mapinfo VALUES ('1793', 'false', 'false', 'gObj-OB03-1', 'false', 'false'); -INSERT INTO cp_mapinfo VALUES ('1798', 'false', 'false', 'gObj-OB03-3', 'true', 'true'); -INSERT INTO cp_mapinfo VALUES ('1803', 'false', 'false', 'gObj-OB03-3', 'false', 'false'); -INSERT INTO cp_mapinfo VALUES ('1808', 'false', 'false', 'gObj-OB03-3', 'false', 'false'); -INSERT INTO cp_mapinfo VALUES ('1867', 'false', 'false', 'gObj-OB03-3', 'false', 'false'); -INSERT INTO cp_mapinfo VALUES ('1872', 'false', 'false', 'gObj-OB03-1', 'false', 'false'); -INSERT INTO cp_mapinfo VALUES ('1877', 'false', 'false', 'gObj-OB03-3', 'false', 'true'); -INSERT INTO cp_mapinfo VALUES ('1882', 'false', 'false', 'gObj-OB03-2', 'false', 'false'); -INSERT INTO cp_mapinfo VALUES ('1888', 'false', 'false', 'gObj-OB03-2', 'false', 'false'); -INSERT INTO cp_mapinfo VALUES ('1890', 'false', 'false', 'gObj-OB03-3', 'false', 'false'); -INSERT INTO cp_mapinfo VALUES ('1942', 'false', 'false', 'gObj-OB04-1', 'false', 'true'); -INSERT INTO cp_mapinfo VALUES ('1943', 'false', 'false', 'gObj-OB04-3', 'true', 'false'); -INSERT INTO cp_mapinfo VALUES ('1946', 'false', 'false', 'gObj-OB04-2', 'false', 'true'); -INSERT INTO cp_mapinfo VALUES ('1949', 'false', 'false', 'gObj-OB04-1', 'false', 'false'); -INSERT INTO cp_mapinfo VALUES ('1952', 'false', 'false', 'gObj-OB04-2', 'false', 'false'); -INSERT INTO cp_mapinfo VALUES ('1955', 'false', 'false', 'gObj-OB04-3', 'false', 'false'); -INSERT INTO cp_mapinfo VALUES ('2002', 'false', 'false', 'gObj-OB05a', 'true', 'true'); -INSERT INTO cp_mapinfo VALUES ('2007', 'false', 'false', 'gObj-OB05a', 'false', 'false'); -INSERT INTO cp_mapinfo VALUES ('2012', 'false', 'false', 'gObj-OB05a', 'false', 'false'); -INSERT INTO cp_mapinfo VALUES ('2054', 'false', 'false', 'gObj-OB05b', 'true', 'true'); -INSERT INTO cp_mapinfo VALUES ('2059', 'false', 'false', 'gObj-OB05b', 'false', 'false'); -INSERT INTO cp_mapinfo VALUES ('2064', 'false', 'false', 'gObj-OB05b', 'false', 'false'); -INSERT INTO cp_mapinfo VALUES ('2102', 'false', 'false', 'gObj-OB05c', 'true', 'true'); -INSERT INTO cp_mapinfo VALUES ('2107', 'false', 'false', 'gObj-OB05c', 'false', 'false'); -INSERT INTO cp_mapinfo VALUES ('2154', 'false', 'false', 'gObj-OB06', 'true', 'true'); -INSERT INTO cp_mapinfo VALUES ('2163', 'false', 'false', 'gObj-OB06', 'false', 'false'); -INSERT INTO cp_mapinfo VALUES ('2201', 'false', 'false', 'gObj-OB07a', 'false', 'true'); -INSERT INTO cp_mapinfo VALUES ('2207', 'false', 'false', 'gObj-OB07a', 'false', 'false'); -INSERT INTO cp_mapinfo VALUES ('2211', 'false', 'false', 'gObj-OB07a', 'false', 'false'); -INSERT INTO cp_mapinfo VALUES ('2249', 'false', 'false', 'gObj-OB07b', 'true', 'false'); -INSERT INTO cp_mapinfo VALUES ('2254', 'false', 'false', 'gObj-OB07b', 'false', 'false'); -INSERT INTO cp_mapinfo VALUES ('2258', 'false', 'false', 'gObj-OB07b', 'false', 'false'); -INSERT INTO cp_mapinfo VALUES ('2300', 'false', 'false', 'gObj-OB08', 'true', 'false'); -INSERT INTO cp_mapinfo VALUES ('2307', 'false', 'false', 'gObj-OB08', 'false', 'false'); -INSERT INTO cp_mapinfo VALUES ('2315', 'false', 'false', 'gObj-OB08', 'false', 'false'); -INSERT INTO cp_mapinfo VALUES ('2322', 'false', 'false', 'gObj-OB08', 'false', 'false'); -INSERT INTO cp_mapinfo VALUES ('2364', 'false', 'false', 'gObj-OB08', 'true', 'false'); -INSERT INTO cp_mapinfo VALUES ('2371', 'false', 'false', 'gObj-OB08', 'false', 'false'); -INSERT INTO cp_mapinfo VALUES ('2379', 'false', 'false', 'gObj-OB08', 'false', 'false'); -INSERT INTO cp_mapinfo VALUES ('2386', 'false', 'false', 'gObj-OB08', 'false', 'false'); -INSERT INTO cp_mapinfo VALUES ('2426', 'false', 'false', 'gObj-OB09-obj1', 'false', 'false'); -INSERT INTO cp_mapinfo VALUES ('2431', 'false', 'false', 'gObj-OB09-obj2', 'false', 'false'); -INSERT INTO cp_mapinfo VALUES ('2435', 'false', 'false', 'gObj-OB09-obj1', 'false', 'true'); -INSERT INTO cp_mapinfo VALUES ('2437', 'false', 'false', 'gObj-OB09-obj2', 'false', 'true'); -INSERT INTO cp_mapinfo VALUES ('2481', 'false', 'false', 'gObj-OB09-obj1', 'false', 'false'); -INSERT INTO cp_mapinfo VALUES ('2486', 'false', 'false', 'gObj-OB09-obj2', 'false', 'false'); -INSERT INTO cp_mapinfo VALUES ('2490', 'false', 'false', 'gObj-OB09-obj1', 'false', 'true'); -INSERT INTO cp_mapinfo VALUES ('2492', 'false', 'false', 'gObj-OB09-obj2', 'false', 'true'); -INSERT INTO cp_mapinfo VALUES ('2525', 'false', 'false', 'gObj-OB10a', 'false', 'true'); -INSERT INTO cp_mapinfo VALUES ('2530', 'false', 'false', 'gObj-OB10a', 'false', 'true'); -INSERT INTO cp_mapinfo VALUES ('2533', 'false', 'false', 'gObj-OB10a', 'false', 'false'); -INSERT INTO cp_mapinfo VALUES ('2571', 'false', 'false', 'gObj-OB10b', 'true', 'false'); -INSERT INTO cp_mapinfo VALUES ('2576', 'false', 'false', 'gObj-OB10b', 'true', 'false'); -INSERT INTO cp_mapinfo VALUES ('2579', 'false', 'false', 'gObj-OB10b', 'false', 'false'); -INSERT INTO cp_mapinfo VALUES ('2617', 'false', 'false', 'gObj-OB10c', 'false', 'true'); -INSERT INTO cp_mapinfo VALUES ('2623', 'false', 'false', 'gObj-OB10c', 'false', 'true'); -INSERT INTO cp_mapinfo VALUES ('2626', 'false', 'false', 'gObj-OB10c', 'false', 'false'); -INSERT INTO cp_mapinfo VALUES ('2664', 'false', 'false', 'gObj-OB10d', 'true', 'false'); -INSERT INTO cp_mapinfo VALUES ('2672', 'false', 'false', 'gObj-OB10d', 'true', 'false'); -INSERT INTO cp_mapinfo VALUES ('2675', 'false', 'false', 'gObj-OB10d', 'false', 'false'); -INSERT INTO cp_mapinfo VALUES ('2714', 'false', 'false', 'gObj-OB11a', 'false', 'true'); -INSERT INTO cp_mapinfo VALUES ('2720', 'false', 'false', 'gObj-OB11a', 'false', 'true'); -INSERT INTO cp_mapinfo VALUES ('2724', 'false', 'false', 'gObj-OB11a', 'false', 'false'); -INSERT INTO cp_mapinfo VALUES ('2763', 'false', 'false', 'gObj-OB11b', 'true', 'false'); -INSERT INTO cp_mapinfo VALUES ('2771', 'false', 'false', 'gObj-OB11b', 'true', 'false'); -INSERT INTO cp_mapinfo VALUES ('2775', 'false', 'false', 'gObj-OB11b', 'false', 'false'); -INSERT INTO cp_mapinfo VALUES ('2941', 'false', 'false', 'gObj-OB13a', 'true', 'true'); -INSERT INTO cp_mapinfo VALUES ('2948', 'false', 'false', 'gObj-OB13a', 'false', 'false'); -INSERT INTO cp_mapinfo VALUES ('2991', 'false', 'false', 'gObj-OB13b', 'true', 'true'); -INSERT INTO cp_mapinfo VALUES ('2998', 'false', 'false', 'gObj-OB13b', 'false', 'false'); -INSERT INTO cp_mapinfo VALUES ('3041', 'false', 'false', 'gObj-OB13c', 'true', 'true'); -INSERT INTO cp_mapinfo VALUES ('3048', 'false', 'false', 'gObj-OB13c', 'false', 'false'); -INSERT INTO cp_mapinfo VALUES ('3087', 'false', 'false', 'gObj-OB14a-2', 'true', 'true'); -INSERT INTO cp_mapinfo VALUES ('3089', 'false', 'false', 'gObj-OB14a-3', 'true', 'true'); -INSERT INTO cp_mapinfo VALUES ('3091', 'false', 'false', 'gObj-OB14a-4', 'true', 'true'); -INSERT INTO cp_mapinfo VALUES ('3093', 'false', 'false', 'gObj-OB14a-1', 'true', 'true'); -INSERT INTO cp_mapinfo VALUES ('3097', 'false', 'false', 'gObj-OB14a-3', 'true', 'true'); -INSERT INTO cp_mapinfo VALUES ('3099', 'false', 'false', 'gObj-OB14a-3', 'false', 'false'); -INSERT INTO cp_mapinfo VALUES ('3101', 'false', 'false', 'gObj-OB14a-1', 'true', 'true'); -INSERT INTO cp_mapinfo VALUES ('3103', 'false', 'false', 'gObj-OB14a-4', 'true', 'true'); -INSERT INTO cp_mapinfo VALUES ('3105', 'false', 'false', 'gObj-OB14a-2', 'true', 'true'); -INSERT INTO cp_mapinfo VALUES ('3109', 'false', 'false', 'gObj-OB14a-4', 'true', 'true'); -INSERT INTO cp_mapinfo VALUES ('3111', 'false', 'false', 'gObj-OB14a-1', 'true', 'true'); -INSERT INTO cp_mapinfo VALUES ('3113', 'false', 'false', 'gObj-OB14a-2', 'true', 'true'); -INSERT INTO cp_mapinfo VALUES ('3115', 'false', 'false', 'gObj-OB14a-3', 'true', 'true'); -INSERT INTO cp_mapinfo VALUES ('3117', 'false', 'false', 'gObj-OB14a-3', 'false', 'false'); -INSERT INTO cp_mapinfo VALUES ('3164', 'false', 'false', 'gObj-OB14b-1', 'true', 'true'); -INSERT INTO cp_mapinfo VALUES ('3166', 'false', 'false', 'obj1', 'true', 'true'); -INSERT INTO cp_mapinfo VALUES ('3169', 'false', 'false', 'gObj-OB14b-2', 'true', 'true'); -INSERT INTO cp_mapinfo VALUES ('3174', 'false', 'false', 'gObj-OB14b-3', 'true', 'true'); -INSERT INTO cp_mapinfo VALUES ('3180', 'false', 'false', 'gObj-OB14b-1', 'true', 'true'); -INSERT INTO cp_mapinfo VALUES ('3182', 'false', 'false', 'gObj-OB14b-2', 'false', 'false'); -INSERT INTO cp_mapinfo VALUES ('3184', 'false', 'false', 'gObj-OB14b-3', 'false', 'false'); -INSERT INTO cp_mapinfo VALUES ('3189', 'false', 'false', 'gObj-OB14b-3', 'true', 'true'); -INSERT INTO cp_mapinfo VALUES ('3190', 'false', 'false', 'gObj-OB14b-1', 'false', 'false'); -INSERT INTO cp_mapinfo VALUES ('3192', 'false', 'false', 'gObj-OB14b-2', 'false', 'false'); -INSERT INTO cp_mapinfo VALUES ('3246', 'false', 'false', 'gObj-OB15', 'false', 'true'); -INSERT INTO cp_mapinfo VALUES ('3249', 'false', 'false', 'gObj-OB15', 'false', 'false'); -INSERT INTO cp_mapinfo VALUES ('3252', 'false', 'false', 'gObj-OB15', 'false', 'false'); -INSERT INTO cp_mapinfo VALUES ('3264', 'false', 'false', 'gObj-OB15', 'false', 'false'); -INSERT INTO cp_mapinfo VALUES ('4774', 'false', 'false', 'gObj-SX03-1', 'true', 'true'); -INSERT INTO cp_mapinfo VALUES ('4776', 'false', 'false', 'gObj-SX03-2', 'true', 'true'); -INSERT INTO cp_mapinfo VALUES ('4778', 'false', 'false', 'gObj-SX03-3', 'true', 'true'); -INSERT INTO cp_mapinfo VALUES ('4781', 'false', 'false', 'gObj-SX03-1', 'false', 'false'); -INSERT INTO cp_mapinfo VALUES ('4828', 'false', 'false', 'gObj-SX04a', 'false', 'true'); -INSERT INTO cp_mapinfo VALUES ('4926', 'false', 'false', 'gObj-SX05-1', 'false', 'true'); -INSERT INTO cp_mapinfo VALUES ('4931', 'false', 'false', 'gObj-SX05-2', 'false', 'true'); -INSERT INTO cp_mapinfo VALUES ('4937', 'false', 'false', 'gObj-SX05-3a', 'false', 'true'); -INSERT INTO cp_mapinfo VALUES ('4946', 'false', 'false', 'gObj-SX05-3a', 'false', 'true'); -INSERT INTO cp_mapinfo VALUES ('4948', 'false', 'false', 'gObj-SX05-3b', 'false', 'true'); -INSERT INTO cp_mapinfo VALUES ('4955', 'false', 'false', 'gObj-SX05-4a', 'false', 'true'); -INSERT INTO cp_mapinfo VALUES ('4964', 'false', 'false', 'gObj-SX05-4a', 'false', 'true'); -INSERT INTO cp_mapinfo VALUES ('4966', 'false', 'false', 'gObj-SX05-4b', 'false', 'true'); -INSERT INTO cp_mapinfo VALUES ('4973', 'false', 'false', 'gObj-SX05-5', 'false', 'true'); -INSERT INTO cp_mapinfo VALUES ('4975', 'false', 'false', 'gObj-SX05-3a', 'false', 'true'); -INSERT INTO cp_mapinfo VALUES ('4977', 'false', 'false', 'gObj-SX05-3b', 'false', 'true'); -INSERT INTO cp_mapinfo VALUES ('4979', 'false', 'false', 'gObj-SX05-4a', 'false', 'true'); -INSERT INTO cp_mapinfo VALUES ('4981', 'false', 'false', 'gObj-SX05-4b', 'false', 'true'); -INSERT INTO cp_mapinfo VALUES ('4987', 'false', 'false', 'gObj-SX05-5', 'false', 'true'); -INSERT INTO cp_mapinfo VALUES ('5429', 'false', 'false', 'gObj-T01a-1', 'true', 'true'); -INSERT INTO cp_mapinfo VALUES ('5432', 'false', 'false', 'gObj-T01a-1', 'false', 'false'); -INSERT INTO cp_mapinfo VALUES ('5435', 'false', 'false', 'gObj-T01a-1', 'true', 'true'); -INSERT INTO cp_mapinfo VALUES ('5438', 'false', 'false', 'gObj-T01a-2', 'true', 'true'); -INSERT INTO cp_mapinfo VALUES ('5441', 'false', 'false', 'gObj-T01a-2', 'false', 'false'); -INSERT INTO cp_mapinfo VALUES ('5444', 'false', 'false', 'gObj-T01a-2', 'true', 'true'); -INSERT INTO cp_mapinfo VALUES ('5447', 'false', 'false', 'gObj-T01a-3', 'true', 'true'); -INSERT INTO cp_mapinfo VALUES ('5450', 'false', 'false', 'gObj-T01a-3', 'false', 'false'); -INSERT INTO cp_mapinfo VALUES ('5453', 'false', 'false', 'gObj-T01a-3', 'true', 'true'); -INSERT INTO cp_mapinfo VALUES ('5462', 'false', 'false', 'gObj-T01a-1', 'false', 'false'); -INSERT INTO cp_mapinfo VALUES ('5464', 'false', 'false', 'gObj-T01a-2', 'false', 'false'); -INSERT INTO cp_mapinfo VALUES ('5466', 'false', 'false', 'gObj-T01a-3', 'false', 'false'); -INSERT INTO cp_mapinfo VALUES ('5642', 'false', 'false', 'gObj-T01b-1', 'true', 'true'); -INSERT INTO cp_mapinfo VALUES ('5655', 'false', 'false', 'gObj-T01b-1', 'false', 'false'); -INSERT INTO cp_mapinfo VALUES ('5658', 'false', 'false', 'gObj-T01b-1', 'true', 'true'); -INSERT INTO cp_mapinfo VALUES ('5661', 'false', 'false', 'gObj-T01b-2', 'true', 'true'); -INSERT INTO cp_mapinfo VALUES ('5664', 'false', 'false', 'gObj-T01b-2', 'false', 'false'); -INSERT INTO cp_mapinfo VALUES ('5667', 'false', 'false', 'gObj-T01b-2', 'true', 'true'); -INSERT INTO cp_mapinfo VALUES ('5670', 'false', 'false', 'gObj-T01b-3', 'true', 'true'); -INSERT INTO cp_mapinfo VALUES ('5673', 'false', 'false', 'gObj-T01b-3', 'false', 'false'); -INSERT INTO cp_mapinfo VALUES ('5676', 'false', 'false', 'gObj-T01b-3', 'true', 'true'); -INSERT INTO cp_mapinfo VALUES ('5685', 'false', 'false', 'gObj-T01b-1', 'false', 'false'); -INSERT INTO cp_mapinfo VALUES ('5687', 'false', 'false', 'gObj-T01b-2', 'false', 'false'); -INSERT INTO cp_mapinfo VALUES ('5689', 'false', 'false', 'gObj-T01b-3', 'false', 'false'); -INSERT INTO cp_mapinfo VALUES ('6926', 'false', 'false', 'b75d9d2755344021b906853aea56f52f', 'true', 'true'); -INSERT INTO cp_mapinfo VALUES ('6928', 'false', 'false', '1d622cc0b1a547019354abfbef60c303', 'true', 'true'); -INSERT INTO cp_mapinfo VALUES ('6930', 'false', 'false', '201c0fcdbe99495ebabe81ec93e19736', 'true', 'true'); -INSERT INTO cp_mapinfo VALUES ('7027', 'false', 'false', 'b75d9d2755344021b906853aea56f52f', 'true', 'true'); -INSERT INTO cp_mapinfo VALUES ('7029', 'false', 'false', '1d622cc0b1a547019354abfbef60c303', 'true', 'true'); -INSERT INTO cp_mapinfo VALUES ('7031', 'false', 'false', '201c0fcdbe99495ebabe81ec93e19736', 'true', 'true'); -# -------------------------------------------------------- - - -# -# Dumping data for table: cp_node -# -INSERT INTO cp_node VALUES ('1', 'manifest', '146'); -INSERT INTO cp_node VALUES ('2', 'organization', '146'); -INSERT INTO cp_node VALUES ('3', 'item', '146'); -INSERT INTO cp_node VALUES ('4', 'hideLMSUI', '146'); -INSERT INTO cp_node VALUES ('5', 'item', '146'); -INSERT INTO cp_node VALUES ('6', 'hideLMSUI', '146'); -INSERT INTO cp_node VALUES ('7', 'item', '146'); -INSERT INTO cp_node VALUES ('8', 'hideLMSUI', '146'); -INSERT INTO cp_node VALUES ('9', 'resource', '146'); -INSERT INTO cp_node VALUES ('10', 'file', '146'); -INSERT INTO cp_node VALUES ('11', 'dependency', '146'); -INSERT INTO cp_node VALUES ('12', 'dependency', '146'); -INSERT INTO cp_node VALUES ('13', 'dependency', '146'); -INSERT INTO cp_node VALUES ('14', 'dependency', '146'); -INSERT INTO cp_node VALUES ('15', 'dependency', '146'); -INSERT INTO cp_node VALUES ('16', 'resource', '146'); -INSERT INTO cp_node VALUES ('17', 'file', '146'); -INSERT INTO cp_node VALUES ('18', 'dependency', '146'); -INSERT INTO cp_node VALUES ('19', 'dependency', '146'); -INSERT INTO cp_node VALUES ('20', 'dependency', '146'); -INSERT INTO cp_node VALUES ('21', 'dependency', '146'); -INSERT INTO cp_node VALUES ('22', 'dependency', '146'); -INSERT INTO cp_node VALUES ('23', 'resource', '146'); -INSERT INTO cp_node VALUES ('24', 'file', '146'); -INSERT INTO cp_node VALUES ('25', 'dependency', '146'); -INSERT INTO cp_node VALUES ('26', 'dependency', '146'); -INSERT INTO cp_node VALUES ('27', 'dependency', '146'); -INSERT INTO cp_node VALUES ('28', 'dependency', '146'); -INSERT INTO cp_node VALUES ('29', 'dependency', '146'); -INSERT INTO cp_node VALUES ('30', 'resource', '146'); -INSERT INTO cp_node VALUES ('31', 'file', '146'); -INSERT INTO cp_node VALUES ('32', 'resource', '146'); -INSERT INTO cp_node VALUES ('33', 'file', '146'); -INSERT INTO cp_node VALUES ('34', 'resource', '146'); -INSERT INTO cp_node VALUES ('35', 'file', '146'); -INSERT INTO cp_node VALUES ('36', 'dependency', '146'); -INSERT INTO cp_node VALUES ('37', 'resource', '146'); -INSERT INTO cp_node VALUES ('38', 'file', '146'); -INSERT INTO cp_node VALUES ('39', 'resource', '146'); -INSERT INTO cp_node VALUES ('40', 'file', '146'); -INSERT INTO cp_node VALUES ('41', 'resource', '146'); -INSERT INTO cp_node VALUES ('42', 'file', '146'); -INSERT INTO cp_node VALUES ('43', 'manifest', '147'); -INSERT INTO cp_node VALUES ('44', 'organization', '147'); -INSERT INTO cp_node VALUES ('45', 'item', '147'); -INSERT INTO cp_node VALUES ('46', 'hideLMSUI', '147'); -INSERT INTO cp_node VALUES ('47', 'item', '147'); -INSERT INTO cp_node VALUES ('48', 'hideLMSUI', '147'); -INSERT INTO cp_node VALUES ('49', 'item', '147'); -INSERT INTO cp_node VALUES ('50', 'hideLMSUI', '147'); -INSERT INTO cp_node VALUES ('51', 'resource', '147'); -INSERT INTO cp_node VALUES ('52', 'file', '147'); -INSERT INTO cp_node VALUES ('53', 'dependency', '147'); -INSERT INTO cp_node VALUES ('54', 'dependency', '147'); -INSERT INTO cp_node VALUES ('55', 'dependency', '147'); -INSERT INTO cp_node VALUES ('56', 'dependency', '147'); -INSERT INTO cp_node VALUES ('57', 'dependency', '147'); -INSERT INTO cp_node VALUES ('58', 'resource', '147'); -INSERT INTO cp_node VALUES ('59', 'file', '147'); -INSERT INTO cp_node VALUES ('60', 'dependency', '147'); -INSERT INTO cp_node VALUES ('61', 'dependency', '147'); -INSERT INTO cp_node VALUES ('62', 'dependency', '147'); -INSERT INTO cp_node VALUES ('63', 'dependency', '147'); -INSERT INTO cp_node VALUES ('64', 'dependency', '147'); -INSERT INTO cp_node VALUES ('65', 'resource', '147'); -INSERT INTO cp_node VALUES ('66', 'file', '147'); -INSERT INTO cp_node VALUES ('67', 'dependency', '147'); -INSERT INTO cp_node VALUES ('68', 'dependency', '147'); -INSERT INTO cp_node VALUES ('69', 'dependency', '147'); -INSERT INTO cp_node VALUES ('70', 'dependency', '147'); -INSERT INTO cp_node VALUES ('71', 'dependency', '147'); -INSERT INTO cp_node VALUES ('72', 'resource', '147'); -INSERT INTO cp_node VALUES ('73', 'file', '147'); -INSERT INTO cp_node VALUES ('74', 'resource', '147'); -INSERT INTO cp_node VALUES ('75', 'file', '147'); -INSERT INTO cp_node VALUES ('76', 'resource', '147'); -INSERT INTO cp_node VALUES ('77', 'file', '147'); -INSERT INTO cp_node VALUES ('78', 'dependency', '147'); -INSERT INTO cp_node VALUES ('79', 'resource', '147'); -INSERT INTO cp_node VALUES ('80', 'file', '147'); -INSERT INTO cp_node VALUES ('81', 'resource', '147'); -INSERT INTO cp_node VALUES ('82', 'file', '147'); -INSERT INTO cp_node VALUES ('83', 'resource', '147'); -INSERT INTO cp_node VALUES ('84', 'file', '147'); -INSERT INTO cp_node VALUES ('85', 'manifest', '148'); -INSERT INTO cp_node VALUES ('86', 'organization', '148'); -INSERT INTO cp_node VALUES ('87', 'item', '148'); -INSERT INTO cp_node VALUES ('88', 'hideLMSUI', '148'); -INSERT INTO cp_node VALUES ('89', 'hideLMSUI', '148'); -INSERT INTO cp_node VALUES ('90', 'hideLMSUI', '148'); -INSERT INTO cp_node VALUES ('91', 'item', '148'); -INSERT INTO cp_node VALUES ('92', 'hideLMSUI', '148'); -INSERT INTO cp_node VALUES ('93', 'hideLMSUI', '148'); -INSERT INTO cp_node VALUES ('94', 'hideLMSUI', '148'); -INSERT INTO cp_node VALUES ('95', 'item', '148'); -INSERT INTO cp_node VALUES ('96', 'hideLMSUI', '148'); -INSERT INTO cp_node VALUES ('97', 'hideLMSUI', '148'); -INSERT INTO cp_node VALUES ('98', 'hideLMSUI', '148'); -INSERT INTO cp_node VALUES ('99', 'resource', '148'); -INSERT INTO cp_node VALUES ('100', 'file', '148'); -INSERT INTO cp_node VALUES ('101', 'dependency', '148'); -INSERT INTO cp_node VALUES ('102', 'dependency', '148'); -INSERT INTO cp_node VALUES ('103', 'dependency', '148'); -INSERT INTO cp_node VALUES ('104', 'dependency', '148'); -INSERT INTO cp_node VALUES ('105', 'dependency', '148'); -INSERT INTO cp_node VALUES ('106', 'resource', '148'); -INSERT INTO cp_node VALUES ('107', 'file', '148'); -INSERT INTO cp_node VALUES ('108', 'resource', '148'); -INSERT INTO cp_node VALUES ('109', 'file', '148'); -INSERT INTO cp_node VALUES ('110', 'resource', '148'); -INSERT INTO cp_node VALUES ('111', 'file', '148'); -INSERT INTO cp_node VALUES ('112', 'resource', '148'); -INSERT INTO cp_node VALUES ('113', 'file', '148'); -INSERT INTO cp_node VALUES ('114', 'dependency', '148'); -INSERT INTO cp_node VALUES ('115', 'resource', '148'); -INSERT INTO cp_node VALUES ('116', 'file', '148'); -INSERT INTO cp_node VALUES ('117', 'resource', '148'); -INSERT INTO cp_node VALUES ('118', 'file', '148'); -INSERT INTO cp_node VALUES ('119', 'sequencing', '148'); -INSERT INTO cp_node VALUES ('120', 'sequencing', '148'); -INSERT INTO cp_node VALUES ('121', 'objective', '148'); -INSERT INTO cp_node VALUES ('122', 'sequencing', '148'); -INSERT INTO cp_node VALUES ('123', 'objective', '148'); -INSERT INTO cp_node VALUES ('124', 'sequencing', '148'); -INSERT INTO cp_node VALUES ('125', 'manifest', '149'); -INSERT INTO cp_node VALUES ('126', 'organization', '149'); -INSERT INTO cp_node VALUES ('127', 'item', '149'); -INSERT INTO cp_node VALUES ('128', 'item', '149'); -INSERT INTO cp_node VALUES ('129', 'item', '149'); -INSERT INTO cp_node VALUES ('130', 'resource', '149'); -INSERT INTO cp_node VALUES ('131', 'file', '149'); -INSERT INTO cp_node VALUES ('132', 'dependency', '149'); -INSERT INTO cp_node VALUES ('133', 'dependency', '149'); -INSERT INTO cp_node VALUES ('134', 'dependency', '149'); -INSERT INTO cp_node VALUES ('135', 'dependency', '149'); -INSERT INTO cp_node VALUES ('136', 'dependency', '149'); -INSERT INTO cp_node VALUES ('137', 'resource', '149'); -INSERT INTO cp_node VALUES ('138', 'file', '149'); -INSERT INTO cp_node VALUES ('139', 'resource', '149'); -INSERT INTO cp_node VALUES ('140', 'file', '149'); -INSERT INTO cp_node VALUES ('141', 'resource', '149'); -INSERT INTO cp_node VALUES ('142', 'file', '149'); -INSERT INTO cp_node VALUES ('143', 'resource', '149'); -INSERT INTO cp_node VALUES ('144', 'file', '149'); -INSERT INTO cp_node VALUES ('145', 'dependency', '149'); -INSERT INTO cp_node VALUES ('146', 'resource', '149'); -INSERT INTO cp_node VALUES ('147', 'file', '149'); -INSERT INTO cp_node VALUES ('148', 'resource', '149'); -INSERT INTO cp_node VALUES ('149', 'file', '149'); -INSERT INTO cp_node VALUES ('150', 'sequencing', '149'); -INSERT INTO cp_node VALUES ('151', 'rule', '149'); -INSERT INTO cp_node VALUES ('152', 'condition', '149'); -INSERT INTO cp_node VALUES ('153', 'objective', '149'); -INSERT INTO cp_node VALUES ('154', 'sequencing', '149'); -INSERT INTO cp_node VALUES ('155', 'objective', '149'); -INSERT INTO cp_node VALUES ('156', 'sequencing', '149'); -INSERT INTO cp_node VALUES ('157', 'manifest', '150'); -INSERT INTO cp_node VALUES ('158', 'organization', '150'); -INSERT INTO cp_node VALUES ('159', 'item', '150'); -INSERT INTO cp_node VALUES ('160', 'hideLMSUI', '150'); -INSERT INTO cp_node VALUES ('161', 'hideLMSUI', '150'); -INSERT INTO cp_node VALUES ('162', 'hideLMSUI', '150'); -INSERT INTO cp_node VALUES ('163', 'item', '150'); -INSERT INTO cp_node VALUES ('164', 'hideLMSUI', '150'); -INSERT INTO cp_node VALUES ('165', 'hideLMSUI', '150'); -INSERT INTO cp_node VALUES ('166', 'hideLMSUI', '150'); -INSERT INTO cp_node VALUES ('167', 'item', '150'); -INSERT INTO cp_node VALUES ('168', 'hideLMSUI', '150'); -INSERT INTO cp_node VALUES ('169', 'hideLMSUI', '150'); -INSERT INTO cp_node VALUES ('170', 'hideLMSUI', '150'); -INSERT INTO cp_node VALUES ('171', 'resource', '150'); -INSERT INTO cp_node VALUES ('172', 'file', '150'); -INSERT INTO cp_node VALUES ('173', 'dependency', '150'); -INSERT INTO cp_node VALUES ('174', 'dependency', '150'); -INSERT INTO cp_node VALUES ('175', 'dependency', '150'); -INSERT INTO cp_node VALUES ('176', 'dependency', '150'); -INSERT INTO cp_node VALUES ('177', 'dependency', '150'); -INSERT INTO cp_node VALUES ('178', 'resource', '150'); -INSERT INTO cp_node VALUES ('179', 'file', '150'); -INSERT INTO cp_node VALUES ('180', 'resource', '150'); -INSERT INTO cp_node VALUES ('181', 'file', '150'); -INSERT INTO cp_node VALUES ('182', 'resource', '150'); -INSERT INTO cp_node VALUES ('183', 'file', '150'); -INSERT INTO cp_node VALUES ('184', 'resource', '150'); -INSERT INTO cp_node VALUES ('185', 'file', '150'); -INSERT INTO cp_node VALUES ('186', 'dependency', '150'); -INSERT INTO cp_node VALUES ('187', 'resource', '150'); -INSERT INTO cp_node VALUES ('188', 'file', '150'); -INSERT INTO cp_node VALUES ('189', 'resource', '150'); -INSERT INTO cp_node VALUES ('190', 'file', '150'); -INSERT INTO cp_node VALUES ('191', 'sequencing', '150'); -INSERT INTO cp_node VALUES ('192', 'objective', '150'); -INSERT INTO cp_node VALUES ('193', 'objective', '150'); -INSERT INTO cp_node VALUES ('194', 'objective', '150'); -INSERT INTO cp_node VALUES ('195', 'objective', '150'); -INSERT INTO cp_node VALUES ('196', 'sequencing', '150'); -INSERT INTO cp_node VALUES ('197', 'rule', '150'); -INSERT INTO cp_node VALUES ('198', 'condition', '150'); -INSERT INTO cp_node VALUES ('199', 'objective', '150'); -INSERT INTO cp_node VALUES ('200', 'objective', '150'); -INSERT INTO cp_node VALUES ('201', 'sequencing', '150'); -INSERT INTO cp_node VALUES ('202', 'objective', '150'); -INSERT INTO cp_node VALUES ('203', 'objective', '150'); -INSERT INTO cp_node VALUES ('204', 'sequencing', '150'); -INSERT INTO cp_node VALUES ('205', 'manifest', '151'); -INSERT INTO cp_node VALUES ('206', 'organization', '151'); -INSERT INTO cp_node VALUES ('207', 'item', '151'); -INSERT INTO cp_node VALUES ('208', 'item', '151'); -INSERT INTO cp_node VALUES ('209', 'item', '151'); -INSERT INTO cp_node VALUES ('210', 'item', '151'); -INSERT INTO cp_node VALUES ('211', 'item', '151'); -INSERT INTO cp_node VALUES ('212', 'item', '151'); -INSERT INTO cp_node VALUES ('213', 'item', '151'); -INSERT INTO cp_node VALUES ('214', 'item', '151'); -INSERT INTO cp_node VALUES ('215', 'resource', '151'); -INSERT INTO cp_node VALUES ('216', 'file', '151'); -INSERT INTO cp_node VALUES ('217', 'dependency', '151'); -INSERT INTO cp_node VALUES ('218', 'dependency', '151'); -INSERT INTO cp_node VALUES ('219', 'dependency', '151'); -INSERT INTO cp_node VALUES ('220', 'dependency', '151'); -INSERT INTO cp_node VALUES ('221', 'dependency', '151'); -INSERT INTO cp_node VALUES ('222', 'resource', '151'); -INSERT INTO cp_node VALUES ('223', 'file', '151'); -INSERT INTO cp_node VALUES ('224', 'resource', '151'); -INSERT INTO cp_node VALUES ('225', 'file', '151'); -INSERT INTO cp_node VALUES ('226', 'resource', '151'); -INSERT INTO cp_node VALUES ('227', 'file', '151'); -INSERT INTO cp_node VALUES ('228', 'resource', '151'); -INSERT INTO cp_node VALUES ('229', 'file', '151'); -INSERT INTO cp_node VALUES ('230', 'dependency', '151'); -INSERT INTO cp_node VALUES ('231', 'resource', '151'); -INSERT INTO cp_node VALUES ('232', 'file', '151'); -INSERT INTO cp_node VALUES ('233', 'resource', '151'); -INSERT INTO cp_node VALUES ('234', 'file', '151'); -INSERT INTO cp_node VALUES ('235', 'sequencing', '151'); -INSERT INTO cp_node VALUES ('236', 'objective', '151'); -INSERT INTO cp_node VALUES ('237', 'objective', '151'); -INSERT INTO cp_node VALUES ('238', 'sequencing', '151'); -INSERT INTO cp_node VALUES ('239', 'objective', '151'); -INSERT INTO cp_node VALUES ('240', 'objective', '151'); -INSERT INTO cp_node VALUES ('241', 'objective', '151'); -INSERT INTO cp_node VALUES ('242', 'objective', '151'); -INSERT INTO cp_node VALUES ('243', 'objective', '151'); -INSERT INTO cp_node VALUES ('244', 'sequencing', '151'); -INSERT INTO cp_node VALUES ('245', 'sequencing', '151'); -INSERT INTO cp_node VALUES ('246', 'rule', '151'); -INSERT INTO cp_node VALUES ('247', 'condition', '151'); -INSERT INTO cp_node VALUES ('248', 'condition', '151'); -INSERT INTO cp_node VALUES ('249', 'sequencing', '151'); -INSERT INTO cp_node VALUES ('250', 'rule', '151'); -INSERT INTO cp_node VALUES ('251', 'condition', '151'); -INSERT INTO cp_node VALUES ('252', 'condition', '151'); -INSERT INTO cp_node VALUES ('253', 'sequencing', '151'); -INSERT INTO cp_node VALUES ('254', 'rule', '151'); -INSERT INTO cp_node VALUES ('255', 'condition', '151'); -INSERT INTO cp_node VALUES ('256', 'condition', '151'); -INSERT INTO cp_node VALUES ('257', 'sequencing', '151'); -INSERT INTO cp_node VALUES ('258', 'sequencing', '151'); -INSERT INTO cp_node VALUES ('259', 'manifest', '152'); -INSERT INTO cp_node VALUES ('260', 'organization', '152'); -INSERT INTO cp_node VALUES ('261', 'item', '152'); -INSERT INTO cp_node VALUES ('262', 'item', '152'); -INSERT INTO cp_node VALUES ('263', 'hideLMSUI', '152'); -INSERT INTO cp_node VALUES ('264', 'hideLMSUI', '152'); -INSERT INTO cp_node VALUES ('265', 'hideLMSUI', '152'); -INSERT INTO cp_node VALUES ('266', 'item', '152'); -INSERT INTO cp_node VALUES ('267', 'hideLMSUI', '152'); -INSERT INTO cp_node VALUES ('268', 'hideLMSUI', '152'); -INSERT INTO cp_node VALUES ('269', 'hideLMSUI', '152'); -INSERT INTO cp_node VALUES ('270', 'item', '152'); -INSERT INTO cp_node VALUES ('271', 'item', '152'); -INSERT INTO cp_node VALUES ('272', 'hideLMSUI', '152'); -INSERT INTO cp_node VALUES ('273', 'hideLMSUI', '152'); -INSERT INTO cp_node VALUES ('274', 'hideLMSUI', '152'); -INSERT INTO cp_node VALUES ('275', 'item', '152'); -INSERT INTO cp_node VALUES ('276', 'hideLMSUI', '152'); -INSERT INTO cp_node VALUES ('277', 'hideLMSUI', '152'); -INSERT INTO cp_node VALUES ('278', 'hideLMSUI', '152'); -INSERT INTO cp_node VALUES ('279', 'item', '152'); -INSERT INTO cp_node VALUES ('280', 'hideLMSUI', '152'); -INSERT INTO cp_node VALUES ('281', 'hideLMSUI', '152'); -INSERT INTO cp_node VALUES ('282', 'hideLMSUI', '152'); -INSERT INTO cp_node VALUES ('283', 'item', '152'); -INSERT INTO cp_node VALUES ('284', 'hideLMSUI', '152'); -INSERT INTO cp_node VALUES ('285', 'hideLMSUI', '152'); -INSERT INTO cp_node VALUES ('286', 'hideLMSUI', '152'); -INSERT INTO cp_node VALUES ('287', 'resource', '152'); -INSERT INTO cp_node VALUES ('288', 'file', '152'); -INSERT INTO cp_node VALUES ('289', 'dependency', '152'); -INSERT INTO cp_node VALUES ('290', 'dependency', '152'); -INSERT INTO cp_node VALUES ('291', 'dependency', '152'); -INSERT INTO cp_node VALUES ('292', 'dependency', '152'); -INSERT INTO cp_node VALUES ('293', 'dependency', '152'); -INSERT INTO cp_node VALUES ('294', 'resource', '152'); -INSERT INTO cp_node VALUES ('295', 'file', '152'); -INSERT INTO cp_node VALUES ('296', 'resource', '152'); -INSERT INTO cp_node VALUES ('297', 'file', '152'); -INSERT INTO cp_node VALUES ('298', 'resource', '152'); -INSERT INTO cp_node VALUES ('299', 'file', '152'); -INSERT INTO cp_node VALUES ('300', 'resource', '152'); -INSERT INTO cp_node VALUES ('301', 'file', '152'); -INSERT INTO cp_node VALUES ('302', 'dependency', '152'); -INSERT INTO cp_node VALUES ('303', 'resource', '152'); -INSERT INTO cp_node VALUES ('304', 'file', '152'); -INSERT INTO cp_node VALUES ('305', 'resource', '152'); -INSERT INTO cp_node VALUES ('306', 'file', '152'); -INSERT INTO cp_node VALUES ('307', 'sequencing', '152'); -INSERT INTO cp_node VALUES ('308', 'objective', '152'); -INSERT INTO cp_node VALUES ('309', 'objective', '152'); -INSERT INTO cp_node VALUES ('310', 'sequencing', '152'); -INSERT INTO cp_node VALUES ('311', 'objective', '152'); -INSERT INTO cp_node VALUES ('312', 'objective', '152'); -INSERT INTO cp_node VALUES ('313', 'objective', '152'); -INSERT INTO cp_node VALUES ('314', 'objective', '152'); -INSERT INTO cp_node VALUES ('315', 'objective', '152'); -INSERT INTO cp_node VALUES ('316', 'objective', '152'); -INSERT INTO cp_node VALUES ('317', 'sequencing', '152'); -INSERT INTO cp_node VALUES ('318', 'sequencing', '152'); -INSERT INTO cp_node VALUES ('319', 'rule', '152'); -INSERT INTO cp_node VALUES ('320', 'condition', '152'); -INSERT INTO cp_node VALUES ('321', 'condition', '152'); -INSERT INTO cp_node VALUES ('322', 'sequencing', '152'); -INSERT INTO cp_node VALUES ('323', 'rule', '152'); -INSERT INTO cp_node VALUES ('324', 'condition', '152'); -INSERT INTO cp_node VALUES ('325', 'condition', '152'); -INSERT INTO cp_node VALUES ('326', 'sequencing', '152'); -INSERT INTO cp_node VALUES ('327', 'rule', '152'); -INSERT INTO cp_node VALUES ('328', 'condition', '152'); -INSERT INTO cp_node VALUES ('329', 'condition', '152'); -INSERT INTO cp_node VALUES ('330', 'sequencing', '152'); -INSERT INTO cp_node VALUES ('331', 'sequencing', '152'); -INSERT INTO cp_node VALUES ('332', 'manifest', '153'); -INSERT INTO cp_node VALUES ('333', 'organization', '153'); -INSERT INTO cp_node VALUES ('334', 'item', '153'); -INSERT INTO cp_node VALUES ('335', 'item', '153'); -INSERT INTO cp_node VALUES ('336', 'hideLMSUI', '153'); -INSERT INTO cp_node VALUES ('337', 'hideLMSUI', '153'); -INSERT INTO cp_node VALUES ('338', 'hideLMSUI', '153'); -INSERT INTO cp_node VALUES ('339', 'item', '153'); -INSERT INTO cp_node VALUES ('340', 'hideLMSUI', '153'); -INSERT INTO cp_node VALUES ('341', 'hideLMSUI', '153'); -INSERT INTO cp_node VALUES ('342', 'hideLMSUI', '153'); -INSERT INTO cp_node VALUES ('343', 'item', '153'); -INSERT INTO cp_node VALUES ('344', 'item', '153'); -INSERT INTO cp_node VALUES ('345', 'hideLMSUI', '153'); -INSERT INTO cp_node VALUES ('346', 'hideLMSUI', '153'); -INSERT INTO cp_node VALUES ('347', 'hideLMSUI', '153'); -INSERT INTO cp_node VALUES ('348', 'item', '153'); -INSERT INTO cp_node VALUES ('349', 'hideLMSUI', '153'); -INSERT INTO cp_node VALUES ('350', 'hideLMSUI', '153'); -INSERT INTO cp_node VALUES ('351', 'hideLMSUI', '153'); -INSERT INTO cp_node VALUES ('352', 'item', '153'); -INSERT INTO cp_node VALUES ('353', 'hideLMSUI', '153'); -INSERT INTO cp_node VALUES ('354', 'hideLMSUI', '153'); -INSERT INTO cp_node VALUES ('355', 'hideLMSUI', '153'); -INSERT INTO cp_node VALUES ('356', 'item', '153'); -INSERT INTO cp_node VALUES ('357', 'item', '153'); -INSERT INTO cp_node VALUES ('358', 'hideLMSUI', '153'); -INSERT INTO cp_node VALUES ('359', 'hideLMSUI', '153'); -INSERT INTO cp_node VALUES ('360', 'hideLMSUI', '153'); -INSERT INTO cp_node VALUES ('361', 'item', '153'); -INSERT INTO cp_node VALUES ('362', 'item', '153'); -INSERT INTO cp_node VALUES ('363', 'item', '153'); -INSERT INTO cp_node VALUES ('364', 'hideLMSUI', '153'); -INSERT INTO cp_node VALUES ('365', 'hideLMSUI', '153'); -INSERT INTO cp_node VALUES ('366', 'hideLMSUI', '153'); -INSERT INTO cp_node VALUES ('367', 'item', '153'); -INSERT INTO cp_node VALUES ('368', 'hideLMSUI', '153'); -INSERT INTO cp_node VALUES ('369', 'hideLMSUI', '153'); -INSERT INTO cp_node VALUES ('370', 'hideLMSUI', '153'); -INSERT INTO cp_node VALUES ('371', 'item', '153'); -INSERT INTO cp_node VALUES ('372', 'hideLMSUI', '153'); -INSERT INTO cp_node VALUES ('373', 'hideLMSUI', '153'); -INSERT INTO cp_node VALUES ('374', 'hideLMSUI', '153'); -INSERT INTO cp_node VALUES ('375', 'item', '153'); -INSERT INTO cp_node VALUES ('376', 'hideLMSUI', '153'); -INSERT INTO cp_node VALUES ('377', 'hideLMSUI', '153'); -INSERT INTO cp_node VALUES ('378', 'hideLMSUI', '153'); -INSERT INTO cp_node VALUES ('379', 'resource', '153'); -INSERT INTO cp_node VALUES ('380', 'file', '153'); -INSERT INTO cp_node VALUES ('381', 'dependency', '153'); -INSERT INTO cp_node VALUES ('382', 'dependency', '153'); -INSERT INTO cp_node VALUES ('383', 'dependency', '153'); -INSERT INTO cp_node VALUES ('384', 'dependency', '153'); -INSERT INTO cp_node VALUES ('385', 'dependency', '153'); -INSERT INTO cp_node VALUES ('386', 'resource', '153'); -INSERT INTO cp_node VALUES ('387', 'file', '153'); -INSERT INTO cp_node VALUES ('388', 'resource', '153'); -INSERT INTO cp_node VALUES ('389', 'file', '153'); -INSERT INTO cp_node VALUES ('390', 'resource', '153'); -INSERT INTO cp_node VALUES ('391', 'file', '153'); -INSERT INTO cp_node VALUES ('392', 'resource', '153'); -INSERT INTO cp_node VALUES ('393', 'file', '153'); -INSERT INTO cp_node VALUES ('394', 'dependency', '153'); -INSERT INTO cp_node VALUES ('395', 'resource', '153'); -INSERT INTO cp_node VALUES ('396', 'file', '153'); -INSERT INTO cp_node VALUES ('397', 'resource', '153'); -INSERT INTO cp_node VALUES ('398', 'file', '153'); -INSERT INTO cp_node VALUES ('399', 'sequencing', '153'); -INSERT INTO cp_node VALUES ('400', 'manifest', '154'); -INSERT INTO cp_node VALUES ('401', 'organization', '154'); -INSERT INTO cp_node VALUES ('402', 'item', '154'); -INSERT INTO cp_node VALUES ('403', 'item', '154'); -INSERT INTO cp_node VALUES ('404', 'item', '154'); -INSERT INTO cp_node VALUES ('405', 'item', '154'); -INSERT INTO cp_node VALUES ('406', 'item', '154'); -INSERT INTO cp_node VALUES ('407', 'item', '154'); -INSERT INTO cp_node VALUES ('408', 'item', '154'); -INSERT INTO cp_node VALUES ('409', 'item', '154'); -INSERT INTO cp_node VALUES ('410', 'item', '154'); -INSERT INTO cp_node VALUES ('411', 'item', '154'); -INSERT INTO cp_node VALUES ('412', 'item', '154'); -INSERT INTO cp_node VALUES ('413', 'item', '154'); -INSERT INTO cp_node VALUES ('414', 'item', '154'); -INSERT INTO cp_node VALUES ('415', 'item', '154'); -INSERT INTO cp_node VALUES ('416', 'item', '154'); -INSERT INTO cp_node VALUES ('417', 'resource', '154'); -INSERT INTO cp_node VALUES ('418', 'file', '154'); -INSERT INTO cp_node VALUES ('419', 'dependency', '154'); -INSERT INTO cp_node VALUES ('420', 'dependency', '154'); -INSERT INTO cp_node VALUES ('421', 'dependency', '154'); -INSERT INTO cp_node VALUES ('422', 'dependency', '154'); -INSERT INTO cp_node VALUES ('423', 'dependency', '154'); -INSERT INTO cp_node VALUES ('424', 'resource', '154'); -INSERT INTO cp_node VALUES ('425', 'file', '154'); -INSERT INTO cp_node VALUES ('426', 'resource', '154'); -INSERT INTO cp_node VALUES ('427', 'file', '154'); -INSERT INTO cp_node VALUES ('428', 'resource', '154'); -INSERT INTO cp_node VALUES ('429', 'file', '154'); -INSERT INTO cp_node VALUES ('430', 'resource', '154'); -INSERT INTO cp_node VALUES ('431', 'file', '154'); -INSERT INTO cp_node VALUES ('432', 'dependency', '154'); -INSERT INTO cp_node VALUES ('433', 'resource', '154'); -INSERT INTO cp_node VALUES ('434', 'file', '154'); -INSERT INTO cp_node VALUES ('435', 'resource', '154'); -INSERT INTO cp_node VALUES ('436', 'file', '154'); -INSERT INTO cp_node VALUES ('437', 'sequencing', '154'); -INSERT INTO cp_node VALUES ('438', 'sequencing', '154'); -INSERT INTO cp_node VALUES ('439', 'rule', '154'); -INSERT INTO cp_node VALUES ('440', 'condition', '154'); -INSERT INTO cp_node VALUES ('441', 'sequencing', '154'); -INSERT INTO cp_node VALUES ('442', 'sequencing', '154'); -INSERT INTO cp_node VALUES ('443', 'manifest', '155'); -INSERT INTO cp_node VALUES ('444', 'organization', '155'); -INSERT INTO cp_node VALUES ('445', 'item', '155'); -INSERT INTO cp_node VALUES ('446', 'item', '155'); -INSERT INTO cp_node VALUES ('447', 'hideLMSUI', '155'); -INSERT INTO cp_node VALUES ('448', 'hideLMSUI', '155'); -INSERT INTO cp_node VALUES ('449', 'hideLMSUI', '155'); -INSERT INTO cp_node VALUES ('450', 'item', '155'); -INSERT INTO cp_node VALUES ('451', 'hideLMSUI', '155'); -INSERT INTO cp_node VALUES ('452', 'hideLMSUI', '155'); -INSERT INTO cp_node VALUES ('453', 'hideLMSUI', '155'); -INSERT INTO cp_node VALUES ('454', 'item', '155'); -INSERT INTO cp_node VALUES ('455', 'item', '155'); -INSERT INTO cp_node VALUES ('456', 'hideLMSUI', '155'); -INSERT INTO cp_node VALUES ('457', 'hideLMSUI', '155'); -INSERT INTO cp_node VALUES ('458', 'hideLMSUI', '155'); -INSERT INTO cp_node VALUES ('459', 'item', '155'); -INSERT INTO cp_node VALUES ('460', 'hideLMSUI', '155'); -INSERT INTO cp_node VALUES ('461', 'hideLMSUI', '155'); -INSERT INTO cp_node VALUES ('462', 'hideLMSUI', '155'); -INSERT INTO cp_node VALUES ('463', 'item', '155'); -INSERT INTO cp_node VALUES ('464', 'hideLMSUI', '155'); -INSERT INTO cp_node VALUES ('465', 'hideLMSUI', '155'); -INSERT INTO cp_node VALUES ('466', 'hideLMSUI', '155'); -INSERT INTO cp_node VALUES ('467', 'item', '155'); -INSERT INTO cp_node VALUES ('468', 'item', '155'); -INSERT INTO cp_node VALUES ('469', 'hideLMSUI', '155'); -INSERT INTO cp_node VALUES ('470', 'hideLMSUI', '155'); -INSERT INTO cp_node VALUES ('471', 'hideLMSUI', '155'); -INSERT INTO cp_node VALUES ('472', 'item', '155'); -INSERT INTO cp_node VALUES ('473', 'item', '155'); -INSERT INTO cp_node VALUES ('474', 'item', '155'); -INSERT INTO cp_node VALUES ('475', 'hideLMSUI', '155'); -INSERT INTO cp_node VALUES ('476', 'hideLMSUI', '155'); -INSERT INTO cp_node VALUES ('477', 'hideLMSUI', '155'); -INSERT INTO cp_node VALUES ('478', 'item', '155'); -INSERT INTO cp_node VALUES ('479', 'hideLMSUI', '155'); -INSERT INTO cp_node VALUES ('480', 'hideLMSUI', '155'); -INSERT INTO cp_node VALUES ('481', 'hideLMSUI', '155'); -INSERT INTO cp_node VALUES ('482', 'item', '155'); -INSERT INTO cp_node VALUES ('483', 'hideLMSUI', '155'); -INSERT INTO cp_node VALUES ('484', 'hideLMSUI', '155'); -INSERT INTO cp_node VALUES ('485', 'hideLMSUI', '155'); -INSERT INTO cp_node VALUES ('486', 'item', '155'); -INSERT INTO cp_node VALUES ('487', 'hideLMSUI', '155'); -INSERT INTO cp_node VALUES ('488', 'hideLMSUI', '155'); -INSERT INTO cp_node VALUES ('489', 'hideLMSUI', '155'); -INSERT INTO cp_node VALUES ('490', 'resource', '155'); -INSERT INTO cp_node VALUES ('491', 'file', '155'); -INSERT INTO cp_node VALUES ('492', 'dependency', '155'); -INSERT INTO cp_node VALUES ('493', 'dependency', '155'); -INSERT INTO cp_node VALUES ('494', 'dependency', '155'); -INSERT INTO cp_node VALUES ('495', 'dependency', '155'); -INSERT INTO cp_node VALUES ('496', 'dependency', '155'); -INSERT INTO cp_node VALUES ('497', 'resource', '155'); -INSERT INTO cp_node VALUES ('498', 'file', '155'); -INSERT INTO cp_node VALUES ('499', 'resource', '155'); -INSERT INTO cp_node VALUES ('500', 'file', '155'); -INSERT INTO cp_node VALUES ('501', 'resource', '155'); -INSERT INTO cp_node VALUES ('502', 'file', '155'); -INSERT INTO cp_node VALUES ('503', 'resource', '155'); -INSERT INTO cp_node VALUES ('504', 'file', '155'); -INSERT INTO cp_node VALUES ('505', 'dependency', '155'); -INSERT INTO cp_node VALUES ('506', 'resource', '155'); -INSERT INTO cp_node VALUES ('507', 'file', '155'); -INSERT INTO cp_node VALUES ('508', 'resource', '155'); -INSERT INTO cp_node VALUES ('509', 'file', '155'); -INSERT INTO cp_node VALUES ('510', 'sequencing', '155'); -INSERT INTO cp_node VALUES ('511', 'sequencing', '155'); -INSERT INTO cp_node VALUES ('512', 'rule', '155'); -INSERT INTO cp_node VALUES ('513', 'condition', '155'); -INSERT INTO cp_node VALUES ('514', 'sequencing', '155'); -INSERT INTO cp_node VALUES ('515', 'manifest', '156'); -INSERT INTO cp_node VALUES ('516', 'organization', '156'); -INSERT INTO cp_node VALUES ('517', 'item', '156'); -INSERT INTO cp_node VALUES ('518', 'item', '156'); -INSERT INTO cp_node VALUES ('519', 'hideLMSUI', '156'); -INSERT INTO cp_node VALUES ('520', 'hideLMSUI', '156'); -INSERT INTO cp_node VALUES ('521', 'hideLMSUI', '156'); -INSERT INTO cp_node VALUES ('522', 'item', '156'); -INSERT INTO cp_node VALUES ('523', 'hideLMSUI', '156'); -INSERT INTO cp_node VALUES ('524', 'hideLMSUI', '156'); -INSERT INTO cp_node VALUES ('525', 'hideLMSUI', '156'); -INSERT INTO cp_node VALUES ('526', 'item', '156'); -INSERT INTO cp_node VALUES ('527', 'item', '156'); -INSERT INTO cp_node VALUES ('528', 'hideLMSUI', '156'); -INSERT INTO cp_node VALUES ('529', 'hideLMSUI', '156'); -INSERT INTO cp_node VALUES ('530', 'hideLMSUI', '156'); -INSERT INTO cp_node VALUES ('531', 'item', '156'); -INSERT INTO cp_node VALUES ('532', 'hideLMSUI', '156'); -INSERT INTO cp_node VALUES ('533', 'hideLMSUI', '156'); -INSERT INTO cp_node VALUES ('534', 'hideLMSUI', '156'); -INSERT INTO cp_node VALUES ('535', 'item', '156'); -INSERT INTO cp_node VALUES ('536', 'hideLMSUI', '156'); -INSERT INTO cp_node VALUES ('537', 'hideLMSUI', '156'); -INSERT INTO cp_node VALUES ('538', 'hideLMSUI', '156'); -INSERT INTO cp_node VALUES ('539', 'item', '156'); -INSERT INTO cp_node VALUES ('540', 'item', '156'); -INSERT INTO cp_node VALUES ('541', 'hideLMSUI', '156'); -INSERT INTO cp_node VALUES ('542', 'hideLMSUI', '156'); -INSERT INTO cp_node VALUES ('543', 'hideLMSUI', '156'); -INSERT INTO cp_node VALUES ('544', 'item', '156'); -INSERT INTO cp_node VALUES ('545', 'item', '156'); -INSERT INTO cp_node VALUES ('546', 'item', '156'); -INSERT INTO cp_node VALUES ('547', 'hideLMSUI', '156'); -INSERT INTO cp_node VALUES ('548', 'hideLMSUI', '156'); -INSERT INTO cp_node VALUES ('549', 'hideLMSUI', '156'); -INSERT INTO cp_node VALUES ('550', 'item', '156'); -INSERT INTO cp_node VALUES ('551', 'hideLMSUI', '156'); -INSERT INTO cp_node VALUES ('552', 'hideLMSUI', '156'); -INSERT INTO cp_node VALUES ('553', 'hideLMSUI', '156'); -INSERT INTO cp_node VALUES ('554', 'item', '156'); -INSERT INTO cp_node VALUES ('555', 'hideLMSUI', '156'); -INSERT INTO cp_node VALUES ('556', 'hideLMSUI', '156'); -INSERT INTO cp_node VALUES ('557', 'hideLMSUI', '156'); -INSERT INTO cp_node VALUES ('558', 'item', '156'); -INSERT INTO cp_node VALUES ('559', 'hideLMSUI', '156'); -INSERT INTO cp_node VALUES ('560', 'hideLMSUI', '156'); -INSERT INTO cp_node VALUES ('561', 'hideLMSUI', '156'); -INSERT INTO cp_node VALUES ('562', 'resource', '156'); -INSERT INTO cp_node VALUES ('563', 'file', '156'); -INSERT INTO cp_node VALUES ('564', 'dependency', '156'); -INSERT INTO cp_node VALUES ('565', 'dependency', '156'); -INSERT INTO cp_node VALUES ('566', 'dependency', '156'); -INSERT INTO cp_node VALUES ('567', 'dependency', '156'); -INSERT INTO cp_node VALUES ('568', 'dependency', '156'); -INSERT INTO cp_node VALUES ('569', 'resource', '156'); -INSERT INTO cp_node VALUES ('570', 'file', '156'); -INSERT INTO cp_node VALUES ('571', 'resource', '156'); -INSERT INTO cp_node VALUES ('572', 'file', '156'); -INSERT INTO cp_node VALUES ('573', 'resource', '156'); -INSERT INTO cp_node VALUES ('574', 'file', '156'); -INSERT INTO cp_node VALUES ('575', 'resource', '156'); -INSERT INTO cp_node VALUES ('576', 'file', '156'); -INSERT INTO cp_node VALUES ('577', 'dependency', '156'); -INSERT INTO cp_node VALUES ('578', 'resource', '156'); -INSERT INTO cp_node VALUES ('579', 'file', '156'); -INSERT INTO cp_node VALUES ('580', 'resource', '156'); -INSERT INTO cp_node VALUES ('581', 'file', '156'); -INSERT INTO cp_node VALUES ('582', 'sequencing', '156'); -INSERT INTO cp_node VALUES ('583', 'manifest', '157'); -INSERT INTO cp_node VALUES ('584', 'organization', '157'); -INSERT INTO cp_node VALUES ('585', 'item', '157'); -INSERT INTO cp_node VALUES ('586', 'hideLMSUI', '157'); -INSERT INTO cp_node VALUES ('587', 'hideLMSUI', '157'); -INSERT INTO cp_node VALUES ('588', 'hideLMSUI', '157'); -INSERT INTO cp_node VALUES ('589', 'item', '157'); -INSERT INTO cp_node VALUES ('590', 'item', '157'); -INSERT INTO cp_node VALUES ('591', 'item', '157'); -INSERT INTO cp_node VALUES ('592', 'hideLMSUI', '157'); -INSERT INTO cp_node VALUES ('593', 'hideLMSUI', '157'); -INSERT INTO cp_node VALUES ('594', 'hideLMSUI', '157'); -INSERT INTO cp_node VALUES ('595', 'item', '157'); -INSERT INTO cp_node VALUES ('596', 'hideLMSUI', '157'); -INSERT INTO cp_node VALUES ('597', 'hideLMSUI', '157'); -INSERT INTO cp_node VALUES ('598', 'hideLMSUI', '157'); -INSERT INTO cp_node VALUES ('599', 'item', '157'); -INSERT INTO cp_node VALUES ('600', 'hideLMSUI', '157'); -INSERT INTO cp_node VALUES ('601', 'hideLMSUI', '157'); -INSERT INTO cp_node VALUES ('602', 'hideLMSUI', '157'); -INSERT INTO cp_node VALUES ('603', 'item', '157'); -INSERT INTO cp_node VALUES ('604', 'hideLMSUI', '157'); -INSERT INTO cp_node VALUES ('605', 'hideLMSUI', '157'); -INSERT INTO cp_node VALUES ('606', 'hideLMSUI', '157'); -INSERT INTO cp_node VALUES ('607', 'item', '157'); -INSERT INTO cp_node VALUES ('608', 'hideLMSUI', '157'); -INSERT INTO cp_node VALUES ('609', 'hideLMSUI', '157'); -INSERT INTO cp_node VALUES ('610', 'hideLMSUI', '157'); -INSERT INTO cp_node VALUES ('611', 'item', '157'); -INSERT INTO cp_node VALUES ('612', 'hideLMSUI', '157'); -INSERT INTO cp_node VALUES ('613', 'hideLMSUI', '157'); -INSERT INTO cp_node VALUES ('614', 'hideLMSUI', '157'); -INSERT INTO cp_node VALUES ('615', 'resource', '157'); -INSERT INTO cp_node VALUES ('616', 'file', '157'); -INSERT INTO cp_node VALUES ('617', 'dependency', '157'); -INSERT INTO cp_node VALUES ('618', 'dependency', '157'); -INSERT INTO cp_node VALUES ('619', 'dependency', '157'); -INSERT INTO cp_node VALUES ('620', 'dependency', '157'); -INSERT INTO cp_node VALUES ('621', 'dependency', '157'); -INSERT INTO cp_node VALUES ('622', 'resource', '157'); -INSERT INTO cp_node VALUES ('623', 'file', '157'); -INSERT INTO cp_node VALUES ('624', 'resource', '157'); -INSERT INTO cp_node VALUES ('625', 'file', '157'); -INSERT INTO cp_node VALUES ('626', 'resource', '157'); -INSERT INTO cp_node VALUES ('627', 'file', '157'); -INSERT INTO cp_node VALUES ('628', 'resource', '157'); -INSERT INTO cp_node VALUES ('629', 'file', '157'); -INSERT INTO cp_node VALUES ('630', 'dependency', '157'); -INSERT INTO cp_node VALUES ('631', 'resource', '157'); -INSERT INTO cp_node VALUES ('632', 'file', '157'); -INSERT INTO cp_node VALUES ('633', 'resource', '157'); -INSERT INTO cp_node VALUES ('634', 'file', '157'); -INSERT INTO cp_node VALUES ('635', 'sequencing', '157'); -INSERT INTO cp_node VALUES ('636', 'sequencing', '157'); -INSERT INTO cp_node VALUES ('637', 'sequencing', '157'); -INSERT INTO cp_node VALUES ('638', 'manifest', '158'); -INSERT INTO cp_node VALUES ('639', 'organization', '158'); -INSERT INTO cp_node VALUES ('640', 'item', '158'); -INSERT INTO cp_node VALUES ('641', 'hideLMSUI', '158'); -INSERT INTO cp_node VALUES ('642', 'hideLMSUI', '158'); -INSERT INTO cp_node VALUES ('643', 'hideLMSUI', '158'); -INSERT INTO cp_node VALUES ('644', 'item', '158'); -INSERT INTO cp_node VALUES ('645', 'hideLMSUI', '158'); -INSERT INTO cp_node VALUES ('646', 'hideLMSUI', '158'); -INSERT INTO cp_node VALUES ('647', 'hideLMSUI', '158'); -INSERT INTO cp_node VALUES ('648', 'item', '158'); -INSERT INTO cp_node VALUES ('649', 'hideLMSUI', '158'); -INSERT INTO cp_node VALUES ('650', 'hideLMSUI', '158'); -INSERT INTO cp_node VALUES ('651', 'hideLMSUI', '158'); -INSERT INTO cp_node VALUES ('652', 'resource', '158'); -INSERT INTO cp_node VALUES ('653', 'file', '158'); -INSERT INTO cp_node VALUES ('654', 'dependency', '158'); -INSERT INTO cp_node VALUES ('655', 'dependency', '158'); -INSERT INTO cp_node VALUES ('656', 'dependency', '158'); -INSERT INTO cp_node VALUES ('657', 'dependency', '158'); -INSERT INTO cp_node VALUES ('658', 'dependency', '158'); -INSERT INTO cp_node VALUES ('659', 'resource', '158'); -INSERT INTO cp_node VALUES ('660', 'file', '158'); -INSERT INTO cp_node VALUES ('661', 'resource', '158'); -INSERT INTO cp_node VALUES ('662', 'file', '158'); -INSERT INTO cp_node VALUES ('663', 'resource', '158'); -INSERT INTO cp_node VALUES ('664', 'file', '158'); -INSERT INTO cp_node VALUES ('665', 'resource', '158'); -INSERT INTO cp_node VALUES ('666', 'file', '158'); -INSERT INTO cp_node VALUES ('667', 'dependency', '158'); -INSERT INTO cp_node VALUES ('668', 'resource', '158'); -INSERT INTO cp_node VALUES ('669', 'file', '158'); -INSERT INTO cp_node VALUES ('670', 'resource', '158'); -INSERT INTO cp_node VALUES ('671', 'file', '158'); -INSERT INTO cp_node VALUES ('672', 'sequencing', '158'); -INSERT INTO cp_node VALUES ('673', 'manifest', '159'); -INSERT INTO cp_node VALUES ('674', 'organization', '159'); -INSERT INTO cp_node VALUES ('675', 'item', '159'); -INSERT INTO cp_node VALUES ('676', 'item', '159'); -INSERT INTO cp_node VALUES ('677', 'item', '159'); -INSERT INTO cp_node VALUES ('678', 'item', '159'); -INSERT INTO cp_node VALUES ('679', 'item', '159'); -INSERT INTO cp_node VALUES ('680', 'item', '159'); -INSERT INTO cp_node VALUES ('681', 'item', '159'); -INSERT INTO cp_node VALUES ('682', 'item', '159'); -INSERT INTO cp_node VALUES ('683', 'item', '159'); -INSERT INTO cp_node VALUES ('684', 'item', '159'); -INSERT INTO cp_node VALUES ('685', 'item', '159'); -INSERT INTO cp_node VALUES ('686', 'item', '159'); -INSERT INTO cp_node VALUES ('687', 'item', '159'); -INSERT INTO cp_node VALUES ('688', 'item', '159'); -INSERT INTO cp_node VALUES ('689', 'resource', '159'); -INSERT INTO cp_node VALUES ('690', 'file', '159'); -INSERT INTO cp_node VALUES ('691', 'dependency', '159'); -INSERT INTO cp_node VALUES ('692', 'dependency', '159'); -INSERT INTO cp_node VALUES ('693', 'dependency', '159'); -INSERT INTO cp_node VALUES ('694', 'dependency', '159'); -INSERT INTO cp_node VALUES ('695', 'dependency', '159'); -INSERT INTO cp_node VALUES ('696', 'resource', '159'); -INSERT INTO cp_node VALUES ('697', 'file', '159'); -INSERT INTO cp_node VALUES ('698', 'dependency', '159'); -INSERT INTO cp_node VALUES ('699', 'dependency', '159'); -INSERT INTO cp_node VALUES ('700', 'dependency', '159'); -INSERT INTO cp_node VALUES ('701', 'dependency', '159'); -INSERT INTO cp_node VALUES ('702', 'dependency', '159'); -INSERT INTO cp_node VALUES ('703', 'resource', '159'); -INSERT INTO cp_node VALUES ('704', 'file', '159'); -INSERT INTO cp_node VALUES ('705', 'resource', '159'); -INSERT INTO cp_node VALUES ('706', 'file', '159'); -INSERT INTO cp_node VALUES ('707', 'resource', '159'); -INSERT INTO cp_node VALUES ('708', 'file', '159'); -INSERT INTO cp_node VALUES ('709', 'resource', '159'); -INSERT INTO cp_node VALUES ('710', 'file', '159'); -INSERT INTO cp_node VALUES ('711', 'dependency', '159'); -INSERT INTO cp_node VALUES ('712', 'resource', '159'); -INSERT INTO cp_node VALUES ('713', 'file', '159'); -INSERT INTO cp_node VALUES ('714', 'resource', '159'); -INSERT INTO cp_node VALUES ('715', 'file', '159'); -INSERT INTO cp_node VALUES ('716', 'sequencing', '159'); -INSERT INTO cp_node VALUES ('717', 'rule', '159'); -INSERT INTO cp_node VALUES ('718', 'condition', '159'); -INSERT INTO cp_node VALUES ('719', 'sequencing', '159'); -INSERT INTO cp_node VALUES ('720', 'sequencing', '159'); -INSERT INTO cp_node VALUES ('721', 'sequencing', '159'); -INSERT INTO cp_node VALUES ('722', 'sequencing', '159'); -INSERT INTO cp_node VALUES ('723', 'sequencing', '159'); -INSERT INTO cp_node VALUES ('724', 'rule', '159'); -INSERT INTO cp_node VALUES ('725', 'condition', '159'); -INSERT INTO cp_node VALUES ('726', 'sequencing', '159'); -INSERT INTO cp_node VALUES ('727', 'sequencing', '159'); -INSERT INTO cp_node VALUES ('728', 'sequencing', '159'); -INSERT INTO cp_node VALUES ('729', 'manifest', '160'); -INSERT INTO cp_node VALUES ('730', 'organization', '160'); -INSERT INTO cp_node VALUES ('731', 'item', '160'); -INSERT INTO cp_node VALUES ('732', 'item', '160'); -INSERT INTO cp_node VALUES ('733', 'item', '160'); -INSERT INTO cp_node VALUES ('734', 'item', '160'); -INSERT INTO cp_node VALUES ('735', 'item', '160'); -INSERT INTO cp_node VALUES ('736', 'item', '160'); -INSERT INTO cp_node VALUES ('737', 'item', '160'); -INSERT INTO cp_node VALUES ('738', 'item', '160'); -INSERT INTO cp_node VALUES ('739', 'item', '160'); -INSERT INTO cp_node VALUES ('740', 'item', '160'); -INSERT INTO cp_node VALUES ('741', 'item', '160'); -INSERT INTO cp_node VALUES ('742', 'item', '160'); -INSERT INTO cp_node VALUES ('743', 'item', '160'); -INSERT INTO cp_node VALUES ('744', 'item', '160'); -INSERT INTO cp_node VALUES ('745', 'item', '160'); -INSERT INTO cp_node VALUES ('746', 'item', '160'); -INSERT INTO cp_node VALUES ('747', 'item', '160'); -INSERT INTO cp_node VALUES ('748', 'item', '160'); -INSERT INTO cp_node VALUES ('749', 'item', '160'); -INSERT INTO cp_node VALUES ('750', 'item', '160'); -INSERT INTO cp_node VALUES ('751', 'item', '160'); -INSERT INTO cp_node VALUES ('752', 'resource', '160'); -INSERT INTO cp_node VALUES ('753', 'file', '160'); -INSERT INTO cp_node VALUES ('754', 'dependency', '160'); -INSERT INTO cp_node VALUES ('755', 'dependency', '160'); -INSERT INTO cp_node VALUES ('756', 'dependency', '160'); -INSERT INTO cp_node VALUES ('757', 'dependency', '160'); -INSERT INTO cp_node VALUES ('758', 'dependency', '160'); -INSERT INTO cp_node VALUES ('759', 'resource', '160'); -INSERT INTO cp_node VALUES ('760', 'file', '160'); -INSERT INTO cp_node VALUES ('761', 'dependency', '160'); -INSERT INTO cp_node VALUES ('762', 'dependency', '160'); -INSERT INTO cp_node VALUES ('763', 'dependency', '160'); -INSERT INTO cp_node VALUES ('764', 'dependency', '160'); -INSERT INTO cp_node VALUES ('765', 'dependency', '160'); -INSERT INTO cp_node VALUES ('766', 'resource', '160'); -INSERT INTO cp_node VALUES ('767', 'file', '160'); -INSERT INTO cp_node VALUES ('768', 'resource', '160'); -INSERT INTO cp_node VALUES ('769', 'file', '160'); -INSERT INTO cp_node VALUES ('770', 'resource', '160'); -INSERT INTO cp_node VALUES ('771', 'file', '160'); -INSERT INTO cp_node VALUES ('772', 'resource', '160'); -INSERT INTO cp_node VALUES ('773', 'file', '160'); -INSERT INTO cp_node VALUES ('774', 'dependency', '160'); -INSERT INTO cp_node VALUES ('775', 'resource', '160'); -INSERT INTO cp_node VALUES ('776', 'file', '160'); -INSERT INTO cp_node VALUES ('777', 'resource', '160'); -INSERT INTO cp_node VALUES ('778', 'file', '160'); -INSERT INTO cp_node VALUES ('779', 'sequencing', '160'); -INSERT INTO cp_node VALUES ('780', 'rule', '160'); -INSERT INTO cp_node VALUES ('781', 'condition', '160'); -INSERT INTO cp_node VALUES ('782', 'sequencing', '160'); -INSERT INTO cp_node VALUES ('783', 'sequencing', '160'); -INSERT INTO cp_node VALUES ('784', 'sequencing', '160'); -INSERT INTO cp_node VALUES ('785', 'rule', '160'); -INSERT INTO cp_node VALUES ('786', 'condition', '160'); -INSERT INTO cp_node VALUES ('787', 'sequencing', '160'); -INSERT INTO cp_node VALUES ('788', 'sequencing', '160'); -INSERT INTO cp_node VALUES ('789', 'rule', '160'); -INSERT INTO cp_node VALUES ('790', 'condition', '160'); -INSERT INTO cp_node VALUES ('791', 'sequencing', '160'); -INSERT INTO cp_node VALUES ('792', 'rule', '160'); -INSERT INTO cp_node VALUES ('793', 'condition', '160'); -INSERT INTO cp_node VALUES ('794', 'sequencing', '160'); -INSERT INTO cp_node VALUES ('795', 'sequencing', '160'); -INSERT INTO cp_node VALUES ('796', 'sequencing', '160'); -INSERT INTO cp_node VALUES ('797', 'manifest', '161'); -INSERT INTO cp_node VALUES ('798', 'organization', '161'); -INSERT INTO cp_node VALUES ('799', 'item', '161'); -INSERT INTO cp_node VALUES ('800', 'item', '161'); -INSERT INTO cp_node VALUES ('801', 'item', '161'); -INSERT INTO cp_node VALUES ('802', 'item', '161'); -INSERT INTO cp_node VALUES ('803', 'item', '161'); -INSERT INTO cp_node VALUES ('804', 'item', '161'); -INSERT INTO cp_node VALUES ('805', 'item', '161'); -INSERT INTO cp_node VALUES ('806', 'item', '161'); -INSERT INTO cp_node VALUES ('807', 'item', '161'); -INSERT INTO cp_node VALUES ('808', 'item', '161'); -INSERT INTO cp_node VALUES ('809', 'item', '161'); -INSERT INTO cp_node VALUES ('810', 'item', '161'); -INSERT INTO cp_node VALUES ('811', 'item', '161'); -INSERT INTO cp_node VALUES ('812', 'item', '161'); -INSERT INTO cp_node VALUES ('813', 'item', '161'); -INSERT INTO cp_node VALUES ('814', 'item', '161'); -INSERT INTO cp_node VALUES ('815', 'item', '161'); -INSERT INTO cp_node VALUES ('816', 'item', '161'); -INSERT INTO cp_node VALUES ('817', 'resource', '161'); -INSERT INTO cp_node VALUES ('818', 'file', '161'); -INSERT INTO cp_node VALUES ('819', 'dependency', '161'); -INSERT INTO cp_node VALUES ('820', 'dependency', '161'); -INSERT INTO cp_node VALUES ('821', 'dependency', '161'); -INSERT INTO cp_node VALUES ('822', 'dependency', '161'); -INSERT INTO cp_node VALUES ('823', 'dependency', '161'); -INSERT INTO cp_node VALUES ('824', 'resource', '161'); -INSERT INTO cp_node VALUES ('825', 'file', '161'); -INSERT INTO cp_node VALUES ('826', 'resource', '161'); -INSERT INTO cp_node VALUES ('827', 'file', '161'); -INSERT INTO cp_node VALUES ('828', 'resource', '161'); -INSERT INTO cp_node VALUES ('829', 'file', '161'); -INSERT INTO cp_node VALUES ('830', 'resource', '161'); -INSERT INTO cp_node VALUES ('831', 'file', '161'); -INSERT INTO cp_node VALUES ('832', 'dependency', '161'); -INSERT INTO cp_node VALUES ('833', 'resource', '161'); -INSERT INTO cp_node VALUES ('834', 'file', '161'); -INSERT INTO cp_node VALUES ('835', 'resource', '161'); -INSERT INTO cp_node VALUES ('836', 'file', '161'); -INSERT INTO cp_node VALUES ('837', 'sequencing', '161'); -INSERT INTO cp_node VALUES ('838', 'sequencing', '161'); -INSERT INTO cp_node VALUES ('839', 'sequencing', '161'); -INSERT INTO cp_node VALUES ('840', 'rule', '161'); -INSERT INTO cp_node VALUES ('841', 'condition', '161'); -INSERT INTO cp_node VALUES ('842', 'sequencing', '161'); -INSERT INTO cp_node VALUES ('843', 'sequencing', '161'); -INSERT INTO cp_node VALUES ('844', 'rule', '161'); -INSERT INTO cp_node VALUES ('845', 'condition', '161'); -INSERT INTO cp_node VALUES ('846', 'sequencing', '161'); -INSERT INTO cp_node VALUES ('847', 'sequencing', '161'); -INSERT INTO cp_node VALUES ('848', 'sequencing', '161'); -INSERT INTO cp_node VALUES ('849', 'sequencing', '161'); -INSERT INTO cp_node VALUES ('850', 'rule', '161'); -INSERT INTO cp_node VALUES ('851', 'condition', '161'); -INSERT INTO cp_node VALUES ('852', 'sequencing', '161'); -INSERT INTO cp_node VALUES ('853', 'sequencing', '161'); -INSERT INTO cp_node VALUES ('854', 'manifest', '162'); -INSERT INTO cp_node VALUES ('855', 'organization', '162'); -INSERT INTO cp_node VALUES ('856', 'item', '162'); -INSERT INTO cp_node VALUES ('857', 'item', '162'); -INSERT INTO cp_node VALUES ('858', 'item', '162'); -INSERT INTO cp_node VALUES ('859', 'item', '162'); -INSERT INTO cp_node VALUES ('860', 'item', '162'); -INSERT INTO cp_node VALUES ('861', 'item', '162'); -INSERT INTO cp_node VALUES ('862', 'item', '162'); -INSERT INTO cp_node VALUES ('863', 'item', '162'); -INSERT INTO cp_node VALUES ('864', 'item', '162'); -INSERT INTO cp_node VALUES ('865', 'item', '162'); -INSERT INTO cp_node VALUES ('866', 'item', '162'); -INSERT INTO cp_node VALUES ('867', 'item', '162'); -INSERT INTO cp_node VALUES ('868', 'item', '162'); -INSERT INTO cp_node VALUES ('869', 'item', '162'); -INSERT INTO cp_node VALUES ('870', 'item', '162'); -INSERT INTO cp_node VALUES ('871', 'item', '162'); -INSERT INTO cp_node VALUES ('872', 'item', '162'); -INSERT INTO cp_node VALUES ('873', 'item', '162'); -INSERT INTO cp_node VALUES ('874', 'resource', '162'); -INSERT INTO cp_node VALUES ('875', 'file', '162'); -INSERT INTO cp_node VALUES ('876', 'dependency', '162'); -INSERT INTO cp_node VALUES ('877', 'dependency', '162'); -INSERT INTO cp_node VALUES ('878', 'dependency', '162'); -INSERT INTO cp_node VALUES ('879', 'dependency', '162'); -INSERT INTO cp_node VALUES ('880', 'dependency', '162'); -INSERT INTO cp_node VALUES ('881', 'resource', '162'); -INSERT INTO cp_node VALUES ('882', 'file', '162'); -INSERT INTO cp_node VALUES ('883', 'resource', '162'); -INSERT INTO cp_node VALUES ('884', 'file', '162'); -INSERT INTO cp_node VALUES ('885', 'resource', '162'); -INSERT INTO cp_node VALUES ('886', 'file', '162'); -INSERT INTO cp_node VALUES ('887', 'resource', '162'); -INSERT INTO cp_node VALUES ('888', 'file', '162'); -INSERT INTO cp_node VALUES ('889', 'dependency', '162'); -INSERT INTO cp_node VALUES ('890', 'resource', '162'); -INSERT INTO cp_node VALUES ('891', 'file', '162'); -INSERT INTO cp_node VALUES ('892', 'resource', '162'); -INSERT INTO cp_node VALUES ('893', 'file', '162'); -INSERT INTO cp_node VALUES ('894', 'sequencing', '162'); -INSERT INTO cp_node VALUES ('895', 'sequencing', '162'); -INSERT INTO cp_node VALUES ('896', 'sequencing', '162'); -INSERT INTO cp_node VALUES ('897', 'sequencing', '162'); -INSERT INTO cp_node VALUES ('898', 'sequencing', '162'); -INSERT INTO cp_node VALUES ('899', 'sequencing', '162'); -INSERT INTO cp_node VALUES ('900', 'sequencing', '162'); -INSERT INTO cp_node VALUES ('901', 'sequencing', '162'); -INSERT INTO cp_node VALUES ('902', 'manifest', '163'); -INSERT INTO cp_node VALUES ('903', 'organization', '163'); -INSERT INTO cp_node VALUES ('904', 'item', '163'); -INSERT INTO cp_node VALUES ('905', 'item', '163'); -INSERT INTO cp_node VALUES ('906', 'item', '163'); -INSERT INTO cp_node VALUES ('907', 'item', '163'); -INSERT INTO cp_node VALUES ('908', 'item', '163'); -INSERT INTO cp_node VALUES ('909', 'item', '163'); -INSERT INTO cp_node VALUES ('910', 'resource', '163'); -INSERT INTO cp_node VALUES ('911', 'file', '163'); -INSERT INTO cp_node VALUES ('912', 'dependency', '163'); -INSERT INTO cp_node VALUES ('913', 'dependency', '163'); -INSERT INTO cp_node VALUES ('914', 'dependency', '163'); -INSERT INTO cp_node VALUES ('915', 'dependency', '163'); -INSERT INTO cp_node VALUES ('916', 'dependency', '163'); -INSERT INTO cp_node VALUES ('917', 'resource', '163'); -INSERT INTO cp_node VALUES ('918', 'file', '163'); -INSERT INTO cp_node VALUES ('919', 'resource', '163'); -INSERT INTO cp_node VALUES ('920', 'file', '163'); -INSERT INTO cp_node VALUES ('921', 'resource', '163'); -INSERT INTO cp_node VALUES ('922', 'file', '163'); -INSERT INTO cp_node VALUES ('923', 'resource', '163'); -INSERT INTO cp_node VALUES ('924', 'file', '163'); -INSERT INTO cp_node VALUES ('925', 'dependency', '163'); -INSERT INTO cp_node VALUES ('926', 'resource', '163'); -INSERT INTO cp_node VALUES ('927', 'file', '163'); -INSERT INTO cp_node VALUES ('928', 'resource', '163'); -INSERT INTO cp_node VALUES ('929', 'file', '163'); -INSERT INTO cp_node VALUES ('930', 'sequencing', '163'); -INSERT INTO cp_node VALUES ('931', 'rule', '163'); -INSERT INTO cp_node VALUES ('932', 'condition', '163'); -INSERT INTO cp_node VALUES ('933', 'sequencing', '163'); -INSERT INTO cp_node VALUES ('934', 'sequencing', '163'); -INSERT INTO cp_node VALUES ('935', 'manifest', '164'); -INSERT INTO cp_node VALUES ('936', 'organization', '164'); -INSERT INTO cp_node VALUES ('937', 'item', '164'); -INSERT INTO cp_node VALUES ('938', 'item', '164'); -INSERT INTO cp_node VALUES ('939', 'item', '164'); -INSERT INTO cp_node VALUES ('940', 'item', '164'); -INSERT INTO cp_node VALUES ('941', 'resource', '164'); -INSERT INTO cp_node VALUES ('942', 'file', '164'); -INSERT INTO cp_node VALUES ('943', 'dependency', '164'); -INSERT INTO cp_node VALUES ('944', 'dependency', '164'); -INSERT INTO cp_node VALUES ('945', 'dependency', '164'); -INSERT INTO cp_node VALUES ('946', 'dependency', '164'); -INSERT INTO cp_node VALUES ('947', 'dependency', '164'); -INSERT INTO cp_node VALUES ('948', 'resource', '164'); -INSERT INTO cp_node VALUES ('949', 'file', '164'); -INSERT INTO cp_node VALUES ('950', 'resource', '164'); -INSERT INTO cp_node VALUES ('951', 'file', '164'); -INSERT INTO cp_node VALUES ('952', 'resource', '164'); -INSERT INTO cp_node VALUES ('953', 'file', '164'); -INSERT INTO cp_node VALUES ('954', 'resource', '164'); -INSERT INTO cp_node VALUES ('955', 'file', '164'); -INSERT INTO cp_node VALUES ('956', 'dependency', '164'); -INSERT INTO cp_node VALUES ('957', 'resource', '164'); -INSERT INTO cp_node VALUES ('958', 'file', '164'); -INSERT INTO cp_node VALUES ('959', 'resource', '164'); -INSERT INTO cp_node VALUES ('960', 'file', '164'); -INSERT INTO cp_node VALUES ('961', 'sequencing', '164'); -INSERT INTO cp_node VALUES ('962', 'rule', '164'); -INSERT INTO cp_node VALUES ('963', 'condition', '164'); -INSERT INTO cp_node VALUES ('964', 'sequencing', '164'); -INSERT INTO cp_node VALUES ('965', 'manifest', '165'); -INSERT INTO cp_node VALUES ('966', 'organization', '165'); -INSERT INTO cp_node VALUES ('967', 'item', '165'); -INSERT INTO cp_node VALUES ('968', 'item', '165'); -INSERT INTO cp_node VALUES ('969', 'resource', '165'); -INSERT INTO cp_node VALUES ('970', 'file', '165'); -INSERT INTO cp_node VALUES ('971', 'dependency', '165'); -INSERT INTO cp_node VALUES ('972', 'dependency', '165'); -INSERT INTO cp_node VALUES ('973', 'dependency', '165'); -INSERT INTO cp_node VALUES ('974', 'dependency', '165'); -INSERT INTO cp_node VALUES ('975', 'dependency', '165'); -INSERT INTO cp_node VALUES ('976', 'resource', '165'); -INSERT INTO cp_node VALUES ('977', 'file', '165'); -INSERT INTO cp_node VALUES ('978', 'resource', '165'); -INSERT INTO cp_node VALUES ('979', 'file', '165'); -INSERT INTO cp_node VALUES ('980', 'resource', '165'); -INSERT INTO cp_node VALUES ('981', 'file', '165'); -INSERT INTO cp_node VALUES ('982', 'resource', '165'); -INSERT INTO cp_node VALUES ('983', 'file', '165'); -INSERT INTO cp_node VALUES ('984', 'dependency', '165'); -INSERT INTO cp_node VALUES ('985', 'resource', '165'); -INSERT INTO cp_node VALUES ('986', 'file', '165'); -INSERT INTO cp_node VALUES ('987', 'resource', '165'); -INSERT INTO cp_node VALUES ('988', 'file', '165'); -INSERT INTO cp_node VALUES ('989', 'sequencing', '165'); -INSERT INTO cp_node VALUES ('990', 'rule', '165'); -INSERT INTO cp_node VALUES ('991', 'condition', '165'); -INSERT INTO cp_node VALUES ('992', 'sequencing', '165'); -INSERT INTO cp_node VALUES ('993', 'sequencing', '165'); -INSERT INTO cp_node VALUES ('994', 'manifest', '166'); -INSERT INTO cp_node VALUES ('995', 'organization', '166'); -INSERT INTO cp_node VALUES ('996', 'item', '166'); -INSERT INTO cp_node VALUES ('997', 'hideLMSUI', '166'); -INSERT INTO cp_node VALUES ('998', 'item', '166'); -INSERT INTO cp_node VALUES ('999', 'hideLMSUI', '166'); -INSERT INTO cp_node VALUES ('1000', 'item', '166'); -INSERT INTO cp_node VALUES ('1001', 'hideLMSUI', '166'); -INSERT INTO cp_node VALUES ('1002', 'item', '166'); -INSERT INTO cp_node VALUES ('1003', 'hideLMSUI', '166'); -INSERT INTO cp_node VALUES ('1004', 'item', '166'); -INSERT INTO cp_node VALUES ('1005', 'hideLMSUI', '166'); -INSERT INTO cp_node VALUES ('1006', 'item', '166'); -INSERT INTO cp_node VALUES ('1007', 'hideLMSUI', '166'); -INSERT INTO cp_node VALUES ('1008', 'item', '166'); -INSERT INTO cp_node VALUES ('1009', 'hideLMSUI', '166'); -INSERT INTO cp_node VALUES ('1010', 'item', '166'); -INSERT INTO cp_node VALUES ('1011', 'hideLMSUI', '166'); -INSERT INTO cp_node VALUES ('1012', 'item', '166'); -INSERT INTO cp_node VALUES ('1013', 'hideLMSUI', '166'); -INSERT INTO cp_node VALUES ('1014', 'resource', '166'); -INSERT INTO cp_node VALUES ('1015', 'file', '166'); -INSERT INTO cp_node VALUES ('1016', 'dependency', '166'); -INSERT INTO cp_node VALUES ('1017', 'dependency', '166'); -INSERT INTO cp_node VALUES ('1018', 'dependency', '166'); -INSERT INTO cp_node VALUES ('1019', 'dependency', '166'); -INSERT INTO cp_node VALUES ('1020', 'dependency', '166'); -INSERT INTO cp_node VALUES ('1021', 'resource', '166'); -INSERT INTO cp_node VALUES ('1022', 'file', '166'); -INSERT INTO cp_node VALUES ('1023', 'dependency', '166'); -INSERT INTO cp_node VALUES ('1024', 'dependency', '166'); -INSERT INTO cp_node VALUES ('1025', 'dependency', '166'); -INSERT INTO cp_node VALUES ('1026', 'dependency', '166'); -INSERT INTO cp_node VALUES ('1027', 'dependency', '166'); -INSERT INTO cp_node VALUES ('1028', 'resource', '166'); -INSERT INTO cp_node VALUES ('1029', 'file', '166'); -INSERT INTO cp_node VALUES ('1030', 'dependency', '166'); -INSERT INTO cp_node VALUES ('1031', 'dependency', '166'); -INSERT INTO cp_node VALUES ('1032', 'dependency', '166'); -INSERT INTO cp_node VALUES ('1033', 'dependency', '166'); -INSERT INTO cp_node VALUES ('1034', 'dependency', '166'); -INSERT INTO cp_node VALUES ('1035', 'resource', '166'); -INSERT INTO cp_node VALUES ('1036', 'file', '166'); -INSERT INTO cp_node VALUES ('1037', 'dependency', '166'); -INSERT INTO cp_node VALUES ('1038', 'dependency', '166'); -INSERT INTO cp_node VALUES ('1039', 'dependency', '166'); -INSERT INTO cp_node VALUES ('1040', 'dependency', '166'); -INSERT INTO cp_node VALUES ('1041', 'dependency', '166'); -INSERT INTO cp_node VALUES ('1042', 'resource', '166'); -INSERT INTO cp_node VALUES ('1043', 'file', '166'); -INSERT INTO cp_node VALUES ('1044', 'dependency', '166'); -INSERT INTO cp_node VALUES ('1045', 'dependency', '166'); -INSERT INTO cp_node VALUES ('1046', 'dependency', '166'); -INSERT INTO cp_node VALUES ('1047', 'dependency', '166'); -INSERT INTO cp_node VALUES ('1048', 'dependency', '166'); -INSERT INTO cp_node VALUES ('1049', 'resource', '166'); -INSERT INTO cp_node VALUES ('1050', 'file', '166'); -INSERT INTO cp_node VALUES ('1051', 'dependency', '166'); -INSERT INTO cp_node VALUES ('1052', 'dependency', '166'); -INSERT INTO cp_node VALUES ('1053', 'dependency', '166'); -INSERT INTO cp_node VALUES ('1054', 'dependency', '166'); -INSERT INTO cp_node VALUES ('1055', 'dependency', '166'); -INSERT INTO cp_node VALUES ('1056', 'resource', '166'); -INSERT INTO cp_node VALUES ('1057', 'file', '166'); -INSERT INTO cp_node VALUES ('1058', 'dependency', '166'); -INSERT INTO cp_node VALUES ('1059', 'dependency', '166'); -INSERT INTO cp_node VALUES ('1060', 'dependency', '166'); -INSERT INTO cp_node VALUES ('1061', 'dependency', '166'); -INSERT INTO cp_node VALUES ('1062', 'dependency', '166'); -INSERT INTO cp_node VALUES ('1063', 'resource', '166'); -INSERT INTO cp_node VALUES ('1064', 'file', '166'); -INSERT INTO cp_node VALUES ('1065', 'dependency', '166'); -INSERT INTO cp_node VALUES ('1066', 'dependency', '166'); -INSERT INTO cp_node VALUES ('1067', 'dependency', '166'); -INSERT INTO cp_node VALUES ('1068', 'dependency', '166'); -INSERT INTO cp_node VALUES ('1069', 'dependency', '166'); -INSERT INTO cp_node VALUES ('1070', 'resource', '166'); -INSERT INTO cp_node VALUES ('1071', 'file', '166'); -INSERT INTO cp_node VALUES ('1072', 'dependency', '166'); -INSERT INTO cp_node VALUES ('1073', 'dependency', '166'); -INSERT INTO cp_node VALUES ('1074', 'dependency', '166'); -INSERT INTO cp_node VALUES ('1075', 'dependency', '166'); -INSERT INTO cp_node VALUES ('1076', 'dependency', '166'); -INSERT INTO cp_node VALUES ('1077', 'resource', '166'); -INSERT INTO cp_node VALUES ('1078', 'file', '166'); -INSERT INTO cp_node VALUES ('1079', 'resource', '166'); -INSERT INTO cp_node VALUES ('1080', 'file', '166'); -INSERT INTO cp_node VALUES ('1081', 'resource', '166'); -INSERT INTO cp_node VALUES ('1082', 'file', '166'); -INSERT INTO cp_node VALUES ('1083', 'resource', '166'); -INSERT INTO cp_node VALUES ('1084', 'file', '166'); -INSERT INTO cp_node VALUES ('1085', 'dependency', '166'); -INSERT INTO cp_node VALUES ('1086', 'resource', '166'); -INSERT INTO cp_node VALUES ('1087', 'file', '166'); -INSERT INTO cp_node VALUES ('1088', 'resource', '166'); -INSERT INTO cp_node VALUES ('1089', 'file', '166'); -INSERT INTO cp_node VALUES ('1090', 'sequencing', '166'); -INSERT INTO cp_node VALUES ('1091', 'objective', '166'); -INSERT INTO cp_node VALUES ('1092', 'sequencing', '166'); -INSERT INTO cp_node VALUES ('1093', 'objective', '166'); -INSERT INTO cp_node VALUES ('1094', 'sequencing', '166'); -INSERT INTO cp_node VALUES ('1095', 'objective', '166'); -INSERT INTO cp_node VALUES ('1096', 'sequencing', '166'); -INSERT INTO cp_node VALUES ('1097', 'objective', '166'); -INSERT INTO cp_node VALUES ('1098', 'sequencing', '166'); -INSERT INTO cp_node VALUES ('1099', 'objective', '166'); -INSERT INTO cp_node VALUES ('1100', 'sequencing', '166'); -INSERT INTO cp_node VALUES ('1101', 'objective', '166'); -INSERT INTO cp_node VALUES ('1102', 'manifest', '167'); -INSERT INTO cp_node VALUES ('1103', 'organization', '167'); -INSERT INTO cp_node VALUES ('1104', 'item', '167'); -INSERT INTO cp_node VALUES ('1105', 'hideLMSUI', '167'); -INSERT INTO cp_node VALUES ('1106', 'item', '167'); -INSERT INTO cp_node VALUES ('1107', 'hideLMSUI', '167'); -INSERT INTO cp_node VALUES ('1108', 'item', '167'); -INSERT INTO cp_node VALUES ('1109', 'hideLMSUI', '167'); -INSERT INTO cp_node VALUES ('1110', 'item', '167'); -INSERT INTO cp_node VALUES ('1111', 'hideLMSUI', '167'); -INSERT INTO cp_node VALUES ('1112', 'resource', '167'); -INSERT INTO cp_node VALUES ('1113', 'file', '167'); -INSERT INTO cp_node VALUES ('1114', 'dependency', '167'); -INSERT INTO cp_node VALUES ('1115', 'dependency', '167'); -INSERT INTO cp_node VALUES ('1116', 'dependency', '167'); -INSERT INTO cp_node VALUES ('1117', 'dependency', '167'); -INSERT INTO cp_node VALUES ('1118', 'dependency', '167'); -INSERT INTO cp_node VALUES ('1119', 'resource', '167'); -INSERT INTO cp_node VALUES ('1120', 'file', '167'); -INSERT INTO cp_node VALUES ('1121', 'dependency', '167'); -INSERT INTO cp_node VALUES ('1122', 'dependency', '167'); -INSERT INTO cp_node VALUES ('1123', 'dependency', '167'); -INSERT INTO cp_node VALUES ('1124', 'dependency', '167'); -INSERT INTO cp_node VALUES ('1125', 'dependency', '167'); -INSERT INTO cp_node VALUES ('1126', 'resource', '167'); -INSERT INTO cp_node VALUES ('1127', 'file', '167'); -INSERT INTO cp_node VALUES ('1128', 'dependency', '167'); -INSERT INTO cp_node VALUES ('1129', 'dependency', '167'); -INSERT INTO cp_node VALUES ('1130', 'dependency', '167'); -INSERT INTO cp_node VALUES ('1131', 'dependency', '167'); -INSERT INTO cp_node VALUES ('1132', 'dependency', '167'); -INSERT INTO cp_node VALUES ('1133', 'resource', '167'); -INSERT INTO cp_node VALUES ('1134', 'file', '167'); -INSERT INTO cp_node VALUES ('1135', 'dependency', '167'); -INSERT INTO cp_node VALUES ('1136', 'dependency', '167'); -INSERT INTO cp_node VALUES ('1137', 'dependency', '167'); -INSERT INTO cp_node VALUES ('1138', 'dependency', '167'); -INSERT INTO cp_node VALUES ('1139', 'dependency', '167'); -INSERT INTO cp_node VALUES ('1140', 'resource', '167'); -INSERT INTO cp_node VALUES ('1141', 'file', '167'); -INSERT INTO cp_node VALUES ('1142', 'resource', '167'); -INSERT INTO cp_node VALUES ('1143', 'file', '167'); -INSERT INTO cp_node VALUES ('1144', 'resource', '167'); -INSERT INTO cp_node VALUES ('1145', 'file', '167'); -INSERT INTO cp_node VALUES ('1146', 'resource', '167'); -INSERT INTO cp_node VALUES ('1147', 'file', '167'); -INSERT INTO cp_node VALUES ('1148', 'dependency', '167'); -INSERT INTO cp_node VALUES ('1149', 'resource', '167'); -INSERT INTO cp_node VALUES ('1150', 'file', '167'); -INSERT INTO cp_node VALUES ('1151', 'resource', '167'); -INSERT INTO cp_node VALUES ('1152', 'file', '167'); -INSERT INTO cp_node VALUES ('1153', 'manifest', '168'); -INSERT INTO cp_node VALUES ('1154', 'organization', '168'); -INSERT INTO cp_node VALUES ('1155', 'item', '168'); -INSERT INTO cp_node VALUES ('1156', 'hideLMSUI', '168'); -INSERT INTO cp_node VALUES ('1157', 'hideLMSUI', '168'); -INSERT INTO cp_node VALUES ('1158', 'hideLMSUI', '168'); -INSERT INTO cp_node VALUES ('1159', 'item', '168'); -INSERT INTO cp_node VALUES ('1160', 'item', '168'); -INSERT INTO cp_node VALUES ('1161', 'hideLMSUI', '168'); -INSERT INTO cp_node VALUES ('1162', 'hideLMSUI', '168'); -INSERT INTO cp_node VALUES ('1163', 'hideLMSUI', '168'); -INSERT INTO cp_node VALUES ('1164', 'item', '168'); -INSERT INTO cp_node VALUES ('1165', 'hideLMSUI', '168'); -INSERT INTO cp_node VALUES ('1166', 'hideLMSUI', '168'); -INSERT INTO cp_node VALUES ('1167', 'hideLMSUI', '168'); -INSERT INTO cp_node VALUES ('1168', 'item', '168'); -INSERT INTO cp_node VALUES ('1169', 'hideLMSUI', '168'); -INSERT INTO cp_node VALUES ('1170', 'hideLMSUI', '168'); -INSERT INTO cp_node VALUES ('1171', 'hideLMSUI', '168'); -INSERT INTO cp_node VALUES ('1172', 'item', '168'); -INSERT INTO cp_node VALUES ('1173', 'hideLMSUI', '168'); -INSERT INTO cp_node VALUES ('1174', 'hideLMSUI', '168'); -INSERT INTO cp_node VALUES ('1175', 'hideLMSUI', '168'); -INSERT INTO cp_node VALUES ('1176', 'resource', '168'); -INSERT INTO cp_node VALUES ('1177', 'file', '168'); -INSERT INTO cp_node VALUES ('1178', 'dependency', '168'); -INSERT INTO cp_node VALUES ('1179', 'dependency', '168'); -INSERT INTO cp_node VALUES ('1180', 'dependency', '168'); -INSERT INTO cp_node VALUES ('1181', 'dependency', '168'); -INSERT INTO cp_node VALUES ('1182', 'dependency', '168'); -INSERT INTO cp_node VALUES ('1183', 'resource', '168'); -INSERT INTO cp_node VALUES ('1184', 'file', '168'); -INSERT INTO cp_node VALUES ('1185', 'resource', '168'); -INSERT INTO cp_node VALUES ('1186', 'file', '168'); -INSERT INTO cp_node VALUES ('1187', 'resource', '168'); -INSERT INTO cp_node VALUES ('1188', 'file', '168'); -INSERT INTO cp_node VALUES ('1189', 'resource', '168'); -INSERT INTO cp_node VALUES ('1190', 'file', '168'); -INSERT INTO cp_node VALUES ('1191', 'dependency', '168'); -INSERT INTO cp_node VALUES ('1192', 'resource', '168'); -INSERT INTO cp_node VALUES ('1193', 'file', '168'); -INSERT INTO cp_node VALUES ('1194', 'resource', '168'); -INSERT INTO cp_node VALUES ('1195', 'file', '168'); -INSERT INTO cp_node VALUES ('1196', 'sequencing', '168'); -INSERT INTO cp_node VALUES ('1197', 'sequencing', '168'); -INSERT INTO cp_node VALUES ('1198', 'rule', '168'); -INSERT INTO cp_node VALUES ('1199', 'condition', '168'); -INSERT INTO cp_node VALUES ('1200', 'sequencing', '168'); -INSERT INTO cp_node VALUES ('1201', 'manifest', '169'); -INSERT INTO cp_node VALUES ('1202', 'organization', '169'); -INSERT INTO cp_node VALUES ('1203', 'item', '169'); -INSERT INTO cp_node VALUES ('1204', 'hideLMSUI', '169'); -INSERT INTO cp_node VALUES ('1205', 'hideLMSUI', '169'); -INSERT INTO cp_node VALUES ('1206', 'hideLMSUI', '169'); -INSERT INTO cp_node VALUES ('1207', 'item', '169'); -INSERT INTO cp_node VALUES ('1208', 'item', '169'); -INSERT INTO cp_node VALUES ('1209', 'hideLMSUI', '169'); -INSERT INTO cp_node VALUES ('1210', 'hideLMSUI', '169'); -INSERT INTO cp_node VALUES ('1211', 'hideLMSUI', '169'); -INSERT INTO cp_node VALUES ('1212', 'item', '169'); -INSERT INTO cp_node VALUES ('1213', 'hideLMSUI', '169'); -INSERT INTO cp_node VALUES ('1214', 'hideLMSUI', '169'); -INSERT INTO cp_node VALUES ('1215', 'hideLMSUI', '169'); -INSERT INTO cp_node VALUES ('1216', 'item', '169'); -INSERT INTO cp_node VALUES ('1217', 'hideLMSUI', '169'); -INSERT INTO cp_node VALUES ('1218', 'hideLMSUI', '169'); -INSERT INTO cp_node VALUES ('1219', 'hideLMSUI', '169'); -INSERT INTO cp_node VALUES ('1220', 'item', '169'); -INSERT INTO cp_node VALUES ('1221', 'hideLMSUI', '169'); -INSERT INTO cp_node VALUES ('1222', 'hideLMSUI', '169'); -INSERT INTO cp_node VALUES ('1223', 'hideLMSUI', '169'); -INSERT INTO cp_node VALUES ('1224', 'resource', '169'); -INSERT INTO cp_node VALUES ('1225', 'file', '169'); -INSERT INTO cp_node VALUES ('1226', 'dependency', '169'); -INSERT INTO cp_node VALUES ('1227', 'dependency', '169'); -INSERT INTO cp_node VALUES ('1228', 'dependency', '169'); -INSERT INTO cp_node VALUES ('1229', 'dependency', '169'); -INSERT INTO cp_node VALUES ('1230', 'dependency', '169'); -INSERT INTO cp_node VALUES ('1231', 'resource', '169'); -INSERT INTO cp_node VALUES ('1232', 'file', '169'); -INSERT INTO cp_node VALUES ('1233', 'resource', '169'); -INSERT INTO cp_node VALUES ('1234', 'file', '169'); -INSERT INTO cp_node VALUES ('1235', 'resource', '169'); -INSERT INTO cp_node VALUES ('1236', 'file', '169'); -INSERT INTO cp_node VALUES ('1237', 'resource', '169'); -INSERT INTO cp_node VALUES ('1238', 'file', '169'); -INSERT INTO cp_node VALUES ('1239', 'dependency', '169'); -INSERT INTO cp_node VALUES ('1240', 'resource', '169'); -INSERT INTO cp_node VALUES ('1241', 'file', '169'); -INSERT INTO cp_node VALUES ('1242', 'resource', '169'); -INSERT INTO cp_node VALUES ('1243', 'file', '169'); -INSERT INTO cp_node VALUES ('1244', 'sequencing', '169'); -INSERT INTO cp_node VALUES ('1245', 'sequencing', '169'); -INSERT INTO cp_node VALUES ('1246', 'sequencing', '169'); -INSERT INTO cp_node VALUES ('1247', 'sequencing', '169'); -INSERT INTO cp_node VALUES ('1248', 'rule', '169'); -INSERT INTO cp_node VALUES ('1249', 'condition', '169'); -INSERT INTO cp_node VALUES ('1250', 'sequencing', '169'); -INSERT INTO cp_node VALUES ('1251', 'manifest', '170'); -INSERT INTO cp_node VALUES ('1252', 'organization', '170'); -INSERT INTO cp_node VALUES ('1253', 'item', '170'); -INSERT INTO cp_node VALUES ('1254', 'hideLMSUI', '170'); -INSERT INTO cp_node VALUES ('1255', 'hideLMSUI', '170'); -INSERT INTO cp_node VALUES ('1256', 'hideLMSUI', '170'); -INSERT INTO cp_node VALUES ('1257', 'item', '170'); -INSERT INTO cp_node VALUES ('1258', 'item', '170'); -INSERT INTO cp_node VALUES ('1259', 'hideLMSUI', '170'); -INSERT INTO cp_node VALUES ('1260', 'hideLMSUI', '170'); -INSERT INTO cp_node VALUES ('1261', 'hideLMSUI', '170'); -INSERT INTO cp_node VALUES ('1262', 'item', '170'); -INSERT INTO cp_node VALUES ('1263', 'hideLMSUI', '170'); -INSERT INTO cp_node VALUES ('1264', 'hideLMSUI', '170'); -INSERT INTO cp_node VALUES ('1265', 'hideLMSUI', '170'); -INSERT INTO cp_node VALUES ('1266', 'item', '170'); -INSERT INTO cp_node VALUES ('1267', 'hideLMSUI', '170'); -INSERT INTO cp_node VALUES ('1268', 'hideLMSUI', '170'); -INSERT INTO cp_node VALUES ('1269', 'hideLMSUI', '170'); -INSERT INTO cp_node VALUES ('1270', 'item', '170'); -INSERT INTO cp_node VALUES ('1271', 'hideLMSUI', '170'); -INSERT INTO cp_node VALUES ('1272', 'hideLMSUI', '170'); -INSERT INTO cp_node VALUES ('1273', 'hideLMSUI', '170'); -INSERT INTO cp_node VALUES ('1274', 'resource', '170'); -INSERT INTO cp_node VALUES ('1275', 'file', '170'); -INSERT INTO cp_node VALUES ('1276', 'dependency', '170'); -INSERT INTO cp_node VALUES ('1277', 'dependency', '170'); -INSERT INTO cp_node VALUES ('1278', 'dependency', '170'); -INSERT INTO cp_node VALUES ('1279', 'dependency', '170'); -INSERT INTO cp_node VALUES ('1280', 'dependency', '170'); -INSERT INTO cp_node VALUES ('1281', 'resource', '170'); -INSERT INTO cp_node VALUES ('1282', 'file', '170'); -INSERT INTO cp_node VALUES ('1283', 'resource', '170'); -INSERT INTO cp_node VALUES ('1284', 'file', '170'); -INSERT INTO cp_node VALUES ('1285', 'resource', '170'); -INSERT INTO cp_node VALUES ('1286', 'file', '170'); -INSERT INTO cp_node VALUES ('1287', 'resource', '170'); -INSERT INTO cp_node VALUES ('1288', 'file', '170'); -INSERT INTO cp_node VALUES ('1289', 'dependency', '170'); -INSERT INTO cp_node VALUES ('1290', 'resource', '170'); -INSERT INTO cp_node VALUES ('1291', 'file', '170'); -INSERT INTO cp_node VALUES ('1292', 'resource', '170'); -INSERT INTO cp_node VALUES ('1293', 'file', '170'); -INSERT INTO cp_node VALUES ('1294', 'sequencing', '170'); -INSERT INTO cp_node VALUES ('1295', 'sequencing', '170'); -INSERT INTO cp_node VALUES ('1296', 'sequencing', '170'); -INSERT INTO cp_node VALUES ('1297', 'sequencing', '170'); -INSERT INTO cp_node VALUES ('1298', 'rule', '170'); -INSERT INTO cp_node VALUES ('1299', 'condition', '170'); -INSERT INTO cp_node VALUES ('1300', 'sequencing', '170'); -INSERT INTO cp_node VALUES ('1301', 'manifest', '171'); -INSERT INTO cp_node VALUES ('1302', 'organization', '171'); -INSERT INTO cp_node VALUES ('1303', 'item', '171'); -INSERT INTO cp_node VALUES ('1304', 'item', '171'); -INSERT INTO cp_node VALUES ('1305', 'item', '171'); -INSERT INTO cp_node VALUES ('1306', 'item', '171'); -INSERT INTO cp_node VALUES ('1307', 'item', '171'); -INSERT INTO cp_node VALUES ('1308', 'item', '171'); -INSERT INTO cp_node VALUES ('1309', 'resource', '171'); -INSERT INTO cp_node VALUES ('1310', 'file', '171'); -INSERT INTO cp_node VALUES ('1311', 'dependency', '171'); -INSERT INTO cp_node VALUES ('1312', 'dependency', '171'); -INSERT INTO cp_node VALUES ('1313', 'dependency', '171'); -INSERT INTO cp_node VALUES ('1314', 'dependency', '171'); -INSERT INTO cp_node VALUES ('1315', 'dependency', '171'); -INSERT INTO cp_node VALUES ('1316', 'resource', '171'); -INSERT INTO cp_node VALUES ('1317', 'file', '171'); -INSERT INTO cp_node VALUES ('1318', 'resource', '171'); -INSERT INTO cp_node VALUES ('1319', 'file', '171'); -INSERT INTO cp_node VALUES ('1320', 'resource', '171'); -INSERT INTO cp_node VALUES ('1321', 'file', '171'); -INSERT INTO cp_node VALUES ('1322', 'resource', '171'); -INSERT INTO cp_node VALUES ('1323', 'file', '171'); -INSERT INTO cp_node VALUES ('1324', 'dependency', '171'); -INSERT INTO cp_node VALUES ('1325', 'resource', '171'); -INSERT INTO cp_node VALUES ('1326', 'file', '171'); -INSERT INTO cp_node VALUES ('1327', 'resource', '171'); -INSERT INTO cp_node VALUES ('1328', 'file', '171'); -INSERT INTO cp_node VALUES ('1329', 'sequencing', '171'); -INSERT INTO cp_node VALUES ('1330', 'sequencing', '171'); -INSERT INTO cp_node VALUES ('1331', 'sequencing', '171'); -INSERT INTO cp_node VALUES ('1332', 'rule', '171'); -INSERT INTO cp_node VALUES ('1333', 'condition', '171'); -INSERT INTO cp_node VALUES ('1334', 'sequencing', '171'); -INSERT INTO cp_node VALUES ('1335', 'manifest', '172'); -INSERT INTO cp_node VALUES ('1336', 'organization', '172'); -INSERT INTO cp_node VALUES ('1337', 'item', '172'); -INSERT INTO cp_node VALUES ('1338', 'item', '172'); -INSERT INTO cp_node VALUES ('1339', 'item', '172'); -INSERT INTO cp_node VALUES ('1340', 'item', '172'); -INSERT INTO cp_node VALUES ('1341', 'item', '172'); -INSERT INTO cp_node VALUES ('1342', 'item', '172'); -INSERT INTO cp_node VALUES ('1343', 'resource', '172'); -INSERT INTO cp_node VALUES ('1344', 'file', '172'); -INSERT INTO cp_node VALUES ('1345', 'dependency', '172'); -INSERT INTO cp_node VALUES ('1346', 'dependency', '172'); -INSERT INTO cp_node VALUES ('1347', 'dependency', '172'); -INSERT INTO cp_node VALUES ('1348', 'dependency', '172'); -INSERT INTO cp_node VALUES ('1349', 'dependency', '172'); -INSERT INTO cp_node VALUES ('1350', 'resource', '172'); -INSERT INTO cp_node VALUES ('1351', 'file', '172'); -INSERT INTO cp_node VALUES ('1352', 'resource', '172'); -INSERT INTO cp_node VALUES ('1353', 'file', '172'); -INSERT INTO cp_node VALUES ('1354', 'resource', '172'); -INSERT INTO cp_node VALUES ('1355', 'file', '172'); -INSERT INTO cp_node VALUES ('1356', 'resource', '172'); -INSERT INTO cp_node VALUES ('1357', 'file', '172'); -INSERT INTO cp_node VALUES ('1358', 'dependency', '172'); -INSERT INTO cp_node VALUES ('1359', 'resource', '172'); -INSERT INTO cp_node VALUES ('1360', 'file', '172'); -INSERT INTO cp_node VALUES ('1361', 'resource', '172'); -INSERT INTO cp_node VALUES ('1362', 'file', '172'); -INSERT INTO cp_node VALUES ('1363', 'sequencing', '172'); -INSERT INTO cp_node VALUES ('1364', 'sequencing', '172'); -INSERT INTO cp_node VALUES ('1365', 'rule', '172'); -INSERT INTO cp_node VALUES ('1366', 'condition', '172'); -INSERT INTO cp_node VALUES ('1367', 'rule', '172'); -INSERT INTO cp_node VALUES ('1368', 'condition', '172'); -INSERT INTO cp_node VALUES ('1369', 'objective', '172'); -INSERT INTO cp_node VALUES ('1370', 'sequencing', '172'); -INSERT INTO cp_node VALUES ('1371', 'manifest', '173'); -INSERT INTO cp_node VALUES ('1372', 'organization', '173'); -INSERT INTO cp_node VALUES ('1373', 'item', '173'); -INSERT INTO cp_node VALUES ('1374', 'hideLMSUI', '173'); -INSERT INTO cp_node VALUES ('1375', 'hideLMSUI', '173'); -INSERT INTO cp_node VALUES ('1376', 'hideLMSUI', '173'); -INSERT INTO cp_node VALUES ('1377', 'item', '173'); -INSERT INTO cp_node VALUES ('1378', 'item', '173'); -INSERT INTO cp_node VALUES ('1379', 'hideLMSUI', '173'); -INSERT INTO cp_node VALUES ('1380', 'hideLMSUI', '173'); -INSERT INTO cp_node VALUES ('1381', 'hideLMSUI', '173'); -INSERT INTO cp_node VALUES ('1382', 'item', '173'); -INSERT INTO cp_node VALUES ('1383', 'hideLMSUI', '173'); -INSERT INTO cp_node VALUES ('1384', 'hideLMSUI', '173'); -INSERT INTO cp_node VALUES ('1385', 'hideLMSUI', '173'); -INSERT INTO cp_node VALUES ('1386', 'item', '173'); -INSERT INTO cp_node VALUES ('1387', 'hideLMSUI', '173'); -INSERT INTO cp_node VALUES ('1388', 'hideLMSUI', '173'); -INSERT INTO cp_node VALUES ('1389', 'hideLMSUI', '173'); -INSERT INTO cp_node VALUES ('1390', 'item', '173'); -INSERT INTO cp_node VALUES ('1391', 'hideLMSUI', '173'); -INSERT INTO cp_node VALUES ('1392', 'hideLMSUI', '173'); -INSERT INTO cp_node VALUES ('1393', 'hideLMSUI', '173'); -INSERT INTO cp_node VALUES ('1394', 'resource', '173'); -INSERT INTO cp_node VALUES ('1395', 'file', '173'); -INSERT INTO cp_node VALUES ('1396', 'dependency', '173'); -INSERT INTO cp_node VALUES ('1397', 'dependency', '173'); -INSERT INTO cp_node VALUES ('1398', 'dependency', '173'); -INSERT INTO cp_node VALUES ('1399', 'dependency', '173'); -INSERT INTO cp_node VALUES ('1400', 'dependency', '173'); -INSERT INTO cp_node VALUES ('1401', 'resource', '173'); -INSERT INTO cp_node VALUES ('1402', 'file', '173'); -INSERT INTO cp_node VALUES ('1403', 'resource', '173'); -INSERT INTO cp_node VALUES ('1404', 'file', '173'); -INSERT INTO cp_node VALUES ('1405', 'resource', '173'); -INSERT INTO cp_node VALUES ('1406', 'file', '173'); -INSERT INTO cp_node VALUES ('1407', 'resource', '173'); -INSERT INTO cp_node VALUES ('1408', 'file', '173'); -INSERT INTO cp_node VALUES ('1409', 'dependency', '173'); -INSERT INTO cp_node VALUES ('1410', 'resource', '173'); -INSERT INTO cp_node VALUES ('1411', 'file', '173'); -INSERT INTO cp_node VALUES ('1412', 'resource', '173'); -INSERT INTO cp_node VALUES ('1413', 'file', '173'); -INSERT INTO cp_node VALUES ('1414', 'sequencing', '173'); -INSERT INTO cp_node VALUES ('1415', 'sequencing', '173'); -INSERT INTO cp_node VALUES ('1416', 'rule', '173'); -INSERT INTO cp_node VALUES ('1417', 'condition', '173'); -INSERT INTO cp_node VALUES ('1418', 'rule', '173'); -INSERT INTO cp_node VALUES ('1419', 'condition', '173'); -INSERT INTO cp_node VALUES ('1420', 'objective', '173'); -INSERT INTO cp_node VALUES ('1421', 'sequencing', '173'); -INSERT INTO cp_node VALUES ('1422', 'manifest', '174'); -INSERT INTO cp_node VALUES ('1423', 'organization', '174'); -INSERT INTO cp_node VALUES ('1424', 'item', '174'); -INSERT INTO cp_node VALUES ('1425', 'hideLMSUI', '174'); -INSERT INTO cp_node VALUES ('1426', 'hideLMSUI', '174'); -INSERT INTO cp_node VALUES ('1427', 'hideLMSUI', '174'); -INSERT INTO cp_node VALUES ('1428', 'item', '174'); -INSERT INTO cp_node VALUES ('1429', 'item', '174'); -INSERT INTO cp_node VALUES ('1430', 'hideLMSUI', '174'); -INSERT INTO cp_node VALUES ('1431', 'hideLMSUI', '174'); -INSERT INTO cp_node VALUES ('1432', 'hideLMSUI', '174'); -INSERT INTO cp_node VALUES ('1433', 'item', '174'); -INSERT INTO cp_node VALUES ('1434', 'hideLMSUI', '174'); -INSERT INTO cp_node VALUES ('1435', 'hideLMSUI', '174'); -INSERT INTO cp_node VALUES ('1436', 'hideLMSUI', '174'); -INSERT INTO cp_node VALUES ('1437', 'item', '174'); -INSERT INTO cp_node VALUES ('1438', 'hideLMSUI', '174'); -INSERT INTO cp_node VALUES ('1439', 'hideLMSUI', '174'); -INSERT INTO cp_node VALUES ('1440', 'hideLMSUI', '174'); -INSERT INTO cp_node VALUES ('1441', 'item', '174'); -INSERT INTO cp_node VALUES ('1442', 'hideLMSUI', '174'); -INSERT INTO cp_node VALUES ('1443', 'hideLMSUI', '174'); -INSERT INTO cp_node VALUES ('1444', 'hideLMSUI', '174'); -INSERT INTO cp_node VALUES ('1445', 'resource', '174'); -INSERT INTO cp_node VALUES ('1446', 'file', '174'); -INSERT INTO cp_node VALUES ('1447', 'dependency', '174'); -INSERT INTO cp_node VALUES ('1448', 'dependency', '174'); -INSERT INTO cp_node VALUES ('1449', 'dependency', '174'); -INSERT INTO cp_node VALUES ('1450', 'dependency', '174'); -INSERT INTO cp_node VALUES ('1451', 'dependency', '174'); -INSERT INTO cp_node VALUES ('1452', 'resource', '174'); -INSERT INTO cp_node VALUES ('1453', 'file', '174'); -INSERT INTO cp_node VALUES ('1454', 'resource', '174'); -INSERT INTO cp_node VALUES ('1455', 'file', '174'); -INSERT INTO cp_node VALUES ('1456', 'resource', '174'); -INSERT INTO cp_node VALUES ('1457', 'file', '174'); -INSERT INTO cp_node VALUES ('1458', 'resource', '174'); -INSERT INTO cp_node VALUES ('1459', 'file', '174'); -INSERT INTO cp_node VALUES ('1460', 'dependency', '174'); -INSERT INTO cp_node VALUES ('1461', 'resource', '174'); -INSERT INTO cp_node VALUES ('1462', 'file', '174'); -INSERT INTO cp_node VALUES ('1463', 'resource', '174'); -INSERT INTO cp_node VALUES ('1464', 'file', '174'); -INSERT INTO cp_node VALUES ('1465', 'sequencing', '174'); -INSERT INTO cp_node VALUES ('1466', 'sequencing', '174'); -INSERT INTO cp_node VALUES ('1467', 'rule', '174'); -INSERT INTO cp_node VALUES ('1468', 'condition', '174'); -INSERT INTO cp_node VALUES ('1469', 'rule', '174'); -INSERT INTO cp_node VALUES ('1470', 'condition', '174'); -INSERT INTO cp_node VALUES ('1471', 'rule', '174'); -INSERT INTO cp_node VALUES ('1472', 'condition', '174'); -INSERT INTO cp_node VALUES ('1473', 'objective', '174'); -INSERT INTO cp_node VALUES ('1474', 'sequencing', '174'); -INSERT INTO cp_node VALUES ('1475', 'manifest', '175'); -INSERT INTO cp_node VALUES ('1476', 'organization', '175'); -INSERT INTO cp_node VALUES ('1477', 'item', '175'); -INSERT INTO cp_node VALUES ('1478', 'hideLMSUI', '175'); -INSERT INTO cp_node VALUES ('1479', 'hideLMSUI', '175'); -INSERT INTO cp_node VALUES ('1480', 'hideLMSUI', '175'); -INSERT INTO cp_node VALUES ('1481', 'item', '175'); -INSERT INTO cp_node VALUES ('1482', 'hideLMSUI', '175'); -INSERT INTO cp_node VALUES ('1483', 'hideLMSUI', '175'); -INSERT INTO cp_node VALUES ('1484', 'hideLMSUI', '175'); -INSERT INTO cp_node VALUES ('1485', 'item', '175'); -INSERT INTO cp_node VALUES ('1486', 'hideLMSUI', '175'); -INSERT INTO cp_node VALUES ('1487', 'hideLMSUI', '175'); -INSERT INTO cp_node VALUES ('1488', 'hideLMSUI', '175'); -INSERT INTO cp_node VALUES ('1489', 'resource', '175'); -INSERT INTO cp_node VALUES ('1490', 'file', '175'); -INSERT INTO cp_node VALUES ('1491', 'dependency', '175'); -INSERT INTO cp_node VALUES ('1492', 'dependency', '175'); -INSERT INTO cp_node VALUES ('1493', 'dependency', '175'); -INSERT INTO cp_node VALUES ('1494', 'dependency', '175'); -INSERT INTO cp_node VALUES ('1495', 'dependency', '175'); -INSERT INTO cp_node VALUES ('1496', 'resource', '175'); -INSERT INTO cp_node VALUES ('1497', 'file', '175'); -INSERT INTO cp_node VALUES ('1498', 'resource', '175'); -INSERT INTO cp_node VALUES ('1499', 'file', '175'); -INSERT INTO cp_node VALUES ('1500', 'resource', '175'); -INSERT INTO cp_node VALUES ('1501', 'file', '175'); -INSERT INTO cp_node VALUES ('1502', 'resource', '175'); -INSERT INTO cp_node VALUES ('1503', 'file', '175'); -INSERT INTO cp_node VALUES ('1504', 'dependency', '175'); -INSERT INTO cp_node VALUES ('1505', 'resource', '175'); -INSERT INTO cp_node VALUES ('1506', 'file', '175'); -INSERT INTO cp_node VALUES ('1507', 'resource', '175'); -INSERT INTO cp_node VALUES ('1508', 'file', '175'); -INSERT INTO cp_node VALUES ('1509', 'sequencing', '175'); -INSERT INTO cp_node VALUES ('1510', 'objective', '175'); -INSERT INTO cp_node VALUES ('1511', 'mapInfo', '175'); -INSERT INTO cp_node VALUES ('1512', 'sequencing', '175'); -INSERT INTO cp_node VALUES ('1513', 'rule', '175'); -INSERT INTO cp_node VALUES ('1514', 'condition', '175'); -INSERT INTO cp_node VALUES ('1515', 'objective', '175'); -INSERT INTO cp_node VALUES ('1516', 'mapInfo', '175'); -INSERT INTO cp_node VALUES ('1517', 'sequencing', '175'); -INSERT INTO cp_node VALUES ('1518', 'manifest', '176'); -INSERT INTO cp_node VALUES ('1519', 'organization', '176'); -INSERT INTO cp_node VALUES ('1520', 'item', '176'); -INSERT INTO cp_node VALUES ('1521', 'hideLMSUI', '176'); -INSERT INTO cp_node VALUES ('1522', 'hideLMSUI', '176'); -INSERT INTO cp_node VALUES ('1523', 'hideLMSUI', '176'); -INSERT INTO cp_node VALUES ('1524', 'item', '176'); -INSERT INTO cp_node VALUES ('1525', 'hideLMSUI', '176'); -INSERT INTO cp_node VALUES ('1526', 'hideLMSUI', '176'); -INSERT INTO cp_node VALUES ('1527', 'hideLMSUI', '176'); -INSERT INTO cp_node VALUES ('1528', 'item', '176'); -INSERT INTO cp_node VALUES ('1529', 'hideLMSUI', '176'); -INSERT INTO cp_node VALUES ('1530', 'hideLMSUI', '176'); -INSERT INTO cp_node VALUES ('1531', 'hideLMSUI', '176'); -INSERT INTO cp_node VALUES ('1532', 'resource', '176'); -INSERT INTO cp_node VALUES ('1533', 'file', '176'); -INSERT INTO cp_node VALUES ('1534', 'dependency', '176'); -INSERT INTO cp_node VALUES ('1535', 'dependency', '176'); -INSERT INTO cp_node VALUES ('1536', 'dependency', '176'); -INSERT INTO cp_node VALUES ('1537', 'dependency', '176'); -INSERT INTO cp_node VALUES ('1538', 'dependency', '176'); -INSERT INTO cp_node VALUES ('1539', 'resource', '176'); -INSERT INTO cp_node VALUES ('1540', 'file', '176'); -INSERT INTO cp_node VALUES ('1541', 'resource', '176'); -INSERT INTO cp_node VALUES ('1542', 'file', '176'); -INSERT INTO cp_node VALUES ('1543', 'resource', '176'); -INSERT INTO cp_node VALUES ('1544', 'file', '176'); -INSERT INTO cp_node VALUES ('1545', 'resource', '176'); -INSERT INTO cp_node VALUES ('1546', 'file', '176'); -INSERT INTO cp_node VALUES ('1547', 'dependency', '176'); -INSERT INTO cp_node VALUES ('1548', 'resource', '176'); -INSERT INTO cp_node VALUES ('1549', 'file', '176'); -INSERT INTO cp_node VALUES ('1550', 'resource', '176'); -INSERT INTO cp_node VALUES ('1551', 'file', '176'); -INSERT INTO cp_node VALUES ('1552', 'sequencing', '176'); -INSERT INTO cp_node VALUES ('1553', 'objective', '176'); -INSERT INTO cp_node VALUES ('1554', 'mapInfo', '176'); -INSERT INTO cp_node VALUES ('1555', 'sequencing', '176'); -INSERT INTO cp_node VALUES ('1556', 'rule', '176'); -INSERT INTO cp_node VALUES ('1557', 'condition', '176'); -INSERT INTO cp_node VALUES ('1558', 'objective', '176'); -INSERT INTO cp_node VALUES ('1559', 'mapInfo', '176'); -INSERT INTO cp_node VALUES ('1560', 'sequencing', '176'); -INSERT INTO cp_node VALUES ('1561', 'manifest', '177'); -INSERT INTO cp_node VALUES ('1562', 'organization', '177'); -INSERT INTO cp_node VALUES ('1563', 'item', '177'); -INSERT INTO cp_node VALUES ('1564', 'hideLMSUI', '177'); -INSERT INTO cp_node VALUES ('1565', 'hideLMSUI', '177'); -INSERT INTO cp_node VALUES ('1566', 'hideLMSUI', '177'); -INSERT INTO cp_node VALUES ('1567', 'item', '177'); -INSERT INTO cp_node VALUES ('1568', 'hideLMSUI', '177'); -INSERT INTO cp_node VALUES ('1569', 'hideLMSUI', '177'); -INSERT INTO cp_node VALUES ('1570', 'hideLMSUI', '177'); -INSERT INTO cp_node VALUES ('1571', 'item', '177'); -INSERT INTO cp_node VALUES ('1572', 'hideLMSUI', '177'); -INSERT INTO cp_node VALUES ('1573', 'hideLMSUI', '177'); -INSERT INTO cp_node VALUES ('1574', 'hideLMSUI', '177'); -INSERT INTO cp_node VALUES ('1575', 'resource', '177'); -INSERT INTO cp_node VALUES ('1576', 'file', '177'); -INSERT INTO cp_node VALUES ('1577', 'dependency', '177'); -INSERT INTO cp_node VALUES ('1578', 'dependency', '177'); -INSERT INTO cp_node VALUES ('1579', 'dependency', '177'); -INSERT INTO cp_node VALUES ('1580', 'dependency', '177'); -INSERT INTO cp_node VALUES ('1581', 'dependency', '177'); -INSERT INTO cp_node VALUES ('1582', 'resource', '177'); -INSERT INTO cp_node VALUES ('1583', 'file', '177'); -INSERT INTO cp_node VALUES ('1584', 'resource', '177'); -INSERT INTO cp_node VALUES ('1585', 'file', '177'); -INSERT INTO cp_node VALUES ('1586', 'resource', '177'); -INSERT INTO cp_node VALUES ('1587', 'file', '177'); -INSERT INTO cp_node VALUES ('1588', 'resource', '177'); -INSERT INTO cp_node VALUES ('1589', 'file', '177'); -INSERT INTO cp_node VALUES ('1590', 'dependency', '177'); -INSERT INTO cp_node VALUES ('1591', 'resource', '177'); -INSERT INTO cp_node VALUES ('1592', 'file', '177'); -INSERT INTO cp_node VALUES ('1593', 'resource', '177'); -INSERT INTO cp_node VALUES ('1594', 'file', '177'); -INSERT INTO cp_node VALUES ('1595', 'sequencing', '177'); -INSERT INTO cp_node VALUES ('1596', 'objective', '177'); -INSERT INTO cp_node VALUES ('1597', 'mapInfo', '177'); -INSERT INTO cp_node VALUES ('1598', 'sequencing', '177'); -INSERT INTO cp_node VALUES ('1599', 'rule', '177'); -INSERT INTO cp_node VALUES ('1600', 'condition', '177'); -INSERT INTO cp_node VALUES ('1601', 'objective', '177'); -INSERT INTO cp_node VALUES ('1602', 'mapInfo', '177'); -INSERT INTO cp_node VALUES ('1603', 'sequencing', '177'); -INSERT INTO cp_node VALUES ('1604', 'manifest', '178'); -INSERT INTO cp_node VALUES ('1605', 'organization', '178'); -INSERT INTO cp_node VALUES ('1606', 'item', '178'); -INSERT INTO cp_node VALUES ('1607', 'hideLMSUI', '178'); -INSERT INTO cp_node VALUES ('1608', 'hideLMSUI', '178'); -INSERT INTO cp_node VALUES ('1609', 'hideLMSUI', '178'); -INSERT INTO cp_node VALUES ('1610', 'item', '178'); -INSERT INTO cp_node VALUES ('1611', 'hideLMSUI', '178'); -INSERT INTO cp_node VALUES ('1612', 'hideLMSUI', '178'); -INSERT INTO cp_node VALUES ('1613', 'hideLMSUI', '178'); -INSERT INTO cp_node VALUES ('1614', 'item', '178'); -INSERT INTO cp_node VALUES ('1615', 'hideLMSUI', '178'); -INSERT INTO cp_node VALUES ('1616', 'hideLMSUI', '178'); -INSERT INTO cp_node VALUES ('1617', 'hideLMSUI', '178'); -INSERT INTO cp_node VALUES ('1618', 'resource', '178'); -INSERT INTO cp_node VALUES ('1619', 'file', '178'); -INSERT INTO cp_node VALUES ('1620', 'dependency', '178'); -INSERT INTO cp_node VALUES ('1621', 'dependency', '178'); -INSERT INTO cp_node VALUES ('1622', 'dependency', '178'); -INSERT INTO cp_node VALUES ('1623', 'dependency', '178'); -INSERT INTO cp_node VALUES ('1624', 'dependency', '178'); -INSERT INTO cp_node VALUES ('1625', 'resource', '178'); -INSERT INTO cp_node VALUES ('1626', 'file', '178'); -INSERT INTO cp_node VALUES ('1627', 'resource', '178'); -INSERT INTO cp_node VALUES ('1628', 'file', '178'); -INSERT INTO cp_node VALUES ('1629', 'resource', '178'); -INSERT INTO cp_node VALUES ('1630', 'file', '178'); -INSERT INTO cp_node VALUES ('1631', 'resource', '178'); -INSERT INTO cp_node VALUES ('1632', 'file', '178'); -INSERT INTO cp_node VALUES ('1633', 'dependency', '178'); -INSERT INTO cp_node VALUES ('1634', 'resource', '178'); -INSERT INTO cp_node VALUES ('1635', 'file', '178'); -INSERT INTO cp_node VALUES ('1636', 'resource', '178'); -INSERT INTO cp_node VALUES ('1637', 'file', '178'); -INSERT INTO cp_node VALUES ('1638', 'sequencing', '178'); -INSERT INTO cp_node VALUES ('1639', 'objective', '178'); -INSERT INTO cp_node VALUES ('1640', 'objective', '178'); -INSERT INTO cp_node VALUES ('1641', 'mapInfo', '178'); -INSERT INTO cp_node VALUES ('1642', 'sequencing', '178'); -INSERT INTO cp_node VALUES ('1643', 'rule', '178'); -INSERT INTO cp_node VALUES ('1644', 'condition', '178'); -INSERT INTO cp_node VALUES ('1645', 'objective', '178'); -INSERT INTO cp_node VALUES ('1646', 'objective', '178'); -INSERT INTO cp_node VALUES ('1647', 'mapInfo', '178'); -INSERT INTO cp_node VALUES ('1648', 'sequencing', '178'); -INSERT INTO cp_node VALUES ('1649', 'manifest', '179'); -INSERT INTO cp_node VALUES ('1650', 'organization', '179'); -INSERT INTO cp_node VALUES ('1651', 'item', '179'); -INSERT INTO cp_node VALUES ('1652', 'item', '179'); -INSERT INTO cp_node VALUES ('1653', 'item', '179'); -INSERT INTO cp_node VALUES ('1654', 'resource', '179'); -INSERT INTO cp_node VALUES ('1655', 'file', '179'); -INSERT INTO cp_node VALUES ('1656', 'dependency', '179'); -INSERT INTO cp_node VALUES ('1657', 'dependency', '179'); -INSERT INTO cp_node VALUES ('1658', 'dependency', '179'); -INSERT INTO cp_node VALUES ('1659', 'dependency', '179'); -INSERT INTO cp_node VALUES ('1660', 'dependency', '179'); -INSERT INTO cp_node VALUES ('1661', 'resource', '179'); -INSERT INTO cp_node VALUES ('1662', 'file', '179'); -INSERT INTO cp_node VALUES ('1663', 'resource', '179'); -INSERT INTO cp_node VALUES ('1664', 'file', '179'); -INSERT INTO cp_node VALUES ('1665', 'resource', '179'); -INSERT INTO cp_node VALUES ('1666', 'file', '179'); -INSERT INTO cp_node VALUES ('1667', 'resource', '179'); -INSERT INTO cp_node VALUES ('1668', 'file', '179'); -INSERT INTO cp_node VALUES ('1669', 'dependency', '179'); -INSERT INTO cp_node VALUES ('1670', 'resource', '179'); -INSERT INTO cp_node VALUES ('1671', 'file', '179'); -INSERT INTO cp_node VALUES ('1672', 'resource', '179'); -INSERT INTO cp_node VALUES ('1673', 'file', '179'); -INSERT INTO cp_node VALUES ('1674', 'sequencing', '179'); -INSERT INTO cp_node VALUES ('1675', 'objective', '179'); -INSERT INTO cp_node VALUES ('1676', 'objective', '179'); -INSERT INTO cp_node VALUES ('1677', 'mapInfo', '179'); -INSERT INTO cp_node VALUES ('1678', 'sequencing', '179'); -INSERT INTO cp_node VALUES ('1679', 'rule', '179'); -INSERT INTO cp_node VALUES ('1680', 'condition', '179'); -INSERT INTO cp_node VALUES ('1681', 'objective', '179'); -INSERT INTO cp_node VALUES ('1682', 'objective', '179'); -INSERT INTO cp_node VALUES ('1683', 'mapInfo', '179'); -INSERT INTO cp_node VALUES ('1684', 'sequencing', '179'); -INSERT INTO cp_node VALUES ('1685', 'manifest', '180'); -INSERT INTO cp_node VALUES ('1686', 'organization', '180'); -INSERT INTO cp_node VALUES ('1687', 'item', '180'); -INSERT INTO cp_node VALUES ('1688', 'hideLMSUI', '180'); -INSERT INTO cp_node VALUES ('1689', 'hideLMSUI', '180'); -INSERT INTO cp_node VALUES ('1690', 'hideLMSUI', '180'); -INSERT INTO cp_node VALUES ('1691', 'item', '180'); -INSERT INTO cp_node VALUES ('1692', 'hideLMSUI', '180'); -INSERT INTO cp_node VALUES ('1693', 'hideLMSUI', '180'); -INSERT INTO cp_node VALUES ('1694', 'hideLMSUI', '180'); -INSERT INTO cp_node VALUES ('1695', 'item', '180'); -INSERT INTO cp_node VALUES ('1696', 'hideLMSUI', '180'); -INSERT INTO cp_node VALUES ('1697', 'hideLMSUI', '180'); -INSERT INTO cp_node VALUES ('1698', 'hideLMSUI', '180'); -INSERT INTO cp_node VALUES ('1699', 'resource', '180'); -INSERT INTO cp_node VALUES ('1700', 'file', '180'); -INSERT INTO cp_node VALUES ('1701', 'dependency', '180'); -INSERT INTO cp_node VALUES ('1702', 'dependency', '180'); -INSERT INTO cp_node VALUES ('1703', 'dependency', '180'); -INSERT INTO cp_node VALUES ('1704', 'dependency', '180'); -INSERT INTO cp_node VALUES ('1705', 'dependency', '180'); -INSERT INTO cp_node VALUES ('1706', 'resource', '180'); -INSERT INTO cp_node VALUES ('1707', 'file', '180'); -INSERT INTO cp_node VALUES ('1708', 'resource', '180'); -INSERT INTO cp_node VALUES ('1709', 'file', '180'); -INSERT INTO cp_node VALUES ('1710', 'resource', '180'); -INSERT INTO cp_node VALUES ('1711', 'file', '180'); -INSERT INTO cp_node VALUES ('1712', 'resource', '180'); -INSERT INTO cp_node VALUES ('1713', 'file', '180'); -INSERT INTO cp_node VALUES ('1714', 'dependency', '180'); -INSERT INTO cp_node VALUES ('1715', 'resource', '180'); -INSERT INTO cp_node VALUES ('1716', 'file', '180'); -INSERT INTO cp_node VALUES ('1717', 'resource', '180'); -INSERT INTO cp_node VALUES ('1718', 'file', '180'); -INSERT INTO cp_node VALUES ('1719', 'sequencing', '180'); -INSERT INTO cp_node VALUES ('1720', 'objective', '180'); -INSERT INTO cp_node VALUES ('1721', 'objective', '180'); -INSERT INTO cp_node VALUES ('1722', 'mapInfo', '180'); -INSERT INTO cp_node VALUES ('1723', 'sequencing', '180'); -INSERT INTO cp_node VALUES ('1724', 'objective', '180'); -INSERT INTO cp_node VALUES ('1725', 'objective', '180'); -INSERT INTO cp_node VALUES ('1726', 'mapInfo', '180'); -INSERT INTO cp_node VALUES ('1727', 'sequencing', '180'); -INSERT INTO cp_node VALUES ('1728', 'objective', '180'); -INSERT INTO cp_node VALUES ('1729', 'objective', '180'); -INSERT INTO cp_node VALUES ('1730', 'mapInfo', '180'); -INSERT INTO cp_node VALUES ('1731', 'sequencing', '180'); -INSERT INTO cp_node VALUES ('1732', 'manifest', '181'); -INSERT INTO cp_node VALUES ('1733', 'organization', '181'); -INSERT INTO cp_node VALUES ('1734', 'item', '181'); -INSERT INTO cp_node VALUES ('1735', 'hideLMSUI', '181'); -INSERT INTO cp_node VALUES ('1736', 'hideLMSUI', '181'); -INSERT INTO cp_node VALUES ('1737', 'hideLMSUI', '181'); -INSERT INTO cp_node VALUES ('1738', 'item', '181'); -INSERT INTO cp_node VALUES ('1739', 'item', '181'); -INSERT INTO cp_node VALUES ('1740', 'item', '181'); -INSERT INTO cp_node VALUES ('1741', 'hideLMSUI', '181'); -INSERT INTO cp_node VALUES ('1742', 'hideLMSUI', '181'); -INSERT INTO cp_node VALUES ('1743', 'hideLMSUI', '181'); -INSERT INTO cp_node VALUES ('1744', 'item', '181'); -INSERT INTO cp_node VALUES ('1745', 'hideLMSUI', '181'); -INSERT INTO cp_node VALUES ('1746', 'hideLMSUI', '181'); -INSERT INTO cp_node VALUES ('1747', 'hideLMSUI', '181'); -INSERT INTO cp_node VALUES ('1748', 'item', '181'); -INSERT INTO cp_node VALUES ('1749', 'hideLMSUI', '181'); -INSERT INTO cp_node VALUES ('1750', 'hideLMSUI', '181'); -INSERT INTO cp_node VALUES ('1751', 'hideLMSUI', '181'); -INSERT INTO cp_node VALUES ('1752', 'item', '181'); -INSERT INTO cp_node VALUES ('1753', 'hideLMSUI', '181'); -INSERT INTO cp_node VALUES ('1754', 'hideLMSUI', '181'); -INSERT INTO cp_node VALUES ('1755', 'hideLMSUI', '181'); -INSERT INTO cp_node VALUES ('1756', 'item', '181'); -INSERT INTO cp_node VALUES ('1757', 'hideLMSUI', '181'); -INSERT INTO cp_node VALUES ('1758', 'hideLMSUI', '181'); -INSERT INTO cp_node VALUES ('1759', 'hideLMSUI', '181'); -INSERT INTO cp_node VALUES ('1760', 'item', '181'); -INSERT INTO cp_node VALUES ('1761', 'hideLMSUI', '181'); -INSERT INTO cp_node VALUES ('1762', 'hideLMSUI', '181'); -INSERT INTO cp_node VALUES ('1763', 'hideLMSUI', '181'); -INSERT INTO cp_node VALUES ('1764', 'resource', '181'); -INSERT INTO cp_node VALUES ('1765', 'file', '181'); -INSERT INTO cp_node VALUES ('1766', 'dependency', '181'); -INSERT INTO cp_node VALUES ('1767', 'dependency', '181'); -INSERT INTO cp_node VALUES ('1768', 'dependency', '181'); -INSERT INTO cp_node VALUES ('1769', 'dependency', '181'); -INSERT INTO cp_node VALUES ('1770', 'dependency', '181'); -INSERT INTO cp_node VALUES ('1771', 'resource', '181'); -INSERT INTO cp_node VALUES ('1772', 'file', '181'); -INSERT INTO cp_node VALUES ('1773', 'resource', '181'); -INSERT INTO cp_node VALUES ('1774', 'file', '181'); -INSERT INTO cp_node VALUES ('1775', 'resource', '181'); -INSERT INTO cp_node VALUES ('1776', 'file', '181'); -INSERT INTO cp_node VALUES ('1777', 'resource', '181'); -INSERT INTO cp_node VALUES ('1778', 'file', '181'); -INSERT INTO cp_node VALUES ('1779', 'dependency', '181'); -INSERT INTO cp_node VALUES ('1780', 'resource', '181'); -INSERT INTO cp_node VALUES ('1781', 'file', '181'); -INSERT INTO cp_node VALUES ('1782', 'resource', '181'); -INSERT INTO cp_node VALUES ('1783', 'file', '181'); -INSERT INTO cp_node VALUES ('1784', 'sequencing', '181'); -INSERT INTO cp_node VALUES ('1785', 'rule', '181'); -INSERT INTO cp_node VALUES ('1786', 'condition', '181'); -INSERT INTO cp_node VALUES ('1787', 'objective', '181'); -INSERT INTO cp_node VALUES ('1788', 'mapInfo', '181'); -INSERT INTO cp_node VALUES ('1789', 'sequencing', '181'); -INSERT INTO cp_node VALUES ('1790', 'rule', '181'); -INSERT INTO cp_node VALUES ('1791', 'condition', '181'); -INSERT INTO cp_node VALUES ('1792', 'objective', '181'); -INSERT INTO cp_node VALUES ('1793', 'mapInfo', '181'); -INSERT INTO cp_node VALUES ('1794', 'sequencing', '181'); -INSERT INTO cp_node VALUES ('1795', 'rule', '181'); -INSERT INTO cp_node VALUES ('1796', 'condition', '181'); -INSERT INTO cp_node VALUES ('1797', 'objective', '181'); -INSERT INTO cp_node VALUES ('1798', 'mapInfo', '181'); -INSERT INTO cp_node VALUES ('1799', 'sequencing', '181'); -INSERT INTO cp_node VALUES ('1800', 'rule', '181'); -INSERT INTO cp_node VALUES ('1801', 'condition', '181'); -INSERT INTO cp_node VALUES ('1802', 'objective', '181'); -INSERT INTO cp_node VALUES ('1803', 'mapInfo', '181'); -INSERT INTO cp_node VALUES ('1804', 'sequencing', '181'); -INSERT INTO cp_node VALUES ('1805', 'rule', '181'); -INSERT INTO cp_node VALUES ('1806', 'condition', '181'); -INSERT INTO cp_node VALUES ('1807', 'objective', '181'); -INSERT INTO cp_node VALUES ('1808', 'mapInfo', '181'); -INSERT INTO cp_node VALUES ('1809', 'sequencing', '181'); -INSERT INTO cp_node VALUES ('1810', 'sequencing', '181'); -INSERT INTO cp_node VALUES ('1811', 'manifest', '182'); -INSERT INTO cp_node VALUES ('1812', 'organization', '182'); -INSERT INTO cp_node VALUES ('1813', 'item', '182'); -INSERT INTO cp_node VALUES ('1814', 'hideLMSUI', '182'); -INSERT INTO cp_node VALUES ('1815', 'hideLMSUI', '182'); -INSERT INTO cp_node VALUES ('1816', 'hideLMSUI', '182'); -INSERT INTO cp_node VALUES ('1817', 'item', '182'); -INSERT INTO cp_node VALUES ('1818', 'item', '182'); -INSERT INTO cp_node VALUES ('1819', 'item', '182'); -INSERT INTO cp_node VALUES ('1820', 'hideLMSUI', '182'); -INSERT INTO cp_node VALUES ('1821', 'hideLMSUI', '182'); -INSERT INTO cp_node VALUES ('1822', 'hideLMSUI', '182'); -INSERT INTO cp_node VALUES ('1823', 'item', '182'); -INSERT INTO cp_node VALUES ('1824', 'hideLMSUI', '182'); -INSERT INTO cp_node VALUES ('1825', 'hideLMSUI', '182'); -INSERT INTO cp_node VALUES ('1826', 'hideLMSUI', '182'); -INSERT INTO cp_node VALUES ('1827', 'item', '182'); -INSERT INTO cp_node VALUES ('1828', 'hideLMSUI', '182'); -INSERT INTO cp_node VALUES ('1829', 'hideLMSUI', '182'); -INSERT INTO cp_node VALUES ('1830', 'hideLMSUI', '182'); -INSERT INTO cp_node VALUES ('1831', 'item', '182'); -INSERT INTO cp_node VALUES ('1832', 'hideLMSUI', '182'); -INSERT INTO cp_node VALUES ('1833', 'hideLMSUI', '182'); -INSERT INTO cp_node VALUES ('1834', 'hideLMSUI', '182'); -INSERT INTO cp_node VALUES ('1835', 'item', '182'); -INSERT INTO cp_node VALUES ('1836', 'hideLMSUI', '182'); -INSERT INTO cp_node VALUES ('1837', 'hideLMSUI', '182'); -INSERT INTO cp_node VALUES ('1838', 'hideLMSUI', '182'); -INSERT INTO cp_node VALUES ('1839', 'item', '182'); -INSERT INTO cp_node VALUES ('1840', 'hideLMSUI', '182'); -INSERT INTO cp_node VALUES ('1841', 'hideLMSUI', '182'); -INSERT INTO cp_node VALUES ('1842', 'hideLMSUI', '182'); -INSERT INTO cp_node VALUES ('1843', 'resource', '182'); -INSERT INTO cp_node VALUES ('1844', 'file', '182'); -INSERT INTO cp_node VALUES ('1845', 'dependency', '182'); -INSERT INTO cp_node VALUES ('1846', 'dependency', '182'); -INSERT INTO cp_node VALUES ('1847', 'dependency', '182'); -INSERT INTO cp_node VALUES ('1848', 'dependency', '182'); -INSERT INTO cp_node VALUES ('1849', 'dependency', '182'); -INSERT INTO cp_node VALUES ('1850', 'resource', '182'); -INSERT INTO cp_node VALUES ('1851', 'file', '182'); -INSERT INTO cp_node VALUES ('1852', 'resource', '182'); -INSERT INTO cp_node VALUES ('1853', 'file', '182'); -INSERT INTO cp_node VALUES ('1854', 'resource', '182'); -INSERT INTO cp_node VALUES ('1855', 'file', '182'); -INSERT INTO cp_node VALUES ('1856', 'resource', '182'); -INSERT INTO cp_node VALUES ('1857', 'file', '182'); -INSERT INTO cp_node VALUES ('1858', 'dependency', '182'); -INSERT INTO cp_node VALUES ('1859', 'resource', '182'); -INSERT INTO cp_node VALUES ('1860', 'file', '182'); -INSERT INTO cp_node VALUES ('1861', 'resource', '182'); -INSERT INTO cp_node VALUES ('1862', 'file', '182'); -INSERT INTO cp_node VALUES ('1863', 'sequencing', '182'); -INSERT INTO cp_node VALUES ('1864', 'rule', '182'); -INSERT INTO cp_node VALUES ('1865', 'condition', '182'); -INSERT INTO cp_node VALUES ('1866', 'objective', '182'); -INSERT INTO cp_node VALUES ('1867', 'mapInfo', '182'); -INSERT INTO cp_node VALUES ('1868', 'sequencing', '182'); -INSERT INTO cp_node VALUES ('1869', 'rule', '182'); -INSERT INTO cp_node VALUES ('1870', 'condition', '182'); -INSERT INTO cp_node VALUES ('1871', 'objective', '182'); -INSERT INTO cp_node VALUES ('1872', 'mapInfo', '182'); -INSERT INTO cp_node VALUES ('1873', 'sequencing', '182'); -INSERT INTO cp_node VALUES ('1874', 'rule', '182'); -INSERT INTO cp_node VALUES ('1875', 'condition', '182'); -INSERT INTO cp_node VALUES ('1876', 'objective', '182'); -INSERT INTO cp_node VALUES ('1877', 'mapInfo', '182'); -INSERT INTO cp_node VALUES ('1878', 'sequencing', '182'); -INSERT INTO cp_node VALUES ('1879', 'rule', '182'); -INSERT INTO cp_node VALUES ('1880', 'condition', '182'); -INSERT INTO cp_node VALUES ('1881', 'objective', '182'); -INSERT INTO cp_node VALUES ('1882', 'mapInfo', '182'); -INSERT INTO cp_node VALUES ('1883', 'sequencing', '182'); -INSERT INTO cp_node VALUES ('1884', 'rule', '182'); -INSERT INTO cp_node VALUES ('1885', 'condition', '182'); -INSERT INTO cp_node VALUES ('1886', 'condition', '182'); -INSERT INTO cp_node VALUES ('1887', 'objective', '182'); -INSERT INTO cp_node VALUES ('1888', 'mapInfo', '182'); -INSERT INTO cp_node VALUES ('1889', 'objective', '182'); -INSERT INTO cp_node VALUES ('1890', 'mapInfo', '182'); -INSERT INTO cp_node VALUES ('1891', 'sequencing', '182'); -INSERT INTO cp_node VALUES ('1892', 'sequencing', '182'); -INSERT INTO cp_node VALUES ('1893', 'manifest', '183'); -INSERT INTO cp_node VALUES ('1894', 'organization', '183'); -INSERT INTO cp_node VALUES ('1895', 'item', '183'); -INSERT INTO cp_node VALUES ('1896', 'hideLMSUI', '183'); -INSERT INTO cp_node VALUES ('1897', 'hideLMSUI', '183'); -INSERT INTO cp_node VALUES ('1898', 'hideLMSUI', '183'); -INSERT INTO cp_node VALUES ('1899', 'item', '183'); -INSERT INTO cp_node VALUES ('1900', 'hideLMSUI', '183'); -INSERT INTO cp_node VALUES ('1901', 'hideLMSUI', '183'); -INSERT INTO cp_node VALUES ('1902', 'hideLMSUI', '183'); -INSERT INTO cp_node VALUES ('1903', 'item', '183'); -INSERT INTO cp_node VALUES ('1904', 'item', '183'); -INSERT INTO cp_node VALUES ('1905', 'hideLMSUI', '183'); -INSERT INTO cp_node VALUES ('1906', 'hideLMSUI', '183'); -INSERT INTO cp_node VALUES ('1907', 'hideLMSUI', '183'); -INSERT INTO cp_node VALUES ('1908', 'item', '183'); -INSERT INTO cp_node VALUES ('1909', 'hideLMSUI', '183'); -INSERT INTO cp_node VALUES ('1910', 'hideLMSUI', '183'); -INSERT INTO cp_node VALUES ('1911', 'hideLMSUI', '183'); -INSERT INTO cp_node VALUES ('1912', 'item', '183'); -INSERT INTO cp_node VALUES ('1913', 'hideLMSUI', '183'); -INSERT INTO cp_node VALUES ('1914', 'hideLMSUI', '183'); -INSERT INTO cp_node VALUES ('1915', 'hideLMSUI', '183'); -INSERT INTO cp_node VALUES ('1916', 'item', '183'); -INSERT INTO cp_node VALUES ('1917', 'hideLMSUI', '183'); -INSERT INTO cp_node VALUES ('1918', 'hideLMSUI', '183'); -INSERT INTO cp_node VALUES ('1919', 'hideLMSUI', '183'); -INSERT INTO cp_node VALUES ('1920', 'resource', '183'); -INSERT INTO cp_node VALUES ('1921', 'file', '183'); -INSERT INTO cp_node VALUES ('1922', 'dependency', '183'); -INSERT INTO cp_node VALUES ('1923', 'dependency', '183'); -INSERT INTO cp_node VALUES ('1924', 'dependency', '183'); -INSERT INTO cp_node VALUES ('1925', 'dependency', '183'); -INSERT INTO cp_node VALUES ('1926', 'dependency', '183'); -INSERT INTO cp_node VALUES ('1927', 'resource', '183'); -INSERT INTO cp_node VALUES ('1928', 'file', '183'); -INSERT INTO cp_node VALUES ('1929', 'resource', '183'); -INSERT INTO cp_node VALUES ('1930', 'file', '183'); -INSERT INTO cp_node VALUES ('1931', 'resource', '183'); -INSERT INTO cp_node VALUES ('1932', 'file', '183'); -INSERT INTO cp_node VALUES ('1933', 'resource', '183'); -INSERT INTO cp_node VALUES ('1934', 'file', '183'); -INSERT INTO cp_node VALUES ('1935', 'dependency', '183'); -INSERT INTO cp_node VALUES ('1936', 'resource', '183'); -INSERT INTO cp_node VALUES ('1937', 'file', '183'); -INSERT INTO cp_node VALUES ('1938', 'resource', '183'); -INSERT INTO cp_node VALUES ('1939', 'file', '183'); -INSERT INTO cp_node VALUES ('1940', 'sequencing', '183'); -INSERT INTO cp_node VALUES ('1941', 'objective', '183'); -INSERT INTO cp_node VALUES ('1942', 'mapInfo', '183'); -INSERT INTO cp_node VALUES ('1943', 'mapInfo', '183'); -INSERT INTO cp_node VALUES ('1944', 'sequencing', '183'); -INSERT INTO cp_node VALUES ('1945', 'objective', '183'); -INSERT INTO cp_node VALUES ('1946', 'mapInfo', '183'); -INSERT INTO cp_node VALUES ('1947', 'sequencing', '183'); -INSERT INTO cp_node VALUES ('1948', 'objective', '183'); -INSERT INTO cp_node VALUES ('1949', 'mapInfo', '183'); -INSERT INTO cp_node VALUES ('1950', 'sequencing', '183'); -INSERT INTO cp_node VALUES ('1951', 'objective', '183'); -INSERT INTO cp_node VALUES ('1952', 'mapInfo', '183'); -INSERT INTO cp_node VALUES ('1953', 'sequencing', '183'); -INSERT INTO cp_node VALUES ('1954', 'objective', '183'); -INSERT INTO cp_node VALUES ('1955', 'mapInfo', '183'); -INSERT INTO cp_node VALUES ('1956', 'sequencing', '183'); -INSERT INTO cp_node VALUES ('1957', 'rule', '183'); -INSERT INTO cp_node VALUES ('1958', 'condition', '183'); -INSERT INTO cp_node VALUES ('1959', 'rule', '183'); -INSERT INTO cp_node VALUES ('1960', 'condition', '183'); -INSERT INTO cp_node VALUES ('1961', 'sequencing', '183'); -INSERT INTO cp_node VALUES ('1962', 'manifest', '184'); -INSERT INTO cp_node VALUES ('1963', 'organization', '184'); -INSERT INTO cp_node VALUES ('1964', 'item', '184'); -INSERT INTO cp_node VALUES ('1965', 'hideLMSUI', '184'); -INSERT INTO cp_node VALUES ('1966', 'hideLMSUI', '184'); -INSERT INTO cp_node VALUES ('1967', 'hideLMSUI', '184'); -INSERT INTO cp_node VALUES ('1968', 'item', '184'); -INSERT INTO cp_node VALUES ('1969', 'hideLMSUI', '184'); -INSERT INTO cp_node VALUES ('1970', 'hideLMSUI', '184'); -INSERT INTO cp_node VALUES ('1971', 'hideLMSUI', '184'); -INSERT INTO cp_node VALUES ('1972', 'item', '184'); -INSERT INTO cp_node VALUES ('1973', 'hideLMSUI', '184'); -INSERT INTO cp_node VALUES ('1974', 'hideLMSUI', '184'); -INSERT INTO cp_node VALUES ('1975', 'hideLMSUI', '184'); -INSERT INTO cp_node VALUES ('1976', 'item', '184'); -INSERT INTO cp_node VALUES ('1977', 'hideLMSUI', '184'); -INSERT INTO cp_node VALUES ('1978', 'hideLMSUI', '184'); -INSERT INTO cp_node VALUES ('1979', 'hideLMSUI', '184'); -INSERT INTO cp_node VALUES ('1980', 'resource', '184'); -INSERT INTO cp_node VALUES ('1981', 'file', '184'); -INSERT INTO cp_node VALUES ('1982', 'dependency', '184'); -INSERT INTO cp_node VALUES ('1983', 'dependency', '184'); -INSERT INTO cp_node VALUES ('1984', 'dependency', '184'); -INSERT INTO cp_node VALUES ('1985', 'dependency', '184'); -INSERT INTO cp_node VALUES ('1986', 'dependency', '184'); -INSERT INTO cp_node VALUES ('1987', 'resource', '184'); -INSERT INTO cp_node VALUES ('1988', 'file', '184'); -INSERT INTO cp_node VALUES ('1989', 'resource', '184'); -INSERT INTO cp_node VALUES ('1990', 'file', '184'); -INSERT INTO cp_node VALUES ('1991', 'resource', '184'); -INSERT INTO cp_node VALUES ('1992', 'file', '184'); -INSERT INTO cp_node VALUES ('1993', 'resource', '184'); -INSERT INTO cp_node VALUES ('1994', 'file', '184'); -INSERT INTO cp_node VALUES ('1995', 'dependency', '184'); -INSERT INTO cp_node VALUES ('1996', 'resource', '184'); -INSERT INTO cp_node VALUES ('1997', 'file', '184'); -INSERT INTO cp_node VALUES ('1998', 'resource', '184'); -INSERT INTO cp_node VALUES ('1999', 'file', '184'); -INSERT INTO cp_node VALUES ('2000', 'sequencing', '184'); -INSERT INTO cp_node VALUES ('2001', 'objective', '184'); -INSERT INTO cp_node VALUES ('2002', 'mapInfo', '184'); -INSERT INTO cp_node VALUES ('2003', 'sequencing', '184'); -INSERT INTO cp_node VALUES ('2004', 'rule', '184'); -INSERT INTO cp_node VALUES ('2005', 'condition', '184'); -INSERT INTO cp_node VALUES ('2006', 'objective', '184'); -INSERT INTO cp_node VALUES ('2007', 'mapInfo', '184'); -INSERT INTO cp_node VALUES ('2008', 'sequencing', '184'); -INSERT INTO cp_node VALUES ('2009', 'rule', '184'); -INSERT INTO cp_node VALUES ('2010', 'condition', '184'); -INSERT INTO cp_node VALUES ('2011', 'objective', '184'); -INSERT INTO cp_node VALUES ('2012', 'mapInfo', '184'); -INSERT INTO cp_node VALUES ('2013', 'sequencing', '184'); -INSERT INTO cp_node VALUES ('2014', 'manifest', '185'); -INSERT INTO cp_node VALUES ('2015', 'organization', '185'); -INSERT INTO cp_node VALUES ('2016', 'item', '185'); -INSERT INTO cp_node VALUES ('2017', 'hideLMSUI', '185'); -INSERT INTO cp_node VALUES ('2018', 'hideLMSUI', '185'); -INSERT INTO cp_node VALUES ('2019', 'hideLMSUI', '185'); -INSERT INTO cp_node VALUES ('2020', 'item', '185'); -INSERT INTO cp_node VALUES ('2021', 'hideLMSUI', '185'); -INSERT INTO cp_node VALUES ('2022', 'hideLMSUI', '185'); -INSERT INTO cp_node VALUES ('2023', 'hideLMSUI', '185'); -INSERT INTO cp_node VALUES ('2024', 'item', '185'); -INSERT INTO cp_node VALUES ('2025', 'hideLMSUI', '185'); -INSERT INTO cp_node VALUES ('2026', 'hideLMSUI', '185'); -INSERT INTO cp_node VALUES ('2027', 'hideLMSUI', '185'); -INSERT INTO cp_node VALUES ('2028', 'item', '185'); -INSERT INTO cp_node VALUES ('2029', 'hideLMSUI', '185'); -INSERT INTO cp_node VALUES ('2030', 'hideLMSUI', '185'); -INSERT INTO cp_node VALUES ('2031', 'hideLMSUI', '185'); -INSERT INTO cp_node VALUES ('2032', 'resource', '185'); -INSERT INTO cp_node VALUES ('2033', 'file', '185'); -INSERT INTO cp_node VALUES ('2034', 'dependency', '185'); -INSERT INTO cp_node VALUES ('2035', 'dependency', '185'); -INSERT INTO cp_node VALUES ('2036', 'dependency', '185'); -INSERT INTO cp_node VALUES ('2037', 'dependency', '185'); -INSERT INTO cp_node VALUES ('2038', 'dependency', '185'); -INSERT INTO cp_node VALUES ('2039', 'resource', '185'); -INSERT INTO cp_node VALUES ('2040', 'file', '185'); -INSERT INTO cp_node VALUES ('2041', 'resource', '185'); -INSERT INTO cp_node VALUES ('2042', 'file', '185'); -INSERT INTO cp_node VALUES ('2043', 'resource', '185'); -INSERT INTO cp_node VALUES ('2044', 'file', '185'); -INSERT INTO cp_node VALUES ('2045', 'resource', '185'); -INSERT INTO cp_node VALUES ('2046', 'file', '185'); -INSERT INTO cp_node VALUES ('2047', 'dependency', '185'); -INSERT INTO cp_node VALUES ('2048', 'resource', '185'); -INSERT INTO cp_node VALUES ('2049', 'file', '185'); -INSERT INTO cp_node VALUES ('2050', 'resource', '185'); -INSERT INTO cp_node VALUES ('2051', 'file', '185'); -INSERT INTO cp_node VALUES ('2052', 'sequencing', '185'); -INSERT INTO cp_node VALUES ('2053', 'objective', '185'); -INSERT INTO cp_node VALUES ('2054', 'mapInfo', '185'); -INSERT INTO cp_node VALUES ('2055', 'sequencing', '185'); -INSERT INTO cp_node VALUES ('2056', 'rule', '185'); -INSERT INTO cp_node VALUES ('2057', 'condition', '185'); -INSERT INTO cp_node VALUES ('2058', 'objective', '185'); -INSERT INTO cp_node VALUES ('2059', 'mapInfo', '185'); -INSERT INTO cp_node VALUES ('2060', 'sequencing', '185'); -INSERT INTO cp_node VALUES ('2061', 'rule', '185'); -INSERT INTO cp_node VALUES ('2062', 'condition', '185'); -INSERT INTO cp_node VALUES ('2063', 'objective', '185'); -INSERT INTO cp_node VALUES ('2064', 'mapInfo', '185'); -INSERT INTO cp_node VALUES ('2065', 'sequencing', '185'); -INSERT INTO cp_node VALUES ('2066', 'manifest', '186'); -INSERT INTO cp_node VALUES ('2067', 'organization', '186'); -INSERT INTO cp_node VALUES ('2068', 'item', '186'); -INSERT INTO cp_node VALUES ('2069', 'hideLMSUI', '186'); -INSERT INTO cp_node VALUES ('2070', 'hideLMSUI', '186'); -INSERT INTO cp_node VALUES ('2071', 'hideLMSUI', '186'); -INSERT INTO cp_node VALUES ('2072', 'item', '186'); -INSERT INTO cp_node VALUES ('2073', 'hideLMSUI', '186'); -INSERT INTO cp_node VALUES ('2074', 'hideLMSUI', '186'); -INSERT INTO cp_node VALUES ('2075', 'hideLMSUI', '186'); -INSERT INTO cp_node VALUES ('2076', 'item', '186'); -INSERT INTO cp_node VALUES ('2077', 'hideLMSUI', '186'); -INSERT INTO cp_node VALUES ('2078', 'hideLMSUI', '186'); -INSERT INTO cp_node VALUES ('2079', 'hideLMSUI', '186'); -INSERT INTO cp_node VALUES ('2080', 'resource', '186'); -INSERT INTO cp_node VALUES ('2081', 'file', '186'); -INSERT INTO cp_node VALUES ('2082', 'dependency', '186'); -INSERT INTO cp_node VALUES ('2083', 'dependency', '186'); -INSERT INTO cp_node VALUES ('2084', 'dependency', '186'); -INSERT INTO cp_node VALUES ('2085', 'dependency', '186'); -INSERT INTO cp_node VALUES ('2086', 'dependency', '186'); -INSERT INTO cp_node VALUES ('2087', 'resource', '186'); -INSERT INTO cp_node VALUES ('2088', 'file', '186'); -INSERT INTO cp_node VALUES ('2089', 'resource', '186'); -INSERT INTO cp_node VALUES ('2090', 'file', '186'); -INSERT INTO cp_node VALUES ('2091', 'resource', '186'); -INSERT INTO cp_node VALUES ('2092', 'file', '186'); -INSERT INTO cp_node VALUES ('2093', 'resource', '186'); -INSERT INTO cp_node VALUES ('2094', 'file', '186'); -INSERT INTO cp_node VALUES ('2095', 'dependency', '186'); -INSERT INTO cp_node VALUES ('2096', 'resource', '186'); -INSERT INTO cp_node VALUES ('2097', 'file', '186'); -INSERT INTO cp_node VALUES ('2098', 'resource', '186'); -INSERT INTO cp_node VALUES ('2099', 'file', '186'); -INSERT INTO cp_node VALUES ('2100', 'sequencing', '186'); -INSERT INTO cp_node VALUES ('2101', 'objective', '186'); -INSERT INTO cp_node VALUES ('2102', 'mapInfo', '186'); -INSERT INTO cp_node VALUES ('2103', 'sequencing', '186'); -INSERT INTO cp_node VALUES ('2104', 'rule', '186'); -INSERT INTO cp_node VALUES ('2105', 'condition', '186'); -INSERT INTO cp_node VALUES ('2106', 'objective', '186'); -INSERT INTO cp_node VALUES ('2107', 'mapInfo', '186'); -INSERT INTO cp_node VALUES ('2108', 'sequencing', '186'); -INSERT INTO cp_node VALUES ('2109', 'manifest', '187'); -INSERT INTO cp_node VALUES ('2110', 'organization', '187'); -INSERT INTO cp_node VALUES ('2111', 'item', '187'); -INSERT INTO cp_node VALUES ('2112', 'hideLMSUI', '187'); -INSERT INTO cp_node VALUES ('2113', 'hideLMSUI', '187'); -INSERT INTO cp_node VALUES ('2114', 'hideLMSUI', '187'); -INSERT INTO cp_node VALUES ('2115', 'item', '187'); -INSERT INTO cp_node VALUES ('2116', 'item', '187'); -INSERT INTO cp_node VALUES ('2117', 'hideLMSUI', '187'); -INSERT INTO cp_node VALUES ('2118', 'hideLMSUI', '187'); -INSERT INTO cp_node VALUES ('2119', 'hideLMSUI', '187'); -INSERT INTO cp_node VALUES ('2120', 'item', '187'); -INSERT INTO cp_node VALUES ('2121', 'hideLMSUI', '187'); -INSERT INTO cp_node VALUES ('2122', 'hideLMSUI', '187'); -INSERT INTO cp_node VALUES ('2123', 'hideLMSUI', '187'); -INSERT INTO cp_node VALUES ('2124', 'item', '187'); -INSERT INTO cp_node VALUES ('2125', 'hideLMSUI', '187'); -INSERT INTO cp_node VALUES ('2126', 'hideLMSUI', '187'); -INSERT INTO cp_node VALUES ('2127', 'hideLMSUI', '187'); -INSERT INTO cp_node VALUES ('2128', 'item', '187'); -INSERT INTO cp_node VALUES ('2129', 'hideLMSUI', '187'); -INSERT INTO cp_node VALUES ('2130', 'hideLMSUI', '187'); -INSERT INTO cp_node VALUES ('2131', 'hideLMSUI', '187'); -INSERT INTO cp_node VALUES ('2132', 'resource', '187'); -INSERT INTO cp_node VALUES ('2133', 'file', '187'); -INSERT INTO cp_node VALUES ('2134', 'dependency', '187'); -INSERT INTO cp_node VALUES ('2135', 'dependency', '187'); -INSERT INTO cp_node VALUES ('2136', 'dependency', '187'); -INSERT INTO cp_node VALUES ('2137', 'dependency', '187'); -INSERT INTO cp_node VALUES ('2138', 'dependency', '187'); -INSERT INTO cp_node VALUES ('2139', 'resource', '187'); -INSERT INTO cp_node VALUES ('2140', 'file', '187'); -INSERT INTO cp_node VALUES ('2141', 'resource', '187'); -INSERT INTO cp_node VALUES ('2142', 'file', '187'); -INSERT INTO cp_node VALUES ('2143', 'resource', '187'); -INSERT INTO cp_node VALUES ('2144', 'file', '187'); -INSERT INTO cp_node VALUES ('2145', 'resource', '187'); -INSERT INTO cp_node VALUES ('2146', 'file', '187'); -INSERT INTO cp_node VALUES ('2147', 'dependency', '187'); -INSERT INTO cp_node VALUES ('2148', 'resource', '187'); -INSERT INTO cp_node VALUES ('2149', 'file', '187'); -INSERT INTO cp_node VALUES ('2150', 'resource', '187'); -INSERT INTO cp_node VALUES ('2151', 'file', '187'); -INSERT INTO cp_node VALUES ('2152', 'sequencing', '187'); -INSERT INTO cp_node VALUES ('2153', 'objective', '187'); -INSERT INTO cp_node VALUES ('2154', 'mapInfo', '187'); -INSERT INTO cp_node VALUES ('2155', 'sequencing', '187'); -INSERT INTO cp_node VALUES ('2156', 'rule', '187'); -INSERT INTO cp_node VALUES ('2157', 'condition', '187'); -INSERT INTO cp_node VALUES ('2158', 'condition', '187'); -INSERT INTO cp_node VALUES ('2159', 'rule', '187'); -INSERT INTO cp_node VALUES ('2160', 'condition', '187'); -INSERT INTO cp_node VALUES ('2161', 'condition', '187'); -INSERT INTO cp_node VALUES ('2162', 'objective', '187'); -INSERT INTO cp_node VALUES ('2163', 'mapInfo', '187'); -INSERT INTO cp_node VALUES ('2164', 'sequencing', '187'); -INSERT INTO cp_node VALUES ('2165', 'manifest', '188'); -INSERT INTO cp_node VALUES ('2166', 'organization', '188'); -INSERT INTO cp_node VALUES ('2167', 'item', '188'); -INSERT INTO cp_node VALUES ('2168', 'hideLMSUI', '188'); -INSERT INTO cp_node VALUES ('2169', 'hideLMSUI', '188'); -INSERT INTO cp_node VALUES ('2170', 'hideLMSUI', '188'); -INSERT INTO cp_node VALUES ('2171', 'item', '188'); -INSERT INTO cp_node VALUES ('2172', 'hideLMSUI', '188'); -INSERT INTO cp_node VALUES ('2173', 'hideLMSUI', '188'); -INSERT INTO cp_node VALUES ('2174', 'hideLMSUI', '188'); -INSERT INTO cp_node VALUES ('2175', 'item', '188'); -INSERT INTO cp_node VALUES ('2176', 'hideLMSUI', '188'); -INSERT INTO cp_node VALUES ('2177', 'hideLMSUI', '188'); -INSERT INTO cp_node VALUES ('2178', 'hideLMSUI', '188'); -INSERT INTO cp_node VALUES ('2179', 'resource', '188'); -INSERT INTO cp_node VALUES ('2180', 'file', '188'); -INSERT INTO cp_node VALUES ('2181', 'dependency', '188'); -INSERT INTO cp_node VALUES ('2182', 'dependency', '188'); -INSERT INTO cp_node VALUES ('2183', 'dependency', '188'); -INSERT INTO cp_node VALUES ('2184', 'dependency', '188'); -INSERT INTO cp_node VALUES ('2185', 'dependency', '188'); -INSERT INTO cp_node VALUES ('2186', 'resource', '188'); -INSERT INTO cp_node VALUES ('2187', 'file', '188'); -INSERT INTO cp_node VALUES ('2188', 'resource', '188'); -INSERT INTO cp_node VALUES ('2189', 'file', '188'); -INSERT INTO cp_node VALUES ('2190', 'resource', '188'); -INSERT INTO cp_node VALUES ('2191', 'file', '188'); -INSERT INTO cp_node VALUES ('2192', 'resource', '188'); -INSERT INTO cp_node VALUES ('2193', 'file', '188'); -INSERT INTO cp_node VALUES ('2194', 'dependency', '188'); -INSERT INTO cp_node VALUES ('2195', 'resource', '188'); -INSERT INTO cp_node VALUES ('2196', 'file', '188'); -INSERT INTO cp_node VALUES ('2197', 'resource', '188'); -INSERT INTO cp_node VALUES ('2198', 'file', '188'); -INSERT INTO cp_node VALUES ('2199', 'sequencing', '188'); -INSERT INTO cp_node VALUES ('2200', 'objective', '188'); -INSERT INTO cp_node VALUES ('2201', 'mapInfo', '188'); -INSERT INTO cp_node VALUES ('2202', 'sequencing', '188'); -INSERT INTO cp_node VALUES ('2203', 'rule', '188'); -INSERT INTO cp_node VALUES ('2204', 'condition', '188'); -INSERT INTO cp_node VALUES ('2205', 'condition', '188'); -INSERT INTO cp_node VALUES ('2206', 'objective', '188'); -INSERT INTO cp_node VALUES ('2207', 'mapInfo', '188'); -INSERT INTO cp_node VALUES ('2208', 'sequencing', '188'); -INSERT INTO cp_node VALUES ('2209', 'objective', '188'); -INSERT INTO cp_node VALUES ('2210', 'objective', '188'); -INSERT INTO cp_node VALUES ('2211', 'mapInfo', '188'); -INSERT INTO cp_node VALUES ('2212', 'sequencing', '188'); -INSERT INTO cp_node VALUES ('2213', 'manifest', '189'); -INSERT INTO cp_node VALUES ('2214', 'organization', '189'); -INSERT INTO cp_node VALUES ('2215', 'item', '189'); -INSERT INTO cp_node VALUES ('2216', 'hideLMSUI', '189'); -INSERT INTO cp_node VALUES ('2217', 'hideLMSUI', '189'); -INSERT INTO cp_node VALUES ('2218', 'hideLMSUI', '189'); -INSERT INTO cp_node VALUES ('2219', 'item', '189'); -INSERT INTO cp_node VALUES ('2220', 'hideLMSUI', '189'); -INSERT INTO cp_node VALUES ('2221', 'hideLMSUI', '189'); -INSERT INTO cp_node VALUES ('2222', 'hideLMSUI', '189'); -INSERT INTO cp_node VALUES ('2223', 'item', '189'); -INSERT INTO cp_node VALUES ('2224', 'hideLMSUI', '189'); -INSERT INTO cp_node VALUES ('2225', 'hideLMSUI', '189'); -INSERT INTO cp_node VALUES ('2226', 'hideLMSUI', '189'); -INSERT INTO cp_node VALUES ('2227', 'resource', '189'); -INSERT INTO cp_node VALUES ('2228', 'file', '189'); -INSERT INTO cp_node VALUES ('2229', 'dependency', '189'); -INSERT INTO cp_node VALUES ('2230', 'dependency', '189'); -INSERT INTO cp_node VALUES ('2231', 'dependency', '189'); -INSERT INTO cp_node VALUES ('2232', 'dependency', '189'); -INSERT INTO cp_node VALUES ('2233', 'dependency', '189'); -INSERT INTO cp_node VALUES ('2234', 'resource', '189'); -INSERT INTO cp_node VALUES ('2235', 'file', '189'); -INSERT INTO cp_node VALUES ('2236', 'resource', '189'); -INSERT INTO cp_node VALUES ('2237', 'file', '189'); -INSERT INTO cp_node VALUES ('2238', 'resource', '189'); -INSERT INTO cp_node VALUES ('2239', 'file', '189'); -INSERT INTO cp_node VALUES ('2240', 'resource', '189'); -INSERT INTO cp_node VALUES ('2241', 'file', '189'); -INSERT INTO cp_node VALUES ('2242', 'dependency', '189'); -INSERT INTO cp_node VALUES ('2243', 'resource', '189'); -INSERT INTO cp_node VALUES ('2244', 'file', '189'); -INSERT INTO cp_node VALUES ('2245', 'resource', '189'); -INSERT INTO cp_node VALUES ('2246', 'file', '189'); -INSERT INTO cp_node VALUES ('2247', 'sequencing', '189'); -INSERT INTO cp_node VALUES ('2248', 'objective', '189'); -INSERT INTO cp_node VALUES ('2249', 'mapInfo', '189'); -INSERT INTO cp_node VALUES ('2250', 'sequencing', '189'); -INSERT INTO cp_node VALUES ('2251', 'rule', '189'); -INSERT INTO cp_node VALUES ('2252', 'condition', '189'); -INSERT INTO cp_node VALUES ('2253', 'objective', '189'); -INSERT INTO cp_node VALUES ('2254', 'mapInfo', '189'); -INSERT INTO cp_node VALUES ('2255', 'sequencing', '189'); -INSERT INTO cp_node VALUES ('2256', 'objective', '189'); -INSERT INTO cp_node VALUES ('2257', 'objective', '189'); -INSERT INTO cp_node VALUES ('2258', 'mapInfo', '189'); -INSERT INTO cp_node VALUES ('2259', 'sequencing', '189'); -INSERT INTO cp_node VALUES ('2260', 'manifest', '190'); -INSERT INTO cp_node VALUES ('2261', 'organization', '190'); -INSERT INTO cp_node VALUES ('2262', 'item', '190'); -INSERT INTO cp_node VALUES ('2263', 'hideLMSUI', '190'); -INSERT INTO cp_node VALUES ('2264', 'hideLMSUI', '190'); -INSERT INTO cp_node VALUES ('2265', 'hideLMSUI', '190'); -INSERT INTO cp_node VALUES ('2266', 'item', '190'); -INSERT INTO cp_node VALUES ('2267', 'hideLMSUI', '190'); -INSERT INTO cp_node VALUES ('2268', 'hideLMSUI', '190'); -INSERT INTO cp_node VALUES ('2269', 'hideLMSUI', '190'); -INSERT INTO cp_node VALUES ('2270', 'item', '190'); -INSERT INTO cp_node VALUES ('2271', 'hideLMSUI', '190'); -INSERT INTO cp_node VALUES ('2272', 'hideLMSUI', '190'); -INSERT INTO cp_node VALUES ('2273', 'hideLMSUI', '190'); -INSERT INTO cp_node VALUES ('2274', 'item', '190'); -INSERT INTO cp_node VALUES ('2275', 'hideLMSUI', '190'); -INSERT INTO cp_node VALUES ('2276', 'hideLMSUI', '190'); -INSERT INTO cp_node VALUES ('2277', 'hideLMSUI', '190'); -INSERT INTO cp_node VALUES ('2278', 'resource', '190'); -INSERT INTO cp_node VALUES ('2279', 'file', '190'); -INSERT INTO cp_node VALUES ('2280', 'dependency', '190'); -INSERT INTO cp_node VALUES ('2281', 'dependency', '190'); -INSERT INTO cp_node VALUES ('2282', 'dependency', '190'); -INSERT INTO cp_node VALUES ('2283', 'dependency', '190'); -INSERT INTO cp_node VALUES ('2284', 'dependency', '190'); -INSERT INTO cp_node VALUES ('2285', 'resource', '190'); -INSERT INTO cp_node VALUES ('2286', 'file', '190'); -INSERT INTO cp_node VALUES ('2287', 'resource', '190'); -INSERT INTO cp_node VALUES ('2288', 'file', '190'); -INSERT INTO cp_node VALUES ('2289', 'resource', '190'); -INSERT INTO cp_node VALUES ('2290', 'file', '190'); -INSERT INTO cp_node VALUES ('2291', 'resource', '190'); -INSERT INTO cp_node VALUES ('2292', 'file', '190'); -INSERT INTO cp_node VALUES ('2293', 'dependency', '190'); -INSERT INTO cp_node VALUES ('2294', 'resource', '190'); -INSERT INTO cp_node VALUES ('2295', 'file', '190'); -INSERT INTO cp_node VALUES ('2296', 'resource', '190'); -INSERT INTO cp_node VALUES ('2297', 'file', '190'); -INSERT INTO cp_node VALUES ('2298', 'sequencing', '190'); -INSERT INTO cp_node VALUES ('2299', 'objective', '190'); -INSERT INTO cp_node VALUES ('2300', 'mapInfo', '190'); -INSERT INTO cp_node VALUES ('2301', 'sequencing', '190'); -INSERT INTO cp_node VALUES ('2302', 'rule', '190'); -INSERT INTO cp_node VALUES ('2303', 'condition', '190'); -INSERT INTO cp_node VALUES ('2304', 'rule', '190'); -INSERT INTO cp_node VALUES ('2305', 'condition', '190'); -INSERT INTO cp_node VALUES ('2306', 'objective', '190'); -INSERT INTO cp_node VALUES ('2307', 'mapInfo', '190'); -INSERT INTO cp_node VALUES ('2308', 'sequencing', '190'); -INSERT INTO cp_node VALUES ('2309', 'rule', '190'); -INSERT INTO cp_node VALUES ('2310', 'condition', '190'); -INSERT INTO cp_node VALUES ('2311', 'condition', '190'); -INSERT INTO cp_node VALUES ('2312', 'rule', '190'); -INSERT INTO cp_node VALUES ('2313', 'condition', '190'); -INSERT INTO cp_node VALUES ('2314', 'objective', '190'); -INSERT INTO cp_node VALUES ('2315', 'mapInfo', '190'); -INSERT INTO cp_node VALUES ('2316', 'sequencing', '190'); -INSERT INTO cp_node VALUES ('2317', 'rule', '190'); -INSERT INTO cp_node VALUES ('2318', 'condition', '190'); -INSERT INTO cp_node VALUES ('2319', 'rule', '190'); -INSERT INTO cp_node VALUES ('2320', 'condition', '190'); -INSERT INTO cp_node VALUES ('2321', 'objective', '190'); -INSERT INTO cp_node VALUES ('2322', 'mapInfo', '190'); -INSERT INTO cp_node VALUES ('2323', 'sequencing', '190'); -INSERT INTO cp_node VALUES ('2324', 'manifest', '191'); -INSERT INTO cp_node VALUES ('2325', 'organization', '191'); -INSERT INTO cp_node VALUES ('2326', 'item', '191'); -INSERT INTO cp_node VALUES ('2327', 'hideLMSUI', '191'); -INSERT INTO cp_node VALUES ('2328', 'hideLMSUI', '191'); -INSERT INTO cp_node VALUES ('2329', 'hideLMSUI', '191'); -INSERT INTO cp_node VALUES ('2330', 'item', '191'); -INSERT INTO cp_node VALUES ('2331', 'hideLMSUI', '191'); -INSERT INTO cp_node VALUES ('2332', 'hideLMSUI', '191'); -INSERT INTO cp_node VALUES ('2333', 'hideLMSUI', '191'); -INSERT INTO cp_node VALUES ('2334', 'item', '191'); -INSERT INTO cp_node VALUES ('2335', 'hideLMSUI', '191'); -INSERT INTO cp_node VALUES ('2336', 'hideLMSUI', '191'); -INSERT INTO cp_node VALUES ('2337', 'hideLMSUI', '191'); -INSERT INTO cp_node VALUES ('2338', 'item', '191'); -INSERT INTO cp_node VALUES ('2339', 'hideLMSUI', '191'); -INSERT INTO cp_node VALUES ('2340', 'hideLMSUI', '191'); -INSERT INTO cp_node VALUES ('2341', 'hideLMSUI', '191'); -INSERT INTO cp_node VALUES ('2342', 'resource', '191'); -INSERT INTO cp_node VALUES ('2343', 'file', '191'); -INSERT INTO cp_node VALUES ('2344', 'dependency', '191'); -INSERT INTO cp_node VALUES ('2345', 'dependency', '191'); -INSERT INTO cp_node VALUES ('2346', 'dependency', '191'); -INSERT INTO cp_node VALUES ('2347', 'dependency', '191'); -INSERT INTO cp_node VALUES ('2348', 'dependency', '191'); -INSERT INTO cp_node VALUES ('2349', 'resource', '191'); -INSERT INTO cp_node VALUES ('2350', 'file', '191'); -INSERT INTO cp_node VALUES ('2351', 'resource', '191'); -INSERT INTO cp_node VALUES ('2352', 'file', '191'); -INSERT INTO cp_node VALUES ('2353', 'resource', '191'); -INSERT INTO cp_node VALUES ('2354', 'file', '191'); -INSERT INTO cp_node VALUES ('2355', 'resource', '191'); -INSERT INTO cp_node VALUES ('2356', 'file', '191'); -INSERT INTO cp_node VALUES ('2357', 'dependency', '191'); -INSERT INTO cp_node VALUES ('2358', 'resource', '191'); -INSERT INTO cp_node VALUES ('2359', 'file', '191'); -INSERT INTO cp_node VALUES ('2360', 'resource', '191'); -INSERT INTO cp_node VALUES ('2361', 'file', '191'); -INSERT INTO cp_node VALUES ('2362', 'sequencing', '191'); -INSERT INTO cp_node VALUES ('2363', 'objective', '191'); -INSERT INTO cp_node VALUES ('2364', 'mapInfo', '191'); -INSERT INTO cp_node VALUES ('2365', 'sequencing', '191'); -INSERT INTO cp_node VALUES ('2366', 'rule', '191'); -INSERT INTO cp_node VALUES ('2367', 'condition', '191'); -INSERT INTO cp_node VALUES ('2368', 'rule', '191'); -INSERT INTO cp_node VALUES ('2369', 'condition', '191'); -INSERT INTO cp_node VALUES ('2370', 'objective', '191'); -INSERT INTO cp_node VALUES ('2371', 'mapInfo', '191'); -INSERT INTO cp_node VALUES ('2372', 'sequencing', '191'); -INSERT INTO cp_node VALUES ('2373', 'rule', '191'); -INSERT INTO cp_node VALUES ('2374', 'condition', '191'); -INSERT INTO cp_node VALUES ('2375', 'condition', '191'); -INSERT INTO cp_node VALUES ('2376', 'rule', '191'); -INSERT INTO cp_node VALUES ('2377', 'condition', '191'); -INSERT INTO cp_node VALUES ('2378', 'objective', '191'); -INSERT INTO cp_node VALUES ('2379', 'mapInfo', '191'); -INSERT INTO cp_node VALUES ('2380', 'sequencing', '191'); -INSERT INTO cp_node VALUES ('2381', 'rule', '191'); -INSERT INTO cp_node VALUES ('2382', 'condition', '191'); -INSERT INTO cp_node VALUES ('2383', 'rule', '191'); -INSERT INTO cp_node VALUES ('2384', 'condition', '191'); -INSERT INTO cp_node VALUES ('2385', 'objective', '191'); -INSERT INTO cp_node VALUES ('2386', 'mapInfo', '191'); -INSERT INTO cp_node VALUES ('2387', 'sequencing', '191'); -INSERT INTO cp_node VALUES ('2388', 'manifest', '192'); -INSERT INTO cp_node VALUES ('2389', 'organization', '192'); -INSERT INTO cp_node VALUES ('2390', 'item', '192'); -INSERT INTO cp_node VALUES ('2391', 'hideLMSUI', '192'); -INSERT INTO cp_node VALUES ('2392', 'hideLMSUI', '192'); -INSERT INTO cp_node VALUES ('2393', 'hideLMSUI', '192'); -INSERT INTO cp_node VALUES ('2394', 'item', '192'); -INSERT INTO cp_node VALUES ('2395', 'hideLMSUI', '192'); -INSERT INTO cp_node VALUES ('2396', 'hideLMSUI', '192'); -INSERT INTO cp_node VALUES ('2397', 'hideLMSUI', '192'); -INSERT INTO cp_node VALUES ('2398', 'item', '192'); -INSERT INTO cp_node VALUES ('2399', 'hideLMSUI', '192'); -INSERT INTO cp_node VALUES ('2400', 'hideLMSUI', '192'); -INSERT INTO cp_node VALUES ('2401', 'hideLMSUI', '192'); -INSERT INTO cp_node VALUES ('2402', 'resource', '192'); -INSERT INTO cp_node VALUES ('2403', 'file', '192'); -INSERT INTO cp_node VALUES ('2404', 'dependency', '192'); -INSERT INTO cp_node VALUES ('2405', 'dependency', '192'); -INSERT INTO cp_node VALUES ('2406', 'dependency', '192'); -INSERT INTO cp_node VALUES ('2407', 'dependency', '192'); -INSERT INTO cp_node VALUES ('2408', 'dependency', '192'); -INSERT INTO cp_node VALUES ('2409', 'resource', '192'); -INSERT INTO cp_node VALUES ('2410', 'file', '192'); -INSERT INTO cp_node VALUES ('2411', 'resource', '192'); -INSERT INTO cp_node VALUES ('2412', 'file', '192'); -INSERT INTO cp_node VALUES ('2413', 'resource', '192'); -INSERT INTO cp_node VALUES ('2414', 'file', '192'); -INSERT INTO cp_node VALUES ('2415', 'resource', '192'); -INSERT INTO cp_node VALUES ('2416', 'file', '192'); -INSERT INTO cp_node VALUES ('2417', 'dependency', '192'); -INSERT INTO cp_node VALUES ('2418', 'resource', '192'); -INSERT INTO cp_node VALUES ('2419', 'file', '192'); -INSERT INTO cp_node VALUES ('2420', 'resource', '192'); -INSERT INTO cp_node VALUES ('2421', 'file', '192'); -INSERT INTO cp_node VALUES ('2422', 'sequencing', '192'); -INSERT INTO cp_node VALUES ('2423', 'rule', '192'); -INSERT INTO cp_node VALUES ('2424', 'condition', '192'); -INSERT INTO cp_node VALUES ('2425', 'objective', '192'); -INSERT INTO cp_node VALUES ('2426', 'mapInfo', '192'); -INSERT INTO cp_node VALUES ('2427', 'sequencing', '192'); -INSERT INTO cp_node VALUES ('2428', 'rule', '192'); -INSERT INTO cp_node VALUES ('2429', 'condition', '192'); -INSERT INTO cp_node VALUES ('2430', 'objective', '192'); -INSERT INTO cp_node VALUES ('2431', 'mapInfo', '192'); -INSERT INTO cp_node VALUES ('2432', 'sequencing', '192'); -INSERT INTO cp_node VALUES ('2433', 'objective', '192'); -INSERT INTO cp_node VALUES ('2434', 'objective', '192'); -INSERT INTO cp_node VALUES ('2435', 'mapInfo', '192'); -INSERT INTO cp_node VALUES ('2436', 'objective', '192'); -INSERT INTO cp_node VALUES ('2437', 'mapInfo', '192'); -INSERT INTO cp_node VALUES ('2438', 'sequencing', '192'); -INSERT INTO cp_node VALUES ('2439', 'rule', '192'); -INSERT INTO cp_node VALUES ('2440', 'condition', '192'); -INSERT INTO cp_node VALUES ('2441', 'rule', '192'); -INSERT INTO cp_node VALUES ('2442', 'condition', '192'); -INSERT INTO cp_node VALUES ('2443', 'manifest', '193'); -INSERT INTO cp_node VALUES ('2444', 'organization', '193'); -INSERT INTO cp_node VALUES ('2445', 'item', '193'); -INSERT INTO cp_node VALUES ('2446', 'hideLMSUI', '193'); -INSERT INTO cp_node VALUES ('2447', 'hideLMSUI', '193'); -INSERT INTO cp_node VALUES ('2448', 'hideLMSUI', '193'); -INSERT INTO cp_node VALUES ('2449', 'item', '193'); -INSERT INTO cp_node VALUES ('2450', 'hideLMSUI', '193'); -INSERT INTO cp_node VALUES ('2451', 'hideLMSUI', '193'); -INSERT INTO cp_node VALUES ('2452', 'hideLMSUI', '193'); -INSERT INTO cp_node VALUES ('2453', 'item', '193'); -INSERT INTO cp_node VALUES ('2454', 'hideLMSUI', '193'); -INSERT INTO cp_node VALUES ('2455', 'hideLMSUI', '193'); -INSERT INTO cp_node VALUES ('2456', 'hideLMSUI', '193'); -INSERT INTO cp_node VALUES ('2457', 'resource', '193'); -INSERT INTO cp_node VALUES ('2458', 'file', '193'); -INSERT INTO cp_node VALUES ('2459', 'dependency', '193'); -INSERT INTO cp_node VALUES ('2460', 'dependency', '193'); -INSERT INTO cp_node VALUES ('2461', 'dependency', '193'); -INSERT INTO cp_node VALUES ('2462', 'dependency', '193'); -INSERT INTO cp_node VALUES ('2463', 'dependency', '193'); -INSERT INTO cp_node VALUES ('2464', 'resource', '193'); -INSERT INTO cp_node VALUES ('2465', 'file', '193'); -INSERT INTO cp_node VALUES ('2466', 'resource', '193'); -INSERT INTO cp_node VALUES ('2467', 'file', '193'); -INSERT INTO cp_node VALUES ('2468', 'resource', '193'); -INSERT INTO cp_node VALUES ('2469', 'file', '193'); -INSERT INTO cp_node VALUES ('2470', 'resource', '193'); -INSERT INTO cp_node VALUES ('2471', 'file', '193'); -INSERT INTO cp_node VALUES ('2472', 'dependency', '193'); -INSERT INTO cp_node VALUES ('2473', 'resource', '193'); -INSERT INTO cp_node VALUES ('2474', 'file', '193'); -INSERT INTO cp_node VALUES ('2475', 'resource', '193'); -INSERT INTO cp_node VALUES ('2476', 'file', '193'); -INSERT INTO cp_node VALUES ('2477', 'sequencing', '193'); -INSERT INTO cp_node VALUES ('2478', 'rule', '193'); -INSERT INTO cp_node VALUES ('2479', 'condition', '193'); -INSERT INTO cp_node VALUES ('2480', 'objective', '193'); -INSERT INTO cp_node VALUES ('2481', 'mapInfo', '193'); -INSERT INTO cp_node VALUES ('2482', 'sequencing', '193'); -INSERT INTO cp_node VALUES ('2483', 'rule', '193'); -INSERT INTO cp_node VALUES ('2484', 'condition', '193'); -INSERT INTO cp_node VALUES ('2485', 'objective', '193'); -INSERT INTO cp_node VALUES ('2486', 'mapInfo', '193'); -INSERT INTO cp_node VALUES ('2487', 'sequencing', '193'); -INSERT INTO cp_node VALUES ('2488', 'objective', '193'); -INSERT INTO cp_node VALUES ('2489', 'objective', '193'); -INSERT INTO cp_node VALUES ('2490', 'mapInfo', '193'); -INSERT INTO cp_node VALUES ('2491', 'objective', '193'); -INSERT INTO cp_node VALUES ('2492', 'mapInfo', '193'); -INSERT INTO cp_node VALUES ('2493', 'sequencing', '193'); -INSERT INTO cp_node VALUES ('2494', 'rule', '193'); -INSERT INTO cp_node VALUES ('2495', 'condition', '193'); -INSERT INTO cp_node VALUES ('2496', 'rule', '193'); -INSERT INTO cp_node VALUES ('2497', 'condition', '193'); -INSERT INTO cp_node VALUES ('2498', 'manifest', '194'); -INSERT INTO cp_node VALUES ('2499', 'organization', '194'); -INSERT INTO cp_node VALUES ('2500', 'item', '194'); -INSERT INTO cp_node VALUES ('2501', 'item', '194'); -INSERT INTO cp_node VALUES ('2502', 'item', '194'); -INSERT INTO cp_node VALUES ('2503', 'resource', '194'); -INSERT INTO cp_node VALUES ('2504', 'file', '194'); -INSERT INTO cp_node VALUES ('2505', 'dependency', '194'); -INSERT INTO cp_node VALUES ('2506', 'dependency', '194'); -INSERT INTO cp_node VALUES ('2507', 'dependency', '194'); -INSERT INTO cp_node VALUES ('2508', 'dependency', '194'); -INSERT INTO cp_node VALUES ('2509', 'dependency', '194'); -INSERT INTO cp_node VALUES ('2510', 'resource', '194'); -INSERT INTO cp_node VALUES ('2511', 'file', '194'); -INSERT INTO cp_node VALUES ('2512', 'resource', '194'); -INSERT INTO cp_node VALUES ('2513', 'file', '194'); -INSERT INTO cp_node VALUES ('2514', 'resource', '194'); -INSERT INTO cp_node VALUES ('2515', 'file', '194'); -INSERT INTO cp_node VALUES ('2516', 'resource', '194'); -INSERT INTO cp_node VALUES ('2517', 'file', '194'); -INSERT INTO cp_node VALUES ('2518', 'dependency', '194'); -INSERT INTO cp_node VALUES ('2519', 'resource', '194'); -INSERT INTO cp_node VALUES ('2520', 'file', '194'); -INSERT INTO cp_node VALUES ('2521', 'resource', '194'); -INSERT INTO cp_node VALUES ('2522', 'file', '194'); -INSERT INTO cp_node VALUES ('2523', 'sequencing', '194'); -INSERT INTO cp_node VALUES ('2524', 'objective', '194'); -INSERT INTO cp_node VALUES ('2525', 'mapInfo', '194'); -INSERT INTO cp_node VALUES ('2526', 'sequencing', '194'); -INSERT INTO cp_node VALUES ('2527', 'rule', '194'); -INSERT INTO cp_node VALUES ('2528', 'condition', '194'); -INSERT INTO cp_node VALUES ('2529', 'objective', '194'); -INSERT INTO cp_node VALUES ('2530', 'mapInfo', '194'); -INSERT INTO cp_node VALUES ('2531', 'sequencing', '194'); -INSERT INTO cp_node VALUES ('2532', 'objective', '194'); -INSERT INTO cp_node VALUES ('2533', 'mapInfo', '194'); -INSERT INTO cp_node VALUES ('2534', 'sequencing', '194'); -INSERT INTO cp_node VALUES ('2535', 'manifest', '195'); -INSERT INTO cp_node VALUES ('2536', 'organization', '195'); -INSERT INTO cp_node VALUES ('2537', 'item', '195'); -INSERT INTO cp_node VALUES ('2538', 'hideLMSUI', '195'); -INSERT INTO cp_node VALUES ('2539', 'hideLMSUI', '195'); -INSERT INTO cp_node VALUES ('2540', 'hideLMSUI', '195'); -INSERT INTO cp_node VALUES ('2541', 'item', '195'); -INSERT INTO cp_node VALUES ('2542', 'hideLMSUI', '195'); -INSERT INTO cp_node VALUES ('2543', 'hideLMSUI', '195'); -INSERT INTO cp_node VALUES ('2544', 'hideLMSUI', '195'); -INSERT INTO cp_node VALUES ('2545', 'item', '195'); -INSERT INTO cp_node VALUES ('2546', 'hideLMSUI', '195'); -INSERT INTO cp_node VALUES ('2547', 'hideLMSUI', '195'); -INSERT INTO cp_node VALUES ('2548', 'hideLMSUI', '195'); -INSERT INTO cp_node VALUES ('2549', 'resource', '195'); -INSERT INTO cp_node VALUES ('2550', 'file', '195'); -INSERT INTO cp_node VALUES ('2551', 'dependency', '195'); -INSERT INTO cp_node VALUES ('2552', 'dependency', '195'); -INSERT INTO cp_node VALUES ('2553', 'dependency', '195'); -INSERT INTO cp_node VALUES ('2554', 'dependency', '195'); -INSERT INTO cp_node VALUES ('2555', 'dependency', '195'); -INSERT INTO cp_node VALUES ('2556', 'resource', '195'); -INSERT INTO cp_node VALUES ('2557', 'file', '195'); -INSERT INTO cp_node VALUES ('2558', 'resource', '195'); -INSERT INTO cp_node VALUES ('2559', 'file', '195'); -INSERT INTO cp_node VALUES ('2560', 'resource', '195'); -INSERT INTO cp_node VALUES ('2561', 'file', '195'); -INSERT INTO cp_node VALUES ('2562', 'resource', '195'); -INSERT INTO cp_node VALUES ('2563', 'file', '195'); -INSERT INTO cp_node VALUES ('2564', 'dependency', '195'); -INSERT INTO cp_node VALUES ('2565', 'resource', '195'); -INSERT INTO cp_node VALUES ('2566', 'file', '195'); -INSERT INTO cp_node VALUES ('2567', 'resource', '195'); -INSERT INTO cp_node VALUES ('2568', 'file', '195'); -INSERT INTO cp_node VALUES ('2569', 'sequencing', '195'); -INSERT INTO cp_node VALUES ('2570', 'objective', '195'); -INSERT INTO cp_node VALUES ('2571', 'mapInfo', '195'); -INSERT INTO cp_node VALUES ('2572', 'sequencing', '195'); -INSERT INTO cp_node VALUES ('2573', 'rule', '195'); -INSERT INTO cp_node VALUES ('2574', 'condition', '195'); -INSERT INTO cp_node VALUES ('2575', 'objective', '195'); -INSERT INTO cp_node VALUES ('2576', 'mapInfo', '195'); -INSERT INTO cp_node VALUES ('2577', 'sequencing', '195'); -INSERT INTO cp_node VALUES ('2578', 'objective', '195'); -INSERT INTO cp_node VALUES ('2579', 'mapInfo', '195'); -INSERT INTO cp_node VALUES ('2580', 'sequencing', '195'); -INSERT INTO cp_node VALUES ('2581', 'manifest', '196'); -INSERT INTO cp_node VALUES ('2582', 'organization', '196'); -INSERT INTO cp_node VALUES ('2583', 'item', '196'); -INSERT INTO cp_node VALUES ('2584', 'hideLMSUI', '196'); -INSERT INTO cp_node VALUES ('2585', 'hideLMSUI', '196'); -INSERT INTO cp_node VALUES ('2586', 'hideLMSUI', '196'); -INSERT INTO cp_node VALUES ('2587', 'item', '196'); -INSERT INTO cp_node VALUES ('2588', 'hideLMSUI', '196'); -INSERT INTO cp_node VALUES ('2589', 'hideLMSUI', '196'); -INSERT INTO cp_node VALUES ('2590', 'hideLMSUI', '196'); -INSERT INTO cp_node VALUES ('2591', 'item', '196'); -INSERT INTO cp_node VALUES ('2592', 'hideLMSUI', '196'); -INSERT INTO cp_node VALUES ('2593', 'hideLMSUI', '196'); -INSERT INTO cp_node VALUES ('2594', 'hideLMSUI', '196'); -INSERT INTO cp_node VALUES ('2595', 'resource', '196'); -INSERT INTO cp_node VALUES ('2596', 'file', '196'); -INSERT INTO cp_node VALUES ('2597', 'dependency', '196'); -INSERT INTO cp_node VALUES ('2598', 'dependency', '196'); -INSERT INTO cp_node VALUES ('2599', 'dependency', '196'); -INSERT INTO cp_node VALUES ('2600', 'dependency', '196'); -INSERT INTO cp_node VALUES ('2601', 'dependency', '196'); -INSERT INTO cp_node VALUES ('2602', 'resource', '196'); -INSERT INTO cp_node VALUES ('2603', 'file', '196'); -INSERT INTO cp_node VALUES ('2604', 'resource', '196'); -INSERT INTO cp_node VALUES ('2605', 'file', '196'); -INSERT INTO cp_node VALUES ('2606', 'resource', '196'); -INSERT INTO cp_node VALUES ('2607', 'file', '196'); -INSERT INTO cp_node VALUES ('2608', 'resource', '196'); -INSERT INTO cp_node VALUES ('2609', 'file', '196'); -INSERT INTO cp_node VALUES ('2610', 'dependency', '196'); -INSERT INTO cp_node VALUES ('2611', 'resource', '196'); -INSERT INTO cp_node VALUES ('2612', 'file', '196'); -INSERT INTO cp_node VALUES ('2613', 'resource', '196'); -INSERT INTO cp_node VALUES ('2614', 'file', '196'); -INSERT INTO cp_node VALUES ('2615', 'sequencing', '196'); -INSERT INTO cp_node VALUES ('2616', 'objective', '196'); -INSERT INTO cp_node VALUES ('2617', 'mapInfo', '196'); -INSERT INTO cp_node VALUES ('2618', 'objective', '196'); -INSERT INTO cp_node VALUES ('2619', 'sequencing', '196'); -INSERT INTO cp_node VALUES ('2620', 'rule', '196'); -INSERT INTO cp_node VALUES ('2621', 'condition', '196'); -INSERT INTO cp_node VALUES ('2622', 'objective', '196'); -INSERT INTO cp_node VALUES ('2623', 'mapInfo', '196'); -INSERT INTO cp_node VALUES ('2624', 'sequencing', '196'); -INSERT INTO cp_node VALUES ('2625', 'objective', '196'); -INSERT INTO cp_node VALUES ('2626', 'mapInfo', '196'); -INSERT INTO cp_node VALUES ('2627', 'sequencing', '196'); -INSERT INTO cp_node VALUES ('2628', 'manifest', '197'); -INSERT INTO cp_node VALUES ('2629', 'organization', '197'); -INSERT INTO cp_node VALUES ('2630', 'item', '197'); -INSERT INTO cp_node VALUES ('2631', 'hideLMSUI', '197'); -INSERT INTO cp_node VALUES ('2632', 'hideLMSUI', '197'); -INSERT INTO cp_node VALUES ('2633', 'hideLMSUI', '197'); -INSERT INTO cp_node VALUES ('2634', 'item', '197'); -INSERT INTO cp_node VALUES ('2635', 'hideLMSUI', '197'); -INSERT INTO cp_node VALUES ('2636', 'hideLMSUI', '197'); -INSERT INTO cp_node VALUES ('2637', 'hideLMSUI', '197'); -INSERT INTO cp_node VALUES ('2638', 'item', '197'); -INSERT INTO cp_node VALUES ('2639', 'hideLMSUI', '197'); -INSERT INTO cp_node VALUES ('2640', 'hideLMSUI', '197'); -INSERT INTO cp_node VALUES ('2641', 'hideLMSUI', '197'); -INSERT INTO cp_node VALUES ('2642', 'resource', '197'); -INSERT INTO cp_node VALUES ('2643', 'file', '197'); -INSERT INTO cp_node VALUES ('2644', 'dependency', '197'); -INSERT INTO cp_node VALUES ('2645', 'dependency', '197'); -INSERT INTO cp_node VALUES ('2646', 'dependency', '197'); -INSERT INTO cp_node VALUES ('2647', 'dependency', '197'); -INSERT INTO cp_node VALUES ('2648', 'dependency', '197'); -INSERT INTO cp_node VALUES ('2649', 'resource', '197'); -INSERT INTO cp_node VALUES ('2650', 'file', '197'); -INSERT INTO cp_node VALUES ('2651', 'resource', '197'); -INSERT INTO cp_node VALUES ('2652', 'file', '197'); -INSERT INTO cp_node VALUES ('2653', 'resource', '197'); -INSERT INTO cp_node VALUES ('2654', 'file', '197'); -INSERT INTO cp_node VALUES ('2655', 'resource', '197'); -INSERT INTO cp_node VALUES ('2656', 'file', '197'); -INSERT INTO cp_node VALUES ('2657', 'dependency', '197'); -INSERT INTO cp_node VALUES ('2658', 'resource', '197'); -INSERT INTO cp_node VALUES ('2659', 'file', '197'); -INSERT INTO cp_node VALUES ('2660', 'resource', '197'); -INSERT INTO cp_node VALUES ('2661', 'file', '197'); -INSERT INTO cp_node VALUES ('2662', 'sequencing', '197'); -INSERT INTO cp_node VALUES ('2663', 'objective', '197'); -INSERT INTO cp_node VALUES ('2664', 'mapInfo', '197'); -INSERT INTO cp_node VALUES ('2665', 'objective', '197'); -INSERT INTO cp_node VALUES ('2666', 'objective', '197'); -INSERT INTO cp_node VALUES ('2667', 'objective', '197'); -INSERT INTO cp_node VALUES ('2668', 'sequencing', '197'); -INSERT INTO cp_node VALUES ('2669', 'rule', '197'); -INSERT INTO cp_node VALUES ('2670', 'condition', '197'); -INSERT INTO cp_node VALUES ('2671', 'objective', '197'); -INSERT INTO cp_node VALUES ('2672', 'mapInfo', '197'); -INSERT INTO cp_node VALUES ('2673', 'sequencing', '197'); -INSERT INTO cp_node VALUES ('2674', 'objective', '197'); -INSERT INTO cp_node VALUES ('2675', 'mapInfo', '197'); -INSERT INTO cp_node VALUES ('2676', 'sequencing', '197'); -INSERT INTO cp_node VALUES ('2677', 'manifest', '198'); -INSERT INTO cp_node VALUES ('2678', 'organization', '198'); -INSERT INTO cp_node VALUES ('2679', 'item', '198'); -INSERT INTO cp_node VALUES ('2680', 'hideLMSUI', '198'); -INSERT INTO cp_node VALUES ('2681', 'hideLMSUI', '198'); -INSERT INTO cp_node VALUES ('2682', 'hideLMSUI', '198'); -INSERT INTO cp_node VALUES ('2683', 'item', '198'); -INSERT INTO cp_node VALUES ('2684', 'hideLMSUI', '198'); -INSERT INTO cp_node VALUES ('2685', 'hideLMSUI', '198'); -INSERT INTO cp_node VALUES ('2686', 'hideLMSUI', '198'); -INSERT INTO cp_node VALUES ('2687', 'item', '198'); -INSERT INTO cp_node VALUES ('2688', 'hideLMSUI', '198'); -INSERT INTO cp_node VALUES ('2689', 'hideLMSUI', '198'); -INSERT INTO cp_node VALUES ('2690', 'hideLMSUI', '198'); -INSERT INTO cp_node VALUES ('2691', 'resource', '198'); -INSERT INTO cp_node VALUES ('2692', 'file', '198'); -INSERT INTO cp_node VALUES ('2693', 'dependency', '198'); -INSERT INTO cp_node VALUES ('2694', 'dependency', '198'); -INSERT INTO cp_node VALUES ('2695', 'dependency', '198'); -INSERT INTO cp_node VALUES ('2696', 'dependency', '198'); -INSERT INTO cp_node VALUES ('2697', 'dependency', '198'); -INSERT INTO cp_node VALUES ('2698', 'resource', '198'); -INSERT INTO cp_node VALUES ('2699', 'file', '198'); -INSERT INTO cp_node VALUES ('2700', 'resource', '198'); -INSERT INTO cp_node VALUES ('2701', 'file', '198'); -INSERT INTO cp_node VALUES ('2702', 'resource', '198'); -INSERT INTO cp_node VALUES ('2703', 'file', '198'); -INSERT INTO cp_node VALUES ('2704', 'resource', '198'); -INSERT INTO cp_node VALUES ('2705', 'file', '198'); -INSERT INTO cp_node VALUES ('2706', 'dependency', '198'); -INSERT INTO cp_node VALUES ('2707', 'resource', '198'); -INSERT INTO cp_node VALUES ('2708', 'file', '198'); -INSERT INTO cp_node VALUES ('2709', 'resource', '198'); -INSERT INTO cp_node VALUES ('2710', 'file', '198'); -INSERT INTO cp_node VALUES ('2711', 'sequencing', '198'); -INSERT INTO cp_node VALUES ('2712', 'objective', '198'); -INSERT INTO cp_node VALUES ('2713', 'objective', '198'); -INSERT INTO cp_node VALUES ('2714', 'mapInfo', '198'); -INSERT INTO cp_node VALUES ('2715', 'sequencing', '198'); -INSERT INTO cp_node VALUES ('2716', 'rule', '198'); -INSERT INTO cp_node VALUES ('2717', 'condition', '198'); -INSERT INTO cp_node VALUES ('2718', 'objective', '198'); -INSERT INTO cp_node VALUES ('2719', 'objective', '198'); -INSERT INTO cp_node VALUES ('2720', 'mapInfo', '198'); -INSERT INTO cp_node VALUES ('2721', 'sequencing', '198'); -INSERT INTO cp_node VALUES ('2722', 'objective', '198'); -INSERT INTO cp_node VALUES ('2723', 'objective', '198'); -INSERT INTO cp_node VALUES ('2724', 'mapInfo', '198'); -INSERT INTO cp_node VALUES ('2725', 'sequencing', '198'); -INSERT INTO cp_node VALUES ('2726', 'manifest', '199'); -INSERT INTO cp_node VALUES ('2727', 'organization', '199'); -INSERT INTO cp_node VALUES ('2728', 'item', '199'); -INSERT INTO cp_node VALUES ('2729', 'hideLMSUI', '199'); -INSERT INTO cp_node VALUES ('2730', 'hideLMSUI', '199'); -INSERT INTO cp_node VALUES ('2731', 'hideLMSUI', '199'); -INSERT INTO cp_node VALUES ('2732', 'item', '199'); -INSERT INTO cp_node VALUES ('2733', 'hideLMSUI', '199'); -INSERT INTO cp_node VALUES ('2734', 'hideLMSUI', '199'); -INSERT INTO cp_node VALUES ('2735', 'hideLMSUI', '199'); -INSERT INTO cp_node VALUES ('2736', 'item', '199'); -INSERT INTO cp_node VALUES ('2737', 'hideLMSUI', '199'); -INSERT INTO cp_node VALUES ('2738', 'hideLMSUI', '199'); -INSERT INTO cp_node VALUES ('2739', 'hideLMSUI', '199'); -INSERT INTO cp_node VALUES ('2740', 'resource', '199'); -INSERT INTO cp_node VALUES ('2741', 'file', '199'); -INSERT INTO cp_node VALUES ('2742', 'dependency', '199'); -INSERT INTO cp_node VALUES ('2743', 'dependency', '199'); -INSERT INTO cp_node VALUES ('2744', 'dependency', '199'); -INSERT INTO cp_node VALUES ('2745', 'dependency', '199'); -INSERT INTO cp_node VALUES ('2746', 'dependency', '199'); -INSERT INTO cp_node VALUES ('2747', 'resource', '199'); -INSERT INTO cp_node VALUES ('2748', 'file', '199'); -INSERT INTO cp_node VALUES ('2749', 'resource', '199'); -INSERT INTO cp_node VALUES ('2750', 'file', '199'); -INSERT INTO cp_node VALUES ('2751', 'resource', '199'); -INSERT INTO cp_node VALUES ('2752', 'file', '199'); -INSERT INTO cp_node VALUES ('2753', 'resource', '199'); -INSERT INTO cp_node VALUES ('2754', 'file', '199'); -INSERT INTO cp_node VALUES ('2755', 'dependency', '199'); -INSERT INTO cp_node VALUES ('2756', 'resource', '199'); -INSERT INTO cp_node VALUES ('2757', 'file', '199'); -INSERT INTO cp_node VALUES ('2758', 'resource', '199'); -INSERT INTO cp_node VALUES ('2759', 'file', '199'); -INSERT INTO cp_node VALUES ('2760', 'sequencing', '199'); -INSERT INTO cp_node VALUES ('2761', 'objective', '199'); -INSERT INTO cp_node VALUES ('2762', 'objective', '199'); -INSERT INTO cp_node VALUES ('2763', 'mapInfo', '199'); -INSERT INTO cp_node VALUES ('2764', 'objective', '199'); -INSERT INTO cp_node VALUES ('2765', 'objective', '199'); -INSERT INTO cp_node VALUES ('2766', 'sequencing', '199'); -INSERT INTO cp_node VALUES ('2767', 'rule', '199'); -INSERT INTO cp_node VALUES ('2768', 'condition', '199'); -INSERT INTO cp_node VALUES ('2769', 'objective', '199'); -INSERT INTO cp_node VALUES ('2770', 'objective', '199'); -INSERT INTO cp_node VALUES ('2771', 'mapInfo', '199'); -INSERT INTO cp_node VALUES ('2772', 'sequencing', '199'); -INSERT INTO cp_node VALUES ('2773', 'objective', '199'); -INSERT INTO cp_node VALUES ('2774', 'objective', '199'); -INSERT INTO cp_node VALUES ('2775', 'mapInfo', '199'); -INSERT INTO cp_node VALUES ('2776', 'sequencing', '199'); -INSERT INTO cp_node VALUES ('2777', 'manifest', '200'); -INSERT INTO cp_node VALUES ('2778', 'organization', '200'); -INSERT INTO cp_node VALUES ('2779', 'item', '200'); -INSERT INTO cp_node VALUES ('2780', 'hideLMSUI', '200'); -INSERT INTO cp_node VALUES ('2781', 'hideLMSUI', '200'); -INSERT INTO cp_node VALUES ('2782', 'hideLMSUI', '200'); -INSERT INTO cp_node VALUES ('2783', 'item', '200'); -INSERT INTO cp_node VALUES ('2784', 'hideLMSUI', '200'); -INSERT INTO cp_node VALUES ('2785', 'hideLMSUI', '200'); -INSERT INTO cp_node VALUES ('2786', 'hideLMSUI', '200'); -INSERT INTO cp_node VALUES ('2787', 'item', '200'); -INSERT INTO cp_node VALUES ('2788', 'hideLMSUI', '200'); -INSERT INTO cp_node VALUES ('2789', 'hideLMSUI', '200'); -INSERT INTO cp_node VALUES ('2790', 'hideLMSUI', '200'); -INSERT INTO cp_node VALUES ('2791', 'resource', '200'); -INSERT INTO cp_node VALUES ('2792', 'file', '200'); -INSERT INTO cp_node VALUES ('2793', 'dependency', '200'); -INSERT INTO cp_node VALUES ('2794', 'dependency', '200'); -INSERT INTO cp_node VALUES ('2795', 'dependency', '200'); -INSERT INTO cp_node VALUES ('2796', 'dependency', '200'); -INSERT INTO cp_node VALUES ('2797', 'dependency', '200'); -INSERT INTO cp_node VALUES ('2798', 'resource', '200'); -INSERT INTO cp_node VALUES ('2799', 'file', '200'); -INSERT INTO cp_node VALUES ('2800', 'resource', '200'); -INSERT INTO cp_node VALUES ('2801', 'file', '200'); -INSERT INTO cp_node VALUES ('2802', 'resource', '200'); -INSERT INTO cp_node VALUES ('2803', 'file', '200'); -INSERT INTO cp_node VALUES ('2804', 'resource', '200'); -INSERT INTO cp_node VALUES ('2805', 'file', '200'); -INSERT INTO cp_node VALUES ('2806', 'dependency', '200'); -INSERT INTO cp_node VALUES ('2807', 'resource', '200'); -INSERT INTO cp_node VALUES ('2808', 'file', '200'); -INSERT INTO cp_node VALUES ('2809', 'resource', '200'); -INSERT INTO cp_node VALUES ('2810', 'file', '200'); -INSERT INTO cp_node VALUES ('2811', 'sequencing', '200'); -INSERT INTO cp_node VALUES ('2812', 'rule', '200'); -INSERT INTO cp_node VALUES ('2813', 'condition', '200'); -INSERT INTO cp_node VALUES ('2814', 'condition', '200'); -INSERT INTO cp_node VALUES ('2815', 'objective', '200'); -INSERT INTO cp_node VALUES ('2816', 'objective', '200'); -INSERT INTO cp_node VALUES ('2817', 'sequencing', '200'); -INSERT INTO cp_node VALUES ('2818', 'manifest', '201'); -INSERT INTO cp_node VALUES ('2819', 'organization', '201'); -INSERT INTO cp_node VALUES ('2820', 'item', '201'); -INSERT INTO cp_node VALUES ('2821', 'hideLMSUI', '201'); -INSERT INTO cp_node VALUES ('2822', 'hideLMSUI', '201'); -INSERT INTO cp_node VALUES ('2823', 'hideLMSUI', '201'); -INSERT INTO cp_node VALUES ('2824', 'item', '201'); -INSERT INTO cp_node VALUES ('2825', 'hideLMSUI', '201'); -INSERT INTO cp_node VALUES ('2826', 'hideLMSUI', '201'); -INSERT INTO cp_node VALUES ('2827', 'hideLMSUI', '201'); -INSERT INTO cp_node VALUES ('2828', 'item', '201'); -INSERT INTO cp_node VALUES ('2829', 'hideLMSUI', '201'); -INSERT INTO cp_node VALUES ('2830', 'hideLMSUI', '201'); -INSERT INTO cp_node VALUES ('2831', 'hideLMSUI', '201'); -INSERT INTO cp_node VALUES ('2832', 'resource', '201'); -INSERT INTO cp_node VALUES ('2833', 'file', '201'); -INSERT INTO cp_node VALUES ('2834', 'dependency', '201'); -INSERT INTO cp_node VALUES ('2835', 'dependency', '201'); -INSERT INTO cp_node VALUES ('2836', 'dependency', '201'); -INSERT INTO cp_node VALUES ('2837', 'dependency', '201'); -INSERT INTO cp_node VALUES ('2838', 'dependency', '201'); -INSERT INTO cp_node VALUES ('2839', 'resource', '201'); -INSERT INTO cp_node VALUES ('2840', 'file', '201'); -INSERT INTO cp_node VALUES ('2841', 'resource', '201'); -INSERT INTO cp_node VALUES ('2842', 'file', '201'); -INSERT INTO cp_node VALUES ('2843', 'resource', '201'); -INSERT INTO cp_node VALUES ('2844', 'file', '201'); -INSERT INTO cp_node VALUES ('2845', 'resource', '201'); -INSERT INTO cp_node VALUES ('2846', 'file', '201'); -INSERT INTO cp_node VALUES ('2847', 'dependency', '201'); -INSERT INTO cp_node VALUES ('2848', 'resource', '201'); -INSERT INTO cp_node VALUES ('2849', 'file', '201'); -INSERT INTO cp_node VALUES ('2850', 'resource', '201'); -INSERT INTO cp_node VALUES ('2851', 'file', '201'); -INSERT INTO cp_node VALUES ('2852', 'sequencing', '201'); -INSERT INTO cp_node VALUES ('2853', 'rule', '201'); -INSERT INTO cp_node VALUES ('2854', 'condition', '201'); -INSERT INTO cp_node VALUES ('2855', 'condition', '201'); -INSERT INTO cp_node VALUES ('2856', 'objective', '201'); -INSERT INTO cp_node VALUES ('2857', 'objective', '201'); -INSERT INTO cp_node VALUES ('2858', 'sequencing', '201'); -INSERT INTO cp_node VALUES ('2859', 'manifest', '202'); -INSERT INTO cp_node VALUES ('2860', 'organization', '202'); -INSERT INTO cp_node VALUES ('2861', 'item', '202'); -INSERT INTO cp_node VALUES ('2862', 'hideLMSUI', '202'); -INSERT INTO cp_node VALUES ('2863', 'hideLMSUI', '202'); -INSERT INTO cp_node VALUES ('2864', 'hideLMSUI', '202'); -INSERT INTO cp_node VALUES ('2865', 'item', '202'); -INSERT INTO cp_node VALUES ('2866', 'hideLMSUI', '202'); -INSERT INTO cp_node VALUES ('2867', 'hideLMSUI', '202'); -INSERT INTO cp_node VALUES ('2868', 'hideLMSUI', '202'); -INSERT INTO cp_node VALUES ('2869', 'item', '202'); -INSERT INTO cp_node VALUES ('2870', 'hideLMSUI', '202'); -INSERT INTO cp_node VALUES ('2871', 'hideLMSUI', '202'); -INSERT INTO cp_node VALUES ('2872', 'hideLMSUI', '202'); -INSERT INTO cp_node VALUES ('2873', 'resource', '202'); -INSERT INTO cp_node VALUES ('2874', 'file', '202'); -INSERT INTO cp_node VALUES ('2875', 'dependency', '202'); -INSERT INTO cp_node VALUES ('2876', 'dependency', '202'); -INSERT INTO cp_node VALUES ('2877', 'dependency', '202'); -INSERT INTO cp_node VALUES ('2878', 'dependency', '202'); -INSERT INTO cp_node VALUES ('2879', 'dependency', '202'); -INSERT INTO cp_node VALUES ('2880', 'resource', '202'); -INSERT INTO cp_node VALUES ('2881', 'file', '202'); -INSERT INTO cp_node VALUES ('2882', 'resource', '202'); -INSERT INTO cp_node VALUES ('2883', 'file', '202'); -INSERT INTO cp_node VALUES ('2884', 'resource', '202'); -INSERT INTO cp_node VALUES ('2885', 'file', '202'); -INSERT INTO cp_node VALUES ('2886', 'resource', '202'); -INSERT INTO cp_node VALUES ('2887', 'file', '202'); -INSERT INTO cp_node VALUES ('2888', 'dependency', '202'); -INSERT INTO cp_node VALUES ('2889', 'resource', '202'); -INSERT INTO cp_node VALUES ('2890', 'file', '202'); -INSERT INTO cp_node VALUES ('2891', 'resource', '202'); -INSERT INTO cp_node VALUES ('2892', 'file', '202'); -INSERT INTO cp_node VALUES ('2893', 'sequencing', '202'); -INSERT INTO cp_node VALUES ('2894', 'rule', '202'); -INSERT INTO cp_node VALUES ('2895', 'condition', '202'); -INSERT INTO cp_node VALUES ('2896', 'condition', '202'); -INSERT INTO cp_node VALUES ('2897', 'objective', '202'); -INSERT INTO cp_node VALUES ('2898', 'objective', '202'); -INSERT INTO cp_node VALUES ('2899', 'sequencing', '202'); -INSERT INTO cp_node VALUES ('2900', 'manifest', '203'); -INSERT INTO cp_node VALUES ('2901', 'organization', '203'); -INSERT INTO cp_node VALUES ('2902', 'item', '203'); -INSERT INTO cp_node VALUES ('2903', 'hideLMSUI', '203'); -INSERT INTO cp_node VALUES ('2904', 'hideLMSUI', '203'); -INSERT INTO cp_node VALUES ('2905', 'hideLMSUI', '203'); -INSERT INTO cp_node VALUES ('2906', 'item', '203'); -INSERT INTO cp_node VALUES ('2907', 'hideLMSUI', '203'); -INSERT INTO cp_node VALUES ('2908', 'hideLMSUI', '203'); -INSERT INTO cp_node VALUES ('2909', 'hideLMSUI', '203'); -INSERT INTO cp_node VALUES ('2910', 'item', '203'); -INSERT INTO cp_node VALUES ('2911', 'hideLMSUI', '203'); -INSERT INTO cp_node VALUES ('2912', 'hideLMSUI', '203'); -INSERT INTO cp_node VALUES ('2913', 'hideLMSUI', '203'); -INSERT INTO cp_node VALUES ('2914', 'item', '203'); -INSERT INTO cp_node VALUES ('2915', 'hideLMSUI', '203'); -INSERT INTO cp_node VALUES ('2916', 'hideLMSUI', '203'); -INSERT INTO cp_node VALUES ('2917', 'hideLMSUI', '203'); -INSERT INTO cp_node VALUES ('2918', 'resource', '203'); -INSERT INTO cp_node VALUES ('2919', 'file', '203'); -INSERT INTO cp_node VALUES ('2920', 'dependency', '203'); -INSERT INTO cp_node VALUES ('2921', 'dependency', '203'); -INSERT INTO cp_node VALUES ('2922', 'dependency', '203'); -INSERT INTO cp_node VALUES ('2923', 'dependency', '203'); -INSERT INTO cp_node VALUES ('2924', 'dependency', '203'); -INSERT INTO cp_node VALUES ('2925', 'resource', '203'); -INSERT INTO cp_node VALUES ('2926', 'file', '203'); -INSERT INTO cp_node VALUES ('2927', 'resource', '203'); -INSERT INTO cp_node VALUES ('2928', 'file', '203'); -INSERT INTO cp_node VALUES ('2929', 'resource', '203'); -INSERT INTO cp_node VALUES ('2930', 'file', '203'); -INSERT INTO cp_node VALUES ('2931', 'resource', '203'); -INSERT INTO cp_node VALUES ('2932', 'file', '203'); -INSERT INTO cp_node VALUES ('2933', 'dependency', '203'); -INSERT INTO cp_node VALUES ('2934', 'resource', '203'); -INSERT INTO cp_node VALUES ('2935', 'file', '203'); -INSERT INTO cp_node VALUES ('2936', 'resource', '203'); -INSERT INTO cp_node VALUES ('2937', 'file', '203'); -INSERT INTO cp_node VALUES ('2938', 'sequencing', '203'); -INSERT INTO cp_node VALUES ('2939', 'objective', '203'); -INSERT INTO cp_node VALUES ('2940', 'objective', '203'); -INSERT INTO cp_node VALUES ('2941', 'mapInfo', '203'); -INSERT INTO cp_node VALUES ('2942', 'sequencing', '203'); -INSERT INTO cp_node VALUES ('2943', 'rule', '203'); -INSERT INTO cp_node VALUES ('2944', 'condition', '203'); -INSERT INTO cp_node VALUES ('2945', 'condition', '203'); -INSERT INTO cp_node VALUES ('2946', 'objective', '203'); -INSERT INTO cp_node VALUES ('2947', 'objective', '203'); -INSERT INTO cp_node VALUES ('2948', 'mapInfo', '203'); -INSERT INTO cp_node VALUES ('2949', 'sequencing', '203'); -INSERT INTO cp_node VALUES ('2950', 'manifest', '204'); -INSERT INTO cp_node VALUES ('2951', 'organization', '204'); -INSERT INTO cp_node VALUES ('2952', 'item', '204'); -INSERT INTO cp_node VALUES ('2953', 'hideLMSUI', '204'); -INSERT INTO cp_node VALUES ('2954', 'hideLMSUI', '204'); -INSERT INTO cp_node VALUES ('2955', 'hideLMSUI', '204'); -INSERT INTO cp_node VALUES ('2956', 'item', '204'); -INSERT INTO cp_node VALUES ('2957', 'hideLMSUI', '204'); -INSERT INTO cp_node VALUES ('2958', 'hideLMSUI', '204'); -INSERT INTO cp_node VALUES ('2959', 'hideLMSUI', '204'); -INSERT INTO cp_node VALUES ('2960', 'item', '204'); -INSERT INTO cp_node VALUES ('2961', 'hideLMSUI', '204'); -INSERT INTO cp_node VALUES ('2962', 'hideLMSUI', '204'); -INSERT INTO cp_node VALUES ('2963', 'hideLMSUI', '204'); -INSERT INTO cp_node VALUES ('2964', 'item', '204'); -INSERT INTO cp_node VALUES ('2965', 'hideLMSUI', '204'); -INSERT INTO cp_node VALUES ('2966', 'hideLMSUI', '204'); -INSERT INTO cp_node VALUES ('2967', 'hideLMSUI', '204'); -INSERT INTO cp_node VALUES ('2968', 'resource', '204'); -INSERT INTO cp_node VALUES ('2969', 'file', '204'); -INSERT INTO cp_node VALUES ('2970', 'dependency', '204'); -INSERT INTO cp_node VALUES ('2971', 'dependency', '204'); -INSERT INTO cp_node VALUES ('2972', 'dependency', '204'); -INSERT INTO cp_node VALUES ('2973', 'dependency', '204'); -INSERT INTO cp_node VALUES ('2974', 'dependency', '204'); -INSERT INTO cp_node VALUES ('2975', 'resource', '204'); -INSERT INTO cp_node VALUES ('2976', 'file', '204'); -INSERT INTO cp_node VALUES ('2977', 'resource', '204'); -INSERT INTO cp_node VALUES ('2978', 'file', '204'); -INSERT INTO cp_node VALUES ('2979', 'resource', '204'); -INSERT INTO cp_node VALUES ('2980', 'file', '204'); -INSERT INTO cp_node VALUES ('2981', 'resource', '204'); -INSERT INTO cp_node VALUES ('2982', 'file', '204'); -INSERT INTO cp_node VALUES ('2983', 'dependency', '204'); -INSERT INTO cp_node VALUES ('2984', 'resource', '204'); -INSERT INTO cp_node VALUES ('2985', 'file', '204'); -INSERT INTO cp_node VALUES ('2986', 'resource', '204'); -INSERT INTO cp_node VALUES ('2987', 'file', '204'); -INSERT INTO cp_node VALUES ('2988', 'sequencing', '204'); -INSERT INTO cp_node VALUES ('2989', 'objective', '204'); -INSERT INTO cp_node VALUES ('2990', 'objective', '204'); -INSERT INTO cp_node VALUES ('2991', 'mapInfo', '204'); -INSERT INTO cp_node VALUES ('2992', 'sequencing', '204'); -INSERT INTO cp_node VALUES ('2993', 'rule', '204'); -INSERT INTO cp_node VALUES ('2994', 'condition', '204'); -INSERT INTO cp_node VALUES ('2995', 'condition', '204'); -INSERT INTO cp_node VALUES ('2996', 'objective', '204'); -INSERT INTO cp_node VALUES ('2997', 'objective', '204'); -INSERT INTO cp_node VALUES ('2998', 'mapInfo', '204'); -INSERT INTO cp_node VALUES ('2999', 'sequencing', '204'); -INSERT INTO cp_node VALUES ('3000', 'manifest', '205'); -INSERT INTO cp_node VALUES ('3001', 'organization', '205'); -INSERT INTO cp_node VALUES ('3002', 'item', '205'); -INSERT INTO cp_node VALUES ('3003', 'hideLMSUI', '205'); -INSERT INTO cp_node VALUES ('3004', 'hideLMSUI', '205'); -INSERT INTO cp_node VALUES ('3005', 'hideLMSUI', '205'); -INSERT INTO cp_node VALUES ('3006', 'item', '205'); -INSERT INTO cp_node VALUES ('3007', 'hideLMSUI', '205'); -INSERT INTO cp_node VALUES ('3008', 'hideLMSUI', '205'); -INSERT INTO cp_node VALUES ('3009', 'hideLMSUI', '205'); -INSERT INTO cp_node VALUES ('3010', 'item', '205'); -INSERT INTO cp_node VALUES ('3011', 'hideLMSUI', '205'); -INSERT INTO cp_node VALUES ('3012', 'hideLMSUI', '205'); -INSERT INTO cp_node VALUES ('3013', 'hideLMSUI', '205'); -INSERT INTO cp_node VALUES ('3014', 'item', '205'); -INSERT INTO cp_node VALUES ('3015', 'hideLMSUI', '205'); -INSERT INTO cp_node VALUES ('3016', 'hideLMSUI', '205'); -INSERT INTO cp_node VALUES ('3017', 'hideLMSUI', '205'); -INSERT INTO cp_node VALUES ('3018', 'resource', '205'); -INSERT INTO cp_node VALUES ('3019', 'file', '205'); -INSERT INTO cp_node VALUES ('3020', 'dependency', '205'); -INSERT INTO cp_node VALUES ('3021', 'dependency', '205'); -INSERT INTO cp_node VALUES ('3022', 'dependency', '205'); -INSERT INTO cp_node VALUES ('3023', 'dependency', '205'); -INSERT INTO cp_node VALUES ('3024', 'dependency', '205'); -INSERT INTO cp_node VALUES ('3025', 'resource', '205'); -INSERT INTO cp_node VALUES ('3026', 'file', '205'); -INSERT INTO cp_node VALUES ('3027', 'resource', '205'); -INSERT INTO cp_node VALUES ('3028', 'file', '205'); -INSERT INTO cp_node VALUES ('3029', 'resource', '205'); -INSERT INTO cp_node VALUES ('3030', 'file', '205'); -INSERT INTO cp_node VALUES ('3031', 'resource', '205'); -INSERT INTO cp_node VALUES ('3032', 'file', '205'); -INSERT INTO cp_node VALUES ('3033', 'dependency', '205'); -INSERT INTO cp_node VALUES ('3034', 'resource', '205'); -INSERT INTO cp_node VALUES ('3035', 'file', '205'); -INSERT INTO cp_node VALUES ('3036', 'resource', '205'); -INSERT INTO cp_node VALUES ('3037', 'file', '205'); -INSERT INTO cp_node VALUES ('3038', 'sequencing', '205'); -INSERT INTO cp_node VALUES ('3039', 'objective', '205'); -INSERT INTO cp_node VALUES ('3040', 'objective', '205'); -INSERT INTO cp_node VALUES ('3041', 'mapInfo', '205'); -INSERT INTO cp_node VALUES ('3042', 'sequencing', '205'); -INSERT INTO cp_node VALUES ('3043', 'rule', '205'); -INSERT INTO cp_node VALUES ('3044', 'condition', '205'); -INSERT INTO cp_node VALUES ('3045', 'condition', '205'); -INSERT INTO cp_node VALUES ('3046', 'objective', '205'); -INSERT INTO cp_node VALUES ('3047', 'objective', '205'); -INSERT INTO cp_node VALUES ('3048', 'mapInfo', '205'); -INSERT INTO cp_node VALUES ('3049', 'sequencing', '205'); -INSERT INTO cp_node VALUES ('3050', 'manifest', '206'); -INSERT INTO cp_node VALUES ('3051', 'organization', '206'); -INSERT INTO cp_node VALUES ('3052', 'item', '206'); -INSERT INTO cp_node VALUES ('3053', 'hideLMSUI', '206'); -INSERT INTO cp_node VALUES ('3054', 'hideLMSUI', '206'); -INSERT INTO cp_node VALUES ('3055', 'hideLMSUI', '206'); -INSERT INTO cp_node VALUES ('3056', 'item', '206'); -INSERT INTO cp_node VALUES ('3057', 'hideLMSUI', '206'); -INSERT INTO cp_node VALUES ('3058', 'hideLMSUI', '206'); -INSERT INTO cp_node VALUES ('3059', 'hideLMSUI', '206'); -INSERT INTO cp_node VALUES ('3060', 'item', '206'); -INSERT INTO cp_node VALUES ('3061', 'hideLMSUI', '206'); -INSERT INTO cp_node VALUES ('3062', 'hideLMSUI', '206'); -INSERT INTO cp_node VALUES ('3063', 'hideLMSUI', '206'); -INSERT INTO cp_node VALUES ('3064', 'resource', '206'); -INSERT INTO cp_node VALUES ('3065', 'file', '206'); -INSERT INTO cp_node VALUES ('3066', 'dependency', '206'); -INSERT INTO cp_node VALUES ('3067', 'dependency', '206'); -INSERT INTO cp_node VALUES ('3068', 'dependency', '206'); -INSERT INTO cp_node VALUES ('3069', 'dependency', '206'); -INSERT INTO cp_node VALUES ('3070', 'dependency', '206'); -INSERT INTO cp_node VALUES ('3071', 'resource', '206'); -INSERT INTO cp_node VALUES ('3072', 'file', '206'); -INSERT INTO cp_node VALUES ('3073', 'resource', '206'); -INSERT INTO cp_node VALUES ('3074', 'file', '206'); -INSERT INTO cp_node VALUES ('3075', 'resource', '206'); -INSERT INTO cp_node VALUES ('3076', 'file', '206'); -INSERT INTO cp_node VALUES ('3077', 'resource', '206'); -INSERT INTO cp_node VALUES ('3078', 'file', '206'); -INSERT INTO cp_node VALUES ('3079', 'dependency', '206'); -INSERT INTO cp_node VALUES ('3080', 'resource', '206'); -INSERT INTO cp_node VALUES ('3081', 'file', '206'); -INSERT INTO cp_node VALUES ('3082', 'resource', '206'); -INSERT INTO cp_node VALUES ('3083', 'file', '206'); -INSERT INTO cp_node VALUES ('3084', 'sequencing', '206'); -INSERT INTO cp_node VALUES ('3085', 'objective', '206'); -INSERT INTO cp_node VALUES ('3086', 'objective', '206'); -INSERT INTO cp_node VALUES ('3087', 'mapInfo', '206'); -INSERT INTO cp_node VALUES ('3088', 'objective', '206'); -INSERT INTO cp_node VALUES ('3089', 'mapInfo', '206'); -INSERT INTO cp_node VALUES ('3090', 'objective', '206'); -INSERT INTO cp_node VALUES ('3091', 'mapInfo', '206'); -INSERT INTO cp_node VALUES ('3092', 'objective', '206'); -INSERT INTO cp_node VALUES ('3093', 'mapInfo', '206'); -INSERT INTO cp_node VALUES ('3094', 'sequencing', '206'); -INSERT INTO cp_node VALUES ('3095', 'objective', '206'); -INSERT INTO cp_node VALUES ('3096', 'objective', '206'); -INSERT INTO cp_node VALUES ('3097', 'mapInfo', '206'); -INSERT INTO cp_node VALUES ('3098', 'objective', '206'); -INSERT INTO cp_node VALUES ('3099', 'mapInfo', '206'); -INSERT INTO cp_node VALUES ('3100', 'objective', '206'); -INSERT INTO cp_node VALUES ('3101', 'mapInfo', '206'); -INSERT INTO cp_node VALUES ('3102', 'objective', '206'); -INSERT INTO cp_node VALUES ('3103', 'mapInfo', '206'); -INSERT INTO cp_node VALUES ('3104', 'objective', '206'); -INSERT INTO cp_node VALUES ('3105', 'mapInfo', '206'); -INSERT INTO cp_node VALUES ('3106', 'sequencing', '206'); -INSERT INTO cp_node VALUES ('3107', 'objective', '206'); -INSERT INTO cp_node VALUES ('3108', 'objective', '206'); -INSERT INTO cp_node VALUES ('3109', 'mapInfo', '206'); -INSERT INTO cp_node VALUES ('3110', 'objective', '206'); -INSERT INTO cp_node VALUES ('3111', 'mapInfo', '206'); -INSERT INTO cp_node VALUES ('3112', 'objective', '206'); -INSERT INTO cp_node VALUES ('3113', 'mapInfo', '206'); -INSERT INTO cp_node VALUES ('3114', 'objective', '206'); -INSERT INTO cp_node VALUES ('3115', 'mapInfo', '206'); -INSERT INTO cp_node VALUES ('3116', 'objective', '206'); -INSERT INTO cp_node VALUES ('3117', 'mapInfo', '206'); -INSERT INTO cp_node VALUES ('3118', 'sequencing', '206'); -INSERT INTO cp_node VALUES ('3119', 'manifest', '207'); -INSERT INTO cp_node VALUES ('3120', 'organization', '207'); -INSERT INTO cp_node VALUES ('3121', 'item', '207'); -INSERT INTO cp_node VALUES ('3122', 'hideLMSUI', '207'); -INSERT INTO cp_node VALUES ('3123', 'hideLMSUI', '207'); -INSERT INTO cp_node VALUES ('3124', 'hideLMSUI', '207'); -INSERT INTO cp_node VALUES ('3125', 'item', '207'); -INSERT INTO cp_node VALUES ('3126', 'hideLMSUI', '207'); -INSERT INTO cp_node VALUES ('3127', 'hideLMSUI', '207'); -INSERT INTO cp_node VALUES ('3128', 'hideLMSUI', '207'); -INSERT INTO cp_node VALUES ('3129', 'item', '207'); -INSERT INTO cp_node VALUES ('3130', 'hideLMSUI', '207'); -INSERT INTO cp_node VALUES ('3131', 'hideLMSUI', '207'); -INSERT INTO cp_node VALUES ('3132', 'hideLMSUI', '207'); -INSERT INTO cp_node VALUES ('3133', 'item', '207'); -INSERT INTO cp_node VALUES ('3134', 'hideLMSUI', '207'); -INSERT INTO cp_node VALUES ('3135', 'hideLMSUI', '207'); -INSERT INTO cp_node VALUES ('3136', 'hideLMSUI', '207'); -INSERT INTO cp_node VALUES ('3137', 'resource', '207'); -INSERT INTO cp_node VALUES ('3138', 'file', '207'); -INSERT INTO cp_node VALUES ('3139', 'dependency', '207'); -INSERT INTO cp_node VALUES ('3140', 'dependency', '207'); -INSERT INTO cp_node VALUES ('3141', 'dependency', '207'); -INSERT INTO cp_node VALUES ('3142', 'dependency', '207'); -INSERT INTO cp_node VALUES ('3143', 'dependency', '207'); -INSERT INTO cp_node VALUES ('3144', 'resource', '207'); -INSERT INTO cp_node VALUES ('3145', 'file', '207'); -INSERT INTO cp_node VALUES ('3146', 'resource', '207'); -INSERT INTO cp_node VALUES ('3147', 'file', '207'); -INSERT INTO cp_node VALUES ('3148', 'resource', '207'); -INSERT INTO cp_node VALUES ('3149', 'file', '207'); -INSERT INTO cp_node VALUES ('3150', 'resource', '207'); -INSERT INTO cp_node VALUES ('3151', 'file', '207'); -INSERT INTO cp_node VALUES ('3152', 'dependency', '207'); -INSERT INTO cp_node VALUES ('3153', 'resource', '207'); -INSERT INTO cp_node VALUES ('3154', 'file', '207'); -INSERT INTO cp_node VALUES ('3155', 'resource', '207'); -INSERT INTO cp_node VALUES ('3156', 'file', '207'); -INSERT INTO cp_node VALUES ('3157', 'sequencing', '207'); -INSERT INTO cp_node VALUES ('3158', 'objective', '207'); -INSERT INTO cp_node VALUES ('3159', 'objective', '207'); -INSERT INTO cp_node VALUES ('3160', 'objective', '207'); -INSERT INTO cp_node VALUES ('3161', 'objective', '207'); -INSERT INTO cp_node VALUES ('3162', 'objective', '207'); -INSERT INTO cp_node VALUES ('3163', 'objective', '207'); -INSERT INTO cp_node VALUES ('3164', 'mapInfo', '207'); -INSERT INTO cp_node VALUES ('3165', 'objective', '207'); -INSERT INTO cp_node VALUES ('3166', 'mapInfo', '207'); -INSERT INTO cp_node VALUES ('3167', 'sequencing', '207'); -INSERT INTO cp_node VALUES ('3168', 'objective', '207'); -INSERT INTO cp_node VALUES ('3169', 'mapInfo', '207'); -INSERT INTO cp_node VALUES ('3170', 'objective', '207'); -INSERT INTO cp_node VALUES ('3171', 'objective', '207'); -INSERT INTO cp_node VALUES ('3172', 'objective', '207'); -INSERT INTO cp_node VALUES ('3173', 'objective', '207'); -INSERT INTO cp_node VALUES ('3174', 'mapInfo', '207'); -INSERT INTO cp_node VALUES ('3175', 'objective', '207'); -INSERT INTO cp_node VALUES ('3176', 'sequencing', '207'); -INSERT INTO cp_node VALUES ('3177', 'objective', '207'); -INSERT INTO cp_node VALUES ('3178', 'objective', '207'); -INSERT INTO cp_node VALUES ('3179', 'objective', '207'); -INSERT INTO cp_node VALUES ('3180', 'mapInfo', '207'); -INSERT INTO cp_node VALUES ('3181', 'objective', '207'); -INSERT INTO cp_node VALUES ('3182', 'mapInfo', '207'); -INSERT INTO cp_node VALUES ('3183', 'objective', '207'); -INSERT INTO cp_node VALUES ('3184', 'mapInfo', '207'); -INSERT INTO cp_node VALUES ('3185', 'objective', '207'); -INSERT INTO cp_node VALUES ('3186', 'sequencing', '207'); -INSERT INTO cp_node VALUES ('3187', 'objective', '207'); -INSERT INTO cp_node VALUES ('3188', 'objective', '207'); -INSERT INTO cp_node VALUES ('3189', 'mapInfo', '207'); -INSERT INTO cp_node VALUES ('3190', 'mapInfo', '207'); -INSERT INTO cp_node VALUES ('3191', 'objective', '207'); -INSERT INTO cp_node VALUES ('3192', 'mapInfo', '207'); -INSERT INTO cp_node VALUES ('3193', 'sequencing', '207'); -INSERT INTO cp_node VALUES ('3194', 'manifest', '208'); -INSERT INTO cp_node VALUES ('3195', 'organization', '208'); -INSERT INTO cp_node VALUES ('3196', 'item', '208'); -INSERT INTO cp_node VALUES ('3197', 'hideLMSUI', '208'); -INSERT INTO cp_node VALUES ('3198', 'hideLMSUI', '208'); -INSERT INTO cp_node VALUES ('3199', 'hideLMSUI', '208'); -INSERT INTO cp_node VALUES ('3200', 'item', '208'); -INSERT INTO cp_node VALUES ('3201', 'hideLMSUI', '208'); -INSERT INTO cp_node VALUES ('3202', 'hideLMSUI', '208'); -INSERT INTO cp_node VALUES ('3203', 'hideLMSUI', '208'); -INSERT INTO cp_node VALUES ('3204', 'item', '208'); -INSERT INTO cp_node VALUES ('3205', 'item', '208'); -INSERT INTO cp_node VALUES ('3206', 'hideLMSUI', '208'); -INSERT INTO cp_node VALUES ('3207', 'hideLMSUI', '208'); -INSERT INTO cp_node VALUES ('3208', 'hideLMSUI', '208'); -INSERT INTO cp_node VALUES ('3209', 'item', '208'); -INSERT INTO cp_node VALUES ('3210', 'hideLMSUI', '208'); -INSERT INTO cp_node VALUES ('3211', 'hideLMSUI', '208'); -INSERT INTO cp_node VALUES ('3212', 'hideLMSUI', '208'); -INSERT INTO cp_node VALUES ('3213', 'item', '208'); -INSERT INTO cp_node VALUES ('3214', 'hideLMSUI', '208'); -INSERT INTO cp_node VALUES ('3215', 'hideLMSUI', '208'); -INSERT INTO cp_node VALUES ('3216', 'hideLMSUI', '208'); -INSERT INTO cp_node VALUES ('3217', 'item', '208'); -INSERT INTO cp_node VALUES ('3218', 'hideLMSUI', '208'); -INSERT INTO cp_node VALUES ('3219', 'hideLMSUI', '208'); -INSERT INTO cp_node VALUES ('3220', 'hideLMSUI', '208'); -INSERT INTO cp_node VALUES ('3221', 'resource', '208'); -INSERT INTO cp_node VALUES ('3222', 'file', '208'); -INSERT INTO cp_node VALUES ('3223', 'dependency', '208'); -INSERT INTO cp_node VALUES ('3224', 'dependency', '208'); -INSERT INTO cp_node VALUES ('3225', 'dependency', '208'); -INSERT INTO cp_node VALUES ('3226', 'dependency', '208'); -INSERT INTO cp_node VALUES ('3227', 'dependency', '208'); -INSERT INTO cp_node VALUES ('3228', 'resource', '208'); -INSERT INTO cp_node VALUES ('3229', 'file', '208'); -INSERT INTO cp_node VALUES ('3230', 'resource', '208'); -INSERT INTO cp_node VALUES ('3231', 'file', '208'); -INSERT INTO cp_node VALUES ('3232', 'resource', '208'); -INSERT INTO cp_node VALUES ('3233', 'file', '208'); -INSERT INTO cp_node VALUES ('3234', 'resource', '208'); -INSERT INTO cp_node VALUES ('3235', 'file', '208'); -INSERT INTO cp_node VALUES ('3236', 'dependency', '208'); -INSERT INTO cp_node VALUES ('3237', 'resource', '208'); -INSERT INTO cp_node VALUES ('3238', 'file', '208'); -INSERT INTO cp_node VALUES ('3239', 'resource', '208'); -INSERT INTO cp_node VALUES ('3240', 'file', '208'); -INSERT INTO cp_node VALUES ('3241', 'sequencing', '208'); -INSERT INTO cp_node VALUES ('3242', 'rule', '208'); -INSERT INTO cp_node VALUES ('3243', 'condition', '208'); -INSERT INTO cp_node VALUES ('3244', 'sequencing', '208'); -INSERT INTO cp_node VALUES ('3245', 'objective', '208'); -INSERT INTO cp_node VALUES ('3246', 'mapInfo', '208'); -INSERT INTO cp_node VALUES ('3247', 'sequencing', '208'); -INSERT INTO cp_node VALUES ('3248', 'objective', '208'); -INSERT INTO cp_node VALUES ('3249', 'mapInfo', '208'); -INSERT INTO cp_node VALUES ('3250', 'sequencing', '208'); -INSERT INTO cp_node VALUES ('3251', 'objective', '208'); -INSERT INTO cp_node VALUES ('3252', 'mapInfo', '208'); -INSERT INTO cp_node VALUES ('3253', 'sequencing', '208'); -INSERT INTO cp_node VALUES ('3254', 'rule', '208'); -INSERT INTO cp_node VALUES ('3255', 'condition', '208'); -INSERT INTO cp_node VALUES ('3256', 'rule', '208'); -INSERT INTO cp_node VALUES ('3257', 'condition', '208'); -INSERT INTO cp_node VALUES ('3258', 'sequencing', '208'); -INSERT INTO cp_node VALUES ('3259', 'rule', '208'); -INSERT INTO cp_node VALUES ('3260', 'condition', '208'); -INSERT INTO cp_node VALUES ('3261', 'rule', '208'); -INSERT INTO cp_node VALUES ('3262', 'condition', '208'); -INSERT INTO cp_node VALUES ('3263', 'objective', '208'); -INSERT INTO cp_node VALUES ('3264', 'mapInfo', '208'); -INSERT INTO cp_node VALUES ('3265', 'sequencing', '208'); -INSERT INTO cp_node VALUES ('3266', 'manifest', '209'); -INSERT INTO cp_node VALUES ('3267', 'organization', '209'); -INSERT INTO cp_node VALUES ('3268', 'item', '209'); -INSERT INTO cp_node VALUES ('3269', 'hideLMSUI', '209'); -INSERT INTO cp_node VALUES ('3270', 'hideLMSUI', '209'); -INSERT INTO cp_node VALUES ('3271', 'hideLMSUI', '209'); -INSERT INTO cp_node VALUES ('3272', 'item', '209'); -INSERT INTO cp_node VALUES ('3273', 'item', '209'); -INSERT INTO cp_node VALUES ('3274', 'hideLMSUI', '209'); -INSERT INTO cp_node VALUES ('3275', 'hideLMSUI', '209'); -INSERT INTO cp_node VALUES ('3276', 'hideLMSUI', '209'); -INSERT INTO cp_node VALUES ('3277', 'item', '209'); -INSERT INTO cp_node VALUES ('3278', 'hideLMSUI', '209'); -INSERT INTO cp_node VALUES ('3279', 'hideLMSUI', '209'); -INSERT INTO cp_node VALUES ('3280', 'hideLMSUI', '209'); -INSERT INTO cp_node VALUES ('3281', 'item', '209'); -INSERT INTO cp_node VALUES ('3282', 'hideLMSUI', '209'); -INSERT INTO cp_node VALUES ('3283', 'hideLMSUI', '209'); -INSERT INTO cp_node VALUES ('3284', 'hideLMSUI', '209'); -INSERT INTO cp_node VALUES ('3285', 'item', '209'); -INSERT INTO cp_node VALUES ('3286', 'hideLMSUI', '209'); -INSERT INTO cp_node VALUES ('3287', 'hideLMSUI', '209'); -INSERT INTO cp_node VALUES ('3288', 'hideLMSUI', '209'); -INSERT INTO cp_node VALUES ('3289', 'resource', '209'); -INSERT INTO cp_node VALUES ('3290', 'file', '209'); -INSERT INTO cp_node VALUES ('3291', 'dependency', '209'); -INSERT INTO cp_node VALUES ('3292', 'dependency', '209'); -INSERT INTO cp_node VALUES ('3293', 'dependency', '209'); -INSERT INTO cp_node VALUES ('3294', 'dependency', '209'); -INSERT INTO cp_node VALUES ('3295', 'dependency', '209'); -INSERT INTO cp_node VALUES ('3296', 'resource', '209'); -INSERT INTO cp_node VALUES ('3297', 'file', '209'); -INSERT INTO cp_node VALUES ('3298', 'resource', '209'); -INSERT INTO cp_node VALUES ('3299', 'file', '209'); -INSERT INTO cp_node VALUES ('3300', 'resource', '209'); -INSERT INTO cp_node VALUES ('3301', 'file', '209'); -INSERT INTO cp_node VALUES ('3302', 'resource', '209'); -INSERT INTO cp_node VALUES ('3303', 'file', '209'); -INSERT INTO cp_node VALUES ('3304', 'dependency', '209'); -INSERT INTO cp_node VALUES ('3305', 'resource', '209'); -INSERT INTO cp_node VALUES ('3306', 'file', '209'); -INSERT INTO cp_node VALUES ('3307', 'resource', '209'); -INSERT INTO cp_node VALUES ('3308', 'file', '209'); -INSERT INTO cp_node VALUES ('3309', 'sequencing', '209'); -INSERT INTO cp_node VALUES ('3310', 'rule', '209'); -INSERT INTO cp_node VALUES ('3311', 'condition', '209'); -INSERT INTO cp_node VALUES ('3312', 'rule', '209'); -INSERT INTO cp_node VALUES ('3313', 'condition', '209'); -INSERT INTO cp_node VALUES ('3314', 'sequencing', '209'); -INSERT INTO cp_node VALUES ('3315', 'manifest', '210'); -INSERT INTO cp_node VALUES ('3316', 'organization', '210'); -INSERT INTO cp_node VALUES ('3317', 'item', '210'); -INSERT INTO cp_node VALUES ('3318', 'hideLMSUI', '210'); -INSERT INTO cp_node VALUES ('3319', 'hideLMSUI', '210'); -INSERT INTO cp_node VALUES ('3320', 'hideLMSUI', '210'); -INSERT INTO cp_node VALUES ('3321', 'item', '210'); -INSERT INTO cp_node VALUES ('3322', 'item', '210'); -INSERT INTO cp_node VALUES ('3323', 'hideLMSUI', '210'); -INSERT INTO cp_node VALUES ('3324', 'hideLMSUI', '210'); -INSERT INTO cp_node VALUES ('3325', 'hideLMSUI', '210'); -INSERT INTO cp_node VALUES ('3326', 'item', '210'); -INSERT INTO cp_node VALUES ('3327', 'hideLMSUI', '210'); -INSERT INTO cp_node VALUES ('3328', 'hideLMSUI', '210'); -INSERT INTO cp_node VALUES ('3329', 'hideLMSUI', '210'); -INSERT INTO cp_node VALUES ('3330', 'item', '210'); -INSERT INTO cp_node VALUES ('3331', 'hideLMSUI', '210'); -INSERT INTO cp_node VALUES ('3332', 'hideLMSUI', '210'); -INSERT INTO cp_node VALUES ('3333', 'hideLMSUI', '210'); -INSERT INTO cp_node VALUES ('3334', 'item', '210'); -INSERT INTO cp_node VALUES ('3335', 'hideLMSUI', '210'); -INSERT INTO cp_node VALUES ('3336', 'hideLMSUI', '210'); -INSERT INTO cp_node VALUES ('3337', 'hideLMSUI', '210'); -INSERT INTO cp_node VALUES ('3338', 'resource', '210'); -INSERT INTO cp_node VALUES ('3339', 'file', '210'); -INSERT INTO cp_node VALUES ('3340', 'dependency', '210'); -INSERT INTO cp_node VALUES ('3341', 'dependency', '210'); -INSERT INTO cp_node VALUES ('3342', 'dependency', '210'); -INSERT INTO cp_node VALUES ('3343', 'dependency', '210'); -INSERT INTO cp_node VALUES ('3344', 'dependency', '210'); -INSERT INTO cp_node VALUES ('3345', 'resource', '210'); -INSERT INTO cp_node VALUES ('3346', 'file', '210'); -INSERT INTO cp_node VALUES ('3347', 'resource', '210'); -INSERT INTO cp_node VALUES ('3348', 'file', '210'); -INSERT INTO cp_node VALUES ('3349', 'resource', '210'); -INSERT INTO cp_node VALUES ('3350', 'file', '210'); -INSERT INTO cp_node VALUES ('3351', 'resource', '210'); -INSERT INTO cp_node VALUES ('3352', 'file', '210'); -INSERT INTO cp_node VALUES ('3353', 'dependency', '210'); -INSERT INTO cp_node VALUES ('3354', 'resource', '210'); -INSERT INTO cp_node VALUES ('3355', 'file', '210'); -INSERT INTO cp_node VALUES ('3356', 'resource', '210'); -INSERT INTO cp_node VALUES ('3357', 'file', '210'); -INSERT INTO cp_node VALUES ('3358', 'sequencing', '210'); -INSERT INTO cp_node VALUES ('3359', 'rule', '210'); -INSERT INTO cp_node VALUES ('3360', 'condition', '210'); -INSERT INTO cp_node VALUES ('3361', 'rule', '210'); -INSERT INTO cp_node VALUES ('3362', 'condition', '210'); -INSERT INTO cp_node VALUES ('3363', 'sequencing', '210'); -INSERT INTO cp_node VALUES ('3364', 'manifest', '211'); -INSERT INTO cp_node VALUES ('3365', 'organization', '211'); -INSERT INTO cp_node VALUES ('3366', 'item', '211'); -INSERT INTO cp_node VALUES ('3367', 'item', '211'); -INSERT INTO cp_node VALUES ('3368', 'item', '211'); -INSERT INTO cp_node VALUES ('3369', 'item', '211'); -INSERT INTO cp_node VALUES ('3370', 'item', '211'); -INSERT INTO cp_node VALUES ('3371', 'item', '211'); -INSERT INTO cp_node VALUES ('3372', 'resource', '211'); -INSERT INTO cp_node VALUES ('3373', 'file', '211'); -INSERT INTO cp_node VALUES ('3374', 'dependency', '211'); -INSERT INTO cp_node VALUES ('3375', 'dependency', '211'); -INSERT INTO cp_node VALUES ('3376', 'dependency', '211'); -INSERT INTO cp_node VALUES ('3377', 'dependency', '211'); -INSERT INTO cp_node VALUES ('3378', 'dependency', '211'); -INSERT INTO cp_node VALUES ('3379', 'resource', '211'); -INSERT INTO cp_node VALUES ('3380', 'file', '211'); -INSERT INTO cp_node VALUES ('3381', 'resource', '211'); -INSERT INTO cp_node VALUES ('3382', 'file', '211'); -INSERT INTO cp_node VALUES ('3383', 'resource', '211'); -INSERT INTO cp_node VALUES ('3384', 'file', '211'); -INSERT INTO cp_node VALUES ('3385', 'resource', '211'); -INSERT INTO cp_node VALUES ('3386', 'file', '211'); -INSERT INTO cp_node VALUES ('3387', 'dependency', '211'); -INSERT INTO cp_node VALUES ('3388', 'resource', '211'); -INSERT INTO cp_node VALUES ('3389', 'file', '211'); -INSERT INTO cp_node VALUES ('3390', 'resource', '211'); -INSERT INTO cp_node VALUES ('3391', 'file', '211'); -INSERT INTO cp_node VALUES ('3392', 'sequencing', '211'); -INSERT INTO cp_node VALUES ('3393', 'rule', '211'); -INSERT INTO cp_node VALUES ('3394', 'condition', '211'); -INSERT INTO cp_node VALUES ('3395', 'rule', '211'); -INSERT INTO cp_node VALUES ('3396', 'condition', '211'); -INSERT INTO cp_node VALUES ('3397', 'sequencing', '211'); -INSERT INTO cp_node VALUES ('3398', 'manifest', '212'); -INSERT INTO cp_node VALUES ('3399', 'organization', '212'); -INSERT INTO cp_node VALUES ('3400', 'item', '212'); -INSERT INTO cp_node VALUES ('3401', 'hideLMSUI', '212'); -INSERT INTO cp_node VALUES ('3402', 'hideLMSUI', '212'); -INSERT INTO cp_node VALUES ('3403', 'hideLMSUI', '212'); -INSERT INTO cp_node VALUES ('3404', 'item', '212'); -INSERT INTO cp_node VALUES ('3405', 'item', '212'); -INSERT INTO cp_node VALUES ('3406', 'hideLMSUI', '212'); -INSERT INTO cp_node VALUES ('3407', 'hideLMSUI', '212'); -INSERT INTO cp_node VALUES ('3408', 'hideLMSUI', '212'); -INSERT INTO cp_node VALUES ('3409', 'item', '212'); -INSERT INTO cp_node VALUES ('3410', 'hideLMSUI', '212'); -INSERT INTO cp_node VALUES ('3411', 'hideLMSUI', '212'); -INSERT INTO cp_node VALUES ('3412', 'hideLMSUI', '212'); -INSERT INTO cp_node VALUES ('3413', 'item', '212'); -INSERT INTO cp_node VALUES ('3414', 'hideLMSUI', '212'); -INSERT INTO cp_node VALUES ('3415', 'hideLMSUI', '212'); -INSERT INTO cp_node VALUES ('3416', 'hideLMSUI', '212'); -INSERT INTO cp_node VALUES ('3417', 'item', '212'); -INSERT INTO cp_node VALUES ('3418', 'hideLMSUI', '212'); -INSERT INTO cp_node VALUES ('3419', 'hideLMSUI', '212'); -INSERT INTO cp_node VALUES ('3420', 'hideLMSUI', '212'); -INSERT INTO cp_node VALUES ('3421', 'resource', '212'); -INSERT INTO cp_node VALUES ('3422', 'file', '212'); -INSERT INTO cp_node VALUES ('3423', 'dependency', '212'); -INSERT INTO cp_node VALUES ('3424', 'dependency', '212'); -INSERT INTO cp_node VALUES ('3425', 'dependency', '212'); -INSERT INTO cp_node VALUES ('3426', 'dependency', '212'); -INSERT INTO cp_node VALUES ('3427', 'dependency', '212'); -INSERT INTO cp_node VALUES ('3428', 'resource', '212'); -INSERT INTO cp_node VALUES ('3429', 'file', '212'); -INSERT INTO cp_node VALUES ('3430', 'resource', '212'); -INSERT INTO cp_node VALUES ('3431', 'file', '212'); -INSERT INTO cp_node VALUES ('3432', 'resource', '212'); -INSERT INTO cp_node VALUES ('3433', 'file', '212'); -INSERT INTO cp_node VALUES ('3434', 'resource', '212'); -INSERT INTO cp_node VALUES ('3435', 'file', '212'); -INSERT INTO cp_node VALUES ('3436', 'dependency', '212'); -INSERT INTO cp_node VALUES ('3437', 'resource', '212'); -INSERT INTO cp_node VALUES ('3438', 'file', '212'); -INSERT INTO cp_node VALUES ('3439', 'resource', '212'); -INSERT INTO cp_node VALUES ('3440', 'file', '212'); -INSERT INTO cp_node VALUES ('3441', 'sequencing', '212'); -INSERT INTO cp_node VALUES ('3442', 'rule', '212'); -INSERT INTO cp_node VALUES ('3443', 'condition', '212'); -INSERT INTO cp_node VALUES ('3444', 'rule', '212'); -INSERT INTO cp_node VALUES ('3445', 'condition', '212'); -INSERT INTO cp_node VALUES ('3446', 'sequencing', '212'); -INSERT INTO cp_node VALUES ('3447', 'manifest', '213'); -INSERT INTO cp_node VALUES ('3448', 'organization', '213'); -INSERT INTO cp_node VALUES ('3449', 'item', '213'); -INSERT INTO cp_node VALUES ('3450', 'hideLMSUI', '213'); -INSERT INTO cp_node VALUES ('3451', 'hideLMSUI', '213'); -INSERT INTO cp_node VALUES ('3452', 'hideLMSUI', '213'); -INSERT INTO cp_node VALUES ('3453', 'item', '213'); -INSERT INTO cp_node VALUES ('3454', 'item', '213'); -INSERT INTO cp_node VALUES ('3455', 'hideLMSUI', '213'); -INSERT INTO cp_node VALUES ('3456', 'hideLMSUI', '213'); -INSERT INTO cp_node VALUES ('3457', 'hideLMSUI', '213'); -INSERT INTO cp_node VALUES ('3458', 'item', '213'); -INSERT INTO cp_node VALUES ('3459', 'hideLMSUI', '213'); -INSERT INTO cp_node VALUES ('3460', 'hideLMSUI', '213'); -INSERT INTO cp_node VALUES ('3461', 'hideLMSUI', '213'); -INSERT INTO cp_node VALUES ('3462', 'item', '213'); -INSERT INTO cp_node VALUES ('3463', 'hideLMSUI', '213'); -INSERT INTO cp_node VALUES ('3464', 'hideLMSUI', '213'); -INSERT INTO cp_node VALUES ('3465', 'hideLMSUI', '213'); -INSERT INTO cp_node VALUES ('3466', 'item', '213'); -INSERT INTO cp_node VALUES ('3467', 'hideLMSUI', '213'); -INSERT INTO cp_node VALUES ('3468', 'hideLMSUI', '213'); -INSERT INTO cp_node VALUES ('3469', 'hideLMSUI', '213'); -INSERT INTO cp_node VALUES ('3470', 'resource', '213'); -INSERT INTO cp_node VALUES ('3471', 'file', '213'); -INSERT INTO cp_node VALUES ('3472', 'dependency', '213'); -INSERT INTO cp_node VALUES ('3473', 'dependency', '213'); -INSERT INTO cp_node VALUES ('3474', 'dependency', '213'); -INSERT INTO cp_node VALUES ('3475', 'dependency', '213'); -INSERT INTO cp_node VALUES ('3476', 'dependency', '213'); -INSERT INTO cp_node VALUES ('3477', 'resource', '213'); -INSERT INTO cp_node VALUES ('3478', 'file', '213'); -INSERT INTO cp_node VALUES ('3479', 'resource', '213'); -INSERT INTO cp_node VALUES ('3480', 'file', '213'); -INSERT INTO cp_node VALUES ('3481', 'resource', '213'); -INSERT INTO cp_node VALUES ('3482', 'file', '213'); -INSERT INTO cp_node VALUES ('3483', 'resource', '213'); -INSERT INTO cp_node VALUES ('3484', 'file', '213'); -INSERT INTO cp_node VALUES ('3485', 'dependency', '213'); -INSERT INTO cp_node VALUES ('3486', 'resource', '213'); -INSERT INTO cp_node VALUES ('3487', 'file', '213'); -INSERT INTO cp_node VALUES ('3488', 'resource', '213'); -INSERT INTO cp_node VALUES ('3489', 'file', '213'); -INSERT INTO cp_node VALUES ('3490', 'sequencing', '213'); -INSERT INTO cp_node VALUES ('3491', 'rule', '213'); -INSERT INTO cp_node VALUES ('3492', 'condition', '213'); -INSERT INTO cp_node VALUES ('3493', 'rule', '213'); -INSERT INTO cp_node VALUES ('3494', 'condition', '213'); -INSERT INTO cp_node VALUES ('3495', 'rule', '213'); -INSERT INTO cp_node VALUES ('3496', 'condition', '213'); -INSERT INTO cp_node VALUES ('3497', 'sequencing', '213'); -INSERT INTO cp_node VALUES ('3498', 'manifest', '214'); -INSERT INTO cp_node VALUES ('3499', 'organization', '214'); -INSERT INTO cp_node VALUES ('3500', 'item', '214'); -INSERT INTO cp_node VALUES ('3501', 'hideLMSUI', '214'); -INSERT INTO cp_node VALUES ('3502', 'hideLMSUI', '214'); -INSERT INTO cp_node VALUES ('3503', 'hideLMSUI', '214'); -INSERT INTO cp_node VALUES ('3504', 'item', '214'); -INSERT INTO cp_node VALUES ('3505', 'item', '214'); -INSERT INTO cp_node VALUES ('3506', 'hideLMSUI', '214'); -INSERT INTO cp_node VALUES ('3507', 'hideLMSUI', '214'); -INSERT INTO cp_node VALUES ('3508', 'hideLMSUI', '214'); -INSERT INTO cp_node VALUES ('3509', 'item', '214'); -INSERT INTO cp_node VALUES ('3510', 'hideLMSUI', '214'); -INSERT INTO cp_node VALUES ('3511', 'hideLMSUI', '214'); -INSERT INTO cp_node VALUES ('3512', 'hideLMSUI', '214'); -INSERT INTO cp_node VALUES ('3513', 'item', '214'); -INSERT INTO cp_node VALUES ('3514', 'hideLMSUI', '214'); -INSERT INTO cp_node VALUES ('3515', 'hideLMSUI', '214'); -INSERT INTO cp_node VALUES ('3516', 'hideLMSUI', '214'); -INSERT INTO cp_node VALUES ('3517', 'item', '214'); -INSERT INTO cp_node VALUES ('3518', 'hideLMSUI', '214'); -INSERT INTO cp_node VALUES ('3519', 'hideLMSUI', '214'); -INSERT INTO cp_node VALUES ('3520', 'hideLMSUI', '214'); -INSERT INTO cp_node VALUES ('3521', 'resource', '214'); -INSERT INTO cp_node VALUES ('3522', 'file', '214'); -INSERT INTO cp_node VALUES ('3523', 'dependency', '214'); -INSERT INTO cp_node VALUES ('3524', 'dependency', '214'); -INSERT INTO cp_node VALUES ('3525', 'dependency', '214'); -INSERT INTO cp_node VALUES ('3526', 'dependency', '214'); -INSERT INTO cp_node VALUES ('3527', 'dependency', '214'); -INSERT INTO cp_node VALUES ('3528', 'resource', '214'); -INSERT INTO cp_node VALUES ('3529', 'file', '214'); -INSERT INTO cp_node VALUES ('3530', 'resource', '214'); -INSERT INTO cp_node VALUES ('3531', 'file', '214'); -INSERT INTO cp_node VALUES ('3532', 'resource', '214'); -INSERT INTO cp_node VALUES ('3533', 'file', '214'); -INSERT INTO cp_node VALUES ('3534', 'resource', '214'); -INSERT INTO cp_node VALUES ('3535', 'file', '214'); -INSERT INTO cp_node VALUES ('3536', 'dependency', '214'); -INSERT INTO cp_node VALUES ('3537', 'resource', '214'); -INSERT INTO cp_node VALUES ('3538', 'file', '214'); -INSERT INTO cp_node VALUES ('3539', 'resource', '214'); -INSERT INTO cp_node VALUES ('3540', 'file', '214'); -INSERT INTO cp_node VALUES ('3541', 'sequencing', '214'); -INSERT INTO cp_node VALUES ('3542', 'rule', '214'); -INSERT INTO cp_node VALUES ('3543', 'condition', '214'); -INSERT INTO cp_node VALUES ('3544', 'rule', '214'); -INSERT INTO cp_node VALUES ('3545', 'condition', '214'); -INSERT INTO cp_node VALUES ('3546', 'rule', '214'); -INSERT INTO cp_node VALUES ('3547', 'condition', '214'); -INSERT INTO cp_node VALUES ('3548', 'sequencing', '214'); -INSERT INTO cp_node VALUES ('3549', 'manifest', '215'); -INSERT INTO cp_node VALUES ('3550', 'organization', '215'); -INSERT INTO cp_node VALUES ('3551', 'item', '215'); -INSERT INTO cp_node VALUES ('3552', 'hideLMSUI', '215'); -INSERT INTO cp_node VALUES ('3553', 'hideLMSUI', '215'); -INSERT INTO cp_node VALUES ('3554', 'hideLMSUI', '215'); -INSERT INTO cp_node VALUES ('3555', 'item', '215'); -INSERT INTO cp_node VALUES ('3556', 'item', '215'); -INSERT INTO cp_node VALUES ('3557', 'hideLMSUI', '215'); -INSERT INTO cp_node VALUES ('3558', 'hideLMSUI', '215'); -INSERT INTO cp_node VALUES ('3559', 'hideLMSUI', '215'); -INSERT INTO cp_node VALUES ('3560', 'item', '215'); -INSERT INTO cp_node VALUES ('3561', 'hideLMSUI', '215'); -INSERT INTO cp_node VALUES ('3562', 'hideLMSUI', '215'); -INSERT INTO cp_node VALUES ('3563', 'hideLMSUI', '215'); -INSERT INTO cp_node VALUES ('3564', 'item', '215'); -INSERT INTO cp_node VALUES ('3565', 'hideLMSUI', '215'); -INSERT INTO cp_node VALUES ('3566', 'hideLMSUI', '215'); -INSERT INTO cp_node VALUES ('3567', 'hideLMSUI', '215'); -INSERT INTO cp_node VALUES ('3568', 'item', '215'); -INSERT INTO cp_node VALUES ('3569', 'hideLMSUI', '215'); -INSERT INTO cp_node VALUES ('3570', 'hideLMSUI', '215'); -INSERT INTO cp_node VALUES ('3571', 'hideLMSUI', '215'); -INSERT INTO cp_node VALUES ('3572', 'resource', '215'); -INSERT INTO cp_node VALUES ('3573', 'file', '215'); -INSERT INTO cp_node VALUES ('3574', 'dependency', '215'); -INSERT INTO cp_node VALUES ('3575', 'dependency', '215'); -INSERT INTO cp_node VALUES ('3576', 'dependency', '215'); -INSERT INTO cp_node VALUES ('3577', 'dependency', '215'); -INSERT INTO cp_node VALUES ('3578', 'dependency', '215'); -INSERT INTO cp_node VALUES ('3579', 'resource', '215'); -INSERT INTO cp_node VALUES ('3580', 'file', '215'); -INSERT INTO cp_node VALUES ('3581', 'resource', '215'); -INSERT INTO cp_node VALUES ('3582', 'file', '215'); -INSERT INTO cp_node VALUES ('3583', 'resource', '215'); -INSERT INTO cp_node VALUES ('3584', 'file', '215'); -INSERT INTO cp_node VALUES ('3585', 'resource', '215'); -INSERT INTO cp_node VALUES ('3586', 'file', '215'); -INSERT INTO cp_node VALUES ('3587', 'dependency', '215'); -INSERT INTO cp_node VALUES ('3588', 'resource', '215'); -INSERT INTO cp_node VALUES ('3589', 'file', '215'); -INSERT INTO cp_node VALUES ('3590', 'resource', '215'); -INSERT INTO cp_node VALUES ('3591', 'file', '215'); -INSERT INTO cp_node VALUES ('3592', 'sequencing', '215'); -INSERT INTO cp_node VALUES ('3593', 'rule', '215'); -INSERT INTO cp_node VALUES ('3594', 'condition', '215'); -INSERT INTO cp_node VALUES ('3595', 'rule', '215'); -INSERT INTO cp_node VALUES ('3596', 'condition', '215'); -INSERT INTO cp_node VALUES ('3597', 'rule', '215'); -INSERT INTO cp_node VALUES ('3598', 'condition', '215'); -INSERT INTO cp_node VALUES ('3599', 'condition', '215'); -INSERT INTO cp_node VALUES ('3600', 'sequencing', '215'); -INSERT INTO cp_node VALUES ('3601', 'manifest', '216'); -INSERT INTO cp_node VALUES ('3602', 'organization', '216'); -INSERT INTO cp_node VALUES ('3603', 'item', '216'); -INSERT INTO cp_node VALUES ('3604', 'hideLMSUI', '216'); -INSERT INTO cp_node VALUES ('3605', 'hideLMSUI', '216'); -INSERT INTO cp_node VALUES ('3606', 'hideLMSUI', '216'); -INSERT INTO cp_node VALUES ('3607', 'item', '216'); -INSERT INTO cp_node VALUES ('3608', 'item', '216'); -INSERT INTO cp_node VALUES ('3609', 'hideLMSUI', '216'); -INSERT INTO cp_node VALUES ('3610', 'hideLMSUI', '216'); -INSERT INTO cp_node VALUES ('3611', 'hideLMSUI', '216'); -INSERT INTO cp_node VALUES ('3612', 'item', '216'); -INSERT INTO cp_node VALUES ('3613', 'hideLMSUI', '216'); -INSERT INTO cp_node VALUES ('3614', 'hideLMSUI', '216'); -INSERT INTO cp_node VALUES ('3615', 'hideLMSUI', '216'); -INSERT INTO cp_node VALUES ('3616', 'item', '216'); -INSERT INTO cp_node VALUES ('3617', 'hideLMSUI', '216'); -INSERT INTO cp_node VALUES ('3618', 'hideLMSUI', '216'); -INSERT INTO cp_node VALUES ('3619', 'hideLMSUI', '216'); -INSERT INTO cp_node VALUES ('3620', 'item', '216'); -INSERT INTO cp_node VALUES ('3621', 'hideLMSUI', '216'); -INSERT INTO cp_node VALUES ('3622', 'hideLMSUI', '216'); -INSERT INTO cp_node VALUES ('3623', 'hideLMSUI', '216'); -INSERT INTO cp_node VALUES ('3624', 'resource', '216'); -INSERT INTO cp_node VALUES ('3625', 'file', '216'); -INSERT INTO cp_node VALUES ('3626', 'dependency', '216'); -INSERT INTO cp_node VALUES ('3627', 'dependency', '216'); -INSERT INTO cp_node VALUES ('3628', 'dependency', '216'); -INSERT INTO cp_node VALUES ('3629', 'dependency', '216'); -INSERT INTO cp_node VALUES ('3630', 'dependency', '216'); -INSERT INTO cp_node VALUES ('3631', 'resource', '216'); -INSERT INTO cp_node VALUES ('3632', 'file', '216'); -INSERT INTO cp_node VALUES ('3633', 'resource', '216'); -INSERT INTO cp_node VALUES ('3634', 'file', '216'); -INSERT INTO cp_node VALUES ('3635', 'resource', '216'); -INSERT INTO cp_node VALUES ('3636', 'file', '216'); -INSERT INTO cp_node VALUES ('3637', 'resource', '216'); -INSERT INTO cp_node VALUES ('3638', 'file', '216'); -INSERT INTO cp_node VALUES ('3639', 'dependency', '216'); -INSERT INTO cp_node VALUES ('3640', 'resource', '216'); -INSERT INTO cp_node VALUES ('3641', 'file', '216'); -INSERT INTO cp_node VALUES ('3642', 'resource', '216'); -INSERT INTO cp_node VALUES ('3643', 'file', '216'); -INSERT INTO cp_node VALUES ('3644', 'sequencing', '216'); -INSERT INTO cp_node VALUES ('3645', 'rule', '216'); -INSERT INTO cp_node VALUES ('3646', 'condition', '216'); -INSERT INTO cp_node VALUES ('3647', 'rule', '216'); -INSERT INTO cp_node VALUES ('3648', 'condition', '216'); -INSERT INTO cp_node VALUES ('3649', 'rule', '216'); -INSERT INTO cp_node VALUES ('3650', 'condition', '216'); -INSERT INTO cp_node VALUES ('3651', 'condition', '216'); -INSERT INTO cp_node VALUES ('3652', 'sequencing', '216'); -INSERT INTO cp_node VALUES ('3653', 'manifest', '217'); -INSERT INTO cp_node VALUES ('3654', 'organization', '217'); -INSERT INTO cp_node VALUES ('3655', 'item', '217'); -INSERT INTO cp_node VALUES ('3656', 'hideLMSUI', '217'); -INSERT INTO cp_node VALUES ('3657', 'hideLMSUI', '217'); -INSERT INTO cp_node VALUES ('3658', 'hideLMSUI', '217'); -INSERT INTO cp_node VALUES ('3659', 'item', '217'); -INSERT INTO cp_node VALUES ('3660', 'item', '217'); -INSERT INTO cp_node VALUES ('3661', 'hideLMSUI', '217'); -INSERT INTO cp_node VALUES ('3662', 'hideLMSUI', '217'); -INSERT INTO cp_node VALUES ('3663', 'hideLMSUI', '217'); -INSERT INTO cp_node VALUES ('3664', 'item', '217'); -INSERT INTO cp_node VALUES ('3665', 'hideLMSUI', '217'); -INSERT INTO cp_node VALUES ('3666', 'hideLMSUI', '217'); -INSERT INTO cp_node VALUES ('3667', 'hideLMSUI', '217'); -INSERT INTO cp_node VALUES ('3668', 'item', '217'); -INSERT INTO cp_node VALUES ('3669', 'hideLMSUI', '217'); -INSERT INTO cp_node VALUES ('3670', 'hideLMSUI', '217'); -INSERT INTO cp_node VALUES ('3671', 'hideLMSUI', '217'); -INSERT INTO cp_node VALUES ('3672', 'item', '217'); -INSERT INTO cp_node VALUES ('3673', 'hideLMSUI', '217'); -INSERT INTO cp_node VALUES ('3674', 'hideLMSUI', '217'); -INSERT INTO cp_node VALUES ('3675', 'hideLMSUI', '217'); -INSERT INTO cp_node VALUES ('3676', 'resource', '217'); -INSERT INTO cp_node VALUES ('3677', 'file', '217'); -INSERT INTO cp_node VALUES ('3678', 'dependency', '217'); -INSERT INTO cp_node VALUES ('3679', 'dependency', '217'); -INSERT INTO cp_node VALUES ('3680', 'dependency', '217'); -INSERT INTO cp_node VALUES ('3681', 'dependency', '217'); -INSERT INTO cp_node VALUES ('3682', 'dependency', '217'); -INSERT INTO cp_node VALUES ('3683', 'resource', '217'); -INSERT INTO cp_node VALUES ('3684', 'file', '217'); -INSERT INTO cp_node VALUES ('3685', 'resource', '217'); -INSERT INTO cp_node VALUES ('3686', 'file', '217'); -INSERT INTO cp_node VALUES ('3687', 'resource', '217'); -INSERT INTO cp_node VALUES ('3688', 'file', '217'); -INSERT INTO cp_node VALUES ('3689', 'resource', '217'); -INSERT INTO cp_node VALUES ('3690', 'file', '217'); -INSERT INTO cp_node VALUES ('3691', 'dependency', '217'); -INSERT INTO cp_node VALUES ('3692', 'resource', '217'); -INSERT INTO cp_node VALUES ('3693', 'file', '217'); -INSERT INTO cp_node VALUES ('3694', 'resource', '217'); -INSERT INTO cp_node VALUES ('3695', 'file', '217'); -INSERT INTO cp_node VALUES ('3696', 'sequencing', '217'); -INSERT INTO cp_node VALUES ('3697', 'rule', '217'); -INSERT INTO cp_node VALUES ('3698', 'condition', '217'); -INSERT INTO cp_node VALUES ('3699', 'rule', '217'); -INSERT INTO cp_node VALUES ('3700', 'condition', '217'); -INSERT INTO cp_node VALUES ('3701', 'rule', '217'); -INSERT INTO cp_node VALUES ('3702', 'condition', '217'); -INSERT INTO cp_node VALUES ('3703', 'condition', '217'); -INSERT INTO cp_node VALUES ('3704', 'sequencing', '217'); -INSERT INTO cp_node VALUES ('3705', 'manifest', '218'); -INSERT INTO cp_node VALUES ('3706', 'organization', '218'); -INSERT INTO cp_node VALUES ('3707', 'item', '218'); -INSERT INTO cp_node VALUES ('3708', 'hideLMSUI', '218'); -INSERT INTO cp_node VALUES ('3709', 'hideLMSUI', '218'); -INSERT INTO cp_node VALUES ('3710', 'hideLMSUI', '218'); -INSERT INTO cp_node VALUES ('3711', 'item', '218'); -INSERT INTO cp_node VALUES ('3712', 'item', '218'); -INSERT INTO cp_node VALUES ('3713', 'hideLMSUI', '218'); -INSERT INTO cp_node VALUES ('3714', 'hideLMSUI', '218'); -INSERT INTO cp_node VALUES ('3715', 'hideLMSUI', '218'); -INSERT INTO cp_node VALUES ('3716', 'item', '218'); -INSERT INTO cp_node VALUES ('3717', 'hideLMSUI', '218'); -INSERT INTO cp_node VALUES ('3718', 'hideLMSUI', '218'); -INSERT INTO cp_node VALUES ('3719', 'hideLMSUI', '218'); -INSERT INTO cp_node VALUES ('3720', 'item', '218'); -INSERT INTO cp_node VALUES ('3721', 'hideLMSUI', '218'); -INSERT INTO cp_node VALUES ('3722', 'hideLMSUI', '218'); -INSERT INTO cp_node VALUES ('3723', 'hideLMSUI', '218'); -INSERT INTO cp_node VALUES ('3724', 'item', '218'); -INSERT INTO cp_node VALUES ('3725', 'hideLMSUI', '218'); -INSERT INTO cp_node VALUES ('3726', 'hideLMSUI', '218'); -INSERT INTO cp_node VALUES ('3727', 'hideLMSUI', '218'); -INSERT INTO cp_node VALUES ('3728', 'resource', '218'); -INSERT INTO cp_node VALUES ('3729', 'file', '218'); -INSERT INTO cp_node VALUES ('3730', 'dependency', '218'); -INSERT INTO cp_node VALUES ('3731', 'dependency', '218'); -INSERT INTO cp_node VALUES ('3732', 'dependency', '218'); -INSERT INTO cp_node VALUES ('3733', 'dependency', '218'); -INSERT INTO cp_node VALUES ('3734', 'dependency', '218'); -INSERT INTO cp_node VALUES ('3735', 'resource', '218'); -INSERT INTO cp_node VALUES ('3736', 'file', '218'); -INSERT INTO cp_node VALUES ('3737', 'resource', '218'); -INSERT INTO cp_node VALUES ('3738', 'file', '218'); -INSERT INTO cp_node VALUES ('3739', 'resource', '218'); -INSERT INTO cp_node VALUES ('3740', 'file', '218'); -INSERT INTO cp_node VALUES ('3741', 'resource', '218'); -INSERT INTO cp_node VALUES ('3742', 'file', '218'); -INSERT INTO cp_node VALUES ('3743', 'dependency', '218'); -INSERT INTO cp_node VALUES ('3744', 'resource', '218'); -INSERT INTO cp_node VALUES ('3745', 'file', '218'); -INSERT INTO cp_node VALUES ('3746', 'resource', '218'); -INSERT INTO cp_node VALUES ('3747', 'file', '218'); -INSERT INTO cp_node VALUES ('3748', 'sequencing', '218'); -INSERT INTO cp_node VALUES ('3749', 'rule', '218'); -INSERT INTO cp_node VALUES ('3750', 'condition', '218'); -INSERT INTO cp_node VALUES ('3751', 'rule', '218'); -INSERT INTO cp_node VALUES ('3752', 'condition', '218'); -INSERT INTO cp_node VALUES ('3753', 'rule', '218'); -INSERT INTO cp_node VALUES ('3754', 'condition', '218'); -INSERT INTO cp_node VALUES ('3755', 'condition', '218'); -INSERT INTO cp_node VALUES ('3756', 'sequencing', '218'); -INSERT INTO cp_node VALUES ('3757', 'manifest', '219'); -INSERT INTO cp_node VALUES ('3758', 'organization', '219'); -INSERT INTO cp_node VALUES ('3759', 'item', '219'); -INSERT INTO cp_node VALUES ('3760', 'hideLMSUI', '219'); -INSERT INTO cp_node VALUES ('3761', 'hideLMSUI', '219'); -INSERT INTO cp_node VALUES ('3762', 'hideLMSUI', '219'); -INSERT INTO cp_node VALUES ('3763', 'item', '219'); -INSERT INTO cp_node VALUES ('3764', 'item', '219'); -INSERT INTO cp_node VALUES ('3765', 'hideLMSUI', '219'); -INSERT INTO cp_node VALUES ('3766', 'hideLMSUI', '219'); -INSERT INTO cp_node VALUES ('3767', 'hideLMSUI', '219'); -INSERT INTO cp_node VALUES ('3768', 'item', '219'); -INSERT INTO cp_node VALUES ('3769', 'hideLMSUI', '219'); -INSERT INTO cp_node VALUES ('3770', 'hideLMSUI', '219'); -INSERT INTO cp_node VALUES ('3771', 'hideLMSUI', '219'); -INSERT INTO cp_node VALUES ('3772', 'item', '219'); -INSERT INTO cp_node VALUES ('3773', 'hideLMSUI', '219'); -INSERT INTO cp_node VALUES ('3774', 'hideLMSUI', '219'); -INSERT INTO cp_node VALUES ('3775', 'hideLMSUI', '219'); -INSERT INTO cp_node VALUES ('3776', 'item', '219'); -INSERT INTO cp_node VALUES ('3777', 'hideLMSUI', '219'); -INSERT INTO cp_node VALUES ('3778', 'hideLMSUI', '219'); -INSERT INTO cp_node VALUES ('3779', 'hideLMSUI', '219'); -INSERT INTO cp_node VALUES ('3780', 'resource', '219'); -INSERT INTO cp_node VALUES ('3781', 'file', '219'); -INSERT INTO cp_node VALUES ('3782', 'dependency', '219'); -INSERT INTO cp_node VALUES ('3783', 'dependency', '219'); -INSERT INTO cp_node VALUES ('3784', 'dependency', '219'); -INSERT INTO cp_node VALUES ('3785', 'dependency', '219'); -INSERT INTO cp_node VALUES ('3786', 'dependency', '219'); -INSERT INTO cp_node VALUES ('3787', 'resource', '219'); -INSERT INTO cp_node VALUES ('3788', 'file', '219'); -INSERT INTO cp_node VALUES ('3789', 'resource', '219'); -INSERT INTO cp_node VALUES ('3790', 'file', '219'); -INSERT INTO cp_node VALUES ('3791', 'resource', '219'); -INSERT INTO cp_node VALUES ('3792', 'file', '219'); -INSERT INTO cp_node VALUES ('3793', 'resource', '219'); -INSERT INTO cp_node VALUES ('3794', 'file', '219'); -INSERT INTO cp_node VALUES ('3795', 'dependency', '219'); -INSERT INTO cp_node VALUES ('3796', 'resource', '219'); -INSERT INTO cp_node VALUES ('3797', 'file', '219'); -INSERT INTO cp_node VALUES ('3798', 'resource', '219'); -INSERT INTO cp_node VALUES ('3799', 'file', '219'); -INSERT INTO cp_node VALUES ('3800', 'sequencing', '219'); -INSERT INTO cp_node VALUES ('3801', 'rule', '219'); -INSERT INTO cp_node VALUES ('3802', 'condition', '219'); -INSERT INTO cp_node VALUES ('3803', 'rule', '219'); -INSERT INTO cp_node VALUES ('3804', 'condition', '219'); -INSERT INTO cp_node VALUES ('3805', 'rule', '219'); -INSERT INTO cp_node VALUES ('3806', 'condition', '219'); -INSERT INTO cp_node VALUES ('3807', 'condition', '219'); -INSERT INTO cp_node VALUES ('3808', 'sequencing', '219'); -INSERT INTO cp_node VALUES ('3809', 'manifest', '220'); -INSERT INTO cp_node VALUES ('3810', 'organization', '220'); -INSERT INTO cp_node VALUES ('3811', 'item', '220'); -INSERT INTO cp_node VALUES ('3812', 'hideLMSUI', '220'); -INSERT INTO cp_node VALUES ('3813', 'hideLMSUI', '220'); -INSERT INTO cp_node VALUES ('3814', 'hideLMSUI', '220'); -INSERT INTO cp_node VALUES ('3815', 'item', '220'); -INSERT INTO cp_node VALUES ('3816', 'item', '220'); -INSERT INTO cp_node VALUES ('3817', 'hideLMSUI', '220'); -INSERT INTO cp_node VALUES ('3818', 'hideLMSUI', '220'); -INSERT INTO cp_node VALUES ('3819', 'hideLMSUI', '220'); -INSERT INTO cp_node VALUES ('3820', 'item', '220'); -INSERT INTO cp_node VALUES ('3821', 'hideLMSUI', '220'); -INSERT INTO cp_node VALUES ('3822', 'hideLMSUI', '220'); -INSERT INTO cp_node VALUES ('3823', 'hideLMSUI', '220'); -INSERT INTO cp_node VALUES ('3824', 'item', '220'); -INSERT INTO cp_node VALUES ('3825', 'hideLMSUI', '220'); -INSERT INTO cp_node VALUES ('3826', 'hideLMSUI', '220'); -INSERT INTO cp_node VALUES ('3827', 'hideLMSUI', '220'); -INSERT INTO cp_node VALUES ('3828', 'item', '220'); -INSERT INTO cp_node VALUES ('3829', 'hideLMSUI', '220'); -INSERT INTO cp_node VALUES ('3830', 'hideLMSUI', '220'); -INSERT INTO cp_node VALUES ('3831', 'hideLMSUI', '220'); -INSERT INTO cp_node VALUES ('3832', 'resource', '220'); -INSERT INTO cp_node VALUES ('3833', 'file', '220'); -INSERT INTO cp_node VALUES ('3834', 'dependency', '220'); -INSERT INTO cp_node VALUES ('3835', 'dependency', '220'); -INSERT INTO cp_node VALUES ('3836', 'dependency', '220'); -INSERT INTO cp_node VALUES ('3837', 'dependency', '220'); -INSERT INTO cp_node VALUES ('3838', 'dependency', '220'); -INSERT INTO cp_node VALUES ('3839', 'resource', '220'); -INSERT INTO cp_node VALUES ('3840', 'file', '220'); -INSERT INTO cp_node VALUES ('3841', 'resource', '220'); -INSERT INTO cp_node VALUES ('3842', 'file', '220'); -INSERT INTO cp_node VALUES ('3843', 'resource', '220'); -INSERT INTO cp_node VALUES ('3844', 'file', '220'); -INSERT INTO cp_node VALUES ('3845', 'resource', '220'); -INSERT INTO cp_node VALUES ('3846', 'file', '220'); -INSERT INTO cp_node VALUES ('3847', 'dependency', '220'); -INSERT INTO cp_node VALUES ('3848', 'resource', '220'); -INSERT INTO cp_node VALUES ('3849', 'file', '220'); -INSERT INTO cp_node VALUES ('3850', 'resource', '220'); -INSERT INTO cp_node VALUES ('3851', 'file', '220'); -INSERT INTO cp_node VALUES ('3852', 'sequencing', '220'); -INSERT INTO cp_node VALUES ('3853', 'rule', '220'); -INSERT INTO cp_node VALUES ('3854', 'condition', '220'); -INSERT INTO cp_node VALUES ('3855', 'rule', '220'); -INSERT INTO cp_node VALUES ('3856', 'condition', '220'); -INSERT INTO cp_node VALUES ('3857', 'rule', '220'); -INSERT INTO cp_node VALUES ('3858', 'condition', '220'); -INSERT INTO cp_node VALUES ('3859', 'condition', '220'); -INSERT INTO cp_node VALUES ('3860', 'sequencing', '220'); -INSERT INTO cp_node VALUES ('3861', 'manifest', '221'); -INSERT INTO cp_node VALUES ('3862', 'organization', '221'); -INSERT INTO cp_node VALUES ('3863', 'item', '221'); -INSERT INTO cp_node VALUES ('3864', 'item', '221'); -INSERT INTO cp_node VALUES ('3865', 'item', '221'); -INSERT INTO cp_node VALUES ('3866', 'item', '221'); -INSERT INTO cp_node VALUES ('3867', 'item', '221'); -INSERT INTO cp_node VALUES ('3868', 'item', '221'); -INSERT INTO cp_node VALUES ('3869', 'resource', '221'); -INSERT INTO cp_node VALUES ('3870', 'file', '221'); -INSERT INTO cp_node VALUES ('3871', 'dependency', '221'); -INSERT INTO cp_node VALUES ('3872', 'dependency', '221'); -INSERT INTO cp_node VALUES ('3873', 'dependency', '221'); -INSERT INTO cp_node VALUES ('3874', 'dependency', '221'); -INSERT INTO cp_node VALUES ('3875', 'dependency', '221'); -INSERT INTO cp_node VALUES ('3876', 'resource', '221'); -INSERT INTO cp_node VALUES ('3877', 'file', '221'); -INSERT INTO cp_node VALUES ('3878', 'resource', '221'); -INSERT INTO cp_node VALUES ('3879', 'file', '221'); -INSERT INTO cp_node VALUES ('3880', 'resource', '221'); -INSERT INTO cp_node VALUES ('3881', 'file', '221'); -INSERT INTO cp_node VALUES ('3882', 'resource', '221'); -INSERT INTO cp_node VALUES ('3883', 'file', '221'); -INSERT INTO cp_node VALUES ('3884', 'dependency', '221'); -INSERT INTO cp_node VALUES ('3885', 'resource', '221'); -INSERT INTO cp_node VALUES ('3886', 'file', '221'); -INSERT INTO cp_node VALUES ('3887', 'resource', '221'); -INSERT INTO cp_node VALUES ('3888', 'file', '221'); -INSERT INTO cp_node VALUES ('3889', 'sequencing', '221'); -INSERT INTO cp_node VALUES ('3890', 'rule', '221'); -INSERT INTO cp_node VALUES ('3891', 'condition', '221'); -INSERT INTO cp_node VALUES ('3892', 'rule', '221'); -INSERT INTO cp_node VALUES ('3893', 'condition', '221'); -INSERT INTO cp_node VALUES ('3894', 'rule', '221'); -INSERT INTO cp_node VALUES ('3895', 'condition', '221'); -INSERT INTO cp_node VALUES ('3896', 'condition', '221'); -INSERT INTO cp_node VALUES ('3897', 'sequencing', '221'); -INSERT INTO cp_node VALUES ('3898', 'manifest', '222'); -INSERT INTO cp_node VALUES ('3899', 'organization', '222'); -INSERT INTO cp_node VALUES ('3900', 'item', '222'); -INSERT INTO cp_node VALUES ('3901', 'hideLMSUI', '222'); -INSERT INTO cp_node VALUES ('3902', 'hideLMSUI', '222'); -INSERT INTO cp_node VALUES ('3903', 'hideLMSUI', '222'); -INSERT INTO cp_node VALUES ('3904', 'item', '222'); -INSERT INTO cp_node VALUES ('3905', 'item', '222'); -INSERT INTO cp_node VALUES ('3906', 'hideLMSUI', '222'); -INSERT INTO cp_node VALUES ('3907', 'hideLMSUI', '222'); -INSERT INTO cp_node VALUES ('3908', 'hideLMSUI', '222'); -INSERT INTO cp_node VALUES ('3909', 'item', '222'); -INSERT INTO cp_node VALUES ('3910', 'hideLMSUI', '222'); -INSERT INTO cp_node VALUES ('3911', 'hideLMSUI', '222'); -INSERT INTO cp_node VALUES ('3912', 'hideLMSUI', '222'); -INSERT INTO cp_node VALUES ('3913', 'item', '222'); -INSERT INTO cp_node VALUES ('3914', 'hideLMSUI', '222'); -INSERT INTO cp_node VALUES ('3915', 'hideLMSUI', '222'); -INSERT INTO cp_node VALUES ('3916', 'hideLMSUI', '222'); -INSERT INTO cp_node VALUES ('3917', 'item', '222'); -INSERT INTO cp_node VALUES ('3918', 'hideLMSUI', '222'); -INSERT INTO cp_node VALUES ('3919', 'hideLMSUI', '222'); -INSERT INTO cp_node VALUES ('3920', 'hideLMSUI', '222'); -INSERT INTO cp_node VALUES ('3921', 'resource', '222'); -INSERT INTO cp_node VALUES ('3922', 'file', '222'); -INSERT INTO cp_node VALUES ('3923', 'dependency', '222'); -INSERT INTO cp_node VALUES ('3924', 'dependency', '222'); -INSERT INTO cp_node VALUES ('3925', 'dependency', '222'); -INSERT INTO cp_node VALUES ('3926', 'dependency', '222'); -INSERT INTO cp_node VALUES ('3927', 'dependency', '222'); -INSERT INTO cp_node VALUES ('3928', 'resource', '222'); -INSERT INTO cp_node VALUES ('3929', 'file', '222'); -INSERT INTO cp_node VALUES ('3930', 'resource', '222'); -INSERT INTO cp_node VALUES ('3931', 'file', '222'); -INSERT INTO cp_node VALUES ('3932', 'resource', '222'); -INSERT INTO cp_node VALUES ('3933', 'file', '222'); -INSERT INTO cp_node VALUES ('3934', 'resource', '222'); -INSERT INTO cp_node VALUES ('3935', 'file', '222'); -INSERT INTO cp_node VALUES ('3936', 'dependency', '222'); -INSERT INTO cp_node VALUES ('3937', 'resource', '222'); -INSERT INTO cp_node VALUES ('3938', 'file', '222'); -INSERT INTO cp_node VALUES ('3939', 'resource', '222'); -INSERT INTO cp_node VALUES ('3940', 'file', '222'); -INSERT INTO cp_node VALUES ('3941', 'sequencing', '222'); -INSERT INTO cp_node VALUES ('3942', 'rule', '222'); -INSERT INTO cp_node VALUES ('3943', 'condition', '222'); -INSERT INTO cp_node VALUES ('3944', 'rule', '222'); -INSERT INTO cp_node VALUES ('3945', 'condition', '222'); -INSERT INTO cp_node VALUES ('3946', 'rule', '222'); -INSERT INTO cp_node VALUES ('3947', 'condition', '222'); -INSERT INTO cp_node VALUES ('3948', 'condition', '222'); -INSERT INTO cp_node VALUES ('3949', 'sequencing', '222'); -INSERT INTO cp_node VALUES ('3950', 'manifest', '223'); -INSERT INTO cp_node VALUES ('3951', 'organization', '223'); -INSERT INTO cp_node VALUES ('3952', 'item', '223'); -INSERT INTO cp_node VALUES ('3953', 'hideLMSUI', '223'); -INSERT INTO cp_node VALUES ('3954', 'hideLMSUI', '223'); -INSERT INTO cp_node VALUES ('3955', 'hideLMSUI', '223'); -INSERT INTO cp_node VALUES ('3956', 'item', '223'); -INSERT INTO cp_node VALUES ('3957', 'item', '223'); -INSERT INTO cp_node VALUES ('3958', 'hideLMSUI', '223'); -INSERT INTO cp_node VALUES ('3959', 'hideLMSUI', '223'); -INSERT INTO cp_node VALUES ('3960', 'hideLMSUI', '223'); -INSERT INTO cp_node VALUES ('3961', 'item', '223'); -INSERT INTO cp_node VALUES ('3962', 'hideLMSUI', '223'); -INSERT INTO cp_node VALUES ('3963', 'hideLMSUI', '223'); -INSERT INTO cp_node VALUES ('3964', 'hideLMSUI', '223'); -INSERT INTO cp_node VALUES ('3965', 'item', '223'); -INSERT INTO cp_node VALUES ('3966', 'hideLMSUI', '223'); -INSERT INTO cp_node VALUES ('3967', 'hideLMSUI', '223'); -INSERT INTO cp_node VALUES ('3968', 'hideLMSUI', '223'); -INSERT INTO cp_node VALUES ('3969', 'item', '223'); -INSERT INTO cp_node VALUES ('3970', 'hideLMSUI', '223'); -INSERT INTO cp_node VALUES ('3971', 'hideLMSUI', '223'); -INSERT INTO cp_node VALUES ('3972', 'hideLMSUI', '223'); -INSERT INTO cp_node VALUES ('3973', 'resource', '223'); -INSERT INTO cp_node VALUES ('3974', 'file', '223'); -INSERT INTO cp_node VALUES ('3975', 'dependency', '223'); -INSERT INTO cp_node VALUES ('3976', 'dependency', '223'); -INSERT INTO cp_node VALUES ('3977', 'dependency', '223'); -INSERT INTO cp_node VALUES ('3978', 'dependency', '223'); -INSERT INTO cp_node VALUES ('3979', 'dependency', '223'); -INSERT INTO cp_node VALUES ('3980', 'resource', '223'); -INSERT INTO cp_node VALUES ('3981', 'file', '223'); -INSERT INTO cp_node VALUES ('3982', 'resource', '223'); -INSERT INTO cp_node VALUES ('3983', 'file', '223'); -INSERT INTO cp_node VALUES ('3984', 'resource', '223'); -INSERT INTO cp_node VALUES ('3985', 'file', '223'); -INSERT INTO cp_node VALUES ('3986', 'resource', '223'); -INSERT INTO cp_node VALUES ('3987', 'file', '223'); -INSERT INTO cp_node VALUES ('3988', 'dependency', '223'); -INSERT INTO cp_node VALUES ('3989', 'resource', '223'); -INSERT INTO cp_node VALUES ('3990', 'file', '223'); -INSERT INTO cp_node VALUES ('3991', 'resource', '223'); -INSERT INTO cp_node VALUES ('3992', 'file', '223'); -INSERT INTO cp_node VALUES ('3993', 'sequencing', '223'); -INSERT INTO cp_node VALUES ('3994', 'rule', '223'); -INSERT INTO cp_node VALUES ('3995', 'condition', '223'); -INSERT INTO cp_node VALUES ('3996', 'rule', '223'); -INSERT INTO cp_node VALUES ('3997', 'condition', '223'); -INSERT INTO cp_node VALUES ('3998', 'rule', '223'); -INSERT INTO cp_node VALUES ('3999', 'condition', '223'); -INSERT INTO cp_node VALUES ('4000', 'sequencing', '223'); -INSERT INTO cp_node VALUES ('4001', 'manifest', '224'); -INSERT INTO cp_node VALUES ('4002', 'organization', '224'); -INSERT INTO cp_node VALUES ('4003', 'item', '224'); -INSERT INTO cp_node VALUES ('4004', 'hideLMSUI', '224'); -INSERT INTO cp_node VALUES ('4005', 'hideLMSUI', '224'); -INSERT INTO cp_node VALUES ('4006', 'hideLMSUI', '224'); -INSERT INTO cp_node VALUES ('4007', 'item', '224'); -INSERT INTO cp_node VALUES ('4008', 'item', '224'); -INSERT INTO cp_node VALUES ('4009', 'hideLMSUI', '224'); -INSERT INTO cp_node VALUES ('4010', 'hideLMSUI', '224'); -INSERT INTO cp_node VALUES ('4011', 'hideLMSUI', '224'); -INSERT INTO cp_node VALUES ('4012', 'item', '224'); -INSERT INTO cp_node VALUES ('4013', 'hideLMSUI', '224'); -INSERT INTO cp_node VALUES ('4014', 'hideLMSUI', '224'); -INSERT INTO cp_node VALUES ('4015', 'hideLMSUI', '224'); -INSERT INTO cp_node VALUES ('4016', 'item', '224'); -INSERT INTO cp_node VALUES ('4017', 'hideLMSUI', '224'); -INSERT INTO cp_node VALUES ('4018', 'hideLMSUI', '224'); -INSERT INTO cp_node VALUES ('4019', 'hideLMSUI', '224'); -INSERT INTO cp_node VALUES ('4020', 'item', '224'); -INSERT INTO cp_node VALUES ('4021', 'hideLMSUI', '224'); -INSERT INTO cp_node VALUES ('4022', 'hideLMSUI', '224'); -INSERT INTO cp_node VALUES ('4023', 'hideLMSUI', '224'); -INSERT INTO cp_node VALUES ('4024', 'resource', '224'); -INSERT INTO cp_node VALUES ('4025', 'file', '224'); -INSERT INTO cp_node VALUES ('4026', 'dependency', '224'); -INSERT INTO cp_node VALUES ('4027', 'dependency', '224'); -INSERT INTO cp_node VALUES ('4028', 'dependency', '224'); -INSERT INTO cp_node VALUES ('4029', 'dependency', '224'); -INSERT INTO cp_node VALUES ('4030', 'dependency', '224'); -INSERT INTO cp_node VALUES ('4031', 'resource', '224'); -INSERT INTO cp_node VALUES ('4032', 'file', '224'); -INSERT INTO cp_node VALUES ('4033', 'resource', '224'); -INSERT INTO cp_node VALUES ('4034', 'file', '224'); -INSERT INTO cp_node VALUES ('4035', 'resource', '224'); -INSERT INTO cp_node VALUES ('4036', 'file', '224'); -INSERT INTO cp_node VALUES ('4037', 'resource', '224'); -INSERT INTO cp_node VALUES ('4038', 'file', '224'); -INSERT INTO cp_node VALUES ('4039', 'dependency', '224'); -INSERT INTO cp_node VALUES ('4040', 'resource', '224'); -INSERT INTO cp_node VALUES ('4041', 'file', '224'); -INSERT INTO cp_node VALUES ('4042', 'resource', '224'); -INSERT INTO cp_node VALUES ('4043', 'file', '224'); -INSERT INTO cp_node VALUES ('4044', 'sequencing', '224'); -INSERT INTO cp_node VALUES ('4045', 'rule', '224'); -INSERT INTO cp_node VALUES ('4046', 'condition', '224'); -INSERT INTO cp_node VALUES ('4047', 'rule', '224'); -INSERT INTO cp_node VALUES ('4048', 'condition', '224'); -INSERT INTO cp_node VALUES ('4049', 'rule', '224'); -INSERT INTO cp_node VALUES ('4050', 'condition', '224'); -INSERT INTO cp_node VALUES ('4051', 'sequencing', '224'); -INSERT INTO cp_node VALUES ('4052', 'manifest', '225'); -INSERT INTO cp_node VALUES ('4053', 'organization', '225'); -INSERT INTO cp_node VALUES ('4054', 'item', '225'); -INSERT INTO cp_node VALUES ('4055', 'item', '225'); -INSERT INTO cp_node VALUES ('4056', 'hideLMSUI', '225'); -INSERT INTO cp_node VALUES ('4057', 'hideLMSUI', '225'); -INSERT INTO cp_node VALUES ('4058', 'hideLMSUI', '225'); -INSERT INTO cp_node VALUES ('4059', 'item', '225'); -INSERT INTO cp_node VALUES ('4060', 'hideLMSUI', '225'); -INSERT INTO cp_node VALUES ('4061', 'hideLMSUI', '225'); -INSERT INTO cp_node VALUES ('4062', 'hideLMSUI', '225'); -INSERT INTO cp_node VALUES ('4063', 'item', '225'); -INSERT INTO cp_node VALUES ('4064', 'hideLMSUI', '225'); -INSERT INTO cp_node VALUES ('4065', 'hideLMSUI', '225'); -INSERT INTO cp_node VALUES ('4066', 'hideLMSUI', '225'); -INSERT INTO cp_node VALUES ('4067', 'item', '225'); -INSERT INTO cp_node VALUES ('4068', 'hideLMSUI', '225'); -INSERT INTO cp_node VALUES ('4069', 'hideLMSUI', '225'); -INSERT INTO cp_node VALUES ('4070', 'hideLMSUI', '225'); -INSERT INTO cp_node VALUES ('4071', 'resource', '225'); -INSERT INTO cp_node VALUES ('4072', 'file', '225'); -INSERT INTO cp_node VALUES ('4073', 'dependency', '225'); -INSERT INTO cp_node VALUES ('4074', 'dependency', '225'); -INSERT INTO cp_node VALUES ('4075', 'dependency', '225'); -INSERT INTO cp_node VALUES ('4076', 'dependency', '225'); -INSERT INTO cp_node VALUES ('4077', 'dependency', '225'); -INSERT INTO cp_node VALUES ('4078', 'resource', '225'); -INSERT INTO cp_node VALUES ('4079', 'file', '225'); -INSERT INTO cp_node VALUES ('4080', 'resource', '225'); -INSERT INTO cp_node VALUES ('4081', 'file', '225'); -INSERT INTO cp_node VALUES ('4082', 'resource', '225'); -INSERT INTO cp_node VALUES ('4083', 'file', '225'); -INSERT INTO cp_node VALUES ('4084', 'resource', '225'); -INSERT INTO cp_node VALUES ('4085', 'file', '225'); -INSERT INTO cp_node VALUES ('4086', 'dependency', '225'); -INSERT INTO cp_node VALUES ('4087', 'resource', '225'); -INSERT INTO cp_node VALUES ('4088', 'file', '225'); -INSERT INTO cp_node VALUES ('4089', 'resource', '225'); -INSERT INTO cp_node VALUES ('4090', 'file', '225'); -INSERT INTO cp_node VALUES ('4091', 'sequencing', '225'); -INSERT INTO cp_node VALUES ('4092', 'rule', '225'); -INSERT INTO cp_node VALUES ('4093', 'condition', '225'); -INSERT INTO cp_node VALUES ('4094', 'rule', '225'); -INSERT INTO cp_node VALUES ('4095', 'condition', '225'); -INSERT INTO cp_node VALUES ('4096', 'sequencing', '225'); -INSERT INTO cp_node VALUES ('4097', 'manifest', '226'); -INSERT INTO cp_node VALUES ('4098', 'organization', '226'); -INSERT INTO cp_node VALUES ('4099', 'item', '226'); -INSERT INTO cp_node VALUES ('4100', 'item', '226'); -INSERT INTO cp_node VALUES ('4101', 'hideLMSUI', '226'); -INSERT INTO cp_node VALUES ('4102', 'hideLMSUI', '226'); -INSERT INTO cp_node VALUES ('4103', 'hideLMSUI', '226'); -INSERT INTO cp_node VALUES ('4104', 'item', '226'); -INSERT INTO cp_node VALUES ('4105', 'hideLMSUI', '226'); -INSERT INTO cp_node VALUES ('4106', 'hideLMSUI', '226'); -INSERT INTO cp_node VALUES ('4107', 'hideLMSUI', '226'); -INSERT INTO cp_node VALUES ('4108', 'item', '226'); -INSERT INTO cp_node VALUES ('4109', 'hideLMSUI', '226'); -INSERT INTO cp_node VALUES ('4110', 'hideLMSUI', '226'); -INSERT INTO cp_node VALUES ('4111', 'hideLMSUI', '226'); -INSERT INTO cp_node VALUES ('4112', 'item', '226'); -INSERT INTO cp_node VALUES ('4113', 'hideLMSUI', '226'); -INSERT INTO cp_node VALUES ('4114', 'hideLMSUI', '226'); -INSERT INTO cp_node VALUES ('4115', 'hideLMSUI', '226'); -INSERT INTO cp_node VALUES ('4116', 'resource', '226'); -INSERT INTO cp_node VALUES ('4117', 'file', '226'); -INSERT INTO cp_node VALUES ('4118', 'dependency', '226'); -INSERT INTO cp_node VALUES ('4119', 'dependency', '226'); -INSERT INTO cp_node VALUES ('4120', 'dependency', '226'); -INSERT INTO cp_node VALUES ('4121', 'dependency', '226'); -INSERT INTO cp_node VALUES ('4122', 'dependency', '226'); -INSERT INTO cp_node VALUES ('4123', 'resource', '226'); -INSERT INTO cp_node VALUES ('4124', 'file', '226'); -INSERT INTO cp_node VALUES ('4125', 'resource', '226'); -INSERT INTO cp_node VALUES ('4126', 'file', '226'); -INSERT INTO cp_node VALUES ('4127', 'resource', '226'); -INSERT INTO cp_node VALUES ('4128', 'file', '226'); -INSERT INTO cp_node VALUES ('4129', 'resource', '226'); -INSERT INTO cp_node VALUES ('4130', 'file', '226'); -INSERT INTO cp_node VALUES ('4131', 'dependency', '226'); -INSERT INTO cp_node VALUES ('4132', 'resource', '226'); -INSERT INTO cp_node VALUES ('4133', 'file', '226'); -INSERT INTO cp_node VALUES ('4134', 'resource', '226'); -INSERT INTO cp_node VALUES ('4135', 'file', '226'); -INSERT INTO cp_node VALUES ('4136', 'sequencing', '226'); -INSERT INTO cp_node VALUES ('4137', 'rule', '226'); -INSERT INTO cp_node VALUES ('4138', 'condition', '226'); -INSERT INTO cp_node VALUES ('4139', 'rule', '226'); -INSERT INTO cp_node VALUES ('4140', 'condition', '226'); -INSERT INTO cp_node VALUES ('4141', 'rule', '226'); -INSERT INTO cp_node VALUES ('4142', 'condition', '226'); -INSERT INTO cp_node VALUES ('4143', 'sequencing', '226'); -INSERT INTO cp_node VALUES ('4144', 'manifest', '227'); -INSERT INTO cp_node VALUES ('4145', 'organization', '227'); -INSERT INTO cp_node VALUES ('4146', 'item', '227'); -INSERT INTO cp_node VALUES ('4147', 'hideLMSUI', '227'); -INSERT INTO cp_node VALUES ('4148', 'hideLMSUI', '227'); -INSERT INTO cp_node VALUES ('4149', 'hideLMSUI', '227'); -INSERT INTO cp_node VALUES ('4150', 'item', '227'); -INSERT INTO cp_node VALUES ('4151', 'item', '227'); -INSERT INTO cp_node VALUES ('4152', 'hideLMSUI', '227'); -INSERT INTO cp_node VALUES ('4153', 'hideLMSUI', '227'); -INSERT INTO cp_node VALUES ('4154', 'hideLMSUI', '227'); -INSERT INTO cp_node VALUES ('4155', 'item', '227'); -INSERT INTO cp_node VALUES ('4156', 'hideLMSUI', '227'); -INSERT INTO cp_node VALUES ('4157', 'hideLMSUI', '227'); -INSERT INTO cp_node VALUES ('4158', 'hideLMSUI', '227'); -INSERT INTO cp_node VALUES ('4159', 'item', '227'); -INSERT INTO cp_node VALUES ('4160', 'hideLMSUI', '227'); -INSERT INTO cp_node VALUES ('4161', 'hideLMSUI', '227'); -INSERT INTO cp_node VALUES ('4162', 'hideLMSUI', '227'); -INSERT INTO cp_node VALUES ('4163', 'item', '227'); -INSERT INTO cp_node VALUES ('4164', 'hideLMSUI', '227'); -INSERT INTO cp_node VALUES ('4165', 'hideLMSUI', '227'); -INSERT INTO cp_node VALUES ('4166', 'hideLMSUI', '227'); -INSERT INTO cp_node VALUES ('4167', 'resource', '227'); -INSERT INTO cp_node VALUES ('4168', 'file', '227'); -INSERT INTO cp_node VALUES ('4169', 'dependency', '227'); -INSERT INTO cp_node VALUES ('4170', 'dependency', '227'); -INSERT INTO cp_node VALUES ('4171', 'dependency', '227'); -INSERT INTO cp_node VALUES ('4172', 'dependency', '227'); -INSERT INTO cp_node VALUES ('4173', 'dependency', '227'); -INSERT INTO cp_node VALUES ('4174', 'resource', '227'); -INSERT INTO cp_node VALUES ('4175', 'file', '227'); -INSERT INTO cp_node VALUES ('4176', 'resource', '227'); -INSERT INTO cp_node VALUES ('4177', 'file', '227'); -INSERT INTO cp_node VALUES ('4178', 'resource', '227'); -INSERT INTO cp_node VALUES ('4179', 'file', '227'); -INSERT INTO cp_node VALUES ('4180', 'resource', '227'); -INSERT INTO cp_node VALUES ('4181', 'file', '227'); -INSERT INTO cp_node VALUES ('4182', 'dependency', '227'); -INSERT INTO cp_node VALUES ('4183', 'resource', '227'); -INSERT INTO cp_node VALUES ('4184', 'file', '227'); -INSERT INTO cp_node VALUES ('4185', 'resource', '227'); -INSERT INTO cp_node VALUES ('4186', 'file', '227'); -INSERT INTO cp_node VALUES ('4187', 'sequencing', '227'); -INSERT INTO cp_node VALUES ('4188', 'rule', '227'); -INSERT INTO cp_node VALUES ('4189', 'condition', '227'); -INSERT INTO cp_node VALUES ('4190', 'sequencing', '227'); -INSERT INTO cp_node VALUES ('4191', 'rule', '227'); -INSERT INTO cp_node VALUES ('4192', 'condition', '227'); -INSERT INTO cp_node VALUES ('4193', 'sequencing', '227'); -INSERT INTO cp_node VALUES ('4194', 'rule', '227'); -INSERT INTO cp_node VALUES ('4195', 'condition', '227'); -INSERT INTO cp_node VALUES ('4196', 'rule', '227'); -INSERT INTO cp_node VALUES ('4197', 'condition', '227'); -INSERT INTO cp_node VALUES ('4198', 'sequencing', '227'); -INSERT INTO cp_node VALUES ('4199', 'manifest', '228'); -INSERT INTO cp_node VALUES ('4200', 'organization', '228'); -INSERT INTO cp_node VALUES ('4201', 'item', '228'); -INSERT INTO cp_node VALUES ('4202', 'hideLMSUI', '228'); -INSERT INTO cp_node VALUES ('4203', 'hideLMSUI', '228'); -INSERT INTO cp_node VALUES ('4204', 'hideLMSUI', '228'); -INSERT INTO cp_node VALUES ('4205', 'item', '228'); -INSERT INTO cp_node VALUES ('4206', 'item', '228'); -INSERT INTO cp_node VALUES ('4207', 'hideLMSUI', '228'); -INSERT INTO cp_node VALUES ('4208', 'hideLMSUI', '228'); -INSERT INTO cp_node VALUES ('4209', 'hideLMSUI', '228'); -INSERT INTO cp_node VALUES ('4210', 'item', '228'); -INSERT INTO cp_node VALUES ('4211', 'hideLMSUI', '228'); -INSERT INTO cp_node VALUES ('4212', 'hideLMSUI', '228'); -INSERT INTO cp_node VALUES ('4213', 'hideLMSUI', '228'); -INSERT INTO cp_node VALUES ('4214', 'item', '228'); -INSERT INTO cp_node VALUES ('4215', 'hideLMSUI', '228'); -INSERT INTO cp_node VALUES ('4216', 'hideLMSUI', '228'); -INSERT INTO cp_node VALUES ('4217', 'hideLMSUI', '228'); -INSERT INTO cp_node VALUES ('4218', 'item', '228'); -INSERT INTO cp_node VALUES ('4219', 'hideLMSUI', '228'); -INSERT INTO cp_node VALUES ('4220', 'hideLMSUI', '228'); -INSERT INTO cp_node VALUES ('4221', 'hideLMSUI', '228'); -INSERT INTO cp_node VALUES ('4222', 'resource', '228'); -INSERT INTO cp_node VALUES ('4223', 'file', '228'); -INSERT INTO cp_node VALUES ('4224', 'dependency', '228'); -INSERT INTO cp_node VALUES ('4225', 'dependency', '228'); -INSERT INTO cp_node VALUES ('4226', 'dependency', '228'); -INSERT INTO cp_node VALUES ('4227', 'dependency', '228'); -INSERT INTO cp_node VALUES ('4228', 'dependency', '228'); -INSERT INTO cp_node VALUES ('4229', 'resource', '228'); -INSERT INTO cp_node VALUES ('4230', 'file', '228'); -INSERT INTO cp_node VALUES ('4231', 'resource', '228'); -INSERT INTO cp_node VALUES ('4232', 'file', '228'); -INSERT INTO cp_node VALUES ('4233', 'resource', '228'); -INSERT INTO cp_node VALUES ('4234', 'file', '228'); -INSERT INTO cp_node VALUES ('4235', 'resource', '228'); -INSERT INTO cp_node VALUES ('4236', 'file', '228'); -INSERT INTO cp_node VALUES ('4237', 'dependency', '228'); -INSERT INTO cp_node VALUES ('4238', 'resource', '228'); -INSERT INTO cp_node VALUES ('4239', 'file', '228'); -INSERT INTO cp_node VALUES ('4240', 'resource', '228'); -INSERT INTO cp_node VALUES ('4241', 'file', '228'); -INSERT INTO cp_node VALUES ('4242', 'sequencing', '228'); -INSERT INTO cp_node VALUES ('4243', 'rule', '228'); -INSERT INTO cp_node VALUES ('4244', 'condition', '228'); -INSERT INTO cp_node VALUES ('4245', 'sequencing', '228'); -INSERT INTO cp_node VALUES ('4246', 'rule', '228'); -INSERT INTO cp_node VALUES ('4247', 'condition', '228'); -INSERT INTO cp_node VALUES ('4248', 'sequencing', '228'); -INSERT INTO cp_node VALUES ('4249', 'rule', '228'); -INSERT INTO cp_node VALUES ('4250', 'condition', '228'); -INSERT INTO cp_node VALUES ('4251', 'rule', '228'); -INSERT INTO cp_node VALUES ('4252', 'condition', '228'); -INSERT INTO cp_node VALUES ('4253', 'sequencing', '228'); -INSERT INTO cp_node VALUES ('4254', 'manifest', '229'); -INSERT INTO cp_node VALUES ('4255', 'organization', '229'); -INSERT INTO cp_node VALUES ('4256', 'item', '229'); -INSERT INTO cp_node VALUES ('4257', 'item', '229'); -INSERT INTO cp_node VALUES ('4258', 'hideLMSUI', '229'); -INSERT INTO cp_node VALUES ('4259', 'hideLMSUI', '229'); -INSERT INTO cp_node VALUES ('4260', 'hideLMSUI', '229'); -INSERT INTO cp_node VALUES ('4261', 'item', '229'); -INSERT INTO cp_node VALUES ('4262', 'hideLMSUI', '229'); -INSERT INTO cp_node VALUES ('4263', 'hideLMSUI', '229'); -INSERT INTO cp_node VALUES ('4264', 'hideLMSUI', '229'); -INSERT INTO cp_node VALUES ('4265', 'item', '229'); -INSERT INTO cp_node VALUES ('4266', 'hideLMSUI', '229'); -INSERT INTO cp_node VALUES ('4267', 'hideLMSUI', '229'); -INSERT INTO cp_node VALUES ('4268', 'hideLMSUI', '229'); -INSERT INTO cp_node VALUES ('4269', 'item', '229'); -INSERT INTO cp_node VALUES ('4270', 'hideLMSUI', '229'); -INSERT INTO cp_node VALUES ('4271', 'hideLMSUI', '229'); -INSERT INTO cp_node VALUES ('4272', 'hideLMSUI', '229'); -INSERT INTO cp_node VALUES ('4273', 'item', '229'); -INSERT INTO cp_node VALUES ('4274', 'hideLMSUI', '229'); -INSERT INTO cp_node VALUES ('4275', 'hideLMSUI', '229'); -INSERT INTO cp_node VALUES ('4276', 'hideLMSUI', '229'); -INSERT INTO cp_node VALUES ('4277', 'resource', '229'); -INSERT INTO cp_node VALUES ('4278', 'file', '229'); -INSERT INTO cp_node VALUES ('4279', 'dependency', '229'); -INSERT INTO cp_node VALUES ('4280', 'dependency', '229'); -INSERT INTO cp_node VALUES ('4281', 'dependency', '229'); -INSERT INTO cp_node VALUES ('4282', 'dependency', '229'); -INSERT INTO cp_node VALUES ('4283', 'dependency', '229'); -INSERT INTO cp_node VALUES ('4284', 'resource', '229'); -INSERT INTO cp_node VALUES ('4285', 'file', '229'); -INSERT INTO cp_node VALUES ('4286', 'resource', '229'); -INSERT INTO cp_node VALUES ('4287', 'file', '229'); -INSERT INTO cp_node VALUES ('4288', 'resource', '229'); -INSERT INTO cp_node VALUES ('4289', 'file', '229'); -INSERT INTO cp_node VALUES ('4290', 'resource', '229'); -INSERT INTO cp_node VALUES ('4291', 'file', '229'); -INSERT INTO cp_node VALUES ('4292', 'dependency', '229'); -INSERT INTO cp_node VALUES ('4293', 'resource', '229'); -INSERT INTO cp_node VALUES ('4294', 'file', '229'); -INSERT INTO cp_node VALUES ('4295', 'resource', '229'); -INSERT INTO cp_node VALUES ('4296', 'file', '229'); -INSERT INTO cp_node VALUES ('4297', 'sequencing', '229'); -INSERT INTO cp_node VALUES ('4298', 'rule', '229'); -INSERT INTO cp_node VALUES ('4299', 'condition', '229'); -INSERT INTO cp_node VALUES ('4300', 'sequencing', '229'); -INSERT INTO cp_node VALUES ('4301', 'sequencing', '229'); -INSERT INTO cp_node VALUES ('4302', 'rule', '229'); -INSERT INTO cp_node VALUES ('4303', 'condition', '229'); -INSERT INTO cp_node VALUES ('4304', 'rule', '229'); -INSERT INTO cp_node VALUES ('4305', 'condition', '229'); -INSERT INTO cp_node VALUES ('4306', 'manifest', '230'); -INSERT INTO cp_node VALUES ('4307', 'organization', '230'); -INSERT INTO cp_node VALUES ('4308', 'item', '230'); -INSERT INTO cp_node VALUES ('4309', 'hideLMSUI', '230'); -INSERT INTO cp_node VALUES ('4310', 'hideLMSUI', '230'); -INSERT INTO cp_node VALUES ('4311', 'hideLMSUI', '230'); -INSERT INTO cp_node VALUES ('4312', 'item', '230'); -INSERT INTO cp_node VALUES ('4313', 'item', '230'); -INSERT INTO cp_node VALUES ('4314', 'item', '230'); -INSERT INTO cp_node VALUES ('4315', 'hideLMSUI', '230'); -INSERT INTO cp_node VALUES ('4316', 'hideLMSUI', '230'); -INSERT INTO cp_node VALUES ('4317', 'hideLMSUI', '230'); -INSERT INTO cp_node VALUES ('4318', 'item', '230'); -INSERT INTO cp_node VALUES ('4319', 'hideLMSUI', '230'); -INSERT INTO cp_node VALUES ('4320', 'hideLMSUI', '230'); -INSERT INTO cp_node VALUES ('4321', 'hideLMSUI', '230'); -INSERT INTO cp_node VALUES ('4322', 'item', '230'); -INSERT INTO cp_node VALUES ('4323', 'hideLMSUI', '230'); -INSERT INTO cp_node VALUES ('4324', 'hideLMSUI', '230'); -INSERT INTO cp_node VALUES ('4325', 'hideLMSUI', '230'); -INSERT INTO cp_node VALUES ('4326', 'item', '230'); -INSERT INTO cp_node VALUES ('4327', 'hideLMSUI', '230'); -INSERT INTO cp_node VALUES ('4328', 'hideLMSUI', '230'); -INSERT INTO cp_node VALUES ('4329', 'hideLMSUI', '230'); -INSERT INTO cp_node VALUES ('4330', 'item', '230'); -INSERT INTO cp_node VALUES ('4331', 'hideLMSUI', '230'); -INSERT INTO cp_node VALUES ('4332', 'hideLMSUI', '230'); -INSERT INTO cp_node VALUES ('4333', 'hideLMSUI', '230'); -INSERT INTO cp_node VALUES ('4334', 'resource', '230'); -INSERT INTO cp_node VALUES ('4335', 'file', '230'); -INSERT INTO cp_node VALUES ('4336', 'dependency', '230'); -INSERT INTO cp_node VALUES ('4337', 'dependency', '230'); -INSERT INTO cp_node VALUES ('4338', 'dependency', '230'); -INSERT INTO cp_node VALUES ('4339', 'dependency', '230'); -INSERT INTO cp_node VALUES ('4340', 'dependency', '230'); -INSERT INTO cp_node VALUES ('4341', 'resource', '230'); -INSERT INTO cp_node VALUES ('4342', 'file', '230'); -INSERT INTO cp_node VALUES ('4343', 'resource', '230'); -INSERT INTO cp_node VALUES ('4344', 'file', '230'); -INSERT INTO cp_node VALUES ('4345', 'resource', '230'); -INSERT INTO cp_node VALUES ('4346', 'file', '230'); -INSERT INTO cp_node VALUES ('4347', 'resource', '230'); -INSERT INTO cp_node VALUES ('4348', 'file', '230'); -INSERT INTO cp_node VALUES ('4349', 'dependency', '230'); -INSERT INTO cp_node VALUES ('4350', 'resource', '230'); -INSERT INTO cp_node VALUES ('4351', 'file', '230'); -INSERT INTO cp_node VALUES ('4352', 'resource', '230'); -INSERT INTO cp_node VALUES ('4353', 'file', '230'); -INSERT INTO cp_node VALUES ('4354', 'sequencing', '230'); -INSERT INTO cp_node VALUES ('4355', 'rule', '230'); -INSERT INTO cp_node VALUES ('4356', 'condition', '230'); -INSERT INTO cp_node VALUES ('4357', 'rule', '230'); -INSERT INTO cp_node VALUES ('4358', 'condition', '230'); -INSERT INTO cp_node VALUES ('4359', 'rule', '230'); -INSERT INTO cp_node VALUES ('4360', 'condition', '230'); -INSERT INTO cp_node VALUES ('4361', 'condition', '230'); -INSERT INTO cp_node VALUES ('4362', 'condition', '230'); -INSERT INTO cp_node VALUES ('4363', 'rule', '230'); -INSERT INTO cp_node VALUES ('4364', 'condition', '230'); -INSERT INTO cp_node VALUES ('4365', 'sequencing', '230'); -INSERT INTO cp_node VALUES ('4366', 'sequencing', '230'); -INSERT INTO cp_node VALUES ('4367', 'rule', '230'); -INSERT INTO cp_node VALUES ('4368', 'condition', '230'); -INSERT INTO cp_node VALUES ('4369', 'rule', '230'); -INSERT INTO cp_node VALUES ('4370', 'condition', '230'); -INSERT INTO cp_node VALUES ('4371', 'condition', '230'); -INSERT INTO cp_node VALUES ('4372', 'sequencing', '230'); -INSERT INTO cp_node VALUES ('4373', 'manifest', '231'); -INSERT INTO cp_node VALUES ('4374', 'organization', '231'); -INSERT INTO cp_node VALUES ('4375', 'item', '231'); -INSERT INTO cp_node VALUES ('4376', 'hideLMSUI', '231'); -INSERT INTO cp_node VALUES ('4377', 'hideLMSUI', '231'); -INSERT INTO cp_node VALUES ('4378', 'hideLMSUI', '231'); -INSERT INTO cp_node VALUES ('4379', 'item', '231'); -INSERT INTO cp_node VALUES ('4380', 'item', '231'); -INSERT INTO cp_node VALUES ('4381', 'item', '231'); -INSERT INTO cp_node VALUES ('4382', 'hideLMSUI', '231'); -INSERT INTO cp_node VALUES ('4383', 'hideLMSUI', '231'); -INSERT INTO cp_node VALUES ('4384', 'hideLMSUI', '231'); -INSERT INTO cp_node VALUES ('4385', 'item', '231'); -INSERT INTO cp_node VALUES ('4386', 'hideLMSUI', '231'); -INSERT INTO cp_node VALUES ('4387', 'hideLMSUI', '231'); -INSERT INTO cp_node VALUES ('4388', 'hideLMSUI', '231'); -INSERT INTO cp_node VALUES ('4389', 'item', '231'); -INSERT INTO cp_node VALUES ('4390', 'hideLMSUI', '231'); -INSERT INTO cp_node VALUES ('4391', 'hideLMSUI', '231'); -INSERT INTO cp_node VALUES ('4392', 'hideLMSUI', '231'); -INSERT INTO cp_node VALUES ('4393', 'item', '231'); -INSERT INTO cp_node VALUES ('4394', 'hideLMSUI', '231'); -INSERT INTO cp_node VALUES ('4395', 'hideLMSUI', '231'); -INSERT INTO cp_node VALUES ('4396', 'hideLMSUI', '231'); -INSERT INTO cp_node VALUES ('4397', 'item', '231'); -INSERT INTO cp_node VALUES ('4398', 'hideLMSUI', '231'); -INSERT INTO cp_node VALUES ('4399', 'hideLMSUI', '231'); -INSERT INTO cp_node VALUES ('4400', 'hideLMSUI', '231'); -INSERT INTO cp_node VALUES ('4401', 'resource', '231'); -INSERT INTO cp_node VALUES ('4402', 'file', '231'); -INSERT INTO cp_node VALUES ('4403', 'dependency', '231'); -INSERT INTO cp_node VALUES ('4404', 'dependency', '231'); -INSERT INTO cp_node VALUES ('4405', 'dependency', '231'); -INSERT INTO cp_node VALUES ('4406', 'dependency', '231'); -INSERT INTO cp_node VALUES ('4407', 'dependency', '231'); -INSERT INTO cp_node VALUES ('4408', 'resource', '231'); -INSERT INTO cp_node VALUES ('4409', 'file', '231'); -INSERT INTO cp_node VALUES ('4410', 'resource', '231'); -INSERT INTO cp_node VALUES ('4411', 'file', '231'); -INSERT INTO cp_node VALUES ('4412', 'resource', '231'); -INSERT INTO cp_node VALUES ('4413', 'file', '231'); -INSERT INTO cp_node VALUES ('4414', 'resource', '231'); -INSERT INTO cp_node VALUES ('4415', 'file', '231'); -INSERT INTO cp_node VALUES ('4416', 'dependency', '231'); -INSERT INTO cp_node VALUES ('4417', 'resource', '231'); -INSERT INTO cp_node VALUES ('4418', 'file', '231'); -INSERT INTO cp_node VALUES ('4419', 'resource', '231'); -INSERT INTO cp_node VALUES ('4420', 'file', '231'); -INSERT INTO cp_node VALUES ('4421', 'sequencing', '231'); -INSERT INTO cp_node VALUES ('4422', 'sequencing', '231'); -INSERT INTO cp_node VALUES ('4423', 'sequencing', '231'); -INSERT INTO cp_node VALUES ('4424', 'sequencing', '231'); -INSERT INTO cp_node VALUES ('4425', 'rule', '231'); -INSERT INTO cp_node VALUES ('4426', 'condition', '231'); -INSERT INTO cp_node VALUES ('4427', 'rule', '231'); -INSERT INTO cp_node VALUES ('4428', 'condition', '231'); -INSERT INTO cp_node VALUES ('4429', 'rule', '231'); -INSERT INTO cp_node VALUES ('4430', 'condition', '231'); -INSERT INTO cp_node VALUES ('4431', 'condition', '231'); -INSERT INTO cp_node VALUES ('4432', 'condition', '231'); -INSERT INTO cp_node VALUES ('4433', 'rule', '231'); -INSERT INTO cp_node VALUES ('4434', 'condition', '231'); -INSERT INTO cp_node VALUES ('4435', 'sequencing', '231'); -INSERT INTO cp_node VALUES ('4436', 'rule', '231'); -INSERT INTO cp_node VALUES ('4437', 'condition', '231'); -INSERT INTO cp_node VALUES ('4438', 'rule', '231'); -INSERT INTO cp_node VALUES ('4439', 'condition', '231'); -INSERT INTO cp_node VALUES ('4440', 'condition', '231'); -INSERT INTO cp_node VALUES ('4441', 'sequencing', '231'); -INSERT INTO cp_node VALUES ('4442', 'manifest', '232'); -INSERT INTO cp_node VALUES ('4443', 'organization', '232'); -INSERT INTO cp_node VALUES ('4444', 'item', '232'); -INSERT INTO cp_node VALUES ('4445', 'hideLMSUI', '232'); -INSERT INTO cp_node VALUES ('4446', 'hideLMSUI', '232'); -INSERT INTO cp_node VALUES ('4447', 'hideLMSUI', '232'); -INSERT INTO cp_node VALUES ('4448', 'item', '232'); -INSERT INTO cp_node VALUES ('4449', 'item', '232'); -INSERT INTO cp_node VALUES ('4450', 'hideLMSUI', '232'); -INSERT INTO cp_node VALUES ('4451', 'hideLMSUI', '232'); -INSERT INTO cp_node VALUES ('4452', 'hideLMSUI', '232'); -INSERT INTO cp_node VALUES ('4453', 'item', '232'); -INSERT INTO cp_node VALUES ('4454', 'hideLMSUI', '232'); -INSERT INTO cp_node VALUES ('4455', 'hideLMSUI', '232'); -INSERT INTO cp_node VALUES ('4456', 'hideLMSUI', '232'); -INSERT INTO cp_node VALUES ('4457', 'item', '232'); -INSERT INTO cp_node VALUES ('4458', 'hideLMSUI', '232'); -INSERT INTO cp_node VALUES ('4459', 'hideLMSUI', '232'); -INSERT INTO cp_node VALUES ('4460', 'hideLMSUI', '232'); -INSERT INTO cp_node VALUES ('4461', 'item', '232'); -INSERT INTO cp_node VALUES ('4462', 'hideLMSUI', '232'); -INSERT INTO cp_node VALUES ('4463', 'hideLMSUI', '232'); -INSERT INTO cp_node VALUES ('4464', 'hideLMSUI', '232'); -INSERT INTO cp_node VALUES ('4465', 'resource', '232'); -INSERT INTO cp_node VALUES ('4466', 'file', '232'); -INSERT INTO cp_node VALUES ('4467', 'dependency', '232'); -INSERT INTO cp_node VALUES ('4468', 'dependency', '232'); -INSERT INTO cp_node VALUES ('4469', 'dependency', '232'); -INSERT INTO cp_node VALUES ('4470', 'dependency', '232'); -INSERT INTO cp_node VALUES ('4471', 'dependency', '232'); -INSERT INTO cp_node VALUES ('4472', 'resource', '232'); -INSERT INTO cp_node VALUES ('4473', 'file', '232'); -INSERT INTO cp_node VALUES ('4474', 'resource', '232'); -INSERT INTO cp_node VALUES ('4475', 'file', '232'); -INSERT INTO cp_node VALUES ('4476', 'resource', '232'); -INSERT INTO cp_node VALUES ('4477', 'file', '232'); -INSERT INTO cp_node VALUES ('4478', 'resource', '232'); -INSERT INTO cp_node VALUES ('4479', 'file', '232'); -INSERT INTO cp_node VALUES ('4480', 'dependency', '232'); -INSERT INTO cp_node VALUES ('4481', 'resource', '232'); -INSERT INTO cp_node VALUES ('4482', 'file', '232'); -INSERT INTO cp_node VALUES ('4483', 'resource', '232'); -INSERT INTO cp_node VALUES ('4484', 'file', '232'); -INSERT INTO cp_node VALUES ('4485', 'sequencing', '232'); -INSERT INTO cp_node VALUES ('4486', 'rule', '232'); -INSERT INTO cp_node VALUES ('4487', 'condition', '232'); -INSERT INTO cp_node VALUES ('4488', 'sequencing', '232'); -INSERT INTO cp_node VALUES ('4489', 'rule', '232'); -INSERT INTO cp_node VALUES ('4490', 'condition', '232'); -INSERT INTO cp_node VALUES ('4491', 'rule', '232'); -INSERT INTO cp_node VALUES ('4492', 'condition', '232'); -INSERT INTO cp_node VALUES ('4493', 'rule', '232'); -INSERT INTO cp_node VALUES ('4494', 'condition', '232'); -INSERT INTO cp_node VALUES ('4495', 'sequencing', '232'); -INSERT INTO cp_node VALUES ('4496', 'manifest', '233'); -INSERT INTO cp_node VALUES ('4497', 'organization', '233'); -INSERT INTO cp_node VALUES ('4498', 'item', '233'); -INSERT INTO cp_node VALUES ('4499', 'hideLMSUI', '233'); -INSERT INTO cp_node VALUES ('4500', 'hideLMSUI', '233'); -INSERT INTO cp_node VALUES ('4501', 'hideLMSUI', '233'); -INSERT INTO cp_node VALUES ('4502', 'item', '233'); -INSERT INTO cp_node VALUES ('4503', 'item', '233'); -INSERT INTO cp_node VALUES ('4504', 'hideLMSUI', '233'); -INSERT INTO cp_node VALUES ('4505', 'hideLMSUI', '233'); -INSERT INTO cp_node VALUES ('4506', 'hideLMSUI', '233'); -INSERT INTO cp_node VALUES ('4507', 'item', '233'); -INSERT INTO cp_node VALUES ('4508', 'hideLMSUI', '233'); -INSERT INTO cp_node VALUES ('4509', 'hideLMSUI', '233'); -INSERT INTO cp_node VALUES ('4510', 'hideLMSUI', '233'); -INSERT INTO cp_node VALUES ('4511', 'item', '233'); -INSERT INTO cp_node VALUES ('4512', 'hideLMSUI', '233'); -INSERT INTO cp_node VALUES ('4513', 'hideLMSUI', '233'); -INSERT INTO cp_node VALUES ('4514', 'hideLMSUI', '233'); -INSERT INTO cp_node VALUES ('4515', 'item', '233'); -INSERT INTO cp_node VALUES ('4516', 'hideLMSUI', '233'); -INSERT INTO cp_node VALUES ('4517', 'hideLMSUI', '233'); -INSERT INTO cp_node VALUES ('4518', 'hideLMSUI', '233'); -INSERT INTO cp_node VALUES ('4519', 'resource', '233'); -INSERT INTO cp_node VALUES ('4520', 'file', '233'); -INSERT INTO cp_node VALUES ('4521', 'dependency', '233'); -INSERT INTO cp_node VALUES ('4522', 'dependency', '233'); -INSERT INTO cp_node VALUES ('4523', 'dependency', '233'); -INSERT INTO cp_node VALUES ('4524', 'dependency', '233'); -INSERT INTO cp_node VALUES ('4525', 'dependency', '233'); -INSERT INTO cp_node VALUES ('4526', 'resource', '233'); -INSERT INTO cp_node VALUES ('4527', 'file', '233'); -INSERT INTO cp_node VALUES ('4528', 'resource', '233'); -INSERT INTO cp_node VALUES ('4529', 'file', '233'); -INSERT INTO cp_node VALUES ('4530', 'resource', '233'); -INSERT INTO cp_node VALUES ('4531', 'file', '233'); -INSERT INTO cp_node VALUES ('4532', 'resource', '233'); -INSERT INTO cp_node VALUES ('4533', 'file', '233'); -INSERT INTO cp_node VALUES ('4534', 'dependency', '233'); -INSERT INTO cp_node VALUES ('4535', 'resource', '233'); -INSERT INTO cp_node VALUES ('4536', 'file', '233'); -INSERT INTO cp_node VALUES ('4537', 'resource', '233'); -INSERT INTO cp_node VALUES ('4538', 'file', '233'); -INSERT INTO cp_node VALUES ('4539', 'sequencing', '233'); -INSERT INTO cp_node VALUES ('4540', 'rule', '233'); -INSERT INTO cp_node VALUES ('4541', 'condition', '233'); -INSERT INTO cp_node VALUES ('4542', 'rule', '233'); -INSERT INTO cp_node VALUES ('4543', 'condition', '233'); -INSERT INTO cp_node VALUES ('4544', 'rule', '233'); -INSERT INTO cp_node VALUES ('4545', 'condition', '233'); -INSERT INTO cp_node VALUES ('4546', 'sequencing', '233'); -INSERT INTO cp_node VALUES ('4547', 'manifest', '234'); -INSERT INTO cp_node VALUES ('4548', 'organization', '234'); -INSERT INTO cp_node VALUES ('4549', 'item', '234'); -INSERT INTO cp_node VALUES ('4550', 'hideLMSUI', '234'); -INSERT INTO cp_node VALUES ('4551', 'hideLMSUI', '234'); -INSERT INTO cp_node VALUES ('4552', 'hideLMSUI', '234'); -INSERT INTO cp_node VALUES ('4553', 'item', '234'); -INSERT INTO cp_node VALUES ('4554', 'item', '234'); -INSERT INTO cp_node VALUES ('4555', 'hideLMSUI', '234'); -INSERT INTO cp_node VALUES ('4556', 'hideLMSUI', '234'); -INSERT INTO cp_node VALUES ('4557', 'hideLMSUI', '234'); -INSERT INTO cp_node VALUES ('4558', 'item', '234'); -INSERT INTO cp_node VALUES ('4559', 'hideLMSUI', '234'); -INSERT INTO cp_node VALUES ('4560', 'hideLMSUI', '234'); -INSERT INTO cp_node VALUES ('4561', 'hideLMSUI', '234'); -INSERT INTO cp_node VALUES ('4562', 'item', '234'); -INSERT INTO cp_node VALUES ('4563', 'hideLMSUI', '234'); -INSERT INTO cp_node VALUES ('4564', 'hideLMSUI', '234'); -INSERT INTO cp_node VALUES ('4565', 'hideLMSUI', '234'); -INSERT INTO cp_node VALUES ('4566', 'item', '234'); -INSERT INTO cp_node VALUES ('4567', 'hideLMSUI', '234'); -INSERT INTO cp_node VALUES ('4568', 'hideLMSUI', '234'); -INSERT INTO cp_node VALUES ('4569', 'hideLMSUI', '234'); -INSERT INTO cp_node VALUES ('4570', 'resource', '234'); -INSERT INTO cp_node VALUES ('4571', 'file', '234'); -INSERT INTO cp_node VALUES ('4572', 'dependency', '234'); -INSERT INTO cp_node VALUES ('4573', 'dependency', '234'); -INSERT INTO cp_node VALUES ('4574', 'dependency', '234'); -INSERT INTO cp_node VALUES ('4575', 'dependency', '234'); -INSERT INTO cp_node VALUES ('4576', 'dependency', '234'); -INSERT INTO cp_node VALUES ('4577', 'resource', '234'); -INSERT INTO cp_node VALUES ('4578', 'file', '234'); -INSERT INTO cp_node VALUES ('4579', 'resource', '234'); -INSERT INTO cp_node VALUES ('4580', 'file', '234'); -INSERT INTO cp_node VALUES ('4581', 'resource', '234'); -INSERT INTO cp_node VALUES ('4582', 'file', '234'); -INSERT INTO cp_node VALUES ('4583', 'resource', '234'); -INSERT INTO cp_node VALUES ('4584', 'file', '234'); -INSERT INTO cp_node VALUES ('4585', 'dependency', '234'); -INSERT INTO cp_node VALUES ('4586', 'resource', '234'); -INSERT INTO cp_node VALUES ('4587', 'file', '234'); -INSERT INTO cp_node VALUES ('4588', 'resource', '234'); -INSERT INTO cp_node VALUES ('4589', 'file', '234'); -INSERT INTO cp_node VALUES ('4590', 'sequencing', '234'); -INSERT INTO cp_node VALUES ('4591', 'objective', '234'); -INSERT INTO cp_node VALUES ('4592', 'sequencing', '234'); -INSERT INTO cp_node VALUES ('4593', 'sequencing', '234'); -INSERT INTO cp_node VALUES ('4594', 'sequencing', '234'); -INSERT INTO cp_node VALUES ('4595', 'rule', '234'); -INSERT INTO cp_node VALUES ('4596', 'condition', '234'); -INSERT INTO cp_node VALUES ('4597', 'rule', '234'); -INSERT INTO cp_node VALUES ('4598', 'condition', '234'); -INSERT INTO cp_node VALUES ('4599', 'rule', '234'); -INSERT INTO cp_node VALUES ('4600', 'condition', '234'); -INSERT INTO cp_node VALUES ('4601', 'sequencing', '234'); -INSERT INTO cp_node VALUES ('4602', 'manifest', '235'); -INSERT INTO cp_node VALUES ('4603', 'organization', '235'); -INSERT INTO cp_node VALUES ('4604', 'item', '235'); -INSERT INTO cp_node VALUES ('4605', 'hideLMSUI', '235'); -INSERT INTO cp_node VALUES ('4606', 'hideLMSUI', '235'); -INSERT INTO cp_node VALUES ('4607', 'hideLMSUI', '235'); -INSERT INTO cp_node VALUES ('4608', 'item', '235'); -INSERT INTO cp_node VALUES ('4609', 'item', '235'); -INSERT INTO cp_node VALUES ('4610', 'hideLMSUI', '235'); -INSERT INTO cp_node VALUES ('4611', 'hideLMSUI', '235'); -INSERT INTO cp_node VALUES ('4612', 'hideLMSUI', '235'); -INSERT INTO cp_node VALUES ('4613', 'item', '235'); -INSERT INTO cp_node VALUES ('4614', 'hideLMSUI', '235'); -INSERT INTO cp_node VALUES ('4615', 'hideLMSUI', '235'); -INSERT INTO cp_node VALUES ('4616', 'hideLMSUI', '235'); -INSERT INTO cp_node VALUES ('4617', 'resource', '235'); -INSERT INTO cp_node VALUES ('4618', 'file', '235'); -INSERT INTO cp_node VALUES ('4619', 'dependency', '235'); -INSERT INTO cp_node VALUES ('4620', 'dependency', '235'); -INSERT INTO cp_node VALUES ('4621', 'dependency', '235'); -INSERT INTO cp_node VALUES ('4622', 'dependency', '235'); -INSERT INTO cp_node VALUES ('4623', 'dependency', '235'); -INSERT INTO cp_node VALUES ('4624', 'resource', '235'); -INSERT INTO cp_node VALUES ('4625', 'file', '235'); -INSERT INTO cp_node VALUES ('4626', 'resource', '235'); -INSERT INTO cp_node VALUES ('4627', 'file', '235'); -INSERT INTO cp_node VALUES ('4628', 'resource', '235'); -INSERT INTO cp_node VALUES ('4629', 'file', '235'); -INSERT INTO cp_node VALUES ('4630', 'resource', '235'); -INSERT INTO cp_node VALUES ('4631', 'file', '235'); -INSERT INTO cp_node VALUES ('4632', 'dependency', '235'); -INSERT INTO cp_node VALUES ('4633', 'resource', '235'); -INSERT INTO cp_node VALUES ('4634', 'file', '235'); -INSERT INTO cp_node VALUES ('4635', 'resource', '235'); -INSERT INTO cp_node VALUES ('4636', 'file', '235'); -INSERT INTO cp_node VALUES ('4637', 'sequencing', '235'); -INSERT INTO cp_node VALUES ('4638', 'rule', '235'); -INSERT INTO cp_node VALUES ('4639', 'condition', '235'); -INSERT INTO cp_node VALUES ('4640', 'rule', '235'); -INSERT INTO cp_node VALUES ('4641', 'condition', '235'); -INSERT INTO cp_node VALUES ('4642', 'rule', '235'); -INSERT INTO cp_node VALUES ('4643', 'condition', '235'); -INSERT INTO cp_node VALUES ('4644', 'rule', '235'); -INSERT INTO cp_node VALUES ('4645', 'condition', '235'); -INSERT INTO cp_node VALUES ('4646', 'sequencing', '235'); -INSERT INTO cp_node VALUES ('4647', 'manifest', '236'); -INSERT INTO cp_node VALUES ('4648', 'organization', '236'); -INSERT INTO cp_node VALUES ('4649', 'item', '236'); -INSERT INTO cp_node VALUES ('4650', 'hideLMSUI', '236'); -INSERT INTO cp_node VALUES ('4651', 'hideLMSUI', '236'); -INSERT INTO cp_node VALUES ('4652', 'hideLMSUI', '236'); -INSERT INTO cp_node VALUES ('4653', 'item', '236'); -INSERT INTO cp_node VALUES ('4654', 'item', '236'); -INSERT INTO cp_node VALUES ('4655', 'hideLMSUI', '236'); -INSERT INTO cp_node VALUES ('4656', 'hideLMSUI', '236'); -INSERT INTO cp_node VALUES ('4657', 'hideLMSUI', '236'); -INSERT INTO cp_node VALUES ('4658', 'item', '236'); -INSERT INTO cp_node VALUES ('4659', 'hideLMSUI', '236'); -INSERT INTO cp_node VALUES ('4660', 'hideLMSUI', '236'); -INSERT INTO cp_node VALUES ('4661', 'hideLMSUI', '236'); -INSERT INTO cp_node VALUES ('4662', 'resource', '236'); -INSERT INTO cp_node VALUES ('4663', 'file', '236'); -INSERT INTO cp_node VALUES ('4664', 'dependency', '236'); -INSERT INTO cp_node VALUES ('4665', 'dependency', '236'); -INSERT INTO cp_node VALUES ('4666', 'dependency', '236'); -INSERT INTO cp_node VALUES ('4667', 'dependency', '236'); -INSERT INTO cp_node VALUES ('4668', 'dependency', '236'); -INSERT INTO cp_node VALUES ('4669', 'resource', '236'); -INSERT INTO cp_node VALUES ('4670', 'file', '236'); -INSERT INTO cp_node VALUES ('4671', 'resource', '236'); -INSERT INTO cp_node VALUES ('4672', 'file', '236'); -INSERT INTO cp_node VALUES ('4673', 'resource', '236'); -INSERT INTO cp_node VALUES ('4674', 'file', '236'); -INSERT INTO cp_node VALUES ('4675', 'resource', '236'); -INSERT INTO cp_node VALUES ('4676', 'file', '236'); -INSERT INTO cp_node VALUES ('4677', 'dependency', '236'); -INSERT INTO cp_node VALUES ('4678', 'resource', '236'); -INSERT INTO cp_node VALUES ('4679', 'file', '236'); -INSERT INTO cp_node VALUES ('4680', 'resource', '236'); -INSERT INTO cp_node VALUES ('4681', 'file', '236'); -INSERT INTO cp_node VALUES ('4682', 'sequencing', '236'); -INSERT INTO cp_node VALUES ('4683', 'rule', '236'); -INSERT INTO cp_node VALUES ('4684', 'condition', '236'); -INSERT INTO cp_node VALUES ('4685', 'rule', '236'); -INSERT INTO cp_node VALUES ('4686', 'condition', '236'); -INSERT INTO cp_node VALUES ('4687', 'rule', '236'); -INSERT INTO cp_node VALUES ('4688', 'condition', '236'); -INSERT INTO cp_node VALUES ('4689', 'rule', '236'); -INSERT INTO cp_node VALUES ('4690', 'condition', '236'); -INSERT INTO cp_node VALUES ('4691', 'sequencing', '236'); -INSERT INTO cp_node VALUES ('4692', 'manifest', '237'); -INSERT INTO cp_node VALUES ('4693', 'organization', '237'); -INSERT INTO cp_node VALUES ('4694', 'item', '237'); -INSERT INTO cp_node VALUES ('4695', 'item', '237'); -INSERT INTO cp_node VALUES ('4696', 'item', '237'); -INSERT INTO cp_node VALUES ('4697', 'item', '237'); -INSERT INTO cp_node VALUES ('4698', 'item', '237'); -INSERT INTO cp_node VALUES ('4699', 'item', '237'); -INSERT INTO cp_node VALUES ('4700', 'resource', '237'); -INSERT INTO cp_node VALUES ('4701', 'file', '237'); -INSERT INTO cp_node VALUES ('4702', 'dependency', '237'); -INSERT INTO cp_node VALUES ('4703', 'dependency', '237'); -INSERT INTO cp_node VALUES ('4704', 'dependency', '237'); -INSERT INTO cp_node VALUES ('4705', 'dependency', '237'); -INSERT INTO cp_node VALUES ('4706', 'dependency', '237'); -INSERT INTO cp_node VALUES ('4707', 'resource', '237'); -INSERT INTO cp_node VALUES ('4708', 'file', '237'); -INSERT INTO cp_node VALUES ('4709', 'resource', '237'); -INSERT INTO cp_node VALUES ('4710', 'file', '237'); -INSERT INTO cp_node VALUES ('4711', 'resource', '237'); -INSERT INTO cp_node VALUES ('4712', 'file', '237'); -INSERT INTO cp_node VALUES ('4713', 'resource', '237'); -INSERT INTO cp_node VALUES ('4714', 'file', '237'); -INSERT INTO cp_node VALUES ('4715', 'dependency', '237'); -INSERT INTO cp_node VALUES ('4716', 'resource', '237'); -INSERT INTO cp_node VALUES ('4717', 'file', '237'); -INSERT INTO cp_node VALUES ('4718', 'resource', '237'); -INSERT INTO cp_node VALUES ('4719', 'file', '237'); -INSERT INTO cp_node VALUES ('4720', 'sequencing', '237'); -INSERT INTO cp_node VALUES ('4721', 'rule', '237'); -INSERT INTO cp_node VALUES ('4722', 'condition', '237'); -INSERT INTO cp_node VALUES ('4723', 'rule', '237'); -INSERT INTO cp_node VALUES ('4724', 'condition', '237'); -INSERT INTO cp_node VALUES ('4725', 'rule', '237'); -INSERT INTO cp_node VALUES ('4726', 'condition', '237'); -INSERT INTO cp_node VALUES ('4727', 'sequencing', '237'); -INSERT INTO cp_node VALUES ('4728', 'manifest', '238'); -INSERT INTO cp_node VALUES ('4729', 'organization', '238'); -INSERT INTO cp_node VALUES ('4730', 'item', '238'); -INSERT INTO cp_node VALUES ('4731', 'hideLMSUI', '238'); -INSERT INTO cp_node VALUES ('4732', 'hideLMSUI', '238'); -INSERT INTO cp_node VALUES ('4733', 'hideLMSUI', '238'); -INSERT INTO cp_node VALUES ('4734', 'item', '238'); -INSERT INTO cp_node VALUES ('4735', 'item', '238'); -INSERT INTO cp_node VALUES ('4736', 'hideLMSUI', '238'); -INSERT INTO cp_node VALUES ('4737', 'hideLMSUI', '238'); -INSERT INTO cp_node VALUES ('4738', 'hideLMSUI', '238'); -INSERT INTO cp_node VALUES ('4739', 'item', '238'); -INSERT INTO cp_node VALUES ('4740', 'hideLMSUI', '238'); -INSERT INTO cp_node VALUES ('4741', 'hideLMSUI', '238'); -INSERT INTO cp_node VALUES ('4742', 'hideLMSUI', '238'); -INSERT INTO cp_node VALUES ('4743', 'item', '238'); -INSERT INTO cp_node VALUES ('4744', 'hideLMSUI', '238'); -INSERT INTO cp_node VALUES ('4745', 'hideLMSUI', '238'); -INSERT INTO cp_node VALUES ('4746', 'hideLMSUI', '238'); -INSERT INTO cp_node VALUES ('4747', 'item', '238'); -INSERT INTO cp_node VALUES ('4748', 'hideLMSUI', '238'); -INSERT INTO cp_node VALUES ('4749', 'hideLMSUI', '238'); -INSERT INTO cp_node VALUES ('4750', 'hideLMSUI', '238'); -INSERT INTO cp_node VALUES ('4751', 'resource', '238'); -INSERT INTO cp_node VALUES ('4752', 'file', '238'); -INSERT INTO cp_node VALUES ('4753', 'dependency', '238'); -INSERT INTO cp_node VALUES ('4754', 'dependency', '238'); -INSERT INTO cp_node VALUES ('4755', 'dependency', '238'); -INSERT INTO cp_node VALUES ('4756', 'dependency', '238'); -INSERT INTO cp_node VALUES ('4757', 'dependency', '238'); -INSERT INTO cp_node VALUES ('4758', 'resource', '238'); -INSERT INTO cp_node VALUES ('4759', 'file', '238'); -INSERT INTO cp_node VALUES ('4760', 'resource', '238'); -INSERT INTO cp_node VALUES ('4761', 'file', '238'); -INSERT INTO cp_node VALUES ('4762', 'resource', '238'); -INSERT INTO cp_node VALUES ('4763', 'file', '238'); -INSERT INTO cp_node VALUES ('4764', 'resource', '238'); -INSERT INTO cp_node VALUES ('4765', 'file', '238'); -INSERT INTO cp_node VALUES ('4766', 'dependency', '238'); -INSERT INTO cp_node VALUES ('4767', 'resource', '238'); -INSERT INTO cp_node VALUES ('4768', 'file', '238'); -INSERT INTO cp_node VALUES ('4769', 'resource', '238'); -INSERT INTO cp_node VALUES ('4770', 'file', '238'); -INSERT INTO cp_node VALUES ('4771', 'sequencing', '238'); -INSERT INTO cp_node VALUES ('4772', 'objective', '238'); -INSERT INTO cp_node VALUES ('4773', 'objective', '238'); -INSERT INTO cp_node VALUES ('4774', 'mapInfo', '238'); -INSERT INTO cp_node VALUES ('4775', 'objective', '238'); -INSERT INTO cp_node VALUES ('4776', 'mapInfo', '238'); -INSERT INTO cp_node VALUES ('4777', 'objective', '238'); -INSERT INTO cp_node VALUES ('4778', 'mapInfo', '238'); -INSERT INTO cp_node VALUES ('4779', 'sequencing', '238'); -INSERT INTO cp_node VALUES ('4780', 'objective', '238'); -INSERT INTO cp_node VALUES ('4781', 'mapInfo', '238'); -INSERT INTO cp_node VALUES ('4782', 'sequencing', '238'); -INSERT INTO cp_node VALUES ('4783', 'rule', '238'); -INSERT INTO cp_node VALUES ('4784', 'condition', '238'); -INSERT INTO cp_node VALUES ('4785', 'rule', '238'); -INSERT INTO cp_node VALUES ('4786', 'condition', '238'); -INSERT INTO cp_node VALUES ('4787', 'rule', '238'); -INSERT INTO cp_node VALUES ('4788', 'condition', '238'); -INSERT INTO cp_node VALUES ('4789', 'sequencing', '238'); -INSERT INTO cp_node VALUES ('4790', 'manifest', '239'); -INSERT INTO cp_node VALUES ('4791', 'organization', '239'); -INSERT INTO cp_node VALUES ('4792', 'item', '239'); -INSERT INTO cp_node VALUES ('4793', 'hideLMSUI', '239'); -INSERT INTO cp_node VALUES ('4794', 'hideLMSUI', '239'); -INSERT INTO cp_node VALUES ('4795', 'hideLMSUI', '239'); -INSERT INTO cp_node VALUES ('4796', 'item', '239'); -INSERT INTO cp_node VALUES ('4797', 'hideLMSUI', '239'); -INSERT INTO cp_node VALUES ('4798', 'hideLMSUI', '239'); -INSERT INTO cp_node VALUES ('4799', 'hideLMSUI', '239'); -INSERT INTO cp_node VALUES ('4800', 'item', '239'); -INSERT INTO cp_node VALUES ('4801', 'hideLMSUI', '239'); -INSERT INTO cp_node VALUES ('4802', 'hideLMSUI', '239'); -INSERT INTO cp_node VALUES ('4803', 'hideLMSUI', '239'); -INSERT INTO cp_node VALUES ('4804', 'resource', '239'); -INSERT INTO cp_node VALUES ('4805', 'file', '239'); -INSERT INTO cp_node VALUES ('4806', 'dependency', '239'); -INSERT INTO cp_node VALUES ('4807', 'dependency', '239'); -INSERT INTO cp_node VALUES ('4808', 'dependency', '239'); -INSERT INTO cp_node VALUES ('4809', 'dependency', '239'); -INSERT INTO cp_node VALUES ('4810', 'dependency', '239'); -INSERT INTO cp_node VALUES ('4811', 'resource', '239'); -INSERT INTO cp_node VALUES ('4812', 'file', '239'); -INSERT INTO cp_node VALUES ('4813', 'resource', '239'); -INSERT INTO cp_node VALUES ('4814', 'file', '239'); -INSERT INTO cp_node VALUES ('4815', 'resource', '239'); -INSERT INTO cp_node VALUES ('4816', 'file', '239'); -INSERT INTO cp_node VALUES ('4817', 'resource', '239'); -INSERT INTO cp_node VALUES ('4818', 'file', '239'); -INSERT INTO cp_node VALUES ('4819', 'dependency', '239'); -INSERT INTO cp_node VALUES ('4820', 'resource', '239'); -INSERT INTO cp_node VALUES ('4821', 'file', '239'); -INSERT INTO cp_node VALUES ('4822', 'resource', '239'); -INSERT INTO cp_node VALUES ('4823', 'file', '239'); -INSERT INTO cp_node VALUES ('4824', 'sequencing', '239'); -INSERT INTO cp_node VALUES ('4825', 'rule', '239'); -INSERT INTO cp_node VALUES ('4826', 'condition', '239'); -INSERT INTO cp_node VALUES ('4827', 'objective', '239'); -INSERT INTO cp_node VALUES ('4828', 'mapInfo', '239'); -INSERT INTO cp_node VALUES ('4829', 'sequencing', '239'); -INSERT INTO cp_node VALUES ('4830', 'manifest', '240'); -INSERT INTO cp_node VALUES ('4831', 'organization', '240'); -INSERT INTO cp_node VALUES ('4832', 'item', '240'); -INSERT INTO cp_node VALUES ('4833', 'hideLMSUI', '240'); -INSERT INTO cp_node VALUES ('4834', 'hideLMSUI', '240'); -INSERT INTO cp_node VALUES ('4835', 'hideLMSUI', '240'); -INSERT INTO cp_node VALUES ('4836', 'item', '240'); -INSERT INTO cp_node VALUES ('4837', 'hideLMSUI', '240'); -INSERT INTO cp_node VALUES ('4838', 'hideLMSUI', '240'); -INSERT INTO cp_node VALUES ('4839', 'hideLMSUI', '240'); -INSERT INTO cp_node VALUES ('4840', 'item', '240'); -INSERT INTO cp_node VALUES ('4841', 'hideLMSUI', '240'); -INSERT INTO cp_node VALUES ('4842', 'hideLMSUI', '240'); -INSERT INTO cp_node VALUES ('4843', 'hideLMSUI', '240'); -INSERT INTO cp_node VALUES ('4844', 'resource', '240'); -INSERT INTO cp_node VALUES ('4845', 'file', '240'); -INSERT INTO cp_node VALUES ('4846', 'dependency', '240'); -INSERT INTO cp_node VALUES ('4847', 'dependency', '240'); -INSERT INTO cp_node VALUES ('4848', 'dependency', '240'); -INSERT INTO cp_node VALUES ('4849', 'dependency', '240'); -INSERT INTO cp_node VALUES ('4850', 'dependency', '240'); -INSERT INTO cp_node VALUES ('4851', 'resource', '240'); -INSERT INTO cp_node VALUES ('4852', 'file', '240'); -INSERT INTO cp_node VALUES ('4853', 'resource', '240'); -INSERT INTO cp_node VALUES ('4854', 'file', '240'); -INSERT INTO cp_node VALUES ('4855', 'resource', '240'); -INSERT INTO cp_node VALUES ('4856', 'file', '240'); -INSERT INTO cp_node VALUES ('4857', 'resource', '240'); -INSERT INTO cp_node VALUES ('4858', 'file', '240'); -INSERT INTO cp_node VALUES ('4859', 'dependency', '240'); -INSERT INTO cp_node VALUES ('4860', 'resource', '240'); -INSERT INTO cp_node VALUES ('4861', 'file', '240'); -INSERT INTO cp_node VALUES ('4862', 'resource', '240'); -INSERT INTO cp_node VALUES ('4863', 'file', '240'); -INSERT INTO cp_node VALUES ('4864', 'sequencing', '240'); -INSERT INTO cp_node VALUES ('4865', 'rule', '240'); -INSERT INTO cp_node VALUES ('4866', 'condition', '240'); -INSERT INTO cp_node VALUES ('4867', 'condition', '240'); -INSERT INTO cp_node VALUES ('4868', 'sequencing', '240'); -INSERT INTO cp_node VALUES ('4869', 'manifest', '241'); -INSERT INTO cp_node VALUES ('4870', 'organization', '241'); -INSERT INTO cp_node VALUES ('4871', 'item', '241'); -INSERT INTO cp_node VALUES ('4872', 'hideLMSUI', '241'); -INSERT INTO cp_node VALUES ('4873', 'hideLMSUI', '241'); -INSERT INTO cp_node VALUES ('4874', 'hideLMSUI', '241'); -INSERT INTO cp_node VALUES ('4875', 'item', '241'); -INSERT INTO cp_node VALUES ('4876', 'hideLMSUI', '241'); -INSERT INTO cp_node VALUES ('4877', 'hideLMSUI', '241'); -INSERT INTO cp_node VALUES ('4878', 'hideLMSUI', '241'); -INSERT INTO cp_node VALUES ('4879', 'item', '241'); -INSERT INTO cp_node VALUES ('4880', 'item', '241'); -INSERT INTO cp_node VALUES ('4881', 'item', '241'); -INSERT INTO cp_node VALUES ('4882', 'hideLMSUI', '241'); -INSERT INTO cp_node VALUES ('4883', 'hideLMSUI', '241'); -INSERT INTO cp_node VALUES ('4884', 'hideLMSUI', '241'); -INSERT INTO cp_node VALUES ('4885', 'item', '241'); -INSERT INTO cp_node VALUES ('4886', 'hideLMSUI', '241'); -INSERT INTO cp_node VALUES ('4887', 'hideLMSUI', '241'); -INSERT INTO cp_node VALUES ('4888', 'hideLMSUI', '241'); -INSERT INTO cp_node VALUES ('4889', 'item', '241'); -INSERT INTO cp_node VALUES ('4890', 'item', '241'); -INSERT INTO cp_node VALUES ('4891', 'hideLMSUI', '241'); -INSERT INTO cp_node VALUES ('4892', 'hideLMSUI', '241'); -INSERT INTO cp_node VALUES ('4893', 'hideLMSUI', '241'); -INSERT INTO cp_node VALUES ('4894', 'item', '241'); -INSERT INTO cp_node VALUES ('4895', 'hideLMSUI', '241'); -INSERT INTO cp_node VALUES ('4896', 'hideLMSUI', '241'); -INSERT INTO cp_node VALUES ('4897', 'hideLMSUI', '241'); -INSERT INTO cp_node VALUES ('4898', 'item', '241'); -INSERT INTO cp_node VALUES ('4899', 'hideLMSUI', '241'); -INSERT INTO cp_node VALUES ('4900', 'hideLMSUI', '241'); -INSERT INTO cp_node VALUES ('4901', 'hideLMSUI', '241'); -INSERT INTO cp_node VALUES ('4902', 'resource', '241'); -INSERT INTO cp_node VALUES ('4903', 'file', '241'); -INSERT INTO cp_node VALUES ('4904', 'dependency', '241'); -INSERT INTO cp_node VALUES ('4905', 'dependency', '241'); -INSERT INTO cp_node VALUES ('4906', 'dependency', '241'); -INSERT INTO cp_node VALUES ('4907', 'dependency', '241'); -INSERT INTO cp_node VALUES ('4908', 'dependency', '241'); -INSERT INTO cp_node VALUES ('4909', 'resource', '241'); -INSERT INTO cp_node VALUES ('4910', 'file', '241'); -INSERT INTO cp_node VALUES ('4911', 'resource', '241'); -INSERT INTO cp_node VALUES ('4912', 'file', '241'); -INSERT INTO cp_node VALUES ('4913', 'resource', '241'); -INSERT INTO cp_node VALUES ('4914', 'file', '241'); -INSERT INTO cp_node VALUES ('4915', 'resource', '241'); -INSERT INTO cp_node VALUES ('4916', 'file', '241'); -INSERT INTO cp_node VALUES ('4917', 'dependency', '241'); -INSERT INTO cp_node VALUES ('4918', 'resource', '241'); -INSERT INTO cp_node VALUES ('4919', 'file', '241'); -INSERT INTO cp_node VALUES ('4920', 'resource', '241'); -INSERT INTO cp_node VALUES ('4921', 'file', '241'); -INSERT INTO cp_node VALUES ('4922', 'sequencing', '241'); -INSERT INTO cp_node VALUES ('4923', 'rule', '241'); -INSERT INTO cp_node VALUES ('4924', 'condition', '241'); -INSERT INTO cp_node VALUES ('4925', 'objective', '241'); -INSERT INTO cp_node VALUES ('4926', 'mapInfo', '241'); -INSERT INTO cp_node VALUES ('4927', 'sequencing', '241'); -INSERT INTO cp_node VALUES ('4928', 'rule', '241'); -INSERT INTO cp_node VALUES ('4929', 'condition', '241'); -INSERT INTO cp_node VALUES ('4930', 'objective', '241'); -INSERT INTO cp_node VALUES ('4931', 'mapInfo', '241'); -INSERT INTO cp_node VALUES ('4932', 'sequencing', '241'); -INSERT INTO cp_node VALUES ('4933', 'rule', '241'); -INSERT INTO cp_node VALUES ('4934', 'condition', '241'); -INSERT INTO cp_node VALUES ('4935', 'objective', '241'); -INSERT INTO cp_node VALUES ('4936', 'objective', '241'); -INSERT INTO cp_node VALUES ('4937', 'mapInfo', '241'); -INSERT INTO cp_node VALUES ('4938', 'sequencing', '241'); -INSERT INTO cp_node VALUES ('4939', 'rule', '241'); -INSERT INTO cp_node VALUES ('4940', 'condition', '241'); -INSERT INTO cp_node VALUES ('4941', 'rule', '241'); -INSERT INTO cp_node VALUES ('4942', 'condition', '241'); -INSERT INTO cp_node VALUES ('4943', 'condition', '241'); -INSERT INTO cp_node VALUES ('4944', 'objective', '241'); -INSERT INTO cp_node VALUES ('4945', 'objective', '241'); -INSERT INTO cp_node VALUES ('4946', 'mapInfo', '241'); -INSERT INTO cp_node VALUES ('4947', 'objective', '241'); -INSERT INTO cp_node VALUES ('4948', 'mapInfo', '241'); -INSERT INTO cp_node VALUES ('4949', 'sequencing', '241'); -INSERT INTO cp_node VALUES ('4950', 'sequencing', '241'); -INSERT INTO cp_node VALUES ('4951', 'rule', '241'); -INSERT INTO cp_node VALUES ('4952', 'condition', '241'); -INSERT INTO cp_node VALUES ('4953', 'objective', '241'); -INSERT INTO cp_node VALUES ('4954', 'objective', '241'); -INSERT INTO cp_node VALUES ('4955', 'mapInfo', '241'); -INSERT INTO cp_node VALUES ('4956', 'sequencing', '241'); -INSERT INTO cp_node VALUES ('4957', 'rule', '241'); -INSERT INTO cp_node VALUES ('4958', 'condition', '241'); -INSERT INTO cp_node VALUES ('4959', 'rule', '241'); -INSERT INTO cp_node VALUES ('4960', 'condition', '241'); -INSERT INTO cp_node VALUES ('4961', 'condition', '241'); -INSERT INTO cp_node VALUES ('4962', 'objective', '241'); -INSERT INTO cp_node VALUES ('4963', 'objective', '241'); -INSERT INTO cp_node VALUES ('4964', 'mapInfo', '241'); -INSERT INTO cp_node VALUES ('4965', 'objective', '241'); -INSERT INTO cp_node VALUES ('4966', 'mapInfo', '241'); -INSERT INTO cp_node VALUES ('4967', 'sequencing', '241'); -INSERT INTO cp_node VALUES ('4968', 'sequencing', '241'); -INSERT INTO cp_node VALUES ('4969', 'rule', '241'); -INSERT INTO cp_node VALUES ('4970', 'condition', '241'); -INSERT INTO cp_node VALUES ('4971', 'objective', '241'); -INSERT INTO cp_node VALUES ('4972', 'objective', '241'); -INSERT INTO cp_node VALUES ('4973', 'mapInfo', '241'); -INSERT INTO cp_node VALUES ('4974', 'objective', '241'); -INSERT INTO cp_node VALUES ('4975', 'mapInfo', '241'); -INSERT INTO cp_node VALUES ('4976', 'objective', '241'); -INSERT INTO cp_node VALUES ('4977', 'mapInfo', '241'); -INSERT INTO cp_node VALUES ('4978', 'objective', '241'); -INSERT INTO cp_node VALUES ('4979', 'mapInfo', '241'); -INSERT INTO cp_node VALUES ('4980', 'objective', '241'); -INSERT INTO cp_node VALUES ('4981', 'mapInfo', '241'); -INSERT INTO cp_node VALUES ('4982', 'sequencing', '241'); -INSERT INTO cp_node VALUES ('4983', 'rule', '241'); -INSERT INTO cp_node VALUES ('4984', 'condition', '241'); -INSERT INTO cp_node VALUES ('4985', 'objective', '241'); -INSERT INTO cp_node VALUES ('4986', 'objective', '241'); -INSERT INTO cp_node VALUES ('4987', 'mapInfo', '241'); -INSERT INTO cp_node VALUES ('4988', 'sequencing', '241'); -INSERT INTO cp_node VALUES ('4989', 'manifest', '242'); -INSERT INTO cp_node VALUES ('4990', 'organization', '242'); -INSERT INTO cp_node VALUES ('4991', 'item', '242'); -INSERT INTO cp_node VALUES ('4992', 'hideLMSUI', '242'); -INSERT INTO cp_node VALUES ('4993', 'hideLMSUI', '242'); -INSERT INTO cp_node VALUES ('4994', 'hideLMSUI', '242'); -INSERT INTO cp_node VALUES ('4995', 'item', '242'); -INSERT INTO cp_node VALUES ('4996', 'hideLMSUI', '242'); -INSERT INTO cp_node VALUES ('4997', 'hideLMSUI', '242'); -INSERT INTO cp_node VALUES ('4998', 'hideLMSUI', '242'); -INSERT INTO cp_node VALUES ('4999', 'item', '242'); -INSERT INTO cp_node VALUES ('5000', 'hideLMSUI', '242'); -INSERT INTO cp_node VALUES ('5001', 'hideLMSUI', '242'); -INSERT INTO cp_node VALUES ('5002', 'hideLMSUI', '242'); -INSERT INTO cp_node VALUES ('5003', 'resource', '242'); -INSERT INTO cp_node VALUES ('5004', 'file', '242'); -INSERT INTO cp_node VALUES ('5005', 'dependency', '242'); -INSERT INTO cp_node VALUES ('5006', 'dependency', '242'); -INSERT INTO cp_node VALUES ('5007', 'dependency', '242'); -INSERT INTO cp_node VALUES ('5008', 'dependency', '242'); -INSERT INTO cp_node VALUES ('5009', 'dependency', '242'); -INSERT INTO cp_node VALUES ('5010', 'resource', '242'); -INSERT INTO cp_node VALUES ('5011', 'file', '242'); -INSERT INTO cp_node VALUES ('5012', 'resource', '242'); -INSERT INTO cp_node VALUES ('5013', 'file', '242'); -INSERT INTO cp_node VALUES ('5014', 'resource', '242'); -INSERT INTO cp_node VALUES ('5015', 'file', '242'); -INSERT INTO cp_node VALUES ('5016', 'resource', '242'); -INSERT INTO cp_node VALUES ('5017', 'file', '242'); -INSERT INTO cp_node VALUES ('5018', 'dependency', '242'); -INSERT INTO cp_node VALUES ('5019', 'resource', '242'); -INSERT INTO cp_node VALUES ('5020', 'file', '242'); -INSERT INTO cp_node VALUES ('5021', 'resource', '242'); -INSERT INTO cp_node VALUES ('5022', 'file', '242'); -INSERT INTO cp_node VALUES ('5023', 'sequencing', '242'); -INSERT INTO cp_node VALUES ('5024', 'rule', '242'); -INSERT INTO cp_node VALUES ('5025', 'condition', '242'); -INSERT INTO cp_node VALUES ('5026', 'rule', '242'); -INSERT INTO cp_node VALUES ('5027', 'condition', '242'); -INSERT INTO cp_node VALUES ('5028', 'sequencing', '242'); -INSERT INTO cp_node VALUES ('5029', 'manifest', '243'); -INSERT INTO cp_node VALUES ('5030', 'organization', '243'); -INSERT INTO cp_node VALUES ('5031', 'item', '243'); -INSERT INTO cp_node VALUES ('5032', 'item', '243'); -INSERT INTO cp_node VALUES ('5033', 'hideLMSUI', '243'); -INSERT INTO cp_node VALUES ('5034', 'hideLMSUI', '243'); -INSERT INTO cp_node VALUES ('5035', 'hideLMSUI', '243'); -INSERT INTO cp_node VALUES ('5036', 'item', '243'); -INSERT INTO cp_node VALUES ('5037', 'hideLMSUI', '243'); -INSERT INTO cp_node VALUES ('5038', 'hideLMSUI', '243'); -INSERT INTO cp_node VALUES ('5039', 'hideLMSUI', '243'); -INSERT INTO cp_node VALUES ('5040', 'item', '243'); -INSERT INTO cp_node VALUES ('5041', 'hideLMSUI', '243'); -INSERT INTO cp_node VALUES ('5042', 'hideLMSUI', '243'); -INSERT INTO cp_node VALUES ('5043', 'hideLMSUI', '243'); -INSERT INTO cp_node VALUES ('5044', 'item', '243'); -INSERT INTO cp_node VALUES ('5045', 'hideLMSUI', '243'); -INSERT INTO cp_node VALUES ('5046', 'hideLMSUI', '243'); -INSERT INTO cp_node VALUES ('5047', 'hideLMSUI', '243'); -INSERT INTO cp_node VALUES ('5048', 'resource', '243'); -INSERT INTO cp_node VALUES ('5049', 'file', '243'); -INSERT INTO cp_node VALUES ('5050', 'dependency', '243'); -INSERT INTO cp_node VALUES ('5051', 'dependency', '243'); -INSERT INTO cp_node VALUES ('5052', 'dependency', '243'); -INSERT INTO cp_node VALUES ('5053', 'dependency', '243'); -INSERT INTO cp_node VALUES ('5054', 'dependency', '243'); -INSERT INTO cp_node VALUES ('5055', 'resource', '243'); -INSERT INTO cp_node VALUES ('5056', 'file', '243'); -INSERT INTO cp_node VALUES ('5057', 'resource', '243'); -INSERT INTO cp_node VALUES ('5058', 'file', '243'); -INSERT INTO cp_node VALUES ('5059', 'resource', '243'); -INSERT INTO cp_node VALUES ('5060', 'file', '243'); -INSERT INTO cp_node VALUES ('5061', 'resource', '243'); -INSERT INTO cp_node VALUES ('5062', 'file', '243'); -INSERT INTO cp_node VALUES ('5063', 'dependency', '243'); -INSERT INTO cp_node VALUES ('5064', 'resource', '243'); -INSERT INTO cp_node VALUES ('5065', 'file', '243'); -INSERT INTO cp_node VALUES ('5066', 'resource', '243'); -INSERT INTO cp_node VALUES ('5067', 'file', '243'); -INSERT INTO cp_node VALUES ('5068', 'sequencing', '243'); -INSERT INTO cp_node VALUES ('5069', 'rule', '243'); -INSERT INTO cp_node VALUES ('5070', 'condition', '243'); -INSERT INTO cp_node VALUES ('5071', 'sequencing', '243'); -INSERT INTO cp_node VALUES ('5072', 'sequencing', '243'); -INSERT INTO cp_node VALUES ('5073', 'manifest', '244'); -INSERT INTO cp_node VALUES ('5074', 'organization', '244'); -INSERT INTO cp_node VALUES ('5075', 'item', '244'); -INSERT INTO cp_node VALUES ('5076', 'item', '244'); -INSERT INTO cp_node VALUES ('5077', 'hideLMSUI', '244'); -INSERT INTO cp_node VALUES ('5078', 'hideLMSUI', '244'); -INSERT INTO cp_node VALUES ('5079', 'hideLMSUI', '244'); -INSERT INTO cp_node VALUES ('5080', 'item', '244'); -INSERT INTO cp_node VALUES ('5081', 'hideLMSUI', '244'); -INSERT INTO cp_node VALUES ('5082', 'hideLMSUI', '244'); -INSERT INTO cp_node VALUES ('5083', 'hideLMSUI', '244'); -INSERT INTO cp_node VALUES ('5084', 'item', '244'); -INSERT INTO cp_node VALUES ('5085', 'hideLMSUI', '244'); -INSERT INTO cp_node VALUES ('5086', 'hideLMSUI', '244'); -INSERT INTO cp_node VALUES ('5087', 'hideLMSUI', '244'); -INSERT INTO cp_node VALUES ('5088', 'resource', '244'); -INSERT INTO cp_node VALUES ('5089', 'file', '244'); -INSERT INTO cp_node VALUES ('5090', 'dependency', '244'); -INSERT INTO cp_node VALUES ('5091', 'dependency', '244'); -INSERT INTO cp_node VALUES ('5092', 'dependency', '244'); -INSERT INTO cp_node VALUES ('5093', 'dependency', '244'); -INSERT INTO cp_node VALUES ('5094', 'dependency', '244'); -INSERT INTO cp_node VALUES ('5095', 'resource', '244'); -INSERT INTO cp_node VALUES ('5096', 'file', '244'); -INSERT INTO cp_node VALUES ('5097', 'resource', '244'); -INSERT INTO cp_node VALUES ('5098', 'file', '244'); -INSERT INTO cp_node VALUES ('5099', 'resource', '244'); -INSERT INTO cp_node VALUES ('5100', 'file', '244'); -INSERT INTO cp_node VALUES ('5101', 'resource', '244'); -INSERT INTO cp_node VALUES ('5102', 'file', '244'); -INSERT INTO cp_node VALUES ('5103', 'dependency', '244'); -INSERT INTO cp_node VALUES ('5104', 'resource', '244'); -INSERT INTO cp_node VALUES ('5105', 'file', '244'); -INSERT INTO cp_node VALUES ('5106', 'resource', '244'); -INSERT INTO cp_node VALUES ('5107', 'file', '244'); -INSERT INTO cp_node VALUES ('5108', 'sequencing', '244'); -INSERT INTO cp_node VALUES ('5109', 'rule', '244'); -INSERT INTO cp_node VALUES ('5110', 'condition', '244'); -INSERT INTO cp_node VALUES ('5111', 'sequencing', '244'); -INSERT INTO cp_node VALUES ('5112', 'sequencing', '244'); -INSERT INTO cp_node VALUES ('5113', 'manifest', '245'); -INSERT INTO cp_node VALUES ('5114', 'organization', '245'); -INSERT INTO cp_node VALUES ('5115', 'item', '245'); -INSERT INTO cp_node VALUES ('5116', 'item', '245'); -INSERT INTO cp_node VALUES ('5117', 'hideLMSUI', '245'); -INSERT INTO cp_node VALUES ('5118', 'hideLMSUI', '245'); -INSERT INTO cp_node VALUES ('5119', 'hideLMSUI', '245'); -INSERT INTO cp_node VALUES ('5120', 'item', '245'); -INSERT INTO cp_node VALUES ('5121', 'hideLMSUI', '245'); -INSERT INTO cp_node VALUES ('5122', 'hideLMSUI', '245'); -INSERT INTO cp_node VALUES ('5123', 'hideLMSUI', '245'); -INSERT INTO cp_node VALUES ('5124', 'item', '245'); -INSERT INTO cp_node VALUES ('5125', 'hideLMSUI', '245'); -INSERT INTO cp_node VALUES ('5126', 'hideLMSUI', '245'); -INSERT INTO cp_node VALUES ('5127', 'hideLMSUI', '245'); -INSERT INTO cp_node VALUES ('5128', 'resource', '245'); -INSERT INTO cp_node VALUES ('5129', 'file', '245'); -INSERT INTO cp_node VALUES ('5130', 'dependency', '245'); -INSERT INTO cp_node VALUES ('5131', 'dependency', '245'); -INSERT INTO cp_node VALUES ('5132', 'dependency', '245'); -INSERT INTO cp_node VALUES ('5133', 'dependency', '245'); -INSERT INTO cp_node VALUES ('5134', 'dependency', '245'); -INSERT INTO cp_node VALUES ('5135', 'resource', '245'); -INSERT INTO cp_node VALUES ('5136', 'file', '245'); -INSERT INTO cp_node VALUES ('5137', 'resource', '245'); -INSERT INTO cp_node VALUES ('5138', 'file', '245'); -INSERT INTO cp_node VALUES ('5139', 'resource', '245'); -INSERT INTO cp_node VALUES ('5140', 'file', '245'); -INSERT INTO cp_node VALUES ('5141', 'resource', '245'); -INSERT INTO cp_node VALUES ('5142', 'file', '245'); -INSERT INTO cp_node VALUES ('5143', 'dependency', '245'); -INSERT INTO cp_node VALUES ('5144', 'resource', '245'); -INSERT INTO cp_node VALUES ('5145', 'file', '245'); -INSERT INTO cp_node VALUES ('5146', 'resource', '245'); -INSERT INTO cp_node VALUES ('5147', 'file', '245'); -INSERT INTO cp_node VALUES ('5148', 'sequencing', '245'); -INSERT INTO cp_node VALUES ('5149', 'rule', '245'); -INSERT INTO cp_node VALUES ('5150', 'condition', '245'); -INSERT INTO cp_node VALUES ('5151', 'sequencing', '245'); -INSERT INTO cp_node VALUES ('5152', 'rule', '245'); -INSERT INTO cp_node VALUES ('5153', 'condition', '245'); -INSERT INTO cp_node VALUES ('5154', 'rule', '245'); -INSERT INTO cp_node VALUES ('5155', 'condition', '245'); -INSERT INTO cp_node VALUES ('5156', 'sequencing', '245'); -INSERT INTO cp_node VALUES ('5157', 'manifest', '246'); -INSERT INTO cp_node VALUES ('5158', 'organization', '246'); -INSERT INTO cp_node VALUES ('5159', 'item', '246'); -INSERT INTO cp_node VALUES ('5160', 'hideLMSUI', '246'); -INSERT INTO cp_node VALUES ('5161', 'hideLMSUI', '246'); -INSERT INTO cp_node VALUES ('5162', 'hideLMSUI', '246'); -INSERT INTO cp_node VALUES ('5163', 'item', '246'); -INSERT INTO cp_node VALUES ('5164', 'item', '246'); -INSERT INTO cp_node VALUES ('5165', 'hideLMSUI', '246'); -INSERT INTO cp_node VALUES ('5166', 'hideLMSUI', '246'); -INSERT INTO cp_node VALUES ('5167', 'hideLMSUI', '246'); -INSERT INTO cp_node VALUES ('5168', 'item', '246'); -INSERT INTO cp_node VALUES ('5169', 'hideLMSUI', '246'); -INSERT INTO cp_node VALUES ('5170', 'hideLMSUI', '246'); -INSERT INTO cp_node VALUES ('5171', 'hideLMSUI', '246'); -INSERT INTO cp_node VALUES ('5172', 'item', '246'); -INSERT INTO cp_node VALUES ('5173', 'hideLMSUI', '246'); -INSERT INTO cp_node VALUES ('5174', 'hideLMSUI', '246'); -INSERT INTO cp_node VALUES ('5175', 'hideLMSUI', '246'); -INSERT INTO cp_node VALUES ('5176', 'item', '246'); -INSERT INTO cp_node VALUES ('5177', 'hideLMSUI', '246'); -INSERT INTO cp_node VALUES ('5178', 'hideLMSUI', '246'); -INSERT INTO cp_node VALUES ('5179', 'hideLMSUI', '246'); -INSERT INTO cp_node VALUES ('5180', 'item', '246'); -INSERT INTO cp_node VALUES ('5181', 'hideLMSUI', '246'); -INSERT INTO cp_node VALUES ('5182', 'hideLMSUI', '246'); -INSERT INTO cp_node VALUES ('5183', 'hideLMSUI', '246'); -INSERT INTO cp_node VALUES ('5184', 'resource', '246'); -INSERT INTO cp_node VALUES ('5185', 'file', '246'); -INSERT INTO cp_node VALUES ('5186', 'dependency', '246'); -INSERT INTO cp_node VALUES ('5187', 'dependency', '246'); -INSERT INTO cp_node VALUES ('5188', 'dependency', '246'); -INSERT INTO cp_node VALUES ('5189', 'dependency', '246'); -INSERT INTO cp_node VALUES ('5190', 'dependency', '246'); -INSERT INTO cp_node VALUES ('5191', 'resource', '246'); -INSERT INTO cp_node VALUES ('5192', 'file', '246'); -INSERT INTO cp_node VALUES ('5193', 'resource', '246'); -INSERT INTO cp_node VALUES ('5194', 'file', '246'); -INSERT INTO cp_node VALUES ('5195', 'resource', '246'); -INSERT INTO cp_node VALUES ('5196', 'file', '246'); -INSERT INTO cp_node VALUES ('5197', 'resource', '246'); -INSERT INTO cp_node VALUES ('5198', 'file', '246'); -INSERT INTO cp_node VALUES ('5199', 'dependency', '246'); -INSERT INTO cp_node VALUES ('5200', 'resource', '246'); -INSERT INTO cp_node VALUES ('5201', 'file', '246'); -INSERT INTO cp_node VALUES ('5202', 'resource', '246'); -INSERT INTO cp_node VALUES ('5203', 'file', '246'); -INSERT INTO cp_node VALUES ('5204', 'sequencing', '246'); -INSERT INTO cp_node VALUES ('5205', 'rule', '246'); -INSERT INTO cp_node VALUES ('5206', 'condition', '246'); -INSERT INTO cp_node VALUES ('5207', 'objective', '246'); -INSERT INTO cp_node VALUES ('5208', 'sequencing', '246'); -INSERT INTO cp_node VALUES ('5209', 'rule', '246'); -INSERT INTO cp_node VALUES ('5210', 'condition', '246'); -INSERT INTO cp_node VALUES ('5211', 'sequencing', '246'); -INSERT INTO cp_node VALUES ('5212', 'rule', '246'); -INSERT INTO cp_node VALUES ('5213', 'condition', '246'); -INSERT INTO cp_node VALUES ('5214', 'sequencing', '246'); -INSERT INTO cp_node VALUES ('5215', 'sequencing', '246'); -INSERT INTO cp_node VALUES ('5216', 'manifest', '247'); -INSERT INTO cp_node VALUES ('5217', 'organization', '247'); -INSERT INTO cp_node VALUES ('5218', 'item', '247'); -INSERT INTO cp_node VALUES ('5219', 'hideLMSUI', '247'); -INSERT INTO cp_node VALUES ('5220', 'hideLMSUI', '247'); -INSERT INTO cp_node VALUES ('5221', 'hideLMSUI', '247'); -INSERT INTO cp_node VALUES ('5222', 'item', '247'); -INSERT INTO cp_node VALUES ('5223', 'item', '247'); -INSERT INTO cp_node VALUES ('5224', 'hideLMSUI', '247'); -INSERT INTO cp_node VALUES ('5225', 'hideLMSUI', '247'); -INSERT INTO cp_node VALUES ('5226', 'hideLMSUI', '247'); -INSERT INTO cp_node VALUES ('5227', 'item', '247'); -INSERT INTO cp_node VALUES ('5228', 'hideLMSUI', '247'); -INSERT INTO cp_node VALUES ('5229', 'hideLMSUI', '247'); -INSERT INTO cp_node VALUES ('5230', 'hideLMSUI', '247'); -INSERT INTO cp_node VALUES ('5231', 'item', '247'); -INSERT INTO cp_node VALUES ('5232', 'hideLMSUI', '247'); -INSERT INTO cp_node VALUES ('5233', 'hideLMSUI', '247'); -INSERT INTO cp_node VALUES ('5234', 'hideLMSUI', '247'); -INSERT INTO cp_node VALUES ('5235', 'item', '247'); -INSERT INTO cp_node VALUES ('5236', 'hideLMSUI', '247'); -INSERT INTO cp_node VALUES ('5237', 'hideLMSUI', '247'); -INSERT INTO cp_node VALUES ('5238', 'hideLMSUI', '247'); -INSERT INTO cp_node VALUES ('5239', 'item', '247'); -INSERT INTO cp_node VALUES ('5240', 'hideLMSUI', '247'); -INSERT INTO cp_node VALUES ('5241', 'hideLMSUI', '247'); -INSERT INTO cp_node VALUES ('5242', 'hideLMSUI', '247'); -INSERT INTO cp_node VALUES ('5243', 'resource', '247'); -INSERT INTO cp_node VALUES ('5244', 'file', '247'); -INSERT INTO cp_node VALUES ('5245', 'dependency', '247'); -INSERT INTO cp_node VALUES ('5246', 'dependency', '247'); -INSERT INTO cp_node VALUES ('5247', 'dependency', '247'); -INSERT INTO cp_node VALUES ('5248', 'dependency', '247'); -INSERT INTO cp_node VALUES ('5249', 'dependency', '247'); -INSERT INTO cp_node VALUES ('5250', 'resource', '247'); -INSERT INTO cp_node VALUES ('5251', 'file', '247'); -INSERT INTO cp_node VALUES ('5252', 'resource', '247'); -INSERT INTO cp_node VALUES ('5253', 'file', '247'); -INSERT INTO cp_node VALUES ('5254', 'resource', '247'); -INSERT INTO cp_node VALUES ('5255', 'file', '247'); -INSERT INTO cp_node VALUES ('5256', 'resource', '247'); -INSERT INTO cp_node VALUES ('5257', 'file', '247'); -INSERT INTO cp_node VALUES ('5258', 'dependency', '247'); -INSERT INTO cp_node VALUES ('5259', 'resource', '247'); -INSERT INTO cp_node VALUES ('5260', 'file', '247'); -INSERT INTO cp_node VALUES ('5261', 'resource', '247'); -INSERT INTO cp_node VALUES ('5262', 'file', '247'); -INSERT INTO cp_node VALUES ('5263', 'sequencing', '247'); -INSERT INTO cp_node VALUES ('5264', 'rule', '247'); -INSERT INTO cp_node VALUES ('5265', 'condition', '247'); -INSERT INTO cp_node VALUES ('5266', 'sequencing', '247'); -INSERT INTO cp_node VALUES ('5267', 'rule', '247'); -INSERT INTO cp_node VALUES ('5268', 'condition', '247'); -INSERT INTO cp_node VALUES ('5269', 'objective', '247'); -INSERT INTO cp_node VALUES ('5270', 'sequencing', '247'); -INSERT INTO cp_node VALUES ('5271', 'rule', '247'); -INSERT INTO cp_node VALUES ('5272', 'condition', '247'); -INSERT INTO cp_node VALUES ('5273', 'sequencing', '247'); -INSERT INTO cp_node VALUES ('5274', 'sequencing', '247'); -INSERT INTO cp_node VALUES ('5275', 'manifest', '248'); -INSERT INTO cp_node VALUES ('5276', 'organization', '248'); -INSERT INTO cp_node VALUES ('5277', 'item', '248'); -INSERT INTO cp_node VALUES ('5278', 'hideLMSUI', '248'); -INSERT INTO cp_node VALUES ('5279', 'hideLMSUI', '248'); -INSERT INTO cp_node VALUES ('5280', 'hideLMSUI', '248'); -INSERT INTO cp_node VALUES ('5281', 'item', '248'); -INSERT INTO cp_node VALUES ('5282', 'item', '248'); -INSERT INTO cp_node VALUES ('5283', 'item', '248'); -INSERT INTO cp_node VALUES ('5284', 'item', '248'); -INSERT INTO cp_node VALUES ('5285', 'hideLMSUI', '248'); -INSERT INTO cp_node VALUES ('5286', 'hideLMSUI', '248'); -INSERT INTO cp_node VALUES ('5287', 'hideLMSUI', '248'); -INSERT INTO cp_node VALUES ('5288', 'item', '248'); -INSERT INTO cp_node VALUES ('5289', 'hideLMSUI', '248'); -INSERT INTO cp_node VALUES ('5290', 'hideLMSUI', '248'); -INSERT INTO cp_node VALUES ('5291', 'hideLMSUI', '248'); -INSERT INTO cp_node VALUES ('5292', 'item', '248'); -INSERT INTO cp_node VALUES ('5293', 'hideLMSUI', '248'); -INSERT INTO cp_node VALUES ('5294', 'hideLMSUI', '248'); -INSERT INTO cp_node VALUES ('5295', 'hideLMSUI', '248'); -INSERT INTO cp_node VALUES ('5296', 'item', '248'); -INSERT INTO cp_node VALUES ('5297', 'item', '248'); -INSERT INTO cp_node VALUES ('5298', 'hideLMSUI', '248'); -INSERT INTO cp_node VALUES ('5299', 'hideLMSUI', '248'); -INSERT INTO cp_node VALUES ('5300', 'hideLMSUI', '248'); -INSERT INTO cp_node VALUES ('5301', 'item', '248'); -INSERT INTO cp_node VALUES ('5302', 'hideLMSUI', '248'); -INSERT INTO cp_node VALUES ('5303', 'hideLMSUI', '248'); -INSERT INTO cp_node VALUES ('5304', 'hideLMSUI', '248'); -INSERT INTO cp_node VALUES ('5305', 'item', '248'); -INSERT INTO cp_node VALUES ('5306', 'hideLMSUI', '248'); -INSERT INTO cp_node VALUES ('5307', 'hideLMSUI', '248'); -INSERT INTO cp_node VALUES ('5308', 'hideLMSUI', '248'); -INSERT INTO cp_node VALUES ('5309', 'item', '248'); -INSERT INTO cp_node VALUES ('5310', 'item', '248'); -INSERT INTO cp_node VALUES ('5311', 'hideLMSUI', '248'); -INSERT INTO cp_node VALUES ('5312', 'hideLMSUI', '248'); -INSERT INTO cp_node VALUES ('5313', 'hideLMSUI', '248'); -INSERT INTO cp_node VALUES ('5314', 'item', '248'); -INSERT INTO cp_node VALUES ('5315', 'hideLMSUI', '248'); -INSERT INTO cp_node VALUES ('5316', 'hideLMSUI', '248'); -INSERT INTO cp_node VALUES ('5317', 'hideLMSUI', '248'); -INSERT INTO cp_node VALUES ('5318', 'item', '248'); -INSERT INTO cp_node VALUES ('5319', 'hideLMSUI', '248'); -INSERT INTO cp_node VALUES ('5320', 'hideLMSUI', '248'); -INSERT INTO cp_node VALUES ('5321', 'hideLMSUI', '248'); -INSERT INTO cp_node VALUES ('5322', 'item', '248'); -INSERT INTO cp_node VALUES ('5323', 'item', '248'); -INSERT INTO cp_node VALUES ('5324', 'item', '248'); -INSERT INTO cp_node VALUES ('5325', 'hideLMSUI', '248'); -INSERT INTO cp_node VALUES ('5326', 'hideLMSUI', '248'); -INSERT INTO cp_node VALUES ('5327', 'hideLMSUI', '248'); -INSERT INTO cp_node VALUES ('5328', 'item', '248'); -INSERT INTO cp_node VALUES ('5329', 'hideLMSUI', '248'); -INSERT INTO cp_node VALUES ('5330', 'hideLMSUI', '248'); -INSERT INTO cp_node VALUES ('5331', 'hideLMSUI', '248'); -INSERT INTO cp_node VALUES ('5332', 'item', '248'); -INSERT INTO cp_node VALUES ('5333', 'hideLMSUI', '248'); -INSERT INTO cp_node VALUES ('5334', 'hideLMSUI', '248'); -INSERT INTO cp_node VALUES ('5335', 'hideLMSUI', '248'); -INSERT INTO cp_node VALUES ('5336', 'item', '248'); -INSERT INTO cp_node VALUES ('5337', 'item', '248'); -INSERT INTO cp_node VALUES ('5338', 'hideLMSUI', '248'); -INSERT INTO cp_node VALUES ('5339', 'hideLMSUI', '248'); -INSERT INTO cp_node VALUES ('5340', 'hideLMSUI', '248'); -INSERT INTO cp_node VALUES ('5341', 'item', '248'); -INSERT INTO cp_node VALUES ('5342', 'hideLMSUI', '248'); -INSERT INTO cp_node VALUES ('5343', 'hideLMSUI', '248'); -INSERT INTO cp_node VALUES ('5344', 'hideLMSUI', '248'); -INSERT INTO cp_node VALUES ('5345', 'item', '248'); -INSERT INTO cp_node VALUES ('5346', 'hideLMSUI', '248'); -INSERT INTO cp_node VALUES ('5347', 'hideLMSUI', '248'); -INSERT INTO cp_node VALUES ('5348', 'hideLMSUI', '248'); -INSERT INTO cp_node VALUES ('5349', 'item', '248'); -INSERT INTO cp_node VALUES ('5350', 'item', '248'); -INSERT INTO cp_node VALUES ('5351', 'hideLMSUI', '248'); -INSERT INTO cp_node VALUES ('5352', 'hideLMSUI', '248'); -INSERT INTO cp_node VALUES ('5353', 'hideLMSUI', '248'); -INSERT INTO cp_node VALUES ('5354', 'item', '248'); -INSERT INTO cp_node VALUES ('5355', 'hideLMSUI', '248'); -INSERT INTO cp_node VALUES ('5356', 'hideLMSUI', '248'); -INSERT INTO cp_node VALUES ('5357', 'hideLMSUI', '248'); -INSERT INTO cp_node VALUES ('5358', 'item', '248'); -INSERT INTO cp_node VALUES ('5359', 'hideLMSUI', '248'); -INSERT INTO cp_node VALUES ('5360', 'hideLMSUI', '248'); -INSERT INTO cp_node VALUES ('5361', 'hideLMSUI', '248'); -INSERT INTO cp_node VALUES ('5362', 'item', '248'); -INSERT INTO cp_node VALUES ('5363', 'item', '248'); -INSERT INTO cp_node VALUES ('5364', 'item', '248'); -INSERT INTO cp_node VALUES ('5365', 'hideLMSUI', '248'); -INSERT INTO cp_node VALUES ('5366', 'hideLMSUI', '248'); -INSERT INTO cp_node VALUES ('5367', 'hideLMSUI', '248'); -INSERT INTO cp_node VALUES ('5368', 'item', '248'); -INSERT INTO cp_node VALUES ('5369', 'hideLMSUI', '248'); -INSERT INTO cp_node VALUES ('5370', 'hideLMSUI', '248'); -INSERT INTO cp_node VALUES ('5371', 'hideLMSUI', '248'); -INSERT INTO cp_node VALUES ('5372', 'item', '248'); -INSERT INTO cp_node VALUES ('5373', 'hideLMSUI', '248'); -INSERT INTO cp_node VALUES ('5374', 'hideLMSUI', '248'); -INSERT INTO cp_node VALUES ('5375', 'hideLMSUI', '248'); -INSERT INTO cp_node VALUES ('5376', 'item', '248'); -INSERT INTO cp_node VALUES ('5377', 'item', '248'); -INSERT INTO cp_node VALUES ('5378', 'hideLMSUI', '248'); -INSERT INTO cp_node VALUES ('5379', 'hideLMSUI', '248'); -INSERT INTO cp_node VALUES ('5380', 'hideLMSUI', '248'); -INSERT INTO cp_node VALUES ('5381', 'item', '248'); -INSERT INTO cp_node VALUES ('5382', 'hideLMSUI', '248'); -INSERT INTO cp_node VALUES ('5383', 'hideLMSUI', '248'); -INSERT INTO cp_node VALUES ('5384', 'hideLMSUI', '248'); -INSERT INTO cp_node VALUES ('5385', 'item', '248'); -INSERT INTO cp_node VALUES ('5386', 'hideLMSUI', '248'); -INSERT INTO cp_node VALUES ('5387', 'hideLMSUI', '248'); -INSERT INTO cp_node VALUES ('5388', 'hideLMSUI', '248'); -INSERT INTO cp_node VALUES ('5389', 'item', '248'); -INSERT INTO cp_node VALUES ('5390', 'item', '248'); -INSERT INTO cp_node VALUES ('5391', 'hideLMSUI', '248'); -INSERT INTO cp_node VALUES ('5392', 'hideLMSUI', '248'); -INSERT INTO cp_node VALUES ('5393', 'hideLMSUI', '248'); -INSERT INTO cp_node VALUES ('5394', 'item', '248'); -INSERT INTO cp_node VALUES ('5395', 'hideLMSUI', '248'); -INSERT INTO cp_node VALUES ('5396', 'hideLMSUI', '248'); -INSERT INTO cp_node VALUES ('5397', 'hideLMSUI', '248'); -INSERT INTO cp_node VALUES ('5398', 'item', '248'); -INSERT INTO cp_node VALUES ('5399', 'hideLMSUI', '248'); -INSERT INTO cp_node VALUES ('5400', 'hideLMSUI', '248'); -INSERT INTO cp_node VALUES ('5401', 'hideLMSUI', '248'); -INSERT INTO cp_node VALUES ('5402', 'item', '248'); -INSERT INTO cp_node VALUES ('5403', 'hideLMSUI', '248'); -INSERT INTO cp_node VALUES ('5404', 'hideLMSUI', '248'); -INSERT INTO cp_node VALUES ('5405', 'hideLMSUI', '248'); -INSERT INTO cp_node VALUES ('5406', 'resource', '248'); -INSERT INTO cp_node VALUES ('5407', 'file', '248'); -INSERT INTO cp_node VALUES ('5408', 'dependency', '248'); -INSERT INTO cp_node VALUES ('5409', 'dependency', '248'); -INSERT INTO cp_node VALUES ('5410', 'dependency', '248'); -INSERT INTO cp_node VALUES ('5411', 'dependency', '248'); -INSERT INTO cp_node VALUES ('5412', 'dependency', '248'); -INSERT INTO cp_node VALUES ('5413', 'resource', '248'); -INSERT INTO cp_node VALUES ('5414', 'file', '248'); -INSERT INTO cp_node VALUES ('5415', 'resource', '248'); -INSERT INTO cp_node VALUES ('5416', 'file', '248'); -INSERT INTO cp_node VALUES ('5417', 'resource', '248'); -INSERT INTO cp_node VALUES ('5418', 'file', '248'); -INSERT INTO cp_node VALUES ('5419', 'resource', '248'); -INSERT INTO cp_node VALUES ('5420', 'file', '248'); -INSERT INTO cp_node VALUES ('5421', 'dependency', '248'); -INSERT INTO cp_node VALUES ('5422', 'resource', '248'); -INSERT INTO cp_node VALUES ('5423', 'file', '248'); -INSERT INTO cp_node VALUES ('5424', 'resource', '248'); -INSERT INTO cp_node VALUES ('5425', 'file', '248'); -INSERT INTO cp_node VALUES ('5426', 'sequencing', '248'); -INSERT INTO cp_node VALUES ('5427', 'sequencing', '248'); -INSERT INTO cp_node VALUES ('5428', 'objective', '248'); -INSERT INTO cp_node VALUES ('5429', 'mapInfo', '248'); -INSERT INTO cp_node VALUES ('5430', 'sequencing', '248'); -INSERT INTO cp_node VALUES ('5431', 'objective', '248'); -INSERT INTO cp_node VALUES ('5432', 'mapInfo', '248'); -INSERT INTO cp_node VALUES ('5433', 'sequencing', '248'); -INSERT INTO cp_node VALUES ('5434', 'objective', '248'); -INSERT INTO cp_node VALUES ('5435', 'mapInfo', '248'); -INSERT INTO cp_node VALUES ('5436', 'sequencing', '248'); -INSERT INTO cp_node VALUES ('5437', 'objective', '248'); -INSERT INTO cp_node VALUES ('5438', 'mapInfo', '248'); -INSERT INTO cp_node VALUES ('5439', 'sequencing', '248'); -INSERT INTO cp_node VALUES ('5440', 'objective', '248'); -INSERT INTO cp_node VALUES ('5441', 'mapInfo', '248'); -INSERT INTO cp_node VALUES ('5442', 'sequencing', '248'); -INSERT INTO cp_node VALUES ('5443', 'objective', '248'); -INSERT INTO cp_node VALUES ('5444', 'mapInfo', '248'); -INSERT INTO cp_node VALUES ('5445', 'sequencing', '248'); -INSERT INTO cp_node VALUES ('5446', 'objective', '248'); -INSERT INTO cp_node VALUES ('5447', 'mapInfo', '248'); -INSERT INTO cp_node VALUES ('5448', 'sequencing', '248'); -INSERT INTO cp_node VALUES ('5449', 'objective', '248'); -INSERT INTO cp_node VALUES ('5450', 'mapInfo', '248'); -INSERT INTO cp_node VALUES ('5451', 'sequencing', '248'); -INSERT INTO cp_node VALUES ('5452', 'objective', '248'); -INSERT INTO cp_node VALUES ('5453', 'mapInfo', '248'); -INSERT INTO cp_node VALUES ('5454', 'sequencing', '248'); -INSERT INTO cp_node VALUES ('5455', 'rule', '248'); -INSERT INTO cp_node VALUES ('5456', 'condition', '248'); -INSERT INTO cp_node VALUES ('5457', 'rule', '248'); -INSERT INTO cp_node VALUES ('5458', 'condition', '248'); -INSERT INTO cp_node VALUES ('5459', 'sequencing', '248'); -INSERT INTO cp_node VALUES ('5460', 'objective', '248'); -INSERT INTO cp_node VALUES ('5461', 'objective', '248'); -INSERT INTO cp_node VALUES ('5462', 'mapInfo', '248'); -INSERT INTO cp_node VALUES ('5463', 'objective', '248'); -INSERT INTO cp_node VALUES ('5464', 'mapInfo', '248'); -INSERT INTO cp_node VALUES ('5465', 'objective', '248'); -INSERT INTO cp_node VALUES ('5466', 'mapInfo', '248'); -INSERT INTO cp_node VALUES ('5467', 'sequencing', '248'); -INSERT INTO cp_node VALUES ('5468', 'rule', '248'); -INSERT INTO cp_node VALUES ('5469', 'condition', '248'); -INSERT INTO cp_node VALUES ('5470', 'rule', '248'); -INSERT INTO cp_node VALUES ('5471', 'condition', '248'); -INSERT INTO cp_node VALUES ('5472', 'sequencing', '248'); -INSERT INTO cp_node VALUES ('5473', 'rule', '248'); -INSERT INTO cp_node VALUES ('5474', 'condition', '248'); -INSERT INTO cp_node VALUES ('5475', 'rule', '248'); -INSERT INTO cp_node VALUES ('5476', 'condition', '248'); -INSERT INTO cp_node VALUES ('5477', 'sequencing', '248'); -INSERT INTO cp_node VALUES ('5478', 'rule', '248'); -INSERT INTO cp_node VALUES ('5479', 'condition', '248'); -INSERT INTO cp_node VALUES ('5480', 'sequencing', '248'); -INSERT INTO cp_node VALUES ('5481', 'rule', '248'); -INSERT INTO cp_node VALUES ('5482', 'condition', '248'); -INSERT INTO cp_node VALUES ('5483', 'rule', '248'); -INSERT INTO cp_node VALUES ('5484', 'condition', '248'); -INSERT INTO cp_node VALUES ('5485', 'sequencing', '248'); -INSERT INTO cp_node VALUES ('5486', 'rule', '248'); -INSERT INTO cp_node VALUES ('5487', 'condition', '248'); -INSERT INTO cp_node VALUES ('5488', 'manifest', '249'); -INSERT INTO cp_node VALUES ('5489', 'organization', '249'); -INSERT INTO cp_node VALUES ('5490', 'item', '249'); -INSERT INTO cp_node VALUES ('5491', 'hideLMSUI', '249'); -INSERT INTO cp_node VALUES ('5492', 'hideLMSUI', '249'); -INSERT INTO cp_node VALUES ('5493', 'hideLMSUI', '249'); -INSERT INTO cp_node VALUES ('5494', 'item', '249'); -INSERT INTO cp_node VALUES ('5495', 'item', '249'); -INSERT INTO cp_node VALUES ('5496', 'item', '249'); -INSERT INTO cp_node VALUES ('5497', 'item', '249'); -INSERT INTO cp_node VALUES ('5498', 'hideLMSUI', '249'); -INSERT INTO cp_node VALUES ('5499', 'hideLMSUI', '249'); -INSERT INTO cp_node VALUES ('5500', 'hideLMSUI', '249'); -INSERT INTO cp_node VALUES ('5501', 'item', '249'); -INSERT INTO cp_node VALUES ('5502', 'hideLMSUI', '249'); -INSERT INTO cp_node VALUES ('5503', 'hideLMSUI', '249'); -INSERT INTO cp_node VALUES ('5504', 'hideLMSUI', '249'); -INSERT INTO cp_node VALUES ('5505', 'item', '249'); -INSERT INTO cp_node VALUES ('5506', 'hideLMSUI', '249'); -INSERT INTO cp_node VALUES ('5507', 'hideLMSUI', '249'); -INSERT INTO cp_node VALUES ('5508', 'hideLMSUI', '249'); -INSERT INTO cp_node VALUES ('5509', 'item', '249'); -INSERT INTO cp_node VALUES ('5510', 'item', '249'); -INSERT INTO cp_node VALUES ('5511', 'hideLMSUI', '249'); -INSERT INTO cp_node VALUES ('5512', 'hideLMSUI', '249'); -INSERT INTO cp_node VALUES ('5513', 'hideLMSUI', '249'); -INSERT INTO cp_node VALUES ('5514', 'item', '249'); -INSERT INTO cp_node VALUES ('5515', 'hideLMSUI', '249'); -INSERT INTO cp_node VALUES ('5516', 'hideLMSUI', '249'); -INSERT INTO cp_node VALUES ('5517', 'hideLMSUI', '249'); -INSERT INTO cp_node VALUES ('5518', 'item', '249'); -INSERT INTO cp_node VALUES ('5519', 'hideLMSUI', '249'); -INSERT INTO cp_node VALUES ('5520', 'hideLMSUI', '249'); -INSERT INTO cp_node VALUES ('5521', 'hideLMSUI', '249'); -INSERT INTO cp_node VALUES ('5522', 'item', '249'); -INSERT INTO cp_node VALUES ('5523', 'item', '249'); -INSERT INTO cp_node VALUES ('5524', 'hideLMSUI', '249'); -INSERT INTO cp_node VALUES ('5525', 'hideLMSUI', '249'); -INSERT INTO cp_node VALUES ('5526', 'hideLMSUI', '249'); -INSERT INTO cp_node VALUES ('5527', 'item', '249'); -INSERT INTO cp_node VALUES ('5528', 'hideLMSUI', '249'); -INSERT INTO cp_node VALUES ('5529', 'hideLMSUI', '249'); -INSERT INTO cp_node VALUES ('5530', 'hideLMSUI', '249'); -INSERT INTO cp_node VALUES ('5531', 'item', '249'); -INSERT INTO cp_node VALUES ('5532', 'hideLMSUI', '249'); -INSERT INTO cp_node VALUES ('5533', 'hideLMSUI', '249'); -INSERT INTO cp_node VALUES ('5534', 'hideLMSUI', '249'); -INSERT INTO cp_node VALUES ('5535', 'item', '249'); -INSERT INTO cp_node VALUES ('5536', 'item', '249'); -INSERT INTO cp_node VALUES ('5537', 'item', '249'); -INSERT INTO cp_node VALUES ('5538', 'hideLMSUI', '249'); -INSERT INTO cp_node VALUES ('5539', 'hideLMSUI', '249'); -INSERT INTO cp_node VALUES ('5540', 'hideLMSUI', '249'); -INSERT INTO cp_node VALUES ('5541', 'item', '249'); -INSERT INTO cp_node VALUES ('5542', 'hideLMSUI', '249'); -INSERT INTO cp_node VALUES ('5543', 'hideLMSUI', '249'); -INSERT INTO cp_node VALUES ('5544', 'hideLMSUI', '249'); -INSERT INTO cp_node VALUES ('5545', 'item', '249'); -INSERT INTO cp_node VALUES ('5546', 'hideLMSUI', '249'); -INSERT INTO cp_node VALUES ('5547', 'hideLMSUI', '249'); -INSERT INTO cp_node VALUES ('5548', 'hideLMSUI', '249'); -INSERT INTO cp_node VALUES ('5549', 'item', '249'); -INSERT INTO cp_node VALUES ('5550', 'item', '249'); -INSERT INTO cp_node VALUES ('5551', 'hideLMSUI', '249'); -INSERT INTO cp_node VALUES ('5552', 'hideLMSUI', '249'); -INSERT INTO cp_node VALUES ('5553', 'hideLMSUI', '249'); -INSERT INTO cp_node VALUES ('5554', 'item', '249'); -INSERT INTO cp_node VALUES ('5555', 'hideLMSUI', '249'); -INSERT INTO cp_node VALUES ('5556', 'hideLMSUI', '249'); -INSERT INTO cp_node VALUES ('5557', 'hideLMSUI', '249'); -INSERT INTO cp_node VALUES ('5558', 'item', '249'); -INSERT INTO cp_node VALUES ('5559', 'hideLMSUI', '249'); -INSERT INTO cp_node VALUES ('5560', 'hideLMSUI', '249'); -INSERT INTO cp_node VALUES ('5561', 'hideLMSUI', '249'); -INSERT INTO cp_node VALUES ('5562', 'item', '249'); -INSERT INTO cp_node VALUES ('5563', 'item', '249'); -INSERT INTO cp_node VALUES ('5564', 'hideLMSUI', '249'); -INSERT INTO cp_node VALUES ('5565', 'hideLMSUI', '249'); -INSERT INTO cp_node VALUES ('5566', 'hideLMSUI', '249'); -INSERT INTO cp_node VALUES ('5567', 'item', '249'); -INSERT INTO cp_node VALUES ('5568', 'hideLMSUI', '249'); -INSERT INTO cp_node VALUES ('5569', 'hideLMSUI', '249'); -INSERT INTO cp_node VALUES ('5570', 'hideLMSUI', '249'); -INSERT INTO cp_node VALUES ('5571', 'item', '249'); -INSERT INTO cp_node VALUES ('5572', 'hideLMSUI', '249'); -INSERT INTO cp_node VALUES ('5573', 'hideLMSUI', '249'); -INSERT INTO cp_node VALUES ('5574', 'hideLMSUI', '249'); -INSERT INTO cp_node VALUES ('5575', 'item', '249'); -INSERT INTO cp_node VALUES ('5576', 'item', '249'); -INSERT INTO cp_node VALUES ('5577', 'item', '249'); -INSERT INTO cp_node VALUES ('5578', 'hideLMSUI', '249'); -INSERT INTO cp_node VALUES ('5579', 'hideLMSUI', '249'); -INSERT INTO cp_node VALUES ('5580', 'hideLMSUI', '249'); -INSERT INTO cp_node VALUES ('5581', 'item', '249'); -INSERT INTO cp_node VALUES ('5582', 'hideLMSUI', '249'); -INSERT INTO cp_node VALUES ('5583', 'hideLMSUI', '249'); -INSERT INTO cp_node VALUES ('5584', 'hideLMSUI', '249'); -INSERT INTO cp_node VALUES ('5585', 'item', '249'); -INSERT INTO cp_node VALUES ('5586', 'hideLMSUI', '249'); -INSERT INTO cp_node VALUES ('5587', 'hideLMSUI', '249'); -INSERT INTO cp_node VALUES ('5588', 'hideLMSUI', '249'); -INSERT INTO cp_node VALUES ('5589', 'item', '249'); -INSERT INTO cp_node VALUES ('5590', 'item', '249'); -INSERT INTO cp_node VALUES ('5591', 'hideLMSUI', '249'); -INSERT INTO cp_node VALUES ('5592', 'hideLMSUI', '249'); -INSERT INTO cp_node VALUES ('5593', 'hideLMSUI', '249'); -INSERT INTO cp_node VALUES ('5594', 'item', '249'); -INSERT INTO cp_node VALUES ('5595', 'hideLMSUI', '249'); -INSERT INTO cp_node VALUES ('5596', 'hideLMSUI', '249'); -INSERT INTO cp_node VALUES ('5597', 'hideLMSUI', '249'); -INSERT INTO cp_node VALUES ('5598', 'item', '249'); -INSERT INTO cp_node VALUES ('5599', 'hideLMSUI', '249'); -INSERT INTO cp_node VALUES ('5600', 'hideLMSUI', '249'); -INSERT INTO cp_node VALUES ('5601', 'hideLMSUI', '249'); -INSERT INTO cp_node VALUES ('5602', 'item', '249'); -INSERT INTO cp_node VALUES ('5603', 'item', '249'); -INSERT INTO cp_node VALUES ('5604', 'hideLMSUI', '249'); -INSERT INTO cp_node VALUES ('5605', 'hideLMSUI', '249'); -INSERT INTO cp_node VALUES ('5606', 'hideLMSUI', '249'); -INSERT INTO cp_node VALUES ('5607', 'item', '249'); -INSERT INTO cp_node VALUES ('5608', 'hideLMSUI', '249'); -INSERT INTO cp_node VALUES ('5609', 'hideLMSUI', '249'); -INSERT INTO cp_node VALUES ('5610', 'hideLMSUI', '249'); -INSERT INTO cp_node VALUES ('5611', 'item', '249'); -INSERT INTO cp_node VALUES ('5612', 'hideLMSUI', '249'); -INSERT INTO cp_node VALUES ('5613', 'hideLMSUI', '249'); -INSERT INTO cp_node VALUES ('5614', 'hideLMSUI', '249'); -INSERT INTO cp_node VALUES ('5615', 'item', '249'); -INSERT INTO cp_node VALUES ('5616', 'hideLMSUI', '249'); -INSERT INTO cp_node VALUES ('5617', 'hideLMSUI', '249'); -INSERT INTO cp_node VALUES ('5618', 'hideLMSUI', '249'); -INSERT INTO cp_node VALUES ('5619', 'resource', '249'); -INSERT INTO cp_node VALUES ('5620', 'file', '249'); -INSERT INTO cp_node VALUES ('5621', 'dependency', '249'); -INSERT INTO cp_node VALUES ('5622', 'dependency', '249'); -INSERT INTO cp_node VALUES ('5623', 'dependency', '249'); -INSERT INTO cp_node VALUES ('5624', 'dependency', '249'); -INSERT INTO cp_node VALUES ('5625', 'dependency', '249'); -INSERT INTO cp_node VALUES ('5626', 'resource', '249'); -INSERT INTO cp_node VALUES ('5627', 'file', '249'); -INSERT INTO cp_node VALUES ('5628', 'resource', '249'); -INSERT INTO cp_node VALUES ('5629', 'file', '249'); -INSERT INTO cp_node VALUES ('5630', 'resource', '249'); -INSERT INTO cp_node VALUES ('5631', 'file', '249'); -INSERT INTO cp_node VALUES ('5632', 'resource', '249'); -INSERT INTO cp_node VALUES ('5633', 'file', '249'); -INSERT INTO cp_node VALUES ('5634', 'dependency', '249'); -INSERT INTO cp_node VALUES ('5635', 'resource', '249'); -INSERT INTO cp_node VALUES ('5636', 'file', '249'); -INSERT INTO cp_node VALUES ('5637', 'resource', '249'); -INSERT INTO cp_node VALUES ('5638', 'file', '249'); -INSERT INTO cp_node VALUES ('5639', 'sequencing', '249'); -INSERT INTO cp_node VALUES ('5640', 'sequencing', '249'); -INSERT INTO cp_node VALUES ('5641', 'objective', '249'); -INSERT INTO cp_node VALUES ('5642', 'mapInfo', '249'); -INSERT INTO cp_node VALUES ('5643', 'sequencing', '249'); -INSERT INTO cp_node VALUES ('5644', 'objective', '249'); -INSERT INTO cp_node VALUES ('5645', 'objective', '249'); -INSERT INTO cp_node VALUES ('5646', 'sequencing', '249'); -INSERT INTO cp_node VALUES ('5647', 'objective', '249'); -INSERT INTO cp_node VALUES ('5648', 'objective', '249'); -INSERT INTO cp_node VALUES ('5649', 'objective', '249'); -INSERT INTO cp_node VALUES ('5650', 'objective', '249'); -INSERT INTO cp_node VALUES ('5651', 'objective', '249'); -INSERT INTO cp_node VALUES ('5652', 'objective', '249'); -INSERT INTO cp_node VALUES ('5653', 'sequencing', '249'); -INSERT INTO cp_node VALUES ('5654', 'objective', '249'); -INSERT INTO cp_node VALUES ('5655', 'mapInfo', '249'); -INSERT INTO cp_node VALUES ('5656', 'sequencing', '249'); -INSERT INTO cp_node VALUES ('5657', 'objective', '249'); -INSERT INTO cp_node VALUES ('5658', 'mapInfo', '249'); -INSERT INTO cp_node VALUES ('5659', 'sequencing', '249'); -INSERT INTO cp_node VALUES ('5660', 'objective', '249'); -INSERT INTO cp_node VALUES ('5661', 'mapInfo', '249'); -INSERT INTO cp_node VALUES ('5662', 'sequencing', '249'); -INSERT INTO cp_node VALUES ('5663', 'objective', '249'); -INSERT INTO cp_node VALUES ('5664', 'mapInfo', '249'); -INSERT INTO cp_node VALUES ('5665', 'sequencing', '249'); -INSERT INTO cp_node VALUES ('5666', 'objective', '249'); -INSERT INTO cp_node VALUES ('5667', 'mapInfo', '249'); -INSERT INTO cp_node VALUES ('5668', 'sequencing', '249'); -INSERT INTO cp_node VALUES ('5669', 'objective', '249'); -INSERT INTO cp_node VALUES ('5670', 'mapInfo', '249'); -INSERT INTO cp_node VALUES ('5671', 'sequencing', '249'); -INSERT INTO cp_node VALUES ('5672', 'objective', '249'); -INSERT INTO cp_node VALUES ('5673', 'mapInfo', '249'); -INSERT INTO cp_node VALUES ('5674', 'sequencing', '249'); -INSERT INTO cp_node VALUES ('5675', 'objective', '249'); -INSERT INTO cp_node VALUES ('5676', 'mapInfo', '249'); -INSERT INTO cp_node VALUES ('5677', 'sequencing', '249'); -INSERT INTO cp_node VALUES ('5678', 'rule', '249'); -INSERT INTO cp_node VALUES ('5679', 'condition', '249'); -INSERT INTO cp_node VALUES ('5680', 'rule', '249'); -INSERT INTO cp_node VALUES ('5681', 'condition', '249'); -INSERT INTO cp_node VALUES ('5682', 'sequencing', '249'); -INSERT INTO cp_node VALUES ('5683', 'objective', '249'); -INSERT INTO cp_node VALUES ('5684', 'objective', '249'); -INSERT INTO cp_node VALUES ('5685', 'mapInfo', '249'); -INSERT INTO cp_node VALUES ('5686', 'objective', '249'); -INSERT INTO cp_node VALUES ('5687', 'mapInfo', '249'); -INSERT INTO cp_node VALUES ('5688', 'objective', '249'); -INSERT INTO cp_node VALUES ('5689', 'mapInfo', '249'); -INSERT INTO cp_node VALUES ('5690', 'sequencing', '249'); -INSERT INTO cp_node VALUES ('5691', 'rule', '249'); -INSERT INTO cp_node VALUES ('5692', 'condition', '249'); -INSERT INTO cp_node VALUES ('5693', 'rule', '249'); -INSERT INTO cp_node VALUES ('5694', 'condition', '249'); -INSERT INTO cp_node VALUES ('5695', 'sequencing', '249'); -INSERT INTO cp_node VALUES ('5696', 'rule', '249'); -INSERT INTO cp_node VALUES ('5697', 'condition', '249'); -INSERT INTO cp_node VALUES ('5698', 'rule', '249'); -INSERT INTO cp_node VALUES ('5699', 'condition', '249'); -INSERT INTO cp_node VALUES ('5700', 'sequencing', '249'); -INSERT INTO cp_node VALUES ('5701', 'rule', '249'); -INSERT INTO cp_node VALUES ('5702', 'condition', '249'); -INSERT INTO cp_node VALUES ('5703', 'sequencing', '249'); -INSERT INTO cp_node VALUES ('5704', 'rule', '249'); -INSERT INTO cp_node VALUES ('5705', 'condition', '249'); -INSERT INTO cp_node VALUES ('5706', 'rule', '249'); -INSERT INTO cp_node VALUES ('5707', 'condition', '249'); -INSERT INTO cp_node VALUES ('5708', 'sequencing', '249'); -INSERT INTO cp_node VALUES ('5709', 'rule', '249'); -INSERT INTO cp_node VALUES ('5710', 'condition', '249'); -INSERT INTO cp_node VALUES ('5711', 'manifest', '252'); -INSERT INTO cp_node VALUES ('5712', 'organization', '252'); -INSERT INTO cp_node VALUES ('5713', 'item', '252'); -INSERT INTO cp_node VALUES ('5714', 'item', '252'); -INSERT INTO cp_node VALUES ('5715', 'item', '252'); -INSERT INTO cp_node VALUES ('5716', 'item', '252'); -INSERT INTO cp_node VALUES ('5717', 'item', '252'); -INSERT INTO cp_node VALUES ('5718', 'item', '252'); -INSERT INTO cp_node VALUES ('5719', 'resource', '252'); -INSERT INTO cp_node VALUES ('5720', 'dependency', '252'); -INSERT INTO cp_node VALUES ('5721', 'dependency', '252'); -INSERT INTO cp_node VALUES ('5722', 'dependency', '252'); -INSERT INTO cp_node VALUES ('5723', 'dependency', '252'); -INSERT INTO cp_node VALUES ('5724', 'resource', '252'); -INSERT INTO cp_node VALUES ('5725', 'dependency', '252'); -INSERT INTO cp_node VALUES ('5726', 'dependency', '252'); -INSERT INTO cp_node VALUES ('5727', 'dependency', '252'); -INSERT INTO cp_node VALUES ('5728', 'dependency', '252'); -INSERT INTO cp_node VALUES ('5729', 'resource', '252'); -INSERT INTO cp_node VALUES ('5730', 'dependency', '252'); -INSERT INTO cp_node VALUES ('5731', 'dependency', '252'); -INSERT INTO cp_node VALUES ('5732', 'dependency', '252'); -INSERT INTO cp_node VALUES ('5733', 'dependency', '252'); -INSERT INTO cp_node VALUES ('5734', 'resource', '252'); -INSERT INTO cp_node VALUES ('5735', 'dependency', '252'); -INSERT INTO cp_node VALUES ('5736', 'dependency', '252'); -INSERT INTO cp_node VALUES ('5737', 'dependency', '252'); -INSERT INTO cp_node VALUES ('5738', 'dependency', '252'); -INSERT INTO cp_node VALUES ('5739', 'resource', '252'); -INSERT INTO cp_node VALUES ('5740', 'dependency', '252'); -INSERT INTO cp_node VALUES ('5741', 'dependency', '252'); -INSERT INTO cp_node VALUES ('5742', 'dependency', '252'); -INSERT INTO cp_node VALUES ('5743', 'dependency', '252'); -INSERT INTO cp_node VALUES ('5744', 'resource', '252'); -INSERT INTO cp_node VALUES ('5745', 'file', '252'); -INSERT INTO cp_node VALUES ('5746', 'file', '252'); -INSERT INTO cp_node VALUES ('5747', 'file', '252'); -INSERT INTO cp_node VALUES ('5748', 'resource', '252'); -INSERT INTO cp_node VALUES ('5749', 'file', '252'); -INSERT INTO cp_node VALUES ('5750', 'file', '252'); -INSERT INTO cp_node VALUES ('5751', 'file', '252'); -INSERT INTO cp_node VALUES ('5752', 'file', '252'); -INSERT INTO cp_node VALUES ('5753', 'resource', '252'); -INSERT INTO cp_node VALUES ('5754', 'resource', '252'); -INSERT INTO cp_node VALUES ('5755', 'file', '252'); -INSERT INTO cp_node VALUES ('5756', 'file', '252'); -INSERT INTO cp_node VALUES ('5757', 'file', '252'); -INSERT INTO cp_node VALUES ('5758', 'file', '252'); -INSERT INTO cp_node VALUES ('5759', 'file', '252'); -INSERT INTO cp_node VALUES ('5760', 'file', '252'); -INSERT INTO cp_node VALUES ('5761', 'file', '252'); -INSERT INTO cp_node VALUES ('5762', 'file', '252'); -INSERT INTO cp_node VALUES ('5763', 'file', '252'); -INSERT INTO cp_node VALUES ('5764', 'file', '252'); -INSERT INTO cp_node VALUES ('5765', 'file', '252'); -INSERT INTO cp_node VALUES ('5766', 'file', '252'); -INSERT INTO cp_node VALUES ('5767', 'file', '252'); -INSERT INTO cp_node VALUES ('5768', 'file', '252'); -INSERT INTO cp_node VALUES ('5769', 'file', '252'); -INSERT INTO cp_node VALUES ('5770', 'file', '252'); -INSERT INTO cp_node VALUES ('5771', 'file', '252'); -INSERT INTO cp_node VALUES ('5772', 'file', '252'); -INSERT INTO cp_node VALUES ('5773', 'file', '252'); -INSERT INTO cp_node VALUES ('5774', 'file', '252'); -INSERT INTO cp_node VALUES ('5775', 'file', '252'); -INSERT INTO cp_node VALUES ('5776', 'file', '252'); -INSERT INTO cp_node VALUES ('5777', 'file', '252'); -INSERT INTO cp_node VALUES ('5778', 'file', '252'); -INSERT INTO cp_node VALUES ('5779', 'file', '252'); -INSERT INTO cp_node VALUES ('5780', 'file', '252'); -INSERT INTO cp_node VALUES ('5781', 'file', '252'); -INSERT INTO cp_node VALUES ('5782', 'file', '252'); -INSERT INTO cp_node VALUES ('5783', 'file', '252'); -INSERT INTO cp_node VALUES ('5784', 'file', '252'); -INSERT INTO cp_node VALUES ('5785', 'file', '252'); -INSERT INTO cp_node VALUES ('5786', 'file', '252'); -INSERT INTO cp_node VALUES ('5787', 'file', '252'); -INSERT INTO cp_node VALUES ('5788', 'file', '252'); -INSERT INTO cp_node VALUES ('5789', 'file', '252'); -INSERT INTO cp_node VALUES ('5790', 'file', '252'); -INSERT INTO cp_node VALUES ('5791', 'file', '252'); -INSERT INTO cp_node VALUES ('5792', 'file', '252'); -INSERT INTO cp_node VALUES ('5793', 'file', '252'); -INSERT INTO cp_node VALUES ('5794', 'file', '252'); -INSERT INTO cp_node VALUES ('5795', 'file', '252'); -INSERT INTO cp_node VALUES ('5796', 'file', '252'); -INSERT INTO cp_node VALUES ('5797', 'file', '252'); -INSERT INTO cp_node VALUES ('5798', 'file', '252'); -INSERT INTO cp_node VALUES ('5799', 'file', '252'); -INSERT INTO cp_node VALUES ('5800', 'file', '252'); -INSERT INTO cp_node VALUES ('5801', 'file', '252'); -INSERT INTO cp_node VALUES ('5802', 'file', '252'); -INSERT INTO cp_node VALUES ('5803', 'file', '252'); -INSERT INTO cp_node VALUES ('5804', 'file', '252'); -INSERT INTO cp_node VALUES ('5805', 'file', '252'); -INSERT INTO cp_node VALUES ('5806', 'file', '252'); -INSERT INTO cp_node VALUES ('5807', 'file', '252'); -INSERT INTO cp_node VALUES ('5808', 'file', '252'); -INSERT INTO cp_node VALUES ('5809', 'file', '252'); -INSERT INTO cp_node VALUES ('5810', 'file', '252'); -INSERT INTO cp_node VALUES ('5811', 'file', '252'); -INSERT INTO cp_node VALUES ('5812', 'file', '252'); -INSERT INTO cp_node VALUES ('5813', 'file', '252'); -INSERT INTO cp_node VALUES ('5814', 'file', '252'); -INSERT INTO cp_node VALUES ('5815', 'file', '252'); -INSERT INTO cp_node VALUES ('5816', 'file', '252'); -INSERT INTO cp_node VALUES ('5817', 'file', '252'); -INSERT INTO cp_node VALUES ('5818', 'file', '252'); -INSERT INTO cp_node VALUES ('5819', 'file', '252'); -INSERT INTO cp_node VALUES ('5820', 'file', '252'); -INSERT INTO cp_node VALUES ('5821', 'file', '252'); -INSERT INTO cp_node VALUES ('5822', 'file', '252'); -INSERT INTO cp_node VALUES ('5823', 'resource', '252'); -INSERT INTO cp_node VALUES ('5824', 'file', '252'); -INSERT INTO cp_node VALUES ('5825', 'file', '252'); -INSERT INTO cp_node VALUES ('5826', 'file', '252'); -INSERT INTO cp_node VALUES ('5827', 'resource', '252'); -INSERT INTO cp_node VALUES ('5828', 'file', '252'); -INSERT INTO cp_node VALUES ('5829', 'file', '252'); -INSERT INTO cp_node VALUES ('5830', 'file', '252'); -INSERT INTO cp_node VALUES ('5831', 'file', '252'); -INSERT INTO cp_node VALUES ('5832', 'file', '252'); -INSERT INTO cp_node VALUES ('5833', 'file', '252'); -INSERT INTO cp_node VALUES ('5834', 'file', '252'); -INSERT INTO cp_node VALUES ('5835', 'file', '252'); -INSERT INTO cp_node VALUES ('5836', 'resource', '252'); -INSERT INTO cp_node VALUES ('5837', 'resource', '252'); -INSERT INTO cp_node VALUES ('5838', 'file', '252'); -INSERT INTO cp_node VALUES ('5839', 'file', '252'); -INSERT INTO cp_node VALUES ('5840', 'file', '252'); -INSERT INTO cp_node VALUES ('5841', 'file', '252'); -INSERT INTO cp_node VALUES ('5842', 'file', '252'); -INSERT INTO cp_node VALUES ('5843', 'file', '252'); -INSERT INTO cp_node VALUES ('5844', 'file', '252'); -INSERT INTO cp_node VALUES ('5845', 'file', '252'); -INSERT INTO cp_node VALUES ('5846', 'file', '252'); -INSERT INTO cp_node VALUES ('5847', 'file', '252'); -INSERT INTO cp_node VALUES ('5848', 'file', '252'); -INSERT INTO cp_node VALUES ('5849', 'file', '252'); -INSERT INTO cp_node VALUES ('5850', 'file', '252'); -INSERT INTO cp_node VALUES ('5851', 'file', '252'); -INSERT INTO cp_node VALUES ('5852', 'file', '252'); -INSERT INTO cp_node VALUES ('5853', 'file', '252'); -INSERT INTO cp_node VALUES ('5854', 'file', '252'); -INSERT INTO cp_node VALUES ('5855', 'file', '252'); -INSERT INTO cp_node VALUES ('5856', 'file', '252'); -INSERT INTO cp_node VALUES ('5857', 'file', '252'); -INSERT INTO cp_node VALUES ('5858', 'file', '252'); -INSERT INTO cp_node VALUES ('5859', 'file', '252'); -INSERT INTO cp_node VALUES ('5860', 'file', '252'); -INSERT INTO cp_node VALUES ('5861', 'file', '252'); -INSERT INTO cp_node VALUES ('5862', 'file', '252'); -INSERT INTO cp_node VALUES ('5863', 'file', '252'); -INSERT INTO cp_node VALUES ('5864', 'file', '252'); -INSERT INTO cp_node VALUES ('5865', 'file', '252'); -INSERT INTO cp_node VALUES ('5866', 'file', '252'); -INSERT INTO cp_node VALUES ('5867', 'file', '252'); -INSERT INTO cp_node VALUES ('5868', 'file', '252'); -INSERT INTO cp_node VALUES ('5869', 'file', '252'); -INSERT INTO cp_node VALUES ('5870', 'file', '252'); -INSERT INTO cp_node VALUES ('5871', 'file', '252'); -INSERT INTO cp_node VALUES ('5872', 'file', '252'); -INSERT INTO cp_node VALUES ('5873', 'file', '252'); -INSERT INTO cp_node VALUES ('5874', 'file', '252'); -INSERT INTO cp_node VALUES ('5875', 'file', '252'); -INSERT INTO cp_node VALUES ('5876', 'file', '252'); -INSERT INTO cp_node VALUES ('5877', 'file', '252'); -INSERT INTO cp_node VALUES ('5878', 'file', '252'); -INSERT INTO cp_node VALUES ('5879', 'file', '252'); -INSERT INTO cp_node VALUES ('5880', 'file', '252'); -INSERT INTO cp_node VALUES ('5881', 'file', '252'); -INSERT INTO cp_node VALUES ('5882', 'file', '252'); -INSERT INTO cp_node VALUES ('5883', 'file', '252'); -INSERT INTO cp_node VALUES ('5884', 'file', '252'); -INSERT INTO cp_node VALUES ('5885', 'file', '252'); -INSERT INTO cp_node VALUES ('5886', 'file', '252'); -INSERT INTO cp_node VALUES ('5887', 'file', '252'); -INSERT INTO cp_node VALUES ('5888', 'file', '252'); -INSERT INTO cp_node VALUES ('5889', 'file', '252'); -INSERT INTO cp_node VALUES ('5890', 'file', '252'); -INSERT INTO cp_node VALUES ('5891', 'file', '252'); -INSERT INTO cp_node VALUES ('5892', 'file', '252'); -INSERT INTO cp_node VALUES ('5893', 'file', '252'); -INSERT INTO cp_node VALUES ('5894', 'file', '252'); -INSERT INTO cp_node VALUES ('5895', 'file', '252'); -INSERT INTO cp_node VALUES ('5896', 'file', '252'); -INSERT INTO cp_node VALUES ('5897', 'file', '252'); -INSERT INTO cp_node VALUES ('5898', 'file', '252'); -INSERT INTO cp_node VALUES ('5899', 'file', '252'); -INSERT INTO cp_node VALUES ('5900', 'file', '252'); -INSERT INTO cp_node VALUES ('5901', 'file', '252'); -INSERT INTO cp_node VALUES ('5902', 'file', '252'); -INSERT INTO cp_node VALUES ('5903', 'file', '252'); -INSERT INTO cp_node VALUES ('5904', 'file', '252'); -INSERT INTO cp_node VALUES ('5905', 'file', '252'); -INSERT INTO cp_node VALUES ('5906', 'resource', '252'); -INSERT INTO cp_node VALUES ('5907', 'file', '252'); -INSERT INTO cp_node VALUES ('5908', 'file', '252'); -INSERT INTO cp_node VALUES ('5909', 'file', '252'); -INSERT INTO cp_node VALUES ('5910', 'resource', '252'); -INSERT INTO cp_node VALUES ('5911', 'file', '252'); -INSERT INTO cp_node VALUES ('5912', 'file', '252'); -INSERT INTO cp_node VALUES ('5913', 'file', '252'); -INSERT INTO cp_node VALUES ('5914', 'file', '252'); -INSERT INTO cp_node VALUES ('5915', 'file', '252'); -INSERT INTO cp_node VALUES ('5916', 'file', '252'); -INSERT INTO cp_node VALUES ('5917', 'file', '252'); -INSERT INTO cp_node VALUES ('5918', 'file', '252'); -INSERT INTO cp_node VALUES ('5919', 'file', '252'); -INSERT INTO cp_node VALUES ('5920', 'file', '252'); -INSERT INTO cp_node VALUES ('5921', 'file', '252'); -INSERT INTO cp_node VALUES ('5922', 'file', '252'); -INSERT INTO cp_node VALUES ('5923', 'resource', '252'); -INSERT INTO cp_node VALUES ('5924', 'resource', '252'); -INSERT INTO cp_node VALUES ('5925', 'file', '252'); -INSERT INTO cp_node VALUES ('5926', 'file', '252'); -INSERT INTO cp_node VALUES ('5927', 'file', '252'); -INSERT INTO cp_node VALUES ('5928', 'file', '252'); -INSERT INTO cp_node VALUES ('5929', 'file', '252'); -INSERT INTO cp_node VALUES ('5930', 'file', '252'); -INSERT INTO cp_node VALUES ('5931', 'file', '252'); -INSERT INTO cp_node VALUES ('5932', 'file', '252'); -INSERT INTO cp_node VALUES ('5933', 'file', '252'); -INSERT INTO cp_node VALUES ('5934', 'file', '252'); -INSERT INTO cp_node VALUES ('5935', 'file', '252'); -INSERT INTO cp_node VALUES ('5936', 'file', '252'); -INSERT INTO cp_node VALUES ('5937', 'file', '252'); -INSERT INTO cp_node VALUES ('5938', 'file', '252'); -INSERT INTO cp_node VALUES ('5939', 'file', '252'); -INSERT INTO cp_node VALUES ('5940', 'file', '252'); -INSERT INTO cp_node VALUES ('5941', 'file', '252'); -INSERT INTO cp_node VALUES ('5942', 'file', '252'); -INSERT INTO cp_node VALUES ('5943', 'file', '252'); -INSERT INTO cp_node VALUES ('5944', 'file', '252'); -INSERT INTO cp_node VALUES ('5945', 'file', '252'); -INSERT INTO cp_node VALUES ('5946', 'file', '252'); -INSERT INTO cp_node VALUES ('5947', 'file', '252'); -INSERT INTO cp_node VALUES ('5948', 'file', '252'); -INSERT INTO cp_node VALUES ('5949', 'file', '252'); -INSERT INTO cp_node VALUES ('5950', 'file', '252'); -INSERT INTO cp_node VALUES ('5951', 'file', '252'); -INSERT INTO cp_node VALUES ('5952', 'file', '252'); -INSERT INTO cp_node VALUES ('5953', 'file', '252'); -INSERT INTO cp_node VALUES ('5954', 'file', '252'); -INSERT INTO cp_node VALUES ('5955', 'file', '252'); -INSERT INTO cp_node VALUES ('5956', 'file', '252'); -INSERT INTO cp_node VALUES ('5957', 'file', '252'); -INSERT INTO cp_node VALUES ('5958', 'file', '252'); -INSERT INTO cp_node VALUES ('5959', 'file', '252'); -INSERT INTO cp_node VALUES ('5960', 'file', '252'); -INSERT INTO cp_node VALUES ('5961', 'file', '252'); -INSERT INTO cp_node VALUES ('5962', 'file', '252'); -INSERT INTO cp_node VALUES ('5963', 'file', '252'); -INSERT INTO cp_node VALUES ('5964', 'file', '252'); -INSERT INTO cp_node VALUES ('5965', 'file', '252'); -INSERT INTO cp_node VALUES ('5966', 'file', '252'); -INSERT INTO cp_node VALUES ('5967', 'file', '252'); -INSERT INTO cp_node VALUES ('5968', 'file', '252'); -INSERT INTO cp_node VALUES ('5969', 'file', '252'); -INSERT INTO cp_node VALUES ('5970', 'file', '252'); -INSERT INTO cp_node VALUES ('5971', 'file', '252'); -INSERT INTO cp_node VALUES ('5972', 'file', '252'); -INSERT INTO cp_node VALUES ('5973', 'file', '252'); -INSERT INTO cp_node VALUES ('5974', 'file', '252'); -INSERT INTO cp_node VALUES ('5975', 'file', '252'); -INSERT INTO cp_node VALUES ('5976', 'file', '252'); -INSERT INTO cp_node VALUES ('5977', 'file', '252'); -INSERT INTO cp_node VALUES ('5978', 'file', '252'); -INSERT INTO cp_node VALUES ('5979', 'file', '252'); -INSERT INTO cp_node VALUES ('5980', 'file', '252'); -INSERT INTO cp_node VALUES ('5981', 'file', '252'); -INSERT INTO cp_node VALUES ('5982', 'file', '252'); -INSERT INTO cp_node VALUES ('5983', 'file', '252'); -INSERT INTO cp_node VALUES ('5984', 'file', '252'); -INSERT INTO cp_node VALUES ('5985', 'file', '252'); -INSERT INTO cp_node VALUES ('5986', 'file', '252'); -INSERT INTO cp_node VALUES ('5987', 'file', '252'); -INSERT INTO cp_node VALUES ('5988', 'file', '252'); -INSERT INTO cp_node VALUES ('5989', 'file', '252'); -INSERT INTO cp_node VALUES ('5990', 'file', '252'); -INSERT INTO cp_node VALUES ('5991', 'file', '252'); -INSERT INTO cp_node VALUES ('5992', 'file', '252'); -INSERT INTO cp_node VALUES ('5993', 'resource', '252'); -INSERT INTO cp_node VALUES ('5994', 'file', '252'); -INSERT INTO cp_node VALUES ('5995', 'file', '252'); -INSERT INTO cp_node VALUES ('5996', 'file', '252'); -INSERT INTO cp_node VALUES ('5997', 'resource', '252'); -INSERT INTO cp_node VALUES ('5998', 'file', '252'); -INSERT INTO cp_node VALUES ('5999', 'file', '252'); -INSERT INTO cp_node VALUES ('6000', 'file', '252'); -INSERT INTO cp_node VALUES ('6001', 'file', '252'); -INSERT INTO cp_node VALUES ('6002', 'file', '252'); -INSERT INTO cp_node VALUES ('6003', 'file', '252'); -INSERT INTO cp_node VALUES ('6004', 'file', '252'); -INSERT INTO cp_node VALUES ('6005', 'file', '252'); -INSERT INTO cp_node VALUES ('6006', 'resource', '252'); -INSERT INTO cp_node VALUES ('6007', 'resource', '252'); -INSERT INTO cp_node VALUES ('6008', 'file', '252'); -INSERT INTO cp_node VALUES ('6009', 'file', '252'); -INSERT INTO cp_node VALUES ('6010', 'file', '252'); -INSERT INTO cp_node VALUES ('6011', 'file', '252'); -INSERT INTO cp_node VALUES ('6012', 'file', '252'); -INSERT INTO cp_node VALUES ('6013', 'file', '252'); -INSERT INTO cp_node VALUES ('6014', 'file', '252'); -INSERT INTO cp_node VALUES ('6015', 'file', '252'); -INSERT INTO cp_node VALUES ('6016', 'file', '252'); -INSERT INTO cp_node VALUES ('6017', 'file', '252'); -INSERT INTO cp_node VALUES ('6018', 'file', '252'); -INSERT INTO cp_node VALUES ('6019', 'file', '252'); -INSERT INTO cp_node VALUES ('6020', 'file', '252'); -INSERT INTO cp_node VALUES ('6021', 'file', '252'); -INSERT INTO cp_node VALUES ('6022', 'file', '252'); -INSERT INTO cp_node VALUES ('6023', 'file', '252'); -INSERT INTO cp_node VALUES ('6024', 'file', '252'); -INSERT INTO cp_node VALUES ('6025', 'file', '252'); -INSERT INTO cp_node VALUES ('6026', 'file', '252'); -INSERT INTO cp_node VALUES ('6027', 'file', '252'); -INSERT INTO cp_node VALUES ('6028', 'file', '252'); -INSERT INTO cp_node VALUES ('6029', 'file', '252'); -INSERT INTO cp_node VALUES ('6030', 'file', '252'); -INSERT INTO cp_node VALUES ('6031', 'file', '252'); -INSERT INTO cp_node VALUES ('6032', 'file', '252'); -INSERT INTO cp_node VALUES ('6033', 'file', '252'); -INSERT INTO cp_node VALUES ('6034', 'file', '252'); -INSERT INTO cp_node VALUES ('6035', 'file', '252'); -INSERT INTO cp_node VALUES ('6036', 'file', '252'); -INSERT INTO cp_node VALUES ('6037', 'file', '252'); -INSERT INTO cp_node VALUES ('6038', 'file', '252'); -INSERT INTO cp_node VALUES ('6039', 'file', '252'); -INSERT INTO cp_node VALUES ('6040', 'file', '252'); -INSERT INTO cp_node VALUES ('6041', 'file', '252'); -INSERT INTO cp_node VALUES ('6042', 'file', '252'); -INSERT INTO cp_node VALUES ('6043', 'file', '252'); -INSERT INTO cp_node VALUES ('6044', 'file', '252'); -INSERT INTO cp_node VALUES ('6045', 'file', '252'); -INSERT INTO cp_node VALUES ('6046', 'file', '252'); -INSERT INTO cp_node VALUES ('6047', 'file', '252'); -INSERT INTO cp_node VALUES ('6048', 'file', '252'); -INSERT INTO cp_node VALUES ('6049', 'file', '252'); -INSERT INTO cp_node VALUES ('6050', 'file', '252'); -INSERT INTO cp_node VALUES ('6051', 'file', '252'); -INSERT INTO cp_node VALUES ('6052', 'file', '252'); -INSERT INTO cp_node VALUES ('6053', 'file', '252'); -INSERT INTO cp_node VALUES ('6054', 'file', '252'); -INSERT INTO cp_node VALUES ('6055', 'file', '252'); -INSERT INTO cp_node VALUES ('6056', 'file', '252'); -INSERT INTO cp_node VALUES ('6057', 'file', '252'); -INSERT INTO cp_node VALUES ('6058', 'file', '252'); -INSERT INTO cp_node VALUES ('6059', 'file', '252'); -INSERT INTO cp_node VALUES ('6060', 'file', '252'); -INSERT INTO cp_node VALUES ('6061', 'file', '252'); -INSERT INTO cp_node VALUES ('6062', 'file', '252'); -INSERT INTO cp_node VALUES ('6063', 'file', '252'); -INSERT INTO cp_node VALUES ('6064', 'file', '252'); -INSERT INTO cp_node VALUES ('6065', 'file', '252'); -INSERT INTO cp_node VALUES ('6066', 'file', '252'); -INSERT INTO cp_node VALUES ('6067', 'file', '252'); -INSERT INTO cp_node VALUES ('6068', 'file', '252'); -INSERT INTO cp_node VALUES ('6069', 'file', '252'); -INSERT INTO cp_node VALUES ('6070', 'file', '252'); -INSERT INTO cp_node VALUES ('6071', 'file', '252'); -INSERT INTO cp_node VALUES ('6072', 'file', '252'); -INSERT INTO cp_node VALUES ('6073', 'file', '252'); -INSERT INTO cp_node VALUES ('6074', 'file', '252'); -INSERT INTO cp_node VALUES ('6075', 'file', '252'); -INSERT INTO cp_node VALUES ('6076', 'resource', '252'); -INSERT INTO cp_node VALUES ('6077', 'file', '252'); -INSERT INTO cp_node VALUES ('6078', 'file', '252'); -INSERT INTO cp_node VALUES ('6079', 'file', '252'); -INSERT INTO cp_node VALUES ('6080', 'resource', '252'); -INSERT INTO cp_node VALUES ('6081', 'file', '252'); -INSERT INTO cp_node VALUES ('6082', 'file', '252'); -INSERT INTO cp_node VALUES ('6083', 'file', '252'); -INSERT INTO cp_node VALUES ('6084', 'file', '252'); -INSERT INTO cp_node VALUES ('6085', 'resource', '252'); -INSERT INTO cp_node VALUES ('6086', 'resource', '252'); -INSERT INTO cp_node VALUES ('6087', 'file', '252'); -INSERT INTO cp_node VALUES ('6088', 'file', '252'); -INSERT INTO cp_node VALUES ('6089', 'file', '252'); -INSERT INTO cp_node VALUES ('6090', 'file', '252'); -INSERT INTO cp_node VALUES ('6091', 'file', '252'); -INSERT INTO cp_node VALUES ('6092', 'file', '252'); -INSERT INTO cp_node VALUES ('6093', 'file', '252'); -INSERT INTO cp_node VALUES ('6094', 'file', '252'); -INSERT INTO cp_node VALUES ('6095', 'file', '252'); -INSERT INTO cp_node VALUES ('6096', 'file', '252'); -INSERT INTO cp_node VALUES ('6097', 'file', '252'); -INSERT INTO cp_node VALUES ('6098', 'file', '252'); -INSERT INTO cp_node VALUES ('6099', 'file', '252'); -INSERT INTO cp_node VALUES ('6100', 'file', '252'); -INSERT INTO cp_node VALUES ('6101', 'file', '252'); -INSERT INTO cp_node VALUES ('6102', 'file', '252'); -INSERT INTO cp_node VALUES ('6103', 'file', '252'); -INSERT INTO cp_node VALUES ('6104', 'file', '252'); -INSERT INTO cp_node VALUES ('6105', 'file', '252'); -INSERT INTO cp_node VALUES ('6106', 'file', '252'); -INSERT INTO cp_node VALUES ('6107', 'file', '252'); -INSERT INTO cp_node VALUES ('6108', 'file', '252'); -INSERT INTO cp_node VALUES ('6109', 'file', '252'); -INSERT INTO cp_node VALUES ('6110', 'file', '252'); -INSERT INTO cp_node VALUES ('6111', 'file', '252'); -INSERT INTO cp_node VALUES ('6112', 'file', '252'); -INSERT INTO cp_node VALUES ('6113', 'file', '252'); -INSERT INTO cp_node VALUES ('6114', 'file', '252'); -INSERT INTO cp_node VALUES ('6115', 'file', '252'); -INSERT INTO cp_node VALUES ('6116', 'file', '252'); -INSERT INTO cp_node VALUES ('6117', 'file', '252'); -INSERT INTO cp_node VALUES ('6118', 'file', '252'); -INSERT INTO cp_node VALUES ('6119', 'file', '252'); -INSERT INTO cp_node VALUES ('6120', 'file', '252'); -INSERT INTO cp_node VALUES ('6121', 'file', '252'); -INSERT INTO cp_node VALUES ('6122', 'file', '252'); -INSERT INTO cp_node VALUES ('6123', 'file', '252'); -INSERT INTO cp_node VALUES ('6124', 'file', '252'); -INSERT INTO cp_node VALUES ('6125', 'file', '252'); -INSERT INTO cp_node VALUES ('6126', 'file', '252'); -INSERT INTO cp_node VALUES ('6127', 'file', '252'); -INSERT INTO cp_node VALUES ('6128', 'file', '252'); -INSERT INTO cp_node VALUES ('6129', 'file', '252'); -INSERT INTO cp_node VALUES ('6130', 'file', '252'); -INSERT INTO cp_node VALUES ('6131', 'file', '252'); -INSERT INTO cp_node VALUES ('6132', 'file', '252'); -INSERT INTO cp_node VALUES ('6133', 'file', '252'); -INSERT INTO cp_node VALUES ('6134', 'file', '252'); -INSERT INTO cp_node VALUES ('6135', 'file', '252'); -INSERT INTO cp_node VALUES ('6136', 'file', '252'); -INSERT INTO cp_node VALUES ('6137', 'file', '252'); -INSERT INTO cp_node VALUES ('6138', 'file', '252'); -INSERT INTO cp_node VALUES ('6139', 'file', '252'); -INSERT INTO cp_node VALUES ('6140', 'file', '252'); -INSERT INTO cp_node VALUES ('6141', 'file', '252'); -INSERT INTO cp_node VALUES ('6142', 'file', '252'); -INSERT INTO cp_node VALUES ('6143', 'file', '252'); -INSERT INTO cp_node VALUES ('6144', 'file', '252'); -INSERT INTO cp_node VALUES ('6145', 'file', '252'); -INSERT INTO cp_node VALUES ('6146', 'file', '252'); -INSERT INTO cp_node VALUES ('6147', 'file', '252'); -INSERT INTO cp_node VALUES ('6148', 'file', '252'); -INSERT INTO cp_node VALUES ('6149', 'file', '252'); -INSERT INTO cp_node VALUES ('6150', 'file', '252'); -INSERT INTO cp_node VALUES ('6151', 'file', '252'); -INSERT INTO cp_node VALUES ('6152', 'file', '252'); -INSERT INTO cp_node VALUES ('6153', 'file', '252'); -INSERT INTO cp_node VALUES ('6154', 'file', '252'); -INSERT INTO cp_node VALUES ('6155', 'resource', '252'); -INSERT INTO cp_node VALUES ('6156', 'file', '252'); -INSERT INTO cp_node VALUES ('6157', 'file', '252'); -INSERT INTO cp_node VALUES ('6158', 'file', '252'); -INSERT INTO cp_node VALUES ('6159', 'file', '252'); -INSERT INTO cp_node VALUES ('6160', 'file', '252'); -INSERT INTO cp_node VALUES ('6161', 'file', '252'); -INSERT INTO cp_node VALUES ('6162', 'file', '252'); -INSERT INTO cp_node VALUES ('6163', 'file', '252'); -INSERT INTO cp_node VALUES ('6164', 'file', '252'); -INSERT INTO cp_node VALUES ('6165', 'file', '252'); -INSERT INTO cp_node VALUES ('6166', 'file', '252'); -INSERT INTO cp_node VALUES ('6167', 'file', '252'); -INSERT INTO cp_node VALUES ('6168', 'file', '252'); -INSERT INTO cp_node VALUES ('6169', 'file', '252'); -INSERT INTO cp_node VALUES ('6170', 'file', '252'); -INSERT INTO cp_node VALUES ('6171', 'file', '252'); -INSERT INTO cp_node VALUES ('6172', 'file', '252'); -INSERT INTO cp_node VALUES ('6173', 'manifest', '253'); -INSERT INTO cp_node VALUES ('6174', 'organization', '253'); -INSERT INTO cp_node VALUES ('6175', 'item', '253'); -INSERT INTO cp_node VALUES ('6176', 'item', '253'); -INSERT INTO cp_node VALUES ('6177', 'item', '253'); -INSERT INTO cp_node VALUES ('6178', 'item', '253'); -INSERT INTO cp_node VALUES ('6179', 'item', '253'); -INSERT INTO cp_node VALUES ('6180', 'item', '253'); -INSERT INTO cp_node VALUES ('6181', 'item', '253'); -INSERT INTO cp_node VALUES ('6182', 'item', '253'); -INSERT INTO cp_node VALUES ('6183', 'item', '253'); -INSERT INTO cp_node VALUES ('6184', 'item', '253'); -INSERT INTO cp_node VALUES ('6185', 'item', '253'); -INSERT INTO cp_node VALUES ('6186', 'item', '253'); -INSERT INTO cp_node VALUES ('6187', 'item', '253'); -INSERT INTO cp_node VALUES ('6188', 'item', '253'); -INSERT INTO cp_node VALUES ('6189', 'item', '253'); -INSERT INTO cp_node VALUES ('6190', 'item', '253'); -INSERT INTO cp_node VALUES ('6191', 'item', '253'); -INSERT INTO cp_node VALUES ('6192', 'item', '253'); -INSERT INTO cp_node VALUES ('6193', 'item', '253'); -INSERT INTO cp_node VALUES ('6194', 'item', '253'); -INSERT INTO cp_node VALUES ('6195', 'item', '253'); -INSERT INTO cp_node VALUES ('6196', 'item', '253'); -INSERT INTO cp_node VALUES ('6197', 'item', '253'); -INSERT INTO cp_node VALUES ('6198', 'resource', '253'); -INSERT INTO cp_node VALUES ('6199', 'file', '253'); -INSERT INTO cp_node VALUES ('6200', 'file', '253'); -INSERT INTO cp_node VALUES ('6201', 'file', '253'); -INSERT INTO cp_node VALUES ('6202', 'file', '253'); -INSERT INTO cp_node VALUES ('6203', 'resource', '253'); -INSERT INTO cp_node VALUES ('6204', 'file', '253'); -INSERT INTO cp_node VALUES ('6205', 'file', '253'); -INSERT INTO cp_node VALUES ('6206', 'file', '253'); -INSERT INTO cp_node VALUES ('6207', 'file', '253'); -INSERT INTO cp_node VALUES ('6208', 'file', '253'); -INSERT INTO cp_node VALUES ('6209', 'file', '253'); -INSERT INTO cp_node VALUES ('6210', 'file', '253'); -INSERT INTO cp_node VALUES ('6211', 'resource', '253'); -INSERT INTO cp_node VALUES ('6212', 'file', '253'); -INSERT INTO cp_node VALUES ('6213', 'file', '253'); -INSERT INTO cp_node VALUES ('6214', 'file', '253'); -INSERT INTO cp_node VALUES ('6215', 'file', '253'); -INSERT INTO cp_node VALUES ('6216', 'file', '253'); -INSERT INTO cp_node VALUES ('6217', 'file', '253'); -INSERT INTO cp_node VALUES ('6218', 'file', '253'); -INSERT INTO cp_node VALUES ('6219', 'file', '253'); -INSERT INTO cp_node VALUES ('6220', 'file', '253'); -INSERT INTO cp_node VALUES ('6221', 'file', '253'); -INSERT INTO cp_node VALUES ('6222', 'file', '253'); -INSERT INTO cp_node VALUES ('6223', 'file', '253'); -INSERT INTO cp_node VALUES ('6224', 'file', '253'); -INSERT INTO cp_node VALUES ('6225', 'file', '253'); -INSERT INTO cp_node VALUES ('6226', 'file', '253'); -INSERT INTO cp_node VALUES ('6227', 'file', '253'); -INSERT INTO cp_node VALUES ('6228', 'resource', '253'); -INSERT INTO cp_node VALUES ('6229', 'file', '253'); -INSERT INTO cp_node VALUES ('6230', 'file', '253'); -INSERT INTO cp_node VALUES ('6231', 'file', '253'); -INSERT INTO cp_node VALUES ('6232', 'file', '253'); -INSERT INTO cp_node VALUES ('6233', 'file', '253'); -INSERT INTO cp_node VALUES ('6234', 'file', '253'); -INSERT INTO cp_node VALUES ('6235', 'file', '253'); -INSERT INTO cp_node VALUES ('6236', 'resource', '253'); -INSERT INTO cp_node VALUES ('6237', 'file', '253'); -INSERT INTO cp_node VALUES ('6238', 'file', '253'); -INSERT INTO cp_node VALUES ('6239', 'file', '253'); -INSERT INTO cp_node VALUES ('6240', 'file', '253'); -INSERT INTO cp_node VALUES ('6241', 'file', '253'); -INSERT INTO cp_node VALUES ('6242', 'file', '253'); -INSERT INTO cp_node VALUES ('6243', 'file', '253'); -INSERT INTO cp_node VALUES ('6244', 'file', '253'); -INSERT INTO cp_node VALUES ('6245', 'file', '253'); -INSERT INTO cp_node VALUES ('6246', 'file', '253'); -INSERT INTO cp_node VALUES ('6247', 'file', '253'); -INSERT INTO cp_node VALUES ('6248', 'file', '253'); -INSERT INTO cp_node VALUES ('6249', 'file', '253'); -INSERT INTO cp_node VALUES ('6250', 'file', '253'); -INSERT INTO cp_node VALUES ('6251', 'resource', '253'); -INSERT INTO cp_node VALUES ('6252', 'file', '253'); -INSERT INTO cp_node VALUES ('6253', 'file', '253'); -INSERT INTO cp_node VALUES ('6254', 'file', '253'); -INSERT INTO cp_node VALUES ('6255', 'file', '253'); -INSERT INTO cp_node VALUES ('6256', 'file', '253'); -INSERT INTO cp_node VALUES ('6257', 'file', '253'); -INSERT INTO cp_node VALUES ('6258', 'file', '253'); -INSERT INTO cp_node VALUES ('6259', 'file', '253'); -INSERT INTO cp_node VALUES ('6260', 'file', '253'); -INSERT INTO cp_node VALUES ('6261', 'file', '253'); -INSERT INTO cp_node VALUES ('6262', 'file', '253'); -INSERT INTO cp_node VALUES ('6263', 'resource', '253'); -INSERT INTO cp_node VALUES ('6264', 'file', '253'); -INSERT INTO cp_node VALUES ('6265', 'file', '253'); -INSERT INTO cp_node VALUES ('6266', 'file', '253'); -INSERT INTO cp_node VALUES ('6267', 'file', '253'); -INSERT INTO cp_node VALUES ('6268', 'file', '253'); -INSERT INTO cp_node VALUES ('6269', 'file', '253'); -INSERT INTO cp_node VALUES ('6270', 'file', '253'); -INSERT INTO cp_node VALUES ('6271', 'file', '253'); -INSERT INTO cp_node VALUES ('6272', 'file', '253'); -INSERT INTO cp_node VALUES ('6273', 'file', '253'); -INSERT INTO cp_node VALUES ('6274', 'file', '253'); -INSERT INTO cp_node VALUES ('6275', 'resource', '253'); -INSERT INTO cp_node VALUES ('6276', 'file', '253'); -INSERT INTO cp_node VALUES ('6277', 'file', '253'); -INSERT INTO cp_node VALUES ('6278', 'file', '253'); -INSERT INTO cp_node VALUES ('6279', 'file', '253'); -INSERT INTO cp_node VALUES ('6280', 'file', '253'); -INSERT INTO cp_node VALUES ('6281', 'file', '253'); -INSERT INTO cp_node VALUES ('6282', 'file', '253'); -INSERT INTO cp_node VALUES ('6283', 'file', '253'); -INSERT INTO cp_node VALUES ('6284', 'file', '253'); -INSERT INTO cp_node VALUES ('6285', 'file', '253'); -INSERT INTO cp_node VALUES ('6286', 'file', '253'); -INSERT INTO cp_node VALUES ('6287', 'resource', '253'); -INSERT INTO cp_node VALUES ('6288', 'file', '253'); -INSERT INTO cp_node VALUES ('6289', 'file', '253'); -INSERT INTO cp_node VALUES ('6290', 'file', '253'); -INSERT INTO cp_node VALUES ('6291', 'file', '253'); -INSERT INTO cp_node VALUES ('6292', 'file', '253'); -INSERT INTO cp_node VALUES ('6293', 'file', '253'); -INSERT INTO cp_node VALUES ('6294', 'file', '253'); -INSERT INTO cp_node VALUES ('6295', 'file', '253'); -INSERT INTO cp_node VALUES ('6296', 'file', '253'); -INSERT INTO cp_node VALUES ('6297', 'file', '253'); -INSERT INTO cp_node VALUES ('6298', 'file', '253'); -INSERT INTO cp_node VALUES ('6299', 'file', '253'); -INSERT INTO cp_node VALUES ('6300', 'file', '253'); -INSERT INTO cp_node VALUES ('6301', 'file', '253'); -INSERT INTO cp_node VALUES ('6302', 'file', '253'); -INSERT INTO cp_node VALUES ('6303', 'file', '253'); -INSERT INTO cp_node VALUES ('6304', 'file', '253'); -INSERT INTO cp_node VALUES ('6305', 'file', '253'); -INSERT INTO cp_node VALUES ('6306', 'file', '253'); -INSERT INTO cp_node VALUES ('6307', 'file', '253'); -INSERT INTO cp_node VALUES ('6308', 'resource', '253'); -INSERT INTO cp_node VALUES ('6309', 'file', '253'); -INSERT INTO cp_node VALUES ('6310', 'file', '253'); -INSERT INTO cp_node VALUES ('6311', 'file', '253'); -INSERT INTO cp_node VALUES ('6312', 'file', '253'); -INSERT INTO cp_node VALUES ('6313', 'file', '253'); -INSERT INTO cp_node VALUES ('6314', 'file', '253'); -INSERT INTO cp_node VALUES ('6315', 'file', '253'); -INSERT INTO cp_node VALUES ('6316', 'file', '253'); -INSERT INTO cp_node VALUES ('6317', 'file', '253'); -INSERT INTO cp_node VALUES ('6318', 'file', '253'); -INSERT INTO cp_node VALUES ('6319', 'file', '253'); -INSERT INTO cp_node VALUES ('6320', 'file', '253'); -INSERT INTO cp_node VALUES ('6321', 'file', '253'); -INSERT INTO cp_node VALUES ('6322', 'file', '253'); -INSERT INTO cp_node VALUES ('6323', 'file', '253'); -INSERT INTO cp_node VALUES ('6324', 'file', '253'); -INSERT INTO cp_node VALUES ('6325', 'file', '253'); -INSERT INTO cp_node VALUES ('6326', 'file', '253'); -INSERT INTO cp_node VALUES ('6327', 'file', '253'); -INSERT INTO cp_node VALUES ('6328', 'file', '253'); -INSERT INTO cp_node VALUES ('6329', 'file', '253'); -INSERT INTO cp_node VALUES ('6330', 'file', '253'); -INSERT INTO cp_node VALUES ('6331', 'file', '253'); -INSERT INTO cp_node VALUES ('6332', 'resource', '253'); -INSERT INTO cp_node VALUES ('6333', 'file', '253'); -INSERT INTO cp_node VALUES ('6334', 'file', '253'); -INSERT INTO cp_node VALUES ('6335', 'resource', '253'); -INSERT INTO cp_node VALUES ('6336', 'file', '253'); -INSERT INTO cp_node VALUES ('6337', 'file', '253'); -INSERT INTO cp_node VALUES ('6338', 'resource', '253'); -INSERT INTO cp_node VALUES ('6339', 'file', '253'); -INSERT INTO cp_node VALUES ('6340', 'file', '253'); -INSERT INTO cp_node VALUES ('6341', 'resource', '253'); -INSERT INTO cp_node VALUES ('6342', 'file', '253'); -INSERT INTO cp_node VALUES ('6343', 'file', '253'); -INSERT INTO cp_node VALUES ('6344', 'resource', '253'); -INSERT INTO cp_node VALUES ('6345', 'file', '253'); -INSERT INTO cp_node VALUES ('6346', 'file', '253'); -INSERT INTO cp_node VALUES ('6347', 'resource', '253'); -INSERT INTO cp_node VALUES ('6348', 'file', '253'); -INSERT INTO cp_node VALUES ('6349', 'file', '253'); -INSERT INTO cp_node VALUES ('6350', 'resource', '253'); -INSERT INTO cp_node VALUES ('6351', 'file', '253'); -INSERT INTO cp_node VALUES ('6352', 'file', '253'); -INSERT INTO cp_node VALUES ('6353', 'resource', '253'); -INSERT INTO cp_node VALUES ('6354', 'file', '253'); -INSERT INTO cp_node VALUES ('6355', 'file', '253'); -INSERT INTO cp_node VALUES ('6356', 'resource', '253'); -INSERT INTO cp_node VALUES ('6357', 'file', '253'); -INSERT INTO cp_node VALUES ('6358', 'file', '253'); -INSERT INTO cp_node VALUES ('6359', 'sequencing', '253'); -INSERT INTO cp_node VALUES ('6360', 'sequencing', '253'); -INSERT INTO cp_node VALUES ('6361', 'sequencing', '253'); -INSERT INTO cp_node VALUES ('6362', 'sequencing', '253'); -INSERT INTO cp_node VALUES ('6363', 'sequencing', '253'); -INSERT INTO cp_node VALUES ('6364', 'rule', '253'); -INSERT INTO cp_node VALUES ('6365', 'condition', '253'); -INSERT INTO cp_node VALUES ('6366', 'objective', '253'); -INSERT INTO cp_node VALUES ('6367', 'sequencing', '253'); -INSERT INTO cp_node VALUES ('6368', 'rule', '253'); -INSERT INTO cp_node VALUES ('6369', 'condition', '253'); -INSERT INTO cp_node VALUES ('6370', 'rule', '253'); -INSERT INTO cp_node VALUES ('6371', 'condition', '253'); -INSERT INTO cp_node VALUES ('6372', 'rule', '253'); -INSERT INTO cp_node VALUES ('6373', 'condition', '253'); -INSERT INTO cp_node VALUES ('6374', 'manifest', '279'); -INSERT INTO cp_node VALUES ('6375', 'organization', '279'); -INSERT INTO cp_node VALUES ('6376', 'item', '279'); -INSERT INTO cp_node VALUES ('6377', 'hideLMSUI', '279'); -INSERT INTO cp_node VALUES ('6378', 'item', '279'); -INSERT INTO cp_node VALUES ('6379', 'hideLMSUI', '279'); -INSERT INTO cp_node VALUES ('6380', 'hideLMSUI', '279'); -INSERT INTO cp_node VALUES ('6381', 'item', '279'); -INSERT INTO cp_node VALUES ('6382', 'hideLMSUI', '279'); -INSERT INTO cp_node VALUES ('6383', 'hideLMSUI', '279'); -INSERT INTO cp_node VALUES ('6384', 'item', '279'); -INSERT INTO cp_node VALUES ('6385', 'hideLMSUI', '279'); -INSERT INTO cp_node VALUES ('6386', 'hideLMSUI', '279'); -INSERT INTO cp_node VALUES ('6387', 'item', '279'); -INSERT INTO cp_node VALUES ('6388', 'item', '279'); -INSERT INTO cp_node VALUES ('6389', 'hideLMSUI', '279'); -INSERT INTO cp_node VALUES ('6390', 'hideLMSUI', '279'); -INSERT INTO cp_node VALUES ('6391', 'item', '279'); -INSERT INTO cp_node VALUES ('6392', 'hideLMSUI', '279'); -INSERT INTO cp_node VALUES ('6393', 'hideLMSUI', '279'); -INSERT INTO cp_node VALUES ('6394', 'item', '279'); -INSERT INTO cp_node VALUES ('6395', 'hideLMSUI', '279'); -INSERT INTO cp_node VALUES ('6396', 'hideLMSUI', '279'); -INSERT INTO cp_node VALUES ('6397', 'item', '279'); -INSERT INTO cp_node VALUES ('6398', 'hideLMSUI', '279'); -INSERT INTO cp_node VALUES ('6399', 'hideLMSUI', '279'); -INSERT INTO cp_node VALUES ('6400', 'item', '279'); -INSERT INTO cp_node VALUES ('6401', 'hideLMSUI', '279'); -INSERT INTO cp_node VALUES ('6402', 'hideLMSUI', '279'); -INSERT INTO cp_node VALUES ('6403', 'item', '279'); -INSERT INTO cp_node VALUES ('6404', 'hideLMSUI', '279'); -INSERT INTO cp_node VALUES ('6405', 'hideLMSUI', '279'); -INSERT INTO cp_node VALUES ('6406', 'item', '279'); -INSERT INTO cp_node VALUES ('6407', 'hideLMSUI', '279'); -INSERT INTO cp_node VALUES ('6408', 'hideLMSUI', '279'); -INSERT INTO cp_node VALUES ('6409', 'item', '279'); -INSERT INTO cp_node VALUES ('6410', 'hideLMSUI', '279'); -INSERT INTO cp_node VALUES ('6411', 'hideLMSUI', '279'); -INSERT INTO cp_node VALUES ('6412', 'item', '279'); -INSERT INTO cp_node VALUES ('6413', 'hideLMSUI', '279'); -INSERT INTO cp_node VALUES ('6414', 'hideLMSUI', '279'); -INSERT INTO cp_node VALUES ('6415', 'resource', '279'); -INSERT INTO cp_node VALUES ('6416', 'file', '279'); -INSERT INTO cp_node VALUES ('6417', 'file', '279'); -INSERT INTO cp_node VALUES ('6418', 'file', '279'); -INSERT INTO cp_node VALUES ('6419', 'file', '279'); -INSERT INTO cp_node VALUES ('6420', 'file', '279'); -INSERT INTO cp_node VALUES ('6421', 'file', '279'); -INSERT INTO cp_node VALUES ('6422', 'resource', '279'); -INSERT INTO cp_node VALUES ('6423', 'file', '279'); -INSERT INTO cp_node VALUES ('6424', 'file', '279'); -INSERT INTO cp_node VALUES ('6425', 'file', '279'); -INSERT INTO cp_node VALUES ('6426', 'file', '279'); -INSERT INTO cp_node VALUES ('6427', 'file', '279'); -INSERT INTO cp_node VALUES ('6428', 'file', '279'); -INSERT INTO cp_node VALUES ('6429', 'file', '279'); -INSERT INTO cp_node VALUES ('6430', 'file', '279'); -INSERT INTO cp_node VALUES ('6431', 'file', '279'); -INSERT INTO cp_node VALUES ('6432', 'file', '279'); -INSERT INTO cp_node VALUES ('6433', 'file', '279'); -INSERT INTO cp_node VALUES ('6434', 'file', '279'); -INSERT INTO cp_node VALUES ('6435', 'file', '279'); -INSERT INTO cp_node VALUES ('6436', 'file', '279'); -INSERT INTO cp_node VALUES ('6437', 'file', '279'); -INSERT INTO cp_node VALUES ('6438', 'file', '279'); -INSERT INTO cp_node VALUES ('6439', 'file', '279'); -INSERT INTO cp_node VALUES ('6440', 'file', '279'); -INSERT INTO cp_node VALUES ('6441', 'file', '279'); -INSERT INTO cp_node VALUES ('6442', 'file', '279'); -INSERT INTO cp_node VALUES ('6443', 'file', '279'); -INSERT INTO cp_node VALUES ('6444', 'file', '279'); -INSERT INTO cp_node VALUES ('6445', 'file', '279'); -INSERT INTO cp_node VALUES ('6446', 'file', '279'); -INSERT INTO cp_node VALUES ('6447', 'file', '279'); -INSERT INTO cp_node VALUES ('6448', 'file', '279'); -INSERT INTO cp_node VALUES ('6449', 'file', '279'); -INSERT INTO cp_node VALUES ('6450', 'file', '279'); -INSERT INTO cp_node VALUES ('6451', 'file', '279'); -INSERT INTO cp_node VALUES ('6452', 'file', '279'); -INSERT INTO cp_node VALUES ('6453', 'file', '279'); -INSERT INTO cp_node VALUES ('6454', 'file', '279'); -INSERT INTO cp_node VALUES ('6455', 'file', '279'); -INSERT INTO cp_node VALUES ('6456', 'file', '279'); -INSERT INTO cp_node VALUES ('6457', 'file', '279'); -INSERT INTO cp_node VALUES ('6458', 'file', '279'); -INSERT INTO cp_node VALUES ('6459', 'file', '279'); -INSERT INTO cp_node VALUES ('6460', 'file', '279'); -INSERT INTO cp_node VALUES ('6461', 'file', '279'); -INSERT INTO cp_node VALUES ('6462', 'file', '279'); -INSERT INTO cp_node VALUES ('6463', 'file', '279'); -INSERT INTO cp_node VALUES ('6464', 'file', '279'); -INSERT INTO cp_node VALUES ('6465', 'file', '279'); -INSERT INTO cp_node VALUES ('6466', 'file', '279'); -INSERT INTO cp_node VALUES ('6467', 'file', '279'); -INSERT INTO cp_node VALUES ('6468', 'file', '279'); -INSERT INTO cp_node VALUES ('6469', 'resource', '279'); -INSERT INTO cp_node VALUES ('6470', 'file', '279'); -INSERT INTO cp_node VALUES ('6471', 'file', '279'); -INSERT INTO cp_node VALUES ('6472', 'file', '279'); -INSERT INTO cp_node VALUES ('6473', 'file', '279'); -INSERT INTO cp_node VALUES ('6474', 'file', '279'); -INSERT INTO cp_node VALUES ('6475', 'file', '279'); -INSERT INTO cp_node VALUES ('6476', 'file', '279'); -INSERT INTO cp_node VALUES ('6477', 'file', '279'); -INSERT INTO cp_node VALUES ('6478', 'file', '279'); -INSERT INTO cp_node VALUES ('6479', 'file', '279'); -INSERT INTO cp_node VALUES ('6480', 'file', '279'); -INSERT INTO cp_node VALUES ('6481', 'file', '279'); -INSERT INTO cp_node VALUES ('6482', 'file', '279'); -INSERT INTO cp_node VALUES ('6483', 'file', '279'); -INSERT INTO cp_node VALUES ('6484', 'file', '279'); -INSERT INTO cp_node VALUES ('6485', 'file', '279'); -INSERT INTO cp_node VALUES ('6486', 'file', '279'); -INSERT INTO cp_node VALUES ('6487', 'file', '279'); -INSERT INTO cp_node VALUES ('6488', 'file', '279'); -INSERT INTO cp_node VALUES ('6489', 'file', '279'); -INSERT INTO cp_node VALUES ('6490', 'file', '279'); -INSERT INTO cp_node VALUES ('6491', 'file', '279'); -INSERT INTO cp_node VALUES ('6492', 'file', '279'); -INSERT INTO cp_node VALUES ('6493', 'file', '279'); -INSERT INTO cp_node VALUES ('6494', 'file', '279'); -INSERT INTO cp_node VALUES ('6495', 'file', '279'); -INSERT INTO cp_node VALUES ('6496', 'file', '279'); -INSERT INTO cp_node VALUES ('6497', 'file', '279'); -INSERT INTO cp_node VALUES ('6498', 'file', '279'); -INSERT INTO cp_node VALUES ('6499', 'file', '279'); -INSERT INTO cp_node VALUES ('6500', 'file', '279'); -INSERT INTO cp_node VALUES ('6501', 'file', '279'); -INSERT INTO cp_node VALUES ('6502', 'file', '279'); -INSERT INTO cp_node VALUES ('6503', 'file', '279'); -INSERT INTO cp_node VALUES ('6504', 'file', '279'); -INSERT INTO cp_node VALUES ('6505', 'resource', '279'); -INSERT INTO cp_node VALUES ('6506', 'file', '279'); -INSERT INTO cp_node VALUES ('6507', 'file', '279'); -INSERT INTO cp_node VALUES ('6508', 'file', '279'); -INSERT INTO cp_node VALUES ('6509', 'file', '279'); -INSERT INTO cp_node VALUES ('6510', 'file', '279'); -INSERT INTO cp_node VALUES ('6511', 'file', '279'); -INSERT INTO cp_node VALUES ('6512', 'file', '279'); -INSERT INTO cp_node VALUES ('6513', 'file', '279'); -INSERT INTO cp_node VALUES ('6514', 'file', '279'); -INSERT INTO cp_node VALUES ('6515', 'file', '279'); -INSERT INTO cp_node VALUES ('6516', 'file', '279'); -INSERT INTO cp_node VALUES ('6517', 'file', '279'); -INSERT INTO cp_node VALUES ('6518', 'file', '279'); -INSERT INTO cp_node VALUES ('6519', 'file', '279'); -INSERT INTO cp_node VALUES ('6520', 'file', '279'); -INSERT INTO cp_node VALUES ('6521', 'file', '279'); -INSERT INTO cp_node VALUES ('6522', 'file', '279'); -INSERT INTO cp_node VALUES ('6523', 'file', '279'); -INSERT INTO cp_node VALUES ('6524', 'file', '279'); -INSERT INTO cp_node VALUES ('6525', 'file', '279'); -INSERT INTO cp_node VALUES ('6526', 'file', '279'); -INSERT INTO cp_node VALUES ('6527', 'file', '279'); -INSERT INTO cp_node VALUES ('6528', 'file', '279'); -INSERT INTO cp_node VALUES ('6529', 'file', '279'); -INSERT INTO cp_node VALUES ('6530', 'file', '279'); -INSERT INTO cp_node VALUES ('6531', 'file', '279'); -INSERT INTO cp_node VALUES ('6532', 'file', '279'); -INSERT INTO cp_node VALUES ('6533', 'file', '279'); -INSERT INTO cp_node VALUES ('6534', 'file', '279'); -INSERT INTO cp_node VALUES ('6535', 'file', '279'); -INSERT INTO cp_node VALUES ('6536', 'file', '279'); -INSERT INTO cp_node VALUES ('6537', 'file', '279'); -INSERT INTO cp_node VALUES ('6538', 'file', '279'); -INSERT INTO cp_node VALUES ('6539', 'file', '279'); -INSERT INTO cp_node VALUES ('6540', 'file', '279'); -INSERT INTO cp_node VALUES ('6541', 'file', '279'); -INSERT INTO cp_node VALUES ('6542', 'file', '279'); -INSERT INTO cp_node VALUES ('6543', 'file', '279'); -INSERT INTO cp_node VALUES ('6544', 'file', '279'); -INSERT INTO cp_node VALUES ('6545', 'file', '279'); -INSERT INTO cp_node VALUES ('6546', 'file', '279'); -INSERT INTO cp_node VALUES ('6547', 'file', '279'); -INSERT INTO cp_node VALUES ('6548', 'file', '279'); -INSERT INTO cp_node VALUES ('6549', 'file', '279'); -INSERT INTO cp_node VALUES ('6550', 'file', '279'); -INSERT INTO cp_node VALUES ('6551', 'resource', '279'); -INSERT INTO cp_node VALUES ('6552', 'file', '279'); -INSERT INTO cp_node VALUES ('6553', 'file', '279'); -INSERT INTO cp_node VALUES ('6554', 'file', '279'); -INSERT INTO cp_node VALUES ('6555', 'resource', '279'); -INSERT INTO cp_node VALUES ('6556', 'file', '279'); -INSERT INTO cp_node VALUES ('6557', 'file', '279'); -INSERT INTO cp_node VALUES ('6558', 'file', '279'); -INSERT INTO cp_node VALUES ('6559', 'resource', '279'); -INSERT INTO cp_node VALUES ('6560', 'file', '279'); -INSERT INTO cp_node VALUES ('6561', 'file', '279'); -INSERT INTO cp_node VALUES ('6562', 'file', '279'); -INSERT INTO cp_node VALUES ('6563', 'resource', '279'); -INSERT INTO cp_node VALUES ('6564', 'file', '279'); -INSERT INTO cp_node VALUES ('6565', 'file', '279'); -INSERT INTO cp_node VALUES ('6566', 'file', '279'); -INSERT INTO cp_node VALUES ('6567', 'resource', '279'); -INSERT INTO cp_node VALUES ('6568', 'file', '279'); -INSERT INTO cp_node VALUES ('6569', 'file', '279'); -INSERT INTO cp_node VALUES ('6570', 'file', '279'); -INSERT INTO cp_node VALUES ('6571', 'resource', '279'); -INSERT INTO cp_node VALUES ('6572', 'file', '279'); -INSERT INTO cp_node VALUES ('6573', 'file', '279'); -INSERT INTO cp_node VALUES ('6574', 'file', '279'); -INSERT INTO cp_node VALUES ('6575', 'resource', '279'); -INSERT INTO cp_node VALUES ('6576', 'file', '279'); -INSERT INTO cp_node VALUES ('6577', 'file', '279'); -INSERT INTO cp_node VALUES ('6578', 'file', '279'); -INSERT INTO cp_node VALUES ('6579', 'resource', '279'); -INSERT INTO cp_node VALUES ('6580', 'file', '279'); -INSERT INTO cp_node VALUES ('6581', 'file', '279'); -INSERT INTO cp_node VALUES ('6582', 'file', '279'); -INSERT INTO cp_node VALUES ('6583', 'resource', '279'); -INSERT INTO cp_node VALUES ('6584', 'file', '279'); -INSERT INTO cp_node VALUES ('6585', 'file', '279'); -INSERT INTO cp_node VALUES ('6586', 'file', '279'); -INSERT INTO cp_node VALUES ('6587', 'sequencing', '279'); -INSERT INTO cp_node VALUES ('6588', 'sequencing', '279'); -INSERT INTO cp_node VALUES ('6589', 'sequencing', '279'); -INSERT INTO cp_node VALUES ('6590', 'sequencing', '279'); -INSERT INTO cp_node VALUES ('6591', 'sequencing', '279'); -INSERT INTO cp_node VALUES ('6592', 'rule', '279'); -INSERT INTO cp_node VALUES ('6593', 'condition', '279'); -INSERT INTO cp_node VALUES ('6594', 'objective', '279'); -INSERT INTO cp_node VALUES ('6595', 'sequencing', '279'); -INSERT INTO cp_node VALUES ('6596', 'rule', '279'); -INSERT INTO cp_node VALUES ('6597', 'condition', '279'); -INSERT INTO cp_node VALUES ('6598', 'rule', '279'); -INSERT INTO cp_node VALUES ('6599', 'condition', '279'); -INSERT INTO cp_node VALUES ('6600', 'rule', '279'); -INSERT INTO cp_node VALUES ('6601', 'condition', '279'); -INSERT INTO cp_node VALUES ('6602', 'manifest', '280'); -INSERT INTO cp_node VALUES ('6603', 'organization', '280'); -INSERT INTO cp_node VALUES ('6604', 'item', '280'); -INSERT INTO cp_node VALUES ('6605', 'hideLMSUI', '280'); -INSERT INTO cp_node VALUES ('6606', 'item', '280'); -INSERT INTO cp_node VALUES ('6607', 'hideLMSUI', '280'); -INSERT INTO cp_node VALUES ('6608', 'hideLMSUI', '280'); -INSERT INTO cp_node VALUES ('6609', 'item', '280'); -INSERT INTO cp_node VALUES ('6610', 'hideLMSUI', '280'); -INSERT INTO cp_node VALUES ('6611', 'hideLMSUI', '280'); -INSERT INTO cp_node VALUES ('6612', 'item', '280'); -INSERT INTO cp_node VALUES ('6613', 'hideLMSUI', '280'); -INSERT INTO cp_node VALUES ('6614', 'hideLMSUI', '280'); -INSERT INTO cp_node VALUES ('6615', 'item', '280'); -INSERT INTO cp_node VALUES ('6616', 'item', '280'); -INSERT INTO cp_node VALUES ('6617', 'hideLMSUI', '280'); -INSERT INTO cp_node VALUES ('6618', 'hideLMSUI', '280'); -INSERT INTO cp_node VALUES ('6619', 'item', '280'); -INSERT INTO cp_node VALUES ('6620', 'hideLMSUI', '280'); -INSERT INTO cp_node VALUES ('6621', 'hideLMSUI', '280'); -INSERT INTO cp_node VALUES ('6622', 'item', '280'); -INSERT INTO cp_node VALUES ('6623', 'hideLMSUI', '280'); -INSERT INTO cp_node VALUES ('6624', 'hideLMSUI', '280'); -INSERT INTO cp_node VALUES ('6625', 'item', '280'); -INSERT INTO cp_node VALUES ('6626', 'hideLMSUI', '280'); -INSERT INTO cp_node VALUES ('6627', 'hideLMSUI', '280'); -INSERT INTO cp_node VALUES ('6628', 'item', '280'); -INSERT INTO cp_node VALUES ('6629', 'hideLMSUI', '280'); -INSERT INTO cp_node VALUES ('6630', 'hideLMSUI', '280'); -INSERT INTO cp_node VALUES ('6631', 'item', '280'); -INSERT INTO cp_node VALUES ('6632', 'hideLMSUI', '280'); -INSERT INTO cp_node VALUES ('6633', 'hideLMSUI', '280'); -INSERT INTO cp_node VALUES ('6634', 'item', '280'); -INSERT INTO cp_node VALUES ('6635', 'hideLMSUI', '280'); -INSERT INTO cp_node VALUES ('6636', 'hideLMSUI', '280'); -INSERT INTO cp_node VALUES ('6637', 'item', '280'); -INSERT INTO cp_node VALUES ('6638', 'hideLMSUI', '280'); -INSERT INTO cp_node VALUES ('6639', 'hideLMSUI', '280'); -INSERT INTO cp_node VALUES ('6640', 'item', '280'); -INSERT INTO cp_node VALUES ('6641', 'hideLMSUI', '280'); -INSERT INTO cp_node VALUES ('6642', 'hideLMSUI', '280'); -INSERT INTO cp_node VALUES ('6643', 'resource', '280'); -INSERT INTO cp_node VALUES ('6644', 'file', '280'); -INSERT INTO cp_node VALUES ('6645', 'file', '280'); -INSERT INTO cp_node VALUES ('6646', 'file', '280'); -INSERT INTO cp_node VALUES ('6647', 'file', '280'); -INSERT INTO cp_node VALUES ('6648', 'file', '280'); -INSERT INTO cp_node VALUES ('6649', 'file', '280'); -INSERT INTO cp_node VALUES ('6650', 'resource', '280'); -INSERT INTO cp_node VALUES ('6651', 'file', '280'); -INSERT INTO cp_node VALUES ('6652', 'file', '280'); -INSERT INTO cp_node VALUES ('6653', 'file', '280'); -INSERT INTO cp_node VALUES ('6654', 'file', '280'); -INSERT INTO cp_node VALUES ('6655', 'file', '280'); -INSERT INTO cp_node VALUES ('6656', 'file', '280'); -INSERT INTO cp_node VALUES ('6657', 'file', '280'); -INSERT INTO cp_node VALUES ('6658', 'file', '280'); -INSERT INTO cp_node VALUES ('6659', 'file', '280'); -INSERT INTO cp_node VALUES ('6660', 'file', '280'); -INSERT INTO cp_node VALUES ('6661', 'file', '280'); -INSERT INTO cp_node VALUES ('6662', 'file', '280'); -INSERT INTO cp_node VALUES ('6663', 'file', '280'); -INSERT INTO cp_node VALUES ('6664', 'file', '280'); -INSERT INTO cp_node VALUES ('6665', 'file', '280'); -INSERT INTO cp_node VALUES ('6666', 'file', '280'); -INSERT INTO cp_node VALUES ('6667', 'file', '280'); -INSERT INTO cp_node VALUES ('6668', 'file', '280'); -INSERT INTO cp_node VALUES ('6669', 'file', '280'); -INSERT INTO cp_node VALUES ('6670', 'file', '280'); -INSERT INTO cp_node VALUES ('6671', 'file', '280'); -INSERT INTO cp_node VALUES ('6672', 'file', '280'); -INSERT INTO cp_node VALUES ('6673', 'file', '280'); -INSERT INTO cp_node VALUES ('6674', 'file', '280'); -INSERT INTO cp_node VALUES ('6675', 'file', '280'); -INSERT INTO cp_node VALUES ('6676', 'file', '280'); -INSERT INTO cp_node VALUES ('6677', 'file', '280'); -INSERT INTO cp_node VALUES ('6678', 'file', '280'); -INSERT INTO cp_node VALUES ('6679', 'file', '280'); -INSERT INTO cp_node VALUES ('6680', 'file', '280'); -INSERT INTO cp_node VALUES ('6681', 'file', '280'); -INSERT INTO cp_node VALUES ('6682', 'file', '280'); -INSERT INTO cp_node VALUES ('6683', 'file', '280'); -INSERT INTO cp_node VALUES ('6684', 'file', '280'); -INSERT INTO cp_node VALUES ('6685', 'file', '280'); -INSERT INTO cp_node VALUES ('6686', 'file', '280'); -INSERT INTO cp_node VALUES ('6687', 'file', '280'); -INSERT INTO cp_node VALUES ('6688', 'file', '280'); -INSERT INTO cp_node VALUES ('6689', 'file', '280'); -INSERT INTO cp_node VALUES ('6690', 'file', '280'); -INSERT INTO cp_node VALUES ('6691', 'file', '280'); -INSERT INTO cp_node VALUES ('6692', 'file', '280'); -INSERT INTO cp_node VALUES ('6693', 'file', '280'); -INSERT INTO cp_node VALUES ('6694', 'file', '280'); -INSERT INTO cp_node VALUES ('6695', 'file', '280'); -INSERT INTO cp_node VALUES ('6696', 'file', '280'); -INSERT INTO cp_node VALUES ('6697', 'resource', '280'); -INSERT INTO cp_node VALUES ('6698', 'file', '280'); -INSERT INTO cp_node VALUES ('6699', 'file', '280'); -INSERT INTO cp_node VALUES ('6700', 'file', '280'); -INSERT INTO cp_node VALUES ('6701', 'file', '280'); -INSERT INTO cp_node VALUES ('6702', 'file', '280'); -INSERT INTO cp_node VALUES ('6703', 'file', '280'); -INSERT INTO cp_node VALUES ('6704', 'file', '280'); -INSERT INTO cp_node VALUES ('6705', 'file', '280'); -INSERT INTO cp_node VALUES ('6706', 'file', '280'); -INSERT INTO cp_node VALUES ('6707', 'file', '280'); -INSERT INTO cp_node VALUES ('6708', 'file', '280'); -INSERT INTO cp_node VALUES ('6709', 'file', '280'); -INSERT INTO cp_node VALUES ('6710', 'file', '280'); -INSERT INTO cp_node VALUES ('6711', 'file', '280'); -INSERT INTO cp_node VALUES ('6712', 'file', '280'); -INSERT INTO cp_node VALUES ('6713', 'file', '280'); -INSERT INTO cp_node VALUES ('6714', 'file', '280'); -INSERT INTO cp_node VALUES ('6715', 'file', '280'); -INSERT INTO cp_node VALUES ('6716', 'file', '280'); -INSERT INTO cp_node VALUES ('6717', 'file', '280'); -INSERT INTO cp_node VALUES ('6718', 'file', '280'); -INSERT INTO cp_node VALUES ('6719', 'file', '280'); -INSERT INTO cp_node VALUES ('6720', 'file', '280'); -INSERT INTO cp_node VALUES ('6721', 'file', '280'); -INSERT INTO cp_node VALUES ('6722', 'file', '280'); -INSERT INTO cp_node VALUES ('6723', 'file', '280'); -INSERT INTO cp_node VALUES ('6724', 'file', '280'); -INSERT INTO cp_node VALUES ('6725', 'file', '280'); -INSERT INTO cp_node VALUES ('6726', 'file', '280'); -INSERT INTO cp_node VALUES ('6727', 'file', '280'); -INSERT INTO cp_node VALUES ('6728', 'file', '280'); -INSERT INTO cp_node VALUES ('6729', 'file', '280'); -INSERT INTO cp_node VALUES ('6730', 'file', '280'); -INSERT INTO cp_node VALUES ('6731', 'file', '280'); -INSERT INTO cp_node VALUES ('6732', 'file', '280'); -INSERT INTO cp_node VALUES ('6733', 'resource', '280'); -INSERT INTO cp_node VALUES ('6734', 'file', '280'); -INSERT INTO cp_node VALUES ('6735', 'file', '280'); -INSERT INTO cp_node VALUES ('6736', 'file', '280'); -INSERT INTO cp_node VALUES ('6737', 'file', '280'); -INSERT INTO cp_node VALUES ('6738', 'file', '280'); -INSERT INTO cp_node VALUES ('6739', 'file', '280'); -INSERT INTO cp_node VALUES ('6740', 'file', '280'); -INSERT INTO cp_node VALUES ('6741', 'file', '280'); -INSERT INTO cp_node VALUES ('6742', 'file', '280'); -INSERT INTO cp_node VALUES ('6743', 'file', '280'); -INSERT INTO cp_node VALUES ('6744', 'file', '280'); -INSERT INTO cp_node VALUES ('6745', 'file', '280'); -INSERT INTO cp_node VALUES ('6746', 'file', '280'); -INSERT INTO cp_node VALUES ('6747', 'file', '280'); -INSERT INTO cp_node VALUES ('6748', 'file', '280'); -INSERT INTO cp_node VALUES ('6749', 'file', '280'); -INSERT INTO cp_node VALUES ('6750', 'file', '280'); -INSERT INTO cp_node VALUES ('6751', 'file', '280'); -INSERT INTO cp_node VALUES ('6752', 'file', '280'); -INSERT INTO cp_node VALUES ('6753', 'file', '280'); -INSERT INTO cp_node VALUES ('6754', 'file', '280'); -INSERT INTO cp_node VALUES ('6755', 'file', '280'); -INSERT INTO cp_node VALUES ('6756', 'file', '280'); -INSERT INTO cp_node VALUES ('6757', 'file', '280'); -INSERT INTO cp_node VALUES ('6758', 'file', '280'); -INSERT INTO cp_node VALUES ('6759', 'file', '280'); -INSERT INTO cp_node VALUES ('6760', 'file', '280'); -INSERT INTO cp_node VALUES ('6761', 'file', '280'); -INSERT INTO cp_node VALUES ('6762', 'file', '280'); -INSERT INTO cp_node VALUES ('6763', 'file', '280'); -INSERT INTO cp_node VALUES ('6764', 'file', '280'); -INSERT INTO cp_node VALUES ('6765', 'file', '280'); -INSERT INTO cp_node VALUES ('6766', 'file', '280'); -INSERT INTO cp_node VALUES ('6767', 'file', '280'); -INSERT INTO cp_node VALUES ('6768', 'file', '280'); -INSERT INTO cp_node VALUES ('6769', 'file', '280'); -INSERT INTO cp_node VALUES ('6770', 'file', '280'); -INSERT INTO cp_node VALUES ('6771', 'file', '280'); -INSERT INTO cp_node VALUES ('6772', 'file', '280'); -INSERT INTO cp_node VALUES ('6773', 'file', '280'); -INSERT INTO cp_node VALUES ('6774', 'file', '280'); -INSERT INTO cp_node VALUES ('6775', 'file', '280'); -INSERT INTO cp_node VALUES ('6776', 'file', '280'); -INSERT INTO cp_node VALUES ('6777', 'file', '280'); -INSERT INTO cp_node VALUES ('6778', 'file', '280'); -INSERT INTO cp_node VALUES ('6779', 'resource', '280'); -INSERT INTO cp_node VALUES ('6780', 'file', '280'); -INSERT INTO cp_node VALUES ('6781', 'file', '280'); -INSERT INTO cp_node VALUES ('6782', 'file', '280'); -INSERT INTO cp_node VALUES ('6783', 'resource', '280'); -INSERT INTO cp_node VALUES ('6784', 'file', '280'); -INSERT INTO cp_node VALUES ('6785', 'file', '280'); -INSERT INTO cp_node VALUES ('6786', 'file', '280'); -INSERT INTO cp_node VALUES ('6787', 'resource', '280'); -INSERT INTO cp_node VALUES ('6788', 'file', '280'); -INSERT INTO cp_node VALUES ('6789', 'file', '280'); -INSERT INTO cp_node VALUES ('6790', 'file', '280'); -INSERT INTO cp_node VALUES ('6791', 'resource', '280'); -INSERT INTO cp_node VALUES ('6792', 'file', '280'); -INSERT INTO cp_node VALUES ('6793', 'file', '280'); -INSERT INTO cp_node VALUES ('6794', 'file', '280'); -INSERT INTO cp_node VALUES ('6795', 'resource', '280'); -INSERT INTO cp_node VALUES ('6796', 'file', '280'); -INSERT INTO cp_node VALUES ('6797', 'file', '280'); -INSERT INTO cp_node VALUES ('6798', 'file', '280'); -INSERT INTO cp_node VALUES ('6799', 'resource', '280'); -INSERT INTO cp_node VALUES ('6800', 'file', '280'); -INSERT INTO cp_node VALUES ('6801', 'file', '280'); -INSERT INTO cp_node VALUES ('6802', 'file', '280'); -INSERT INTO cp_node VALUES ('6803', 'resource', '280'); -INSERT INTO cp_node VALUES ('6804', 'file', '280'); -INSERT INTO cp_node VALUES ('6805', 'file', '280'); -INSERT INTO cp_node VALUES ('6806', 'file', '280'); -INSERT INTO cp_node VALUES ('6807', 'resource', '280'); -INSERT INTO cp_node VALUES ('6808', 'file', '280'); -INSERT INTO cp_node VALUES ('6809', 'file', '280'); -INSERT INTO cp_node VALUES ('6810', 'file', '280'); -INSERT INTO cp_node VALUES ('6811', 'resource', '280'); -INSERT INTO cp_node VALUES ('6812', 'file', '280'); -INSERT INTO cp_node VALUES ('6813', 'file', '280'); -INSERT INTO cp_node VALUES ('6814', 'file', '280'); -INSERT INTO cp_node VALUES ('6815', 'sequencing', '280'); -INSERT INTO cp_node VALUES ('6816', 'sequencing', '280'); -INSERT INTO cp_node VALUES ('6817', 'sequencing', '280'); -INSERT INTO cp_node VALUES ('6818', 'sequencing', '280'); -INSERT INTO cp_node VALUES ('6819', 'sequencing', '280'); -INSERT INTO cp_node VALUES ('6820', 'rule', '280'); -INSERT INTO cp_node VALUES ('6821', 'condition', '280'); -INSERT INTO cp_node VALUES ('6822', 'objective', '280'); -INSERT INTO cp_node VALUES ('6823', 'sequencing', '280'); -INSERT INTO cp_node VALUES ('6824', 'rule', '280'); -INSERT INTO cp_node VALUES ('6825', 'condition', '280'); -INSERT INTO cp_node VALUES ('6826', 'rule', '280'); -INSERT INTO cp_node VALUES ('6827', 'condition', '280'); -INSERT INTO cp_node VALUES ('6828', 'rule', '280'); -INSERT INTO cp_node VALUES ('6829', 'condition', '280'); -INSERT INTO cp_node VALUES ('6830', 'manifest', '281'); -INSERT INTO cp_node VALUES ('6831', 'organization', '281'); -INSERT INTO cp_node VALUES ('6832', 'item', '281'); -INSERT INTO cp_node VALUES ('6833', 'item', '281'); -INSERT INTO cp_node VALUES ('6834', 'item', '281'); -INSERT INTO cp_node VALUES ('6835', 'item', '281'); -INSERT INTO cp_node VALUES ('6836', 'item', '281'); -INSERT INTO cp_node VALUES ('6837', 'item', '281'); -INSERT INTO cp_node VALUES ('6838', 'item', '281'); -INSERT INTO cp_node VALUES ('6839', 'item', '281'); -INSERT INTO cp_node VALUES ('6840', 'item', '281'); -INSERT INTO cp_node VALUES ('6841', 'item', '281'); -INSERT INTO cp_node VALUES ('6842', 'item', '281'); -INSERT INTO cp_node VALUES ('6843', 'item', '281'); -INSERT INTO cp_node VALUES ('6844', 'item', '281'); -INSERT INTO cp_node VALUES ('6845', 'resource', '281'); -INSERT INTO cp_node VALUES ('6846', 'file', '281'); -INSERT INTO cp_node VALUES ('6847', 'resource', '281'); -INSERT INTO cp_node VALUES ('6848', 'file', '281'); -INSERT INTO cp_node VALUES ('6849', 'file', '281'); -INSERT INTO cp_node VALUES ('6850', 'file', '281'); -INSERT INTO cp_node VALUES ('6851', 'file', '281'); -INSERT INTO cp_node VALUES ('6852', 'file', '281'); -INSERT INTO cp_node VALUES ('6853', 'file', '281'); -INSERT INTO cp_node VALUES ('6854', 'file', '281'); -INSERT INTO cp_node VALUES ('6855', 'resource', '281'); -INSERT INTO cp_node VALUES ('6856', 'file', '281'); -INSERT INTO cp_node VALUES ('6857', 'file', '281'); -INSERT INTO cp_node VALUES ('6858', 'file', '281'); -INSERT INTO cp_node VALUES ('6859', 'file', '281'); -INSERT INTO cp_node VALUES ('6860', 'file', '281'); -INSERT INTO cp_node VALUES ('6861', 'file', '281'); -INSERT INTO cp_node VALUES ('6862', 'resource', '281'); -INSERT INTO cp_node VALUES ('6863', 'file', '281'); -INSERT INTO cp_node VALUES ('6864', 'file', '281'); -INSERT INTO cp_node VALUES ('6865', 'file', '281'); -INSERT INTO cp_node VALUES ('6866', 'file', '281'); -INSERT INTO cp_node VALUES ('6867', 'file', '281'); -INSERT INTO cp_node VALUES ('6868', 'file', '281'); -INSERT INTO cp_node VALUES ('6869', 'file', '281'); -INSERT INTO cp_node VALUES ('6870', 'resource', '281'); -INSERT INTO cp_node VALUES ('6871', 'file', '281'); -INSERT INTO cp_node VALUES ('6872', 'file', '281'); -INSERT INTO cp_node VALUES ('6873', 'file', '281'); -INSERT INTO cp_node VALUES ('6874', 'file', '281'); -INSERT INTO cp_node VALUES ('6875', 'file', '281'); -INSERT INTO cp_node VALUES ('6876', 'file', '281'); -INSERT INTO cp_node VALUES ('6877', 'file', '281'); -INSERT INTO cp_node VALUES ('6878', 'resource', '281'); -INSERT INTO cp_node VALUES ('6879', 'file', '281'); -INSERT INTO cp_node VALUES ('6880', 'file', '281'); -INSERT INTO cp_node VALUES ('6881', 'file', '281'); -INSERT INTO cp_node VALUES ('6882', 'file', '281'); -INSERT INTO cp_node VALUES ('6883', 'file', '281'); -INSERT INTO cp_node VALUES ('6884', 'file', '281'); -INSERT INTO cp_node VALUES ('6885', 'resource', '281'); -INSERT INTO cp_node VALUES ('6886', 'file', '281'); -INSERT INTO cp_node VALUES ('6887', 'file', '281'); -INSERT INTO cp_node VALUES ('6888', 'file', '281'); -INSERT INTO cp_node VALUES ('6889', 'file', '281'); -INSERT INTO cp_node VALUES ('6890', 'file', '281'); -INSERT INTO cp_node VALUES ('6891', 'file', '281'); -INSERT INTO cp_node VALUES ('6892', 'resource', '281'); -INSERT INTO cp_node VALUES ('6893', 'file', '281'); -INSERT INTO cp_node VALUES ('6894', 'file', '281'); -INSERT INTO cp_node VALUES ('6895', 'file', '281'); -INSERT INTO cp_node VALUES ('6896', 'file', '281'); -INSERT INTO cp_node VALUES ('6897', 'file', '281'); -INSERT INTO cp_node VALUES ('6898', 'file', '281'); -INSERT INTO cp_node VALUES ('6899', 'sequencing', '281'); -INSERT INTO cp_node VALUES ('6900', 'sequencing', '281'); -INSERT INTO cp_node VALUES ('6901', 'rule', '281'); -INSERT INTO cp_node VALUES ('6902', 'condition', '281'); -INSERT INTO cp_node VALUES ('6903', 'sequencing', '281'); -INSERT INTO cp_node VALUES ('6904', 'rule', '281'); -INSERT INTO cp_node VALUES ('6905', 'condition', '281'); -INSERT INTO cp_node VALUES ('6906', 'sequencing', '281'); -INSERT INTO cp_node VALUES ('6907', 'rule', '281'); -INSERT INTO cp_node VALUES ('6908', 'condition', '281'); -INSERT INTO cp_node VALUES ('6909', 'sequencing', '281'); -INSERT INTO cp_node VALUES ('6910', 'rule', '281'); -INSERT INTO cp_node VALUES ('6911', 'condition', '281'); -INSERT INTO cp_node VALUES ('6912', 'sequencing', '281'); -INSERT INTO cp_node VALUES ('6913', 'rule', '281'); -INSERT INTO cp_node VALUES ('6914', 'condition', '281'); -INSERT INTO cp_node VALUES ('6915', 'condition', '281'); -INSERT INTO cp_node VALUES ('6916', 'sequencing', '281'); -INSERT INTO cp_node VALUES ('6917', 'rule', '281'); -INSERT INTO cp_node VALUES ('6918', 'condition', '281'); -INSERT INTO cp_node VALUES ('6919', 'sequencing', '281'); -INSERT INTO cp_node VALUES ('6920', 'rule', '281'); -INSERT INTO cp_node VALUES ('6921', 'condition', '281'); -INSERT INTO cp_node VALUES ('6922', 'condition', '281'); -INSERT INTO cp_node VALUES ('6923', 'sequencing', '281'); -INSERT INTO cp_node VALUES ('6924', 'objective', '281'); -INSERT INTO cp_node VALUES ('6925', 'objective', '281'); -INSERT INTO cp_node VALUES ('6926', 'mapInfo', '281'); -INSERT INTO cp_node VALUES ('6927', 'objective', '281'); -INSERT INTO cp_node VALUES ('6928', 'mapInfo', '281'); -INSERT INTO cp_node VALUES ('6929', 'objective', '281'); -INSERT INTO cp_node VALUES ('6930', 'mapInfo', '281'); -INSERT INTO cp_node VALUES ('6931', 'manifest', '283'); -INSERT INTO cp_node VALUES ('6932', 'organization', '283'); -INSERT INTO cp_node VALUES ('6933', 'item', '283'); -INSERT INTO cp_node VALUES ('6934', 'item', '283'); -INSERT INTO cp_node VALUES ('6935', 'item', '283'); -INSERT INTO cp_node VALUES ('6936', 'item', '283'); -INSERT INTO cp_node VALUES ('6937', 'item', '283'); -INSERT INTO cp_node VALUES ('6938', 'item', '283'); -INSERT INTO cp_node VALUES ('6939', 'item', '283'); -INSERT INTO cp_node VALUES ('6940', 'item', '283'); -INSERT INTO cp_node VALUES ('6941', 'item', '283'); -INSERT INTO cp_node VALUES ('6942', 'item', '283'); -INSERT INTO cp_node VALUES ('6943', 'item', '283'); -INSERT INTO cp_node VALUES ('6944', 'item', '283'); -INSERT INTO cp_node VALUES ('6945', 'item', '283'); -INSERT INTO cp_node VALUES ('6946', 'resource', '283'); -INSERT INTO cp_node VALUES ('6947', 'file', '283'); -INSERT INTO cp_node VALUES ('6948', 'resource', '283'); -INSERT INTO cp_node VALUES ('6949', 'file', '283'); -INSERT INTO cp_node VALUES ('6950', 'file', '283'); -INSERT INTO cp_node VALUES ('6951', 'file', '283'); -INSERT INTO cp_node VALUES ('6952', 'file', '283'); -INSERT INTO cp_node VALUES ('6953', 'file', '283'); -INSERT INTO cp_node VALUES ('6954', 'file', '283'); -INSERT INTO cp_node VALUES ('6955', 'file', '283'); -INSERT INTO cp_node VALUES ('6956', 'resource', '283'); -INSERT INTO cp_node VALUES ('6957', 'file', '283'); -INSERT INTO cp_node VALUES ('6958', 'file', '283'); -INSERT INTO cp_node VALUES ('6959', 'file', '283'); -INSERT INTO cp_node VALUES ('6960', 'file', '283'); -INSERT INTO cp_node VALUES ('6961', 'file', '283'); -INSERT INTO cp_node VALUES ('6962', 'file', '283'); -INSERT INTO cp_node VALUES ('6963', 'resource', '283'); -INSERT INTO cp_node VALUES ('6964', 'file', '283'); -INSERT INTO cp_node VALUES ('6965', 'file', '283'); -INSERT INTO cp_node VALUES ('6966', 'file', '283'); -INSERT INTO cp_node VALUES ('6967', 'file', '283'); -INSERT INTO cp_node VALUES ('6968', 'file', '283'); -INSERT INTO cp_node VALUES ('6969', 'file', '283'); -INSERT INTO cp_node VALUES ('6970', 'file', '283'); -INSERT INTO cp_node VALUES ('6971', 'resource', '283'); -INSERT INTO cp_node VALUES ('6972', 'file', '283'); -INSERT INTO cp_node VALUES ('6973', 'file', '283'); -INSERT INTO cp_node VALUES ('6974', 'file', '283'); -INSERT INTO cp_node VALUES ('6975', 'file', '283'); -INSERT INTO cp_node VALUES ('6976', 'file', '283'); -INSERT INTO cp_node VALUES ('6977', 'file', '283'); -INSERT INTO cp_node VALUES ('6978', 'file', '283'); -INSERT INTO cp_node VALUES ('6979', 'resource', '283'); -INSERT INTO cp_node VALUES ('6980', 'file', '283'); -INSERT INTO cp_node VALUES ('6981', 'file', '283'); -INSERT INTO cp_node VALUES ('6982', 'file', '283'); -INSERT INTO cp_node VALUES ('6983', 'file', '283'); -INSERT INTO cp_node VALUES ('6984', 'file', '283'); -INSERT INTO cp_node VALUES ('6985', 'file', '283'); -INSERT INTO cp_node VALUES ('6986', 'resource', '283'); -INSERT INTO cp_node VALUES ('6987', 'file', '283'); -INSERT INTO cp_node VALUES ('6988', 'file', '283'); -INSERT INTO cp_node VALUES ('6989', 'file', '283'); -INSERT INTO cp_node VALUES ('6990', 'file', '283'); -INSERT INTO cp_node VALUES ('6991', 'file', '283'); -INSERT INTO cp_node VALUES ('6992', 'file', '283'); -INSERT INTO cp_node VALUES ('6993', 'resource', '283'); -INSERT INTO cp_node VALUES ('6994', 'file', '283'); -INSERT INTO cp_node VALUES ('6995', 'file', '283'); -INSERT INTO cp_node VALUES ('6996', 'file', '283'); -INSERT INTO cp_node VALUES ('6997', 'file', '283'); -INSERT INTO cp_node VALUES ('6998', 'file', '283'); -INSERT INTO cp_node VALUES ('6999', 'file', '283'); -INSERT INTO cp_node VALUES ('7000', 'sequencing', '283'); -INSERT INTO cp_node VALUES ('7001', 'sequencing', '283'); -INSERT INTO cp_node VALUES ('7002', 'rule', '283'); -INSERT INTO cp_node VALUES ('7003', 'condition', '283'); -INSERT INTO cp_node VALUES ('7004', 'sequencing', '283'); -INSERT INTO cp_node VALUES ('7005', 'rule', '283'); -INSERT INTO cp_node VALUES ('7006', 'condition', '283'); -INSERT INTO cp_node VALUES ('7007', 'sequencing', '283'); -INSERT INTO cp_node VALUES ('7008', 'rule', '283'); -INSERT INTO cp_node VALUES ('7009', 'condition', '283'); -INSERT INTO cp_node VALUES ('7010', 'sequencing', '283'); -INSERT INTO cp_node VALUES ('7011', 'rule', '283'); -INSERT INTO cp_node VALUES ('7012', 'condition', '283'); -INSERT INTO cp_node VALUES ('7013', 'sequencing', '283'); -INSERT INTO cp_node VALUES ('7014', 'rule', '283'); -INSERT INTO cp_node VALUES ('7015', 'condition', '283'); -INSERT INTO cp_node VALUES ('7016', 'condition', '283'); -INSERT INTO cp_node VALUES ('7017', 'sequencing', '283'); -INSERT INTO cp_node VALUES ('7018', 'rule', '283'); -INSERT INTO cp_node VALUES ('7019', 'condition', '283'); -INSERT INTO cp_node VALUES ('7020', 'sequencing', '283'); -INSERT INTO cp_node VALUES ('7021', 'rule', '283'); -INSERT INTO cp_node VALUES ('7022', 'condition', '283'); -INSERT INTO cp_node VALUES ('7023', 'condition', '283'); -INSERT INTO cp_node VALUES ('7024', 'sequencing', '283'); -INSERT INTO cp_node VALUES ('7025', 'objective', '283'); -INSERT INTO cp_node VALUES ('7026', 'objective', '283'); -INSERT INTO cp_node VALUES ('7027', 'mapInfo', '283'); -INSERT INTO cp_node VALUES ('7028', 'objective', '283'); -INSERT INTO cp_node VALUES ('7029', 'mapInfo', '283'); -INSERT INTO cp_node VALUES ('7030', 'objective', '283'); -INSERT INTO cp_node VALUES ('7031', 'mapInfo', '283'); -INSERT INTO cp_node VALUES ('7032', 'manifest', '284'); -INSERT INTO cp_node VALUES ('7033', 'organization', '284'); -INSERT INTO cp_node VALUES ('7034', 'item', '284'); -INSERT INTO cp_node VALUES ('7035', 'item', '284'); -INSERT INTO cp_node VALUES ('7036', 'item', '284'); -INSERT INTO cp_node VALUES ('7037', 'item', '284'); -INSERT INTO cp_node VALUES ('7038', 'item', '284'); -INSERT INTO cp_node VALUES ('7039', 'item', '284'); -INSERT INTO cp_node VALUES ('7040', 'item', '284'); -INSERT INTO cp_node VALUES ('7041', 'item', '284'); -INSERT INTO cp_node VALUES ('7042', 'resource', '284'); -INSERT INTO cp_node VALUES ('7043', 'dependency', '284'); -INSERT INTO cp_node VALUES ('7044', 'dependency', '284'); -INSERT INTO cp_node VALUES ('7045', 'dependency', '284'); -INSERT INTO cp_node VALUES ('7046', 'dependency', '284'); -INSERT INTO cp_node VALUES ('7047', 'resource', '284'); -INSERT INTO cp_node VALUES ('7048', 'dependency', '284'); -INSERT INTO cp_node VALUES ('7049', 'dependency', '284'); -INSERT INTO cp_node VALUES ('7050', 'dependency', '284'); -INSERT INTO cp_node VALUES ('7051', 'dependency', '284'); -INSERT INTO cp_node VALUES ('7052', 'resource', '284'); -INSERT INTO cp_node VALUES ('7053', 'dependency', '284'); -INSERT INTO cp_node VALUES ('7054', 'dependency', '284'); -INSERT INTO cp_node VALUES ('7055', 'dependency', '284'); -INSERT INTO cp_node VALUES ('7056', 'dependency', '284'); -INSERT INTO cp_node VALUES ('7057', 'resource', '284'); -INSERT INTO cp_node VALUES ('7058', 'dependency', '284'); -INSERT INTO cp_node VALUES ('7059', 'dependency', '284'); -INSERT INTO cp_node VALUES ('7060', 'dependency', '284'); -INSERT INTO cp_node VALUES ('7061', 'dependency', '284'); -INSERT INTO cp_node VALUES ('7062', 'resource', '284'); -INSERT INTO cp_node VALUES ('7063', 'dependency', '284'); -INSERT INTO cp_node VALUES ('7064', 'dependency', '284'); -INSERT INTO cp_node VALUES ('7065', 'dependency', '284'); -INSERT INTO cp_node VALUES ('7066', 'dependency', '284'); -INSERT INTO cp_node VALUES ('7067', 'resource', '284'); -INSERT INTO cp_node VALUES ('7068', 'dependency', '284'); -INSERT INTO cp_node VALUES ('7069', 'dependency', '284'); -INSERT INTO cp_node VALUES ('7070', 'dependency', '284'); -INSERT INTO cp_node VALUES ('7071', 'dependency', '284'); -INSERT INTO cp_node VALUES ('7072', 'resource', '284'); -INSERT INTO cp_node VALUES ('7073', 'dependency', '284'); -INSERT INTO cp_node VALUES ('7074', 'dependency', '284'); -INSERT INTO cp_node VALUES ('7075', 'dependency', '284'); -INSERT INTO cp_node VALUES ('7076', 'dependency', '284'); -INSERT INTO cp_node VALUES ('7077', 'resource', '284'); -INSERT INTO cp_node VALUES ('7078', 'file', '284'); -INSERT INTO cp_node VALUES ('7079', 'file', '284'); -INSERT INTO cp_node VALUES ('7080', 'file', '284'); -INSERT INTO cp_node VALUES ('7081', 'resource', '284'); -INSERT INTO cp_node VALUES ('7082', 'file', '284'); -INSERT INTO cp_node VALUES ('7083', 'file', '284'); -INSERT INTO cp_node VALUES ('7084', 'file', '284'); -INSERT INTO cp_node VALUES ('7085', 'file', '284'); -INSERT INTO cp_node VALUES ('7086', 'file', '284'); -INSERT INTO cp_node VALUES ('7087', 'file', '284'); -INSERT INTO cp_node VALUES ('7088', 'file', '284'); -INSERT INTO cp_node VALUES ('7089', 'file', '284'); -INSERT INTO cp_node VALUES ('7090', 'file', '284'); -INSERT INTO cp_node VALUES ('7091', 'file', '284'); -INSERT INTO cp_node VALUES ('7092', 'file', '284'); -INSERT INTO cp_node VALUES ('7093', 'resource', '284'); -INSERT INTO cp_node VALUES ('7094', 'file', '284'); -INSERT INTO cp_node VALUES ('7095', 'resource', '284'); -INSERT INTO cp_node VALUES ('7096', 'file', '284'); -INSERT INTO cp_node VALUES ('7097', 'file', '284'); -INSERT INTO cp_node VALUES ('7098', 'file', '284'); -INSERT INTO cp_node VALUES ('7099', 'file', '284'); -INSERT INTO cp_node VALUES ('7100', 'file', '284'); -INSERT INTO cp_node VALUES ('7101', 'file', '284'); -INSERT INTO cp_node VALUES ('7102', 'file', '284'); -INSERT INTO cp_node VALUES ('7103', 'file', '284'); -INSERT INTO cp_node VALUES ('7104', 'file', '284'); -INSERT INTO cp_node VALUES ('7105', 'file', '284'); -INSERT INTO cp_node VALUES ('7106', 'file', '284'); -INSERT INTO cp_node VALUES ('7107', 'file', '284'); -INSERT INTO cp_node VALUES ('7108', 'file', '284'); -INSERT INTO cp_node VALUES ('7109', 'file', '284'); -INSERT INTO cp_node VALUES ('7110', 'file', '284'); -INSERT INTO cp_node VALUES ('7111', 'file', '284'); -INSERT INTO cp_node VALUES ('7112', 'file', '284'); -INSERT INTO cp_node VALUES ('7113', 'file', '284'); -INSERT INTO cp_node VALUES ('7114', 'file', '284'); -INSERT INTO cp_node VALUES ('7115', 'file', '284'); -INSERT INTO cp_node VALUES ('7116', 'file', '284'); -INSERT INTO cp_node VALUES ('7117', 'file', '284'); -INSERT INTO cp_node VALUES ('7118', 'file', '284'); -INSERT INTO cp_node VALUES ('7119', 'file', '284'); -INSERT INTO cp_node VALUES ('7120', 'file', '284'); -INSERT INTO cp_node VALUES ('7121', 'file', '284'); -INSERT INTO cp_node VALUES ('7122', 'file', '284'); -INSERT INTO cp_node VALUES ('7123', 'file', '284'); -INSERT INTO cp_node VALUES ('7124', 'file', '284'); -INSERT INTO cp_node VALUES ('7125', 'file', '284'); -INSERT INTO cp_node VALUES ('7126', 'file', '284'); -INSERT INTO cp_node VALUES ('7127', 'file', '284'); -INSERT INTO cp_node VALUES ('7128', 'file', '284'); -INSERT INTO cp_node VALUES ('7129', 'file', '284'); -INSERT INTO cp_node VALUES ('7130', 'file', '284'); -INSERT INTO cp_node VALUES ('7131', 'file', '284'); -INSERT INTO cp_node VALUES ('7132', 'file', '284'); -INSERT INTO cp_node VALUES ('7133', 'file', '284'); -INSERT INTO cp_node VALUES ('7134', 'file', '284'); -INSERT INTO cp_node VALUES ('7135', 'file', '284'); -INSERT INTO cp_node VALUES ('7136', 'file', '284'); -INSERT INTO cp_node VALUES ('7137', 'file', '284'); -INSERT INTO cp_node VALUES ('7138', 'file', '284'); -INSERT INTO cp_node VALUES ('7139', 'file', '284'); -INSERT INTO cp_node VALUES ('7140', 'file', '284'); -INSERT INTO cp_node VALUES ('7141', 'file', '284'); -INSERT INTO cp_node VALUES ('7142', 'file', '284'); -INSERT INTO cp_node VALUES ('7143', 'file', '284'); -INSERT INTO cp_node VALUES ('7144', 'file', '284'); -INSERT INTO cp_node VALUES ('7145', 'file', '284'); -INSERT INTO cp_node VALUES ('7146', 'file', '284'); -INSERT INTO cp_node VALUES ('7147', 'file', '284'); -INSERT INTO cp_node VALUES ('7148', 'file', '284'); -INSERT INTO cp_node VALUES ('7149', 'file', '284'); -INSERT INTO cp_node VALUES ('7150', 'file', '284'); -INSERT INTO cp_node VALUES ('7151', 'file', '284'); -INSERT INTO cp_node VALUES ('7152', 'file', '284'); -INSERT INTO cp_node VALUES ('7153', 'file', '284'); -INSERT INTO cp_node VALUES ('7154', 'file', '284'); -INSERT INTO cp_node VALUES ('7155', 'file', '284'); -INSERT INTO cp_node VALUES ('7156', 'file', '284'); -INSERT INTO cp_node VALUES ('7157', 'file', '284'); -INSERT INTO cp_node VALUES ('7158', 'file', '284'); -INSERT INTO cp_node VALUES ('7159', 'file', '284'); -INSERT INTO cp_node VALUES ('7160', 'file', '284'); -INSERT INTO cp_node VALUES ('7161', 'file', '284'); -INSERT INTO cp_node VALUES ('7162', 'file', '284'); -INSERT INTO cp_node VALUES ('7163', 'file', '284'); -INSERT INTO cp_node VALUES ('7164', 'resource', '284'); -INSERT INTO cp_node VALUES ('7165', 'file', '284'); -INSERT INTO cp_node VALUES ('7166', 'file', '284'); -INSERT INTO cp_node VALUES ('7167', 'file', '284'); -INSERT INTO cp_node VALUES ('7168', 'resource', '284'); -INSERT INTO cp_node VALUES ('7169', 'file', '284'); -INSERT INTO cp_node VALUES ('7170', 'file', '284'); -INSERT INTO cp_node VALUES ('7171', 'file', '284'); -INSERT INTO cp_node VALUES ('7172', 'file', '284'); -INSERT INTO cp_node VALUES ('7173', 'file', '284'); -INSERT INTO cp_node VALUES ('7174', 'file', '284'); -INSERT INTO cp_node VALUES ('7175', 'resource', '284'); -INSERT INTO cp_node VALUES ('7176', 'file', '284'); -INSERT INTO cp_node VALUES ('7177', 'resource', '284'); -INSERT INTO cp_node VALUES ('7178', 'file', '284'); -INSERT INTO cp_node VALUES ('7179', 'file', '284'); -INSERT INTO cp_node VALUES ('7180', 'file', '284'); -INSERT INTO cp_node VALUES ('7181', 'file', '284'); -INSERT INTO cp_node VALUES ('7182', 'file', '284'); -INSERT INTO cp_node VALUES ('7183', 'file', '284'); -INSERT INTO cp_node VALUES ('7184', 'file', '284'); -INSERT INTO cp_node VALUES ('7185', 'file', '284'); -INSERT INTO cp_node VALUES ('7186', 'file', '284'); -INSERT INTO cp_node VALUES ('7187', 'file', '284'); -INSERT INTO cp_node VALUES ('7188', 'file', '284'); -INSERT INTO cp_node VALUES ('7189', 'file', '284'); -INSERT INTO cp_node VALUES ('7190', 'file', '284'); -INSERT INTO cp_node VALUES ('7191', 'file', '284'); -INSERT INTO cp_node VALUES ('7192', 'file', '284'); -INSERT INTO cp_node VALUES ('7193', 'file', '284'); -INSERT INTO cp_node VALUES ('7194', 'file', '284'); -INSERT INTO cp_node VALUES ('7195', 'file', '284'); -INSERT INTO cp_node VALUES ('7196', 'file', '284'); -INSERT INTO cp_node VALUES ('7197', 'file', '284'); -INSERT INTO cp_node VALUES ('7198', 'file', '284'); -INSERT INTO cp_node VALUES ('7199', 'file', '284'); -INSERT INTO cp_node VALUES ('7200', 'file', '284'); -INSERT INTO cp_node VALUES ('7201', 'file', '284'); -INSERT INTO cp_node VALUES ('7202', 'file', '284'); -INSERT INTO cp_node VALUES ('7203', 'file', '284'); -INSERT INTO cp_node VALUES ('7204', 'file', '284'); -INSERT INTO cp_node VALUES ('7205', 'file', '284'); -INSERT INTO cp_node VALUES ('7206', 'file', '284'); -INSERT INTO cp_node VALUES ('7207', 'file', '284'); -INSERT INTO cp_node VALUES ('7208', 'file', '284'); -INSERT INTO cp_node VALUES ('7209', 'file', '284'); -INSERT INTO cp_node VALUES ('7210', 'file', '284'); -INSERT INTO cp_node VALUES ('7211', 'file', '284'); -INSERT INTO cp_node VALUES ('7212', 'file', '284'); -INSERT INTO cp_node VALUES ('7213', 'file', '284'); -INSERT INTO cp_node VALUES ('7214', 'file', '284'); -INSERT INTO cp_node VALUES ('7215', 'file', '284'); -INSERT INTO cp_node VALUES ('7216', 'file', '284'); -INSERT INTO cp_node VALUES ('7217', 'file', '284'); -INSERT INTO cp_node VALUES ('7218', 'file', '284'); -INSERT INTO cp_node VALUES ('7219', 'file', '284'); -INSERT INTO cp_node VALUES ('7220', 'file', '284'); -INSERT INTO cp_node VALUES ('7221', 'file', '284'); -INSERT INTO cp_node VALUES ('7222', 'file', '284'); -INSERT INTO cp_node VALUES ('7223', 'file', '284'); -INSERT INTO cp_node VALUES ('7224', 'file', '284'); -INSERT INTO cp_node VALUES ('7225', 'file', '284'); -INSERT INTO cp_node VALUES ('7226', 'file', '284'); -INSERT INTO cp_node VALUES ('7227', 'file', '284'); -INSERT INTO cp_node VALUES ('7228', 'file', '284'); -INSERT INTO cp_node VALUES ('7229', 'file', '284'); -INSERT INTO cp_node VALUES ('7230', 'file', '284'); -INSERT INTO cp_node VALUES ('7231', 'file', '284'); -INSERT INTO cp_node VALUES ('7232', 'file', '284'); -INSERT INTO cp_node VALUES ('7233', 'file', '284'); -INSERT INTO cp_node VALUES ('7234', 'file', '284'); -INSERT INTO cp_node VALUES ('7235', 'file', '284'); -INSERT INTO cp_node VALUES ('7236', 'file', '284'); -INSERT INTO cp_node VALUES ('7237', 'file', '284'); -INSERT INTO cp_node VALUES ('7238', 'file', '284'); -INSERT INTO cp_node VALUES ('7239', 'file', '284'); -INSERT INTO cp_node VALUES ('7240', 'file', '284'); -INSERT INTO cp_node VALUES ('7241', 'file', '284'); -INSERT INTO cp_node VALUES ('7242', 'file', '284'); -INSERT INTO cp_node VALUES ('7243', 'file', '284'); -INSERT INTO cp_node VALUES ('7244', 'file', '284'); -INSERT INTO cp_node VALUES ('7245', 'file', '284'); -INSERT INTO cp_node VALUES ('7246', 'resource', '284'); -INSERT INTO cp_node VALUES ('7247', 'file', '284'); -INSERT INTO cp_node VALUES ('7248', 'file', '284'); -INSERT INTO cp_node VALUES ('7249', 'file', '284'); -INSERT INTO cp_node VALUES ('7250', 'resource', '284'); -INSERT INTO cp_node VALUES ('7251', 'file', '284'); -INSERT INTO cp_node VALUES ('7252', 'file', '284'); -INSERT INTO cp_node VALUES ('7253', 'file', '284'); -INSERT INTO cp_node VALUES ('7254', 'file', '284'); -INSERT INTO cp_node VALUES ('7255', 'file', '284'); -INSERT INTO cp_node VALUES ('7256', 'file', '284'); -INSERT INTO cp_node VALUES ('7257', 'resource', '284'); -INSERT INTO cp_node VALUES ('7258', 'file', '284'); -INSERT INTO cp_node VALUES ('7259', 'resource', '284'); -INSERT INTO cp_node VALUES ('7260', 'file', '284'); -INSERT INTO cp_node VALUES ('7261', 'file', '284'); -INSERT INTO cp_node VALUES ('7262', 'file', '284'); -INSERT INTO cp_node VALUES ('7263', 'file', '284'); -INSERT INTO cp_node VALUES ('7264', 'file', '284'); -INSERT INTO cp_node VALUES ('7265', 'file', '284'); -INSERT INTO cp_node VALUES ('7266', 'file', '284'); -INSERT INTO cp_node VALUES ('7267', 'file', '284'); -INSERT INTO cp_node VALUES ('7268', 'file', '284'); -INSERT INTO cp_node VALUES ('7269', 'file', '284'); -INSERT INTO cp_node VALUES ('7270', 'file', '284'); -INSERT INTO cp_node VALUES ('7271', 'file', '284'); -INSERT INTO cp_node VALUES ('7272', 'file', '284'); -INSERT INTO cp_node VALUES ('7273', 'file', '284'); -INSERT INTO cp_node VALUES ('7274', 'file', '284'); -INSERT INTO cp_node VALUES ('7275', 'file', '284'); -INSERT INTO cp_node VALUES ('7276', 'file', '284'); -INSERT INTO cp_node VALUES ('7277', 'file', '284'); -INSERT INTO cp_node VALUES ('7278', 'file', '284'); -INSERT INTO cp_node VALUES ('7279', 'file', '284'); -INSERT INTO cp_node VALUES ('7280', 'file', '284'); -INSERT INTO cp_node VALUES ('7281', 'file', '284'); -INSERT INTO cp_node VALUES ('7282', 'file', '284'); -INSERT INTO cp_node VALUES ('7283', 'file', '284'); -INSERT INTO cp_node VALUES ('7284', 'file', '284'); -INSERT INTO cp_node VALUES ('7285', 'file', '284'); -INSERT INTO cp_node VALUES ('7286', 'file', '284'); -INSERT INTO cp_node VALUES ('7287', 'file', '284'); -INSERT INTO cp_node VALUES ('7288', 'file', '284'); -INSERT INTO cp_node VALUES ('7289', 'file', '284'); -INSERT INTO cp_node VALUES ('7290', 'file', '284'); -INSERT INTO cp_node VALUES ('7291', 'file', '284'); -INSERT INTO cp_node VALUES ('7292', 'file', '284'); -INSERT INTO cp_node VALUES ('7293', 'file', '284'); -INSERT INTO cp_node VALUES ('7294', 'file', '284'); -INSERT INTO cp_node VALUES ('7295', 'file', '284'); -INSERT INTO cp_node VALUES ('7296', 'file', '284'); -INSERT INTO cp_node VALUES ('7297', 'file', '284'); -INSERT INTO cp_node VALUES ('7298', 'file', '284'); -INSERT INTO cp_node VALUES ('7299', 'file', '284'); -INSERT INTO cp_node VALUES ('7300', 'file', '284'); -INSERT INTO cp_node VALUES ('7301', 'file', '284'); -INSERT INTO cp_node VALUES ('7302', 'file', '284'); -INSERT INTO cp_node VALUES ('7303', 'file', '284'); -INSERT INTO cp_node VALUES ('7304', 'file', '284'); -INSERT INTO cp_node VALUES ('7305', 'file', '284'); -INSERT INTO cp_node VALUES ('7306', 'file', '284'); -INSERT INTO cp_node VALUES ('7307', 'file', '284'); -INSERT INTO cp_node VALUES ('7308', 'file', '284'); -INSERT INTO cp_node VALUES ('7309', 'file', '284'); -INSERT INTO cp_node VALUES ('7310', 'file', '284'); -INSERT INTO cp_node VALUES ('7311', 'file', '284'); -INSERT INTO cp_node VALUES ('7312', 'file', '284'); -INSERT INTO cp_node VALUES ('7313', 'file', '284'); -INSERT INTO cp_node VALUES ('7314', 'file', '284'); -INSERT INTO cp_node VALUES ('7315', 'file', '284'); -INSERT INTO cp_node VALUES ('7316', 'file', '284'); -INSERT INTO cp_node VALUES ('7317', 'file', '284'); -INSERT INTO cp_node VALUES ('7318', 'file', '284'); -INSERT INTO cp_node VALUES ('7319', 'file', '284'); -INSERT INTO cp_node VALUES ('7320', 'file', '284'); -INSERT INTO cp_node VALUES ('7321', 'file', '284'); -INSERT INTO cp_node VALUES ('7322', 'file', '284'); -INSERT INTO cp_node VALUES ('7323', 'file', '284'); -INSERT INTO cp_node VALUES ('7324', 'file', '284'); -INSERT INTO cp_node VALUES ('7325', 'file', '284'); -INSERT INTO cp_node VALUES ('7326', 'file', '284'); -INSERT INTO cp_node VALUES ('7327', 'file', '284'); -INSERT INTO cp_node VALUES ('7328', 'resource', '284'); -INSERT INTO cp_node VALUES ('7329', 'file', '284'); -INSERT INTO cp_node VALUES ('7330', 'file', '284'); -INSERT INTO cp_node VALUES ('7331', 'file', '284'); -INSERT INTO cp_node VALUES ('7332', 'resource', '284'); -INSERT INTO cp_node VALUES ('7333', 'file', '284'); -INSERT INTO cp_node VALUES ('7334', 'file', '284'); -INSERT INTO cp_node VALUES ('7335', 'file', '284'); -INSERT INTO cp_node VALUES ('7336', 'file', '284'); -INSERT INTO cp_node VALUES ('7337', 'resource', '284'); -INSERT INTO cp_node VALUES ('7338', 'file', '284'); -INSERT INTO cp_node VALUES ('7339', 'resource', '284'); -INSERT INTO cp_node VALUES ('7340', 'file', '284'); -INSERT INTO cp_node VALUES ('7341', 'file', '284'); -INSERT INTO cp_node VALUES ('7342', 'file', '284'); -INSERT INTO cp_node VALUES ('7343', 'file', '284'); -INSERT INTO cp_node VALUES ('7344', 'file', '284'); -INSERT INTO cp_node VALUES ('7345', 'file', '284'); -INSERT INTO cp_node VALUES ('7346', 'file', '284'); -INSERT INTO cp_node VALUES ('7347', 'file', '284'); -INSERT INTO cp_node VALUES ('7348', 'file', '284'); -INSERT INTO cp_node VALUES ('7349', 'file', '284'); -INSERT INTO cp_node VALUES ('7350', 'file', '284'); -INSERT INTO cp_node VALUES ('7351', 'file', '284'); -INSERT INTO cp_node VALUES ('7352', 'file', '284'); -INSERT INTO cp_node VALUES ('7353', 'file', '284'); -INSERT INTO cp_node VALUES ('7354', 'file', '284'); -INSERT INTO cp_node VALUES ('7355', 'file', '284'); -INSERT INTO cp_node VALUES ('7356', 'file', '284'); -INSERT INTO cp_node VALUES ('7357', 'file', '284'); -INSERT INTO cp_node VALUES ('7358', 'file', '284'); -INSERT INTO cp_node VALUES ('7359', 'file', '284'); -INSERT INTO cp_node VALUES ('7360', 'file', '284'); -INSERT INTO cp_node VALUES ('7361', 'file', '284'); -INSERT INTO cp_node VALUES ('7362', 'file', '284'); -INSERT INTO cp_node VALUES ('7363', 'file', '284'); -INSERT INTO cp_node VALUES ('7364', 'file', '284'); -INSERT INTO cp_node VALUES ('7365', 'file', '284'); -INSERT INTO cp_node VALUES ('7366', 'file', '284'); -INSERT INTO cp_node VALUES ('7367', 'file', '284'); -INSERT INTO cp_node VALUES ('7368', 'file', '284'); -INSERT INTO cp_node VALUES ('7369', 'file', '284'); -INSERT INTO cp_node VALUES ('7370', 'file', '284'); -INSERT INTO cp_node VALUES ('7371', 'file', '284'); -INSERT INTO cp_node VALUES ('7372', 'file', '284'); -INSERT INTO cp_node VALUES ('7373', 'file', '284'); -INSERT INTO cp_node VALUES ('7374', 'file', '284'); -INSERT INTO cp_node VALUES ('7375', 'file', '284'); -INSERT INTO cp_node VALUES ('7376', 'file', '284'); -INSERT INTO cp_node VALUES ('7377', 'file', '284'); -INSERT INTO cp_node VALUES ('7378', 'file', '284'); -INSERT INTO cp_node VALUES ('7379', 'file', '284'); -INSERT INTO cp_node VALUES ('7380', 'file', '284'); -INSERT INTO cp_node VALUES ('7381', 'file', '284'); -INSERT INTO cp_node VALUES ('7382', 'file', '284'); -INSERT INTO cp_node VALUES ('7383', 'file', '284'); -INSERT INTO cp_node VALUES ('7384', 'file', '284'); -INSERT INTO cp_node VALUES ('7385', 'file', '284'); -INSERT INTO cp_node VALUES ('7386', 'file', '284'); -INSERT INTO cp_node VALUES ('7387', 'file', '284'); -INSERT INTO cp_node VALUES ('7388', 'file', '284'); -INSERT INTO cp_node VALUES ('7389', 'file', '284'); -INSERT INTO cp_node VALUES ('7390', 'file', '284'); -INSERT INTO cp_node VALUES ('7391', 'file', '284'); -INSERT INTO cp_node VALUES ('7392', 'file', '284'); -INSERT INTO cp_node VALUES ('7393', 'file', '284'); -INSERT INTO cp_node VALUES ('7394', 'file', '284'); -INSERT INTO cp_node VALUES ('7395', 'file', '284'); -INSERT INTO cp_node VALUES ('7396', 'file', '284'); -INSERT INTO cp_node VALUES ('7397', 'file', '284'); -INSERT INTO cp_node VALUES ('7398', 'file', '284'); -INSERT INTO cp_node VALUES ('7399', 'file', '284'); -INSERT INTO cp_node VALUES ('7400', 'file', '284'); -INSERT INTO cp_node VALUES ('7401', 'file', '284'); -INSERT INTO cp_node VALUES ('7402', 'file', '284'); -INSERT INTO cp_node VALUES ('7403', 'file', '284'); -INSERT INTO cp_node VALUES ('7404', 'file', '284'); -INSERT INTO cp_node VALUES ('7405', 'file', '284'); -INSERT INTO cp_node VALUES ('7406', 'file', '284'); -INSERT INTO cp_node VALUES ('7407', 'file', '284'); -INSERT INTO cp_node VALUES ('7408', 'resource', '284'); -INSERT INTO cp_node VALUES ('7409', 'file', '284'); -INSERT INTO cp_node VALUES ('7410', 'file', '284'); -INSERT INTO cp_node VALUES ('7411', 'file', '284'); -INSERT INTO cp_node VALUES ('7412', 'resource', '284'); -INSERT INTO cp_node VALUES ('7413', 'file', '284'); -INSERT INTO cp_node VALUES ('7414', 'file', '284'); -INSERT INTO cp_node VALUES ('7415', 'file', '284'); -INSERT INTO cp_node VALUES ('7416', 'file', '284'); -INSERT INTO cp_node VALUES ('7417', 'file', '284'); -INSERT INTO cp_node VALUES ('7418', 'file', '284'); -INSERT INTO cp_node VALUES ('7419', 'file', '284'); -INSERT INTO cp_node VALUES ('7420', 'file', '284'); -INSERT INTO cp_node VALUES ('7421', 'file', '284'); -INSERT INTO cp_node VALUES ('7422', 'file', '284'); -INSERT INTO cp_node VALUES ('7423', 'file', '284'); -INSERT INTO cp_node VALUES ('7424', 'resource', '284'); -INSERT INTO cp_node VALUES ('7425', 'file', '284'); -INSERT INTO cp_node VALUES ('7426', 'resource', '284'); -INSERT INTO cp_node VALUES ('7427', 'file', '284'); -INSERT INTO cp_node VALUES ('7428', 'file', '284'); -INSERT INTO cp_node VALUES ('7429', 'file', '284'); -INSERT INTO cp_node VALUES ('7430', 'file', '284'); -INSERT INTO cp_node VALUES ('7431', 'file', '284'); -INSERT INTO cp_node VALUES ('7432', 'file', '284'); -INSERT INTO cp_node VALUES ('7433', 'file', '284'); -INSERT INTO cp_node VALUES ('7434', 'file', '284'); -INSERT INTO cp_node VALUES ('7435', 'file', '284'); -INSERT INTO cp_node VALUES ('7436', 'file', '284'); -INSERT INTO cp_node VALUES ('7437', 'file', '284'); -INSERT INTO cp_node VALUES ('7438', 'file', '284'); -INSERT INTO cp_node VALUES ('7439', 'file', '284'); -INSERT INTO cp_node VALUES ('7440', 'file', '284'); -INSERT INTO cp_node VALUES ('7441', 'file', '284'); -INSERT INTO cp_node VALUES ('7442', 'file', '284'); -INSERT INTO cp_node VALUES ('7443', 'file', '284'); -INSERT INTO cp_node VALUES ('7444', 'file', '284'); -INSERT INTO cp_node VALUES ('7445', 'file', '284'); -INSERT INTO cp_node VALUES ('7446', 'file', '284'); -INSERT INTO cp_node VALUES ('7447', 'file', '284'); -INSERT INTO cp_node VALUES ('7448', 'file', '284'); -INSERT INTO cp_node VALUES ('7449', 'file', '284'); -INSERT INTO cp_node VALUES ('7450', 'file', '284'); -INSERT INTO cp_node VALUES ('7451', 'file', '284'); -INSERT INTO cp_node VALUES ('7452', 'file', '284'); -INSERT INTO cp_node VALUES ('7453', 'file', '284'); -INSERT INTO cp_node VALUES ('7454', 'file', '284'); -INSERT INTO cp_node VALUES ('7455', 'file', '284'); -INSERT INTO cp_node VALUES ('7456', 'file', '284'); -INSERT INTO cp_node VALUES ('7457', 'file', '284'); -INSERT INTO cp_node VALUES ('7458', 'file', '284'); -INSERT INTO cp_node VALUES ('7459', 'file', '284'); -INSERT INTO cp_node VALUES ('7460', 'file', '284'); -INSERT INTO cp_node VALUES ('7461', 'file', '284'); -INSERT INTO cp_node VALUES ('7462', 'file', '284'); -INSERT INTO cp_node VALUES ('7463', 'file', '284'); -INSERT INTO cp_node VALUES ('7464', 'file', '284'); -INSERT INTO cp_node VALUES ('7465', 'file', '284'); -INSERT INTO cp_node VALUES ('7466', 'file', '284'); -INSERT INTO cp_node VALUES ('7467', 'file', '284'); -INSERT INTO cp_node VALUES ('7468', 'file', '284'); -INSERT INTO cp_node VALUES ('7469', 'file', '284'); -INSERT INTO cp_node VALUES ('7470', 'file', '284'); -INSERT INTO cp_node VALUES ('7471', 'file', '284'); -INSERT INTO cp_node VALUES ('7472', 'file', '284'); -INSERT INTO cp_node VALUES ('7473', 'file', '284'); -INSERT INTO cp_node VALUES ('7474', 'file', '284'); -INSERT INTO cp_node VALUES ('7475', 'file', '284'); -INSERT INTO cp_node VALUES ('7476', 'file', '284'); -INSERT INTO cp_node VALUES ('7477', 'file', '284'); -INSERT INTO cp_node VALUES ('7478', 'file', '284'); -INSERT INTO cp_node VALUES ('7479', 'file', '284'); -INSERT INTO cp_node VALUES ('7480', 'file', '284'); -INSERT INTO cp_node VALUES ('7481', 'file', '284'); -INSERT INTO cp_node VALUES ('7482', 'file', '284'); -INSERT INTO cp_node VALUES ('7483', 'file', '284'); -INSERT INTO cp_node VALUES ('7484', 'file', '284'); -INSERT INTO cp_node VALUES ('7485', 'file', '284'); -INSERT INTO cp_node VALUES ('7486', 'file', '284'); -INSERT INTO cp_node VALUES ('7487', 'file', '284'); -INSERT INTO cp_node VALUES ('7488', 'file', '284'); -INSERT INTO cp_node VALUES ('7489', 'file', '284'); -INSERT INTO cp_node VALUES ('7490', 'file', '284'); -INSERT INTO cp_node VALUES ('7491', 'file', '284'); -INSERT INTO cp_node VALUES ('7492', 'file', '284'); -INSERT INTO cp_node VALUES ('7493', 'file', '284'); -INSERT INTO cp_node VALUES ('7494', 'file', '284'); -INSERT INTO cp_node VALUES ('7495', 'resource', '284'); -INSERT INTO cp_node VALUES ('7496', 'file', '284'); -INSERT INTO cp_node VALUES ('7497', 'file', '284'); -INSERT INTO cp_node VALUES ('7498', 'file', '284'); -INSERT INTO cp_node VALUES ('7499', 'resource', '284'); -INSERT INTO cp_node VALUES ('7500', 'file', '284'); -INSERT INTO cp_node VALUES ('7501', 'file', '284'); -INSERT INTO cp_node VALUES ('7502', 'file', '284'); -INSERT INTO cp_node VALUES ('7503', 'file', '284'); -INSERT INTO cp_node VALUES ('7504', 'file', '284'); -INSERT INTO cp_node VALUES ('7505', 'file', '284'); -INSERT INTO cp_node VALUES ('7506', 'file', '284'); -INSERT INTO cp_node VALUES ('7507', 'file', '284'); -INSERT INTO cp_node VALUES ('7508', 'resource', '284'); -INSERT INTO cp_node VALUES ('7509', 'file', '284'); -INSERT INTO cp_node VALUES ('7510', 'resource', '284'); -INSERT INTO cp_node VALUES ('7511', 'file', '284'); -INSERT INTO cp_node VALUES ('7512', 'file', '284'); -INSERT INTO cp_node VALUES ('7513', 'file', '284'); -INSERT INTO cp_node VALUES ('7514', 'file', '284'); -INSERT INTO cp_node VALUES ('7515', 'file', '284'); -INSERT INTO cp_node VALUES ('7516', 'file', '284'); -INSERT INTO cp_node VALUES ('7517', 'file', '284'); -INSERT INTO cp_node VALUES ('7518', 'file', '284'); -INSERT INTO cp_node VALUES ('7519', 'file', '284'); -INSERT INTO cp_node VALUES ('7520', 'file', '284'); -INSERT INTO cp_node VALUES ('7521', 'file', '284'); -INSERT INTO cp_node VALUES ('7522', 'file', '284'); -INSERT INTO cp_node VALUES ('7523', 'file', '284'); -INSERT INTO cp_node VALUES ('7524', 'file', '284'); -INSERT INTO cp_node VALUES ('7525', 'file', '284'); -INSERT INTO cp_node VALUES ('7526', 'file', '284'); -INSERT INTO cp_node VALUES ('7527', 'file', '284'); -INSERT INTO cp_node VALUES ('7528', 'file', '284'); -INSERT INTO cp_node VALUES ('7529', 'file', '284'); -INSERT INTO cp_node VALUES ('7530', 'file', '284'); -INSERT INTO cp_node VALUES ('7531', 'file', '284'); -INSERT INTO cp_node VALUES ('7532', 'file', '284'); -INSERT INTO cp_node VALUES ('7533', 'file', '284'); -INSERT INTO cp_node VALUES ('7534', 'file', '284'); -INSERT INTO cp_node VALUES ('7535', 'file', '284'); -INSERT INTO cp_node VALUES ('7536', 'file', '284'); -INSERT INTO cp_node VALUES ('7537', 'file', '284'); -INSERT INTO cp_node VALUES ('7538', 'file', '284'); -INSERT INTO cp_node VALUES ('7539', 'file', '284'); -INSERT INTO cp_node VALUES ('7540', 'file', '284'); -INSERT INTO cp_node VALUES ('7541', 'file', '284'); -INSERT INTO cp_node VALUES ('7542', 'file', '284'); -INSERT INTO cp_node VALUES ('7543', 'file', '284'); -INSERT INTO cp_node VALUES ('7544', 'file', '284'); -INSERT INTO cp_node VALUES ('7545', 'file', '284'); -INSERT INTO cp_node VALUES ('7546', 'file', '284'); -INSERT INTO cp_node VALUES ('7547', 'file', '284'); -INSERT INTO cp_node VALUES ('7548', 'file', '284'); -INSERT INTO cp_node VALUES ('7549', 'file', '284'); -INSERT INTO cp_node VALUES ('7550', 'file', '284'); -INSERT INTO cp_node VALUES ('7551', 'file', '284'); -INSERT INTO cp_node VALUES ('7552', 'file', '284'); -INSERT INTO cp_node VALUES ('7553', 'file', '284'); -INSERT INTO cp_node VALUES ('7554', 'file', '284'); -INSERT INTO cp_node VALUES ('7555', 'file', '284'); -INSERT INTO cp_node VALUES ('7556', 'file', '284'); -INSERT INTO cp_node VALUES ('7557', 'file', '284'); -INSERT INTO cp_node VALUES ('7558', 'file', '284'); -INSERT INTO cp_node VALUES ('7559', 'file', '284'); -INSERT INTO cp_node VALUES ('7560', 'file', '284'); -INSERT INTO cp_node VALUES ('7561', 'file', '284'); -INSERT INTO cp_node VALUES ('7562', 'file', '284'); -INSERT INTO cp_node VALUES ('7563', 'file', '284'); -INSERT INTO cp_node VALUES ('7564', 'file', '284'); -INSERT INTO cp_node VALUES ('7565', 'file', '284'); -INSERT INTO cp_node VALUES ('7566', 'file', '284'); -INSERT INTO cp_node VALUES ('7567', 'file', '284'); -INSERT INTO cp_node VALUES ('7568', 'file', '284'); -INSERT INTO cp_node VALUES ('7569', 'file', '284'); -INSERT INTO cp_node VALUES ('7570', 'file', '284'); -INSERT INTO cp_node VALUES ('7571', 'file', '284'); -INSERT INTO cp_node VALUES ('7572', 'file', '284'); -INSERT INTO cp_node VALUES ('7573', 'file', '284'); -INSERT INTO cp_node VALUES ('7574', 'file', '284'); -INSERT INTO cp_node VALUES ('7575', 'file', '284'); -INSERT INTO cp_node VALUES ('7576', 'file', '284'); -INSERT INTO cp_node VALUES ('7577', 'file', '284'); -INSERT INTO cp_node VALUES ('7578', 'file', '284'); -INSERT INTO cp_node VALUES ('7579', 'resource', '284'); -INSERT INTO cp_node VALUES ('7580', 'file', '284'); -INSERT INTO cp_node VALUES ('7581', 'file', '284'); -INSERT INTO cp_node VALUES ('7582', 'file', '284'); -INSERT INTO cp_node VALUES ('7583', 'resource', '284'); -INSERT INTO cp_node VALUES ('7584', 'file', '284'); -INSERT INTO cp_node VALUES ('7585', 'file', '284'); -INSERT INTO cp_node VALUES ('7586', 'file', '284'); -INSERT INTO cp_node VALUES ('7587', 'file', '284'); -INSERT INTO cp_node VALUES ('7588', 'resource', '284'); -INSERT INTO cp_node VALUES ('7589', 'file', '284'); -INSERT INTO cp_node VALUES ('7590', 'resource', '284'); -INSERT INTO cp_node VALUES ('7591', 'file', '284'); -INSERT INTO cp_node VALUES ('7592', 'file', '284'); -INSERT INTO cp_node VALUES ('7593', 'file', '284'); -INSERT INTO cp_node VALUES ('7594', 'file', '284'); -INSERT INTO cp_node VALUES ('7595', 'file', '284'); -INSERT INTO cp_node VALUES ('7596', 'file', '284'); -INSERT INTO cp_node VALUES ('7597', 'file', '284'); -INSERT INTO cp_node VALUES ('7598', 'file', '284'); -INSERT INTO cp_node VALUES ('7599', 'file', '284'); -INSERT INTO cp_node VALUES ('7600', 'file', '284'); -INSERT INTO cp_node VALUES ('7601', 'file', '284'); -INSERT INTO cp_node VALUES ('7602', 'file', '284'); -INSERT INTO cp_node VALUES ('7603', 'file', '284'); -INSERT INTO cp_node VALUES ('7604', 'file', '284'); -INSERT INTO cp_node VALUES ('7605', 'file', '284'); -INSERT INTO cp_node VALUES ('7606', 'file', '284'); -INSERT INTO cp_node VALUES ('7607', 'file', '284'); -INSERT INTO cp_node VALUES ('7608', 'file', '284'); -INSERT INTO cp_node VALUES ('7609', 'file', '284'); -INSERT INTO cp_node VALUES ('7610', 'file', '284'); -INSERT INTO cp_node VALUES ('7611', 'file', '284'); -INSERT INTO cp_node VALUES ('7612', 'file', '284'); -INSERT INTO cp_node VALUES ('7613', 'file', '284'); -INSERT INTO cp_node VALUES ('7614', 'file', '284'); -INSERT INTO cp_node VALUES ('7615', 'file', '284'); -INSERT INTO cp_node VALUES ('7616', 'file', '284'); -INSERT INTO cp_node VALUES ('7617', 'file', '284'); -INSERT INTO cp_node VALUES ('7618', 'file', '284'); -INSERT INTO cp_node VALUES ('7619', 'file', '284'); -INSERT INTO cp_node VALUES ('7620', 'file', '284'); -INSERT INTO cp_node VALUES ('7621', 'file', '284'); -INSERT INTO cp_node VALUES ('7622', 'file', '284'); -INSERT INTO cp_node VALUES ('7623', 'file', '284'); -INSERT INTO cp_node VALUES ('7624', 'file', '284'); -INSERT INTO cp_node VALUES ('7625', 'file', '284'); -INSERT INTO cp_node VALUES ('7626', 'file', '284'); -INSERT INTO cp_node VALUES ('7627', 'file', '284'); -INSERT INTO cp_node VALUES ('7628', 'file', '284'); -INSERT INTO cp_node VALUES ('7629', 'file', '284'); -INSERT INTO cp_node VALUES ('7630', 'file', '284'); -INSERT INTO cp_node VALUES ('7631', 'file', '284'); -INSERT INTO cp_node VALUES ('7632', 'file', '284'); -INSERT INTO cp_node VALUES ('7633', 'file', '284'); -INSERT INTO cp_node VALUES ('7634', 'file', '284'); -INSERT INTO cp_node VALUES ('7635', 'file', '284'); -INSERT INTO cp_node VALUES ('7636', 'file', '284'); -INSERT INTO cp_node VALUES ('7637', 'file', '284'); -INSERT INTO cp_node VALUES ('7638', 'file', '284'); -INSERT INTO cp_node VALUES ('7639', 'file', '284'); -INSERT INTO cp_node VALUES ('7640', 'file', '284'); -INSERT INTO cp_node VALUES ('7641', 'file', '284'); -INSERT INTO cp_node VALUES ('7642', 'file', '284'); -INSERT INTO cp_node VALUES ('7643', 'file', '284'); -INSERT INTO cp_node VALUES ('7644', 'file', '284'); -INSERT INTO cp_node VALUES ('7645', 'file', '284'); -INSERT INTO cp_node VALUES ('7646', 'file', '284'); -INSERT INTO cp_node VALUES ('7647', 'file', '284'); -INSERT INTO cp_node VALUES ('7648', 'file', '284'); -INSERT INTO cp_node VALUES ('7649', 'file', '284'); -INSERT INTO cp_node VALUES ('7650', 'file', '284'); -INSERT INTO cp_node VALUES ('7651', 'file', '284'); -INSERT INTO cp_node VALUES ('7652', 'file', '284'); -INSERT INTO cp_node VALUES ('7653', 'file', '284'); -INSERT INTO cp_node VALUES ('7654', 'file', '284'); -INSERT INTO cp_node VALUES ('7655', 'file', '284'); -INSERT INTO cp_node VALUES ('7656', 'file', '284'); -INSERT INTO cp_node VALUES ('7657', 'file', '284'); -INSERT INTO cp_node VALUES ('7658', 'file', '284'); -INSERT INTO cp_node VALUES ('7659', 'resource', '284'); -INSERT INTO cp_node VALUES ('7660', 'file', '284'); -INSERT INTO cp_node VALUES ('7661', 'file', '284'); -INSERT INTO cp_node VALUES ('7662', 'file', '284'); -INSERT INTO cp_node VALUES ('7663', 'file', '284'); -INSERT INTO cp_node VALUES ('7664', 'file', '284'); -INSERT INTO cp_node VALUES ('7665', 'file', '284'); -INSERT INTO cp_node VALUES ('7666', 'file', '284'); -INSERT INTO cp_node VALUES ('7667', 'file', '284'); -INSERT INTO cp_node VALUES ('7668', 'file', '284'); -INSERT INTO cp_node VALUES ('7669', 'file', '284'); -INSERT INTO cp_node VALUES ('7670', 'file', '284'); -INSERT INTO cp_node VALUES ('7671', 'file', '284'); -INSERT INTO cp_node VALUES ('7672', 'file', '284'); -INSERT INTO cp_node VALUES ('7673', 'file', '284'); -INSERT INTO cp_node VALUES ('7674', 'file', '284'); -INSERT INTO cp_node VALUES ('7675', 'file', '284'); -INSERT INTO cp_node VALUES ('7676', 'file', '284'); -INSERT INTO cp_node VALUES ('7677', 'manifest', '100'); -INSERT INTO cp_node VALUES ('7678', 'organization', '100'); -INSERT INTO cp_node VALUES ('7679', 'item', '100'); -INSERT INTO cp_node VALUES ('7680', 'item', '100'); -INSERT INTO cp_node VALUES ('7681', 'item', '100'); -INSERT INTO cp_node VALUES ('7682', 'item', '100'); -INSERT INTO cp_node VALUES ('7683', 'item', '100'); -INSERT INTO cp_node VALUES ('7684', 'item', '100'); -INSERT INTO cp_node VALUES ('7685', 'item', '100'); -INSERT INTO cp_node VALUES ('7686', 'item', '100'); -INSERT INTO cp_node VALUES ('7687', 'item', '100'); -INSERT INTO cp_node VALUES ('7688', 'item', '100'); -INSERT INTO cp_node VALUES ('7689', 'item', '100'); -INSERT INTO cp_node VALUES ('7690', 'resource', '100'); -INSERT INTO cp_node VALUES ('7691', 'resource', '100'); -INSERT INTO cp_node VALUES ('7692', 'manifest', '100'); -INSERT INTO cp_node VALUES ('7693', 'organization', '100'); -INSERT INTO cp_node VALUES ('7694', 'item', '100'); -INSERT INTO cp_node VALUES ('7695', 'item', '100'); -INSERT INTO cp_node VALUES ('7696', 'item', '100'); -INSERT INTO cp_node VALUES ('7697', 'item', '100'); -INSERT INTO cp_node VALUES ('7698', 'item', '100'); -INSERT INTO cp_node VALUES ('7699', 'item', '100'); -INSERT INTO cp_node VALUES ('7700', 'item', '100'); -INSERT INTO cp_node VALUES ('7701', 'item', '100'); -INSERT INTO cp_node VALUES ('7702', 'resource', '100'); -INSERT INTO cp_node VALUES ('7703', 'dependency', '100'); -INSERT INTO cp_node VALUES ('7704', 'dependency', '100'); -INSERT INTO cp_node VALUES ('7705', 'dependency', '100'); -INSERT INTO cp_node VALUES ('7706', 'dependency', '100'); -INSERT INTO cp_node VALUES ('7707', 'resource', '100'); -INSERT INTO cp_node VALUES ('7708', 'dependency', '100'); -INSERT INTO cp_node VALUES ('7709', 'dependency', '100'); -INSERT INTO cp_node VALUES ('7710', 'dependency', '100'); -INSERT INTO cp_node VALUES ('7711', 'dependency', '100'); -INSERT INTO cp_node VALUES ('7712', 'resource', '100'); -INSERT INTO cp_node VALUES ('7713', 'dependency', '100'); -INSERT INTO cp_node VALUES ('7714', 'dependency', '100'); -INSERT INTO cp_node VALUES ('7715', 'dependency', '100'); -INSERT INTO cp_node VALUES ('7716', 'dependency', '100'); -INSERT INTO cp_node VALUES ('7717', 'resource', '100'); -INSERT INTO cp_node VALUES ('7718', 'dependency', '100'); -INSERT INTO cp_node VALUES ('7719', 'dependency', '100'); -INSERT INTO cp_node VALUES ('7720', 'dependency', '100'); -INSERT INTO cp_node VALUES ('7721', 'dependency', '100'); -INSERT INTO cp_node VALUES ('7722', 'resource', '100'); -INSERT INTO cp_node VALUES ('7723', 'dependency', '100'); -INSERT INTO cp_node VALUES ('7724', 'dependency', '100'); -INSERT INTO cp_node VALUES ('7725', 'dependency', '100'); -INSERT INTO cp_node VALUES ('7726', 'dependency', '100'); -INSERT INTO cp_node VALUES ('7727', 'resource', '100'); -INSERT INTO cp_node VALUES ('7728', 'dependency', '100'); -INSERT INTO cp_node VALUES ('7729', 'dependency', '100'); -INSERT INTO cp_node VALUES ('7730', 'dependency', '100'); -INSERT INTO cp_node VALUES ('7731', 'dependency', '100'); -INSERT INTO cp_node VALUES ('7732', 'resource', '100'); -INSERT INTO cp_node VALUES ('7733', 'dependency', '100'); -INSERT INTO cp_node VALUES ('7734', 'dependency', '100'); -INSERT INTO cp_node VALUES ('7735', 'dependency', '100'); -INSERT INTO cp_node VALUES ('7736', 'dependency', '100'); -INSERT INTO cp_node VALUES ('7737', 'resource', '100'); -INSERT INTO cp_node VALUES ('7738', 'file', '100'); -INSERT INTO cp_node VALUES ('7739', 'file', '100'); -INSERT INTO cp_node VALUES ('7740', 'file', '100'); -INSERT INTO cp_node VALUES ('7741', 'resource', '100'); -INSERT INTO cp_node VALUES ('7742', 'file', '100'); -INSERT INTO cp_node VALUES ('7743', 'file', '100'); -INSERT INTO cp_node VALUES ('7744', 'file', '100'); -INSERT INTO cp_node VALUES ('7745', 'file', '100'); -INSERT INTO cp_node VALUES ('7746', 'file', '100'); -INSERT INTO cp_node VALUES ('7747', 'file', '100'); -INSERT INTO cp_node VALUES ('7748', 'file', '100'); -INSERT INTO cp_node VALUES ('7749', 'file', '100'); -INSERT INTO cp_node VALUES ('7750', 'file', '100'); -INSERT INTO cp_node VALUES ('7751', 'file', '100'); -INSERT INTO cp_node VALUES ('7752', 'file', '100'); -INSERT INTO cp_node VALUES ('7753', 'resource', '100'); -INSERT INTO cp_node VALUES ('7754', 'file', '100'); -INSERT INTO cp_node VALUES ('7755', 'resource', '100'); -INSERT INTO cp_node VALUES ('7756', 'file', '100'); -INSERT INTO cp_node VALUES ('7757', 'file', '100'); -INSERT INTO cp_node VALUES ('7758', 'file', '100'); -INSERT INTO cp_node VALUES ('7759', 'file', '100'); -INSERT INTO cp_node VALUES ('7760', 'file', '100'); -INSERT INTO cp_node VALUES ('7761', 'file', '100'); -INSERT INTO cp_node VALUES ('7762', 'file', '100'); -INSERT INTO cp_node VALUES ('7763', 'file', '100'); -INSERT INTO cp_node VALUES ('7764', 'file', '100'); -INSERT INTO cp_node VALUES ('7765', 'file', '100'); -INSERT INTO cp_node VALUES ('7766', 'file', '100'); -INSERT INTO cp_node VALUES ('7767', 'file', '100'); -INSERT INTO cp_node VALUES ('7768', 'file', '100'); -INSERT INTO cp_node VALUES ('7769', 'file', '100'); -INSERT INTO cp_node VALUES ('7770', 'file', '100'); -INSERT INTO cp_node VALUES ('7771', 'file', '100'); -INSERT INTO cp_node VALUES ('7772', 'file', '100'); -INSERT INTO cp_node VALUES ('7773', 'file', '100'); -INSERT INTO cp_node VALUES ('7774', 'file', '100'); -INSERT INTO cp_node VALUES ('7775', 'file', '100'); -INSERT INTO cp_node VALUES ('7776', 'file', '100'); -INSERT INTO cp_node VALUES ('7777', 'file', '100'); -INSERT INTO cp_node VALUES ('7778', 'file', '100'); -INSERT INTO cp_node VALUES ('7779', 'file', '100'); -INSERT INTO cp_node VALUES ('7780', 'file', '100'); -INSERT INTO cp_node VALUES ('7781', 'file', '100'); -INSERT INTO cp_node VALUES ('7782', 'file', '100'); -INSERT INTO cp_node VALUES ('7783', 'file', '100'); -INSERT INTO cp_node VALUES ('7784', 'file', '100'); -INSERT INTO cp_node VALUES ('7785', 'file', '100'); -INSERT INTO cp_node VALUES ('7786', 'file', '100'); -INSERT INTO cp_node VALUES ('7787', 'file', '100'); -INSERT INTO cp_node VALUES ('7788', 'file', '100'); -INSERT INTO cp_node VALUES ('7789', 'file', '100'); -INSERT INTO cp_node VALUES ('7790', 'file', '100'); -INSERT INTO cp_node VALUES ('7791', 'file', '100'); -INSERT INTO cp_node VALUES ('7792', 'file', '100'); -INSERT INTO cp_node VALUES ('7793', 'file', '100'); -INSERT INTO cp_node VALUES ('7794', 'file', '100'); -INSERT INTO cp_node VALUES ('7795', 'file', '100'); -INSERT INTO cp_node VALUES ('7796', 'file', '100'); -INSERT INTO cp_node VALUES ('7797', 'file', '100'); -INSERT INTO cp_node VALUES ('7798', 'file', '100'); -INSERT INTO cp_node VALUES ('7799', 'file', '100'); -INSERT INTO cp_node VALUES ('7800', 'file', '100'); -INSERT INTO cp_node VALUES ('7801', 'file', '100'); -INSERT INTO cp_node VALUES ('7802', 'file', '100'); -INSERT INTO cp_node VALUES ('7803', 'file', '100'); -INSERT INTO cp_node VALUES ('7804', 'file', '100'); -INSERT INTO cp_node VALUES ('7805', 'file', '100'); -INSERT INTO cp_node VALUES ('7806', 'file', '100'); -INSERT INTO cp_node VALUES ('7807', 'file', '100'); -INSERT INTO cp_node VALUES ('7808', 'file', '100'); -INSERT INTO cp_node VALUES ('7809', 'file', '100'); -INSERT INTO cp_node VALUES ('7810', 'file', '100'); -INSERT INTO cp_node VALUES ('7811', 'file', '100'); -INSERT INTO cp_node VALUES ('7812', 'file', '100'); -INSERT INTO cp_node VALUES ('7813', 'file', '100'); -INSERT INTO cp_node VALUES ('7814', 'file', '100'); -INSERT INTO cp_node VALUES ('7815', 'file', '100'); -INSERT INTO cp_node VALUES ('7816', 'file', '100'); -INSERT INTO cp_node VALUES ('7817', 'file', '100'); -INSERT INTO cp_node VALUES ('7818', 'file', '100'); -INSERT INTO cp_node VALUES ('7819', 'file', '100'); -INSERT INTO cp_node VALUES ('7820', 'file', '100'); -INSERT INTO cp_node VALUES ('7821', 'file', '100'); -INSERT INTO cp_node VALUES ('7822', 'file', '100'); -INSERT INTO cp_node VALUES ('7823', 'file', '100'); -INSERT INTO cp_node VALUES ('7824', 'resource', '100'); -INSERT INTO cp_node VALUES ('7825', 'file', '100'); -INSERT INTO cp_node VALUES ('7826', 'file', '100'); -INSERT INTO cp_node VALUES ('7827', 'file', '100'); -INSERT INTO cp_node VALUES ('7828', 'resource', '100'); -INSERT INTO cp_node VALUES ('7829', 'file', '100'); -INSERT INTO cp_node VALUES ('7830', 'file', '100'); -INSERT INTO cp_node VALUES ('7831', 'file', '100'); -INSERT INTO cp_node VALUES ('7832', 'file', '100'); -INSERT INTO cp_node VALUES ('7833', 'file', '100'); -INSERT INTO cp_node VALUES ('7834', 'file', '100'); -INSERT INTO cp_node VALUES ('7835', 'resource', '100'); -INSERT INTO cp_node VALUES ('7836', 'file', '100'); -INSERT INTO cp_node VALUES ('7837', 'resource', '100'); -INSERT INTO cp_node VALUES ('7838', 'file', '100'); -INSERT INTO cp_node VALUES ('7839', 'file', '100'); -INSERT INTO cp_node VALUES ('7840', 'file', '100'); -INSERT INTO cp_node VALUES ('7841', 'file', '100'); -INSERT INTO cp_node VALUES ('7842', 'file', '100'); -INSERT INTO cp_node VALUES ('7843', 'file', '100'); -INSERT INTO cp_node VALUES ('7844', 'file', '100'); -INSERT INTO cp_node VALUES ('7845', 'file', '100'); -INSERT INTO cp_node VALUES ('7846', 'file', '100'); -INSERT INTO cp_node VALUES ('7847', 'file', '100'); -INSERT INTO cp_node VALUES ('7848', 'file', '100'); -INSERT INTO cp_node VALUES ('7849', 'file', '100'); -INSERT INTO cp_node VALUES ('7850', 'file', '100'); -INSERT INTO cp_node VALUES ('7851', 'file', '100'); -INSERT INTO cp_node VALUES ('7852', 'file', '100'); -INSERT INTO cp_node VALUES ('7853', 'file', '100'); -INSERT INTO cp_node VALUES ('7854', 'file', '100'); -INSERT INTO cp_node VALUES ('7855', 'file', '100'); -INSERT INTO cp_node VALUES ('7856', 'file', '100'); -INSERT INTO cp_node VALUES ('7857', 'file', '100'); -INSERT INTO cp_node VALUES ('7858', 'file', '100'); -INSERT INTO cp_node VALUES ('7859', 'file', '100'); -INSERT INTO cp_node VALUES ('7860', 'file', '100'); -INSERT INTO cp_node VALUES ('7861', 'file', '100'); -INSERT INTO cp_node VALUES ('7862', 'file', '100'); -INSERT INTO cp_node VALUES ('7863', 'file', '100'); -INSERT INTO cp_node VALUES ('7864', 'file', '100'); -INSERT INTO cp_node VALUES ('7865', 'file', '100'); -INSERT INTO cp_node VALUES ('7866', 'file', '100'); -INSERT INTO cp_node VALUES ('7867', 'file', '100'); -INSERT INTO cp_node VALUES ('7868', 'file', '100'); -INSERT INTO cp_node VALUES ('7869', 'file', '100'); -INSERT INTO cp_node VALUES ('7870', 'file', '100'); -INSERT INTO cp_node VALUES ('7871', 'file', '100'); -INSERT INTO cp_node VALUES ('7872', 'file', '100'); -INSERT INTO cp_node VALUES ('7873', 'file', '100'); -INSERT INTO cp_node VALUES ('7874', 'file', '100'); -INSERT INTO cp_node VALUES ('7875', 'file', '100'); -INSERT INTO cp_node VALUES ('7876', 'file', '100'); -INSERT INTO cp_node VALUES ('7877', 'file', '100'); -INSERT INTO cp_node VALUES ('7878', 'file', '100'); -INSERT INTO cp_node VALUES ('7879', 'file', '100'); -INSERT INTO cp_node VALUES ('7880', 'file', '100'); -INSERT INTO cp_node VALUES ('7881', 'file', '100'); -INSERT INTO cp_node VALUES ('7882', 'file', '100'); -INSERT INTO cp_node VALUES ('7883', 'file', '100'); -INSERT INTO cp_node VALUES ('7884', 'file', '100'); -INSERT INTO cp_node VALUES ('7885', 'file', '100'); -INSERT INTO cp_node VALUES ('7886', 'file', '100'); -INSERT INTO cp_node VALUES ('7887', 'file', '100'); -INSERT INTO cp_node VALUES ('7888', 'file', '100'); -INSERT INTO cp_node VALUES ('7889', 'file', '100'); -INSERT INTO cp_node VALUES ('7890', 'file', '100'); -INSERT INTO cp_node VALUES ('7891', 'file', '100'); -INSERT INTO cp_node VALUES ('7892', 'file', '100'); -INSERT INTO cp_node VALUES ('7893', 'file', '100'); -INSERT INTO cp_node VALUES ('7894', 'file', '100'); -INSERT INTO cp_node VALUES ('7895', 'file', '100'); -INSERT INTO cp_node VALUES ('7896', 'file', '100'); -INSERT INTO cp_node VALUES ('7897', 'file', '100'); -INSERT INTO cp_node VALUES ('7898', 'file', '100'); -INSERT INTO cp_node VALUES ('7899', 'file', '100'); -INSERT INTO cp_node VALUES ('7900', 'file', '100'); -INSERT INTO cp_node VALUES ('7901', 'file', '100'); -INSERT INTO cp_node VALUES ('7902', 'file', '100'); -INSERT INTO cp_node VALUES ('7903', 'file', '100'); -INSERT INTO cp_node VALUES ('7904', 'file', '100'); -INSERT INTO cp_node VALUES ('7905', 'file', '100'); -INSERT INTO cp_node VALUES ('7906', 'resource', '100'); -INSERT INTO cp_node VALUES ('7907', 'file', '100'); -INSERT INTO cp_node VALUES ('7908', 'file', '100'); -INSERT INTO cp_node VALUES ('7909', 'file', '100'); -INSERT INTO cp_node VALUES ('7910', 'resource', '100'); -INSERT INTO cp_node VALUES ('7911', 'file', '100'); -INSERT INTO cp_node VALUES ('7912', 'file', '100'); -INSERT INTO cp_node VALUES ('7913', 'file', '100'); -INSERT INTO cp_node VALUES ('7914', 'file', '100'); -INSERT INTO cp_node VALUES ('7915', 'file', '100'); -INSERT INTO cp_node VALUES ('7916', 'file', '100'); -INSERT INTO cp_node VALUES ('7917', 'resource', '100'); -INSERT INTO cp_node VALUES ('7918', 'file', '100'); -INSERT INTO cp_node VALUES ('7919', 'resource', '100'); -INSERT INTO cp_node VALUES ('7920', 'file', '100'); -INSERT INTO cp_node VALUES ('7921', 'file', '100'); -INSERT INTO cp_node VALUES ('7922', 'file', '100'); -INSERT INTO cp_node VALUES ('7923', 'file', '100'); -INSERT INTO cp_node VALUES ('7924', 'file', '100'); -INSERT INTO cp_node VALUES ('7925', 'file', '100'); -INSERT INTO cp_node VALUES ('7926', 'file', '100'); -INSERT INTO cp_node VALUES ('7927', 'file', '100'); -INSERT INTO cp_node VALUES ('7928', 'file', '100'); -INSERT INTO cp_node VALUES ('7929', 'file', '100'); -INSERT INTO cp_node VALUES ('7930', 'file', '100'); -INSERT INTO cp_node VALUES ('7931', 'file', '100'); -INSERT INTO cp_node VALUES ('7932', 'file', '100'); -INSERT INTO cp_node VALUES ('7933', 'file', '100'); -INSERT INTO cp_node VALUES ('7934', 'file', '100'); -INSERT INTO cp_node VALUES ('7935', 'file', '100'); -INSERT INTO cp_node VALUES ('7936', 'file', '100'); -INSERT INTO cp_node VALUES ('7937', 'file', '100'); -INSERT INTO cp_node VALUES ('7938', 'file', '100'); -INSERT INTO cp_node VALUES ('7939', 'file', '100'); -INSERT INTO cp_node VALUES ('7940', 'file', '100'); -INSERT INTO cp_node VALUES ('7941', 'file', '100'); -INSERT INTO cp_node VALUES ('7942', 'file', '100'); -INSERT INTO cp_node VALUES ('7943', 'file', '100'); -INSERT INTO cp_node VALUES ('7944', 'file', '100'); -INSERT INTO cp_node VALUES ('7945', 'file', '100'); -INSERT INTO cp_node VALUES ('7946', 'file', '100'); -INSERT INTO cp_node VALUES ('7947', 'file', '100'); -INSERT INTO cp_node VALUES ('7948', 'file', '100'); -INSERT INTO cp_node VALUES ('7949', 'file', '100'); -INSERT INTO cp_node VALUES ('7950', 'file', '100'); -INSERT INTO cp_node VALUES ('7951', 'file', '100'); -INSERT INTO cp_node VALUES ('7952', 'file', '100'); -INSERT INTO cp_node VALUES ('7953', 'file', '100'); -INSERT INTO cp_node VALUES ('7954', 'file', '100'); -INSERT INTO cp_node VALUES ('7955', 'file', '100'); -INSERT INTO cp_node VALUES ('7956', 'file', '100'); -INSERT INTO cp_node VALUES ('7957', 'file', '100'); -INSERT INTO cp_node VALUES ('7958', 'file', '100'); -INSERT INTO cp_node VALUES ('7959', 'file', '100'); -INSERT INTO cp_node VALUES ('7960', 'file', '100'); -INSERT INTO cp_node VALUES ('7961', 'file', '100'); -INSERT INTO cp_node VALUES ('7962', 'file', '100'); -INSERT INTO cp_node VALUES ('7963', 'file', '100'); -INSERT INTO cp_node VALUES ('7964', 'file', '100'); -INSERT INTO cp_node VALUES ('7965', 'file', '100'); -INSERT INTO cp_node VALUES ('7966', 'file', '100'); -INSERT INTO cp_node VALUES ('7967', 'file', '100'); -INSERT INTO cp_node VALUES ('7968', 'file', '100'); -INSERT INTO cp_node VALUES ('7969', 'file', '100'); -INSERT INTO cp_node VALUES ('7970', 'file', '100'); -INSERT INTO cp_node VALUES ('7971', 'file', '100'); -INSERT INTO cp_node VALUES ('7972', 'file', '100'); -INSERT INTO cp_node VALUES ('7973', 'file', '100'); -INSERT INTO cp_node VALUES ('7974', 'file', '100'); -INSERT INTO cp_node VALUES ('7975', 'file', '100'); -INSERT INTO cp_node VALUES ('7976', 'file', '100'); -INSERT INTO cp_node VALUES ('7977', 'file', '100'); -INSERT INTO cp_node VALUES ('7978', 'file', '100'); -INSERT INTO cp_node VALUES ('7979', 'file', '100'); -INSERT INTO cp_node VALUES ('7980', 'file', '100'); -INSERT INTO cp_node VALUES ('7981', 'file', '100'); -INSERT INTO cp_node VALUES ('7982', 'file', '100'); -INSERT INTO cp_node VALUES ('7983', 'file', '100'); -INSERT INTO cp_node VALUES ('7984', 'file', '100'); -INSERT INTO cp_node VALUES ('7985', 'file', '100'); -INSERT INTO cp_node VALUES ('7986', 'file', '100'); -INSERT INTO cp_node VALUES ('7987', 'file', '100'); -INSERT INTO cp_node VALUES ('7988', 'resource', '100'); -INSERT INTO cp_node VALUES ('7989', 'file', '100'); -INSERT INTO cp_node VALUES ('7990', 'file', '100'); -INSERT INTO cp_node VALUES ('7991', 'file', '100'); -INSERT INTO cp_node VALUES ('7992', 'resource', '100'); -INSERT INTO cp_node VALUES ('7993', 'file', '100'); -INSERT INTO cp_node VALUES ('7994', 'file', '100'); -INSERT INTO cp_node VALUES ('7995', 'file', '100'); -INSERT INTO cp_node VALUES ('7996', 'file', '100'); -INSERT INTO cp_node VALUES ('7997', 'resource', '100'); -INSERT INTO cp_node VALUES ('7998', 'file', '100'); -INSERT INTO cp_node VALUES ('7999', 'resource', '100'); -INSERT INTO cp_node VALUES ('8000', 'file', '100'); -INSERT INTO cp_node VALUES ('8001', 'file', '100'); -INSERT INTO cp_node VALUES ('8002', 'file', '100'); -INSERT INTO cp_node VALUES ('8003', 'file', '100'); -INSERT INTO cp_node VALUES ('8004', 'file', '100'); -INSERT INTO cp_node VALUES ('8005', 'file', '100'); -INSERT INTO cp_node VALUES ('8006', 'file', '100'); -INSERT INTO cp_node VALUES ('8007', 'file', '100'); -INSERT INTO cp_node VALUES ('8008', 'file', '100'); -INSERT INTO cp_node VALUES ('8009', 'file', '100'); -INSERT INTO cp_node VALUES ('8010', 'file', '100'); -INSERT INTO cp_node VALUES ('8011', 'file', '100'); -INSERT INTO cp_node VALUES ('8012', 'file', '100'); -INSERT INTO cp_node VALUES ('8013', 'file', '100'); -INSERT INTO cp_node VALUES ('8014', 'file', '100'); -INSERT INTO cp_node VALUES ('8015', 'file', '100'); -INSERT INTO cp_node VALUES ('8016', 'file', '100'); -INSERT INTO cp_node VALUES ('8017', 'file', '100'); -INSERT INTO cp_node VALUES ('8018', 'file', '100'); -INSERT INTO cp_node VALUES ('8019', 'file', '100'); -INSERT INTO cp_node VALUES ('8020', 'file', '100'); -INSERT INTO cp_node VALUES ('8021', 'file', '100'); -INSERT INTO cp_node VALUES ('8022', 'file', '100'); -INSERT INTO cp_node VALUES ('8023', 'file', '100'); -INSERT INTO cp_node VALUES ('8024', 'file', '100'); -INSERT INTO cp_node VALUES ('8025', 'file', '100'); -INSERT INTO cp_node VALUES ('8026', 'file', '100'); -INSERT INTO cp_node VALUES ('8027', 'file', '100'); -INSERT INTO cp_node VALUES ('8028', 'file', '100'); -INSERT INTO cp_node VALUES ('8029', 'file', '100'); -INSERT INTO cp_node VALUES ('8030', 'file', '100'); -INSERT INTO cp_node VALUES ('8031', 'file', '100'); -INSERT INTO cp_node VALUES ('8032', 'file', '100'); -INSERT INTO cp_node VALUES ('8033', 'file', '100'); -INSERT INTO cp_node VALUES ('8034', 'file', '100'); -INSERT INTO cp_node VALUES ('8035', 'file', '100'); -INSERT INTO cp_node VALUES ('8036', 'file', '100'); -INSERT INTO cp_node VALUES ('8037', 'file', '100'); -INSERT INTO cp_node VALUES ('8038', 'file', '100'); -INSERT INTO cp_node VALUES ('8039', 'file', '100'); -INSERT INTO cp_node VALUES ('8040', 'file', '100'); -INSERT INTO cp_node VALUES ('8041', 'file', '100'); -INSERT INTO cp_node VALUES ('8042', 'file', '100'); -INSERT INTO cp_node VALUES ('8043', 'file', '100'); -INSERT INTO cp_node VALUES ('8044', 'file', '100'); -INSERT INTO cp_node VALUES ('8045', 'file', '100'); -INSERT INTO cp_node VALUES ('8046', 'file', '100'); -INSERT INTO cp_node VALUES ('8047', 'file', '100'); -INSERT INTO cp_node VALUES ('8048', 'file', '100'); -INSERT INTO cp_node VALUES ('8049', 'file', '100'); -INSERT INTO cp_node VALUES ('8050', 'file', '100'); -INSERT INTO cp_node VALUES ('8051', 'file', '100'); -INSERT INTO cp_node VALUES ('8052', 'file', '100'); -INSERT INTO cp_node VALUES ('8053', 'file', '100'); -INSERT INTO cp_node VALUES ('8054', 'file', '100'); -INSERT INTO cp_node VALUES ('8055', 'file', '100'); -INSERT INTO cp_node VALUES ('8056', 'file', '100'); -INSERT INTO cp_node VALUES ('8057', 'file', '100'); -INSERT INTO cp_node VALUES ('8058', 'file', '100'); -INSERT INTO cp_node VALUES ('8059', 'file', '100'); -INSERT INTO cp_node VALUES ('8060', 'file', '100'); -INSERT INTO cp_node VALUES ('8061', 'file', '100'); -INSERT INTO cp_node VALUES ('8062', 'file', '100'); -INSERT INTO cp_node VALUES ('8063', 'file', '100'); -INSERT INTO cp_node VALUES ('8064', 'file', '100'); -INSERT INTO cp_node VALUES ('8065', 'file', '100'); -INSERT INTO cp_node VALUES ('8066', 'file', '100'); -INSERT INTO cp_node VALUES ('8067', 'file', '100'); -INSERT INTO cp_node VALUES ('8068', 'resource', '100'); -INSERT INTO cp_node VALUES ('8069', 'file', '100'); -INSERT INTO cp_node VALUES ('8070', 'file', '100'); -INSERT INTO cp_node VALUES ('8071', 'file', '100'); -INSERT INTO cp_node VALUES ('8072', 'resource', '100'); -INSERT INTO cp_node VALUES ('8073', 'file', '100'); -INSERT INTO cp_node VALUES ('8074', 'file', '100'); -INSERT INTO cp_node VALUES ('8075', 'file', '100'); -INSERT INTO cp_node VALUES ('8076', 'file', '100'); -INSERT INTO cp_node VALUES ('8077', 'file', '100'); -INSERT INTO cp_node VALUES ('8078', 'file', '100'); -INSERT INTO cp_node VALUES ('8079', 'file', '100'); -INSERT INTO cp_node VALUES ('8080', 'file', '100'); -INSERT INTO cp_node VALUES ('8081', 'file', '100'); -INSERT INTO cp_node VALUES ('8082', 'file', '100'); -INSERT INTO cp_node VALUES ('8083', 'file', '100'); -INSERT INTO cp_node VALUES ('8084', 'resource', '100'); -INSERT INTO cp_node VALUES ('8085', 'file', '100'); -INSERT INTO cp_node VALUES ('8086', 'resource', '100'); -INSERT INTO cp_node VALUES ('8087', 'file', '100'); -INSERT INTO cp_node VALUES ('8088', 'file', '100'); -INSERT INTO cp_node VALUES ('8089', 'file', '100'); -INSERT INTO cp_node VALUES ('8090', 'file', '100'); -INSERT INTO cp_node VALUES ('8091', 'file', '100'); -INSERT INTO cp_node VALUES ('8092', 'file', '100'); -INSERT INTO cp_node VALUES ('8093', 'file', '100'); -INSERT INTO cp_node VALUES ('8094', 'file', '100'); -INSERT INTO cp_node VALUES ('8095', 'file', '100'); -INSERT INTO cp_node VALUES ('8096', 'file', '100'); -INSERT INTO cp_node VALUES ('8097', 'file', '100'); -INSERT INTO cp_node VALUES ('8098', 'file', '100'); -INSERT INTO cp_node VALUES ('8099', 'file', '100'); -INSERT INTO cp_node VALUES ('8100', 'file', '100'); -INSERT INTO cp_node VALUES ('8101', 'file', '100'); -INSERT INTO cp_node VALUES ('8102', 'file', '100'); -INSERT INTO cp_node VALUES ('8103', 'file', '100'); -INSERT INTO cp_node VALUES ('8104', 'file', '100'); -INSERT INTO cp_node VALUES ('8105', 'file', '100'); -INSERT INTO cp_node VALUES ('8106', 'file', '100'); -INSERT INTO cp_node VALUES ('8107', 'file', '100'); -INSERT INTO cp_node VALUES ('8108', 'file', '100'); -INSERT INTO cp_node VALUES ('8109', 'file', '100'); -INSERT INTO cp_node VALUES ('8110', 'file', '100'); -INSERT INTO cp_node VALUES ('8111', 'file', '100'); -INSERT INTO cp_node VALUES ('8112', 'file', '100'); -INSERT INTO cp_node VALUES ('8113', 'file', '100'); -INSERT INTO cp_node VALUES ('8114', 'file', '100'); -INSERT INTO cp_node VALUES ('8115', 'file', '100'); -INSERT INTO cp_node VALUES ('8116', 'file', '100'); -INSERT INTO cp_node VALUES ('8117', 'file', '100'); -INSERT INTO cp_node VALUES ('8118', 'file', '100'); -INSERT INTO cp_node VALUES ('8119', 'file', '100'); -INSERT INTO cp_node VALUES ('8120', 'file', '100'); -INSERT INTO cp_node VALUES ('8121', 'file', '100'); -INSERT INTO cp_node VALUES ('8122', 'file', '100'); -INSERT INTO cp_node VALUES ('8123', 'file', '100'); -INSERT INTO cp_node VALUES ('8124', 'file', '100'); -INSERT INTO cp_node VALUES ('8125', 'file', '100'); -INSERT INTO cp_node VALUES ('8126', 'file', '100'); -INSERT INTO cp_node VALUES ('8127', 'file', '100'); -INSERT INTO cp_node VALUES ('8128', 'file', '100'); -INSERT INTO cp_node VALUES ('8129', 'file', '100'); -INSERT INTO cp_node VALUES ('8130', 'file', '100'); -INSERT INTO cp_node VALUES ('8131', 'file', '100'); -INSERT INTO cp_node VALUES ('8132', 'file', '100'); -INSERT INTO cp_node VALUES ('8133', 'file', '100'); -INSERT INTO cp_node VALUES ('8134', 'file', '100'); -INSERT INTO cp_node VALUES ('8135', 'file', '100'); -INSERT INTO cp_node VALUES ('8136', 'file', '100'); -INSERT INTO cp_node VALUES ('8137', 'file', '100'); -INSERT INTO cp_node VALUES ('8138', 'file', '100'); -INSERT INTO cp_node VALUES ('8139', 'file', '100'); -INSERT INTO cp_node VALUES ('8140', 'file', '100'); -INSERT INTO cp_node VALUES ('8141', 'file', '100'); -INSERT INTO cp_node VALUES ('8142', 'file', '100'); -INSERT INTO cp_node VALUES ('8143', 'file', '100'); -INSERT INTO cp_node VALUES ('8144', 'file', '100'); -INSERT INTO cp_node VALUES ('8145', 'file', '100'); -INSERT INTO cp_node VALUES ('8146', 'file', '100'); -INSERT INTO cp_node VALUES ('8147', 'file', '100'); -INSERT INTO cp_node VALUES ('8148', 'file', '100'); -INSERT INTO cp_node VALUES ('8149', 'file', '100'); -INSERT INTO cp_node VALUES ('8150', 'file', '100'); -INSERT INTO cp_node VALUES ('8151', 'file', '100'); -INSERT INTO cp_node VALUES ('8152', 'file', '100'); -INSERT INTO cp_node VALUES ('8153', 'file', '100'); -INSERT INTO cp_node VALUES ('8154', 'file', '100'); -INSERT INTO cp_node VALUES ('8155', 'resource', '100'); -INSERT INTO cp_node VALUES ('8156', 'file', '100'); -INSERT INTO cp_node VALUES ('8157', 'file', '100'); -INSERT INTO cp_node VALUES ('8158', 'file', '100'); -INSERT INTO cp_node VALUES ('8159', 'resource', '100'); -INSERT INTO cp_node VALUES ('8160', 'file', '100'); -INSERT INTO cp_node VALUES ('8161', 'file', '100'); -INSERT INTO cp_node VALUES ('8162', 'file', '100'); -INSERT INTO cp_node VALUES ('8163', 'file', '100'); -INSERT INTO cp_node VALUES ('8164', 'file', '100'); -INSERT INTO cp_node VALUES ('8165', 'file', '100'); -INSERT INTO cp_node VALUES ('8166', 'file', '100'); -INSERT INTO cp_node VALUES ('8167', 'file', '100'); -INSERT INTO cp_node VALUES ('8168', 'resource', '100'); -INSERT INTO cp_node VALUES ('8169', 'file', '100'); -INSERT INTO cp_node VALUES ('8170', 'resource', '100'); -INSERT INTO cp_node VALUES ('8171', 'file', '100'); -INSERT INTO cp_node VALUES ('8172', 'file', '100'); -INSERT INTO cp_node VALUES ('8173', 'file', '100'); -INSERT INTO cp_node VALUES ('8174', 'file', '100'); -INSERT INTO cp_node VALUES ('8175', 'file', '100'); -INSERT INTO cp_node VALUES ('8176', 'file', '100'); -INSERT INTO cp_node VALUES ('8177', 'file', '100'); -INSERT INTO cp_node VALUES ('8178', 'file', '100'); -INSERT INTO cp_node VALUES ('8179', 'file', '100'); -INSERT INTO cp_node VALUES ('8180', 'file', '100'); -INSERT INTO cp_node VALUES ('8181', 'file', '100'); -INSERT INTO cp_node VALUES ('8182', 'file', '100'); -INSERT INTO cp_node VALUES ('8183', 'file', '100'); -INSERT INTO cp_node VALUES ('8184', 'file', '100'); -INSERT INTO cp_node VALUES ('8185', 'file', '100'); -INSERT INTO cp_node VALUES ('8186', 'file', '100'); -INSERT INTO cp_node VALUES ('8187', 'file', '100'); -INSERT INTO cp_node VALUES ('8188', 'file', '100'); -INSERT INTO cp_node VALUES ('8189', 'file', '100'); -INSERT INTO cp_node VALUES ('8190', 'file', '100'); -INSERT INTO cp_node VALUES ('8191', 'file', '100'); -INSERT INTO cp_node VALUES ('8192', 'file', '100'); -INSERT INTO cp_node VALUES ('8193', 'file', '100'); -INSERT INTO cp_node VALUES ('8194', 'file', '100'); -INSERT INTO cp_node VALUES ('8195', 'file', '100'); -INSERT INTO cp_node VALUES ('8196', 'file', '100'); -INSERT INTO cp_node VALUES ('8197', 'file', '100'); -INSERT INTO cp_node VALUES ('8198', 'file', '100'); -INSERT INTO cp_node VALUES ('8199', 'file', '100'); -INSERT INTO cp_node VALUES ('8200', 'file', '100'); -INSERT INTO cp_node VALUES ('8201', 'file', '100'); -INSERT INTO cp_node VALUES ('8202', 'file', '100'); -INSERT INTO cp_node VALUES ('8203', 'file', '100'); -INSERT INTO cp_node VALUES ('8204', 'file', '100'); -INSERT INTO cp_node VALUES ('8205', 'file', '100'); -INSERT INTO cp_node VALUES ('8206', 'file', '100'); -INSERT INTO cp_node VALUES ('8207', 'file', '100'); -INSERT INTO cp_node VALUES ('8208', 'file', '100'); -INSERT INTO cp_node VALUES ('8209', 'file', '100'); -INSERT INTO cp_node VALUES ('8210', 'file', '100'); -INSERT INTO cp_node VALUES ('8211', 'file', '100'); -INSERT INTO cp_node VALUES ('8212', 'file', '100'); -INSERT INTO cp_node VALUES ('8213', 'file', '100'); -INSERT INTO cp_node VALUES ('8214', 'file', '100'); -INSERT INTO cp_node VALUES ('8215', 'file', '100'); -INSERT INTO cp_node VALUES ('8216', 'file', '100'); -INSERT INTO cp_node VALUES ('8217', 'file', '100'); -INSERT INTO cp_node VALUES ('8218', 'file', '100'); -INSERT INTO cp_node VALUES ('8219', 'file', '100'); -INSERT INTO cp_node VALUES ('8220', 'file', '100'); -INSERT INTO cp_node VALUES ('8221', 'file', '100'); -INSERT INTO cp_node VALUES ('8222', 'file', '100'); -INSERT INTO cp_node VALUES ('8223', 'file', '100'); -INSERT INTO cp_node VALUES ('8224', 'file', '100'); -INSERT INTO cp_node VALUES ('8225', 'file', '100'); -INSERT INTO cp_node VALUES ('8226', 'file', '100'); -INSERT INTO cp_node VALUES ('8227', 'file', '100'); -INSERT INTO cp_node VALUES ('8228', 'file', '100'); -INSERT INTO cp_node VALUES ('8229', 'file', '100'); -INSERT INTO cp_node VALUES ('8230', 'file', '100'); -INSERT INTO cp_node VALUES ('8231', 'file', '100'); -INSERT INTO cp_node VALUES ('8232', 'file', '100'); -INSERT INTO cp_node VALUES ('8233', 'file', '100'); -INSERT INTO cp_node VALUES ('8234', 'file', '100'); -INSERT INTO cp_node VALUES ('8235', 'file', '100'); -INSERT INTO cp_node VALUES ('8236', 'file', '100'); -INSERT INTO cp_node VALUES ('8237', 'file', '100'); -INSERT INTO cp_node VALUES ('8238', 'file', '100'); -INSERT INTO cp_node VALUES ('8239', 'resource', '100'); -INSERT INTO cp_node VALUES ('8240', 'file', '100'); -INSERT INTO cp_node VALUES ('8241', 'file', '100'); -INSERT INTO cp_node VALUES ('8242', 'file', '100'); -INSERT INTO cp_node VALUES ('8243', 'resource', '100'); -INSERT INTO cp_node VALUES ('8244', 'file', '100'); -INSERT INTO cp_node VALUES ('8245', 'file', '100'); -INSERT INTO cp_node VALUES ('8246', 'file', '100'); -INSERT INTO cp_node VALUES ('8247', 'file', '100'); -INSERT INTO cp_node VALUES ('8248', 'resource', '100'); -INSERT INTO cp_node VALUES ('8249', 'file', '100'); -INSERT INTO cp_node VALUES ('8250', 'resource', '100'); -INSERT INTO cp_node VALUES ('8251', 'file', '100'); -INSERT INTO cp_node VALUES ('8252', 'file', '100'); -INSERT INTO cp_node VALUES ('8253', 'file', '100'); -INSERT INTO cp_node VALUES ('8254', 'file', '100'); -INSERT INTO cp_node VALUES ('8255', 'file', '100'); -INSERT INTO cp_node VALUES ('8256', 'file', '100'); -INSERT INTO cp_node VALUES ('8257', 'file', '100'); -INSERT INTO cp_node VALUES ('8258', 'file', '100'); -INSERT INTO cp_node VALUES ('8259', 'file', '100'); -INSERT INTO cp_node VALUES ('8260', 'file', '100'); -INSERT INTO cp_node VALUES ('8261', 'file', '100'); -INSERT INTO cp_node VALUES ('8262', 'file', '100'); -INSERT INTO cp_node VALUES ('8263', 'file', '100'); -INSERT INTO cp_node VALUES ('8264', 'file', '100'); -INSERT INTO cp_node VALUES ('8265', 'file', '100'); -INSERT INTO cp_node VALUES ('8266', 'file', '100'); -INSERT INTO cp_node VALUES ('8267', 'file', '100'); -INSERT INTO cp_node VALUES ('8268', 'file', '100'); -INSERT INTO cp_node VALUES ('8269', 'file', '100'); -INSERT INTO cp_node VALUES ('8270', 'file', '100'); -INSERT INTO cp_node VALUES ('8271', 'file', '100'); -INSERT INTO cp_node VALUES ('8272', 'file', '100'); -INSERT INTO cp_node VALUES ('8273', 'file', '100'); -INSERT INTO cp_node VALUES ('8274', 'file', '100'); -INSERT INTO cp_node VALUES ('8275', 'file', '100'); -INSERT INTO cp_node VALUES ('8276', 'file', '100'); -INSERT INTO cp_node VALUES ('8277', 'file', '100'); -INSERT INTO cp_node VALUES ('8278', 'file', '100'); -INSERT INTO cp_node VALUES ('8279', 'file', '100'); -INSERT INTO cp_node VALUES ('8280', 'file', '100'); -INSERT INTO cp_node VALUES ('8281', 'file', '100'); -INSERT INTO cp_node VALUES ('8282', 'file', '100'); -INSERT INTO cp_node VALUES ('8283', 'file', '100'); -INSERT INTO cp_node VALUES ('8284', 'file', '100'); -INSERT INTO cp_node VALUES ('8285', 'file', '100'); -INSERT INTO cp_node VALUES ('8286', 'file', '100'); -INSERT INTO cp_node VALUES ('8287', 'file', '100'); -INSERT INTO cp_node VALUES ('8288', 'file', '100'); -INSERT INTO cp_node VALUES ('8289', 'file', '100'); -INSERT INTO cp_node VALUES ('8290', 'file', '100'); -INSERT INTO cp_node VALUES ('8291', 'file', '100'); -INSERT INTO cp_node VALUES ('8292', 'file', '100'); -INSERT INTO cp_node VALUES ('8293', 'file', '100'); -INSERT INTO cp_node VALUES ('8294', 'file', '100'); -INSERT INTO cp_node VALUES ('8295', 'file', '100'); -INSERT INTO cp_node VALUES ('8296', 'file', '100'); -INSERT INTO cp_node VALUES ('8297', 'file', '100'); -INSERT INTO cp_node VALUES ('8298', 'file', '100'); -INSERT INTO cp_node VALUES ('8299', 'file', '100'); -INSERT INTO cp_node VALUES ('8300', 'file', '100'); -INSERT INTO cp_node VALUES ('8301', 'file', '100'); -INSERT INTO cp_node VALUES ('8302', 'file', '100'); -INSERT INTO cp_node VALUES ('8303', 'file', '100'); -INSERT INTO cp_node VALUES ('8304', 'file', '100'); -INSERT INTO cp_node VALUES ('8305', 'file', '100'); -INSERT INTO cp_node VALUES ('8306', 'file', '100'); -INSERT INTO cp_node VALUES ('8307', 'file', '100'); -INSERT INTO cp_node VALUES ('8308', 'file', '100'); -INSERT INTO cp_node VALUES ('8309', 'file', '100'); -INSERT INTO cp_node VALUES ('8310', 'file', '100'); -INSERT INTO cp_node VALUES ('8311', 'file', '100'); -INSERT INTO cp_node VALUES ('8312', 'file', '100'); -INSERT INTO cp_node VALUES ('8313', 'file', '100'); -INSERT INTO cp_node VALUES ('8314', 'file', '100'); -INSERT INTO cp_node VALUES ('8315', 'file', '100'); -INSERT INTO cp_node VALUES ('8316', 'file', '100'); -INSERT INTO cp_node VALUES ('8317', 'file', '100'); -INSERT INTO cp_node VALUES ('8318', 'file', '100'); -INSERT INTO cp_node VALUES ('8319', 'resource', '100'); -INSERT INTO cp_node VALUES ('8320', 'file', '100'); -INSERT INTO cp_node VALUES ('8321', 'file', '100'); -INSERT INTO cp_node VALUES ('8322', 'file', '100'); -INSERT INTO cp_node VALUES ('8323', 'file', '100'); -INSERT INTO cp_node VALUES ('8324', 'file', '100'); -INSERT INTO cp_node VALUES ('8325', 'file', '100'); -INSERT INTO cp_node VALUES ('8326', 'file', '100'); -INSERT INTO cp_node VALUES ('8327', 'file', '100'); -INSERT INTO cp_node VALUES ('8328', 'file', '100'); -INSERT INTO cp_node VALUES ('8329', 'file', '100'); -INSERT INTO cp_node VALUES ('8330', 'file', '100'); -INSERT INTO cp_node VALUES ('8331', 'file', '100'); -INSERT INTO cp_node VALUES ('8332', 'file', '100'); -INSERT INTO cp_node VALUES ('8333', 'file', '100'); -INSERT INTO cp_node VALUES ('8334', 'file', '100'); -INSERT INTO cp_node VALUES ('8335', 'file', '100'); -INSERT INTO cp_node VALUES ('8336', 'file', '100'); -INSERT INTO cp_node VALUES ('8337', 'manifest', '100'); -INSERT INTO cp_node VALUES ('8338', 'organization', '100'); -INSERT INTO cp_node VALUES ('8339', 'item', '100'); -INSERT INTO cp_node VALUES ('8340', 'item', '100'); -INSERT INTO cp_node VALUES ('8341', 'item', '100'); -INSERT INTO cp_node VALUES ('8342', 'item', '100'); -INSERT INTO cp_node VALUES ('8343', 'item', '100'); -INSERT INTO cp_node VALUES ('8344', 'item', '100'); -INSERT INTO cp_node VALUES ('8345', 'item', '100'); -INSERT INTO cp_node VALUES ('8346', 'item', '100'); -INSERT INTO cp_node VALUES ('8347', 'item', '100'); -INSERT INTO cp_node VALUES ('8348', 'item', '100'); -INSERT INTO cp_node VALUES ('8349', 'item', '100'); -INSERT INTO cp_node VALUES ('8350', 'resource', '100'); -INSERT INTO cp_node VALUES ('8351', 'resource', '100'); -INSERT INTO cp_node VALUES ('8352', 'manifest', '100'); -INSERT INTO cp_node VALUES ('8353', 'organization', '100'); -INSERT INTO cp_node VALUES ('8354', 'item', '100'); -INSERT INTO cp_node VALUES ('8355', 'item', '100'); -INSERT INTO cp_node VALUES ('8356', 'item', '100'); -INSERT INTO cp_node VALUES ('8357', 'item', '100'); -INSERT INTO cp_node VALUES ('8358', 'item', '100'); -INSERT INTO cp_node VALUES ('8359', 'item', '100'); -INSERT INTO cp_node VALUES ('8360', 'item', '100'); -INSERT INTO cp_node VALUES ('8361', 'item', '100'); -INSERT INTO cp_node VALUES ('8362', 'item', '100'); -INSERT INTO cp_node VALUES ('8363', 'item', '100'); -INSERT INTO cp_node VALUES ('8364', 'item', '100'); -INSERT INTO cp_node VALUES ('8365', 'resource', '100'); -INSERT INTO cp_node VALUES ('8366', 'resource', '100'); -INSERT INTO cp_node VALUES ('8367', 'manifest', '100'); -INSERT INTO cp_node VALUES ('8368', 'organization', '100'); -INSERT INTO cp_node VALUES ('8369', 'item', '100'); -INSERT INTO cp_node VALUES ('8370', 'item', '100'); -INSERT INTO cp_node VALUES ('8371', 'item', '100'); -INSERT INTO cp_node VALUES ('8372', 'item', '100'); -INSERT INTO cp_node VALUES ('8373', 'item', '100'); -INSERT INTO cp_node VALUES ('8374', 'item', '100'); -INSERT INTO cp_node VALUES ('8375', 'item', '100'); -INSERT INTO cp_node VALUES ('8376', 'item', '100'); -INSERT INTO cp_node VALUES ('8377', 'item', '100'); -INSERT INTO cp_node VALUES ('8378', 'item', '100'); -INSERT INTO cp_node VALUES ('8379', 'item', '100'); -INSERT INTO cp_node VALUES ('8380', 'resource', '100'); -INSERT INTO cp_node VALUES ('8381', 'resource', '100'); -# -------------------------------------------------------- - - -# -# Dumping data for table: cp_objective -# -INSERT INTO cp_objective VALUES ('121', '0.8', '', 'true', 'true'); -INSERT INTO cp_objective VALUES ('123', '0.7', '', 'true', 'true'); -INSERT INTO cp_objective VALUES ('153', '', '', 'true', 'false'); -INSERT INTO cp_objective VALUES ('155', '', 'PRIMARYOBJ', 'true', 'false'); -INSERT INTO cp_objective VALUES ('192', '', '', 'true', 'false'); -INSERT INTO cp_objective VALUES ('193', '', 'obj1', 'false', 'false'); -INSERT INTO cp_objective VALUES ('194', '', 'obj2', 'false', 'false'); -INSERT INTO cp_objective VALUES ('195', '', 'obj3', 'false', 'false'); -INSERT INTO cp_objective VALUES ('199', '', 'PRIMARYOBJ', 'true', 'false'); -INSERT INTO cp_objective VALUES ('200', '', 'obj1', 'false', 'false'); -INSERT INTO cp_objective VALUES ('202', '', '', 'true', 'false'); -INSERT INTO cp_objective VALUES ('203', '', 'obj1', 'false', 'false'); -INSERT INTO cp_objective VALUES ('236', '', '', 'true', 'false'); -INSERT INTO cp_objective VALUES ('237', '', 'obj1', 'false', 'false'); -INSERT INTO cp_objective VALUES ('239', '', '', 'true', 'false'); -INSERT INTO cp_objective VALUES ('240', '', 'obj2', 'false', 'false'); -INSERT INTO cp_objective VALUES ('241', '', 'obj3', 'false', 'false'); -INSERT INTO cp_objective VALUES ('242', '', 'obj4', 'false', 'false'); -INSERT INTO cp_objective VALUES ('243', '', 'obj5', 'false', 'false'); -INSERT INTO cp_objective VALUES ('308', '', 'PRIMARYOBJ', 'true', 'false'); -INSERT INTO cp_objective VALUES ('309', '', 'obj1', 'false', 'false'); -INSERT INTO cp_objective VALUES ('311', '', 'PRIMARYOBJ', 'true', 'false'); -INSERT INTO cp_objective VALUES ('312', '', 'obj2', 'false', 'false'); -INSERT INTO cp_objective VALUES ('313', '', 'obj3', 'false', 'false'); -INSERT INTO cp_objective VALUES ('314', '', 'obj4', 'false', 'false'); -INSERT INTO cp_objective VALUES ('315', '', 'obj5', 'false', 'false'); -INSERT INTO cp_objective VALUES ('316', '', 'obj6', 'false', 'false'); -INSERT INTO cp_objective VALUES ('1091', '-0.5', 'SEQSUCCESSSTATUSOVERRIDE01', 'true', 'true'); -INSERT INTO cp_objective VALUES ('1093', '-0.5', 'SEQSUCCESSSTATUSUNKNOWN01', 'true', 'true'); -INSERT INTO cp_objective VALUES ('1095', '', 'SEQSCALEDPASSINGSCOREDEFAULT01', 'true', 'true'); -INSERT INTO cp_objective VALUES ('1097', '0.6', 'SCALEDPASSINGSCOREINIT', 'true', 'true'); -INSERT INTO cp_objective VALUES ('1099', '0.8', 'SEQSCALEDPASSINGSCORENOINIT01', 'true', 'false'); -INSERT INTO cp_objective VALUES ('1101', '0.7', 'SEQSCALEDPASSINGSCORENOINIT02', 'true', 'false'); -INSERT INTO cp_objective VALUES ('1369', '0.6', '', 'true', 'true'); -INSERT INTO cp_objective VALUES ('1420', '0.6', 'PRIMARYOBJ', 'true', 'true'); -INSERT INTO cp_objective VALUES ('1473', '0.6', '', 'true', 'true'); -INSERT INTO cp_objective VALUES ('1510', '', 'PRIMARYOBJ_1', 'true', 'false'); -INSERT INTO cp_objective VALUES ('1515', '', 'PRIMARYOBJ_2', 'true', 'false'); -INSERT INTO cp_objective VALUES ('1553', '', 'PRIMARYOBJ', 'true', 'false'); -INSERT INTO cp_objective VALUES ('1558', '', 'PRIMARYOBJ', 'true', 'false'); -INSERT INTO cp_objective VALUES ('1596', '', 'PRIMARYOBJ', 'true', 'false'); -INSERT INTO cp_objective VALUES ('1601', '0.5', 'PRIMARYOBJ', 'true', 'true'); -INSERT INTO cp_objective VALUES ('1639', '', '', 'true', 'false'); -INSERT INTO cp_objective VALUES ('1640', '', 'obj1', 'false', 'false'); -INSERT INTO cp_objective VALUES ('1645', '', '', 'true', 'false'); -INSERT INTO cp_objective VALUES ('1646', '', 'obj1', 'false', 'false'); -INSERT INTO cp_objective VALUES ('1675', '', '', 'true', 'false'); -INSERT INTO cp_objective VALUES ('1676', '', 'obj1', 'false', 'false'); -INSERT INTO cp_objective VALUES ('1681', '', '', 'true', 'false'); -INSERT INTO cp_objective VALUES ('1682', '', 'obj1', 'false', 'false'); -INSERT INTO cp_objective VALUES ('1720', '', '', 'true', 'false'); -INSERT INTO cp_objective VALUES ('1721', '', 'obj1', 'false', 'false'); -INSERT INTO cp_objective VALUES ('1724', '', '', 'true', 'false'); -INSERT INTO cp_objective VALUES ('1725', '', 'obj1', 'false', 'false'); -INSERT INTO cp_objective VALUES ('1728', '', '', 'true', 'false'); -INSERT INTO cp_objective VALUES ('1729', '', 'obj1', 'false', 'false'); -INSERT INTO cp_objective VALUES ('1787', '', 'PRIMARYOBJ', 'true', 'false'); -INSERT INTO cp_objective VALUES ('1792', '', 'PRIMARYOBJ', 'true', 'false'); -INSERT INTO cp_objective VALUES ('1797', '0.6', 'PRIMARYOBJ', 'true', 'true'); -INSERT INTO cp_objective VALUES ('1802', '', 'PRIMARYOBJ', 'true', 'false'); -INSERT INTO cp_objective VALUES ('1807', '', 'PRIMARYOBJ', 'true', 'false'); -INSERT INTO cp_objective VALUES ('1866', '', 'PRIMARYOBJ', 'true', 'false'); -INSERT INTO cp_objective VALUES ('1871', '', 'PRIMARYOBJ', 'true', 'false'); -INSERT INTO cp_objective VALUES ('1876', '0.6', 'PRIMARYOBJ', 'true', 'true'); -INSERT INTO cp_objective VALUES ('1881', '', 'PRIMARYOBJ', 'true', 'false'); -INSERT INTO cp_objective VALUES ('1887', '', 'PRIMARYOBJ', 'true', 'false'); -INSERT INTO cp_objective VALUES ('1889', '', 'obj1', 'false', 'false'); -INSERT INTO cp_objective VALUES ('1941', '', 'PRIMARYOBJ', 'true', 'false'); -INSERT INTO cp_objective VALUES ('1945', '', 'PRIMARYOBJ', 'true', 'false'); -INSERT INTO cp_objective VALUES ('1948', '', 'PRIMARYOBJ', 'true', 'false'); -INSERT INTO cp_objective VALUES ('1951', '', 'PRIMARYOBJ', 'true', 'false'); -INSERT INTO cp_objective VALUES ('1954', '-0.75', 'PRIMARYOBJ', 'true', 'true'); -INSERT INTO cp_objective VALUES ('2001', '', 'PRIMARYOBJ', 'true', 'true'); -INSERT INTO cp_objective VALUES ('2006', '0.4', 'PRIMARYOBJ', 'true', 'true'); -INSERT INTO cp_objective VALUES ('2011', '0.1', 'PRIMARYOBJ', 'true', 'false'); -INSERT INTO cp_objective VALUES ('2053', '', 'PRIMARYOBJ', 'true', 'false'); -INSERT INTO cp_objective VALUES ('2058', '0.75', 'PRIMARYOBJ', 'true', 'true'); -INSERT INTO cp_objective VALUES ('2063', '0.1', 'PRIMARYOBJ', 'true', 'false'); -INSERT INTO cp_objective VALUES ('2101', '0.0', 'PRIMARYOBJ', 'true', 'true'); -INSERT INTO cp_objective VALUES ('2106', '', 'PRIMARYOBJ', 'true', 'false'); -INSERT INTO cp_objective VALUES ('2153', '', 'PRIMARYOBJ', 'true', 'false'); -INSERT INTO cp_objective VALUES ('2162', '', 'PRIMARYOBJ', 'true', 'false'); -INSERT INTO cp_objective VALUES ('2200', '', 'obj1', 'true', 'false'); -INSERT INTO cp_objective VALUES ('2206', '', 'obj1', 'true', 'false'); -INSERT INTO cp_objective VALUES ('2209', '', '', 'true', 'false'); -INSERT INTO cp_objective VALUES ('2210', '', 'obj1', 'false', 'false'); -INSERT INTO cp_objective VALUES ('2248', '', 'obj1', 'true', 'false'); -INSERT INTO cp_objective VALUES ('2253', '', 'obj1', 'true', 'false'); -INSERT INTO cp_objective VALUES ('2256', '', '', 'true', 'false'); -INSERT INTO cp_objective VALUES ('2257', '', 'obj1', 'false', 'false'); -INSERT INTO cp_objective VALUES ('2299', '', 'PRIMARYOBJ', 'true', 'false'); -INSERT INTO cp_objective VALUES ('2306', '', 'PRIMARYOBJ', 'true', 'false'); -INSERT INTO cp_objective VALUES ('2314', '', 'PRIMARYOBJ', 'true', 'false'); -INSERT INTO cp_objective VALUES ('2321', '', 'PRIMARYOBJ', 'true', 'false'); -INSERT INTO cp_objective VALUES ('2363', '', 'PRIMARYOBJ', 'true', 'false'); -INSERT INTO cp_objective VALUES ('2370', '', 'PRIMARYOBJ', 'true', 'false'); -INSERT INTO cp_objective VALUES ('2378', '', 'PRIMARYOBJ', 'true', 'false'); -INSERT INTO cp_objective VALUES ('2385', '', 'PRIMARYOBJ', 'true', 'false'); -INSERT INTO cp_objective VALUES ('2425', '', 'obj1', 'true', 'false'); -INSERT INTO cp_objective VALUES ('2430', '', 'obj2', 'true', 'false'); -INSERT INTO cp_objective VALUES ('2433', '', '', 'true', 'false'); -INSERT INTO cp_objective VALUES ('2434', '', 'obj1', 'false', 'false'); -INSERT INTO cp_objective VALUES ('2436', '', 'obj2', 'false', 'false'); -INSERT INTO cp_objective VALUES ('2480', '', 'obj1', 'true', 'false'); -INSERT INTO cp_objective VALUES ('2485', '', 'obj2', 'true', 'false'); -INSERT INTO cp_objective VALUES ('2488', '', '', 'true', 'false'); -INSERT INTO cp_objective VALUES ('2489', '', 'obj1', 'false', 'false'); -INSERT INTO cp_objective VALUES ('2491', '', 'obj2', 'false', 'false'); -INSERT INTO cp_objective VALUES ('2524', '', 'PRIMARYOBJ', 'true', 'false'); -INSERT INTO cp_objective VALUES ('2529', '', 'PRIMARYOBJ', 'true', 'false'); -INSERT INTO cp_objective VALUES ('2532', '', 'PRIMARYOBJ', 'true', 'false'); -INSERT INTO cp_objective VALUES ('2570', '', 'PRIMARYOBJ', 'true', 'false'); -INSERT INTO cp_objective VALUES ('2575', '', 'PRIMARYOBJ', 'true', 'false'); -INSERT INTO cp_objective VALUES ('2578', '', 'PRIMARYOBJ', 'true', 'false'); -INSERT INTO cp_objective VALUES ('2616', '', 'PRIMARYOBJ', 'true', 'false'); -INSERT INTO cp_objective VALUES ('2618', '', 'obj1', 'false', 'false'); -INSERT INTO cp_objective VALUES ('2622', '', 'PRIMARYOBJ', 'true', 'false'); -INSERT INTO cp_objective VALUES ('2625', '', 'PRIMARYOBJ', 'true', 'false'); -INSERT INTO cp_objective VALUES ('2663', '', 'PRIMARYOBJ', 'true', 'false'); -INSERT INTO cp_objective VALUES ('2665', '', 'obj1', 'false', 'false'); -INSERT INTO cp_objective VALUES ('2666', '', 'obj2', 'false', 'false'); -INSERT INTO cp_objective VALUES ('2667', '', 'obj3', 'false', 'false'); -INSERT INTO cp_objective VALUES ('2671', '', 'PRIMARYOBJ', 'true', 'false'); -INSERT INTO cp_objective VALUES ('2674', '', 'PRIMARYOBJ', 'true', 'false'); -INSERT INTO cp_objective VALUES ('2712', '', '', 'true', 'false'); -INSERT INTO cp_objective VALUES ('2713', '', 'obj', 'false', 'false'); -INSERT INTO cp_objective VALUES ('2718', '', '', 'true', 'false'); -INSERT INTO cp_objective VALUES ('2719', '', 'obj', 'false', 'false'); -INSERT INTO cp_objective VALUES ('2722', '', '', 'true', 'false'); -INSERT INTO cp_objective VALUES ('2723', '', 'obj', 'false', 'false'); -INSERT INTO cp_objective VALUES ('2761', '', '', 'true', 'false'); -INSERT INTO cp_objective VALUES ('2762', '', 'obj1', 'false', 'false'); -INSERT INTO cp_objective VALUES ('2764', '', 'obj2', 'false', 'false'); -INSERT INTO cp_objective VALUES ('2765', '', 'obj3', 'false', 'false'); -INSERT INTO cp_objective VALUES ('2769', '', '', 'true', 'false'); -INSERT INTO cp_objective VALUES ('2770', '', 'obj', 'false', 'false'); -INSERT INTO cp_objective VALUES ('2773', '', '', 'true', 'false'); -INSERT INTO cp_objective VALUES ('2774', '', 'obj', 'false', 'false'); -INSERT INTO cp_objective VALUES ('2815', '', '', 'true', 'false'); -INSERT INTO cp_objective VALUES ('2816', '', 'obj1', 'false', 'false'); -INSERT INTO cp_objective VALUES ('2856', '', '', 'true', 'false'); -INSERT INTO cp_objective VALUES ('2857', '', 'obj1', 'false', 'false'); -INSERT INTO cp_objective VALUES ('2897', '', '', 'true', 'false'); -INSERT INTO cp_objective VALUES ('2898', '0.9', 'obj1', 'false', 'true'); -INSERT INTO cp_objective VALUES ('2939', '', '', 'true', 'false'); -INSERT INTO cp_objective VALUES ('2940', '', 'obj1', 'false', 'false'); -INSERT INTO cp_objective VALUES ('2946', '', '', 'true', 'false'); -INSERT INTO cp_objective VALUES ('2947', '', 'obj1', 'false', 'false'); -INSERT INTO cp_objective VALUES ('2989', '', '', 'true', 'false'); -INSERT INTO cp_objective VALUES ('2990', '', 'obj1', 'false', 'false'); -INSERT INTO cp_objective VALUES ('2996', '', '', 'true', 'false'); -INSERT INTO cp_objective VALUES ('2997', '', 'obj1', 'false', 'false'); -INSERT INTO cp_objective VALUES ('3039', '', '', 'true', 'false'); -INSERT INTO cp_objective VALUES ('3040', '0.25', 'obj1', 'false', 'true'); -INSERT INTO cp_objective VALUES ('3046', '', '', 'true', 'false'); -INSERT INTO cp_objective VALUES ('3047', '', 'obj1', 'false', 'false'); -INSERT INTO cp_objective VALUES ('3085', '', '', 'true', 'false'); -INSERT INTO cp_objective VALUES ('3086', '', 'obj2', 'false', 'false'); -INSERT INTO cp_objective VALUES ('3088', '', 'obj3', 'false', 'false'); -INSERT INTO cp_objective VALUES ('3090', '0.4', 'obj4', 'false', 'true'); -INSERT INTO cp_objective VALUES ('3092', '', 'obj1', 'false', 'false'); -INSERT INTO cp_objective VALUES ('3095', '', '', 'true', 'false'); -INSERT INTO cp_objective VALUES ('3096', '', 'obj3', 'false', 'false'); -INSERT INTO cp_objective VALUES ('3098', '0.3', 'gObj-OB14a-1', 'false', 'true'); -INSERT INTO cp_objective VALUES ('3100', '', 'obj1', 'false', 'false'); -INSERT INTO cp_objective VALUES ('3102', '0.15', 'obj4', 'false', 'true'); -INSERT INTO cp_objective VALUES ('3104', '', 'obj2', 'false', 'false'); -INSERT INTO cp_objective VALUES ('3107', '', '', 'true', 'false'); -INSERT INTO cp_objective VALUES ('3108', '0.6', 'obj4', 'false', 'true'); -INSERT INTO cp_objective VALUES ('3110', '', 'obj1', 'false', 'false'); -INSERT INTO cp_objective VALUES ('3112', '', 'obj2', 'false', 'false'); -INSERT INTO cp_objective VALUES ('3114', '', 'obj3', 'false', 'false'); -INSERT INTO cp_objective VALUES ('3116', '0.01', 'gObj-OB14a-1', 'false', 'true'); -INSERT INTO cp_objective VALUES ('3158', '', '', 'true', 'false'); -INSERT INTO cp_objective VALUES ('3159', '', 'obj4', 'false', 'false'); -INSERT INTO cp_objective VALUES ('3160', '', 'obj1', 'false', 'false'); -INSERT INTO cp_objective VALUES ('3161', '', 'OBJ1', 'false', 'false'); -INSERT INTO cp_objective VALUES ('3162', '', 'obj3', 'false', 'false'); -INSERT INTO cp_objective VALUES ('3163', '0.5', 'obj2', 'false', 'true'); -INSERT INTO cp_objective VALUES ('3165', '', 'obj', 'false', 'false'); -INSERT INTO cp_objective VALUES ('3168', '', 'PRIMARYOBJ', 'true', 'false'); -INSERT INTO cp_objective VALUES ('3170', '', 'obj3', 'false', 'false'); -INSERT INTO cp_objective VALUES ('3171', '', 'obj2', 'false', 'false'); -INSERT INTO cp_objective VALUES ('3172', '', 'obj1', 'false', 'false'); -INSERT INTO cp_objective VALUES ('3173', '', 'obj5', 'false', 'false'); -INSERT INTO cp_objective VALUES ('3175', '', 'obj4', 'false', 'false'); -INSERT INTO cp_objective VALUES ('3177', '', '', 'true', 'false'); -INSERT INTO cp_objective VALUES ('3178', '', 'obj5', 'false', 'false'); -INSERT INTO cp_objective VALUES ('3179', '', 'obj4', 'false', 'false'); -INSERT INTO cp_objective VALUES ('3181', '', 'obj3', 'false', 'false'); -INSERT INTO cp_objective VALUES ('3183', '', 'obj1', 'false', 'false'); -INSERT INTO cp_objective VALUES ('3185', '', 'obj2', 'false', 'false'); -INSERT INTO cp_objective VALUES ('3187', '', '', 'true', 'false'); -INSERT INTO cp_objective VALUES ('3188', '', 'obj1', 'false', 'false'); -INSERT INTO cp_objective VALUES ('3191', '', 'obj2', 'false', 'false'); -INSERT INTO cp_objective VALUES ('3245', '', 'PRIMARYOBJ', 'true', 'false'); -INSERT INTO cp_objective VALUES ('3248', '', 'PRIMARYOBJ', 'true', 'false'); -INSERT INTO cp_objective VALUES ('3251', '', 'PRIMARYOBJ', 'true', 'false'); -INSERT INTO cp_objective VALUES ('3263', '', 'PRIMARYOBJ', 'true', 'false'); -INSERT INTO cp_objective VALUES ('4591', '', '', 'true', 'false'); -INSERT INTO cp_objective VALUES ('4772', '', '', 'true', 'false'); -INSERT INTO cp_objective VALUES ('4773', '', 'obj1', 'false', 'false'); -INSERT INTO cp_objective VALUES ('4775', '', 'obj2', 'false', 'false'); -INSERT INTO cp_objective VALUES ('4777', '', 'obj3', 'false', 'false'); -INSERT INTO cp_objective VALUES ('4780', ' - 0.6 - ', 'PRIMARYOBJ', 'true', 'true'); -INSERT INTO cp_objective VALUES ('4827', '', 'PRIMARYOBJ', 'true', 'false'); -INSERT INTO cp_objective VALUES ('4925', '', 'PRIMARYOBJ', 'true', 'false'); -INSERT INTO cp_objective VALUES ('4930', '', 'PRIMARYOBJ', 'true', 'false'); -INSERT INTO cp_objective VALUES ('4935', '', 'PRIMARYOBJ', 'true', 'false'); -INSERT INTO cp_objective VALUES ('4936', '', 'obj-SX05-3a', 'false', 'false'); -INSERT INTO cp_objective VALUES ('4944', '', 'PRIMARYOBJ', 'true', 'false'); -INSERT INTO cp_objective VALUES ('4945', '', 'obj-SX05-3a', 'false', 'false'); -INSERT INTO cp_objective VALUES ('4947', '', 'obj-SX05-3b', 'false', 'false'); -INSERT INTO cp_objective VALUES ('4953', '', 'PRIMARYOBJ', 'true', 'false'); -INSERT INTO cp_objective VALUES ('4954', '', 'obj-SX05-4a', 'false', 'false'); -INSERT INTO cp_objective VALUES ('4962', '', 'PRIMARYOBJ', 'true', 'false'); -INSERT INTO cp_objective VALUES ('4963', '', 'obj-SX05-4a', 'false', 'false'); -INSERT INTO cp_objective VALUES ('4965', '', 'obj-SX05-4b', 'false', 'false'); -INSERT INTO cp_objective VALUES ('4971', '', 'PRIMARYOBJ', 'true', 'false'); -INSERT INTO cp_objective VALUES ('4972', '', 'obj-SX05-5', 'false', 'false'); -INSERT INTO cp_objective VALUES ('4974', '', 'obj-SX05-3a', 'false', 'false'); -INSERT INTO cp_objective VALUES ('4976', '', 'obj-SX05-3b', 'false', 'false'); -INSERT INTO cp_objective VALUES ('4978', '', 'obj-SX05-4a', 'false', 'false'); -INSERT INTO cp_objective VALUES ('4980', '', 'obj-SX05-4b', 'false', 'false'); -INSERT INTO cp_objective VALUES ('4985', '', 'PRIMARYOBJ', 'true', 'false'); -INSERT INTO cp_objective VALUES ('4986', '', 'obj-SX05-5', 'false', 'false'); -INSERT INTO cp_objective VALUES ('5207', '-0.50', 'PRIMARYOBJ', 'true', 'true'); -INSERT INTO cp_objective VALUES ('5269', '0.0', 'PRIMARYOBJ', 'true', 'true'); -INSERT INTO cp_objective VALUES ('5428', '0.6', 'PRIMARYOBJ', 'true', 'true'); -INSERT INTO cp_objective VALUES ('5431', '', 'PRIMARYOBJ', 'true', 'false'); -INSERT INTO cp_objective VALUES ('5434', '0.6', 'PRIMARYOBJ', 'true', 'true'); -INSERT INTO cp_objective VALUES ('5437', '0.6', 'PRIMARYOBJ', 'true', 'true'); -INSERT INTO cp_objective VALUES ('5440', '', 'PRIMARYOBJ', 'true', 'false'); -INSERT INTO cp_objective VALUES ('5443', '0.6', 'PRIMARYOBJ', 'true', 'true'); -INSERT INTO cp_objective VALUES ('5446', '0.6', 'PRIMARYOBJ', 'true', 'true'); -INSERT INTO cp_objective VALUES ('5449', '', 'PRIMARYOBJ', 'true', 'false'); -INSERT INTO cp_objective VALUES ('5452', '0.6', 'PRIMARYOBJ', 'true', 'true'); -INSERT INTO cp_objective VALUES ('5460', '', 'PRIMARYOBJ', 'true', 'false'); -INSERT INTO cp_objective VALUES ('5461', '', 'obj1', 'false', 'false'); -INSERT INTO cp_objective VALUES ('5463', '', 'obj2', 'false', 'false'); -INSERT INTO cp_objective VALUES ('5465', '', 'obj3', 'false', 'false'); -INSERT INTO cp_objective VALUES ('5641', '0.6', 'PRIMARYOBJ', 'true', 'true'); -INSERT INTO cp_objective VALUES ('5644', '', '', 'true', 'false'); -INSERT INTO cp_objective VALUES ('5645', '', 'obj1', 'false', 'false'); -INSERT INTO cp_objective VALUES ('5647', '', '', 'true', 'false'); -INSERT INTO cp_objective VALUES ('5648', '', 'obj2', 'false', 'false'); -INSERT INTO cp_objective VALUES ('5649', '', 'obj3', 'false', 'false'); -INSERT INTO cp_objective VALUES ('5650', '', 'obj4', 'false', 'false'); -INSERT INTO cp_objective VALUES ('5651', '', 'obj5', 'false', 'false'); -INSERT INTO cp_objective VALUES ('5652', '', 'obj6', 'false', 'false'); -INSERT INTO cp_objective VALUES ('5654', '', 'PRIMARYOBJ', 'true', 'false'); -INSERT INTO cp_objective VALUES ('5657', '0.6', 'PRIMARYOBJ', 'true', 'true'); -INSERT INTO cp_objective VALUES ('5660', '0.6', 'PRIMARYOBJ', 'true', 'true'); -INSERT INTO cp_objective VALUES ('5663', '', 'PRIMARYOBJ', 'true', 'false'); -INSERT INTO cp_objective VALUES ('5666', '0.6', 'PRIMARYOBJ', 'true', 'true'); -INSERT INTO cp_objective VALUES ('5669', '0.6', 'PRIMARYOBJ', 'true', 'true'); -INSERT INTO cp_objective VALUES ('5672', '', 'PRIMARYOBJ', 'true', 'false'); -INSERT INTO cp_objective VALUES ('5675', '0.6', 'PRIMARYOBJ', 'true', 'true'); -INSERT INTO cp_objective VALUES ('5683', '', 'PRIMARYOBJ', 'true', 'false'); -INSERT INTO cp_objective VALUES ('5684', '', 'obj1', 'false', 'false'); -INSERT INTO cp_objective VALUES ('5686', '', 'obj2', 'false', 'false'); -INSERT INTO cp_objective VALUES ('5688', '', 'obj3', 'false', 'false'); -INSERT INTO cp_objective VALUES ('6366', '0.6', '', 'true', 'true'); -INSERT INTO cp_objective VALUES ('6594', '0.6', 'PRIMARYOBJ', 'true', 'true'); -INSERT INTO cp_objective VALUES ('6822', '0.6', 'PRIMARYOBJ', 'true', 'true'); -INSERT INTO cp_objective VALUES ('6924', '', '', 'true', 'false'); -INSERT INTO cp_objective VALUES ('6925', '0', 'b75d9d2755344021b906853aea56f52f', 'false', 'false'); -INSERT INTO cp_objective VALUES ('6927', '0', '1d622cc0b1a547019354abfbef60c303', 'false', 'false'); -INSERT INTO cp_objective VALUES ('6929', '0', '201c0fcdbe99495ebabe81ec93e19736', 'false', 'false'); -INSERT INTO cp_objective VALUES ('7025', '', '', 'true', 'false'); -INSERT INTO cp_objective VALUES ('7026', '0', 'b75d9d2755344021b906853aea56f52f', 'false', 'false'); -INSERT INTO cp_objective VALUES ('7028', '0', '1d622cc0b1a547019354abfbef60c303', 'false', 'false'); -INSERT INTO cp_objective VALUES ('7030', '0', '201c0fcdbe99495ebabe81ec93e19736', 'false', 'false'); -# -------------------------------------------------------- - - -# -# Dumping data for table: cp_organization -# -INSERT INTO cp_organization VALUES ('2', 'API', 'false', '', '', 'LMS Test Content Package API '); -INSERT INTO cp_organization VALUES ('44', 'API', 'false', '', '', 'LMS Test Content Package API '); -INSERT INTO cp_organization VALUES ('86', 'CM-01', 'false', 'id3022114', '', 'LMS Test Content Package CM-01 '); -INSERT INTO cp_organization VALUES ('126', 'CM-02a', 'false', 'id2681290', '', 'LMS Test Content Package CM-02a '); -INSERT INTO cp_organization VALUES ('158', 'CM-02b', 'false', 'id2689463', '', 'LMS Test Content Package CM-02b '); -INSERT INTO cp_organization VALUES ('206', 'CM-03a', 'false', 'id2818691', '', 'LMS Test Content Package CM-03a '); -INSERT INTO cp_organization VALUES ('260', 'CM-03b', 'false', 'id2683399', '', 'LMS Test Content Package CM-03b '); -INSERT INTO cp_organization VALUES ('333', 'CM-04a', 'false', '', '', 'LMS Test Content Package CM-04a '); -INSERT INTO cp_organization VALUES ('401', 'CM-04b', 'false', 'id2690686', '', 'LMS Test Content Package CM-04b '); -INSERT INTO cp_organization VALUES ('444', 'CM-04c', 'false', '', '', 'LMS Test Content Package CM-04c '); -INSERT INTO cp_organization VALUES ('516', 'CM-04d', 'false', '', '', 'LMS Test Content Package CM-04d '); -INSERT INTO cp_organization VALUES ('584', 'CM-05', 'false', 'id3042067', '', 'LMS Test Content Package CM-05'); -INSERT INTO cp_organization VALUES ('639', 'CM-06', 'false', 'id2827862', '', 'LMS Test Content Package CM-06'); -INSERT INTO cp_organization VALUES ('674', 'CM-07a', 'false', 'id2837362', '', 'LMS Test Content Package CM-07a '); -INSERT INTO cp_organization VALUES ('730', 'CM-07b', 'false', '', '', 'LMS Test Content Package CM-07b'); -INSERT INTO cp_organization VALUES ('798', 'CM-07c', 'false', 'id2621280', '', 'LMS Test Content Package CM-07c'); -INSERT INTO cp_organization VALUES ('855', 'CM-07d', 'false', 'id2675796', '', 'LMS Test Content Package CM-07d'); -INSERT INTO cp_organization VALUES ('903', 'CASETEST', 'false', 'id2619357', '', 'LMS Test Content Package CM-07e'); -INSERT INTO cp_organization VALUES ('936', 'CM-07f', 'false', 'id2680488', '', 'LMS Test Content Package CM-07f'); -INSERT INTO cp_organization VALUES ('966', 'CM-08', 'false', 'GeneralSequencing', '', 'LMS Test Content Package CM-08'); -INSERT INTO cp_organization VALUES ('995', 'DMB', 'false', '', '', 'LMS Test Content Package DMB '); -INSERT INTO cp_organization VALUES ('1103', 'DMI', 'false', '', '', 'LMS Test Content Package DMI '); -INSERT INTO cp_organization VALUES ('1154', 'MS-01', 'false', 'id2623293', '', 'LMS Test Content Package MS-01 '); -INSERT INTO cp_organization VALUES ('1202', 'MS-02', 'false', 'id2628852', '', 'LMS Test Content Package MS-02'); -INSERT INTO cp_organization VALUES ('1252', 'MS-03', 'false', 'id3106767', '', 'LMS Test Content Package MS-03 '); -INSERT INTO cp_organization VALUES ('1302', 'MS-04', 'false', 'id2835041', '', 'LMS Test Content Package MS-04 '); -INSERT INTO cp_organization VALUES ('1336', 'MS-05a', 'false', 'id2835031', '', 'LMS Test Content Package MS-05a '); -INSERT INTO cp_organization VALUES ('1372', 'MS-05b', 'false', 'id2683209', '', 'LMS Test Content Package MS-05b'); -INSERT INTO cp_organization VALUES ('1423', 'MS-06', 'false', 'id2686492', '', 'LMS Test Content Package MS-06 '); -INSERT INTO cp_organization VALUES ('1476', 'OB-01a', 'false', 'id2684391', '', 'LMS Test Content Package OB-01a '); -INSERT INTO cp_organization VALUES ('1519', 'OB-01b', 'false', 'id2835415', '', 'LMS Test Content Package OB-01b '); -INSERT INTO cp_organization VALUES ('1562', 'OB-01c', 'false', 'id2679887', '', 'LMS Test Content Package OB-01c '); -INSERT INTO cp_organization VALUES ('1605', 'OB-02a', 'false', 'id2679756', '', 'LMS Test Content Package OB-02a '); -INSERT INTO cp_organization VALUES ('1650', 'OB-02b', 'false', 'id2678483', '', 'LMS Test Content Package OB-02b '); -INSERT INTO cp_organization VALUES ('1686', 'OB-03a', 'false', 'id2816557', '', 'LMS Test Content Package OB-03a'); -INSERT INTO cp_organization VALUES ('1733', 'OB-03b', 'false', 'id3028734', '', 'LMS Test Content Package OB-03b'); -INSERT INTO cp_organization VALUES ('1812', 'OB-03c', 'false', 'id2618316', '', 'LMS Test Content Package OB-03c '); -INSERT INTO cp_organization VALUES ('1894', 'OB-04', 'false', 'id2836318', '', 'LMS Test Content Package OB-04 '); -INSERT INTO cp_organization VALUES ('1963', 'OB-05a', 'false', 'id2833703', '', 'LMS Test Content Package OB-05a '); -INSERT INTO cp_organization VALUES ('2015', 'OB-05b', 'false', 'id3024934', '', 'LMS Test Content Package OB-05b'); -INSERT INTO cp_organization VALUES ('2067', 'OB-05c', 'false', 'id2680434', '', 'LMS Test Content Package OB-05c '); -INSERT INTO cp_organization VALUES ('2110', 'OB-06', 'false', 'id3042076', '', 'LMS Test Content Package OB-06 '); -INSERT INTO cp_organization VALUES ('2166', 'OB-07a', 'false', 'id2685286', '', 'LMS Test Content Package OB-07a'); -INSERT INTO cp_organization VALUES ('2214', 'OB-07b', 'false', 'id3099498', '', 'LMS Test Content Package OB-07b'); -INSERT INTO cp_organization VALUES ('2261', 'OB-08a', 'false', 'id3018439', '', 'LMS Test Content Package OB-08a'); -INSERT INTO cp_organization VALUES ('2325', 'OB-08b', 'false', 'id2813752', '', 'LMS Test Content Package OB-08b'); -INSERT INTO cp_organization VALUES ('2389', 'OB-09a', 'false', 'id2835854', '', 'LMS Test Content Package OB-09a'); -INSERT INTO cp_organization VALUES ('2444', 'OB-09b', 'false', 'id2688473', '', 'LMS Test Content Package OB-09b'); -INSERT INTO cp_organization VALUES ('2499', 'OB-10a', 'false', 'id2623394', '', 'LMS Test Content Package OB-10a'); -INSERT INTO cp_organization VALUES ('2536', 'OB-10b', 'false', 'id3024558', '', 'LMS Test Content Package OB-10b'); -INSERT INTO cp_organization VALUES ('2582', 'OB-10c', 'false', 'id3036101', '', 'LMS Test Content Package OB-10c'); -INSERT INTO cp_organization VALUES ('2629', 'OB-10d', 'false', 'id3024238', '', 'LMS Test Content Package OB-10d'); -INSERT INTO cp_organization VALUES ('2678', 'OB-11a', 'false', 'id2784294', '', 'LMS Test Content Package OB-11a'); -INSERT INTO cp_organization VALUES ('2727', 'OB-11b', 'false', 'id2623206', '', 'LMS Test Content Package OB-11b'); -INSERT INTO cp_organization VALUES ('2778', 'OB-12a', 'false', 'id3024614', '', 'LMS Test Content Package OB-12a'); -INSERT INTO cp_organization VALUES ('2819', 'OB-12b', 'false', 'id3024649', '', 'LMS Test Content Package OB-12b'); -INSERT INTO cp_organization VALUES ('2860', 'OB-12c', 'false', 'id2685932', '', 'LMS Test Content Package OB-12c'); -INSERT INTO cp_organization VALUES ('2901', 'OB-13a', 'false', 'id2687756', '', 'LMS Test Content Package OB-13a '); -INSERT INTO cp_organization VALUES ('2951', 'OB-13b', 'false', 'id2832065', '', 'LMS Test Content Package OB-13b '); -INSERT INTO cp_organization VALUES ('3001', 'OB-13c', 'false', 'id2678078', '', 'LMS Test Content Package OB-13c '); -INSERT INTO cp_organization VALUES ('3051', 'OB-14a', 'false', 'id2832072', '', 'LMS Test Content Package OB-14a'); -INSERT INTO cp_organization VALUES ('3120', 'OB-14b', 'false', 'id2836467', '', 'LMS Test Content Package OB-14b'); -INSERT INTO cp_organization VALUES ('3195', 'OB-15', 'false', 'id2619353', '', 'LMS Test Content Package OB-15 '); -INSERT INTO cp_organization VALUES ('3267', 'RU-01aa', 'false', 'id3023482', '', 'LMS Test Content Package RU-01aa '); -INSERT INTO cp_organization VALUES ('3316', 'RU-01ab', 'false', 'id2676050', '', 'LMS Test Content Package RU-01ab '); -INSERT INTO cp_organization VALUES ('3365', 'RU-01ba', 'false', 'id2815727', '', 'LMS Test Content Package RU-01ba '); -INSERT INTO cp_organization VALUES ('3399', 'RU-01bb', 'false', 'id2676424', '', 'LMS Test Content Package RU-01bb '); -INSERT INTO cp_organization VALUES ('3448', 'RU-02a', 'false', 'id2687602', '', 'LMS Test Content Package RU-02a '); -INSERT INTO cp_organization VALUES ('3499', 'RU-02b', 'false', 'id2839516', '', 'LMS Test Content Package RU-02b '); -INSERT INTO cp_organization VALUES ('3550', 'RU-03a', 'false', 'id2836275', '', 'LMS Test Content Package RU-03a '); -INSERT INTO cp_organization VALUES ('3602', 'RU-03b', 'false', 'id2685338', '', 'LMS Test Content Package RU-03b '); -INSERT INTO cp_organization VALUES ('3654', 'RU-04aa', 'false', 'id2698800', '', 'LMS Test Content Package RU-04aa '); -INSERT INTO cp_organization VALUES ('3706', 'RU-04ab', 'false', 'id3020230', '', 'LMS Test Content Package RU-04ab '); -INSERT INTO cp_organization VALUES ('3758', 'RU-04ba', 'false', 'id3024577', '', 'LMS Test Content Package RU-04ba '); -INSERT INTO cp_organization VALUES ('3810', 'RU-04bb', 'false', 'id2691069', '', 'LMS Test Content Package RU-04bb '); -INSERT INTO cp_organization VALUES ('3862', 'RU-04bc', 'false', 'id2697061', '', 'LMS Test Content Package RU-04bc '); -INSERT INTO cp_organization VALUES ('3899', 'RU-04bd', 'false', 'id2832273', '', 'LMS Test Content Package RU-04bd '); -INSERT INTO cp_organization VALUES ('3951', 'RU-05a', 'false', 'id3003369', '', 'LMS Test Content Package RU-05a '); -INSERT INTO cp_organization VALUES ('4002', 'RU-05b', 'false', 'id2820429', '', 'LMS Test Content Package RU-05b '); -INSERT INTO cp_organization VALUES ('4053', 'RU-06a', 'false', 'id2844067', '', 'LMS Test Content Package RU-06a '); -INSERT INTO cp_organization VALUES ('4098', 'RU-06b', 'false', 'id2835664', '', 'LMS Test Content Package RU-06b '); -INSERT INTO cp_organization VALUES ('4145', 'RU-07a', 'false', 'id2832252', '', 'LMS Test Content Package RU-07a '); -INSERT INTO cp_organization VALUES ('4200', 'RU-07b', 'false', 'id2850246', '', 'LMS Test Content Package RU-07b '); -INSERT INTO cp_organization VALUES ('4255', 'RU-07c', 'false', 'id2852293', '', 'LMS Test Content Package RU-07c '); -INSERT INTO cp_organization VALUES ('4307', 'RU-08a', 'false', 'id3094007', '', 'LMS Test Content Package RU-08a '); -INSERT INTO cp_organization VALUES ('4374', 'RU-08b', 'false', 'id2835144', '', 'LMS Test Content Package RU-08b '); -INSERT INTO cp_organization VALUES ('4443', 'RU-09', 'false', 'id2622963', '', 'LMS Test Content Package RU-09 '); -INSERT INTO cp_organization VALUES ('4497', 'RU-10', 'false', 'id2695362', '', 'LMS Test Content Package RU-10 '); -INSERT INTO cp_organization VALUES ('4548', 'RU-11', 'false', 'id2821665', '', 'LMS Test Content Package RU-11 '); -INSERT INTO cp_organization VALUES ('4603', 'RU-12a', 'false', 'id2620884', '', 'LMS Test Content Package RU-12a '); -INSERT INTO cp_organization VALUES ('4648', 'RU-12b', 'false', 'id2681527', '', 'LMS Test Content Package RU-12b '); -INSERT INTO cp_organization VALUES ('4693', 'SX-02', 'false', 'id2868122', '', 'LMS Test Content Package SX-02 '); -INSERT INTO cp_organization VALUES ('4729', 'SX-03', 'false', 'id2698680', '', 'LMS Test Content Package SX-03'); -INSERT INTO cp_organization VALUES ('4791', 'SX-04a', 'false', 'id2696373', '', 'LMS Test Content Package SX-04a'); -INSERT INTO cp_organization VALUES ('4831', 'SX-04b', 'false', 'id3005863', '', 'LMS Test Content Package SX-04b'); -INSERT INTO cp_organization VALUES ('4870', 'SX-05', 'false', 'id2695987', '', 'LMS Test Content Package SX-05'); -INSERT INTO cp_organization VALUES ('4990', 'SX-06', 'false', 'id3003378', '', 'LMS Test Content Package SX-06'); -INSERT INTO cp_organization VALUES ('5030', 'SX-07a', 'false', 'id2862126', '', 'LMS Test Content Package SX-07a '); -INSERT INTO cp_organization VALUES ('5074', 'SX-07b', 'false', 'id2834188', '', 'LMS Test Content Package SX-07b'); -INSERT INTO cp_organization VALUES ('5114', 'SX-07c', 'false', 'id2817705', '', 'LMS Test Content Package SX-07c '); -INSERT INTO cp_organization VALUES ('5158', 'SX-07d', 'false', 'id2837821', '', 'LMS Test Content Package SX-07d '); -INSERT INTO cp_organization VALUES ('5217', 'SX-07e', 'false', 'id2861765', '', 'LMS Test Content Package SX-07e '); -INSERT INTO cp_organization VALUES ('5276', 'T-01a', 'false', 'id2675932', '', 'LMS Test Content Package T-01a '); -INSERT INTO cp_organization VALUES ('5489', 'T-01b', 'false', 'id2817663', '', 'LMS Test Content Package T-01b'); -INSERT INTO cp_organization VALUES ('5712', 'blabla', 'false', '', '', 'Combating Trafficking in Human Beings'); -INSERT INTO cp_organization VALUES ('6174', 'TOC1', 'false', 'id382106', '', 'Photoshop Example -- Linear'); -INSERT INTO cp_organization VALUES ('6375', 'TOC1', 'false', 'id383665', '', 'Photoshop Example -- Linear Controls'); -INSERT INTO cp_organization VALUES ('6603', 'TOC1', 'false', 'id383785', '', 'Photoshop Example -- Linear Controls'); -INSERT INTO cp_organization VALUES ('6831', 'organization_294673fbf63c4815b45af1651480864c', 'false', 'sequencing_c9c0a2a07aaf4c4d987e7c1cc90de4da', '', 'ILIAS for Admins'); -INSERT INTO cp_organization VALUES ('6932', 'organization_294673fbf63c4815b45af1651480864c', 'false', 'sequencing_c9c0a2a07aaf4c4d987e7c1cc90de4da', '', 'ILIAS for Admins'); -INSERT INTO cp_organization VALUES ('7033', 'blabla', 'false', '', '', 'Human Trafficking: Causes, Consequences, Counter-Strategies'); -INSERT INTO cp_organization VALUES ('7678', 'ORG-5EA524CA-76F2-4829-DBD5-AC3CEF8A0153', 'false', '', '', 'Organization'); -INSERT INTO cp_organization VALUES ('7693', 'blabla', 'false', '', '', 'Human Trafficking: Causes, Consequences, Counter-Strategies'); -INSERT INTO cp_organization VALUES ('8338', 'ORG-5EA524CA-76F2-4829-DBD5-AC3CEF8A0153', 'false', '', '', 'Organization'); -INSERT INTO cp_organization VALUES ('8353', 'ORG-5EA524CA-76F2-4829-DBD5-AC3CEF8A0153', 'false', '', '', 'Organization'); -INSERT INTO cp_organization VALUES ('8368', 'ORG-5EA524CA-76F2-4829-DBD5-AC3CEF8A0153', 'false', '', '', 'Organization'); -# -------------------------------------------------------- - - -# -# Dumping data for table: cp_package -# -INSERT INTO cp_package VALUES ('0', '', '{"item":{"id":"ORG-5EA524CA-76F2-4829-DBD5-AC3CEF8A0153","title":"Organization","foreignId":8368,"item":[{"id":"ITEM-A0584416-40BD-5359-361E-EA8C65CF1931","title":"Item","resourceId":"cam.html","foreignId":8369,"item":[{"id":"ITEM-8003C0B7-59CA-87E9-7080-38F0B5744C65","title":"Item","resourceId":"cam.html","foreignId":8370},{"id":"ITEM-4218CB3B-2767-1405-B60E-683FD8B446F0","title":"Item","foreignId":8371,"href":"cam.html"},{"id":"ITEM-68636AC0-9174-5BA6-F2D7-723D75038477","title":"Item","foreignId":8372,"href":"cam.html"}]},{"id":"ITEM-A398A9B3-8834-BC2C-7248-74F403D6B0B2","title":"Item","foreignId":8373,"href":"cam.html","item":[{"id":"ITEM-A255830A-6D26-C1D0-05E5-F41BBF4EF59E","title":"Item","foreignId":8374},{"id":"ITEM-1C992844-FD6C-F690-E59C-3E24B4D81771","title":"Item","foreignId":8375},{"id":"ITEM-BFAA6BE7-54E8-E64E-C843-7E9FB8414008","title":"Item","foreignId":8376,"item":[{"id":"ITEM-AACF750F-4446-263F-B582-66AC9DD5794A","title":"Item","foreignId":8377}]},{"id":"ITEM-BAFBDB54-1B6D-88E7-4BAB-368C4A7A0EEE","title":"Item","foreignId":8378},{"id":"ITEM-CE1A7F27-3460-8F09-3ADC-3ED5C9EAD410","title":"Item","foreignId":8379}]}],"base":""},"base":"./data/il_scorm2004/lm_data/lm_319/","foreignId":8367,"id":"MANIFEST-54F1704C-B5BA-B7A2-A13E-7BE4F0B9BEB1"}', '0', '100', '0', '', ' - -'); -INSERT INTO cp_package VALUES ('0', '', '{"item":{"id":"API","title":"LMS Test Content Package API ","foreignId":2,"item":[{"id":"activity_1","title":"Asset Launch Test","parameters":"tc=API&act=1","foreignId":3,"href":"resources/AssetLaunchTest.htm","hideLMSUI":[{"value":"suspendAll","foreignId":4}]},{"id":"activity_2","title":"API Implementation Test 1","parameters":"tc=API&act=2","foreignId":5,"href":"resources/APIRTETest1.htm","sco":1,"hideLMSUI":[{"value":"suspendAll","foreignId":6}]},{"id":"activity_3","title":"API Implementation Test 2","parameters":"tc=API&act=3","foreignId":7,"href":"resources/APIRTETest2.htm","sco":1,"hideLMSUI":[{"value":"suspendAll","foreignId":8}]}],"base":""},"base":"./data/ilias3_scorm2004/lm_data/lm_146/","foreignId":1,"id":"LMSTestPackage_API"}', '0', '146', '0', '', ' - -'); -INSERT INTO cp_package VALUES ('0', '', '{"item":{"id":"API","title":"LMS Test Content Package API ","foreignId":44,"item":[{"id":"activity_1","title":"Asset Launch Test","parameters":"tc=API&act=1","foreignId":45,"href":"resources/AssetLaunchTest.htm","hideLMSUI":[{"value":"suspendAll","foreignId":46}]},{"id":"activity_2","title":"API Implementation Test 1","parameters":"tc=API&act=2","foreignId":47,"href":"resources/APIRTETest1.htm","sco":1,"hideLMSUI":[{"value":"suspendAll","foreignId":48}]},{"id":"activity_3","title":"API Implementation Test 2","parameters":"tc=API&act=3","foreignId":49,"href":"resources/APIRTETest2.htm","sco":1,"hideLMSUI":[{"value":"suspendAll","foreignId":50}]}],"base":""},"base":"./data/ilias3_scorm2004/lm_data/lm_147/","foreignId":43,"id":"LMSTestPackage_API"}', '0', '147', '0', '', ' - -'); -INSERT INTO cp_package VALUES ('0', '', '{"item":{"id":"CM-01","title":"LMS Test Content Package CM-01 ","sequencingId":"id3022114","foreignId":86,"item":[{"id":"activity_1","title":"Activity 1","parameters":"tc=CM-01&act=1","sequencingId":"id3004973","foreignId":87,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":88},{"value":"previous","foreignId":89},{"value":"suspendAll","foreignId":90}]},{"id":"activity_2","title":"Activity 2","parameters":"tc=CM-01&act=2","sequencingId":"id3000020","foreignId":91,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":92},{"value":"previous","foreignId":93},{"value":"suspendAll","foreignId":94}]},{"id":"activity_3","title":"Activity 3","parameters":"tc=CM-01&act=3","sequencingId":"id2784313","foreignId":95,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":96},{"value":"previous","foreignId":97},{"value":"suspendAll","foreignId":98}]}],"base":""},"sequencing":[{"id":"id3004973","attemptAbsoluteDurationLimit":"P5Y6M4DT12H30M58S","foreignId":119},{"id":"id3000020","foreignId":120,"objective":[{"primary":true,"objectiveID":"","satisfiedByMeasure":true,"minNormalizedMeasure":0.8,"foreignId":121}]},{"id":"id2784313","attemptAbsoluteDurationLimit":"P5Y6M4DT12H30M58S","foreignId":122,"objective":[{"primary":true,"objectiveID":"","satisfiedByMeasure":true,"minNormalizedMeasure":0.7,"foreignId":123}]},{"id":"id3022114","choice":false,"flow":true,"foreignId":124}],"base":"./data/ilias3_scorm2004/lm_data/lm_148/","foreignId":85,"id":"LMSTestPackage_CM-01"}', '0', '148', '0', '', ' - -'); -INSERT INTO cp_package VALUES ('0', '', '{"item":{"id":"CM-02a","title":"LMS Test Content Package CM-02a ","sequencingId":"id2681290","foreignId":126,"item":[{"id":"activity_1","title":"Activity 1","parameters":"tc=CM-02a&act=1","foreignId":127,"href":"resources/SequencingTest.htm","sco":1},{"id":"activity_2","title":"Activity 2","parameters":"tc=CM-02a&act=2","sequencingId":"id2681375","foreignId":128,"href":"resources/SequencingTest.htm","sco":1},{"id":"activity_3","title":"Activity 3","parameters":"tc=CM-02a&act=3","sequencingId":"id2681311","foreignId":129,"href":"resources/SequencingTest.htm","sco":1}],"base":""},"sequencing":[{"id":"id2681375","foreignId":150,"rule":[{"type":"pre","action":"skip","foreignId":151,"condition":[{"condition":"satisfied","foreignId":152}]}],"objective":[{"primary":true,"objectiveID":"","foreignId":153}]},{"id":"id2681311","foreignId":154,"objective":[{"primary":true,"objectiveID":"PRIMARYOBJ","foreignId":155}]},{"id":"id2681290","choice":false,"flow":true,"foreignId":156}],"base":"./data/ilias3_scorm2004/lm_data/lm_149/","foreignId":125,"id":"LMSTestPackage_CM-02a"}', '0', '149', '0', '', ' - -'); -INSERT INTO cp_package VALUES ('0', '', '{"item":{"id":"CM-02b","title":"LMS Test Content Package CM-02b ","sequencingId":"id2689463","foreignId":158,"item":[{"id":"activity_1","title":"Activity 1","parameters":"tc=CM-02b&act=1","sequencingId":"id2688724","foreignId":159,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":160},{"value":"previous","foreignId":161},{"value":"suspendAll","foreignId":162}]},{"id":"activity_2","title":"Activity 2","parameters":"tc=CM-02b&act=2","sequencingId":"id2688740","foreignId":163,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":164},{"value":"previous","foreignId":165},{"value":"suspendAll","foreignId":166}]},{"id":"activity_3","title":"Activity 3","parameters":"tc=CM-02b&act=3","sequencingId":"id2688775","foreignId":167,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":168},{"value":"previous","foreignId":169},{"value":"suspendAll","foreignId":170}]}],"base":""},"sequencing":[{"id":"id2688724","foreignId":191,"objective":[{"primary":true,"objectiveID":"","foreignId":192},{"primary":false,"objectiveID":"obj1","foreignId":193},{"primary":false,"objectiveID":"obj2","foreignId":194},{"primary":false,"objectiveID":"obj3","foreignId":195}]},{"id":"id2688740","objectiveSetByContent":true,"foreignId":196,"rule":[{"type":"pre","action":"skip","foreignId":197,"condition":[{"condition":"satisfied","foreignId":198}]}],"objective":[{"primary":true,"objectiveID":"PRIMARYOBJ","foreignId":199},{"primary":false,"objectiveID":"obj1","foreignId":200}]},{"id":"id2688775","foreignId":201,"objective":[{"primary":true,"objectiveID":"","foreignId":202},{"primary":false,"objectiveID":"obj1","foreignId":203}]},{"id":"id2689463","choice":false,"flow":true,"foreignId":204}],"base":"./data/ilias3_scorm2004/lm_data/lm_150/","foreignId":157,"id":"LMSTestPackage_CM-02b"}', '0', '150', '0', '', ' - -'); -INSERT INTO cp_package VALUES ('0', '', '{"item":{"id":"CM-03a","title":"LMS Test Content Package CM-03a ","sequencingId":"id2818691","foreignId":206,"item":[{"id":"activity_1","title":"Activity 1","sequencingId":"id2813287","foreignId":207,"item":[{"id":"activity_2","title":"Activity 2","parameters":"tc=CM-03a&act=2","sequencingId":"id2813310","foreignId":208,"href":"resources/SequencingTest.htm","sco":1},{"id":"activity_3","title":"Activity 3","parameters":"tc=CM-03a&act=3","sequencingId":"id2835189","foreignId":209,"href":"resources/SequencingTest.htm","sco":1}]},{"id":"activity_4","title":"Activity 4","sequencingId":"id2835331","foreignId":210,"item":[{"id":"activity_5","title":"Activity 5","parameters":"tc=CM-03a&act=5","sequencingId":"id2813412","foreignId":211,"href":"resources/SequencingTest.htm","sco":1},{"id":"activity_6","title":"Activity 6","parameters":"tc=CM-03a&act=6","sequencingId":"id2813486","foreignId":212,"href":"resources/SequencingTest.htm","sco":1},{"id":"activity_7","title":"Activity 7","parameters":"tc=CM-03a&act=7","sequencingId":"id2819729","foreignId":213,"href":"resources/SequencingTest.htm","sco":1}]},{"id":"activity_8","title":"Activity 8","parameters":"tc=CM-03a&act=8","foreignId":214,"href":"resources/SequencingTest.htm","sco":1}],"base":""},"sequencing":[{"id":"id2813310","foreignId":235,"objective":[{"primary":true,"objectiveID":"","foreignId":236},{"primary":false,"objectiveID":"obj1","foreignId":237}]},{"id":"id2835189","foreignId":238,"objective":[{"primary":true,"objectiveID":"","foreignId":239},{"primary":false,"objectiveID":"obj2","foreignId":240},{"primary":false,"objectiveID":"obj3","foreignId":241},{"primary":false,"objectiveID":"obj4","foreignId":242},{"primary":false,"objectiveID":"obj5","foreignId":243}]},{"id":"id2813287","choice":false,"flow":true,"foreignId":244},{"id":"id2813412","foreignId":245,"rule":[{"type":"pre","action":"skip","foreignId":246,"condition":[{"condition":"attempted","foreignId":247},{"operator":"not","condition":"completed","foreignId":248}]}]},{"id":"id2813486","foreignId":249,"rule":[{"type":"pre","action":"skip","foreignId":250,"condition":[{"condition":"attempted","foreignId":251},{"operator":"not","condition":"completed","foreignId":252}]}]},{"id":"id2819729","foreignId":253,"rule":[{"type":"pre","action":"skip","foreignId":254,"condition":[{"condition":"attempted","foreignId":255},{"operator":"not","condition":"completed","foreignId":256}]}]},{"id":"id2835331","choice":false,"flow":true,"foreignId":257},{"id":"id2818691","choice":false,"flow":true,"foreignId":258}],"base":"./data/ilias3_scorm2004/lm_data/lm_151/","foreignId":205,"id":"LMSTestPackage_CM-03a"}', '0', '151', '0', '', ' - -'); -INSERT INTO cp_package VALUES ('0', '', '{"item":{"id":"CM-03b","title":"LMS Test Content Package CM-03b ","sequencingId":"id2683399","foreignId":260,"item":[{"id":"activity_1","title":"Activity 1","sequencingId":"id2683920","foreignId":261,"item":[{"id":"activity_2","title":"Activity 2","parameters":"tc=CM-03b&act=2","sequencingId":"id2684104","foreignId":262,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":263},{"value":"previous","foreignId":264},{"value":"suspendAll","foreignId":265}]},{"id":"activity_3","title":"Activity 3","parameters":"tc=CM-03b&act=3","sequencingId":"id2683998","foreignId":266,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":267},{"value":"previous","foreignId":268},{"value":"suspendAll","foreignId":269}]}]},{"id":"activity_4","title":"Activity 4","sequencingId":"id2683484","foreignId":270,"item":[{"id":"activity_5","title":"Activity 5","parameters":"tc=CM-03b&act=5","sequencingId":"id2683813","foreignId":271,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":272},{"value":"previous","foreignId":273},{"value":"suspendAll","foreignId":274}]},{"id":"activity_6","title":"Activity 6","parameters":"tc=CM-03b&act=6","sequencingId":"id2683695","foreignId":275,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":276},{"value":"previous","foreignId":277},{"value":"suspendAll","foreignId":278}]},{"id":"activity_7","title":"Activity 7","parameters":"tc=CM-03b&act=7","sequencingId":"id2683563","foreignId":279,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":280},{"value":"previous","foreignId":281},{"value":"suspendAll","foreignId":282}]}]},{"id":"activity_8","title":"Activity 8","parameters":"tc=CM-03b&act=8","foreignId":283,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":284},{"value":"previous","foreignId":285},{"value":"suspendAll","foreignId":286}]}],"base":""},"sequencing":[{"id":"id2684104","foreignId":307,"objective":[{"primary":true,"objectiveID":"PRIMARYOBJ","foreignId":308},{"primary":false,"objectiveID":"obj1","foreignId":309}]},{"id":"id2683998","foreignId":310,"objective":[{"primary":true,"objectiveID":"PRIMARYOBJ","foreignId":311},{"primary":false,"objectiveID":"obj2","foreignId":312},{"primary":false,"objectiveID":"obj3","foreignId":313},{"primary":false,"objectiveID":"obj4","foreignId":314},{"primary":false,"objectiveID":"obj5","foreignId":315},{"primary":false,"objectiveID":"obj6","foreignId":316}]},{"id":"id2683920","choice":false,"flow":true,"foreignId":317},{"id":"id2683813","foreignId":318,"rule":[{"type":"pre","action":"skip","foreignId":319,"condition":[{"condition":"attempted","foreignId":320},{"operator":"not","condition":"completed","foreignId":321}]}]},{"id":"id2683695","foreignId":322,"rule":[{"type":"pre","action":"skip","foreignId":323,"condition":[{"condition":"attempted","foreignId":324},{"operator":"not","condition":"completed","foreignId":325}]}]},{"id":"id2683563","foreignId":326,"rule":[{"type":"pre","action":"skip","foreignId":327,"condition":[{"condition":"attempted","foreignId":328},{"operator":"not","condition":"completed","foreignId":329}]}]},{"id":"id2683484","choice":false,"flow":true,"foreignId":330},{"id":"id2683399","choice":false,"flow":true,"foreignId":331}],"base":"./data/ilias3_scorm2004/lm_data/lm_152/","foreignId":259,"id":"LMSTestPackage_CM-03b"}', '0', '152', '0', '', ' - -'); -INSERT INTO cp_package VALUES ('0', '', '{"item":{"id":"CM-04a","title":"LMS Test Content Package CM-04a ","foreignId":333,"item":[{"id":"activity_1","title":"Activity 1","foreignId":334,"item":[{"id":"activity_2","title":"Activity 2","parameters":"tc=CM-04a&act=2","foreignId":335,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":336},{"value":"previous","foreignId":337},{"value":"suspendAll","foreignId":338}]},{"id":"__CM-04a.Activity.3__","title":"Activity 3","parameters":"tc=CM-04a&act=3","foreignId":339,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":340},{"value":"previous","foreignId":341},{"value":"suspendAll","foreignId":342}]}]},{"id":"activity_4","title":"Activity 4","foreignId":343,"item":[{"id":"activity_5","title":"Activity 5","parameters":"tc=CM-04a&act=5","foreignId":344,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":345},{"value":"previous","foreignId":346},{"value":"suspendAll","foreignId":347}]},{"id":"activity_6","title":"Activity 6","parameters":"tc=CM-04a&act=6","foreignId":348,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":349},{"value":"previous","foreignId":350},{"value":"suspendAll","foreignId":351}]},{"id":"activity_7","title":"Activity 7","parameters":"tc=CM-04a&act=7","foreignId":352,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":353},{"value":"previous","foreignId":354},{"value":"suspendAll","foreignId":355}]}]},{"id":"activity_8","title":"Activity 8","foreignId":356,"item":[{"id":"_9_","title":"Activity 9","parameters":"tc=CM-04a&act=9","foreignId":357,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":358},{"value":"previous","foreignId":359},{"value":"suspendAll","foreignId":360}]},{"id":"activity_10","title":"Activity 10","foreignId":361,"item":[{"id":"_.activity.11","title":"Activity 11","sequencingId":"id2784280","foreignId":362,"item":[{"id":"activity_12","title":"Activity 12","parameters":"tc=CM-04a&act=12","foreignId":363,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":364},{"value":"previous","foreignId":365},{"value":"suspendAll","foreignId":366}]},{"id":"activity_13","title":"Activity 13","parameters":"tc=CM-04a&act=13","foreignId":367,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":368},{"value":"previous","foreignId":369},{"value":"suspendAll","foreignId":370}]}]},{"id":"Activity.14_LEAF","title":"Activity 14","parameters":"tc=CM-04a&act=14","foreignId":371,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":372},{"value":"previous","foreignId":373},{"value":"suspendAll","foreignId":374}]}]}]},{"id":"Activity-15","title":"Activity 15","parameters":"tc=CM-04a&act=15","foreignId":375,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":376},{"value":"previous","foreignId":377},{"value":"suspendAll","foreignId":378}]}],"base":""},"sequencing":[{"id":"id2784280","flow":true,"foreignId":399}],"base":"./data/ilias3_scorm2004/lm_data/lm_153/","foreignId":332,"id":"LMSTestPackage_CM-04a"}', '0', '153', '0', '', ' - -'); -INSERT INTO cp_package VALUES ('0', '', '{"item":{"id":"CM-04b","title":"LMS Test Content Package CM-04b ","sequencingId":"id2690686","foreignId":401,"item":[{"id":"activity_1","title":"Activity 1","sequencingId":"id2688676","foreignId":402,"item":[{"id":"activity_2","title":"Activity 2","parameters":"tc=CM-04b&act=2","foreignId":403,"href":"resources/SequencingTest.htm","sco":1},{"id":"activity_3","title":"Activity 3","parameters":"tc=CM-04b&act=3","foreignId":404,"href":"resources/SequencingTest.htm","sco":1}]},{"id":"activity_4","title":"Activity 4","foreignId":405,"item":[{"id":"activity_5","title":"Activity 5","parameters":"tc=CM-04b&act=5","foreignId":406,"href":"resources/SequencingTest.htm","sco":1},{"id":"activity_6","title":"Activity 6","parameters":"tc=CM-04b&act=6","foreignId":407,"href":"resources/SequencingTest.htm","sco":1},{"id":"activity_7","title":"Activity 7","parameters":"tc=CM-04b&act=7","foreignId":408,"href":"resources/SequencingTest.htm","sco":1}]},{"id":"activity_8","title":"Activity 8","foreignId":409,"item":[{"id":"activity_9","title":"Activity 9","parameters":"tc=CM-04b&act=9","foreignId":410,"href":"resources/SequencingTest.htm","sco":1},{"id":"activity_10","title":"Activity 10","sequencingId":"id2690845","foreignId":411,"item":[{"id":"activity_11","title":"Activity 11","sequencingId":"id2688662","foreignId":412,"item":[{"id":"activity_12","title":"Activity 12","parameters":"tc=CM-04b&act=12","foreignId":413,"href":"resources/SequencingTest.htm","sco":1},{"id":"activity_13","title":"Activity 13","parameters":"tc=CM-04b&act=13","foreignId":414,"href":"resources/SequencingTest.htm","sco":1}]},{"id":"activity_14","title":"Activity 14","parameters":"tc=CM-04b&act=14","foreignId":415,"href":"resources/SequencingTest.htm","sco":1}]}]},{"id":"activity_15","title":"Activity 15","parameters":"tc=CM-04b&act=15","foreignId":416,"href":"resources/SequencingTest.htm","sco":1}],"base":""},"sequencing":[{"id":"id2688676","flow":true,"foreignId":437},{"id":"id2688662","flow":true,"foreignId":438,"rule":[{"type":"pre","action":"skip","foreignId":439,"condition":[{"condition":"attempted","foreignId":440}]}]},{"id":"id2690845","flow":true,"foreignId":441},{"id":"id2690686","flow":true,"foreignId":442}],"base":"./data/ilias3_scorm2004/lm_data/lm_154/","foreignId":400,"id":"LMSTestPackage_CM-04b"}', '0', '154', '0', '', ' - -'); -INSERT INTO cp_package VALUES ('0', '', '{"item":{"id":"CM-04c","title":"LMS Test Content Package CM-04c ","foreignId":444,"item":[{"id":"activity_1","title":"Activity 1","sequencingId":"id2684529","foreignId":445,"item":[{"id":"activity_2","title":"Activity 2","parameters":"tc=CM-04c&act=2","foreignId":446,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":447},{"value":"previous","foreignId":448},{"value":"suspendAll","foreignId":449}]},{"id":"activity_3","title":"Activity 3","parameters":"tc=CM-04c&act=3","foreignId":450,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":451},{"value":"previous","foreignId":452},{"value":"suspendAll","foreignId":453}]}]},{"id":"activity_4","title":"Activity 4","foreignId":454,"item":[{"id":"activity_5","title":"Activity 5","parameters":"tc=CM-04c&act=5","foreignId":455,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":456},{"value":"previous","foreignId":457},{"value":"suspendAll","foreignId":458}]},{"id":"activity_6","title":"Activity 6","parameters":"tc=CM-04c&act=6","foreignId":459,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":460},{"value":"previous","foreignId":461},{"value":"suspendAll","foreignId":462}]},{"id":"activity_7","title":"Activity 7","parameters":"tc=CM-04c&act=7","foreignId":463,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":464},{"value":"previous","foreignId":465},{"value":"suspendAll","foreignId":466}]}]},{"id":"activity_8","title":"Activity 8","foreignId":467,"item":[{"id":"activity_9","title":"Activity 9","parameters":"tc=CM-04c&act=9","foreignId":468,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":469},{"value":"previous","foreignId":470},{"value":"suspendAll","foreignId":471}]},{"id":"activity_10","title":"Activity 10","sequencingId":"id2683882","foreignId":472,"item":[{"id":"activity_11","title":"Activity 11","sequencingId":"id2684033","foreignId":473,"item":[{"id":"activity_12","title":"Activity 12","parameters":"tc=CM-04c&act=12","foreignId":474,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":475},{"value":"previous","foreignId":476},{"value":"suspendAll","foreignId":477}]},{"id":"activity_13","title":"Activity 13","parameters":"tc=CM-04c&act=13","foreignId":478,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":479},{"value":"previous","foreignId":480},{"value":"suspendAll","foreignId":481}]}]},{"id":"activity_14","title":"Activity 14","parameters":"tc=CM-04c&act=14","foreignId":482,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":483},{"value":"previous","foreignId":484},{"value":"suspendAll","foreignId":485}]}]}]},{"id":"activity_15","title":"Activity 15","parameters":"tc=CM-04c&act=15","foreignId":486,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":487},{"value":"previous","foreignId":488},{"value":"suspendAll","foreignId":489}]}],"base":""},"sequencing":[{"id":"id2684529","flow":true,"foreignId":510},{"id":"id2684033","flow":true,"foreignId":511,"rule":[{"type":"pre","action":"skip","foreignId":512,"condition":[{"condition":"attempted","foreignId":513}]}]},{"id":"id2683882","flow":true,"foreignId":514}],"base":"./data/ilias3_scorm2004/lm_data/lm_155/","foreignId":443,"id":"LMSTestPackage_CM-04c"}', '0', '155', '0', '', ' - -'); -INSERT INTO cp_package VALUES ('0', '', '{"item":{"id":"CM-04d","title":"LMS Test Content Package CM-04d ","foreignId":516,"item":[{"id":"activity_1","title":"Activity 1","sequencingId":"id2829866","foreignId":517,"item":[{"id":"activity_2","title":"Activity 2","parameters":"tc=CM-04d&act=2","foreignId":518,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":519},{"value":"previous","foreignId":520},{"value":"suspendAll","foreignId":521}]},{"id":"activity_3","title":"Activity 3","isvisible":false,"parameters":"tc=CM-04d&act=3","foreignId":522,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":523},{"value":"previous","foreignId":524},{"value":"suspendAll","foreignId":525}]}]},{"id":"activity_4","title":"Activity 4","foreignId":526,"item":[{"id":"activity_5","title":"Activity 5","parameters":"tc=CM-04d&act=5","foreignId":527,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":528},{"value":"previous","foreignId":529},{"value":"suspendAll","foreignId":530}]},{"id":"_6Sample-act","title":"Activity 6","isvisible":false,"parameters":"tc=CM-04d&act=6","foreignId":531,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":532},{"value":"previous","foreignId":533},{"value":"suspendAll","foreignId":534}]},{"id":"activity_7","title":"Activity 7","parameters":"tc=CM-04d&act=7","foreignId":535,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":536},{"value":"previous","foreignId":537},{"value":"suspendAll","foreignId":538}]}]},{"id":"activity_8","title":"Activity 8","foreignId":539,"item":[{"id":"activity_9","title":"Activity 9","parameters":"tc=CM-04d&act=9","foreignId":540,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":541},{"value":"previous","foreignId":542},{"value":"suspendAll","foreignId":543}]},{"id":"activity_10","title":"Activity 10","foreignId":544,"item":[{"id":"activity_11","title":"Activity 11","foreignId":545,"item":[{"id":"activity_12","title":"Activity 12","parameters":"tc=CM-04d&act=12","foreignId":546,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":547},{"value":"previous","foreignId":548},{"value":"suspendAll","foreignId":549}]},{"id":"Sample-act-13","title":"Activity 13","parameters":"tc=CM-04d&act=13","foreignId":550,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":551},{"value":"previous","foreignId":552},{"value":"suspendAll","foreignId":553}]}]},{"id":"activity_14","title":"Activity 14","isvisible":false,"parameters":"tc=CM-04d&act=14","foreignId":554,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":555},{"value":"previous","foreignId":556},{"value":"suspendAll","foreignId":557}]}]}]},{"id":"Sample15","title":"Activity 15","isvisible":false,"parameters":"tc=CM-04d&act=15","foreignId":558,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":559},{"value":"previous","foreignId":560},{"value":"suspendAll","foreignId":561}]}],"base":""},"sequencing":[{"id":"id2829866","flow":true,"foreignId":582}],"base":"./data/ilias3_scorm2004/lm_data/lm_156/","foreignId":515,"id":"LMSTestPackage_CM-04d"}', '0', '156', '0', '', ' - -'); -INSERT INTO cp_package VALUES ('0', '', '{"item":{"id":"CM-05","title":"LMS Test Content Package CM-05","sequencingId":"id3042067","foreignId":584,"item":[{"id":"activity_1","title":"Activity 1","parameters":"tc=CM-05&act=1","foreignId":585,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":586},{"value":"previous","foreignId":587},{"value":"suspendAll","foreignId":588}]},{"id":"activity_2","title":"Activity 2","sequencingId":"id3022102","foreignId":589,"item":[{"id":"activity_3","title":"Activity 3","sequencingId":"id3028815","foreignId":590,"item":[{"id":"activity_4","title":"Activity 4","parameters":"tc=CM-05&act=4","foreignId":591,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":592},{"value":"previous","foreignId":593},{"value":"suspendAll","foreignId":594}]},{"id":"activity_5","title":"Activity 5","parameters":"tc=CM-05&act=5","foreignId":595,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":596},{"value":"previous","foreignId":597},{"value":"suspendAll","foreignId":598}]},{"id":"activity_6","title":"Activity 6","parameters":"tc=CM-05&act=6","foreignId":599,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":600},{"value":"previous","foreignId":601},{"value":"suspendAll","foreignId":602}]}]},{"id":"activity_7","title":"Activity 7","parameters":"tc=CM-05&act=7","foreignId":603,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":604},{"value":"previous","foreignId":605},{"value":"suspendAll","foreignId":606}]},{"id":"activity_8","title":"Activity 8","parameters":"tc=CM-05&act=8","foreignId":607,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":608},{"value":"previous","foreignId":609},{"value":"suspendAll","foreignId":610}]}]},{"id":"activity_9","title":"Activity 9","parameters":"tc=CM-05&act=9","foreignId":611,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":612},{"value":"previous","foreignId":613},{"value":"suspendAll","foreignId":614}]}],"base":""},"sequencing":[{"id":"id3028815","flow":true,"foreignId":635},{"id":"id3022102","flow":true,"foreignId":636},{"id":"id3042067","flow":true,"foreignId":637}],"base":"./data/ilias3_scorm2004/lm_data/lm_157/","foreignId":583,"id":"LMSTestPackage_CM-05"}', '0', '157', '0', '', ' - -'); -INSERT INTO cp_package VALUES ('0', '', '{"item":{"id":"CM-06","title":"LMS Test Content Package CM-06","sequencingId":"id2827862","foreignId":639,"item":[{"id":"activity_1","title":"Activity 1","parameters":"tc=CM-06&act=1","foreignId":640,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":641},{"value":"previous","foreignId":642},{"value":"suspendAll","foreignId":643}]},{"id":"activity_2","title":"Activity 2","parameters":"tc=CM-06&act=2","foreignId":644,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":645},{"value":"previous","foreignId":646},{"value":"suspendAll","foreignId":647}]},{"id":"activity_3","title":"Activity 3","parameters":"tc=CM-06&act=3","foreignId":648,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":649},{"value":"previous","foreignId":650},{"value":"suspendAll","foreignId":651}]}],"base":""},"sequencing":[{"id":"id2827862","choice":false,"flow":true,"foreignId":672}],"base":"./data/ilias3_scorm2004/lm_data/lm_158/","foreignId":638,"id":"LMSTestPackage_CM-06"}', '0', '158', '0', '', ' - -'); -INSERT INTO cp_package VALUES ('0', '', '{"item":{"id":"CM-07a","title":"LMS Test Content Package CM-07a ","sequencingId":"id2837362","foreignId":674,"item":[{"id":"activity_1","title":"Activity 1","sequencingId":"id2837640","foreignId":675,"item":[{"id":"activity_2","title":"Activity 2","sequencingId":"id2815570","foreignId":676,"item":[{"id":"activity_3","title":"Activity 3","parameters":"tc=CM-07a&act=3","foreignId":677,"href":"resources/SequencingTest.htm","sco":1},{"id":"activity_4","title":"Activity 4","parameters":"tc=CM-07a&act=4","foreignId":678,"href":"resources/SequencingTest.htm","sco":1},{"id":"activity_5","title":"Activity 5","parameters":"tc=CM-07a&act=5","sequencingId":"id2813725","foreignId":679,"href":"resources/SequencingTestFail.htm","sco":1}]},{"id":"activity_6","title":"Activity 6","parameters":"tc=CM-07a&act=6","sequencingId":"id2832153","foreignId":680,"href":"resources/SequencingTest.htm","sco":1},{"id":"activity_7","title":"Activity 7","parameters":"tc=CM-07a&act=7","foreignId":681,"href":"resources/SequencingTest.htm","sco":1}]},{"id":"activity_8","title":"Activity 8","sequencingId":"id2813947","foreignId":682,"item":[{"id":"activity_9","title":"Activity 9","parameters":"tc=CM-07a&act=9","foreignId":683,"href":"resources/SequencingTest.htm","sco":1},{"id":"activity_10","title":"Activity 10","parameters":"tc=CM-07a&act=10","sequencingId":"id2837777","foreignId":684,"href":"resources/SequencingTest.htm","sco":1},{"id":"activity_11","title":"Activity 11","sequencingId":"id2813936","foreignId":685,"item":[{"id":"activity_12","title":"Activity 12","parameters":"tc=CM-07a&act=12","foreignId":686,"href":"resources/SequencingTest.htm","sco":1},{"id":"activity_13","title":"Activity 13","parameters":"tc=CM-07a&act=13","foreignId":687,"href":"resources/SequencingTest.htm","sco":1},{"id":"activity_14","title":"Activity 14","parameters":"tc=CM-07a&act=14","sequencingId":"id2837306","foreignId":688,"href":"resources/SequencingTest.htm","sco":1}]}]}],"base":""},"sequencing":[{"id":"id2813725","foreignId":716,"rule":[{"type":"pre","action":"disabled","foreignId":717,"condition":[{"condition":"always","foreignId":718}]}]},{"id":"id2815570","flow":true,"foreignId":719},{"id":"id2832153","choiceExit":false,"foreignId":720},{"id":"id2837640","choiceExit":false,"flow":true,"foreignId":721},{"id":"id2837777","choiceExit":false,"foreignId":722},{"id":"id2837306","foreignId":723,"rule":[{"type":"pre","action":"disabled","foreignId":724,"condition":[{"condition":"always","foreignId":725}]}]},{"id":"id2813936","flow":true,"foreignId":726},{"id":"id2813947","choiceExit":false,"flow":true,"foreignId":727},{"id":"id2837362","flow":true,"foreignId":728}],"base":"./data/ilias3_scorm2004/lm_data/lm_159/","foreignId":673,"id":"LMSTestPackage_CM-07a"}', '0', '159', '0', '', ' - -'); -INSERT INTO cp_package VALUES ('0', '', '{"item":{"id":"CM-07b","title":"LMS Test Content Package CM-07b","foreignId":730,"item":[{"id":"activity_1","title":"Activity 1","sequencingId":"id3020067","foreignId":731,"item":[{"id":"activity_2","title":"Activity 2","parameters":"tc=CM-07b&act=2","sequencingId":"id3024937","foreignId":732,"href":"resources/SequencingTest.htm","sco":1},{"id":"activity_3","title":"Activity 3","parameters":"tc=CM-07b&act=3","foreignId":733,"href":"resources/SequencingTest.htm","sco":1}]},{"id":"activity_4","title":"Activity 4","sequencingId":"id3022124","foreignId":734,"item":[{"id":"activity_5","title":"Activity 5","sequencingId":"id3028800","foreignId":735,"item":[{"id":"activity_6","title":"Activity 6","parameters":"tc=CM-07b&act=6","foreignId":736,"href":"resources/SequencingTest.htm","sco":1},{"id":"activity_7","title":"Activity 7","parameters":"tc=CM-07b&act=7","foreignId":737,"href":"resources/SequencingTest.htm","sco":1}]},{"id":"activity_8","title":"Activity 8","parameters":"tc=CM-07b&act=8","foreignId":738,"href":"resources/SequencingTest.htm","sco":1}]},{"id":"activity_9","title":"Activity 9","sequencingId":"id3020956","foreignId":739,"item":[{"id":"activity_10","title":"Activity 10","sequencingId":"id3020285","foreignId":740,"item":[{"id":"activity_11","title":"Activity 11","parameters":"tc=CM-07b&act=11","foreignId":741,"href":"resources/SequencingTest.htm","sco":1},{"id":"activity_12","title":"Activity 12","parameters":"tc=CM-07b&act=12","foreignId":742,"href":"resources/SequencingTestFail.htm","sco":1}]},{"id":"activity_13","title":"Activity 13","sequencingId":"id3020988","foreignId":743,"item":[{"id":"activity_14","title":"Activity 14","sequencingId":"id3024549","foreignId":744,"item":[{"id":"activity_15","title":"Activity 15","parameters":"tc=CM-07b&act=15","sequencingId":"id3020228","foreignId":745,"href":"resources/SequencingTest.htm","sco":1},{"id":"activity_16","title":"Activity 16","parameters":"tc=CM-07b&act=16","sequencingId":"id3024605","foreignId":746,"href":"resources/SequencingTest.htm","sco":1}]},{"id":"activity_17","title":"Activity 17","parameters":"tc=CM-07b&act=17","foreignId":747,"href":"resources/SequencingTest.htm","sco":1}]}]},{"id":"activity_18","title":"Activity 18","foreignId":748,"item":[{"id":"activity_19","title":"Activity 19","parameters":"tc=CM-07b&act=19","foreignId":749,"href":"resources/SequencingTest.htm","sco":1},{"id":"activity_20","title":"Activity 20","parameters":"tc=CM-07b&act=20","foreignId":750,"href":"resources/SequencingTest.htm","sco":1},{"id":"activity_21","title":"Activity 21","parameters":"tc=CM-07b&act=21","foreignId":751,"href":"resources/SequencingTest.htm","sco":1}]}],"base":""},"sequencing":[{"id":"id3024937","foreignId":779,"rule":[{"type":"pre","action":"skip","foreignId":780,"condition":[{"condition":"always","foreignId":781}]}]},{"id":"id3020067","flow":true,"foreignId":782},{"id":"id3028800","flow":true,"foreignId":783},{"id":"id3022124","flow":true,"foreignId":784,"rule":[{"type":"pre","action":"disabled","foreignId":785,"condition":[{"condition":"always","foreignId":786}]}]},{"id":"id3020285","flow":true,"foreignId":787},{"id":"id3020228","foreignId":788,"rule":[{"type":"pre","action":"skip","foreignId":789,"condition":[{"condition":"always","foreignId":790}]}]},{"id":"id3024605","foreignId":791,"rule":[{"type":"pre","action":"skip","foreignId":792,"condition":[{"condition":"attempted","foreignId":793}]}]},{"id":"id3024549","flow":true,"foreignId":794},{"id":"id3020988","flow":true,"foreignId":795},{"id":"id3020956","flow":true,"foreignId":796}],"base":"./data/ilias3_scorm2004/lm_data/lm_160/","foreignId":729,"id":"LMSTestPackage_CM-07b"}', '0', '160', '0', '', ' - -'); -INSERT INTO cp_package VALUES ('0', '', '{"item":{"id":"CM-07c","title":"LMS Test Content Package CM-07c","sequencingId":"id2621280","foreignId":798,"item":[{"id":"activity_1","title":"Activity 1","sequencingId":"id2621923","foreignId":799,"item":[{"id":"activity_2","title":"Activity 2","parameters":"tc=CM-07c&act=2","sequencingId":"id2621964","foreignId":800,"href":"resources/SequencingTest.htm","sco":1},{"id":"activity_3","title":"Activity 3","parameters":"tc=CM-07c&act=3","foreignId":801,"href":"resources/SequencingTest.htm","sco":1}]},{"id":"activity_4","title":"Activity 4","sequencingId":"id2621616","foreignId":802,"item":[{"id":"activity_5","title":"Activity 5","sequencingId":"id2621754","foreignId":803,"item":[{"id":"activity_6","title":"Activity 6","parameters":"tc=CM-07c&act=6","foreignId":804,"href":"resources/SequencingTest.htm","sco":1},{"id":"activity_7","title":"Activity 7","parameters":"tc=CM-07c&act=7","sequencingId":"id2621788","foreignId":805,"href":"resources/SequencingTest.htm","sco":1}]},{"id":"activity_8","title":"Activity 8","parameters":"tc=CM-07c&act=8","foreignId":806,"href":"resources/SequencingTest.htm","sco":1}]},{"id":"activity_9","title":"Activity 9","sequencingId":"id2621419","foreignId":807,"item":[{"id":"activity_10","title":"Activity 10","isvisible":false,"parameters":"tc=CM-07c&act=10","foreignId":808,"href":"resources/SequencingTest.htm","sco":1},{"id":"activity_11","title":"Activity 11","sequencingId":"id2621435","foreignId":809,"item":[{"id":"activity_12","title":"Activity 12","sequencingId":"id2621504","foreignId":810,"item":[{"id":"activity_13","title":"Activity 13","parameters":"tc=CM-07c&act=13","foreignId":811,"href":"resources/SequencingTest.htm","sco":1},{"id":"activity_14","title":"Activity 14","parameters":"tc=CM-07c&act=14","foreignId":812,"href":"resources/SequencingTest.htm","sco":1}]},{"id":"activity_15","title":"Activity 15","parameters":"tc=CM-07c&act=15","foreignId":813,"href":"resources/SequencingTest.htm","sco":1}]}]},{"id":"activity_16","title":"Activity 16","sequencingId":"id2621296","foreignId":814,"item":[{"id":"activity_17","title":"Activity 17","parameters":"tc=CM-07c&act=17","foreignId":815,"href":"resources/SequencingTest.htm","sco":1},{"id":"activity_18","title":"Activity 18","parameters":"tc=CM-07c&act=18","sequencingId":"id2621312","foreignId":816,"href":"resources/SequencingTest.htm","sco":1}]}],"base":""},"sequencing":[{"id":"id2621964","attemptLimit":1,"foreignId":837},{"id":"id2621923","flow":true,"foreignId":838},{"id":"id2621788","foreignId":839,"rule":[{"type":"pre","action":"hiddenFromChoice","foreignId":840,"condition":[{"condition":"always","foreignId":841}]}]},{"id":"id2621754","flow":true,"foreignId":842},{"id":"id2621616","flow":true,"foreignId":843,"rule":[{"type":"pre","action":"hiddenFromChoice","foreignId":844,"condition":[{"condition":"attempted","foreignId":845}]}]},{"id":"id2621504","flow":true,"foreignId":846},{"id":"id2621435","flow":true,"attemptLimit":1,"foreignId":847},{"id":"id2621419","flow":true,"foreignId":848},{"id":"id2621312","foreignId":849,"rule":[{"type":"pre","action":"disabled","foreignId":850,"condition":[{"condition":"always","foreignId":851}]}]},{"id":"id2621296","flow":true,"foreignId":852},{"id":"id2621280","flow":true,"foreignId":853}],"base":"./data/ilias3_scorm2004/lm_data/lm_161/","foreignId":797,"id":"LMSTestPackage_CM-07c"}', '0', '161', '0', '', ' - -'); -INSERT INTO cp_package VALUES ('0', '', '{"item":{"id":"CM-07d","title":"LMS Test Content Package CM-07d","sequencingId":"id2675796","foreignId":855,"item":[{"id":"activity_1","title":"Activity 1","sequencingId":"id2676334","foreignId":856,"item":[{"id":"activity_2","title":"Activity 2","parameters":"tc=CM-07d&act=2","foreignId":857,"href":"resources/SequencingTest.htm","sco":1},{"id":"activity_3","title":"Activity 3","parameters":"tc=CM-07d&act=3","foreignId":858,"href":"resources/SequencingTest.htm","sco":1}]},{"id":"activity_4","title":"Activity 4","sequencingId":"id2676165","foreignId":859,"item":[{"id":"activity_5","title":"Activity 5","foreignId":860,"item":[{"id":"activity_6","title":"Activity 6","parameters":"tc=CM-07d&act=6","foreignId":861,"href":"resources/SequencingTest.htm","sco":1},{"id":"activity_7","title":"Activity 7","parameters":"tc=CM-07d&act=7","foreignId":862,"href":"resources/SequencingTest.htm","sco":1}]},{"id":"activity_8","title":"Activity 8","parameters":"tc=CM-07d&act=8","foreignId":863,"href":"resources/SequencingTest.htm","sco":1}]},{"id":"activity_9","title":"Activity 9","sequencingId":"id2675940","foreignId":864,"item":[{"id":"activity_10","title":"Activity 10","parameters":"tc=CM-07d&act=10","foreignId":865,"href":"resources/SequencingTest.htm","sco":1},{"id":"activity_11","title":"Activity 11","sequencingId":"id2675982","foreignId":866,"item":[{"id":"activity_12","title":"Activity 12","sequencingId":"id2676043","foreignId":867,"item":[{"id":"activity_13","title":"Activity 13","parameters":"tc=CM-07d&act=13","sequencingId":"id2676063","foreignId":868,"href":"resources/SequencingTest.htm","sco":1},{"id":"activity_14","title":"Activity 14","parameters":"tc=CM-07d&act=14","foreignId":869,"href":"resources/SequencingTest.htm","sco":1}]},{"id":"activity_15","title":"Activity 15","parameters":"tc=CM-07d&act=15","foreignId":870,"href":"resources/SequencingTest.htm","sco":1}]}]},{"id":"activity_16","title":"Activity 16","sequencingId":"id2675857","foreignId":871,"item":[{"id":"activity_17","title":"Activity 17","parameters":"tc=CM-07d&act=17","foreignId":872,"href":"resources/SequencingTest.htm","sco":1},{"id":"activity_18","title":"Activity 18","parameters":"tc=CM-07d&act=18","foreignId":873,"href":"resources/SequencingTest.htm","sco":1}]}],"base":""},"sequencing":[{"id":"id2676334","flow":true,"foreignId":894},{"id":"id2676165","constrainChoice":true,"foreignId":895},{"id":"id2676063","preventActivation":true,"constrainChoice":true,"foreignId":896},{"id":"id2676043","flow":true,"preventActivation":true,"foreignId":897},{"id":"id2675982","flow":true,"constrainChoice":true,"foreignId":898},{"id":"id2675940","flow":true,"constrainChoice":true,"foreignId":899},{"id":"id2675857","flow":true,"preventActivation":true,"constrainChoice":true,"foreignId":900},{"id":"id2675796","choice":false,"flow":true,"foreignId":901}],"base":"./data/ilias3_scorm2004/lm_data/lm_162/","foreignId":854,"id":"LMSTestPackage_CM-07d"}', '0', '162', '0', '', ' - -'); -INSERT INTO cp_package VALUES ('0', '', '{"item":{"id":"CASETEST","title":"LMS Test Content Package CM-07e","sequencingId":"id2619357","foreignId":903,"item":[{"id":"activity_1","title":"Activity 1","parameters":"tc=CM-07e&act=1","foreignId":904,"href":"resources/SequencingTest.htm","sco":1},{"id":"activity_2","title":"Activity 2","sequencingId":"id2619344","foreignId":905,"item":[{"id":"CaseTest","title":"Activity 3","parameters":"tc=CM-07e&act=3","foreignId":906,"href":"resources/SequencingTest.htm","sco":1},{"id":"activity_4","title":"Activity 4","sequencingId":"id2618515","foreignId":907,"item":[{"id":"activity_5","title":"Activity 5","parameters":"tc=CM-07e&act=5","foreignId":908,"href":"resources/SequencingTest.htm","sco":1},{"id":"activity_6","title":"Activity 6","parameters":"tc=CM-07e&act=6","foreignId":909,"href":"resources/SequencingTest.htm","sco":1}]}]}],"base":""},"sequencing":[{"id":"id2618515","flow":true,"foreignId":930,"rule":[{"type":"pre","action":"stopForwardTraversal","foreignId":931,"condition":[{"condition":"always","foreignId":932}]}]},{"id":"id2619344","flow":true,"foreignId":933},{"id":"id2619357","flow":true,"foreignId":934}],"base":"./data/ilias3_scorm2004/lm_data/lm_163/","foreignId":902,"id":"LMSTestPackage_CM-07e"}', '0', '163', '0', '', ' - -'); -INSERT INTO cp_package VALUES ('0', '', '{"item":{"id":"CM-07f","title":"LMS Test Content Package CM-07f","sequencingId":"id2680488","foreignId":936,"item":[{"id":"activity_1","title":"Activity 1","parameters":"tc=CM-07f&act=1","sequencingId":"id2680596","foreignId":937,"href":"resources/SequencingTest.htm","sco":1},{"id":"activity_2","title":"Activity 2","parameters":"tc=CM-07f&act=2","foreignId":938,"href":"resources/SequencingTest.htm","sco":1},{"id":"activity_3","title":"Activity 3","parameters":"tc=CM-07f&act=3","foreignId":939,"href":"resources/SequencingTest.htm","sco":1},{"id":"activity_4","title":"Activity 4","parameters":"tc=CM-07f&act=4","foreignId":940,"href":"resources/SequencingTest.htm","sco":1}],"base":""},"sequencing":[{"id":"id2680596","foreignId":961,"rule":[{"type":"pre","action":"stopForwardTraversal","foreignId":962,"condition":[{"condition":"always","foreignId":963}]}]},{"id":"id2680488","flow":true,"foreignId":964}],"base":"./data/ilias3_scorm2004/lm_data/lm_164/","foreignId":935,"id":"LMSTestPackage_CM-07f"}', '0', '164', '0', '', ' - -'); -INSERT INTO cp_package VALUES ('0', '', '{"item":{"id":"CM-08","title":"LMS Test Content Package CM-08","sequencingId":"GeneralSequencing","foreignId":966,"item":[{"id":"activity_1","title":"Activity 1","parameters":"tc=CM-08&act=1","sequencingId":"id2682236","foreignId":967,"href":"resources/SequencingTest.htm","sco":1},{"id":"activity_2","title":"Activity 2","parameters":"tc=CM-08&act=2","sequencingId":"id2681702","foreignId":968,"href":"resources/SequencingTest.htm","sco":1}],"base":""},"sequencing":[{"id":"id2682236","sequencingId":"GeneralSequencing","foreignId":989,"rule":[{"type":"post","action":"exitAll","foreignId":990,"condition":[{"condition":"always","foreignId":991}]}]},{"id":"id2681702","foreignId":992},{"id":"GeneralSequencing","flow":true,"foreignId":993}],"base":"./data/ilias3_scorm2004/lm_data/lm_165/","foreignId":965,"id":"LMSTestPackage_CM-08"}', '0', '165', '0', '', ' - -'); -INSERT INTO cp_package VALUES ('0', '', '{"item":{"id":"DMB","title":"LMS Test Content Package DMB ","foreignId":995,"item":[{"id":"activity_1","title":"Data Model Behavior Test 1","parameters":"tc=DMB&act=1","foreignId":996,"href":"resources/DMBehaviorTest1.htm","sco":1,"hideLMSUI":[{"value":"suspendAll","foreignId":997}]},{"id":"activity_2","title":"Data Model Behavior Test 2","parameters":"tc=DMB&act=2","completionThreshold":0.8,"foreignId":998,"href":"resources/DMBehaviorTest2.htm","sco":1,"hideLMSUI":[{"value":"suspendAll","foreignId":999}]},{"id":"activity_3","title":"Data Model Behavior Test 3","parameters":"tc=DMB&act=3","sequencingId":"id2624021","foreignId":1000,"href":"resources/DMBehaviorTest3.htm","sco":1,"hideLMSUI":[{"value":"suspendAll","foreignId":1001}]},{"id":"activity_4","title":"Data Model Behavior Test 4","parameters":"tc=DMB&act=4","sequencingId":"id2623911","foreignId":1002,"href":"resources/DMBehaviorTest4.htm","sco":1,"hideLMSUI":[{"value":"suspendAll","foreignId":1003}]},{"id":"activity_5","title":"Data Model Behavior Test 5","parameters":"tc=DMB&act=5","sequencingId":"id2623838","foreignId":1004,"href":"resources/DMBehaviorTest5.htm","sco":1,"hideLMSUI":[{"value":"suspendAll","foreignId":1005}]},{"id":"activity_6","title":"Data Model Behavior Test 6","parameters":"tc=DMB&act=6","completionThreshold":0.6,"sequencingId":"id2623724","foreignId":1006,"href":"resources/DMBehaviorTest6.htm","sco":1,"hideLMSUI":[{"value":"suspendAll","foreignId":1007}]},{"id":"activity_7","title":"Data Model Behavior Test 7","parameters":"tc=DMB&act=7","sequencingId":"id2623628","foreignId":1008,"href":"resources/DMBehaviorTest7.htm","sco":1,"hideLMSUI":[{"value":"suspendAll","foreignId":1009}]},{"id":"activity_8","title":"Data Model Behavior Test 8","parameters":"tc=DMB&act=8","sequencingId":"id2623522","foreignId":1010,"href":"resources/DMBehaviorTest8.htm","sco":1,"hideLMSUI":[{"value":"suspendAll","foreignId":1011}]},{"id":"activity_9","title":"Data Model Behavior Test 9","parameters":"tc=DMB&act=9","foreignId":1012,"href":"resources/DMBehaviorTest9.htm","sco":1,"hideLMSUI":[{"value":"suspendAll","foreignId":1013}]}],"base":""},"sequencing":[{"id":"id2624021","foreignId":1090,"objective":[{"primary":true,"objectiveID":"SEQSUCCESSSTATUSOVERRIDE01","satisfiedByMeasure":true,"minNormalizedMeasure":-0.5,"foreignId":1091}]},{"id":"id2623911","foreignId":1092,"objective":[{"primary":true,"objectiveID":"SEQSUCCESSSTATUSUNKNOWN01","satisfiedByMeasure":true,"minNormalizedMeasure":-0.5,"foreignId":1093}]},{"id":"id2623838","foreignId":1094,"objective":[{"primary":true,"objectiveID":"SEQSCALEDPASSINGSCOREDEFAULT01","satisfiedByMeasure":true,"foreignId":1095}]},{"id":"id2623724","foreignId":1096,"objective":[{"primary":true,"objectiveID":"SCALEDPASSINGSCOREINIT","satisfiedByMeasure":true,"minNormalizedMeasure":0.6,"foreignId":1097}]},{"id":"id2623628","foreignId":1098,"objective":[{"primary":true,"objectiveID":"SEQSCALEDPASSINGSCORENOINIT01","minNormalizedMeasure":0.8,"foreignId":1099}]},{"id":"id2623522","foreignId":1100,"objective":[{"primary":true,"objectiveID":"SEQSCALEDPASSINGSCORENOINIT02","minNormalizedMeasure":0.7,"foreignId":1101}]}],"base":"./data/ilias3_scorm2004/lm_data/lm_166/","foreignId":994,"id":"LMSTestPackage_DMB"}', '0', '166', '0', '', ' - -'); -INSERT INTO cp_package VALUES ('0', '', '{"item":{"id":"DMI","title":"LMS Test Content Package DMI ","foreignId":1103,"item":[{"id":"activity_1","title":"Data Model Implementation Test 1","parameters":"tc=DMI&act=1","timeLimitAction":"continue,message","dataFromLMS":"Launch Data Test","completionThreshold":0.8,"foreignId":1104,"href":"resources/DMImplementationTest1.htm","sco":1,"hideLMSUI":[{"value":"suspendAll","foreignId":1105}]},{"id":"activity_2","title":"Data Model Implementation Test 2","parameters":"tc=DMI&act=2","dataFromLMS":"thisstringislength20qwertyuiop0123456789thisstringislength60qwertyuiop0123456789thisstringislengt100thisstringislengt120qwertyuiop0123456789thisstringislengt160qwertyuiop0123456789thisstringislengt200thisstringislengt220qwertyuiop0123456789thisstringislengt260qwertyuiop0123456789thisstringislengt300thisstringislengt320qwertyuiop0123456789thisstringislengt360qwertyuiop0123456789thisstringislengt400thisstringislengt420qwertyuiop0123456789thisstringislengt460qwertyuiop0123456789thisstringislengt500thisstringislengt520qwertyuiop0123456789thisstringislengt560qwertyuiop0123456789thisstringislengt600thisstringislengt620qwertyuiop0123456789thisstringislengt660qwertyuiop0123456789thisstringislengt700thisstringislengt720qwertyuiop0123456789thisstringislengt760qwertyuiop0123456789thisstringislengt800thisstringislengt820qwertyuiop0123456789thisstringislengt860qwertyuiop0123456789thisstringislengt900thisstringislengt920qwertyuiop0123456789thisstringislengt960qwertyuiop0123456789thisstringisleng1000thisstringisleng1020qwertyuiop0123456789thisstringisleng1060qwertyuiop0123456789thisstringisleng1100thisstringisleng1120qwertyuiop0123456789thisstringisleng1160qwertyuiop0123456789thisstringisleng1200thisstringisleng1220qwertyuiop0123456789thisstringisleng1260qwertyuiop0123456789thisstringisleng1300thisstringisleng1320qwertyuiop0123456789thisstringisleng1360qwertyuiop0123456789thisstringisleng1400thisstringisleng1420qwertyuiop0123456789thisstringisleng1460qwertyuiop0123456789thisstringisleng1500thisstringisleng1520qwertyuiop0123456789thisstringisleng1560qwertyuiop0123456789thisstringisleng1600thisstringisleng1620qwertyuiop0123456789thisstringisleng1660qwertyuiop0123456789thisstringisleng1700thisstringisleng1720qwertyuiop0123456789thisstringisleng1760qwertyuiop0123456789thisstringisleng1800thisstringisleng1820qwertyuiop0123456789thisstringisleng1860qwertyuiop0123456789thisstringisleng1900thisstringisleng1920qwertyuiop0123456789thisstringisleng1960qwertyuiop0123456789thisstringisleng2000thisstringisleng2020qwertyuiop0123456789thisstringisleng2060qwertyuiop0123456789thisstringisleng2100thisstringisleng2120qwertyuiop0123456789thisstringisleng2160qwertyuiop0123456789thisstringisleng2200thisstringisleng2220qwertyuiop0123456789thisstringisleng2260qwertyuiop0123456789thisstringisleng2300thisstringisleng2320qwertyuiop0123456789thisstringisleng2360qwertyuiop0123456789thisstringisleng2400thisstringisleng2420qwertyuiop0123456789thisstringisleng2460qwertyuiop0123456789thisstringisleng2500thisstringisleng2520qwertyuiop0123456789thisstringisleng2560qwertyuiop0123456789thisstringisleng2600thisstringisleng2620qwertyuiop0123456789thisstringisleng2660qwertyuiop0123456789thisstringisleng2700thisstringisleng2720qwertyuiop0123456789thisstringisleng2760qwertyuiop0123456789thisstringisleng2800thisstringisleng2820qwertyuiop0123456789thisstringisleng2860qwertyuiop0123456789thisstringisleng2900thisstringisleng2920qwertyuiop0123456789thisstringisleng2960qwertyuiop0123456789thisstringisleng2000thisstringisleng3020qwertyuiop0123456789thisstringisleng3060qwertyuiop0123456789thisstringisleng3100thisstringisleng3120qwertyuiop0123456789thisstringisleng3160qwertyuiop0123456789thisstringisleng3200thisstringisleng3220qwertyuiop0123456789thisstringisleng3260qwertyuiop0123456789thisstringisleng3300thisstringisleng3320qwertyuiop0123456789thisstringisleng3360qwertyuiop0123456789thisstringisleng3400thisstringisleng3420qwertyuiop0123456789thisstringisleng3460qwertyuiop0123456789thisstringisleng3500thisstringisleng3520qwertyuiop0123456789thisstringisleng3560qwertyuiop0123456789thisstringisleng3600thisstringisleng3620qwertyuiop0123456789thisstringisleng3660qwertyuiop0123456789thisstringisleng3700thisstringisleng3720qwertyuiop0123456789thisstringisleng3760qwertyuiop0123456789thisstringisleng3800thisstringisleng3820qwertyuiop0123456789thisstringisleng3860qwertyuiop0123456789thisstringisleng3900thisstringisleng3920qwertyuiop0123456789thisstringisleng3960qwertyuiop0123456789thisstringisleng4000","foreignId":1106,"href":"resources/DMImplementationTest2.htm","sco":1,"hideLMSUI":[{"value":"suspendAll","foreignId":1107}]},{"id":"activity_3","title":"Data Model Implementation Test 3","parameters":"tc=DMI&act=3","foreignId":1108,"href":"resources/DMImplementationTest3.htm","sco":1,"hideLMSUI":[{"value":"suspendAll","foreignId":1109}]},{"id":"activity_4","title":"Data Model Implementation Test 4","parameters":"tc=DMI&act=4","foreignId":1110,"href":"resources/DMImplementationTest4.htm","sco":1,"hideLMSUI":[{"value":"suspendAll","foreignId":1111}]}],"base":""},"base":"./data/ilias3_scorm2004/lm_data/lm_167/","foreignId":1102,"id":"LMSTestPackage_DMI"}', '0', '167', '0', '', ' - -'); -INSERT INTO cp_package VALUES ('0', '', '{"item":{"id":"MS-01","title":"LMS Test Content Package MS-01 ","sequencingId":"id2623293","foreignId":1154,"item":[{"id":"activity_1","title":"Activity 1","parameters":"tc=MS-01&act=1","foreignId":1155,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":1156},{"value":"previous","foreignId":1157},{"value":"suspendAll","foreignId":1158}]},{"id":"activity_2","title":"Activity 2","sequencingId":"id2623509","foreignId":1159,"item":[{"id":"activity_3","title":"Activity 3","parameters":"tc=MS-01&act=3","sequencingId":"id2623667","foreignId":1160,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":1161},{"value":"previous","foreignId":1162},{"value":"suspendAll","foreignId":1163}]},{"id":"activity_4","title":"Activity 4","parameters":"tc=MS-01&act=4","foreignId":1164,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":1165},{"value":"previous","foreignId":1166},{"value":"suspendAll","foreignId":1167}]},{"id":"activity_5","title":"Activity 5","parameters":"tc=MS-01&act=5","foreignId":1168,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":1169},{"value":"previous","foreignId":1170},{"value":"suspendAll","foreignId":1171}]}]},{"id":"activity_6","title":"Activity 6","parameters":"tc=MS-01&act=6","foreignId":1172,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":1173},{"value":"previous","foreignId":1174},{"value":"suspendAll","foreignId":1175}]}],"base":""},"sequencing":[{"id":"id2623667","rollupObjectiveSatisfied":false,"foreignId":1196},{"id":"id2623509","choice":false,"flow":true,"foreignId":1197,"rule":[{"type":"pre","action":"skip","foreignId":1198,"condition":[{"measureThreshold":0.4,"condition":"objectiveMeasureGreaterThan","foreignId":1199}]}]},{"id":"id2623293","choice":false,"flow":true,"foreignId":1200}],"base":"./data/ilias3_scorm2004/lm_data/lm_168/","foreignId":1153,"id":"LMSTestPackage_MS-01"}', '0', '168', '0', '', ' - -'); -INSERT INTO cp_package VALUES ('0', '', '{"item":{"id":"MS-02","title":"LMS Test Content Package MS-02","sequencingId":"id2628852","foreignId":1202,"item":[{"id":"activity_1","title":"Activity 1","parameters":"tc=MS-02&act=1","foreignId":1203,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":1204},{"value":"previous","foreignId":1205},{"value":"suspendAll","foreignId":1206}]},{"id":"activity_2","title":"Activity 2","sequencingId":"id2630752","foreignId":1207,"item":[{"id":"activity_3","title":"Activity 3","parameters":"tc=MS-02&act=3","sequencingId":"id2631163","foreignId":1208,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":1209},{"value":"previous","foreignId":1210},{"value":"suspendAll","foreignId":1211}]},{"id":"activity_4","title":"Activity 4","parameters":"tc=MS-02&act=4","sequencingId":"id2625279","foreignId":1212,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":1213},{"value":"previous","foreignId":1214},{"value":"suspendAll","foreignId":1215}]},{"id":"activity_5","title":"Activity 5","parameters":"tc=MS-02&act=5","sequencingId":"id2630740","foreignId":1216,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":1217},{"value":"previous","foreignId":1218},{"value":"suspendAll","foreignId":1219}]}]},{"id":"activity_6","title":"Activity 6","parameters":"tc=MS-02&act=6","foreignId":1220,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":1221},{"value":"previous","foreignId":1222},{"value":"suspendAll","foreignId":1223}]}],"base":""},"sequencing":[{"id":"id2631163","objectiveMeasureWeight":0.75,"foreignId":1244},{"id":"id2625279","objectiveMeasureWeight":0.25,"foreignId":1245},{"id":"id2630740","objectiveMeasureWeight":0.25,"foreignId":1246},{"id":"id2630752","choice":false,"flow":true,"foreignId":1247,"rule":[{"type":"pre","action":"skip","foreignId":1248,"condition":[{"measureThreshold":0.6,"condition":"objectiveMeasureLessThan","foreignId":1249}]}]},{"id":"id2628852","choice":false,"flow":true,"foreignId":1250}],"base":"./data/ilias3_scorm2004/lm_data/lm_169/","foreignId":1201,"id":"LMSTestPackage_MS-02"}', '0', '169', '0', '', ' - -'); -INSERT INTO cp_package VALUES ('0', '', '{"item":{"id":"MS-03","title":"LMS Test Content Package MS-03 ","sequencingId":"id3106767","foreignId":1252,"item":[{"id":"activity_1","title":"Activity 1","parameters":"tc=MS-03&act=1","foreignId":1253,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":1254},{"value":"previous","foreignId":1255},{"value":"suspendAll","foreignId":1256}]},{"id":"activity_2","title":"Activity 2","sequencingId":"id3111817","foreignId":1257,"item":[{"id":"activity_3","title":"Activity 3","parameters":"tc=MS-03&act=3","sequencingId":"id3078556","foreignId":1258,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":1259},{"value":"previous","foreignId":1260},{"value":"suspendAll","foreignId":1261}]},{"id":"activity_4","title":"Activity 4","parameters":"tc=MS-03&act=4","sequencingId":"id3078599","foreignId":1262,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":1263},{"value":"previous","foreignId":1264},{"value":"suspendAll","foreignId":1265}]},{"id":"activity_5","title":"Activity 5","parameters":"tc=MS-03&act=5","sequencingId":"id3111807","foreignId":1266,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":1267},{"value":"previous","foreignId":1268},{"value":"suspendAll","foreignId":1269}]}]},{"id":"activity_6","title":"Activity 6","parameters":"tc=MS-03&act=6","foreignId":1270,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":1271},{"value":"previous","foreignId":1272},{"value":"suspendAll","foreignId":1273}]}],"base":""},"sequencing":[{"id":"id3078556","objectiveMeasureWeight":0.5,"foreignId":1294},{"id":"id3078599","objectiveMeasureWeight":0,"foreignId":1295},{"id":"id3111807","objectiveMeasureWeight":0.25,"foreignId":1296},{"id":"id3111817","choice":false,"flow":true,"foreignId":1297,"rule":[{"type":"pre","action":"skip","foreignId":1298,"condition":[{"measureThreshold":0.5,"condition":"objectiveMeasureGreaterThan","foreignId":1299}]}]},{"id":"id3106767","choice":false,"flow":true,"foreignId":1300}],"base":"./data/ilias3_scorm2004/lm_data/lm_170/","foreignId":1251,"id":"LMSTestPackage_MS-03"}', '0', '170', '0', '', ' - -'); -INSERT INTO cp_package VALUES ('0', '', '{"item":{"id":"MS-04","title":"LMS Test Content Package MS-04 ","sequencingId":"id2835041","foreignId":1302,"item":[{"id":"activity_1","title":"Activity 1","parameters":"tc=MS-04&act=1","foreignId":1303,"href":"resources/SequencingTest.htm","sco":1},{"id":"activity_2","title":"Activity 2","sequencingId":"id2836564","foreignId":1304,"item":[{"id":"activity_3","title":"Activity 3","parameters":"tc=MS-04&act=3","foreignId":1305,"href":"resources/SequencingTest.htm","sco":1},{"id":"activity_4","title":"Activity 4","parameters":"tc=MS-04&act=4","sequencingId":"id2836477","foreignId":1306,"href":"resources/SequencingTest.htm","sco":1},{"id":"activity_5","title":"Activity 5","parameters":"tc=MS-04&act=5","sequencingId":"id2838200","foreignId":1307,"href":"resources/SequencingTest.htm","sco":1}]},{"id":"activity_6","title":"Activity 6","parameters":"tc=MS-04&act=6","foreignId":1308,"href":"resources/SequencingTest.htm","sco":1}],"base":""},"sequencing":[{"id":"id2836477","tracked":false,"foreignId":1329},{"id":"id2838200","objectiveMeasureWeight":0.25,"foreignId":1330},{"id":"id2836564","choice":false,"flow":true,"foreignId":1331,"rule":[{"type":"pre","action":"skip","foreignId":1332,"condition":[{"measureThreshold":0.25,"condition":"objectiveMeasureLessThan","foreignId":1333}]}]},{"id":"id2835041","choice":false,"flow":true,"foreignId":1334}],"base":"./data/ilias3_scorm2004/lm_data/lm_171/","foreignId":1301,"id":"LMSTestPackage_MS-04"}', '0', '171', '0', '', ' - -'); -INSERT INTO cp_package VALUES ('0', '', '{"item":{"id":"MS-05a","title":"LMS Test Content Package MS-05a ","sequencingId":"id2835031","foreignId":1336,"item":[{"id":"activity_1","title":"Activity 1","parameters":"tc=MS-05a&act=1","foreignId":1337,"href":"resources/SequencingTest.htm","sco":1},{"id":"activity_2","title":"Activity 2","sequencingId":"id2832248","foreignId":1338,"item":[{"id":"activity_3","title":"Activity 3","parameters":"tc=MS-05a&act=3","foreignId":1339,"href":"resources/SequencingTest.htm","sco":1},{"id":"activity_4","title":"Activity 4","parameters":"tc=MS-05a&act=4","foreignId":1340,"href":"resources/SequencingTest.htm","sco":1},{"id":"activity_5","title":"Activity 5","parameters":"tc=MS-05a&act=5","sequencingId":"id2821682","foreignId":1341,"href":"resources/SequencingTest.htm","sco":1}]},{"id":"activity_6","title":"Activity 6","parameters":"tc=MS-05a&act=6","foreignId":1342,"href":"resources/SequencingTest.htm","sco":1}],"base":""},"sequencing":[{"id":"id2821682","objectiveMeasureWeight":0.25,"foreignId":1363},{"id":"id2832248","choice":false,"flow":true,"foreignId":1364,"rule":[{"type":"exit","action":"exit","foreignId":1365,"condition":[{"condition":"satisfied","foreignId":1366}]},{"type":"post","action":"previous","foreignId":1367,"condition":[{"condition":"satisfied","foreignId":1368}]}],"objective":[{"primary":true,"objectiveID":"","satisfiedByMeasure":true,"minNormalizedMeasure":0.6,"foreignId":1369}]},{"id":"id2835031","choice":false,"flow":true,"foreignId":1370}],"base":"./data/ilias3_scorm2004/lm_data/lm_172/","foreignId":1335,"id":"LMSTestPackage_MS-05a"}', '0', '172', '0', '', ' - -'); -INSERT INTO cp_package VALUES ('0', '', '{"item":{"id":"MS-05b","title":"LMS Test Content Package MS-05b","sequencingId":"id2683209","foreignId":1372,"item":[{"id":"activity_1","title":"Activity 1","parameters":"tc=MS-05b&act=1","foreignId":1373,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":1374},{"value":"previous","foreignId":1375},{"value":"suspendAll","foreignId":1376}]},{"id":"activity_2","title":"Activity 2","sequencingId":"id2689660","foreignId":1377,"item":[{"id":"activity_3","title":"Activity 3","parameters":"tc=MS-05b&act=3","foreignId":1378,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":1379},{"value":"previous","foreignId":1380},{"value":"suspendAll","foreignId":1381}]},{"id":"activity_4","title":"Activity 4","parameters":"tc=MS-05b&act=4","foreignId":1382,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":1383},{"value":"previous","foreignId":1384},{"value":"suspendAll","foreignId":1385}]},{"id":"activity_5","title":"Activity 5","parameters":"tc=MS-05b&act=5","sequencingId":"id2689649","foreignId":1386,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":1387},{"value":"previous","foreignId":1388},{"value":"suspendAll","foreignId":1389}]}]},{"id":"activity_6","title":"Activity 6","parameters":"tc=MS-05b&act=6","foreignId":1390,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":1391},{"value":"previous","foreignId":1392},{"value":"suspendAll","foreignId":1393}]}],"base":""},"sequencing":[{"id":"id2689649","objectiveMeasureWeight":0.25,"foreignId":1414},{"id":"id2689660","choice":false,"flow":true,"foreignId":1415,"rule":[{"type":"exit","action":"exit","foreignId":1416,"condition":[{"condition":"satisfied","foreignId":1417}]},{"type":"post","action":"previous","foreignId":1418,"condition":[{"condition":"satisfied","foreignId":1419}]}],"objective":[{"primary":true,"objectiveID":"PRIMARYOBJ","satisfiedByMeasure":true,"minNormalizedMeasure":0.6,"foreignId":1420}]},{"id":"id2683209","choice":false,"flow":true,"foreignId":1421}],"base":"./data/ilias3_scorm2004/lm_data/lm_173/","foreignId":1371,"id":"LMSTestPackage_MS-05b"}', '0', '173', '0', '', ' - -'); -INSERT INTO cp_package VALUES ('0', '', '{"item":{"id":"MS-06","title":"LMS Test Content Package MS-06 ","sequencingId":"id2686492","foreignId":1423,"item":[{"id":"activity_1","title":"Activity 1","parameters":"tc=MS-06&act=1","foreignId":1424,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":1425},{"value":"previous","foreignId":1426},{"value":"suspendAll","foreignId":1427}]},{"id":"activity_2","title":"Activity 2","sequencingId":"id2684182","foreignId":1428,"item":[{"id":"activity_3","title":"Activity 3","parameters":"tc=MS-06&act=3","foreignId":1429,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":1430},{"value":"previous","foreignId":1431},{"value":"suspendAll","foreignId":1432}]},{"id":"activity_4","title":"Activity 4","parameters":"tc=MS-06&act=4","foreignId":1433,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":1434},{"value":"previous","foreignId":1435},{"value":"suspendAll","foreignId":1436}]},{"id":"activity_5","title":"Activity 5","parameters":"tc=MS-06&act=5","sequencingId":"id2692447","foreignId":1437,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":1438},{"value":"previous","foreignId":1439},{"value":"suspendAll","foreignId":1440}]}]},{"id":"activity_6","title":"Activity 6","parameters":"tc=MS-06&act=6","foreignId":1441,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":1442},{"value":"previous","foreignId":1443},{"value":"suspendAll","foreignId":1444}]}],"base":""},"sequencing":[{"id":"id2692447","objectiveMeasureWeight":0.25,"foreignId":1465},{"id":"id2684182","choice":false,"flow":true,"measureSatisfactionIfActive":false,"foreignId":1466,"rule":[{"type":"pre","action":"skip","foreignId":1467,"condition":[{"condition":"satisfied","foreignId":1468}]},{"type":"exit","action":"exit","foreignId":1469,"condition":[{"condition":"satisfied","foreignId":1470}]},{"type":"post","action":"previous","foreignId":1471,"condition":[{"condition":"satisfied","foreignId":1472}]}],"objective":[{"primary":true,"objectiveID":"","satisfiedByMeasure":true,"minNormalizedMeasure":0.6,"foreignId":1473}]},{"id":"id2686492","choice":false,"flow":true,"foreignId":1474}],"base":"./data/ilias3_scorm2004/lm_data/lm_174/","foreignId":1422,"id":"LMSTestPackage_MS-06"}', '0', '174', '0', '', ' - -'); -INSERT INTO cp_package VALUES ('0', '', '{"item":{"id":"OB-01a","title":"LMS Test Content Package OB-01a ","sequencingId":"id2684391","foreignId":1476,"item":[{"id":"activity_1","title":"Activity 1","parameters":"tc=OB-01a&act=1","sequencingId":"id2684515","foreignId":1477,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":1478},{"value":"previous","foreignId":1479},{"value":"suspendAll","foreignId":1480}]},{"id":"activity_2","title":"Activity 2","parameters":"tc=OB-01a&act=2","sequencingId":"id2684181","foreignId":1481,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":1482},{"value":"previous","foreignId":1483},{"value":"suspendAll","foreignId":1484}]},{"id":"activity_3","title":"Activity 3","parameters":"tc=OB-01a&act=3","foreignId":1485,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":1486},{"value":"previous","foreignId":1487},{"value":"suspendAll","foreignId":1488}]}],"base":""},"sequencing":[{"id":"id2684515","foreignId":1509,"objective":[{"primary":true,"objectiveID":"PRIMARYOBJ_1","foreignId":1510,"mapInfo":[{"targetObjectiveID":"gObj-OB01a","writeSatisfiedStatus":true,"foreignId":1511}]}]},{"id":"id2684181","foreignId":1512,"rule":[{"type":"pre","action":"skip","foreignId":1513,"condition":[{"condition":"satisfied","foreignId":1514}]}],"objective":[{"primary":true,"objectiveID":"PRIMARYOBJ_2","foreignId":1515,"mapInfo":[{"targetObjectiveID":"gObj-OB01a","foreignId":1516}]}]},{"id":"id2684391","choice":false,"flow":true,"foreignId":1517}],"base":"./data/ilias3_scorm2004/lm_data/lm_175/","foreignId":1475,"id":"LMSTestPackage_OB-01a"}', '0', '175', '0', '', ' - -'); -INSERT INTO cp_package VALUES ('0', '', '{"item":{"id":"OB-01b","title":"LMS Test Content Package OB-01b ","sequencingId":"id2835415","foreignId":1519,"item":[{"id":"activity_1","title":"Activity 1","parameters":"tc=OB-01b&act=1","sequencingId":"id2835613","foreignId":1520,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":1521},{"value":"previous","foreignId":1522},{"value":"suspendAll","foreignId":1523}]},{"id":"activity_2","title":"Activity 2","parameters":"tc=OB-01b&act=2","sequencingId":"id2834911","foreignId":1524,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":1525},{"value":"previous","foreignId":1526},{"value":"suspendAll","foreignId":1527}]},{"id":"activity_3","title":"Activity 3","parameters":"tc=OB-01b&act=3","foreignId":1528,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":1529},{"value":"previous","foreignId":1530},{"value":"suspendAll","foreignId":1531}]}],"base":""},"sequencing":[{"id":"id2835613","foreignId":1552,"objective":[{"primary":true,"objectiveID":"PRIMARYOBJ","foreignId":1553,"mapInfo":[{"targetObjectiveID":"gObj-OB01b","writeNormalizedMeasure":true,"foreignId":1554}]}]},{"id":"id2834911","foreignId":1555,"rule":[{"type":"pre","action":"skip","foreignId":1556,"condition":[{"measureThreshold":0.75,"condition":"objectiveMeasureGreaterThan","foreignId":1557}]}],"objective":[{"primary":true,"objectiveID":"PRIMARYOBJ","foreignId":1558,"mapInfo":[{"targetObjectiveID":"gObj-OB01b","foreignId":1559}]}]},{"id":"id2835415","choice":false,"flow":true,"foreignId":1560}],"base":"./data/ilias3_scorm2004/lm_data/lm_176/","foreignId":1518,"id":"LMSTestPackage_OB-01b"}', '0', '176', '0', '', ' - -'); -INSERT INTO cp_package VALUES ('0', '', '{"item":{"id":"OB-01c","title":"LMS Test Content Package OB-01c ","sequencingId":"id2679887","foreignId":1562,"item":[{"id":"activity_1","title":"Activity 1","parameters":"tc=OB-01c&act=1","sequencingId":"id2680072","foreignId":1563,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":1564},{"value":"previous","foreignId":1565},{"value":"suspendAll","foreignId":1566}]},{"id":"activity_2","title":"Activity 2","parameters":"tc=OB-01c&act=2","sequencingId":"id2682456","foreignId":1567,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":1568},{"value":"previous","foreignId":1569},{"value":"suspendAll","foreignId":1570}]},{"id":"activity_3","title":"Activity 3","parameters":"tc=OB-01c&act=3","foreignId":1571,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":1572},{"value":"previous","foreignId":1573},{"value":"suspendAll","foreignId":1574}]}],"base":""},"sequencing":[{"id":"id2680072","foreignId":1595,"objective":[{"primary":true,"objectiveID":"PRIMARYOBJ","foreignId":1596,"mapInfo":[{"targetObjectiveID":"gObj-OB01c","writeSatisfiedStatus":true,"writeNormalizedMeasure":true,"foreignId":1597}]}]},{"id":"id2682456","foreignId":1598,"rule":[{"type":"pre","action":"skip","foreignId":1599,"condition":[{"condition":"satisfied","foreignId":1600}]}],"objective":[{"primary":true,"objectiveID":"PRIMARYOBJ","satisfiedByMeasure":true,"minNormalizedMeasure":0.5,"foreignId":1601,"mapInfo":[{"targetObjectiveID":"gObj-OB01c","foreignId":1602}]}]},{"id":"id2679887","choice":false,"flow":true,"foreignId":1603}],"base":"./data/ilias3_scorm2004/lm_data/lm_177/","foreignId":1561,"id":"LMSTestPackage_OB-01c"}', '0', '177', '0', '', ' - -'); -INSERT INTO cp_package VALUES ('0', '', '{"item":{"id":"OB-02a","title":"LMS Test Content Package OB-02a ","sequencingId":"id2679756","foreignId":1605,"item":[{"id":"activity_1","title":"Activity 1","parameters":"tc=OB-02a&act=1","sequencingId":"id2680029","foreignId":1606,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":1607},{"value":"previous","foreignId":1608},{"value":"suspendAll","foreignId":1609}]},{"id":"activity_2","title":"Activity 2","parameters":"tc=OB-02a&act=2","sequencingId":"id2680065","foreignId":1610,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":1611},{"value":"previous","foreignId":1612},{"value":"suspendAll","foreignId":1613}]},{"id":"activity_3","title":"Activity 3","parameters":"tc=OB-02a&act=3","foreignId":1614,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":1615},{"value":"previous","foreignId":1616},{"value":"suspendAll","foreignId":1617}]}],"base":""},"sequencing":[{"id":"id2680029","foreignId":1638,"objective":[{"primary":true,"objectiveID":"","foreignId":1639},{"primary":false,"objectiveID":"obj1","foreignId":1640,"mapInfo":[{"targetObjectiveID":"gObj-OB02a","writeSatisfiedStatus":true,"foreignId":1641}]}]},{"id":"id2680065","foreignId":1642,"rule":[{"type":"pre","action":"skip","foreignId":1643,"condition":[{"referencedObjective":"obj1","operator":"not","condition":"satisfied","foreignId":1644}]}],"objective":[{"primary":true,"objectiveID":"","foreignId":1645},{"primary":false,"objectiveID":"obj1","foreignId":1646,"mapInfo":[{"targetObjectiveID":"gObj-OB02a","foreignId":1647}]}]},{"id":"id2679756","choice":false,"flow":true,"foreignId":1648}],"base":"./data/ilias3_scorm2004/lm_data/lm_178/","foreignId":1604,"id":"LMSTestPackage_OB-02a"}', '0', '178', '0', '', ' - -'); -INSERT INTO cp_package VALUES ('0', '', '{"item":{"id":"OB-02b","title":"LMS Test Content Package OB-02b ","sequencingId":"id2678483","foreignId":1650,"item":[{"id":"activity_1","title":"Activity 1","parameters":"tc=OB-02b&act=1","sequencingId":"id2678657","foreignId":1651,"href":"resources/SequencingTest.htm","sco":1},{"id":"activity_2","title":"Activity 2","parameters":"tc=OB-02b&act=2","sequencingId":"id2678572","foreignId":1652,"href":"resources/SequencingTest.htm","sco":1},{"id":"activity_3","title":"Activity 3","parameters":"tc=OB-02b&act=3","foreignId":1653,"href":"resources/SequencingTest.htm","sco":1}],"base":""},"sequencing":[{"id":"id2678657","foreignId":1674,"objective":[{"primary":true,"objectiveID":"","foreignId":1675},{"primary":false,"objectiveID":"obj1","foreignId":1676,"mapInfo":[{"targetObjectiveID":"gObj-OB02b","writeNormalizedMeasure":true,"foreignId":1677}]}]},{"id":"id2678572","foreignId":1678,"rule":[{"type":"pre","action":"skip","foreignId":1679,"condition":[{"referencedObjective":"obj1","measureThreshold":0.25,"condition":"objectiveMeasureLessThan","foreignId":1680}]}],"objective":[{"primary":true,"objectiveID":"","foreignId":1681},{"primary":false,"objectiveID":"obj1","foreignId":1682,"mapInfo":[{"targetObjectiveID":"gObj-OB02b","foreignId":1683}]}]},{"id":"id2678483","choice":false,"flow":true,"foreignId":1684}],"base":"./data/ilias3_scorm2004/lm_data/lm_179/","foreignId":1649,"id":"LMSTestPackage_OB-02b"}', '0', '179', '0', '', ' - -'); -INSERT INTO cp_package VALUES ('0', '', '{"item":{"id":"OB-03a","title":"LMS Test Content Package OB-03a","sequencingId":"id2816557","foreignId":1686,"item":[{"id":"activity_1","title":"Activity 1","parameters":"tc=OB-03a&act=1","sequencingId":"id2836190","foreignId":1687,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":1688},{"value":"previous","foreignId":1689},{"value":"suspendAll","foreignId":1690}]},{"id":"activity_2","title":"Activity 2","parameters":"tc=OB-03a&act=2","sequencingId":"id2832296","foreignId":1691,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":1692},{"value":"previous","foreignId":1693},{"value":"suspendAll","foreignId":1694}]},{"id":"activity_3","title":"Activity 3","parameters":"tc=OB-03a&act=3","sequencingId":"id2821209","foreignId":1695,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":1696},{"value":"previous","foreignId":1697},{"value":"suspendAll","foreignId":1698}]}],"base":""},"sequencing":[{"id":"id2836190","foreignId":1719,"objective":[{"primary":true,"objectiveID":"","foreignId":1720},{"primary":false,"objectiveID":"obj1","foreignId":1721,"mapInfo":[{"targetObjectiveID":"gObj-OB03-1","writeSatisfiedStatus":true,"writeNormalizedMeasure":true,"foreignId":1722}]}]},{"id":"id2832296","foreignId":1723,"objective":[{"primary":true,"objectiveID":"","foreignId":1724},{"primary":false,"objectiveID":"obj1","foreignId":1725,"mapInfo":[{"targetObjectiveID":"gObj-OB03-2","writeSatisfiedStatus":true,"writeNormalizedMeasure":true,"foreignId":1726}]}]},{"id":"id2821209","foreignId":1727,"objective":[{"primary":true,"objectiveID":"","foreignId":1728},{"primary":false,"objectiveID":"obj1","foreignId":1729,"mapInfo":[{"targetObjectiveID":"gObj-OB03-3","writeSatisfiedStatus":true,"writeNormalizedMeasure":true,"foreignId":1730}]}]},{"id":"id2816557","choice":false,"flow":true,"foreignId":1731}],"base":"./data/ilias3_scorm2004/lm_data/lm_180/","foreignId":1685,"id":"LMSTestPackage_OB-03a"}', '0', '180', '0', '', ' - -'); -INSERT INTO cp_package VALUES ('0', '', '{"item":{"id":"OB-03b","title":"LMS Test Content Package OB-03b","sequencingId":"id3028734","foreignId":1733,"item":[{"id":"activity_1","title":"Activity 1","parameters":"tc=OB-03b&act=1","sequencingId":"id3020934","foreignId":1734,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":1735},{"value":"previous","foreignId":1736},{"value":"suspendAll","foreignId":1737}]},{"id":"activity_2","title":"Activity 2","sequencingId":"id3022408","foreignId":1738,"item":[{"id":"activity_3","title":"Activity 3","sequencingId":"id3074114","foreignId":1739,"item":[{"id":"activity_4","title":"Activity 4","parameters":"tc=OB-03b&act=4","foreignId":1740,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":1741},{"value":"previous","foreignId":1742},{"value":"suspendAll","foreignId":1743}]},{"id":"activity_5","title":"Activity 5","parameters":"tc=OB-03b&act=5","sequencingId":"id3028833","foreignId":1744,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":1745},{"value":"previous","foreignId":1746},{"value":"suspendAll","foreignId":1747}]},{"id":"activity_6","title":"Activity 6","parameters":"tc=OB-03b&act=6","foreignId":1748,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":1749},{"value":"previous","foreignId":1750},{"value":"suspendAll","foreignId":1751}]}]},{"id":"activity_7","title":"Activity 7","parameters":"tc=OB-03b&act=7","sequencingId":"id3041086","foreignId":1752,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":1753},{"value":"previous","foreignId":1754},{"value":"suspendAll","foreignId":1755}]},{"id":"activity_8","title":"Activity 8","parameters":"tc=OB-03b&act=8","sequencingId":"id3094598","foreignId":1756,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":1757},{"value":"previous","foreignId":1758},{"value":"suspendAll","foreignId":1759}]}]},{"id":"activity_9","title":"Activity 9","parameters":"tc=OB-03b&act=9","foreignId":1760,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":1761},{"value":"previous","foreignId":1762},{"value":"suspendAll","foreignId":1763}]}],"base":""},"sequencing":[{"id":"id3020934","foreignId":1784,"rule":[{"type":"pre","action":"skip","foreignId":1785,"condition":[{"operator":"not","condition":"satisfied","foreignId":1786}]}],"objective":[{"primary":true,"objectiveID":"PRIMARYOBJ","foreignId":1787,"mapInfo":[{"targetObjectiveID":"gObj-OB03-2","foreignId":1788}]}]},{"id":"id3028833","foreignId":1789,"rule":[{"type":"pre","action":"skip","foreignId":1790,"condition":[{"condition":"satisfied","foreignId":1791}]}],"objective":[{"primary":true,"objectiveID":"PRIMARYOBJ","foreignId":1792,"mapInfo":[{"targetObjectiveID":"gObj-OB03-1","foreignId":1793}]}]},{"id":"id3074114","flow":true,"foreignId":1794,"rule":[{"type":"pre","action":"skip","foreignId":1795,"condition":[{"condition":"satisfied","foreignId":1796}]}],"objective":[{"primary":true,"objectiveID":"PRIMARYOBJ","satisfiedByMeasure":true,"minNormalizedMeasure":0.6,"foreignId":1797,"mapInfo":[{"targetObjectiveID":"gObj-OB03-3","readSatisfiedStatus":false,"writeSatisfiedStatus":true,"writeNormalizedMeasure":true,"foreignId":1798}]}]},{"id":"id3041086","foreignId":1799,"rule":[{"type":"pre","action":"skip","foreignId":1800,"condition":[{"condition":"satisfied","foreignId":1801}]}],"objective":[{"primary":true,"objectiveID":"PRIMARYOBJ","foreignId":1802,"mapInfo":[{"targetObjectiveID":"gObj-OB03-3","foreignId":1803}]}]},{"id":"id3094598","foreignId":1804,"rule":[{"type":"pre","action":"skip","foreignId":1805,"condition":[{"condition":"satisfied","foreignId":1806}]}],"objective":[{"primary":true,"objectiveID":"PRIMARYOBJ","foreignId":1807,"mapInfo":[{"targetObjectiveID":"gObj-OB03-3","foreignId":1808}]}]},{"id":"id3022408","choice":false,"flow":true,"foreignId":1809},{"id":"id3028734","choice":false,"flow":true,"foreignId":1810}],"base":"./data/ilias3_scorm2004/lm_data/lm_181/","foreignId":1732,"id":"LMSTestPackage_OB-03b"}', '0', '181', '0', '', ' - -'); -INSERT INTO cp_package VALUES ('0', '', '{"item":{"id":"OB-03c","title":"LMS Test Content Package OB-03c ","sequencingId":"id2618316","foreignId":1812,"item":[{"id":"activity_1","title":"Activity 1","parameters":"tc=OB-03c&act=1","sequencingId":"id2619264","foreignId":1813,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":1814},{"value":"previous","foreignId":1815},{"value":"suspendAll","foreignId":1816}]},{"id":"activity_2","title":"Activity 2","sequencingId":"id2618402","foreignId":1817,"item":[{"id":"activity_3","title":"Activity 3","sequencingId":"id2618856","foreignId":1818,"item":[{"id":"activity_4","title":"Activity 4","parameters":"tc=OB-03c&act=4","foreignId":1819,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":1820},{"value":"previous","foreignId":1821},{"value":"suspendAll","foreignId":1822}]},{"id":"activity_5","title":"Activity 5","parameters":"tc=OB-03c&act=5","sequencingId":"id2619009","foreignId":1823,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":1824},{"value":"previous","foreignId":1825},{"value":"suspendAll","foreignId":1826}]},{"id":"activity_6","title":"Activity 6","parameters":"tc=OB-03c&act=6","foreignId":1827,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":1828},{"value":"previous","foreignId":1829},{"value":"suspendAll","foreignId":1830}]}]},{"id":"activity_7","title":"Activity 7","parameters":"tc=OB-03c&act=7","sequencingId":"id2618648","foreignId":1831,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":1832},{"value":"previous","foreignId":1833},{"value":"suspendAll","foreignId":1834}]},{"id":"activity_8","title":"Activity 8","parameters":"tc=OB-03c&act=8","sequencingId":"id2618531","foreignId":1835,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":1836},{"value":"previous","foreignId":1837},{"value":"suspendAll","foreignId":1838}]}]},{"id":"activity_9","title":"Activity 9","parameters":"tc=OB-03c&act=9","foreignId":1839,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":1840},{"value":"previous","foreignId":1841},{"value":"suspendAll","foreignId":1842}]}],"base":""},"sequencing":[{"id":"id2619264","foreignId":1863,"rule":[{"type":"pre","action":"skip","foreignId":1864,"condition":[{"operator":"not","condition":"objectiveStatusKnown","foreignId":1865}]}],"objective":[{"primary":true,"objectiveID":"PRIMARYOBJ","foreignId":1866,"mapInfo":[{"targetObjectiveID":"gObj-OB03-3","foreignId":1867}]}]},{"id":"id2619009","foreignId":1868,"rule":[{"type":"pre","action":"skip","foreignId":1869,"condition":[{"condition":"satisfied","foreignId":1870}]}],"objective":[{"primary":true,"objectiveID":"PRIMARYOBJ","foreignId":1871,"mapInfo":[{"targetObjectiveID":"gObj-OB03-1","foreignId":1872}]}]},{"id":"id2618856","choice":false,"flow":true,"foreignId":1873,"rule":[{"type":"pre","action":"skip","foreignId":1874,"condition":[{"condition":"satisfied","foreignId":1875}]}],"objective":[{"primary":true,"objectiveID":"PRIMARYOBJ","satisfiedByMeasure":true,"minNormalizedMeasure":0.6,"foreignId":1876,"mapInfo":[{"targetObjectiveID":"gObj-OB03-3","readSatisfiedStatus":false,"writeSatisfiedStatus":true,"foreignId":1877}]}]},{"id":"id2618648","foreignId":1878,"rule":[{"type":"pre","action":"skip","foreignId":1879,"condition":[{"operator":"not","condition":"satisfied","foreignId":1880}]}],"objective":[{"primary":true,"objectiveID":"PRIMARYOBJ","foreignId":1881,"mapInfo":[{"targetObjectiveID":"gObj-OB03-2","foreignId":1882}]}]},{"id":"id2618531","foreignId":1883,"rule":[{"type":"pre","action":"skip","foreignId":1884,"condition":[{"operator":"not","condition":"satisfied","foreignId":1885},{"referencedObjective":"obj1","operator":"not","condition":"objectiveStatusKnown","foreignId":1886}]}],"objective":[{"primary":true,"objectiveID":"PRIMARYOBJ","foreignId":1887,"mapInfo":[{"targetObjectiveID":"gObj-OB03-2","foreignId":1888}]},{"primary":false,"objectiveID":"obj1","foreignId":1889,"mapInfo":[{"targetObjectiveID":"gObj-OB03-3","foreignId":1890}]}]},{"id":"id2618402","choice":false,"flow":true,"foreignId":1891},{"id":"id2618316","choice":false,"flow":true,"foreignId":1892}],"base":"./data/ilias3_scorm2004/lm_data/lm_182/","foreignId":1811,"id":"LMSTestPackage_OB-03c"}', '0', '182', '0', '', ' - -'); -INSERT INTO cp_package VALUES ('0', '', '{"item":{"id":"OB-04","title":"LMS Test Content Package OB-04 ","sequencingId":"id2836318","foreignId":1894,"item":[{"id":"activity_1","title":"Activity 1","parameters":"tc=OB-04&act=1","sequencingId":"id2691977","foreignId":1895,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":1896},{"value":"previous","foreignId":1897},{"value":"suspendAll","foreignId":1898}]},{"id":"activity_2","title":"Activity 2","parameters":"tc=OB-04&act=2","sequencingId":"id2834923","foreignId":1899,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":1900},{"value":"previous","foreignId":1901},{"value":"suspendAll","foreignId":1902}]},{"id":"activity_3","title":"Activity 3","sequencingId":"id2813658","foreignId":1903,"item":[{"id":"activity_4","title":"Activity 4","parameters":"tc=OB-04&act=4","sequencingId":"id2849373","foreignId":1904,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":1905},{"value":"previous","foreignId":1906},{"value":"suspendAll","foreignId":1907}]},{"id":"activity_5","title":"Activity 5","parameters":"tc=OB-04&act=5","sequencingId":"id2843005","foreignId":1908,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":1909},{"value":"previous","foreignId":1910},{"value":"suspendAll","foreignId":1911}]},{"id":"activity_6","title":"Activity 6","parameters":"tc=OB-04&act=6","sequencingId":"id2813760","foreignId":1912,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":1913},{"value":"previous","foreignId":1914},{"value":"suspendAll","foreignId":1915}]}]},{"id":"activity_7","title":"Activity 7","parameters":"tc=OB-04&act=7","foreignId":1916,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":1917},{"value":"previous","foreignId":1918},{"value":"suspendAll","foreignId":1919}]}],"base":""},"sequencing":[{"id":"id2691977","foreignId":1940,"objective":[{"primary":true,"objectiveID":"PRIMARYOBJ","foreignId":1941,"mapInfo":[{"targetObjectiveID":"gObj-OB04-1","readSatisfiedStatus":false,"readNormalizedMeasure":false,"writeSatisfiedStatus":true,"foreignId":1942},{"targetObjectiveID":"gObj-OB04-3","readSatisfiedStatus":false,"readNormalizedMeasure":false,"writeNormalizedMeasure":true,"foreignId":1943}]}]},{"id":"id2834923","foreignId":1944,"objective":[{"primary":true,"objectiveID":"PRIMARYOBJ","foreignId":1945,"mapInfo":[{"targetObjectiveID":"gObj-OB04-2","writeSatisfiedStatus":true,"foreignId":1946}]}]},{"id":"id2849373","foreignId":1947,"objective":[{"primary":true,"objectiveID":"PRIMARYOBJ","foreignId":1948,"mapInfo":[{"targetObjectiveID":"gObj-OB04-1","foreignId":1949}]}]},{"id":"id2843005","foreignId":1950,"objective":[{"primary":true,"objectiveID":"PRIMARYOBJ","foreignId":1951,"mapInfo":[{"targetObjectiveID":"gObj-OB04-2","foreignId":1952}]}]},{"id":"id2813760","foreignId":1953,"objective":[{"primary":true,"objectiveID":"PRIMARYOBJ","satisfiedByMeasure":true,"minNormalizedMeasure":-0.75,"foreignId":1954,"mapInfo":[{"targetObjectiveID":"gObj-OB04-3","foreignId":1955}]}]},{"id":"id2813658","choice":false,"flow":true,"foreignId":1956,"rule":[{"type":"pre","action":"skip","foreignId":1957,"condition":[{"condition":"completed","foreignId":1958}]},{"type":"rollup","action":"completed","foreignId":1959,"condition":[{"condition":"satisfied","foreignId":1960}]}]},{"id":"id2836318","choice":false,"flow":true,"foreignId":1961}],"base":"./data/ilias3_scorm2004/lm_data/lm_183/","foreignId":1893,"id":"LMSTestPackage_OB-04"}', '0', '183', '0', '', ' - -'); -INSERT INTO cp_package VALUES ('0', '', '{"item":{"id":"OB-05a","title":"LMS Test Content Package OB-05a ","sequencingId":"id2833703","foreignId":1963,"item":[{"id":"activity_1","title":"Activity 1","parameters":"tc=OB-05a&act=1","sequencingId":"id2836202","foreignId":1964,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":1965},{"value":"previous","foreignId":1966},{"value":"suspendAll","foreignId":1967}]},{"id":"activity_2","title":"Activity 2","parameters":"tc=OB-05a&act=2","sequencingId":"id2834977","foreignId":1968,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":1969},{"value":"previous","foreignId":1970},{"value":"suspendAll","foreignId":1971}]},{"id":"activity_3","title":"Activity 3","parameters":"tc=OB-05a&act=3","sequencingId":"id2835142","foreignId":1972,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":1973},{"value":"previous","foreignId":1974},{"value":"suspendAll","foreignId":1975}]},{"id":"activity_4","title":"Activity 4","parameters":"tc=OB-05a&act=4","foreignId":1976,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":1977},{"value":"previous","foreignId":1978},{"value":"suspendAll","foreignId":1979}]}],"base":""},"sequencing":[{"id":"id2836202","foreignId":2000,"objective":[{"primary":true,"objectiveID":"PRIMARYOBJ","satisfiedByMeasure":true,"foreignId":2001,"mapInfo":[{"targetObjectiveID":"gObj-OB05a","writeSatisfiedStatus":true,"writeNormalizedMeasure":true,"foreignId":2002}]}]},{"id":"id2834977","foreignId":2003,"rule":[{"type":"pre","action":"skip","foreignId":2004,"condition":[{"condition":"satisfied","foreignId":2005}]}],"objective":[{"primary":true,"objectiveID":"PRIMARYOBJ","satisfiedByMeasure":true,"minNormalizedMeasure":0.4,"foreignId":2006,"mapInfo":[{"targetObjectiveID":"gObj-OB05a","foreignId":2007}]}]},{"id":"id2835142","foreignId":2008,"rule":[{"type":"pre","action":"skip","foreignId":2009,"condition":[{"operator":"not","condition":"satisfied","foreignId":2010}]}],"objective":[{"primary":true,"objectiveID":"PRIMARYOBJ","minNormalizedMeasure":0.1,"foreignId":2011,"mapInfo":[{"targetObjectiveID":"gObj-OB05a","foreignId":2012}]}]},{"id":"id2833703","choice":false,"flow":true,"foreignId":2013}],"base":"./data/ilias3_scorm2004/lm_data/lm_184/","foreignId":1962,"id":"LMSTestPackage_OB-05a"}', '0', '184', '0', '', ' - -'); -INSERT INTO cp_package VALUES ('0', '', '{"item":{"id":"OB-05b","title":"LMS Test Content Package OB-05b","sequencingId":"id3024934","foreignId":2015,"item":[{"id":"activity_1","title":"Activity 1","parameters":"tc=OB-05b&act=1","sequencingId":"id3024654","foreignId":2016,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":2017},{"value":"previous","foreignId":2018},{"value":"suspendAll","foreignId":2019}]},{"id":"activity_2","title":"Activity 2","parameters":"tc=OB-05b&act=2","sequencingId":"id3074260","foreignId":2020,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":2021},{"value":"previous","foreignId":2022},{"value":"suspendAll","foreignId":2023}]},{"id":"activity_3","title":"Activity 3","parameters":"tc=OB-05b&act=3","sequencingId":"id3041974","foreignId":2024,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":2025},{"value":"previous","foreignId":2026},{"value":"suspendAll","foreignId":2027}]},{"id":"activity_4","title":"Activity 4","parameters":"tc=OB-05b&act=4","foreignId":2028,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":2029},{"value":"previous","foreignId":2030},{"value":"suspendAll","foreignId":2031}]}],"base":""},"sequencing":[{"id":"id3024654","foreignId":2052,"objective":[{"primary":true,"objectiveID":"PRIMARYOBJ","foreignId":2053,"mapInfo":[{"targetObjectiveID":"gObj-OB05b","writeSatisfiedStatus":true,"writeNormalizedMeasure":true,"foreignId":2054}]}]},{"id":"id3074260","foreignId":2055,"rule":[{"type":"pre","action":"skip","foreignId":2056,"condition":[{"operator":"not","condition":"objectiveStatusKnown","foreignId":2057}]}],"objective":[{"primary":true,"objectiveID":"PRIMARYOBJ","satisfiedByMeasure":true,"minNormalizedMeasure":0.75,"foreignId":2058,"mapInfo":[{"targetObjectiveID":"gObj-OB05b","foreignId":2059}]}]},{"id":"id3041974","foreignId":2060,"rule":[{"type":"pre","action":"skip","foreignId":2061,"condition":[{"condition":"satisfied","foreignId":2062}]}],"objective":[{"primary":true,"objectiveID":"PRIMARYOBJ","minNormalizedMeasure":0.1,"foreignId":2063,"mapInfo":[{"targetObjectiveID":"gObj-OB05b","foreignId":2064}]}]},{"id":"id3024934","choice":false,"flow":true,"foreignId":2065}],"base":"./data/ilias3_scorm2004/lm_data/lm_185/","foreignId":2014,"id":"LMSTestPackage_OB-05b"}', '0', '185', '0', '', ' - -'); -INSERT INTO cp_package VALUES ('0', '', '{"item":{"id":"OB-05c","title":"LMS Test Content Package OB-05c ","sequencingId":"id2680434","foreignId":2067,"item":[{"id":"activity_1","title":"Activity 1","parameters":"tc=OB-05c&act=1","sequencingId":"id2676157","foreignId":2068,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":2069},{"value":"previous","foreignId":2070},{"value":"suspendAll","foreignId":2071}]},{"id":"activity_2","title":"Activity 2","parameters":"tc=OB-05c&act=2","sequencingId":"id2676107","foreignId":2072,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":2073},{"value":"previous","foreignId":2074},{"value":"suspendAll","foreignId":2075}]},{"id":"activity_3","title":"Activity 3","parameters":"tc=OB-05c&act=3","foreignId":2076,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":2077},{"value":"previous","foreignId":2078},{"value":"suspendAll","foreignId":2079}]}],"base":""},"sequencing":[{"id":"id2676157","foreignId":2100,"objective":[{"primary":true,"objectiveID":"PRIMARYOBJ","satisfiedByMeasure":true,"minNormalizedMeasure":0,"foreignId":2101,"mapInfo":[{"targetObjectiveID":"gObj-OB05c","writeSatisfiedStatus":true,"writeNormalizedMeasure":true,"foreignId":2102}]}]},{"id":"id2676107","foreignId":2103,"rule":[{"type":"pre","action":"skip","foreignId":2104,"condition":[{"operator":"not","condition":"objectiveStatusKnown","foreignId":2105}]}],"objective":[{"primary":true,"objectiveID":"PRIMARYOBJ","foreignId":2106,"mapInfo":[{"targetObjectiveID":"gObj-OB05c","foreignId":2107}]}]},{"id":"id2680434","choice":false,"flow":true,"foreignId":2108}],"base":"./data/ilias3_scorm2004/lm_data/lm_186/","foreignId":2066,"id":"LMSTestPackage_OB-05c"}', '0', '186', '0', '', ' - -'); -INSERT INTO cp_package VALUES ('0', '', '{"item":{"id":"OB-06","title":"LMS Test Content Package OB-06 ","sequencingId":"id3042076","foreignId":2110,"item":[{"id":"activity_1","title":"Activity 1","parameters":"tc=OB-06&act=1","sequencingId":"id3025741","foreignId":2111,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":2112},{"value":"previous","foreignId":2113},{"value":"suspendAll","foreignId":2114}]},{"id":"activity_2","title":"Activity 2","sequencingId":"id3082989","foreignId":2115,"item":[{"id":"activity_3","title":"Activity 3","parameters":"tc=OB-06&act=3","foreignId":2116,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":2117},{"value":"previous","foreignId":2118},{"value":"suspendAll","foreignId":2119}]},{"id":"activity_4","title":"Activity 4","parameters":"tc=OB-06&act=4","foreignId":2120,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":2121},{"value":"previous","foreignId":2122},{"value":"suspendAll","foreignId":2123}]},{"id":"activity_5","title":"Activity 5","parameters":"tc=OB-06&act=5","foreignId":2124,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":2125},{"value":"previous","foreignId":2126},{"value":"suspendAll","foreignId":2127}]}]},{"id":"activity_6","title":"Activity 6","parameters":"tc=OB-06&act=6","foreignId":2128,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":2129},{"value":"previous","foreignId":2130},{"value":"suspendAll","foreignId":2131}]}],"base":""},"sequencing":[{"id":"id3025741","foreignId":2152,"objective":[{"primary":true,"objectiveID":"PRIMARYOBJ","foreignId":2153,"mapInfo":[{"targetObjectiveID":"gObj-OB06","writeSatisfiedStatus":true,"writeNormalizedMeasure":true,"foreignId":2154}]}]},{"id":"id3082989","choice":false,"flow":true,"tracked":false,"foreignId":2155,"rule":[{"type":"pre","action":"skip","foreignId":2156,"condition":[{"condition":"objectiveStatusKnown","foreignId":2157},{"condition":"objectiveMeasureKnown","foreignId":2158}]},{"type":"pre","conditionCombination":"any","action":"skip","foreignId":2159,"condition":[{"condition":"objectiveStatusKnown","foreignId":2160},{"condition":"objectiveMeasureKnown","foreignId":2161}]}],"objective":[{"primary":true,"objectiveID":"PRIMARYOBJ","foreignId":2162,"mapInfo":[{"targetObjectiveID":"gObj-OB06","foreignId":2163}]}]},{"id":"id3042076","choice":false,"flow":true,"foreignId":2164}],"base":"./data/ilias3_scorm2004/lm_data/lm_187/","foreignId":2109,"id":"LMSTestPackage_OB-06"}', '0', '187', '0', '', ' - -'); -INSERT INTO cp_package VALUES ('0', '', '{"item":{"id":"OB-07a","title":"LMS Test Content Package OB-07a","sequencingId":"id2685286","foreignId":2166,"item":[{"id":"activity_1","title":"Activity 1","parameters":"tc=OB-07a&act=1","sequencingId":"id2685266","foreignId":2167,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":2168},{"value":"previous","foreignId":2169},{"value":"suspendAll","foreignId":2170}]},{"id":"activity_2","title":"Activity 2","parameters":"tc=OB-07a&act=2","sequencingId":"id2685192","foreignId":2171,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":2172},{"value":"previous","foreignId":2173},{"value":"suspendAll","foreignId":2174}]},{"id":"activity_3","title":"Activity 3","parameters":"tc=OB-07a&act=3","sequencingId":"id2681135","foreignId":2175,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":2176},{"value":"previous","foreignId":2177},{"value":"suspendAll","foreignId":2178}]}],"base":""},"sequencing":[{"id":"id2685266","foreignId":2199,"objective":[{"primary":true,"objectiveID":"obj1","foreignId":2200,"mapInfo":[{"targetObjectiveID":"gObj-OB07a","writeSatisfiedStatus":true,"foreignId":2201}]}]},{"id":"id2685192","foreignId":2202,"rule":[{"type":"pre","action":"skip","foreignId":2203,"condition":[{"referencedObjective":"obj1","condition":"objectiveStatusKnown","foreignId":2204},{"referencedObjective":"obj1","operator":"not","condition":"satisfied","foreignId":2205}]}],"objective":[{"primary":true,"objectiveID":"obj1","foreignId":2206,"mapInfo":[{"targetObjectiveID":"gObj-OB07a","foreignId":2207}]}]},{"id":"id2681135","foreignId":2208,"objective":[{"primary":true,"objectiveID":"","foreignId":2209},{"primary":false,"objectiveID":"obj1","foreignId":2210,"mapInfo":[{"targetObjectiveID":"gObj-OB07a","foreignId":2211}]}]},{"id":"id2685286","choice":false,"flow":true,"foreignId":2212}],"base":"./data/ilias3_scorm2004/lm_data/lm_188/","foreignId":2165,"id":"LMSTestPackage_OB-07a"}', '0', '188', '0', '', ' - -'); -INSERT INTO cp_package VALUES ('0', '', '{"item":{"id":"OB-07b","title":"LMS Test Content Package OB-07b","sequencingId":"id3099498","foreignId":2214,"item":[{"id":"activity_1","title":"Activity 1","parameters":"tc=OB-07b&act=1","sequencingId":"id3082998","foreignId":2215,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":2216},{"value":"previous","foreignId":2217},{"value":"suspendAll","foreignId":2218}]},{"id":"activity_2","title":"Activity 2","parameters":"tc=OB-07b&act=2","sequencingId":"id3020248","foreignId":2219,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":2220},{"value":"previous","foreignId":2221},{"value":"suspendAll","foreignId":2222}]},{"id":"activity_3","title":"Activity 3","parameters":"tc=OB-07b&act=3","sequencingId":"id3024613","foreignId":2223,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":2224},{"value":"previous","foreignId":2225},{"value":"suspendAll","foreignId":2226}]}],"base":""},"sequencing":[{"id":"id3082998","foreignId":2247,"objective":[{"primary":true,"objectiveID":"obj1","foreignId":2248,"mapInfo":[{"targetObjectiveID":"gObj-OB07b","writeNormalizedMeasure":true,"foreignId":2249}]}]},{"id":"id3020248","foreignId":2250,"rule":[{"type":"pre","action":"skip","foreignId":2251,"condition":[{"referencedObjective":"obj1","measureThreshold":0.75,"condition":"objectiveMeasureLessThan","foreignId":2252}]}],"objective":[{"primary":true,"objectiveID":"obj1","foreignId":2253,"mapInfo":[{"targetObjectiveID":"gObj-OB07b","foreignId":2254}]}]},{"id":"id3024613","foreignId":2255,"objective":[{"primary":true,"objectiveID":"","foreignId":2256},{"primary":false,"objectiveID":"obj1","foreignId":2257,"mapInfo":[{"targetObjectiveID":"gObj-OB07b","foreignId":2258}]}]},{"id":"id3099498","choice":false,"flow":true,"foreignId":2259}],"base":"./data/ilias3_scorm2004/lm_data/lm_189/","foreignId":2213,"id":"LMSTestPackage_OB-07b"}', '0', '189', '0', '', ' - -'); -INSERT INTO cp_package VALUES ('0', '', '{"item":{"id":"OB-08a","title":"LMS Test Content Package OB-08a","sequencingId":"id3018439","foreignId":2261,"item":[{"id":"activity_1","title":"Activity 1","parameters":"tc=OB-08a&act=1","sequencingId":"id3059082","foreignId":2262,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":2263},{"value":"previous","foreignId":2264},{"value":"suspendAll","foreignId":2265}]},{"id":"activity_2","title":"Activity 2","parameters":"tc=OB-08a&act=2","sequencingId":"id3024255","foreignId":2266,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":2267},{"value":"previous","foreignId":2268},{"value":"suspendAll","foreignId":2269}]},{"id":"activity_3","title":"Activity 3","parameters":"tc=OB-08a&act=3","sequencingId":"id3027207","foreignId":2270,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":2271},{"value":"previous","foreignId":2272},{"value":"suspendAll","foreignId":2273}]},{"id":"activity_4","title":"Activity 4","parameters":"tc=OB-08a&act=4","sequencingId":"id3024933","foreignId":2274,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":2275},{"value":"previous","foreignId":2276},{"value":"suspendAll","foreignId":2277}]}],"base":""},"sequencing":[{"id":"id3059082","foreignId":2298,"objective":[{"primary":true,"objectiveID":"PRIMARYOBJ","foreignId":2299,"mapInfo":[{"targetObjectiveID":"gObj-OB08","writeNormalizedMeasure":true,"foreignId":2300}]}]},{"id":"id3024255","foreignId":2301,"rule":[{"type":"pre","action":"skip","foreignId":2302,"condition":[{"measureThreshold":0,"condition":"objectiveMeasureGreaterThan","foreignId":2303}]},{"type":"post","action":"exitParent","foreignId":2304,"condition":[{"condition":"always","foreignId":2305}]}],"objective":[{"primary":true,"objectiveID":"PRIMARYOBJ","foreignId":2306,"mapInfo":[{"targetObjectiveID":"gObj-OB08","foreignId":2307}]}]},{"id":"id3027207","foreignId":2308,"rule":[{"type":"pre","conditionCombination":"any","action":"skip","foreignId":2309,"condition":[{"measureThreshold":0.5,"condition":"objectiveMeasureLessThan","foreignId":2310},{"measureThreshold":0.5,"condition":"objectiveMeasureGreaterThan","foreignId":2311}]},{"type":"post","action":"exitParent","foreignId":2312,"condition":[{"condition":"always","foreignId":2313}]}],"objective":[{"primary":true,"objectiveID":"PRIMARYOBJ","foreignId":2314,"mapInfo":[{"targetObjectiveID":"gObj-OB08","foreignId":2315}]}]},{"id":"id3024933","foreignId":2316,"rule":[{"type":"pre","action":"skip","foreignId":2317,"condition":[{"measureThreshold":1,"condition":"objectiveMeasureLessThan","foreignId":2318}]},{"type":"post","action":"exitParent","foreignId":2319,"condition":[{"condition":"always","foreignId":2320}]}],"objective":[{"primary":true,"objectiveID":"PRIMARYOBJ","foreignId":2321,"mapInfo":[{"targetObjectiveID":"gObj-OB08","foreignId":2322}]}]},{"id":"id3018439","choice":false,"flow":true,"foreignId":2323}],"base":"./data/ilias3_scorm2004/lm_data/lm_190/","foreignId":2260,"id":"LMSTestPackage_OB-08a"}', '0', '190', '0', '', ' - -'); -INSERT INTO cp_package VALUES ('0', '', '{"item":{"id":"OB-08b","title":"LMS Test Content Package OB-08b","sequencingId":"id2813752","foreignId":2325,"item":[{"id":"activity_1","title":"Activity 1","parameters":"tc=OB-08b&act=1","sequencingId":"id2813980","foreignId":2326,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":2327},{"value":"previous","foreignId":2328},{"value":"suspendAll","foreignId":2329}]},{"id":"activity_2","title":"Activity 2","parameters":"tc=OB-08b&act=2","sequencingId":"id2836377","foreignId":2330,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":2331},{"value":"previous","foreignId":2332},{"value":"suspendAll","foreignId":2333}]},{"id":"activity_3","title":"Activity 3","parameters":"tc=OB-08b&act=3","sequencingId":"id2821677","foreignId":2334,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":2335},{"value":"previous","foreignId":2336},{"value":"suspendAll","foreignId":2337}]},{"id":"activity_4","title":"Activity 4","parameters":"tc=OB-08b&act=4","sequencingId":"id2847475","foreignId":2338,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":2339},{"value":"previous","foreignId":2340},{"value":"suspendAll","foreignId":2341}]}],"base":""},"sequencing":[{"id":"id2813980","foreignId":2362,"objective":[{"primary":true,"objectiveID":"PRIMARYOBJ","foreignId":2363,"mapInfo":[{"targetObjectiveID":"gObj-OB08","writeNormalizedMeasure":true,"foreignId":2364}]}]},{"id":"id2836377","foreignId":2365,"rule":[{"type":"pre","action":"skip","foreignId":2366,"condition":[{"measureThreshold":0,"condition":"objectiveMeasureGreaterThan","foreignId":2367}]},{"type":"post","action":"exitParent","foreignId":2368,"condition":[{"condition":"always","foreignId":2369}]}],"objective":[{"primary":true,"objectiveID":"PRIMARYOBJ","foreignId":2370,"mapInfo":[{"targetObjectiveID":"gObj-OB08","foreignId":2371}]}]},{"id":"id2821677","foreignId":2372,"rule":[{"type":"pre","conditionCombination":"any","action":"skip","foreignId":2373,"condition":[{"measureThreshold":0.5,"condition":"objectiveMeasureLessThan","foreignId":2374},{"measureThreshold":0.5,"condition":"objectiveMeasureGreaterThan","foreignId":2375}]},{"type":"post","action":"exitParent","foreignId":2376,"condition":[{"condition":"always","foreignId":2377}]}],"objective":[{"primary":true,"objectiveID":"PRIMARYOBJ","foreignId":2378,"mapInfo":[{"targetObjectiveID":"gObj-OB08","foreignId":2379}]}]},{"id":"id2847475","foreignId":2380,"rule":[{"type":"pre","action":"skip","foreignId":2381,"condition":[{"measureThreshold":1,"condition":"objectiveMeasureLessThan","foreignId":2382}]},{"type":"post","action":"exitParent","foreignId":2383,"condition":[{"condition":"always","foreignId":2384}]}],"objective":[{"primary":true,"objectiveID":"PRIMARYOBJ","foreignId":2385,"mapInfo":[{"targetObjectiveID":"gObj-OB08","foreignId":2386}]}]},{"id":"id2813752","choice":false,"flow":true,"foreignId":2387}],"base":"./data/ilias3_scorm2004/lm_data/lm_191/","foreignId":2324,"id":"LMSTestPackage_OB-08b"}', '0', '191', '0', '', ' - -'); -INSERT INTO cp_package VALUES ('0', '', '{"item":{"id":"OB-09a","title":"LMS Test Content Package OB-09a","sequencingId":"id2835854","foreignId":2389,"item":[{"id":"activity_1","title":"Activity 1","parameters":"tc=OB-09a&act=1","sequencingId":"id2833749","foreignId":2390,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":2391},{"value":"previous","foreignId":2392},{"value":"suspendAll","foreignId":2393}]},{"id":"activity_2","title":"Activity 2","parameters":"tc=OB-09a&act=2","sequencingId":"id2836002","foreignId":2394,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":2395},{"value":"previous","foreignId":2396},{"value":"suspendAll","foreignId":2397}]},{"id":"activity_3","title":"Activity 3","parameters":"tc=OB-09a&act=3","sequencingId":"id2836376","foreignId":2398,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":2399},{"value":"previous","foreignId":2400},{"value":"suspendAll","foreignId":2401}]}],"base":""},"sequencing":[{"id":"id2833749","rollupObjectiveSatisfied":false,"rollupProgressCompletion":false,"foreignId":2422,"rule":[{"type":"pre","action":"skip","foreignId":2423,"condition":[{"referencedObjective":"obj1","condition":"satisfied","foreignId":2424}]}],"objective":[{"primary":true,"objectiveID":"obj1","foreignId":2425,"mapInfo":[{"targetObjectiveID":"gObj-OB09-obj1","foreignId":2426}]}]},{"id":"id2836002","rollupObjectiveSatisfied":false,"rollupProgressCompletion":false,"foreignId":2427,"rule":[{"type":"pre","action":"skip","foreignId":2428,"condition":[{"referencedObjective":"obj2","condition":"satisfied","foreignId":2429}]}],"objective":[{"primary":true,"objectiveID":"obj2","foreignId":2430,"mapInfo":[{"targetObjectiveID":"gObj-OB09-obj2","foreignId":2431}]}]},{"id":"id2836376","foreignId":2432,"objective":[{"primary":true,"objectiveID":"","foreignId":2433},{"primary":false,"objectiveID":"obj1","foreignId":2434,"mapInfo":[{"targetObjectiveID":"gObj-OB09-obj1","writeSatisfiedStatus":true,"foreignId":2435}]},{"primary":false,"objectiveID":"obj2","foreignId":2436,"mapInfo":[{"targetObjectiveID":"gObj-OB09-obj2","writeSatisfiedStatus":true,"foreignId":2437}]}]},{"id":"id2835854","choice":false,"flow":true,"foreignId":2438,"rule":[{"type":"exit","action":"exit","foreignId":2439,"condition":[{"condition":"completed","foreignId":2440}]},{"type":"post","action":"retry","foreignId":2441,"condition":[{"operator":"not","condition":"satisfied","foreignId":2442}]}]}],"base":"./data/ilias3_scorm2004/lm_data/lm_192/","foreignId":2388,"id":"LMSTestPackage_OB-09a"}', '0', '192', '0', '', ' - -'); -INSERT INTO cp_package VALUES ('0', '', '{"item":{"id":"OB-09b","title":"LMS Test Content Package OB-09b","sequencingId":"id2688473","foreignId":2444,"item":[{"id":"activity_1","title":"Activity 1","parameters":"tc=OB-09b&act=1","sequencingId":"id2684985","foreignId":2445,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":2446},{"value":"previous","foreignId":2447},{"value":"suspendAll","foreignId":2448}]},{"id":"activity_2","title":"Activity 2","parameters":"tc=OB-09b&act=2","sequencingId":"id2690601","foreignId":2449,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":2450},{"value":"previous","foreignId":2451},{"value":"suspendAll","foreignId":2452}]},{"id":"activity_3","title":"Activity 3","parameters":"tc=OB-09b&act=3","sequencingId":"id2689989","foreignId":2453,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":2454},{"value":"previous","foreignId":2455},{"value":"suspendAll","foreignId":2456}]}],"base":""},"sequencing":[{"id":"id2684985","rollupObjectiveSatisfied":false,"rollupProgressCompletion":false,"foreignId":2477,"rule":[{"type":"pre","action":"skip","foreignId":2478,"condition":[{"referencedObjective":"obj1","condition":"satisfied","foreignId":2479}]}],"objective":[{"primary":true,"objectiveID":"obj1","foreignId":2480,"mapInfo":[{"targetObjectiveID":"gObj-OB09-obj1","foreignId":2481}]}]},{"id":"id2690601","rollupObjectiveSatisfied":false,"rollupProgressCompletion":false,"foreignId":2482,"rule":[{"type":"pre","action":"skip","foreignId":2483,"condition":[{"referencedObjective":"obj2","condition":"satisfied","foreignId":2484}]}],"objective":[{"primary":true,"objectiveID":"obj2","foreignId":2485,"mapInfo":[{"targetObjectiveID":"gObj-OB09-obj2","foreignId":2486}]}]},{"id":"id2689989","foreignId":2487,"objective":[{"primary":true,"objectiveID":"","foreignId":2488},{"primary":false,"objectiveID":"obj1","foreignId":2489,"mapInfo":[{"targetObjectiveID":"gObj-OB09-obj1","writeSatisfiedStatus":true,"foreignId":2490}]},{"primary":false,"objectiveID":"obj2","foreignId":2491,"mapInfo":[{"targetObjectiveID":"gObj-OB09-obj2","writeSatisfiedStatus":true,"foreignId":2492}]}]},{"id":"id2688473","choice":false,"flow":true,"foreignId":2493,"rule":[{"type":"exit","action":"exit","foreignId":2494,"condition":[{"condition":"completed","foreignId":2495}]},{"type":"post","action":"retry","foreignId":2496,"condition":[{"operator":"not","condition":"satisfied","foreignId":2497}]}]}],"base":"./data/ilias3_scorm2004/lm_data/lm_193/","foreignId":2443,"id":"LMSTestPackage_OB-09b"}', '0', '193', '0', '', ' - -'); -INSERT INTO cp_package VALUES ('0', '', '{"item":{"id":"OB-10a","title":"LMS Test Content Package OB-10a","sequencingId":"id2623394","foreignId":2499,"item":[{"id":"activity_1","title":"Activity 1","parameters":"tc=OB-10a&act=1","sequencingId":"id2623602","foreignId":2500,"href":"resources/SequencingTest.htm","sco":1},{"id":"activity_2","title":"Activity 2","parameters":"tc=OB-10a&act=2","sequencingId":"id2623520","foreignId":2501,"href":"resources/SequencingTest.htm","sco":1},{"id":"activity_3","title":"Activity 3","parameters":"tc=OB-10a&act=3","sequencingId":"id2623422","foreignId":2502,"href":"resources/SequencingTest.htm","sco":1}],"base":""},"sequencing":[{"id":"id2623602","tracked":false,"foreignId":2523,"objective":[{"primary":true,"objectiveID":"PRIMARYOBJ","foreignId":2524,"mapInfo":[{"targetObjectiveID":"gObj-OB10a","readSatisfiedStatus":false,"writeSatisfiedStatus":true,"foreignId":2525}]}]},{"id":"id2623520","foreignId":2526,"rule":[{"type":"pre","action":"skip","foreignId":2527,"condition":[{"condition":"satisfied","foreignId":2528}]}],"objective":[{"primary":true,"objectiveID":"PRIMARYOBJ","foreignId":2529,"mapInfo":[{"targetObjectiveID":"gObj-OB10a","writeSatisfiedStatus":true,"foreignId":2530}]}]},{"id":"id2623422","tracked":false,"foreignId":2531,"objective":[{"primary":true,"objectiveID":"PRIMARYOBJ","foreignId":2532,"mapInfo":[{"targetObjectiveID":"gObj-OB10a","foreignId":2533}]}]},{"id":"id2623394","choice":false,"flow":true,"foreignId":2534}],"base":"./data/ilias3_scorm2004/lm_data/lm_194/","foreignId":2498,"id":"LMSTestPackage_OB-10a"}', '0', '194', '0', '', ' - -'); -INSERT INTO cp_package VALUES ('0', '', '{"item":{"id":"OB-10b","title":"LMS Test Content Package OB-10b","sequencingId":"id3024558","foreignId":2536,"item":[{"id":"activity_1","title":"Activity 1","parameters":"tc=OB-10b&act=1","sequencingId":"id3085765","foreignId":2537,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":2538},{"value":"previous","foreignId":2539},{"value":"suspendAll","foreignId":2540}]},{"id":"activity_2","title":"Activity 2","parameters":"tc=OB-10b&act=2","sequencingId":"id3022395","foreignId":2541,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":2542},{"value":"previous","foreignId":2543},{"value":"suspendAll","foreignId":2544}]},{"id":"activity_3","title":"Activity 3","parameters":"tc=OB-10b&act=3","sequencingId":"id3022470","foreignId":2545,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":2546},{"value":"previous","foreignId":2547},{"value":"suspendAll","foreignId":2548}]}],"base":""},"sequencing":[{"id":"id3085765","tracked":false,"foreignId":2569,"objective":[{"primary":true,"objectiveID":"PRIMARYOBJ","foreignId":2570,"mapInfo":[{"targetObjectiveID":"gObj-OB10b","readSatisfiedStatus":false,"writeNormalizedMeasure":true,"foreignId":2571}]}]},{"id":"id3022395","foreignId":2572,"rule":[{"type":"pre","action":"skip","foreignId":2573,"condition":[{"measureThreshold":0.7,"condition":"objectiveMeasureGreaterThan","foreignId":2574}]}],"objective":[{"primary":true,"objectiveID":"PRIMARYOBJ","foreignId":2575,"mapInfo":[{"targetObjectiveID":"gObj-OB10b","writeNormalizedMeasure":true,"foreignId":2576}]}]},{"id":"id3022470","tracked":false,"foreignId":2577,"objective":[{"primary":true,"objectiveID":"PRIMARYOBJ","foreignId":2578,"mapInfo":[{"targetObjectiveID":"gObj-OB10b","foreignId":2579}]}]},{"id":"id3024558","choice":false,"flow":true,"foreignId":2580}],"base":"./data/ilias3_scorm2004/lm_data/lm_195/","foreignId":2535,"id":"LMSTestPackage_OB-10b"}', '0', '195', '0', '', ' - -'); -INSERT INTO cp_package VALUES ('0', '', '{"item":{"id":"OB-10c","title":"LMS Test Content Package OB-10c","sequencingId":"id3036101","foreignId":2582,"item":[{"id":"activity_1","title":"Activity 1","parameters":"tc=OB-10c&act=1","sequencingId":"id3021295","foreignId":2583,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":2584},{"value":"previous","foreignId":2585},{"value":"suspendAll","foreignId":2586}]},{"id":"activity_2","title":"Activity 2","parameters":"tc=OB-10c&act=2","sequencingId":"id3020449","foreignId":2587,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":2588},{"value":"previous","foreignId":2589},{"value":"suspendAll","foreignId":2590}]},{"id":"activity_3","title":"Activity 3","parameters":"tc=OB-10c&act=3","sequencingId":"id3020211","foreignId":2591,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":2592},{"value":"previous","foreignId":2593},{"value":"suspendAll","foreignId":2594}]}],"base":""},"sequencing":[{"id":"id3021295","tracked":false,"foreignId":2615,"objective":[{"primary":true,"objectiveID":"PRIMARYOBJ","foreignId":2616,"mapInfo":[{"targetObjectiveID":"gObj-OB10c","readSatisfiedStatus":false,"writeSatisfiedStatus":true,"foreignId":2617}]},{"primary":false,"objectiveID":"obj1","foreignId":2618}]},{"id":"id3020449","foreignId":2619,"rule":[{"type":"pre","action":"skip","foreignId":2620,"condition":[{"condition":"satisfied","foreignId":2621}]}],"objective":[{"primary":true,"objectiveID":"PRIMARYOBJ","foreignId":2622,"mapInfo":[{"targetObjectiveID":"gObj-OB10c","writeSatisfiedStatus":true,"foreignId":2623}]}]},{"id":"id3020211","tracked":false,"foreignId":2624,"objective":[{"primary":true,"objectiveID":"PRIMARYOBJ","foreignId":2625,"mapInfo":[{"targetObjectiveID":"gObj-OB10c","foreignId":2626}]}]},{"id":"id3036101","choice":false,"flow":true,"foreignId":2627}],"base":"./data/ilias3_scorm2004/lm_data/lm_196/","foreignId":2581,"id":"LMSTestPackage_OB-10c"}', '0', '196', '0', '', ' - -'); -INSERT INTO cp_package VALUES ('0', '', '{"item":{"id":"OB-10d","title":"LMS Test Content Package OB-10d","sequencingId":"id3024238","foreignId":2629,"item":[{"id":"activity_1","title":"Activity 1","parameters":"tc=OB-10d&act=1","sequencingId":"id3021031","foreignId":2630,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":2631},{"value":"previous","foreignId":2632},{"value":"suspendAll","foreignId":2633}]},{"id":"activity_2","title":"Activity 2","parameters":"tc=OB-10d&act=2","sequencingId":"id3024205","foreignId":2634,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":2635},{"value":"previous","foreignId":2636},{"value":"suspendAll","foreignId":2637}]},{"id":"activity_3","title":"Activity 3","parameters":"tc=OB-10d&act=3","sequencingId":"id3020790","foreignId":2638,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":2639},{"value":"previous","foreignId":2640},{"value":"suspendAll","foreignId":2641}]}],"base":""},"sequencing":[{"id":"id3021031","tracked":false,"foreignId":2662,"objective":[{"primary":true,"objectiveID":"PRIMARYOBJ","foreignId":2663,"mapInfo":[{"targetObjectiveID":"gObj-OB10d","readSatisfiedStatus":false,"writeNormalizedMeasure":true,"foreignId":2664}]},{"primary":false,"objectiveID":"obj1","foreignId":2665},{"primary":false,"objectiveID":"obj2","foreignId":2666},{"primary":false,"objectiveID":"obj3","foreignId":2667}]},{"id":"id3024205","foreignId":2668,"rule":[{"type":"pre","action":"skip","foreignId":2669,"condition":[{"measureThreshold":0.7,"condition":"objectiveMeasureGreaterThan","foreignId":2670}]}],"objective":[{"primary":true,"objectiveID":"PRIMARYOBJ","foreignId":2671,"mapInfo":[{"targetObjectiveID":"gObj-OB10d","writeNormalizedMeasure":true,"foreignId":2672}]}]},{"id":"id3020790","tracked":false,"foreignId":2673,"objective":[{"primary":true,"objectiveID":"PRIMARYOBJ","foreignId":2674,"mapInfo":[{"targetObjectiveID":"gObj-OB10d","foreignId":2675}]}]},{"id":"id3024238","choice":false,"flow":true,"foreignId":2676}],"base":"./data/ilias3_scorm2004/lm_data/lm_197/","foreignId":2628,"id":"LMSTestPackage_OB-10d"}', '0', '197', '0', '', ' - -'); -INSERT INTO cp_package VALUES ('0', '', '{"item":{"id":"OB-11a","title":"LMS Test Content Package OB-11a","sequencingId":"id2784294","foreignId":2678,"item":[{"id":"activity_1","title":"Activity 1","parameters":"tc=OB-11a&act=1","sequencingId":"id3085660","foreignId":2679,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":2680},{"value":"previous","foreignId":2681},{"value":"suspendAll","foreignId":2682}]},{"id":"activity_2","title":"Activity 2","parameters":"tc=OB-11a&act=2","sequencingId":"id3024627","foreignId":2683,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":2684},{"value":"previous","foreignId":2685},{"value":"suspendAll","foreignId":2686}]},{"id":"activity_3","title":"Activity 3","parameters":"tc=OB-11a&act=3","sequencingId":"id3024005","foreignId":2687,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":2688},{"value":"previous","foreignId":2689},{"value":"suspendAll","foreignId":2690}]}],"base":""},"sequencing":[{"id":"id3085660","tracked":false,"foreignId":2711,"objective":[{"primary":true,"objectiveID":"","foreignId":2712},{"primary":false,"objectiveID":"obj","foreignId":2713,"mapInfo":[{"targetObjectiveID":"gObj-OB11a","readSatisfiedStatus":false,"writeSatisfiedStatus":true,"foreignId":2714}]}]},{"id":"id3024627","foreignId":2715,"rule":[{"type":"pre","action":"skip","foreignId":2716,"condition":[{"condition":"satisfied","foreignId":2717}]}],"objective":[{"primary":true,"objectiveID":"","foreignId":2718},{"primary":false,"objectiveID":"obj","foreignId":2719,"mapInfo":[{"targetObjectiveID":"gObj-OB11a","writeSatisfiedStatus":true,"foreignId":2720}]}]},{"id":"id3024005","tracked":false,"foreignId":2721,"objective":[{"primary":true,"objectiveID":"","foreignId":2722},{"primary":false,"objectiveID":"obj","foreignId":2723,"mapInfo":[{"targetObjectiveID":"gObj-OB11a","foreignId":2724}]}]},{"id":"id2784294","choice":false,"flow":true,"foreignId":2725}],"base":"./data/ilias3_scorm2004/lm_data/lm_198/","foreignId":2677,"id":"LMSTestPackage_OB-11a"}', '0', '198', '0', '', ' - -'); -INSERT INTO cp_package VALUES ('0', '', '{"item":{"id":"OB-11b","title":"LMS Test Content Package OB-11b","sequencingId":"id2623206","foreignId":2727,"item":[{"id":"activity_1","title":"Activity 1","parameters":"tc=OB-11b&act=1","sequencingId":"id2684186","foreignId":2728,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":2729},{"value":"previous","foreignId":2730},{"value":"suspendAll","foreignId":2731}]},{"id":"activity_2","title":"Activity 2","parameters":"tc=OB-11b&act=2","sequencingId":"id2623396","foreignId":2732,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":2733},{"value":"previous","foreignId":2734},{"value":"suspendAll","foreignId":2735}]},{"id":"activity_3","title":"Activity 3","parameters":"tc=OB-11b&act=3","sequencingId":"id2623266","foreignId":2736,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":2737},{"value":"previous","foreignId":2738},{"value":"suspendAll","foreignId":2739}]}],"base":""},"sequencing":[{"id":"id2684186","tracked":false,"foreignId":2760,"objective":[{"primary":true,"objectiveID":"","foreignId":2761},{"primary":false,"objectiveID":"obj1","foreignId":2762,"mapInfo":[{"targetObjectiveID":"gObj-OB11b","readSatisfiedStatus":false,"writeNormalizedMeasure":true,"foreignId":2763}]},{"primary":false,"objectiveID":"obj2","foreignId":2764},{"primary":false,"objectiveID":"obj3","foreignId":2765}]},{"id":"id2623396","foreignId":2766,"rule":[{"type":"pre","action":"skip","foreignId":2767,"condition":[{"measureThreshold":0.7,"condition":"objectiveMeasureGreaterThan","foreignId":2768}]}],"objective":[{"primary":true,"objectiveID":"","foreignId":2769},{"primary":false,"objectiveID":"obj","foreignId":2770,"mapInfo":[{"targetObjectiveID":"gObj-OB11b","writeNormalizedMeasure":true,"foreignId":2771}]}]},{"id":"id2623266","tracked":false,"foreignId":2772,"objective":[{"primary":true,"objectiveID":"","foreignId":2773},{"primary":false,"objectiveID":"obj","foreignId":2774,"mapInfo":[{"targetObjectiveID":"gObj-OB11b","foreignId":2775}]}]},{"id":"id2623206","choice":false,"flow":true,"foreignId":2776}],"base":"./data/ilias3_scorm2004/lm_data/lm_199/","foreignId":2726,"id":"LMSTestPackage_OB-11b"}', '0', '199', '0', '', ' - -'); -INSERT INTO cp_package VALUES ('0', '', '{"item":{"id":"OB-12a","title":"LMS Test Content Package OB-12a","sequencingId":"id3024614","foreignId":2778,"item":[{"id":"activity_1","title":"Activity 1","parameters":"tc=OB-12a&act=1","foreignId":2779,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":2780},{"value":"previous","foreignId":2781},{"value":"suspendAll","foreignId":2782}]},{"id":"activity_2","title":"Activity 2","parameters":"tc=OB-12a&act=2","sequencingId":"id3036015","foreignId":2783,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":2784},{"value":"previous","foreignId":2785},{"value":"suspendAll","foreignId":2786}]},{"id":"activity_3","title":"Activity 3","parameters":"tc=OB-12a&act=3","foreignId":2787,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":2788},{"value":"previous","foreignId":2789},{"value":"suspendAll","foreignId":2790}]}],"base":""},"sequencing":[{"id":"id3036015","foreignId":2811,"rule":[{"type":"post","action":"previous","foreignId":2812,"condition":[{"referencedObjective":"obj1","condition":"objectiveStatusKnown","foreignId":2813},{"referencedObjective":"obj1","operator":"not","condition":"objectiveMeasureKnown","foreignId":2814}]}],"objective":[{"primary":true,"objectiveID":"","foreignId":2815},{"primary":false,"objectiveID":"obj1","foreignId":2816}]},{"id":"id3024614","choice":false,"flow":true,"foreignId":2817}],"base":"./data/ilias3_scorm2004/lm_data/lm_200/","foreignId":2777,"id":"LMSTestPackage_OB-12a"}', '0', '200', '0', '', ' - -'); -INSERT INTO cp_package VALUES ('0', '', '{"item":{"id":"OB-12b","title":"LMS Test Content Package OB-12b","sequencingId":"id3024649","foreignId":2819,"item":[{"id":"activity_1","title":"Activity 1","parameters":"tc=OB-12b&act=1","foreignId":2820,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":2821},{"value":"previous","foreignId":2822},{"value":"suspendAll","foreignId":2823}]},{"id":"activity_2","title":"Activity 2","parameters":"tc=OB-12b&act=2","sequencingId":"id3020214","foreignId":2824,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":2825},{"value":"previous","foreignId":2826},{"value":"suspendAll","foreignId":2827}]},{"id":"activity_3","title":"Activity 3","parameters":"tc=OB-12b&act=3","foreignId":2828,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":2829},{"value":"previous","foreignId":2830},{"value":"suspendAll","foreignId":2831}]}],"base":""},"sequencing":[{"id":"id3020214","foreignId":2852,"rule":[{"type":"post","action":"continue","foreignId":2853,"condition":[{"referencedObjective":"obj1","operator":"not","condition":"objectiveStatusKnown","foreignId":2854},{"referencedObjective":"obj1","condition":"objectiveMeasureKnown","foreignId":2855}]}],"objective":[{"primary":true,"objectiveID":"","foreignId":2856},{"primary":false,"objectiveID":"obj1","foreignId":2857}]},{"id":"id3024649","choice":false,"flow":true,"foreignId":2858}],"base":"./data/ilias3_scorm2004/lm_data/lm_201/","foreignId":2818,"id":"LMSTestPackage_OB-12b"}', '0', '201', '0', '', ' - -'); -INSERT INTO cp_package VALUES ('0', '', '{"item":{"id":"OB-12c","title":"LMS Test Content Package OB-12c","sequencingId":"id2685932","foreignId":2860,"item":[{"id":"activity_1","title":"Activity 1","parameters":"tc=OB-12c&act=1","foreignId":2861,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":2862},{"value":"previous","foreignId":2863},{"value":"suspendAll","foreignId":2864}]},{"id":"activity_2","title":"Activity 2","parameters":"tc=OB-12c&act=2","sequencingId":"id2691063","foreignId":2865,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":2866},{"value":"previous","foreignId":2867},{"value":"suspendAll","foreignId":2868}]},{"id":"activity_3","title":"Activity 3","parameters":"tc=OB-12c&act=3","foreignId":2869,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":2870},{"value":"previous","foreignId":2871},{"value":"suspendAll","foreignId":2872}]}],"base":""},"sequencing":[{"id":"id2691063","foreignId":2893,"rule":[{"type":"post","action":"continue","foreignId":2894,"condition":[{"referencedObjective":"obj1","condition":"objectiveStatusKnown","foreignId":2895},{"referencedObjective":"obj1","condition":"objectiveMeasureKnown","foreignId":2896}]}],"objective":[{"primary":true,"objectiveID":"","foreignId":2897},{"primary":false,"objectiveID":"obj1","satisfiedByMeasure":true,"minNormalizedMeasure":0.9,"foreignId":2898}]},{"id":"id2685932","choice":false,"flow":true,"foreignId":2899}],"base":"./data/ilias3_scorm2004/lm_data/lm_202/","foreignId":2859,"id":"LMSTestPackage_OB-12c"}', '0', '202', '0', '', ' - -'); -INSERT INTO cp_package VALUES ('0', '', '{"item":{"id":"OB-13a","title":"LMS Test Content Package OB-13a ","sequencingId":"id2687756","foreignId":2901,"item":[{"id":"activity_1","title":"Activity 1","parameters":"tc=OB-13a&act=1","foreignId":2902,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":2903},{"value":"previous","foreignId":2904},{"value":"suspendAll","foreignId":2905}]},{"id":"activity_2","title":"Activity 2","parameters":"tc=OB-13a&act=2","sequencingId":"id2686031","foreignId":2906,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":2907},{"value":"previous","foreignId":2908},{"value":"suspendAll","foreignId":2909}]},{"id":"activity_3","title":"Activity 3","parameters":"tc=OB-13a&act=3","sequencingId":"id2687289","foreignId":2910,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":2911},{"value":"previous","foreignId":2912},{"value":"suspendAll","foreignId":2913}]},{"id":"activity_4","title":"Activity 4","parameters":"tc=OB-13a&act=4","foreignId":2914,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":2915},{"value":"previous","foreignId":2916},{"value":"suspendAll","foreignId":2917}]}],"base":""},"sequencing":[{"id":"id2686031","foreignId":2938,"objective":[{"primary":true,"objectiveID":"","foreignId":2939},{"primary":false,"objectiveID":"obj1","foreignId":2940,"mapInfo":[{"targetObjectiveID":"gObj-OB13a","writeSatisfiedStatus":true,"writeNormalizedMeasure":true,"foreignId":2941}]}]},{"id":"id2687289","foreignId":2942,"rule":[{"type":"pre","action":"skip","foreignId":2943,"condition":[{"referencedObjective":"obj1","condition":"objectiveStatusKnown","foreignId":2944},{"referencedObjective":"obj1","operator":"not","condition":"objectiveMeasureKnown","foreignId":2945}]}],"objective":[{"primary":true,"objectiveID":"","foreignId":2946},{"primary":false,"objectiveID":"obj1","foreignId":2947,"mapInfo":[{"targetObjectiveID":"gObj-OB13a","foreignId":2948}]}]},{"id":"id2687756","choice":false,"flow":true,"foreignId":2949}],"base":"./data/ilias3_scorm2004/lm_data/lm_203/","foreignId":2900,"id":"LMSTestPackage_OB-13a"}', '0', '203', '0', '', ' - -'); -INSERT INTO cp_package VALUES ('0', '', '{"item":{"id":"OB-13b","title":"LMS Test Content Package OB-13b ","sequencingId":"id2832065","foreignId":2951,"item":[{"id":"activity_1","title":"Activity 1","parameters":"tc=OB-13b&act=1","foreignId":2952,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":2953},{"value":"previous","foreignId":2954},{"value":"suspendAll","foreignId":2955}]},{"id":"activity_2","title":"Activity 2","parameters":"tc=OB-13b&act=2","sequencingId":"id2821445","foreignId":2956,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":2957},{"value":"previous","foreignId":2958},{"value":"suspendAll","foreignId":2959}]},{"id":"activity_3","title":"Activity 3","parameters":"tc=OB-13b&act=3","sequencingId":"id2835105","foreignId":2960,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":2961},{"value":"previous","foreignId":2962},{"value":"suspendAll","foreignId":2963}]},{"id":"activity_4","title":"Activity 4","parameters":"tc=OB-13b&act=4","foreignId":2964,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":2965},{"value":"previous","foreignId":2966},{"value":"suspendAll","foreignId":2967}]}],"base":""},"sequencing":[{"id":"id2821445","foreignId":2988,"objective":[{"primary":true,"objectiveID":"","foreignId":2989},{"primary":false,"objectiveID":"obj1","foreignId":2990,"mapInfo":[{"targetObjectiveID":"gObj-OB13b","writeSatisfiedStatus":true,"writeNormalizedMeasure":true,"foreignId":2991}]}]},{"id":"id2835105","foreignId":2992,"rule":[{"type":"pre","action":"skip","foreignId":2993,"condition":[{"referencedObjective":"obj1","operator":"not","condition":"objectiveStatusKnown","foreignId":2994},{"referencedObjective":"obj1","condition":"objectiveMeasureKnown","foreignId":2995}]}],"objective":[{"primary":true,"objectiveID":"","foreignId":2996},{"primary":false,"objectiveID":"obj1","foreignId":2997,"mapInfo":[{"targetObjectiveID":"gObj-OB13b","foreignId":2998}]}]},{"id":"id2832065","choice":false,"flow":true,"foreignId":2999}],"base":"./data/ilias3_scorm2004/lm_data/lm_204/","foreignId":2950,"id":"LMSTestPackage_OB-13b"}', '0', '204', '0', '', ' - -'); -INSERT INTO cp_package VALUES ('0', '', '{"item":{"id":"OB-13c","title":"LMS Test Content Package OB-13c ","sequencingId":"id2678078","foreignId":3001,"item":[{"id":"activity_1","title":"Activity 1","parameters":"tc=OB-13c&act=1","foreignId":3002,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":3003},{"value":"previous","foreignId":3004},{"value":"suspendAll","foreignId":3005}]},{"id":"activity_2","title":"Activity 2","parameters":"tc=OB-13c&act=2","sequencingId":"id2678375","foreignId":3006,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":3007},{"value":"previous","foreignId":3008},{"value":"suspendAll","foreignId":3009}]},{"id":"activity_3","title":"Activity 3","parameters":"tc=OB-13c&act=3","sequencingId":"id2678294","foreignId":3010,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":3011},{"value":"previous","foreignId":3012},{"value":"suspendAll","foreignId":3013}]},{"id":"activity_4","title":"Activity 4","parameters":"tc=OB-13c&act=4","foreignId":3014,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":3015},{"value":"previous","foreignId":3016},{"value":"suspendAll","foreignId":3017}]}],"base":""},"sequencing":[{"id":"id2678375","foreignId":3038,"objective":[{"primary":true,"objectiveID":"","foreignId":3039},{"primary":false,"objectiveID":"obj1","satisfiedByMeasure":true,"minNormalizedMeasure":0.25,"foreignId":3040,"mapInfo":[{"targetObjectiveID":"gObj-OB13c","writeSatisfiedStatus":true,"writeNormalizedMeasure":true,"foreignId":3041}]}]},{"id":"id2678294","foreignId":3042,"rule":[{"type":"pre","action":"skip","foreignId":3043,"condition":[{"referencedObjective":"obj1","condition":"objectiveStatusKnown","foreignId":3044},{"referencedObjective":"obj1","condition":"objectiveMeasureKnown","foreignId":3045}]}],"objective":[{"primary":true,"objectiveID":"","foreignId":3046},{"primary":false,"objectiveID":"obj1","foreignId":3047,"mapInfo":[{"targetObjectiveID":"gObj-OB13c","foreignId":3048}]}]},{"id":"id2678078","choice":false,"flow":true,"foreignId":3049}],"base":"./data/ilias3_scorm2004/lm_data/lm_205/","foreignId":3000,"id":"LMSTestPackage_OB-13c"}', '0', '205', '0', '', ' - -'); -INSERT INTO cp_package VALUES ('0', '', '{"item":{"id":"OB-14a","title":"LMS Test Content Package OB-14a","sequencingId":"id2832072","foreignId":3051,"item":[{"id":"activity_1","title":"Activity 1","parameters":"tc=OB-14a&act=1","sequencingId":"id2843381","foreignId":3052,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":3053},{"value":"previous","foreignId":3054},{"value":"suspendAll","foreignId":3055}]},{"id":"activity_2","title":"Activity 2","parameters":"tc=OB-14a&act=2","sequencingId":"id2834918","foreignId":3056,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":3057},{"value":"previous","foreignId":3058},{"value":"suspendAll","foreignId":3059}]},{"id":"activity_3","title":"Activity 3","parameters":"tc=OB-14a&act=3","sequencingId":"id2836192","foreignId":3060,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":3061},{"value":"previous","foreignId":3062},{"value":"suspendAll","foreignId":3063}]}],"base":""},"sequencing":[{"id":"id2843381","foreignId":3084,"objective":[{"primary":true,"objectiveID":"","foreignId":3085},{"primary":false,"objectiveID":"obj2","foreignId":3086,"mapInfo":[{"targetObjectiveID":"gObj-OB14a-2","writeSatisfiedStatus":true,"writeNormalizedMeasure":true,"foreignId":3087}]},{"primary":false,"objectiveID":"obj3","foreignId":3088,"mapInfo":[{"targetObjectiveID":"gObj-OB14a-3","writeSatisfiedStatus":true,"writeNormalizedMeasure":true,"foreignId":3089}]},{"primary":false,"objectiveID":"obj4","satisfiedByMeasure":true,"minNormalizedMeasure":0.4,"foreignId":3090,"mapInfo":[{"targetObjectiveID":"gObj-OB14a-4","writeSatisfiedStatus":true,"writeNormalizedMeasure":true,"foreignId":3091}]},{"primary":false,"objectiveID":"obj1","foreignId":3092,"mapInfo":[{"targetObjectiveID":"gObj-OB14a-1","writeSatisfiedStatus":true,"writeNormalizedMeasure":true,"foreignId":3093}]}]},{"id":"id2834918","foreignId":3094,"objective":[{"primary":true,"objectiveID":"","foreignId":3095},{"primary":false,"objectiveID":"obj3","foreignId":3096,"mapInfo":[{"targetObjectiveID":"gObj-OB14a-3","writeSatisfiedStatus":true,"writeNormalizedMeasure":true,"foreignId":3097}]},{"primary":false,"objectiveID":"gObj-OB14a-1","satisfiedByMeasure":true,"minNormalizedMeasure":0.3,"foreignId":3098,"mapInfo":[{"targetObjectiveID":"gObj-OB14a-3","foreignId":3099}]},{"primary":false,"objectiveID":"obj1","foreignId":3100,"mapInfo":[{"targetObjectiveID":"gObj-OB14a-1","writeSatisfiedStatus":true,"writeNormalizedMeasure":true,"foreignId":3101}]},{"primary":false,"objectiveID":"obj4","satisfiedByMeasure":true,"minNormalizedMeasure":0.15,"foreignId":3102,"mapInfo":[{"targetObjectiveID":"gObj-OB14a-4","writeSatisfiedStatus":true,"writeNormalizedMeasure":true,"foreignId":3103}]},{"primary":false,"objectiveID":"obj2","foreignId":3104,"mapInfo":[{"targetObjectiveID":"gObj-OB14a-2","writeSatisfiedStatus":true,"writeNormalizedMeasure":true,"foreignId":3105}]}]},{"id":"id2836192","tracked":false,"foreignId":3106,"objective":[{"primary":true,"objectiveID":"","foreignId":3107},{"primary":false,"objectiveID":"obj4","satisfiedByMeasure":true,"minNormalizedMeasure":0.6,"foreignId":3108,"mapInfo":[{"targetObjectiveID":"gObj-OB14a-4","writeSatisfiedStatus":true,"writeNormalizedMeasure":true,"foreignId":3109}]},{"primary":false,"objectiveID":"obj1","foreignId":3110,"mapInfo":[{"targetObjectiveID":"gObj-OB14a-1","writeSatisfiedStatus":true,"writeNormalizedMeasure":true,"foreignId":3111}]},{"primary":false,"objectiveID":"obj2","foreignId":3112,"mapInfo":[{"targetObjectiveID":"gObj-OB14a-2","writeSatisfiedStatus":true,"writeNormalizedMeasure":true,"foreignId":3113}]},{"primary":false,"objectiveID":"obj3","foreignId":3114,"mapInfo":[{"targetObjectiveID":"gObj-OB14a-3","writeSatisfiedStatus":true,"writeNormalizedMeasure":true,"foreignId":3115}]},{"primary":false,"objectiveID":"gObj-OB14a-1","satisfiedByMeasure":true,"minNormalizedMeasure":0.01,"foreignId":3116,"mapInfo":[{"targetObjectiveID":"gObj-OB14a-3","foreignId":3117}]}]},{"id":"id2832072","choice":false,"flow":true,"foreignId":3118}],"base":"./data/ilias3_scorm2004/lm_data/lm_206/","foreignId":3050,"id":"LMSTestPackage_OB-14a"}', '0', '206', '0', '', ' - -'); -INSERT INTO cp_package VALUES ('0', '', '{"item":{"id":"OB-14b","title":"LMS Test Content Package OB-14b","sequencingId":"id2836467","foreignId":3120,"item":[{"id":"activity_1","title":"Activity 1","parameters":"tc=OB-14b&act=1","sequencingId":"id2835369","foreignId":3121,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":3122},{"value":"previous","foreignId":3123},{"value":"suspendAll","foreignId":3124}]},{"id":"activity_2","title":"Activity 2","parameters":"tc=OB-14b&act=2","sequencingId":"id2836423","foreignId":3125,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":3126},{"value":"previous","foreignId":3127},{"value":"suspendAll","foreignId":3128}]},{"id":"activity_3","title":"Activity 3","parameters":"tc=OB-14b&act=3","sequencingId":"id2843361","foreignId":3129,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":3130},{"value":"previous","foreignId":3131},{"value":"suspendAll","foreignId":3132}]},{"id":"activity_4","title":"Activity 4","parameters":"tc=OB-14b&act=4","sequencingId":"id2835730","foreignId":3133,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":3134},{"value":"previous","foreignId":3135},{"value":"suspendAll","foreignId":3136}]}],"base":""},"sequencing":[{"id":"id2835369","foreignId":3157,"objective":[{"primary":true,"objectiveID":"","foreignId":3158},{"primary":false,"objectiveID":"obj4","foreignId":3159},{"primary":false,"objectiveID":"obj1","foreignId":3160},{"primary":false,"objectiveID":"OBJ1","foreignId":3161},{"primary":false,"objectiveID":"obj3","foreignId":3162},{"primary":false,"objectiveID":"obj2","satisfiedByMeasure":true,"minNormalizedMeasure":0.5,"foreignId":3163,"mapInfo":[{"targetObjectiveID":"gObj-OB14b-1","writeSatisfiedStatus":true,"writeNormalizedMeasure":true,"foreignId":3164}]},{"primary":false,"objectiveID":"obj","foreignId":3165,"mapInfo":[{"targetObjectiveID":"obj1","writeSatisfiedStatus":true,"writeNormalizedMeasure":true,"foreignId":3166}]}]},{"id":"id2836423","foreignId":3167,"objective":[{"primary":true,"objectiveID":"PRIMARYOBJ","foreignId":3168,"mapInfo":[{"targetObjectiveID":"gObj-OB14b-2","writeSatisfiedStatus":true,"writeNormalizedMeasure":true,"foreignId":3169}]},{"primary":false,"objectiveID":"obj3","foreignId":3170},{"primary":false,"objectiveID":"obj2","foreignId":3171},{"primary":false,"objectiveID":"obj1","foreignId":3172},{"primary":false,"objectiveID":"obj5","foreignId":3173,"mapInfo":[{"targetObjectiveID":"gObj-OB14b-3","writeSatisfiedStatus":true,"writeNormalizedMeasure":true,"foreignId":3174}]},{"primary":false,"objectiveID":"obj4","foreignId":3175}]},{"id":"id2843361","tracked":false,"foreignId":3176,"objective":[{"primary":true,"objectiveID":"","foreignId":3177},{"primary":false,"objectiveID":"obj5","foreignId":3178},{"primary":false,"objectiveID":"obj4","foreignId":3179,"mapInfo":[{"targetObjectiveID":"gObj-OB14b-1","writeSatisfiedStatus":true,"writeNormalizedMeasure":true,"foreignId":3180}]},{"primary":false,"objectiveID":"obj3","foreignId":3181,"mapInfo":[{"targetObjectiveID":"gObj-OB14b-2","foreignId":3182}]},{"primary":false,"objectiveID":"obj1","foreignId":3183,"mapInfo":[{"targetObjectiveID":"gObj-OB14b-3","foreignId":3184}]},{"primary":false,"objectiveID":"obj2","foreignId":3185}]},{"id":"id2835730","foreignId":3186,"objective":[{"primary":true,"objectiveID":"","foreignId":3187},{"primary":false,"objectiveID":"obj1","foreignId":3188,"mapInfo":[{"targetObjectiveID":"gObj-OB14b-3","readSatisfiedStatus":false,"readNormalizedMeasure":false,"writeSatisfiedStatus":true,"writeNormalizedMeasure":true,"foreignId":3189},{"targetObjectiveID":"gObj-OB14b-1","foreignId":3190}]},{"primary":false,"objectiveID":"obj2","foreignId":3191,"mapInfo":[{"targetObjectiveID":"gObj-OB14b-2","foreignId":3192}]}]},{"id":"id2836467","choice":false,"flow":true,"foreignId":3193}],"base":"./data/ilias3_scorm2004/lm_data/lm_207/","foreignId":3119,"id":"LMSTestPackage_OB-14b"}', '0', '207', '0', '', ' - -'); -INSERT INTO cp_package VALUES ('0', '', '{"item":{"id":"OB-15","title":"LMS Test Content Package OB-15 ","sequencingId":"id2619353","foreignId":3195,"item":[{"id":"activity_1","title":"Activity 1","parameters":"tc=OB-15&act=1","sequencingId":"id2620143","foreignId":3196,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":3197},{"value":"previous","foreignId":3198},{"value":"suspendAll","foreignId":3199}]},{"id":"activity_2","title":"Activity 2","parameters":"tc=OB-15&act=2","sequencingId":"id2620044","foreignId":3200,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":3201},{"value":"previous","foreignId":3202},{"value":"suspendAll","foreignId":3203}]},{"id":"activity_3","title":"Activity 3","sequencingId":"id2619736","foreignId":3204,"item":[{"id":"activity_4","title":"Activity 4","parameters":"tc=OB-15&act=4","sequencingId":"id2619908","foreignId":3205,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":3206},{"value":"previous","foreignId":3207},{"value":"suspendAll","foreignId":3208}]},{"id":"activity_5","title":"Activity 5","parameters":"tc=OB-15&act=5","sequencingId":"id2619802","foreignId":3209,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":3210},{"value":"previous","foreignId":3211},{"value":"suspendAll","foreignId":3212}]}]},{"id":"activity_6","title":"Activity 6","parameters":"tc=OB-15&act=6","sequencingId":"id2619599","foreignId":3213,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":3214},{"value":"previous","foreignId":3215},{"value":"suspendAll","foreignId":3216}]},{"id":"activity_7","title":"Activity 7","parameters":"tc=OB-15&act=7","foreignId":3217,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":3218},{"value":"previous","foreignId":3219},{"value":"suspendAll","foreignId":3220}]}],"base":""},"sequencing":[{"id":"id2620143","foreignId":3241,"rule":[{"type":"pre","action":"skip","foreignId":3242,"condition":[{"operator":"not","condition":"activityProgressKnown","foreignId":3243}]}]},{"id":"id2620044","foreignId":3244,"objective":[{"primary":true,"objectiveID":"PRIMARYOBJ","foreignId":3245,"mapInfo":[{"targetObjectiveID":"gObj-OB15","writeSatisfiedStatus":true,"foreignId":3246}]}]},{"id":"id2619908","foreignId":3247,"objective":[{"primary":true,"objectiveID":"PRIMARYOBJ","foreignId":3248,"mapInfo":[{"targetObjectiveID":"gObj-OB15","foreignId":3249}]}]},{"id":"id2619802","foreignId":3250,"objective":[{"primary":true,"objectiveID":"PRIMARYOBJ","foreignId":3251,"mapInfo":[{"targetObjectiveID":"gObj-OB15","foreignId":3252}]}]},{"id":"id2619736","choice":false,"flow":true,"foreignId":3253,"rule":[{"type":"pre","action":"skip","foreignId":3254,"condition":[{"condition":"completed","foreignId":3255}]},{"type":"rollup","action":"completed","foreignId":3256,"condition":[{"condition":"satisfied","foreignId":3257}]}]},{"id":"id2619599","foreignId":3258,"rule":[{"type":"pre","action":"skip","foreignId":3259,"condition":[{"operator":"not","condition":"activityProgressKnown","foreignId":3260}]},{"type":"rollup","action":"completed","foreignId":3261,"condition":[{"condition":"satisfied","foreignId":3262}]}],"objective":[{"primary":true,"objectiveID":"PRIMARYOBJ","foreignId":3263,"mapInfo":[{"targetObjectiveID":"gObj-OB15","foreignId":3264}]}]},{"id":"id2619353","choice":false,"flow":true,"foreignId":3265}],"base":"./data/ilias3_scorm2004/lm_data/lm_208/","foreignId":3194,"id":"LMSTestPackage_OB-15"}', '0', '208', '0', '', ' - -'); -INSERT INTO cp_package VALUES ('0', '', '{"item":{"id":"RU-01aa","title":"LMS Test Content Package RU-01aa ","sequencingId":"id3023482","foreignId":3267,"item":[{"id":"activity_1","title":"Activity 1","parameters":"tc=RU-01aa&act=1","foreignId":3268,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":3269},{"value":"previous","foreignId":3270},{"value":"suspendAll","foreignId":3271}]},{"id":"activity_2","title":"Activity 2","sequencingId":"id3020417","foreignId":3272,"item":[{"id":"activity_3","title":"Activity 3","parameters":"tc=RU-01aa&act=3","foreignId":3273,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":3274},{"value":"previous","foreignId":3275},{"value":"suspendAll","foreignId":3276}]},{"id":"activity_4","title":"Activity 4","parameters":"tc=RU-01aa&act=4","foreignId":3277,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":3278},{"value":"previous","foreignId":3279},{"value":"suspendAll","foreignId":3280}]},{"id":"activity_5","title":"Activity 5","parameters":"tc=RU-01aa&act=5","foreignId":3281,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":3282},{"value":"previous","foreignId":3283},{"value":"suspendAll","foreignId":3284}]}]},{"id":"activity_6","title":"Activity 6","parameters":"tc=RU-01aa&act=6","foreignId":3285,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":3286},{"value":"previous","foreignId":3287},{"value":"suspendAll","foreignId":3288}]}],"base":""},"sequencing":[{"id":"id3020417","choice":false,"flow":true,"foreignId":3309,"rule":[{"type":"exit","action":"exit","foreignId":3310,"condition":[{"condition":"satisfied","foreignId":3311}]},{"type":"post","action":"previous","foreignId":3312,"condition":[{"condition":"satisfied","foreignId":3313}]}]},{"id":"id3023482","choice":false,"flow":true,"foreignId":3314}],"base":"./data/ilias3_scorm2004/lm_data/lm_209/","foreignId":3266,"id":"LMSTestPackage_RU-01aa"}', '0', '209', '0', '', ' - -'); -INSERT INTO cp_package VALUES ('0', '', '{"item":{"id":"RU-01ab","title":"LMS Test Content Package RU-01ab ","sequencingId":"id2676050","foreignId":3316,"item":[{"id":"activity_1","title":"Activity 1","parameters":"tc=RU-01ab&act=1","foreignId":3317,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":3318},{"value":"previous","foreignId":3319},{"value":"suspendAll","foreignId":3320}]},{"id":"activity_2","title":"Activity 2","sequencingId":"id2676129","foreignId":3321,"item":[{"id":"activity_3","title":"Activity 3","parameters":"tc=RU-01ab&act=3","foreignId":3322,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":3323},{"value":"previous","foreignId":3324},{"value":"suspendAll","foreignId":3325}]},{"id":"activity_4","title":"Activity 4","parameters":"tc=RU-01ab&act=4","foreignId":3326,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":3327},{"value":"previous","foreignId":3328},{"value":"suspendAll","foreignId":3329}]},{"id":"activity_5","title":"Activity 5","parameters":"tc=RU-01ab&act=5","foreignId":3330,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":3331},{"value":"previous","foreignId":3332},{"value":"suspendAll","foreignId":3333}]}]},{"id":"activity_6","title":"Activity 6","parameters":"tc=RU-01ab&act=6","foreignId":3334,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":3335},{"value":"previous","foreignId":3336},{"value":"suspendAll","foreignId":3337}]}],"base":""},"sequencing":[{"id":"id2676129","choice":false,"flow":true,"foreignId":3358,"rule":[{"type":"exit","action":"exit","foreignId":3359,"condition":[{"condition":"satisfied","foreignId":3360}]},{"type":"post","action":"previous","foreignId":3361,"condition":[{"condition":"satisfied","foreignId":3362}]}]},{"id":"id2676050","choice":false,"flow":true,"foreignId":3363}],"base":"./data/ilias3_scorm2004/lm_data/lm_210/","foreignId":3315,"id":"LMSTestPackage_RU-01ab"}', '0', '210', '0', '', ' - -'); -INSERT INTO cp_package VALUES ('0', '', '{"item":{"id":"RU-01ba","title":"LMS Test Content Package RU-01ba ","sequencingId":"id2815727","foreignId":3365,"item":[{"id":"activity_1","title":"Activity 1","parameters":"tc=RU-01ba&act=1","foreignId":3366,"href":"resources/SequencingTest.htm","sco":1},{"id":"activity_2","title":"Activity 2","sequencingId":"id2834929","foreignId":3367,"item":[{"id":"activity_3","title":"Activity 3","parameters":"tc=RU-01ba&act=3","foreignId":3368,"href":"resources/SequencingTest.htm","sco":1},{"id":"activity_4","title":"Activity 4","parameters":"tc=RU-01ba&act=4","foreignId":3369,"href":"resources/SequencingTest.htm","sco":1},{"id":"activity_5","title":"Activity 5","parameters":"tc=RU-01ba&act=5","foreignId":3370,"href":"resources/SequencingTest.htm","sco":1}]},{"id":"activity_6","title":"Activity 6","parameters":"tc=RU-01ba&act=6","foreignId":3371,"href":"resources/SequencingTest.htm","sco":1}],"base":""},"sequencing":[{"id":"id2834929","choice":false,"flow":true,"foreignId":3392,"rule":[{"type":"exit","action":"exit","foreignId":3393,"condition":[{"condition":"completed","foreignId":3394}]},{"type":"post","action":"previous","foreignId":3395,"condition":[{"condition":"completed","foreignId":3396}]}]},{"id":"id2815727","choice":false,"flow":true,"foreignId":3397}],"base":"./data/ilias3_scorm2004/lm_data/lm_211/","foreignId":3364,"id":"LMSTestPackage_RU-01ba"}', '0', '211', '0', '', ' - -'); -INSERT INTO cp_package VALUES ('0', '', '{"item":{"id":"RU-01bb","title":"LMS Test Content Package RU-01bb ","sequencingId":"id2676424","foreignId":3399,"item":[{"id":"activity_1","title":"Activity 1","parameters":"tc=RU-01bb&act=1","foreignId":3400,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":3401},{"value":"previous","foreignId":3402},{"value":"suspendAll","foreignId":3403}]},{"id":"activity_2","title":"Activity 2","sequencingId":"id2676502","foreignId":3404,"item":[{"id":"activity_3","title":"Activity 3","parameters":"tc=RU-01bb&act=3","foreignId":3405,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":3406},{"value":"previous","foreignId":3407},{"value":"suspendAll","foreignId":3408}]},{"id":"activity_4","title":"Activity 4","parameters":"tc=RU-01bb&act=4","foreignId":3409,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":3410},{"value":"previous","foreignId":3411},{"value":"suspendAll","foreignId":3412}]},{"id":"activity_5","title":"Activity 5","parameters":"tc=RU-01bb&act=5","foreignId":3413,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":3414},{"value":"previous","foreignId":3415},{"value":"suspendAll","foreignId":3416}]}]},{"id":"activity_6","title":"Activity 6","parameters":"tc=RU-01bb&act=6","foreignId":3417,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":3418},{"value":"previous","foreignId":3419},{"value":"suspendAll","foreignId":3420}]}],"base":""},"sequencing":[{"id":"id2676502","choice":false,"flow":true,"foreignId":3441,"rule":[{"type":"exit","action":"exit","foreignId":3442,"condition":[{"condition":"completed","foreignId":3443}]},{"type":"post","action":"previous","foreignId":3444,"condition":[{"condition":"completed","foreignId":3445}]}]},{"id":"id2676424","choice":false,"flow":true,"foreignId":3446}],"base":"./data/ilias3_scorm2004/lm_data/lm_212/","foreignId":3398,"id":"LMSTestPackage_RU-01bb"}', '0', '212', '0', '', ' - -'); -INSERT INTO cp_package VALUES ('0', '', '{"item":{"id":"RU-02a","title":"LMS Test Content Package RU-02a ","sequencingId":"id2687602","foreignId":3448,"item":[{"id":"activity_1","title":"Activity 1","parameters":"tc=RU-02a&act=1","foreignId":3449,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":3450},{"value":"previous","foreignId":3451},{"value":"suspendAll","foreignId":3452}]},{"id":"activity_2","title":"Activity 2","sequencingId":"id2686379","foreignId":3453,"item":[{"id":"activity_3","title":"Activity 3","parameters":"tc=RU-02a&act=3","foreignId":3454,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":3455},{"value":"previous","foreignId":3456},{"value":"suspendAll","foreignId":3457}]},{"id":"activity_4","title":"Activity 4","parameters":"tc=RU-02a&act=4","foreignId":3458,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":3459},{"value":"previous","foreignId":3460},{"value":"suspendAll","foreignId":3461}]},{"id":"activity_5","title":"Activity 5","parameters":"tc=RU-02a&act=5","foreignId":3462,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":3463},{"value":"previous","foreignId":3464},{"value":"suspendAll","foreignId":3465}]}]},{"id":"activity_6","title":"Activity 6","parameters":"tc=RU-02a&act=6","foreignId":3466,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":3467},{"value":"previous","foreignId":3468},{"value":"suspendAll","foreignId":3469}]}],"base":""},"sequencing":[{"id":"id2686379","choice":false,"flow":true,"foreignId":3490,"rule":[{"type":"exit","action":"exit","foreignId":3491,"condition":[{"condition":"completed","foreignId":3492}]},{"type":"post","action":"previous","foreignId":3493,"condition":[{"condition":"completed","foreignId":3494}]},{"type":"rollup","childActivitySet":"any","action":"completed","foreignId":3495,"condition":[{"condition":"satisfied","foreignId":3496}]}]},{"id":"id2687602","choice":false,"flow":true,"foreignId":3497}],"base":"./data/ilias3_scorm2004/lm_data/lm_213/","foreignId":3447,"id":"LMSTestPackage_RU-02a"}', '0', '213', '0', '', ' - -'); -INSERT INTO cp_package VALUES ('0', '', '{"item":{"id":"RU-02b","title":"LMS Test Content Package RU-02b ","sequencingId":"id2839516","foreignId":3499,"item":[{"id":"activity_1","title":"Activity 1","parameters":"tc=RU-02b&act=1","foreignId":3500,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":3501},{"value":"previous","foreignId":3502},{"value":"suspendAll","foreignId":3503}]},{"id":"activity_2","title":"Activity 2","sequencingId":"id2835303","foreignId":3504,"item":[{"id":"activity_3","title":"Activity 3","parameters":"tc=RU-02b&act=3","foreignId":3505,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":3506},{"value":"previous","foreignId":3507},{"value":"suspendAll","foreignId":3508}]},{"id":"activity_4","title":"Activity 4","parameters":"tc=RU-02b&act=4","foreignId":3509,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":3510},{"value":"previous","foreignId":3511},{"value":"suspendAll","foreignId":3512}]},{"id":"activity_5","title":"Activity 5","parameters":"tc=RU-02b&act=5","foreignId":3513,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":3514},{"value":"previous","foreignId":3515},{"value":"suspendAll","foreignId":3516}]}]},{"id":"activity_6","title":"Activity 6","parameters":"tc=RU-02b&act=6","foreignId":3517,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":3518},{"value":"previous","foreignId":3519},{"value":"suspendAll","foreignId":3520}]}],"base":""},"sequencing":[{"id":"id2835303","choice":false,"flow":true,"foreignId":3541,"rule":[{"type":"exit","action":"exit","foreignId":3542,"condition":[{"condition":"satisfied","foreignId":3543}]},{"type":"post","action":"continue","foreignId":3544,"condition":[{"condition":"satisfied","foreignId":3545}]},{"type":"rollup","childActivitySet":"any","action":"satisfied","foreignId":3546,"condition":[{"condition":"completed","foreignId":3547}]}]},{"id":"id2839516","choice":false,"flow":true,"foreignId":3548}],"base":"./data/ilias3_scorm2004/lm_data/lm_214/","foreignId":3498,"id":"LMSTestPackage_RU-02b"}', '0', '214', '0', '', ' - -'); -INSERT INTO cp_package VALUES ('0', '', '{"item":{"id":"RU-03a","title":"LMS Test Content Package RU-03a ","sequencingId":"id2836275","foreignId":3550,"item":[{"id":"activity_1","title":"Activity 1","parameters":"tc=RU-03a&act=1","foreignId":3551,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":3552},{"value":"previous","foreignId":3553},{"value":"suspendAll","foreignId":3554}]},{"id":"activity_2","title":"Activity 2","sequencingId":"id2836314","foreignId":3555,"item":[{"id":"activity_3","title":"Activity 3","parameters":"tc=RU-03a&act=3","foreignId":3556,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":3557},{"value":"previous","foreignId":3558},{"value":"suspendAll","foreignId":3559}]},{"id":"activity_4","title":"Activity 4","parameters":"tc=RU-03a&act=4","foreignId":3560,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":3561},{"value":"previous","foreignId":3562},{"value":"suspendAll","foreignId":3563}]},{"id":"activity_5","title":"Activity 5","parameters":"tc=RU-03a&act=5","foreignId":3564,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":3565},{"value":"previous","foreignId":3566},{"value":"suspendAll","foreignId":3567}]}]},{"id":"activity_6","title":"Activity 6","parameters":"tc=RU-03a&act=6","foreignId":3568,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":3569},{"value":"previous","foreignId":3570},{"value":"suspendAll","foreignId":3571}]}],"base":""},"sequencing":[{"id":"id2836314","choice":false,"flow":true,"foreignId":3592,"rule":[{"type":"exit","action":"exit","foreignId":3593,"condition":[{"condition":"completed","foreignId":3594}]},{"type":"post","action":"previous","foreignId":3595,"condition":[{"condition":"completed","foreignId":3596}]},{"type":"rollup","childActivitySet":"atLeastCount","minimumCount":1,"action":"completed","conditionCombination":"all","foreignId":3597,"condition":[{"condition":"attempted","foreignId":3598},{"condition":"completed","operator":"not","foreignId":3599}]}]},{"id":"id2836275","choice":false,"flow":true,"foreignId":3600}],"base":"./data/ilias3_scorm2004/lm_data/lm_215/","foreignId":3549,"id":"LMSTestPackage_RU-03a"}', '0', '215', '0', '', ' - -'); -INSERT INTO cp_package VALUES ('0', '', '{"item":{"id":"RU-03b","title":"LMS Test Content Package RU-03b ","sequencingId":"id2685338","foreignId":3602,"item":[{"id":"activity_1","title":"Activity 1","parameters":"tc=RU-03b&act=1","foreignId":3603,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":3604},{"value":"previous","foreignId":3605},{"value":"suspendAll","foreignId":3606}]},{"id":"activity_2","title":"Activity 2","sequencingId":"id2686169","foreignId":3607,"item":[{"id":"activity_3","title":"Activity 3","parameters":"tc=RU-03b&act=3","foreignId":3608,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":3609},{"value":"previous","foreignId":3610},{"value":"suspendAll","foreignId":3611}]},{"id":"activity_4","title":"Activity 4","parameters":"tc=RU-03b&act=4","foreignId":3612,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":3613},{"value":"previous","foreignId":3614},{"value":"suspendAll","foreignId":3615}]},{"id":"activity_5","title":"Activity 5","parameters":"tc=RU-03b&act=5","foreignId":3616,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":3617},{"value":"previous","foreignId":3618},{"value":"suspendAll","foreignId":3619}]}]},{"id":"activity_6","title":"Activity 6","parameters":"tc=RU-03b&act=6","foreignId":3620,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":3621},{"value":"previous","foreignId":3622},{"value":"suspendAll","foreignId":3623}]}],"base":""},"sequencing":[{"id":"id2686169","choice":false,"flow":true,"foreignId":3644,"rule":[{"type":"exit","action":"exit","foreignId":3645,"condition":[{"condition":"satisfied","foreignId":3646}]},{"type":"post","action":"previous","foreignId":3647,"condition":[{"condition":"satisfied","foreignId":3648}]},{"type":"rollup","childActivitySet":"atLeastCount","minimumCount":1,"action":"satisfied","conditionCombination":"all","foreignId":3649,"condition":[{"condition":"attempted","foreignId":3650},{"condition":"satisfied","operator":"not","foreignId":3651}]}]},{"id":"id2685338","choice":false,"flow":true,"foreignId":3652}],"base":"./data/ilias3_scorm2004/lm_data/lm_216/","foreignId":3601,"id":"LMSTestPackage_RU-03b"}', '0', '216', '0', '', ' - -'); -INSERT INTO cp_package VALUES ('0', '', '{"item":{"id":"RU-04aa","title":"LMS Test Content Package RU-04aa ","sequencingId":"id2698800","foreignId":3654,"item":[{"id":"activity_1","title":"Activity 1","parameters":"tc=RU-04aa&act=1","foreignId":3655,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":3656},{"value":"previous","foreignId":3657},{"value":"suspendAll","foreignId":3658}]},{"id":"activity_2","title":"Activity 2","sequencingId":"id2697094","foreignId":3659,"item":[{"id":"activity_3","title":"Activity 3","parameters":"tc=RU-04aa&act=3","foreignId":3660,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":3661},{"value":"previous","foreignId":3662},{"value":"suspendAll","foreignId":3663}]},{"id":"activity_4","title":"Activity 4","parameters":"tc=RU-04aa&act=4","foreignId":3664,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":3665},{"value":"previous","foreignId":3666},{"value":"suspendAll","foreignId":3667}]},{"id":"activity_5","title":"Activity 5","parameters":"tc=RU-04aa&act=5","foreignId":3668,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":3669},{"value":"previous","foreignId":3670},{"value":"suspendAll","foreignId":3671}]}]},{"id":"activity_6","title":"Activity 6","parameters":"tc=RU-04aa&act=6","foreignId":3672,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":3673},{"value":"previous","foreignId":3674},{"value":"suspendAll","foreignId":3675}]}],"base":""},"sequencing":[{"id":"id2697094","choice":false,"flow":true,"foreignId":3696,"rule":[{"type":"exit","action":"exit","foreignId":3697,"condition":[{"condition":"satisfied","foreignId":3698}]},{"type":"post","action":"previous","foreignId":3699,"condition":[{"condition":"satisfied","foreignId":3700}]},{"type":"rollup","childActivitySet":"atLeastPercent","minimumPercent":0.5,"action":"satisfied","foreignId":3701,"condition":[{"condition":"satisfied","foreignId":3702},{"condition":"objectiveMeasureKnown","foreignId":3703}]}]},{"id":"id2698800","choice":false,"flow":true,"foreignId":3704}],"base":"./data/ilias3_scorm2004/lm_data/lm_217/","foreignId":3653,"id":"LMSTestPackage_RU-04aa"}', '0', '217', '0', '', ' - -'); -INSERT INTO cp_package VALUES ('0', '', '{"item":{"id":"RU-04ab","title":"LMS Test Content Package RU-04ab ","sequencingId":"id3020230","foreignId":3706,"item":[{"id":"activity_1","title":"Activity 1","parameters":"tc=RU-04ab&act=1","foreignId":3707,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":3708},{"value":"previous","foreignId":3709},{"value":"suspendAll","foreignId":3710}]},{"id":"activity_2","title":"Activity 2","sequencingId":"id2997725","foreignId":3711,"item":[{"id":"activity_3","title":"Activity 3","parameters":"tc=RU-04ab&act=3","foreignId":3712,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":3713},{"value":"previous","foreignId":3714},{"value":"suspendAll","foreignId":3715}]},{"id":"activity_4","title":"Activity 4","parameters":"tc=RU-04ab&act=4","foreignId":3716,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":3717},{"value":"previous","foreignId":3718},{"value":"suspendAll","foreignId":3719}]},{"id":"activity_5","title":"Activity 5","parameters":"tc=RU-04ab&act=5","foreignId":3720,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":3721},{"value":"previous","foreignId":3722},{"value":"suspendAll","foreignId":3723}]}]},{"id":"activity_6","title":"Activity 6","parameters":"tc=RU-04ab&act=6","foreignId":3724,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":3725},{"value":"previous","foreignId":3726},{"value":"suspendAll","foreignId":3727}]}],"base":""},"sequencing":[{"id":"id2997725","choice":false,"flow":true,"foreignId":3748,"rule":[{"type":"exit","action":"exit","foreignId":3749,"condition":[{"condition":"satisfied","foreignId":3750}]},{"type":"post","action":"previous","foreignId":3751,"condition":[{"condition":"satisfied","foreignId":3752}]},{"type":"rollup","childActivitySet":"atLeastPercent","minimumPercent":0.5,"action":"satisfied","foreignId":3753,"condition":[{"condition":"satisfied","foreignId":3754},{"condition":"objectiveMeasureKnown","foreignId":3755}]}]},{"id":"id3020230","choice":false,"flow":true,"foreignId":3756}],"base":"./data/ilias3_scorm2004/lm_data/lm_218/","foreignId":3705,"id":"LMSTestPackage_RU-04ab"}', '0', '218', '0', '', ' - -'); -INSERT INTO cp_package VALUES ('0', '', '{"item":{"id":"RU-04ba","title":"LMS Test Content Package RU-04ba ","sequencingId":"id3024577","foreignId":3758,"item":[{"id":"activity_1","title":"Activity 1","parameters":"tc=RU-04ba&act=1","foreignId":3759,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":3760},{"value":"previous","foreignId":3761},{"value":"suspendAll","foreignId":3762}]},{"id":"activity_2","title":"Activity 2","sequencingId":"id2999935","foreignId":3763,"item":[{"id":"activity_3","title":"Activity 3","parameters":"tc=RU-04ba&act=3","foreignId":3764,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":3765},{"value":"previous","foreignId":3766},{"value":"suspendAll","foreignId":3767}]},{"id":"activity_4","title":"Activity 4","parameters":"tc=RU-04ba&act=4","foreignId":3768,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":3769},{"value":"previous","foreignId":3770},{"value":"suspendAll","foreignId":3771}]},{"id":"activity_5","title":"Activity 5","parameters":"tc=RU-04ba&act=5","foreignId":3772,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":3773},{"value":"previous","foreignId":3774},{"value":"suspendAll","foreignId":3775}]}]},{"id":"activity_6","title":"Activity 6","parameters":"tc=RU-04ba&act=6","foreignId":3776,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":3777},{"value":"previous","foreignId":3778},{"value":"suspendAll","foreignId":3779}]}],"base":""},"sequencing":[{"id":"id2999935","choice":false,"flow":true,"foreignId":3800,"rule":[{"type":"exit","action":"exit","foreignId":3801,"condition":[{"condition":"completed","foreignId":3802}]},{"type":"post","action":"previous","foreignId":3803,"condition":[{"condition":"completed","foreignId":3804}]},{"type":"rollup","childActivitySet":"atLeastPercent","minimumPercent":0.5,"action":"completed","foreignId":3805,"condition":[{"condition":"completed","foreignId":3806},{"condition":"objectiveMeasureKnown","foreignId":3807}]}]},{"id":"id3024577","choice":false,"flow":true,"foreignId":3808}],"base":"./data/ilias3_scorm2004/lm_data/lm_219/","foreignId":3757,"id":"LMSTestPackage_RU-04ba"}', '0', '219', '0', '', ' - -'); -INSERT INTO cp_package VALUES ('0', '', '{"item":{"id":"RU-04bb","title":"LMS Test Content Package RU-04bb ","sequencingId":"id2691069","foreignId":3810,"item":[{"id":"activity_1","title":"Activity 1","parameters":"tc=RU-04bb&act=1","foreignId":3811,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":3812},{"value":"previous","foreignId":3813},{"value":"suspendAll","foreignId":3814}]},{"id":"activity_2","title":"Activity 2","sequencingId":"id2706518","foreignId":3815,"item":[{"id":"activity_3","title":"Activity 3","parameters":"tc=RU-04bb&act=3","foreignId":3816,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":3817},{"value":"previous","foreignId":3818},{"value":"suspendAll","foreignId":3819}]},{"id":"activity_4","title":"Activity 4","parameters":"tc=RU-04bb&act=4","foreignId":3820,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":3821},{"value":"previous","foreignId":3822},{"value":"suspendAll","foreignId":3823}]},{"id":"activity_5","title":"Activity 5","parameters":"tc=RU-04bb&act=5","foreignId":3824,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":3825},{"value":"previous","foreignId":3826},{"value":"suspendAll","foreignId":3827}]}]},{"id":"activity_6","title":"Activity 6","parameters":"tc=RU-04bb&act=6","foreignId":3828,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":3829},{"value":"previous","foreignId":3830},{"value":"suspendAll","foreignId":3831}]}],"base":""},"sequencing":[{"id":"id2706518","choice":false,"flow":true,"foreignId":3852,"rule":[{"type":"exit","action":"exit","foreignId":3853,"condition":[{"condition":"completed","foreignId":3854}]},{"type":"post","action":"previous","foreignId":3855,"condition":[{"condition":"completed","foreignId":3856}]},{"type":"rollup","childActivitySet":"atLeastPercent","minimumPercent":0.5,"action":"completed","foreignId":3857,"condition":[{"condition":"completed","foreignId":3858},{"condition":"objectiveMeasureKnown","foreignId":3859}]}]},{"id":"id2691069","choice":false,"flow":true,"foreignId":3860}],"base":"./data/ilias3_scorm2004/lm_data/lm_220/","foreignId":3809,"id":"LMSTestPackage_RU-04bb"}', '0', '220', '0', '', ' - -'); -INSERT INTO cp_package VALUES ('0', '', '{"item":{"id":"RU-04bc","title":"LMS Test Content Package RU-04bc ","sequencingId":"id2697061","foreignId":3862,"item":[{"id":"activity_1","title":"Activity 1","parameters":"tc=RU-04bc&act=1","foreignId":3863,"href":"resources/SequencingTest.htm","sco":1},{"id":"activity_2","title":"Activity 2","sequencingId":"id2694654","foreignId":3864,"item":[{"id":"activity_3","title":"Activity 3","parameters":"tc=RU-04bc&act=3","foreignId":3865,"href":"resources/SequencingTest.htm","sco":1},{"id":"activity_4","title":"Activity 4","parameters":"tc=RU-04bc&act=4","foreignId":3866,"href":"resources/SequencingTest.htm","sco":1},{"id":"activity_5","title":"Activity 5","parameters":"tc=RU-04bc&act=5","foreignId":3867,"href":"resources/SequencingTest.htm","sco":1}]},{"id":"activity_6","title":"Activity 6","parameters":"tc=RU-04bc&act=6","foreignId":3868,"href":"resources/SequencingTest.htm","sco":1}],"base":""},"sequencing":[{"id":"id2694654","choice":false,"flow":true,"foreignId":3889,"rule":[{"type":"exit","action":"exit","foreignId":3890,"condition":[{"condition":"completed","foreignId":3891}]},{"type":"post","action":"previous","foreignId":3892,"condition":[{"condition":"completed","foreignId":3893}]},{"type":"rollup","childActivitySet":"atLeastPercent","minimumPercent":0.5,"action":"completed","foreignId":3894,"condition":[{"condition":"completed","foreignId":3895},{"condition":"objectiveMeasureKnown","foreignId":3896}]}]},{"id":"id2697061","choice":false,"flow":true,"foreignId":3897}],"base":"./data/ilias3_scorm2004/lm_data/lm_221/","foreignId":3861,"id":"LMSTestPackage_RU-04bc"}', '0', '221', '0', '', ' - -'); -INSERT INTO cp_package VALUES ('0', '', '{"item":{"id":"RU-04bd","title":"LMS Test Content Package RU-04bd ","sequencingId":"id2832273","foreignId":3899,"item":[{"id":"activity_1","title":"Activity 1","parameters":"tc=RU-04bd&act=1","foreignId":3900,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":3901},{"value":"previous","foreignId":3902},{"value":"suspendAll","foreignId":3903}]},{"id":"activity_2","title":"Activity 2","sequencingId":"id2820463","foreignId":3904,"item":[{"id":"activity_3","title":"Activity 3","parameters":"tc=RU-04bd&act=3","foreignId":3905,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":3906},{"value":"previous","foreignId":3907},{"value":"suspendAll","foreignId":3908}]},{"id":"activity_4","title":"Activity 4","parameters":"tc=RU-04bd&act=4","foreignId":3909,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":3910},{"value":"previous","foreignId":3911},{"value":"suspendAll","foreignId":3912}]},{"id":"activity_5","title":"Activity 5","parameters":"tc=RU-04bd&act=5","foreignId":3913,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":3914},{"value":"previous","foreignId":3915},{"value":"suspendAll","foreignId":3916}]}]},{"id":"activity_6","title":"Activity 6","parameters":"tc=RU-04bd&act=6","foreignId":3917,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":3918},{"value":"previous","foreignId":3919},{"value":"suspendAll","foreignId":3920}]}],"base":""},"sequencing":[{"id":"id2820463","choice":false,"flow":true,"foreignId":3941,"rule":[{"type":"exit","action":"exit","foreignId":3942,"condition":[{"condition":"completed","foreignId":3943}]},{"type":"post","action":"previous","foreignId":3944,"condition":[{"condition":"completed","foreignId":3945}]},{"type":"rollup","childActivitySet":"atLeastPercent","minimumPercent":0.5,"action":"completed","foreignId":3946,"condition":[{"condition":"completed","foreignId":3947},{"condition":"objectiveMeasureKnown","foreignId":3948}]}]},{"id":"id2832273","choice":false,"flow":true,"foreignId":3949}],"base":"./data/ilias3_scorm2004/lm_data/lm_222/","foreignId":3898,"id":"LMSTestPackage_RU-04bd"}', '0', '222', '0', '', ' - -'); -INSERT INTO cp_package VALUES ('0', '', '{"item":{"id":"RU-05a","title":"LMS Test Content Package RU-05a ","sequencingId":"id3003369","foreignId":3951,"item":[{"id":"activity_1","title":"Activity 1","parameters":"tc=RU-05a&act=1","foreignId":3952,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":3953},{"value":"previous","foreignId":3954},{"value":"suspendAll","foreignId":3955}]},{"id":"activity_2","title":"Activity 2","sequencingId":"id3021205","foreignId":3956,"item":[{"id":"activity_3","title":"Activity 3","parameters":"tc=RU-05a&act=3","foreignId":3957,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":3958},{"value":"previous","foreignId":3959},{"value":"suspendAll","foreignId":3960}]},{"id":"activity_4","title":"Activity 4","parameters":"tc=RU-05a&act=4","foreignId":3961,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":3962},{"value":"previous","foreignId":3963},{"value":"suspendAll","foreignId":3964}]},{"id":"activity_5","title":"Activity 5","parameters":"tc=RU-05a&act=5","foreignId":3965,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":3966},{"value":"previous","foreignId":3967},{"value":"suspendAll","foreignId":3968}]}]},{"id":"activity_6","title":"Activity 6","parameters":"tc=RU-05a&act=6","foreignId":3969,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":3970},{"value":"previous","foreignId":3971},{"value":"suspendAll","foreignId":3972}]}],"base":""},"sequencing":[{"id":"id3021205","choice":false,"flow":true,"foreignId":3993,"rule":[{"type":"exit","action":"exit","foreignId":3994,"condition":[{"condition":"completed","foreignId":3995}]},{"type":"post","action":"previous","foreignId":3996,"condition":[{"condition":"completed","foreignId":3997}]},{"type":"rollup","childActivitySet":"none","action":"completed","foreignId":3998,"condition":[{"condition":"satisfied","foreignId":3999}]}]},{"id":"id3003369","choice":false,"flow":true,"foreignId":4000}],"base":"./data/ilias3_scorm2004/lm_data/lm_223/","foreignId":3950,"id":"LMSTestPackage_RU-05a"}', '0', '223', '0', '', ' - -'); -INSERT INTO cp_package VALUES ('0', '', '{"item":{"id":"RU-05b","title":"LMS Test Content Package RU-05b ","sequencingId":"id2820429","foreignId":4002,"item":[{"id":"activity_1","title":"Activity 1","parameters":"tc=RU-05b&act=1","foreignId":4003,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":4004},{"value":"previous","foreignId":4005},{"value":"suspendAll","foreignId":4006}]},{"id":"activity_2","title":"Activity 2","sequencingId":"id2836321","foreignId":4007,"item":[{"id":"activity_3","title":"Activity 3","parameters":"tc=RU-05b&act=3","foreignId":4008,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":4009},{"value":"previous","foreignId":4010},{"value":"suspendAll","foreignId":4011}]},{"id":"activity_4","title":"Activity 4","parameters":"tc=RU-05b&act=4","foreignId":4012,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":4013},{"value":"previous","foreignId":4014},{"value":"suspendAll","foreignId":4015}]},{"id":"activity_5","title":"Activity 5","parameters":"tc=RU-05b&act=5","foreignId":4016,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":4017},{"value":"previous","foreignId":4018},{"value":"suspendAll","foreignId":4019}]}]},{"id":"activity_6","title":"Activity 6","parameters":"tc=RU-05b&act=6","foreignId":4020,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":4021},{"value":"previous","foreignId":4022},{"value":"suspendAll","foreignId":4023}]}],"base":""},"sequencing":[{"id":"id2836321","choice":false,"flow":true,"foreignId":4044,"rule":[{"type":"exit","action":"exit","foreignId":4045,"condition":[{"condition":"satisfied","foreignId":4046}]},{"type":"post","action":"continue","foreignId":4047,"condition":[{"condition":"satisfied","foreignId":4048}]},{"type":"rollup","childActivitySet":"none","action":"satisfied","foreignId":4049,"condition":[{"condition":"completed","foreignId":4050}]}]},{"id":"id2820429","choice":false,"flow":true,"foreignId":4051}],"base":"./data/ilias3_scorm2004/lm_data/lm_224/","foreignId":4001,"id":"LMSTestPackage_RU-05b"}', '0', '224', '0', '', ' - -'); -INSERT INTO cp_package VALUES ('0', '', '{"item":{"id":"RU-06a","title":"LMS Test Content Package RU-06a ","sequencingId":"id2844067","foreignId":4053,"item":[{"id":"activity_1","title":"Activity 1","sequencingId":"id2835665","foreignId":4054,"item":[{"id":"activity_2","title":"Activity 2","parameters":"tc=RU-06a&act=2","foreignId":4055,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":4056},{"value":"previous","foreignId":4057},{"value":"suspendAll","foreignId":4058}]},{"id":"activity_3","title":"Activity 3","parameters":"tc=RU-06a&act=3","foreignId":4059,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":4060},{"value":"previous","foreignId":4061},{"value":"suspendAll","foreignId":4062}]},{"id":"activity_4","title":"Activity 4","parameters":"tc=RU-06a&act=4","foreignId":4063,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":4064},{"value":"previous","foreignId":4065},{"value":"suspendAll","foreignId":4066}]}]},{"id":"activity_5","title":"Activity 5","parameters":"tc=RU-06a&act=5","foreignId":4067,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":4068},{"value":"previous","foreignId":4069},{"value":"suspendAll","foreignId":4070}]}],"base":""},"sequencing":[{"id":"id2835665","choice":false,"flow":true,"useCurrentAttemptObjectiveInfo":false,"foreignId":4091,"rule":[{"type":"exit","action":"exit","foreignId":4092,"condition":[{"condition":"satisfied","foreignId":4093}]},{"type":"post","action":"continue","foreignId":4094,"condition":[{"condition":"satisfied","foreignId":4095}]}]},{"id":"id2844067","choice":false,"flow":true,"foreignId":4096}],"base":"./data/ilias3_scorm2004/lm_data/lm_225/","foreignId":4052,"id":"LMSTestPackage_RU-06a"}', '0', '225', '0', '', ' - -'); -INSERT INTO cp_package VALUES ('0', '', '{"item":{"id":"RU-06b","title":"LMS Test Content Package RU-06b ","sequencingId":"id2835664","foreignId":4098,"item":[{"id":"activity_1","title":"Activity 1","sequencingId":"id2820358","foreignId":4099,"item":[{"id":"activity_2","title":"Activity 2","parameters":"tc=RU-06b&act=2","foreignId":4100,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":4101},{"value":"previous","foreignId":4102},{"value":"suspendAll","foreignId":4103}]},{"id":"activity_3","title":"Activity 3","parameters":"tc=RU-06b&act=3","foreignId":4104,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":4105},{"value":"previous","foreignId":4106},{"value":"suspendAll","foreignId":4107}]},{"id":"activity_4","title":"Activity 4","parameters":"tc=RU-06b&act=4","foreignId":4108,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":4109},{"value":"previous","foreignId":4110},{"value":"suspendAll","foreignId":4111}]}]},{"id":"activity_5","title":"Activity 5","parameters":"tc=RU-06b&act=5","foreignId":4112,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":4113},{"value":"previous","foreignId":4114},{"value":"suspendAll","foreignId":4115}]}],"base":""},"sequencing":[{"id":"id2820358","choice":false,"flow":true,"useCurrentAttemptProgressInfo":false,"foreignId":4136,"rule":[{"type":"exit","action":"exit","foreignId":4137,"condition":[{"condition":"satisfied","foreignId":4138}]},{"type":"post","action":"continue","foreignId":4139,"condition":[{"condition":"satisfied","foreignId":4140}]},{"type":"rollup","childActivitySet":"atLeastCount","minimumCount":2,"action":"satisfied","foreignId":4141,"condition":[{"condition":"completed","foreignId":4142}]}]},{"id":"id2835664","choice":false,"flow":true,"foreignId":4143}],"base":"./data/ilias3_scorm2004/lm_data/lm_226/","foreignId":4097,"id":"LMSTestPackage_RU-06b"}', '0', '226', '0', '', ' - -'); -INSERT INTO cp_package VALUES ('0', '', '{"item":{"id":"RU-07a","title":"LMS Test Content Package RU-07a ","sequencingId":"id2832252","foreignId":4145,"item":[{"id":"activity_1","title":"Activity 1","parameters":"tc=RU-07a&act=1","foreignId":4146,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":4147},{"value":"previous","foreignId":4148},{"value":"suspendAll","foreignId":4149}]},{"id":"activity_2","title":"Activity 2","sequencingId":"id2836245","foreignId":4150,"item":[{"id":"activity_3","title":"Activity 3","parameters":"tc=RU-07a&act=3","sequencingId":"id2832236","foreignId":4151,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":4152},{"value":"previous","foreignId":4153},{"value":"suspendAll","foreignId":4154}]},{"id":"activity_4","title":"Activity 4","parameters":"tc=RU-07a&act=4","sequencingId":"id2850277","foreignId":4155,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":4156},{"value":"previous","foreignId":4157},{"value":"suspendAll","foreignId":4158}]},{"id":"activity_5","title":"Activity 5","parameters":"tc=RU-07a&act=5","foreignId":4159,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":4160},{"value":"previous","foreignId":4161},{"value":"suspendAll","foreignId":4162}]}]},{"id":"activity_6","title":"Activity 6","parameters":"tc=RU-07a&act=6","foreignId":4163,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":4164},{"value":"previous","foreignId":4165},{"value":"suspendAll","foreignId":4166}]}],"base":""},"sequencing":[{"id":"id2832236","attemptLimit":1,"requiredForSatisfied":"ifNotSkipped","requiredForNotSatisfied":"ifNotSkipped","rollupProgressCompletion":false,"foreignId":4187,"rule":[{"type":"pre","action":"skip","foreignId":4188,"condition":[{"condition":"attemptLimitExceeded","foreignId":4189}]}]},{"id":"id2850277","requiredForSatisfied":"ifAttempted","requiredForNotSatisfied":"ifAttempted","requiredForCompleted":"ifAttempted","foreignId":4190,"rule":[{"type":"pre","action":"skip","foreignId":4191,"condition":[{"condition":"always","foreignId":4192}]}]},{"id":"id2836245","choice":false,"flow":true,"foreignId":4193,"rule":[{"type":"exit","action":"exit","foreignId":4194,"condition":[{"condition":"completed","foreignId":4195}]},{"type":"post","action":"retry","foreignId":4196,"condition":[{"operator":"not","condition":"satisfied","foreignId":4197}]}]},{"id":"id2832252","choice":false,"flow":true,"foreignId":4198}],"base":"./data/ilias3_scorm2004/lm_data/lm_227/","foreignId":4144,"id":"LMSTestPackage_RU-07a"}', '0', '227', '0', '', ' - -'); -INSERT INTO cp_package VALUES ('0', '', '{"item":{"id":"RU-07b","title":"LMS Test Content Package RU-07b ","sequencingId":"id2850246","foreignId":4200,"item":[{"id":"activity_1","title":"Activity 1","parameters":"tc=RU-07b&act=1","foreignId":4201,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":4202},{"value":"previous","foreignId":4203},{"value":"suspendAll","foreignId":4204}]},{"id":"activity_2","title":"Activity 2","sequencingId":"id2853206","foreignId":4205,"item":[{"id":"activity_3","title":"Activity 3","parameters":"tc=RU-07b&act=3","sequencingId":"id2835912","foreignId":4206,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":4207},{"value":"previous","foreignId":4208},{"value":"suspendAll","foreignId":4209}]},{"id":"activity_4","title":"Activity 4","parameters":"tc=RU-07b&act=4","sequencingId":"id2815734","foreignId":4210,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":4211},{"value":"previous","foreignId":4212},{"value":"suspendAll","foreignId":4213}]},{"id":"activity_5","title":"Activity 5","parameters":"tc=RU-07b&act=5","foreignId":4214,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":4215},{"value":"previous","foreignId":4216},{"value":"suspendAll","foreignId":4217}]}]},{"id":"activity_6","title":"Activity 6","parameters":"tc=RU-07b&act=6","foreignId":4218,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":4219},{"value":"previous","foreignId":4220},{"value":"suspendAll","foreignId":4221}]}],"base":""},"sequencing":[{"id":"id2835912","attemptLimit":1,"requiredForSatisfied":"ifNotSkipped","rollupProgressCompletion":false,"foreignId":4242,"rule":[{"type":"pre","action":"skip","foreignId":4243,"condition":[{"condition":"attemptLimitExceeded","foreignId":4244}]}]},{"id":"id2815734","requiredForSatisfied":"ifAttempted","requiredForCompleted":"ifAttempted","foreignId":4245,"rule":[{"type":"pre","action":"skip","foreignId":4246,"condition":[{"condition":"always","foreignId":4247}]}]},{"id":"id2853206","choice":false,"flow":true,"foreignId":4248,"rule":[{"type":"exit","action":"exit","foreignId":4249,"condition":[{"condition":"completed","foreignId":4250}]},{"type":"post","action":"retry","foreignId":4251,"condition":[{"operator":"not","condition":"satisfied","foreignId":4252}]}]},{"id":"id2850246","choice":false,"flow":true,"foreignId":4253}],"base":"./data/ilias3_scorm2004/lm_data/lm_228/","foreignId":4199,"id":"LMSTestPackage_RU-07b"}', '0', '228', '0', '', ' - -'); -INSERT INTO cp_package VALUES ('0', '', '{"item":{"id":"RU-07c","title":"LMS Test Content Package RU-07c ","sequencingId":"id2852293","foreignId":4255,"item":[{"id":"activity_1","title":"Activity 1","sequencingId":"id2849899","foreignId":4256,"item":[{"id":"activity_2","title":"Activity 2","parameters":"tc=RU-07c&act=2","foreignId":4257,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":4258},{"value":"previous","foreignId":4259},{"value":"suspendAll","foreignId":4260}]},{"id":"activity_3","title":"Activity 3","parameters":"tc=RU-07c&act=3","foreignId":4261,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":4262},{"value":"previous","foreignId":4263},{"value":"suspendAll","foreignId":4264}]},{"id":"activity_4","title":"Activity 4","parameters":"tc=RU-07c&act=4","foreignId":4265,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":4266},{"value":"previous","foreignId":4267},{"value":"suspendAll","foreignId":4268}]}]},{"id":"activity_5","title":"Activity 5","parameters":"tc=RU-07c&act=5","foreignId":4269,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":4270},{"value":"previous","foreignId":4271},{"value":"suspendAll","foreignId":4272}]},{"id":"activity_6","title":"Activity 6","parameters":"tc=RU-07c&act=6","sequencingId":"id2859301","foreignId":4273,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":4274},{"value":"previous","foreignId":4275},{"value":"suspendAll","foreignId":4276}]}],"base":""},"sequencing":[{"id":"id2849899","choice":false,"flow":true,"attemptLimit":2,"requiredForSatisfied":"ifNotSkipped","rollupProgressCompletion":false,"foreignId":4297,"rule":[{"type":"pre","action":"skip","foreignId":4298,"condition":[{"condition":"attemptLimitExceeded","foreignId":4299}]}]},{"id":"id2859301","rollupObjectiveSatisfied":false,"rollupProgressCompletion":false,"foreignId":4300},{"id":"id2852293","choice":false,"flow":true,"foreignId":4301,"rule":[{"type":"exit","action":"exit","foreignId":4302,"condition":[{"condition":"completed","foreignId":4303}]},{"type":"post","action":"retry","foreignId":4304,"condition":[{"operator":"not","condition":"satisfied","foreignId":4305}]}]}],"base":"./data/ilias3_scorm2004/lm_data/lm_229/","foreignId":4254,"id":"LMSTestPackage_RU-07c"}', '0', '229', '0', '', ' - -'); -INSERT INTO cp_package VALUES ('0', '', '{"item":{"id":"RU-08a","title":"LMS Test Content Package RU-08a ","sequencingId":"id3094007","foreignId":4307,"item":[{"id":"activity_1","title":"Activity 1","parameters":"tc=RU-08a&act=1","foreignId":4308,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":4309},{"value":"previous","foreignId":4310},{"value":"suspendAll","foreignId":4311}]},{"id":"activity_2","title":"Activity 2","sequencingId":"id3093412","foreignId":4312,"item":[{"id":"activity_3","title":"Activity 3","sequencingId":"id3099562","foreignId":4313,"item":[{"id":"activity_4","title":"Activity 4","parameters":"tc=RU-08a&act=4","foreignId":4314,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":4315},{"value":"previous","foreignId":4316},{"value":"suspendAll","foreignId":4317}]},{"id":"activity_5","title":"Activity 5","parameters":"tc=RU-08a&act=5","foreignId":4318,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":4319},{"value":"previous","foreignId":4320},{"value":"suspendAll","foreignId":4321}]},{"id":"activity_6","title":"Activity 6","parameters":"tc=RU-08a&act=6","foreignId":4322,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":4323},{"value":"previous","foreignId":4324},{"value":"suspendAll","foreignId":4325}]}]},{"id":"activity_7","title":"Activity 7","parameters":"tc=RU-08a&act=7","sequencingId":"id3112339","foreignId":4326,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":4327},{"value":"previous","foreignId":4328},{"value":"suspendAll","foreignId":4329}]}]},{"id":"activity_8","title":"Activity 8","parameters":"tc=RU-08a&act=8","foreignId":4330,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":4331},{"value":"previous","foreignId":4332},{"value":"suspendAll","foreignId":4333}]}],"base":""},"sequencing":[{"id":"id3099562","choice":false,"flow":true,"foreignId":4354,"rule":[{"type":"exit","action":"exit","foreignId":4355,"condition":[{"condition":"satisfied","foreignId":4356}]},{"type":"post","action":"exitParent","foreignId":4357,"condition":[{"condition":"satisfied","foreignId":4358}]},{"type":"rollup","action":"incomplete","foreignId":4359,"condition":[{"condition":"objectiveStatusKnown","foreignId":4360},{"condition":"objectiveMeasureKnown","foreignId":4361},{"condition":"activityProgressKnown","foreignId":4362}]},{"type":"rollup","action":"satisfied","foreignId":4363,"condition":[{"condition":"attempted","foreignId":4364}]}]},{"id":"id3112339","requiredForCompleted":"ifAttempted","foreignId":4365},{"id":"id3093412","choice":false,"flow":true,"foreignId":4366,"rule":[{"type":"post","action":"previous","foreignId":4367,"condition":[{"condition":"completed","foreignId":4368}]},{"type":"rollup","action":"completed","conditionCombination":"all","foreignId":4369,"condition":[{"condition":"activityProgressKnown","foreignId":4370},{"condition":"completed","operator":"not","foreignId":4371}]}]},{"id":"id3094007","choice":false,"flow":true,"foreignId":4372}],"base":"./data/ilias3_scorm2004/lm_data/lm_230/","foreignId":4306,"id":"LMSTestPackage_RU-08a"}', '0', '230', '0', '', ' - -'); -INSERT INTO cp_package VALUES ('0', '', '{"item":{"id":"RU-08b","title":"LMS Test Content Package RU-08b ","sequencingId":"id2835144","foreignId":4374,"item":[{"id":"activity_1","title":"Activity 1","parameters":"tc=RU-08b&act=1","foreignId":4375,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":4376},{"value":"previous","foreignId":4377},{"value":"suspendAll","foreignId":4378}]},{"id":"activity_2","title":"Activity 2","sequencingId":"id2835519","foreignId":4379,"item":[{"id":"activity_3","title":"Activity 3","sequencingId":"id2857593","foreignId":4380,"item":[{"id":"activity_4","title":"Activity 4","parameters":"tc=RU-08b&act=4","sequencingId":"id2835367","foreignId":4381,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":4382},{"value":"previous","foreignId":4383},{"value":"suspendAll","foreignId":4384}]},{"id":"activity_5","title":"Activity 5","parameters":"tc=RU-08b&act=5","sequencingId":"id2835628","foreignId":4385,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":4386},{"value":"previous","foreignId":4387},{"value":"suspendAll","foreignId":4388}]},{"id":"activity_6","title":"Activity 6","parameters":"tc=RU-08b&act=6","sequencingId":"id2832247","foreignId":4389,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":4390},{"value":"previous","foreignId":4391},{"value":"suspendAll","foreignId":4392}]}]},{"id":"activity_7","title":"Activity 7","parameters":"tc=RU-08b&act=7","foreignId":4393,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":4394},{"value":"previous","foreignId":4395},{"value":"suspendAll","foreignId":4396}]}]},{"id":"activity_8","title":"Activity 8","parameters":"tc=RU-08b&act=8","foreignId":4397,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":4398},{"value":"previous","foreignId":4399},{"value":"suspendAll","foreignId":4400}]}],"base":""},"sequencing":[{"id":"id2835367","completionSetByContent":true,"objectiveSetByContent":true,"foreignId":4421},{"id":"id2835628","completionSetByContent":true,"objectiveSetByContent":true,"foreignId":4422},{"id":"id2832247","completionSetByContent":true,"objectiveSetByContent":true,"foreignId":4423},{"id":"id2857593","choice":false,"flow":true,"foreignId":4424,"rule":[{"type":"exit","action":"exit","foreignId":4425,"condition":[{"condition":"satisfied","foreignId":4426}]},{"type":"post","action":"exitParent","foreignId":4427,"condition":[{"condition":"satisfied","foreignId":4428}]},{"type":"rollup","action":"incomplete","foreignId":4429,"condition":[{"condition":"objectiveStatusKnown","foreignId":4430},{"condition":"objectiveMeasureKnown","foreignId":4431},{"condition":"activityProgressKnown","foreignId":4432}]},{"type":"rollup","action":"satisfied","foreignId":4433,"condition":[{"condition":"attempted","foreignId":4434}]}]},{"id":"id2835519","choice":false,"flow":true,"foreignId":4435,"rule":[{"type":"post","action":"previous","foreignId":4436,"condition":[{"condition":"completed","foreignId":4437}]},{"type":"rollup","action":"completed","conditionCombination":"all","foreignId":4438,"condition":[{"condition":"activityProgressKnown","foreignId":4439},{"condition":"completed","operator":"not","foreignId":4440}]}]},{"id":"id2835144","choice":false,"flow":true,"foreignId":4441}],"base":"./data/ilias3_scorm2004/lm_data/lm_231/","foreignId":4373,"id":"LMSTestPackage_RU-08b"}', '0', '231', '0', '', ' - -'); -INSERT INTO cp_package VALUES ('0', '', '{"item":{"id":"RU-09","title":"LMS Test Content Package RU-09 ","sequencingId":"id2622963","foreignId":4443,"item":[{"id":"activity_1","title":"Activity 1","parameters":"tc=RU-09&act=1","foreignId":4444,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":4445},{"value":"previous","foreignId":4446},{"value":"suspendAll","foreignId":4447}]},{"id":"activity_2","title":"Activity 2","sequencingId":"id2623166","foreignId":4448,"item":[{"id":"activity_3","title":"Activity 3","parameters":"tc=RU-09&act=3","foreignId":4449,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":4450},{"value":"previous","foreignId":4451},{"value":"suspendAll","foreignId":4452}]},{"id":"activity_4","title":"Activity 4","parameters":"tc=RU-09&act=4","sequencingId":"id2623309","foreignId":4453,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":4454},{"value":"previous","foreignId":4455},{"value":"suspendAll","foreignId":4456}]},{"id":"activity_5","title":"Activity 5","parameters":"tc=RU-09&act=5","foreignId":4457,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":4458},{"value":"previous","foreignId":4459},{"value":"suspendAll","foreignId":4460}]}]},{"id":"activity_6","title":"Activity 6","parameters":"tc=RU-09&act=6","foreignId":4461,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":4462},{"value":"previous","foreignId":4463},{"value":"suspendAll","foreignId":4464}]}],"base":""},"sequencing":[{"id":"id2623309","attemptLimit":2,"requiredForSatisfied":"ifNotSkipped","requiredForCompleted":"ifNotSkipped","requiredForIncomplete":"ifNotSkipped","foreignId":4485,"rule":[{"type":"pre","action":"skip","foreignId":4486,"condition":[{"condition":"attemptLimitExceeded","foreignId":4487}]}]},{"id":"id2623166","choice":false,"flow":true,"foreignId":4488,"rule":[{"type":"exit","action":"exit","foreignId":4489,"condition":[{"condition":"satisfied","foreignId":4490}]},{"type":"post","action":"retryAll","foreignId":4491,"condition":[{"operator":"not","condition":"completed","foreignId":4492}]},{"type":"post","action":"continue","foreignId":4493,"condition":[{"condition":"completed","foreignId":4494}]}]},{"id":"id2622963","choice":false,"flow":true,"foreignId":4495}],"base":"./data/ilias3_scorm2004/lm_data/lm_232/","foreignId":4442,"id":"LMSTestPackage_RU-09"}', '0', '232', '0', '', ' - -'); -INSERT INTO cp_package VALUES ('0', '', '{"item":{"id":"RU-10","title":"LMS Test Content Package RU-10 ","sequencingId":"id2695362","foreignId":4497,"item":[{"id":"activity_1","title":"Activity 1","parameters":"tc=RU-10&act=1","foreignId":4498,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":4499},{"value":"previous","foreignId":4500},{"value":"suspendAll","foreignId":4501}]},{"id":"activity_2","title":"Activity 2","sequencingId":"id2693746","foreignId":4502,"item":[{"id":"activity_3","title":"Activity 3","parameters":"tc=RU-10&act=3","foreignId":4503,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":4504},{"value":"previous","foreignId":4505},{"value":"suspendAll","foreignId":4506}]},{"id":"activity_4","title":"Activity 4","parameters":"tc=RU-10&act=4","foreignId":4507,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":4508},{"value":"previous","foreignId":4509},{"value":"suspendAll","foreignId":4510}]},{"id":"activity_5","title":"Activity 5","parameters":"tc=RU-10&act=5","foreignId":4511,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":4512},{"value":"previous","foreignId":4513},{"value":"suspendAll","foreignId":4514}]}]},{"id":"activity_6","title":"Activity 6","parameters":"tc=RU-10&act=6","foreignId":4515,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":4516},{"value":"previous","foreignId":4517},{"value":"suspendAll","foreignId":4518}]}],"base":""},"sequencing":[{"id":"id2693746","choice":false,"flow":true,"tracked":false,"foreignId":4539,"rule":[{"type":"exit","action":"exit","foreignId":4540,"condition":[{"condition":"completed","foreignId":4541}]},{"type":"post","action":"previous","foreignId":4542,"condition":[{"condition":"completed","foreignId":4543}]},{"type":"rollup","action":"completed","foreignId":4544,"condition":[{"condition":"satisfied","foreignId":4545}]}]},{"id":"id2695362","choice":false,"flow":true,"foreignId":4546}],"base":"./data/ilias3_scorm2004/lm_data/lm_233/","foreignId":4496,"id":"LMSTestPackage_RU-10"}', '0', '233', '0', '', ' - -'); -INSERT INTO cp_package VALUES ('0', '', '{"item":{"id":"RU-11","title":"LMS Test Content Package RU-11 ","sequencingId":"id2821665","foreignId":4548,"item":[{"id":"activity_1","title":"Activity 1","parameters":"tc=RU-11&act=1","foreignId":4549,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":4550},{"value":"previous","foreignId":4551},{"value":"suspendAll","foreignId":4552}]},{"id":"activity_2","title":"Activity 2","sequencingId":"id2817761","foreignId":4553,"item":[{"id":"activity_3","title":"Activity 3","parameters":"tc=RU-11&act=3","sequencingId":"id2835269","foreignId":4554,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":4555},{"value":"previous","foreignId":4556},{"value":"suspendAll","foreignId":4557}]},{"id":"activity_4","title":"Activity 4","parameters":"tc=RU-11&act=4","sequencingId":"id2835169","foreignId":4558,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":4559},{"value":"previous","foreignId":4560},{"value":"suspendAll","foreignId":4561}]},{"id":"activity_5","title":"Activity 5","parameters":"tc=RU-11&act=5","sequencingId":"id2817750","foreignId":4562,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":4563},{"value":"previous","foreignId":4564},{"value":"suspendAll","foreignId":4565}]}]},{"id":"activity_6","title":"Activity 6","parameters":"tc=RU-11&act=6","foreignId":4566,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":4567},{"value":"previous","foreignId":4568},{"value":"suspendAll","foreignId":4569}]}],"base":""},"sequencing":[{"id":"id2835269","tracked":false,"foreignId":4590,"objective":[{"primary":true,"objectiveID":"","foreignId":4591}]},{"id":"id2835169","tracked":false,"foreignId":4592},{"id":"id2817750","tracked":false,"foreignId":4593},{"id":"id2817761","choice":false,"flow":true,"foreignId":4594,"rule":[{"type":"exit","action":"exit","foreignId":4595,"condition":[{"condition":"completed","foreignId":4596}]},{"type":"post","action":"previous","foreignId":4597,"condition":[{"condition":"completed","foreignId":4598}]},{"type":"rollup","action":"completed","foreignId":4599,"condition":[{"condition":"objectiveStatusKnown","operator":"not","foreignId":4600}]}]},{"id":"id2821665","choice":false,"flow":true,"foreignId":4601}],"base":"./data/ilias3_scorm2004/lm_data/lm_234/","foreignId":4547,"id":"LMSTestPackage_RU-11"}', '0', '234', '0', '', ' - -'); -INSERT INTO cp_package VALUES ('0', '', '{"item":{"id":"RU-12a","title":"LMS Test Content Package RU-12a ","sequencingId":"id2620884","foreignId":4603,"item":[{"id":"activity_1","title":"Activity 1","parameters":"tc=RU-12a&act=1","foreignId":4604,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":4605},{"value":"previous","foreignId":4606},{"value":"suspendAll","foreignId":4607}]},{"id":"activity_2","title":"Activity 2","sequencingId":"id2621117","foreignId":4608,"item":[{"id":"activity_3","title":"Activity 3","parameters":"tc=RU-12a&act=3","foreignId":4609,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":4610},{"value":"previous","foreignId":4611},{"value":"suspendAll","foreignId":4612}]}]},{"id":"activity_4","title":"Activity 4","parameters":"tc=RU-12a&act=4","foreignId":4613,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":4614},{"value":"previous","foreignId":4615},{"value":"suspendAll","foreignId":4616}]}],"base":""},"sequencing":[{"id":"id2621117","choice":false,"flow":true,"foreignId":4637,"rule":[{"type":"exit","action":"exit","foreignId":4638,"condition":[{"condition":"always","foreignId":4639}]},{"type":"post","action":"previous","foreignId":4640,"condition":[{"operator":"not","condition":"objectiveStatusKnown","foreignId":4641}]},{"type":"post","action":"retry","foreignId":4642,"condition":[{"condition":"satisfied","foreignId":4643}]},{"type":"rollup","action":"notSatisfied","foreignId":4644,"condition":[{"condition":"satisfied","operator":"not","foreignId":4645}]}]},{"id":"id2620884","choice":false,"flow":true,"foreignId":4646}],"base":"./data/ilias3_scorm2004/lm_data/lm_235/","foreignId":4602,"id":"LMSTestPackage_RU-12a"}', '0', '235', '0', '', ' - -'); -INSERT INTO cp_package VALUES ('0', '', '{"item":{"id":"RU-12b","title":"LMS Test Content Package RU-12b ","sequencingId":"id2681527","foreignId":4648,"item":[{"id":"activity_1","title":"Activity 1","parameters":"tc=RU-12b&act=1","foreignId":4649,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":4650},{"value":"previous","foreignId":4651},{"value":"suspendAll","foreignId":4652}]},{"id":"activity_2","title":"Activity 2","sequencingId":"id2681832","foreignId":4653,"item":[{"id":"activity_3","title":"Activity 3","parameters":"tc=RU-12b&act=3","foreignId":4654,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":4655},{"value":"previous","foreignId":4656},{"value":"suspendAll","foreignId":4657}]}]},{"id":"activity_4","title":"Activity 4","parameters":"tc=RU-12b&act=4","foreignId":4658,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":4659},{"value":"previous","foreignId":4660},{"value":"suspendAll","foreignId":4661}]}],"base":""},"sequencing":[{"id":"id2681832","choice":false,"flow":true,"foreignId":4682,"rule":[{"type":"exit","action":"exit","foreignId":4683,"condition":[{"condition":"always","foreignId":4684}]},{"type":"post","action":"previous","foreignId":4685,"condition":[{"operator":"not","condition":"activityProgressKnown","foreignId":4686}]},{"type":"post","action":"retry","foreignId":4687,"condition":[{"condition":"completed","foreignId":4688}]},{"type":"rollup","action":"incomplete","foreignId":4689,"condition":[{"condition":"completed","operator":"not","foreignId":4690}]}]},{"id":"id2681527","choice":false,"flow":true,"foreignId":4691}],"base":"./data/ilias3_scorm2004/lm_data/lm_236/","foreignId":4647,"id":"LMSTestPackage_RU-12b"}', '0', '236', '0', '', ' - -'); -INSERT INTO cp_package VALUES ('0', '', '{"item":{"id":"SX-02","title":"LMS Test Content Package SX-02 ","sequencingId":"id2868122","foreignId":4693,"item":[{"id":"activity_1","title":"Activity 1","parameters":"tc=SX-02&act=1","foreignId":4694,"href":"resources/SequencingTest.htm","sco":1},{"id":"activity_2","title":"Activity 2","sequencingId":"id2836148","foreignId":4695,"item":[{"id":"activity_3","title":"Activity 3","parameters":"tc=SX-02&act=3","completionThreshold":0.5,"foreignId":4696,"href":"resources/SequencingTest.htm","sco":1},{"id":"activity_4","title":"Activity 4","parameters":"tc=SX-02&act=4","foreignId":4697,"href":"resources/SequencingTest.htm","sco":1},{"id":"activity_5","title":"Activity 5","parameters":"tc=SX-02&act=5","completionThreshold":0.75,"foreignId":4698,"href":"resources/SequencingTest.htm","sco":1}]},{"id":"activity_6","title":"Activity 6","parameters":"tc=SX-02&act=6","foreignId":4699,"href":"resources/SequencingTest.htm","sco":1}],"base":""},"sequencing":[{"id":"id2836148","choice":false,"flow":true,"foreignId":4720,"rule":[{"type":"exit","action":"exit","foreignId":4721,"condition":[{"condition":"satisfied","foreignId":4722}]},{"type":"post","action":"previous","foreignId":4723,"condition":[{"condition":"satisfied","foreignId":4724}]},{"type":"rollup","action":"satisfied","foreignId":4725,"condition":[{"condition":"completed","foreignId":4726}]}]},{"id":"id2868122","choice":false,"flow":true,"foreignId":4727}],"base":"./data/ilias3_scorm2004/lm_data/lm_237/","foreignId":4692,"id":"LMSTestPackage_SX-02"}', '0', '237', '0', '', ' - -'); -INSERT INTO cp_package VALUES ('0', '', '{"item":{"id":"SX-03","title":"LMS Test Content Package SX-03","sequencingId":"id2698680","foreignId":4729,"item":[{"id":"activity_1","title":"Activity 1","parameters":"tc=SX-03&act=1","sequencingId":"id2699284","foreignId":4730,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":4731},{"value":"previous","foreignId":4732},{"value":"suspendAll","foreignId":4733}]},{"id":"activity_2","title":"Activity 2","sequencingId":"id2699004","foreignId":4734,"item":[{"id":"activity_3","title":"Activity 3","parameters":"tc=SX-03&act=3","sequencingId":"id2698909","foreignId":4735,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"nttttttttcontinuenttttttt","foreignId":4736},{"value":"nttttttttpreviousnttttttt","foreignId":4737},{"value":"n suspendAlln ","foreignId":4738}]},{"id":"activity_4","title":"Activity 4","parameters":"tc=SX-03&act=4","foreignId":4739,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"nttttttttcontinuenttttttt","foreignId":4740},{"value":"nttttttttpreviousnttttttt","foreignId":4741},{"value":"n suspendAlln ","foreignId":4742}]},{"id":"activity_5","title":"Activity 5","parameters":"tc=SX-03&act=5","foreignId":4743,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"nttttttttcontinuenttttttt","foreignId":4744},{"value":"nttttttttpreviousnttttttt","foreignId":4745},{"value":"n suspendAlln ","foreignId":4746}]}]},{"id":"activity_6","title":"Activity 6","parameters":"tc=SX-03&act=6","foreignId":4747,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":4748},{"value":"previous","foreignId":4749},{"value":"suspendAll","foreignId":4750}]}],"base":""},"sequencing":[{"id":"id2699284","foreignId":4771,"objective":[{"primary":true,"objectiveID":"","foreignId":4772},{"primary":false,"objectiveID":"obj1","foreignId":4773,"mapInfo":[{"targetObjectiveID":"gObj-SX03-1","readSatisfiedStatus":false,"readNormalizedMeasure":false,"writeSatisfiedStatus":true,"writeNormalizedMeasure":true,"foreignId":4774}]},{"primary":false,"objectiveID":"obj2","foreignId":4775,"mapInfo":[{"targetObjectiveID":"gObj-SX03-2","readSatisfiedStatus":false,"readNormalizedMeasure":false,"writeSatisfiedStatus":true,"writeNormalizedMeasure":true,"foreignId":4776}]},{"primary":false,"objectiveID":"obj3","foreignId":4777,"mapInfo":[{"targetObjectiveID":"gObj-SX03-3","readSatisfiedStatus":false,"readNormalizedMeasure":false,"writeSatisfiedStatus":true,"writeNormalizedMeasure":true,"foreignId":4778}]}]},{"id":"id2698909","foreignId":4779,"objective":[{"primary":true,"objectiveID":"PRIMARYOBJ","satisfiedByMeasure":true,"minNormalizedMeasure":"nttttttttt0.6ntttttttt","foreignId":4780,"mapInfo":[{"targetObjectiveID":"gObj-SX03-1","foreignId":4781}]}]},{"id":"id2699004","choice":false,"flow":true,"foreignId":4782,"rule":[{"type":"exit","action":"exit","foreignId":4783,"condition":[{"condition":"completed","foreignId":4784}]},{"type":"post","action":"previous","foreignId":4785,"condition":[{"condition":"completed","foreignId":4786}]},{"type":"rollup","action":"completed","foreignId":4787,"condition":[{"condition":"satisfied","foreignId":4788}]}]},{"id":"id2698680","choice":false,"flow":true,"foreignId":4789}],"base":"./data/ilias3_scorm2004/lm_data/lm_238/","foreignId":4728,"id":"LMSTestPackage_SX-03"}', '0', '238', '0', '', ' - -'); -INSERT INTO cp_package VALUES ('0', '', '{"item":{"id":"SX-04a","title":"LMS Test Content Package SX-04a","sequencingId":"id2696373","foreignId":4791,"item":[{"id":"activity_1","title":"Activity 1","parameters":"tc=SX-04a&act=1","sequencingId":"id2624783","foreignId":4792,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":4793},{"value":"previous","foreignId":4794},{"value":"suspendAll","foreignId":4795}]},{"id":"activity_2","title":"Activity 2","parameters":"tc=SX-04a&act=2","foreignId":4796,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":4797},{"value":"previous","foreignId":4798},{"value":"suspendAll","foreignId":4799}]},{"id":"activity_3","title":"Activity 3","parameters":"tc=SX-04a&act=3","foreignId":4800,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":4801},{"value":"previous","foreignId":4802},{"value":"suspendAll","foreignId":4803}]}],"base":""},"sequencing":[{"id":"id2624783","foreignId":4824,"rule":[{"type":"pre","action":"skip","foreignId":4825,"condition":[{"condition":"satisfied","foreignId":4826}]}],"objective":[{"primary":true,"objectiveID":"PRIMARYOBJ","foreignId":4827,"mapInfo":[{"targetObjectiveID":"gObj-SX04a","writeSatisfiedStatus":true,"foreignId":4828}]}]},{"id":"id2696373","choice":false,"flow":true,"foreignId":4829}],"base":"./data/ilias3_scorm2004/lm_data/lm_239/","foreignId":4790,"id":"LMSTestPackage_SX-04a"}', '0', '239', '0', '', ' - -'); -INSERT INTO cp_package VALUES ('0', '', '{"item":{"id":"SX-04b","title":"LMS Test Content Package SX-04b","sequencingId":"id3005863","foreignId":4831,"item":[{"id":"activity_1","title":"Activity 1","parameters":"tc=SX-04b&act=1","sequencingId":"id3000006","foreignId":4832,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":4833},{"value":"previous","foreignId":4834},{"value":"suspendAll","foreignId":4835}]},{"id":"activity_2","title":"Activity 2","parameters":"tc=SX-04b&act=2","foreignId":4836,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":4837},{"value":"previous","foreignId":4838},{"value":"suspendAll","foreignId":4839}]},{"id":"activity_3","title":"Activity 3","parameters":"tc=SX-04b&act=3","foreignId":4840,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":4841},{"value":"previous","foreignId":4842},{"value":"suspendAll","foreignId":4843}]}],"base":""},"sequencing":[{"id":"id3000006","foreignId":4864,"rule":[{"type":"pre","conditionCombination":"any","action":"skip","foreignId":4865,"condition":[{"condition":"satisfied","foreignId":4866},{"condition":"completed","foreignId":4867}]}]},{"id":"id3005863","flow":true,"foreignId":4868}],"base":"./data/ilias3_scorm2004/lm_data/lm_240/","foreignId":4830,"id":"LMSTestPackage_SX-04b"}', '0', '240', '0', '', ' - -'); -INSERT INTO cp_package VALUES ('0', '', '{"item":{"id":"SX-05","title":"LMS Test Content Package SX-05","sequencingId":"id2695987","foreignId":4870,"item":[{"id":"activity_1","title":"Activity 1","parameters":"tc=SX-05&act=1","sequencingId":"id2686705","foreignId":4871,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":4872},{"value":"previous","foreignId":4873},{"value":"suspendAll","foreignId":4874}]},{"id":"activity_2","title":"Activity 2","parameters":"tc=SX-05&act=2","sequencingId":"id2687557","foreignId":4875,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":4876},{"value":"previous","foreignId":4877},{"value":"suspendAll","foreignId":4878}]},{"id":"activity_3","title":"Activity 3","sequencingId":"id2698812","foreignId":4879,"item":[{"id":"activity_4","title":"Activity 4","sequencingId":"id2699280","foreignId":4880,"item":[{"id":"activity_5","title":"Activity 5","parameters":"tc=SX-05&act=5","sequencingId":"id2699316","foreignId":4881,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":4882},{"value":"previous","foreignId":4883},{"value":"suspendAll","foreignId":4884}]},{"id":"activity_6","title":"Activity 6","parameters":"tc=SX-05&act=6","sequencingId":"id2696380","foreignId":4885,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":4886},{"value":"previous","foreignId":4887},{"value":"suspendAll","foreignId":4888}]}]},{"id":"activity_7","title":"Activity 7","sequencingId":"id2696287","foreignId":4889,"item":[{"id":"activity_8","title":"Activity 8","parameters":"tc=SX-05&act=8","sequencingId":"id2686689","foreignId":4890,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":4891},{"value":"previous","foreignId":4892},{"value":"suspendAll","foreignId":4893}]},{"id":"activity_9","title":"Activity 9","parameters":"tc=SX-05&act=9","sequencingId":"id2699208","foreignId":4894,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":4895},{"value":"previous","foreignId":4896},{"value":"suspendAll","foreignId":4897}]}]},{"id":"activity_10","title":"Activity 10","parameters":"tc=SX-05&act=10","sequencingId":"id2681469","foreignId":4898,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":4899},{"value":"previous","foreignId":4900},{"value":"suspendAll","foreignId":4901}]}]}],"base":""},"sequencing":[{"id":"id2686705","rollupObjectiveSatisfied":false,"rollupProgressCompletion":false,"foreignId":4922,"rule":[{"type":"pre","action":"skip","foreignId":4923,"condition":[{"condition":"satisfied","foreignId":4924}]}],"objective":[{"primary":true,"objectiveID":"PRIMARYOBJ","foreignId":4925,"mapInfo":[{"targetObjectiveID":"gObj-SX05-1","readNormalizedMeasure":false,"writeSatisfiedStatus":true,"foreignId":4926}]}]},{"id":"id2687557","rollupObjectiveSatisfied":false,"rollupProgressCompletion":false,"foreignId":4927,"rule":[{"type":"pre","action":"skip","foreignId":4928,"condition":[{"condition":"satisfied","foreignId":4929}]}],"objective":[{"primary":true,"objectiveID":"PRIMARYOBJ","foreignId":4930,"mapInfo":[{"targetObjectiveID":"gObj-SX05-2","readNormalizedMeasure":false,"writeSatisfiedStatus":true,"foreignId":4931}]}]},{"id":"id2699316","foreignId":4932,"rule":[{"type":"pre","action":"skip","foreignId":4933,"condition":[{"referencedObjective":"obj-SX05-3a","condition":"satisfied","foreignId":4934}]}],"objective":[{"primary":true,"objectiveID":"PRIMARYOBJ","foreignId":4935},{"primary":false,"objectiveID":"obj-SX05-3a","foreignId":4936,"mapInfo":[{"targetObjectiveID":"gObj-SX05-3a","readNormalizedMeasure":false,"writeSatisfiedStatus":true,"foreignId":4937}]}]},{"id":"id2696380","foreignId":4938,"rule":[{"type":"pre","action":"skip","foreignId":4939,"condition":[{"referencedObjective":"obj-SX05-3b","condition":"satisfied","foreignId":4940}]},{"type":"post","conditionCombination":"any","action":"retryAll","foreignId":4941,"condition":[{"referencedObjective":"obj-SX05-3a","operator":"not","condition":"satisfied","foreignId":4942},{"referencedObjective":"obj-SX05-3b","operator":"not","condition":"satisfied","foreignId":4943}]}],"objective":[{"primary":true,"objectiveID":"PRIMARYOBJ","foreignId":4944},{"primary":false,"objectiveID":"obj-SX05-3a","foreignId":4945,"mapInfo":[{"targetObjectiveID":"gObj-SX05-3a","readNormalizedMeasure":false,"writeSatisfiedStatus":true,"foreignId":4946}]},{"primary":false,"objectiveID":"obj-SX05-3b","foreignId":4947,"mapInfo":[{"targetObjectiveID":"gObj-SX05-3b","readNormalizedMeasure":false,"writeSatisfiedStatus":true,"foreignId":4948}]}]},{"id":"id2699280","choice":false,"flow":true,"foreignId":4949},{"id":"id2686689","foreignId":4950,"rule":[{"type":"pre","action":"skip","foreignId":4951,"condition":[{"referencedObjective":"obj-SX05-4a","condition":"satisfied","foreignId":4952}]}],"objective":[{"primary":true,"objectiveID":"PRIMARYOBJ","foreignId":4953},{"primary":false,"objectiveID":"obj-SX05-4a","foreignId":4954,"mapInfo":[{"targetObjectiveID":"gObj-SX05-4a","readNormalizedMeasure":false,"writeSatisfiedStatus":true,"foreignId":4955}]}]},{"id":"id2699208","foreignId":4956,"rule":[{"type":"pre","action":"skip","foreignId":4957,"condition":[{"referencedObjective":"obj-SX05-4b","condition":"satisfied","foreignId":4958}]},{"type":"post","conditionCombination":"any","action":"retryAll","foreignId":4959,"condition":[{"referencedObjective":"obj-SX05-4a","operator":"not","condition":"satisfied","foreignId":4960},{"referencedObjective":"obj-SX05-4b","operator":"not","condition":"satisfied","foreignId":4961}]}],"objective":[{"primary":true,"objectiveID":"PRIMARYOBJ","foreignId":4962},{"primary":false,"objectiveID":"obj-SX05-4a","foreignId":4963,"mapInfo":[{"targetObjectiveID":"gObj-SX05-4a","readNormalizedMeasure":false,"writeSatisfiedStatus":true,"foreignId":4964}]},{"primary":false,"objectiveID":"obj-SX05-4b","foreignId":4965,"mapInfo":[{"targetObjectiveID":"gObj-SX05-4b","readNormalizedMeasure":false,"writeSatisfiedStatus":true,"foreignId":4966}]}]},{"id":"id2696287","choice":false,"flow":true,"foreignId":4967},{"id":"id2681469","rollupObjectiveSatisfied":false,"rollupProgressCompletion":false,"foreignId":4968,"rule":[{"type":"post","action":"exitParent","foreignId":4969,"condition":[{"condition":"always","foreignId":4970}]}],"objective":[{"primary":true,"objectiveID":"PRIMARYOBJ","foreignId":4971},{"primary":false,"objectiveID":"obj-SX05-5","foreignId":4972,"mapInfo":[{"targetObjectiveID":"gObj-SX05-5","readNormalizedMeasure":false,"writeSatisfiedStatus":true,"foreignId":4973}]},{"primary":false,"objectiveID":"obj-SX05-3a","foreignId":4974,"mapInfo":[{"targetObjectiveID":"gObj-SX05-3a","readNormalizedMeasure":false,"writeSatisfiedStatus":true,"foreignId":4975}]},{"primary":false,"objectiveID":"obj-SX05-3b","foreignId":4976,"mapInfo":[{"targetObjectiveID":"gObj-SX05-3b","readNormalizedMeasure":false,"writeSatisfiedStatus":true,"foreignId":4977}]},{"primary":false,"objectiveID":"obj-SX05-4a","foreignId":4978,"mapInfo":[{"targetObjectiveID":"gObj-SX05-4a","readNormalizedMeasure":false,"writeSatisfiedStatus":true,"foreignId":4979}]},{"primary":false,"objectiveID":"obj-SX05-4b","foreignId":4980,"mapInfo":[{"targetObjectiveID":"gObj-SX05-4b","readNormalizedMeasure":false,"writeSatisfiedStatus":true,"foreignId":4981}]}]},{"id":"id2698812","choice":false,"flow":true,"foreignId":4982,"rule":[{"type":"post","action":"retry","foreignId":4983,"condition":[{"referencedObjective":"obj-SX05-5","operator":"not","condition":"satisfied","foreignId":4984}]}],"objective":[{"primary":true,"objectiveID":"PRIMARYOBJ","foreignId":4985},{"primary":false,"objectiveID":"obj-SX05-5","foreignId":4986,"mapInfo":[{"targetObjectiveID":"gObj-SX05-5","readNormalizedMeasure":false,"writeSatisfiedStatus":true,"foreignId":4987}]}]},{"id":"id2695987","choice":false,"flow":true,"foreignId":4988}],"base":"./data/ilias3_scorm2004/lm_data/lm_241/","foreignId":4869,"id":"SeqConTest_SX-05"}', '0', '241', '0', '', ' - -'); -INSERT INTO cp_package VALUES ('0', '', '{"item":{"id":"SX-06","title":"LMS Test Content Package SX-06","sequencingId":"id3003378","foreignId":4990,"item":[{"id":"activity_1","title":"Activity 1","parameters":"tc=SX-06&act=1","foreignId":4991,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":4992},{"value":"previous","foreignId":4993},{"value":"suspendAll","foreignId":4994}]},{"id":"activity_2","title":"Activity 2","parameters":"tc=SX-06&act=2","sequencingId":"id3095010","foreignId":4995,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":4996},{"value":"previous","foreignId":4997},{"value":"suspendAll","foreignId":4998}]},{"id":"activity_3","title":"Activity 3","parameters":"tc=SX-06&act=3","foreignId":4999,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":5000},{"value":"previous","foreignId":5001},{"value":"suspendAll","foreignId":5002}]}],"base":""},"sequencing":[{"id":"id3095010","foreignId":5023,"rule":[{"type":"post","action":"continue","foreignId":5024,"condition":[{"condition":"completed","foreignId":5025}]},{"type":"post","action":"retry","foreignId":5026,"condition":[{"operator":"not","condition":"completed","foreignId":5027}]}]},{"id":"id3003378","choice":false,"flow":true,"foreignId":5028}],"base":"./data/ilias3_scorm2004/lm_data/lm_242/","foreignId":4989,"id":"LMSTestPackage_SX-06"}', '0', '242', '0', '', ' - -'); -INSERT INTO cp_package VALUES ('0', '', '{"item":{"id":"SX-07a","title":"LMS Test Content Package SX-07a ","sequencingId":"id2862126","foreignId":5030,"item":[{"id":"activity_1","title":"Activity 1","sequencingId":"id2837196","foreignId":5031,"item":[{"id":"activity_2","title":"Activity 2","parameters":"tc=SX-07a&act=2","sequencingId":"id2837123","foreignId":5032,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":5033},{"value":"previous","foreignId":5034},{"value":"suspendAll","foreignId":5035}]},{"id":"activity_3","title":"Activity 3","parameters":"tc=SX-07a&act=3","foreignId":5036,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":5037},{"value":"previous","foreignId":5038},{"value":"suspendAll","foreignId":5039}]},{"id":"activity_4","title":"Activity 4","parameters":"tc=SX-07a&act=4","foreignId":5040,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":5041},{"value":"previous","foreignId":5042},{"value":"suspendAll","foreignId":5043}]}]},{"id":"activity_5","title":"Activity 5","parameters":"tc=SX-07a&act=5","foreignId":5044,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":5045},{"value":"previous","foreignId":5046},{"value":"suspendAll","foreignId":5047}]}],"base":""},"sequencing":[{"id":"id2837123","foreignId":5068,"rule":[{"type":"pre","action":"skip","foreignId":5069,"condition":[{"operator":"not","condition":"completed","foreignId":5070}]}]},{"id":"id2837196","choice":false,"flow":true,"foreignId":5071},{"id":"id2862126","choice":false,"flow":true,"foreignId":5072}],"base":"./data/ilias3_scorm2004/lm_data/lm_243/","foreignId":5029,"id":"LMSTestPackage_SX-07a"}', '0', '243', '0', '', ' - -'); -INSERT INTO cp_package VALUES ('0', '', '{"item":{"id":"SX-07b","title":"LMS Test Content Package SX-07b","sequencingId":"id2834188","foreignId":5074,"item":[{"id":"activity_1","title":"Activity 1","sequencingId":"id2836154","foreignId":5075,"item":[{"id":"activity_2","title":"Activity 2","parameters":"tc=SX-07b&act=2","sequencingId":"id2837340","foreignId":5076,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":5077},{"value":"previous","foreignId":5078},{"value":"suspendAll","foreignId":5079}]},{"id":"activity_3","title":"Activity 3","parameters":"tc=SX-07b&act=3","foreignId":5080,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":5081},{"value":"previous","foreignId":5082},{"value":"suspendAll","foreignId":5083}]}]},{"id":"activity_4","title":"Activity 4","parameters":"tc=SX-07b&act=4","foreignId":5084,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":5085},{"value":"previous","foreignId":5086},{"value":"suspendAll","foreignId":5087}]}],"base":""},"sequencing":[{"id":"id2837340","foreignId":5108,"rule":[{"type":"pre","action":"skip","foreignId":5109,"condition":[{"operator":"not","condition":"satisfied","foreignId":5110}]}]},{"id":"id2836154","choice":false,"flow":true,"foreignId":5111},{"id":"id2834188","flow":true,"foreignId":5112}],"base":"./data/ilias3_scorm2004/lm_data/lm_244/","foreignId":5073,"id":"LMSTestPackage_SX-07b"}', '0', '244', '0', '', ' - -'); -INSERT INTO cp_package VALUES ('0', '', '{"item":{"id":"SX-07c","title":"LMS Test Content Package SX-07c ","sequencingId":"id2817705","foreignId":5114,"item":[{"id":"activity_1","title":"Activity 1","sequencingId":"id2861852","foreignId":5115,"item":[{"id":"activity_2","title":"Activity 2","parameters":"tc=SX-07c&act=2","sequencingId":"id2837019","foreignId":5116,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":5117},{"value":"previous","foreignId":5118},{"value":"suspendAll","foreignId":5119}]},{"id":"activity_3","title":"Activity 3","parameters":"tc=SX-07c&act=3","foreignId":5120,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":5121},{"value":"previous","foreignId":5122},{"value":"suspendAll","foreignId":5123}]}]},{"id":"activity_4","title":"Activity 4","parameters":"tc=SX-07c&act=4","foreignId":5124,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":5125},{"value":"previous","foreignId":5126},{"value":"suspendAll","foreignId":5127}]}],"base":""},"sequencing":[{"id":"id2837019","foreignId":5148,"rule":[{"type":"pre","action":"skip","foreignId":5149,"condition":[{"condition":"satisfied","foreignId":5150}]}]},{"id":"id2861852","choice":false,"flow":true,"foreignId":5151,"rule":[{"type":"exit","action":"exit","foreignId":5152,"condition":[{"condition":"completed","foreignId":5153}]},{"type":"post","action":"retry","foreignId":5154,"condition":[{"condition":"completed","foreignId":5155}]}]},{"id":"id2817705","choice":false,"flow":true,"foreignId":5156}],"base":"./data/ilias3_scorm2004/lm_data/lm_245/","foreignId":5113,"id":"LMSTestPackage_SX-07c"}', '0', '245', '0', '', ' - -'); -INSERT INTO cp_package VALUES ('0', '', '{"item":{"id":"SX-07d","title":"LMS Test Content Package SX-07d ","sequencingId":"id2837821","foreignId":5158,"item":[{"id":"activity_1","title":"Activity 1","parameters":"tc=SX-07d&act=1","foreignId":5159,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":5160},{"value":"previous","foreignId":5161},{"value":"suspendAll","foreignId":5162}]},{"id":"activity_2","title":"Activity 2","sequencingId":"id2813984","foreignId":5163,"item":[{"id":"activity_3","title":"Activity 3","parameters":"tc=SX-07d&act=3","sequencingId":"id2862147","foreignId":5164,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":5165},{"value":"previous","foreignId":5166},{"value":"suspendAll","foreignId":5167}]},{"id":"activity_4","title":"Activity 4","parameters":"tc=SX-07d&act=4","sequencingId":"id2812723","foreignId":5168,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":5169},{"value":"previous","foreignId":5170},{"value":"suspendAll","foreignId":5171}]},{"id":"activity_5","title":"Activity 5","parameters":"tc=SX-07d&act=5","sequencingId":"id2837145","foreignId":5172,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":5173},{"value":"previous","foreignId":5174},{"value":"suspendAll","foreignId":5175}]},{"id":"activity_6","title":"Activity 6","parameters":"tc=SX-07d&act=6","foreignId":5176,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":5177},{"value":"previous","foreignId":5178},{"value":"suspendAll","foreignId":5179}]}]},{"id":"activity_7","title":"Activity 7","parameters":"tc=SX-07d&act=7","foreignId":5180,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":5181},{"value":"previous","foreignId":5182},{"value":"suspendAll","foreignId":5183}]}],"base":""},"sequencing":[{"id":"id2862147","foreignId":5204,"rule":[{"type":"pre","action":"skip","foreignId":5205,"condition":[{"condition":"satisfied","foreignId":5206}]}],"objective":[{"primary":true,"objectiveID":"PRIMARYOBJ","satisfiedByMeasure":true,"minNormalizedMeasure":-0.5,"foreignId":5207}]},{"id":"id2812723","foreignId":5208,"rule":[{"type":"pre","action":"skip","foreignId":5209,"condition":[{"condition":"completed","foreignId":5210}]}]},{"id":"id2837145","foreignId":5211,"rule":[{"type":"pre","action":"skip","foreignId":5212,"condition":[{"condition":"satisfied","foreignId":5213}]}]},{"id":"id2813984","choice":false,"flow":true,"foreignId":5214},{"id":"id2837821","choice":false,"flow":true,"foreignId":5215}],"base":"./data/ilias3_scorm2004/lm_data/lm_246/","foreignId":5157,"id":"LMSTestPackage_SX-07d"}', '0', '246', '0', '', ' - -'); -INSERT INTO cp_package VALUES ('0', '', '{"item":{"id":"SX-07e","title":"LMS Test Content Package SX-07e ","sequencingId":"id2861765","foreignId":5217,"item":[{"id":"activity_1","title":"Activity 1","parameters":"tc=SX-07e&act=1","foreignId":5218,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":5219},{"value":"previous","foreignId":5220},{"value":"suspendAll","foreignId":5221}]},{"id":"activity_2","title":"Activity 2","sequencingId":"id2818780","foreignId":5222,"item":[{"id":"activity_3","title":"Activity 3","parameters":"tc=SX-07e&act=3","foreignId":5223,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":5224},{"value":"previous","foreignId":5225},{"value":"suspendAll","foreignId":5226}]},{"id":"activity_4","title":"Activity 4","parameters":"tc=SX-07e&act=4","sequencingId":"id2834249","foreignId":5227,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":5228},{"value":"previous","foreignId":5229},{"value":"suspendAll","foreignId":5230}]},{"id":"activity_5","title":"Activity 5","parameters":"tc=SX-07e&act=5","sequencingId":"id2836098","foreignId":5231,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":5232},{"value":"previous","foreignId":5233},{"value":"suspendAll","foreignId":5234}]},{"id":"activity_6","title":"Activity 6","parameters":"tc=SX-07e&act=6","sequencingId":"id2835895","foreignId":5235,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":5236},{"value":"previous","foreignId":5237},{"value":"suspendAll","foreignId":5238}]}]},{"id":"activity_7","title":"Activity 7","parameters":"tc=SX-07e&act=7","foreignId":5239,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":5240},{"value":"previous","foreignId":5241},{"value":"suspendAll","foreignId":5242}]}],"base":""},"sequencing":[{"id":"id2834249","foreignId":5263,"rule":[{"type":"pre","action":"skip","foreignId":5264,"condition":[{"condition":"satisfied","foreignId":5265}]}]},{"id":"id2836098","foreignId":5266,"rule":[{"type":"pre","action":"skip","foreignId":5267,"condition":[{"condition":"satisfied","foreignId":5268}]}],"objective":[{"primary":true,"objectiveID":"PRIMARYOBJ","satisfiedByMeasure":true,"minNormalizedMeasure":0,"foreignId":5269}]},{"id":"id2835895","foreignId":5270,"rule":[{"type":"pre","action":"skip","foreignId":5271,"condition":[{"condition":"completed","foreignId":5272}]}]},{"id":"id2818780","choice":false,"flow":true,"foreignId":5273},{"id":"id2861765","choice":false,"flow":true,"foreignId":5274}],"base":"./data/ilias3_scorm2004/lm_data/lm_247/","foreignId":5216,"id":"LMSTestPackage_SX-07e"}', '0', '247', '0', '', ' - -'); -INSERT INTO cp_package VALUES ('0', '', '{"item":{"id":"T-01a","title":"LMS Test Content Package T-01a ","sequencingId":"id2675932","foreignId":5276,"item":[{"id":"activity_1","title":"Activity 1","parameters":"tc=T-01a&act=1","sequencingId":"id2675739","foreignId":5277,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":5278},{"value":"previous","foreignId":5279},{"value":"suspendAll","foreignId":5280}]},{"id":"activity_2","title":"Activity 2","sequencingId":"id2675998","foreignId":5281,"item":[{"id":"activity_3","title":"Activity 3","sequencingId":"module","foreignId":5282,"item":[{"id":"activity_4","title":"Activity 4","sequencingId":"id2675451","foreignId":5283,"item":[{"id":"activity_5","title":"Activity 5","parameters":"tc=T-01a&act=5","foreignId":5284,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":5285},{"value":"previous","foreignId":5286},{"value":"suspendAll","foreignId":5287}]},{"id":"activity_6","title":"Activity 6","parameters":"tc=T-01a&act=6","foreignId":5288,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":5289},{"value":"previous","foreignId":5290},{"value":"suspendAll","foreignId":5291}]},{"id":"activity_7","title":"Activity 7","parameters":"tc=T-01a&act=7","foreignId":5292,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":5293},{"value":"previous","foreignId":5294},{"value":"suspendAll","foreignId":5295}]}]},{"id":"activity_8","title":"Activity 8","sequencingId":"id2675173","foreignId":5296,"item":[{"id":"activity_9","title":"Activity 9","parameters":"tc=T-01a&act=9","foreignId":5297,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":5298},{"value":"previous","foreignId":5299},{"value":"suspendAll","foreignId":5300}]},{"id":"activity_10","title":"Activity 10","parameters":"tc=T-01a&act=10","foreignId":5301,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":5302},{"value":"previous","foreignId":5303},{"value":"suspendAll","foreignId":5304}]},{"id":"activity_11","title":"Activity 11","parameters":"tc=T-01a&act=11","foreignId":5305,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":5306},{"value":"previous","foreignId":5307},{"value":"suspendAll","foreignId":5308}]}]},{"id":"activity_12","title":"Activity 12","sequencingId":"id2674918","foreignId":5309,"item":[{"id":"activity_13","title":"Activity 13","parameters":"tc=T-01a&act=13","foreignId":5310,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":5311},{"value":"previous","foreignId":5312},{"value":"suspendAll","foreignId":5313}]},{"id":"activity_14","title":"Activity 14","parameters":"tc=T-01a&act=14","foreignId":5314,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":5315},{"value":"previous","foreignId":5316},{"value":"suspendAll","foreignId":5317}]},{"id":"activity_15","title":"Activity 15","parameters":"tc=T-01a&act=15","foreignId":5318,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":5319},{"value":"previous","foreignId":5320},{"value":"suspendAll","foreignId":5321}]}]}]},{"id":"activity_16","title":"Activity 16","sequencingId":"module","foreignId":5322,"item":[{"id":"activity_17","title":"Activty 17","sequencingId":"id2674604","foreignId":5323,"item":[{"id":"activity_18","title":"Activity 18","parameters":"tc=T-01a&act=18","foreignId":5324,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":5325},{"value":"previous","foreignId":5326},{"value":"suspendAll","foreignId":5327}]},{"id":"activity_19","title":"Activity 19","parameters":"tc=T-01a&act=19","foreignId":5328,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":5329},{"value":"previous","foreignId":5330},{"value":"suspendAll","foreignId":5331}]},{"id":"activity_20","title":"Activity 20","parameters":"tc=T-01a&act=20","foreignId":5332,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":5333},{"value":"previous","foreignId":5334},{"value":"suspendAll","foreignId":5335}]}]},{"id":"activity_21","title":"Activity 21","sequencingId":"id2674322","foreignId":5336,"item":[{"id":"activity_22","title":"Activity 22","parameters":"tc=T-01a&act=22","foreignId":5337,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":5338},{"value":"previous","foreignId":5339},{"value":"suspendAll","foreignId":5340}]},{"id":"activity_23","title":"Activity 23","parameters":"tc=T-01a&act=23","foreignId":5341,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":5342},{"value":"previous","foreignId":5343},{"value":"suspendAll","foreignId":5344}]},{"id":"activity_24","title":"Activity 24","parameters":"tc=T-01a&act=24","foreignId":5345,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":5346},{"value":"previous","foreignId":5347},{"value":"suspendAll","foreignId":5348}]}]},{"id":"activity_25","title":"Activity 25","sequencingId":"id2668217","foreignId":5349,"item":[{"id":"activity_26","title":"Activity 26","parameters":"tc=T-01a&act=26","foreignId":5350,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":5351},{"value":"previous","foreignId":5352},{"value":"suspendAll","foreignId":5353}]},{"id":"activity_27","title":"Activity 27","parameters":"tc=T-01a&act=27","foreignId":5354,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":5355},{"value":"previous","foreignId":5356},{"value":"suspendAll","foreignId":5357}]},{"id":"activity_28","title":"Activity 28","parameters":"tc=T-01a&act=28","foreignId":5358,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":5359},{"value":"previous","foreignId":5360},{"value":"suspendAll","foreignId":5361}]}]}]},{"id":"activity_29","title":"Activity 29","sequencingId":"module","foreignId":5362,"item":[{"id":"activity_30","title":"Activity 30","sequencingId":"id2668137","foreignId":5363,"item":[{"id":"activity_31","title":"Activity 31","parameters":"tc=T-01a&act=31","foreignId":5364,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":5365},{"value":"previous","foreignId":5366},{"value":"suspendAll","foreignId":5367}]},{"id":"activity_32","title":"Activity 32","parameters":"tc=T-01a&act=32","foreignId":5368,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":5369},{"value":"previous","foreignId":5370},{"value":"suspendAll","foreignId":5371}]},{"id":"activity_33","title":"Activity 33","parameters":"tc=T-01a&act=33","foreignId":5372,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":5373},{"value":"previous","foreignId":5374},{"value":"suspendAll","foreignId":5375}]}]},{"id":"activity_34","title":"Activity 34","sequencingId":"id2678102","foreignId":5376,"item":[{"id":"activity_35","title":"Activity 35","parameters":"tc=T-01a&act=35","foreignId":5377,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":5378},{"value":"previous","foreignId":5379},{"value":"suspendAll","foreignId":5380}]},{"id":"activity_36","title":"Activity 36","parameters":"tc=T-01a&act=36","foreignId":5381,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":5382},{"value":"previous","foreignId":5383},{"value":"suspendAll","foreignId":5384}]},{"id":"activity_37","title":"Activity 37","parameters":"tc=T-01a&act=37","foreignId":5385,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":5386},{"value":"previous","foreignId":5387},{"value":"suspendAll","foreignId":5388}]}]},{"id":"activity_38","title":"Activity 38","sequencingId":"id2618945","foreignId":5389,"item":[{"id":"activity_39","title":"Activity 39","parameters":"tc=T-01a&act=39","foreignId":5390,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":5391},{"value":"previous","foreignId":5392},{"value":"suspendAll","foreignId":5393}]},{"id":"activity_40","title":"Activity 40","parameters":"tc=T-01a&act=40","foreignId":5394,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":5395},{"value":"previous","foreignId":5396},{"value":"suspendAll","foreignId":5397}]},{"id":"activity_41","title":"Activity 41","parameters":"tc=T-01a&act=41","foreignId":5398,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":5399},{"value":"previous","foreignId":5400},{"value":"suspendAll","foreignId":5401}]}]}]}]},{"id":"activity_42","title":"Activity 42","parameters":"tc=T-01a&act=42","sequencingId":"id2678246","foreignId":5402,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":5403},{"value":"previous","foreignId":5404},{"value":"suspendAll","foreignId":5405}]}],"base":""},"sequencing":[{"id":"id2675739","rollupObjectiveSatisfied":false,"foreignId":5426},{"id":"id2675451","sequencingId":"pretest","foreignId":5427,"objective":[{"primary":true,"objectiveID":"PRIMARYOBJ","satisfiedByMeasure":true,"minNormalizedMeasure":0.6,"foreignId":5428,"mapInfo":[{"targetObjectiveID":"gObj-T01a-1","readNormalizedMeasure":false,"writeSatisfiedStatus":true,"writeNormalizedMeasure":true,"foreignId":5429}]}]},{"id":"id2675173","sequencingId":"lessons","foreignId":5430,"objective":[{"primary":true,"objectiveID":"PRIMARYOBJ","foreignId":5431,"mapInfo":[{"targetObjectiveID":"gObj-T01a-1","foreignId":5432}]}]},{"id":"id2674918","sequencingId":"posttest","foreignId":5433,"objective":[{"primary":true,"objectiveID":"PRIMARYOBJ","satisfiedByMeasure":true,"minNormalizedMeasure":0.6,"foreignId":5434,"mapInfo":[{"targetObjectiveID":"gObj-T01a-1","writeSatisfiedStatus":true,"writeNormalizedMeasure":true,"foreignId":5435}]}]},{"id":"id2674604","sequencingId":"pretest","foreignId":5436,"objective":[{"primary":true,"objectiveID":"PRIMARYOBJ","satisfiedByMeasure":true,"minNormalizedMeasure":0.6,"foreignId":5437,"mapInfo":[{"targetObjectiveID":"gObj-T01a-2","readNormalizedMeasure":false,"writeSatisfiedStatus":true,"writeNormalizedMeasure":true,"foreignId":5438}]}]},{"id":"id2674322","sequencingId":"lessons","foreignId":5439,"objective":[{"primary":true,"objectiveID":"PRIMARYOBJ","foreignId":5440,"mapInfo":[{"targetObjectiveID":"gObj-T01a-2","foreignId":5441}]}]},{"id":"id2668217","sequencingId":"posttest","foreignId":5442,"objective":[{"primary":true,"objectiveID":"PRIMARYOBJ","satisfiedByMeasure":true,"minNormalizedMeasure":0.6,"foreignId":5443,"mapInfo":[{"targetObjectiveID":"gObj-T01a-2","writeSatisfiedStatus":true,"writeNormalizedMeasure":true,"foreignId":5444}]}]},{"id":"id2668137","sequencingId":"pretest","foreignId":5445,"objective":[{"primary":true,"objectiveID":"PRIMARYOBJ","satisfiedByMeasure":true,"minNormalizedMeasure":0.6,"foreignId":5446,"mapInfo":[{"targetObjectiveID":"gObj-T01a-3","readNormalizedMeasure":false,"writeSatisfiedStatus":true,"writeNormalizedMeasure":true,"foreignId":5447}]}]},{"id":"id2678102","sequencingId":"lessons","foreignId":5448,"objective":[{"primary":true,"objectiveID":"PRIMARYOBJ","foreignId":5449,"mapInfo":[{"targetObjectiveID":"gObj-T01a-3","foreignId":5450}]}]},{"id":"id2618945","sequencingId":"posttest","foreignId":5451,"objective":[{"primary":true,"objectiveID":"PRIMARYOBJ","satisfiedByMeasure":true,"minNormalizedMeasure":0.6,"foreignId":5452,"mapInfo":[{"targetObjectiveID":"gObj-T01a-3","writeSatisfiedStatus":true,"writeNormalizedMeasure":true,"foreignId":5453}]}]},{"id":"id2675998","choice":false,"flow":true,"foreignId":5454,"rule":[{"type":"exit","action":"exit","foreignId":5455,"condition":[{"condition":"completed","foreignId":5456}]},{"type":"post","action":"continue","foreignId":5457,"condition":[{"condition":"always","foreignId":5458}]}]},{"id":"id2678246","attemptLimit":1,"rollupObjectiveSatisfied":false,"foreignId":5459,"objective":[{"primary":true,"objectiveID":"PRIMARYOBJ","foreignId":5460},{"primary":false,"objectiveID":"obj1","foreignId":5461,"mapInfo":[{"targetObjectiveID":"gObj-T01a-1","foreignId":5462}]},{"primary":false,"objectiveID":"obj2","foreignId":5463,"mapInfo":[{"targetObjectiveID":"gObj-T01a-2","foreignId":5464}]},{"primary":false,"objectiveID":"obj3","foreignId":5465,"mapInfo":[{"targetObjectiveID":"gObj-T01a-3","foreignId":5466}]}]},{"id":"id2675932","choice":false,"flow":true,"foreignId":5467,"rule":[{"type":"exit","action":"exit","foreignId":5468,"condition":[{"condition":"completed","foreignId":5469}]},{"type":"rollup","childActivitySet":"any","action":"notSatisfied","foreignId":5470,"condition":[{"condition":"satisfied","operator":"not","foreignId":5471}]}]},{"id":"pretest","choice":false,"flow":true,"attemptLimit":1,"requiredForCompleted":"ifAttempted","foreignId":5472,"rule":[{"type":"pre","action":"skip","foreignId":5473,"condition":[{"condition":"satisfied","foreignId":5474}]},{"type":"rollup","action":"completed","foreignId":5475,"condition":[{"condition":"attempted","foreignId":5476}]}]},{"id":"lessons","choice":false,"flow":true,"rollupObjectiveSatisfied":false,"rollupProgressCompletion":false,"foreignId":5477,"rule":[{"type":"pre","action":"skip","foreignId":5478,"condition":[{"condition":"satisfied","foreignId":5479}]}]},{"id":"posttest","choice":false,"flow":true,"attemptLimit":1,"requiredForCompleted":"ifNotSkipped","foreignId":5480,"rule":[{"type":"pre","action":"skip","foreignId":5481,"condition":[{"condition":"satisfied","foreignId":5482}]},{"type":"rollup","action":"completed","foreignId":5483,"condition":[{"condition":"attempted","foreignId":5484}]}]},{"id":"module","choice":false,"flow":true,"foreignId":5485,"rule":[{"type":"exit","action":"exit","foreignId":5486,"condition":[{"condition":"completed","foreignId":5487}]}]}],"base":"./data/ilias3_scorm2004/lm_data/lm_248/","foreignId":5275,"id":"LMSTestPackage_T-01a"}', '0', '248', '0', '', ' - -'); -INSERT INTO cp_package VALUES ('0', '', '{"item":{"id":"T-01b","title":"LMS Test Content Package T-01b","sequencingId":"id2817663","foreignId":5489,"item":[{"id":"activity_1","title":"Activity 1","parameters":"tc=T-01b&act=1","sequencingId":"id2820366","foreignId":5490,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":5491},{"value":"previous","foreignId":5492},{"value":"suspendAll","foreignId":5493}]},{"id":"activity_2","title":"Activity 2","sequencingId":"id2837025","foreignId":5494,"item":[{"id":"activity_3","title":"Activity 3","sequencingId":"module","foreignId":5495,"item":[{"id":"activity_4","title":"Activity 4","sequencingId":"id2820213","foreignId":5496,"item":[{"id":"activity_5","title":"Activity 5","parameters":"tc=T-01b&act=5","foreignId":5497,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":5498},{"value":"previous","foreignId":5499},{"value":"suspendAll","foreignId":5500}]},{"id":"activity_6","title":"Activity 6","parameters":"tc=T-01b&act=6","foreignId":5501,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":5502},{"value":"previous","foreignId":5503},{"value":"suspendAll","foreignId":5504}]},{"id":"activity_7","title":"Activity 7","parameters":"tc=T-01b&act=7","foreignId":5505,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":5506},{"value":"previous","foreignId":5507},{"value":"suspendAll","foreignId":5508}]}]},{"id":"activity_8","title":"Activity 8","sequencingId":"id2837293","foreignId":5509,"item":[{"id":"activity_9","title":"Activity 9","parameters":"tc=T-01b&act=9","sequencingId":"id2843255","foreignId":5510,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":5511},{"value":"previous","foreignId":5512},{"value":"suspendAll","foreignId":5513}]},{"id":"activity_10","title":"Activity 10","parameters":"tc=T-01b&act=10","sequencingId":"id2820281","foreignId":5514,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":5515},{"value":"previous","foreignId":5516},{"value":"suspendAll","foreignId":5517}]},{"id":"activity_11","title":"Activity 11","parameters":"tc=T-01b&act=11","foreignId":5518,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":5519},{"value":"previous","foreignId":5520},{"value":"suspendAll","foreignId":5521}]}]},{"id":"activity_12","title":"Activity 12","sequencingId":"id2820160","foreignId":5522,"item":[{"id":"activity_13","title":"Activity 13","parameters":"tc=T-01b&act=13","foreignId":5523,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":5524},{"value":"previous","foreignId":5525},{"value":"suspendAll","foreignId":5526}]},{"id":"activity_14","title":"Activity 14","parameters":"tc=T-01b&act=14","foreignId":5527,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":5528},{"value":"previous","foreignId":5529},{"value":"suspendAll","foreignId":5530}]},{"id":"activity_15","title":"Activity 15","parameters":"tc=T-01b&act=15","foreignId":5531,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":5532},{"value":"previous","foreignId":5533},{"value":"suspendAll","foreignId":5534}]}]}]},{"id":"activity_16","title":"Activity 16","sequencingId":"module","foreignId":5535,"item":[{"id":"activity_17","title":"Activty 17","sequencingId":"id2850173","foreignId":5536,"item":[{"id":"activity_18","title":"Activity 18","parameters":"tc=T-01b&act=18","foreignId":5537,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":5538},{"value":"previous","foreignId":5539},{"value":"suspendAll","foreignId":5540}]},{"id":"activity_19","title":"Activity 19","parameters":"tc=T-01b&act=19","foreignId":5541,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":5542},{"value":"previous","foreignId":5543},{"value":"suspendAll","foreignId":5544}]},{"id":"activity_20","title":"Activity 20","parameters":"tc=T-01b&act=20","foreignId":5545,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":5546},{"value":"previous","foreignId":5547},{"value":"suspendAll","foreignId":5548}]}]},{"id":"activity_21","title":"Activity 21","sequencingId":"id2820322","foreignId":5549,"item":[{"id":"activity_22","title":"Activity 22","parameters":"tc=T-01b&act=22","foreignId":5550,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":5551},{"value":"previous","foreignId":5552},{"value":"suspendAll","foreignId":5553}]},{"id":"activity_23","title":"Activity 23","parameters":"tc=T-01b&act=23","foreignId":5554,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":5555},{"value":"previous","foreignId":5556},{"value":"suspendAll","foreignId":5557}]},{"id":"activity_24","title":"Activity 24","parameters":"tc=T-01b&act=24","foreignId":5558,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":5559},{"value":"previous","foreignId":5560},{"value":"suspendAll","foreignId":5561}]}]},{"id":"activity_25","title":"Activity 25","sequencingId":"id2843649","foreignId":5562,"item":[{"id":"activity_26","title":"Activity 26","parameters":"tc=T-01b&act=26","foreignId":5563,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":5564},{"value":"previous","foreignId":5565},{"value":"suspendAll","foreignId":5566}]},{"id":"activity_27","title":"Activity 27","parameters":"tc=T-01b&act=27","foreignId":5567,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":5568},{"value":"previous","foreignId":5569},{"value":"suspendAll","foreignId":5570}]},{"id":"activity_28","title":"Activity 28","parameters":"tc=T-01b&act=28","foreignId":5571,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":5572},{"value":"previous","foreignId":5573},{"value":"suspendAll","foreignId":5574}]}]}]},{"id":"activity_29","title":"Activity 29","sequencingId":"module","foreignId":5575,"item":[{"id":"activity_30","title":"Activity 30","sequencingId":"id2837175","foreignId":5576,"item":[{"id":"activity_31","title":"Activity 31","parameters":"tc=T-01b&act=31","foreignId":5577,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":5578},{"value":"previous","foreignId":5579},{"value":"suspendAll","foreignId":5580}]},{"id":"activity_32","title":"Activity 32","parameters":"tc=T-01b&act=32","foreignId":5581,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":5582},{"value":"previous","foreignId":5583},{"value":"suspendAll","foreignId":5584}]},{"id":"activity_33","title":"Activity 33","parameters":"tc=T-01b&act=33","foreignId":5585,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":5586},{"value":"previous","foreignId":5587},{"value":"suspendAll","foreignId":5588}]}]},{"id":"activity_34","title":"Activity 34","sequencingId":"id2820477","foreignId":5589,"item":[{"id":"activity_35","title":"Activity 35","parameters":"tc=T-01b&act=35","foreignId":5590,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":5591},{"value":"previous","foreignId":5592},{"value":"suspendAll","foreignId":5593}]},{"id":"activity_36","title":"Activity 36","parameters":"tc=T-01b&act=36","foreignId":5594,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":5595},{"value":"previous","foreignId":5596},{"value":"suspendAll","foreignId":5597}]},{"id":"activity_37","title":"Activity 37","parameters":"tc=T-01b&act=37","foreignId":5598,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":5599},{"value":"previous","foreignId":5600},{"value":"suspendAll","foreignId":5601}]}]},{"id":"activity_38","title":"Activity 38","sequencingId":"id2843571","foreignId":5602,"item":[{"id":"activity_39","title":"Activity 39","parameters":"tc=T-01b&act=39","foreignId":5603,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":5604},{"value":"previous","foreignId":5605},{"value":"suspendAll","foreignId":5606}]},{"id":"activity_40","title":"Activity 40","parameters":"tc=T-01b&act=40","foreignId":5607,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":5608},{"value":"previous","foreignId":5609},{"value":"suspendAll","foreignId":5610}]},{"id":"activity_41","title":"Activity 41","parameters":"tc=T-01b&act=41","foreignId":5611,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":5612},{"value":"previous","foreignId":5613},{"value":"suspendAll","foreignId":5614}]}]}]}]},{"id":"activity_42","title":"Activity 42","parameters":"tc=T-01b&act=42","sequencingId":"id2837119","foreignId":5615,"href":"resources/SequencingTest.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":5616},{"value":"previous","foreignId":5617},{"value":"suspendAll","foreignId":5618}]}],"base":""},"sequencing":[{"id":"id2820366","rollupObjectiveSatisfied":false,"foreignId":5639},{"id":"id2820213","sequencingId":"pretest","foreignId":5640,"objective":[{"primary":true,"objectiveID":"PRIMARYOBJ","satisfiedByMeasure":true,"minNormalizedMeasure":0.6,"foreignId":5641,"mapInfo":[{"targetObjectiveID":"gObj-T01b-1","readNormalizedMeasure":false,"writeSatisfiedStatus":true,"writeNormalizedMeasure":true,"foreignId":5642}]}]},{"id":"id2843255","tracked":false,"foreignId":5643,"objective":[{"primary":true,"objectiveID":"","foreignId":5644},{"primary":false,"objectiveID":"obj1","foreignId":5645}]},{"id":"id2820281","tracked":false,"foreignId":5646,"objective":[{"primary":true,"objectiveID":"","foreignId":5647},{"primary":false,"objectiveID":"obj2","foreignId":5648},{"primary":false,"objectiveID":"obj3","foreignId":5649},{"primary":false,"objectiveID":"obj4","foreignId":5650},{"primary":false,"objectiveID":"obj5","foreignId":5651},{"primary":false,"objectiveID":"obj6","foreignId":5652}]},{"id":"id2837293","sequencingId":"lessons","foreignId":5653,"objective":[{"primary":true,"objectiveID":"PRIMARYOBJ","foreignId":5654,"mapInfo":[{"targetObjectiveID":"gObj-T01b-1","foreignId":5655}]}]},{"id":"id2820160","sequencingId":"posttest","foreignId":5656,"objective":[{"primary":true,"objectiveID":"PRIMARYOBJ","satisfiedByMeasure":true,"minNormalizedMeasure":0.6,"foreignId":5657,"mapInfo":[{"targetObjectiveID":"gObj-T01b-1","writeSatisfiedStatus":true,"writeNormalizedMeasure":true,"foreignId":5658}]}]},{"id":"id2850173","sequencingId":"pretest","foreignId":5659,"objective":[{"primary":true,"objectiveID":"PRIMARYOBJ","satisfiedByMeasure":true,"minNormalizedMeasure":0.6,"foreignId":5660,"mapInfo":[{"targetObjectiveID":"gObj-T01b-2","readNormalizedMeasure":false,"writeSatisfiedStatus":true,"writeNormalizedMeasure":true,"foreignId":5661}]}]},{"id":"id2820322","sequencingId":"lessons","foreignId":5662,"objective":[{"primary":true,"objectiveID":"PRIMARYOBJ","foreignId":5663,"mapInfo":[{"targetObjectiveID":"gObj-T01b-2","foreignId":5664}]}]},{"id":"id2843649","sequencingId":"posttest","foreignId":5665,"objective":[{"primary":true,"objectiveID":"PRIMARYOBJ","satisfiedByMeasure":true,"minNormalizedMeasure":0.6,"foreignId":5666,"mapInfo":[{"targetObjectiveID":"gObj-T01b-2","writeSatisfiedStatus":true,"writeNormalizedMeasure":true,"foreignId":5667}]}]},{"id":"id2837175","sequencingId":"pretest","foreignId":5668,"objective":[{"primary":true,"objectiveID":"PRIMARYOBJ","satisfiedByMeasure":true,"minNormalizedMeasure":0.6,"foreignId":5669,"mapInfo":[{"targetObjectiveID":"gObj-T01b-3","readNormalizedMeasure":false,"writeSatisfiedStatus":true,"writeNormalizedMeasure":true,"foreignId":5670}]}]},{"id":"id2820477","sequencingId":"lessons","foreignId":5671,"objective":[{"primary":true,"objectiveID":"PRIMARYOBJ","foreignId":5672,"mapInfo":[{"targetObjectiveID":"gObj-T01b-3","foreignId":5673}]}]},{"id":"id2843571","sequencingId":"posttest","foreignId":5674,"objective":[{"primary":true,"objectiveID":"PRIMARYOBJ","satisfiedByMeasure":true,"minNormalizedMeasure":0.6,"foreignId":5675,"mapInfo":[{"targetObjectiveID":"gObj-T01b-3","writeSatisfiedStatus":true,"writeNormalizedMeasure":true,"foreignId":5676}]}]},{"id":"id2837025","choice":false,"flow":true,"foreignId":5677,"rule":[{"type":"exit","action":"exit","foreignId":5678,"condition":[{"condition":"completed","foreignId":5679}]},{"type":"post","action":"continue","foreignId":5680,"condition":[{"condition":"always","foreignId":5681}]}]},{"id":"id2837119","attemptLimit":1,"rollupObjectiveSatisfied":false,"foreignId":5682,"objective":[{"primary":true,"objectiveID":"PRIMARYOBJ","foreignId":5683},{"primary":false,"objectiveID":"obj1","foreignId":5684,"mapInfo":[{"targetObjectiveID":"gObj-T01b-1","foreignId":5685}]},{"primary":false,"objectiveID":"obj2","foreignId":5686,"mapInfo":[{"targetObjectiveID":"gObj-T01b-2","foreignId":5687}]},{"primary":false,"objectiveID":"obj3","foreignId":5688,"mapInfo":[{"targetObjectiveID":"gObj-T01b-3","foreignId":5689}]}]},{"id":"id2817663","choice":false,"flow":true,"foreignId":5690,"rule":[{"type":"exit","action":"exit","foreignId":5691,"condition":[{"condition":"completed","foreignId":5692}]},{"type":"rollup","childActivitySet":"any","action":"notSatisfied","foreignId":5693,"condition":[{"condition":"satisfied","operator":"not","foreignId":5694}]}]},{"id":"pretest","choice":false,"flow":true,"attemptLimit":1,"requiredForCompleted":"ifAttempted","foreignId":5695,"rule":[{"type":"pre","action":"skip","foreignId":5696,"condition":[{"condition":"satisfied","foreignId":5697}]},{"type":"rollup","action":"completed","foreignId":5698,"condition":[{"condition":"attempted","foreignId":5699}]}]},{"id":"lessons","choice":false,"flow":true,"rollupObjectiveSatisfied":false,"rollupProgressCompletion":false,"foreignId":5700,"rule":[{"type":"pre","action":"skip","foreignId":5701,"condition":[{"condition":"satisfied","foreignId":5702}]}]},{"id":"posttest","choice":false,"flow":true,"attemptLimit":1,"requiredForCompleted":"ifNotSkipped","foreignId":5703,"rule":[{"type":"pre","action":"skip","foreignId":5704,"condition":[{"condition":"satisfied","foreignId":5705}]},{"type":"rollup","action":"completed","foreignId":5706,"condition":[{"condition":"attempted","foreignId":5707}]}]},{"id":"module","choice":false,"flow":true,"foreignId":5708,"rule":[{"type":"exit","action":"exit","foreignId":5709,"condition":[{"condition":"completed","foreignId":5710}]}]}],"base":"./data/ilias3_scorm2004/lm_data/lm_249/","foreignId":5488,"id":"LMSTestPackage_T-01b"}', '0', '249', '0', '', ' - -'); -INSERT INTO cp_package VALUES ('0', '', '{"item":{"id":"blabla","title":"Combating Trafficking in Human Beings","foreignId":5712,"item":[{"id":"u1","title":"Combating Trafficking in Human Beings","foreignId":5713,"item":[{"id":"OSCO1","title":"NATO Policy on Combating Trafficking in Human Beings","foreignId":5714,"href":"./scos/1/index.html","sco":1},{"id":"OSCO2","title":"What is Trafficking in Human Beings?","foreignId":5715,"href":"./scos/2/index.html","sco":1},{"id":"OSCO3","title":"Trafficking in Human Beings: Victims and Perpetrators","foreignId":5716,"href":"./scos/3/index.html","sco":1},{"id":"OSCO4","title":"Impact of Trafficking in Human Beings on NATO-led operations","foreignId":5717,"href":"./scos/4/index.html","sco":1},{"id":"OSCO5","title":"Duties of NATO-led Forces in Preventing Trafficking in Human Beings","foreignId":5718,"href":"./scos/5/index.html","sco":1}]}],"base":""},"base":"./data/il_scorm2004/lm_data/lm_252/","foreignId":5711,"id":"pfplms-42285"}', '0', '252', '0', '', ' - -'); -INSERT INTO cp_package VALUES ('0', '', '{"item":{"id":"TOC1","title":"Photoshop Example -- Linear","sequencingId":"id382106","foreignId":6174,"item":[{"id":"INTRO","title":"Introduction","sequencingId":"id382584","foreignId":6175,"href":"intro.htm"},{"id":"MODULE1","title":"Module 1 -- Basics","sequencingId":"id382558","foreignId":6176,"item":[{"id":"LESSON1","title":"Lesson 1 -- Interface","foreignId":6177,"href":"Lesson1.htm"},{"id":"LESSON2","title":"Lesson 2 -- Toolbox","foreignId":6178,"href":"Lesson2.htm"},{"id":"LESSON3","title":"Lesson 3 -- Palettes","foreignId":6179,"href":"Lesson3.htm"},{"id":"LESSON4","title":"Lesson 4 -- Layers","foreignId":6180,"href":"Lesson4.htm"}]},{"id":"MODULE2","title":"Module 2 -- Enhancing Images","sequencingId":"id382538","foreignId":6181,"item":[{"id":"LESSON5","title":"Lesson 5 -- Color Balance","foreignId":6182,"href":"Lesson5.htm"},{"id":"LESSON6","title":"Lesson 6 -- Brightness and Contrast","foreignId":6183,"href":"Lesson6.htm"},{"id":"LESSON7","title":"Lesson 7 -- Hue and Saturation","foreignId":6184,"href":"Lesson7.htm"}]},{"id":"MODULE3","title":"Module 3 -- Blending Images","sequencingId":"id382425","foreignId":6185,"item":[{"id":"LESSON8","title":"Lesson 8 -- Selection Tools","foreignId":6186,"href":"Lesson8.htm"},{"id":"LESSON9","title":"Lesson 9 -- Transform","foreignId":6187,"href":"Lesson9.htm"}]},{"id":"EXAM","title":"Exam","sequencingId":"id382240","foreignId":6188,"item":[{"id":"QUESTION1","title":"QUESTION 1","parameters":"main=Exam&sub=Question 1","foreignId":6189,"href":"Question1.htm","sco":1},{"id":"QUESTION2","title":"QUESTION 2","parameters":"main=Exam&sub=Question 2","foreignId":6190,"href":"Question2.htm","sco":1},{"id":"QUESTION3","title":"QUESTION 3","parameters":"main=Exam&sub=Question 3","foreignId":6191,"href":"Question3.htm","sco":1},{"id":"QUESTION4","title":"QUESTION 4","parameters":"main=Exam&sub=Question 4","foreignId":6192,"href":"Question4.htm","sco":1},{"id":"QUESTION5","title":"QUESTION 5","parameters":"main=Exam&sub=Question 5","foreignId":6193,"href":"Question5.htm","sco":1},{"id":"QUESTION6","title":"QUESTION 6","parameters":"main=Exam&sub=Question 6","foreignId":6194,"href":"Question6.htm","sco":1},{"id":"QUESTION7","title":"QUESTION 7","parameters":"main=Exam&sub=Question 7","foreignId":6195,"href":"Question7.htm","sco":1},{"id":"QUESTION8","title":"QUESTION 8","parameters":"main=Exam&sub=Question 8","foreignId":6196,"href":"Question8.htm","sco":1},{"id":"QUESTION9","title":"QUESTION 9","parameters":"main=Exam&sub=Question 9","foreignId":6197,"href":"Question9.htm","sco":1}]}],"base":""},"sequencing":[{"id":"id382584","rollupObjectiveSatisfied":false,"foreignId":6359},{"id":"id382558","choice":false,"flow":true,"rollupObjectiveSatisfied":false,"foreignId":6360},{"id":"id382538","choice":false,"flow":true,"rollupObjectiveSatisfied":false,"foreignId":6361},{"id":"id382425","choice":false,"flow":true,"rollupObjectiveSatisfied":false,"foreignId":6362},{"id":"id382240","choice":false,"flow":true,"foreignId":6363,"rule":[{"type":"rollup","action":"completed","foreignId":6364,"condition":[{"condition":"attempted","foreignId":6365}]}],"objective":[{"primary":true,"objectiveID":"","satisfiedByMeasure":true,"minNormalizedMeasure":0.6,"foreignId":6366}]},{"id":"id382106","choice":false,"flow":true,"foreignId":6367,"rule":[{"type":"exit","action":"exit","foreignId":6368,"condition":[{"condition":"completed","foreignId":6369}]},{"type":"rollup","action":"satisfied","foreignId":6370,"condition":[{"condition":"satisfied","foreignId":6371}]},{"type":"rollup","childActivitySet":"any","action":"notSatisfied","foreignId":6372,"condition":[{"condition":"satisfied","operator":"not","foreignId":6373}]}]}],"base":"./data/il_scorm2004/lm_data/lm_253/","foreignId":6173,"id":"photo-MANIFEST-linear"}', '0', '253', '0', '', ' - -'); -INSERT INTO cp_package VALUES ('0', '', '{"item":{"id":"TOC1","title":"Photoshop Example -- Linear Controls","sequencingId":"id383665","foreignId":6375,"item":[{"id":"INTRO","title":"Introduction","sequencingId":"id384142","foreignId":6376,"href":"intro.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":6377}]},{"id":"MODULE1","title":"Module 1 -- Basics","sequencingId":"id383693","foreignId":6378,"href":"Lesson1.htm","sco":1,"hideLMSUI":[{"value":"previous","foreignId":6379},{"value":"continue","foreignId":6380}]},{"id":"MODULE2","title":"Module 2 -- Enhancing Images","sequencingId":"id383741","foreignId":6381,"href":"Lesson5.htm","sco":1,"hideLMSUI":[{"value":"previous","foreignId":6382},{"value":"continue","foreignId":6383}]},{"id":"MODULE3","title":"Module 3 -- Blending Images","sequencingId":"id383789","foreignId":6384,"href":"Lesson8.htm","sco":1,"hideLMSUI":[{"value":"previous","foreignId":6385},{"value":"continue","foreignId":6386}]},{"id":"EXAM","title":"Exam","sequencingId":"id383606","foreignId":6387,"item":[{"id":"QUESTION1","title":"QUESTION 1","parameters":"main=Exam&sub=Question 1","foreignId":6388,"href":"Question1.htm","sco":1,"hideLMSUI":[{"value":"previous","foreignId":6389},{"value":"continue","foreignId":6390}]},{"id":"QUESTION2","title":"QUESTION 2","parameters":"main=Exam&sub=Question 2","foreignId":6391,"href":"Question2.htm","sco":1,"hideLMSUI":[{"value":"previous","foreignId":6392},{"value":"continue","foreignId":6393}]},{"id":"QUESTION3","title":"QUESTION 3","parameters":"main=Exam&sub=Question 3","foreignId":6394,"href":"Question3.htm","sco":1,"hideLMSUI":[{"value":"previous","foreignId":6395},{"value":"continue","foreignId":6396}]},{"id":"QUESTION4","title":"QUESTION 4","parameters":"main=Exam&sub=Question 4","foreignId":6397,"href":"Question4.htm","sco":1,"hideLMSUI":[{"value":"previous","foreignId":6398},{"value":"continue","foreignId":6399}]},{"id":"QUESTION5","title":"QUESTION 5","parameters":"main=Exam&sub=Question 5","foreignId":6400,"href":"Question5.htm","sco":1,"hideLMSUI":[{"value":"previous","foreignId":6401},{"value":"continue","foreignId":6402}]},{"id":"QUESTION6","title":"QUESTION 6","parameters":"main=Exam&sub=Question 6","foreignId":6403,"href":"Question6.htm","sco":1,"hideLMSUI":[{"value":"previous","foreignId":6404},{"value":"continue","foreignId":6405}]},{"id":"QUESTION7","title":"QUESTION 7","parameters":"main=Exam&sub=Question 7","foreignId":6406,"href":"Question7.htm","sco":1,"hideLMSUI":[{"value":"previous","foreignId":6407},{"value":"continue","foreignId":6408}]},{"id":"QUESTION8","title":"QUESTION 8","parameters":"main=Exam&sub=Question 8","foreignId":6409,"href":"Question8.htm","sco":1,"hideLMSUI":[{"value":"previous","foreignId":6410},{"value":"continue","foreignId":6411}]},{"id":"QUESTION9","title":"QUESTION 9","parameters":"main=Exam&sub=Question 9","foreignId":6412,"href":"Question9.htm","sco":1,"hideLMSUI":[{"value":"previous","foreignId":6413},{"value":"continue","foreignId":6414}]}]}],"base":""},"sequencing":[{"id":"id384142","rollupObjectiveSatisfied":false,"foreignId":6587},{"id":"id383693","choice":false,"flow":true,"rollupObjectiveSatisfied":false,"foreignId":6588},{"id":"id383741","choice":false,"flow":true,"rollupObjectiveSatisfied":false,"foreignId":6589},{"id":"id383789","choice":false,"flow":true,"rollupObjectiveSatisfied":false,"foreignId":6590},{"id":"id383606","choice":false,"flow":true,"foreignId":6591,"rule":[{"type":"rollup","action":"completed","foreignId":6592,"condition":[{"condition":"attempted","foreignId":6593}]}],"objective":[{"primary":true,"objectiveID":"PRIMARYOBJ","satisfiedByMeasure":true,"minNormalizedMeasure":0.6,"foreignId":6594}]},{"id":"id383665","choice":false,"flow":true,"foreignId":6595,"rule":[{"type":"exit","action":"exit","foreignId":6596,"condition":[{"condition":"completed","foreignId":6597}]},{"type":"rollup","action":"satisfied","foreignId":6598,"condition":[{"condition":"satisfied","foreignId":6599}]},{"type":"rollup","childActivitySet":"any","action":"notSatisfied","foreignId":6600,"condition":[{"condition":"satisfied","operator":"not","foreignId":6601}]}]}],"base":"./data/il_scorm2004/lm_data/lm_279/","foreignId":6374,"id":"photo-MANIFEST-linear-controls"}', '0', '279', '0', '', ' - -'); -INSERT INTO cp_package VALUES ('0', '', '{"item":{"id":"TOC1","title":"Photoshop Example -- Linear Controls","sequencingId":"id383785","foreignId":6603,"item":[{"id":"INTRO","title":"Introduction","sequencingId":"id384077","foreignId":6604,"href":"intro.htm","sco":1,"hideLMSUI":[{"value":"continue","foreignId":6605}]},{"id":"MODULE1","title":"Module 1 -- Basics","sequencingId":"id384117","foreignId":6606,"href":"Lesson1.htm","sco":1,"hideLMSUI":[{"value":"previous","foreignId":6607},{"value":"continue","foreignId":6608}]},{"id":"MODULE2","title":"Module 2 -- Enhancing Images","sequencingId":"id383992","foreignId":6609,"href":"Lesson5.htm","sco":1,"hideLMSUI":[{"value":"previous","foreignId":6610},{"value":"continue","foreignId":6611}]},{"id":"MODULE3","title":"Module 3 -- Blending Images","sequencingId":"id384048","foreignId":6612,"href":"Lesson8.htm","sco":1,"hideLMSUI":[{"value":"previous","foreignId":6613},{"value":"continue","foreignId":6614}]},{"id":"EXAM","title":"Exam","sequencingId":"id383725","foreignId":6615,"item":[{"id":"QUESTION1","title":"QUESTION 1","parameters":"main=Exam&sub=Question 1","foreignId":6616,"href":"Question1.htm","sco":1,"hideLMSUI":[{"value":"previous","foreignId":6617},{"value":"continue","foreignId":6618}]},{"id":"QUESTION2","title":"QUESTION 2","parameters":"main=Exam&sub=Question 2","foreignId":6619,"href":"Question2.htm","sco":1,"hideLMSUI":[{"value":"previous","foreignId":6620},{"value":"continue","foreignId":6621}]},{"id":"QUESTION3","title":"QUESTION 3","parameters":"main=Exam&sub=Question 3","foreignId":6622,"href":"Question3.htm","sco":1,"hideLMSUI":[{"value":"previous","foreignId":6623},{"value":"continue","foreignId":6624}]},{"id":"QUESTION4","title":"QUESTION 4","parameters":"main=Exam&sub=Question 4","foreignId":6625,"href":"Question4.htm","sco":1,"hideLMSUI":[{"value":"previous","foreignId":6626},{"value":"continue","foreignId":6627}]},{"id":"QUESTION5","title":"QUESTION 5","parameters":"main=Exam&sub=Question 5","foreignId":6628,"href":"Question5.htm","sco":1,"hideLMSUI":[{"value":"previous","foreignId":6629},{"value":"continue","foreignId":6630}]},{"id":"QUESTION6","title":"QUESTION 6","parameters":"main=Exam&sub=Question 6","foreignId":6631,"href":"Question6.htm","sco":1,"hideLMSUI":[{"value":"previous","foreignId":6632},{"value":"continue","foreignId":6633}]},{"id":"QUESTION7","title":"QUESTION 7","parameters":"main=Exam&sub=Question 7","foreignId":6634,"href":"Question7.htm","sco":1,"hideLMSUI":[{"value":"previous","foreignId":6635},{"value":"continue","foreignId":6636}]},{"id":"QUESTION8","title":"QUESTION 8","parameters":"main=Exam&sub=Question 8","foreignId":6637,"href":"Question8.htm","sco":1,"hideLMSUI":[{"value":"previous","foreignId":6638},{"value":"continue","foreignId":6639}]},{"id":"QUESTION9","title":"QUESTION 9","parameters":"main=Exam&sub=Question 9","foreignId":6640,"href":"Question9.htm","sco":1,"hideLMSUI":[{"value":"previous","foreignId":6641},{"value":"continue","foreignId":6642}]}]}],"base":""},"sequencing":[{"id":"id384077","rollupObjectiveSatisfied":false,"foreignId":6815},{"id":"id384117","choice":false,"flow":true,"rollupObjectiveSatisfied":false,"foreignId":6816},{"id":"id383992","choice":false,"flow":true,"rollupObjectiveSatisfied":false,"foreignId":6817},{"id":"id384048","choice":false,"flow":true,"rollupObjectiveSatisfied":false,"foreignId":6818},{"id":"id383725","choice":false,"flow":true,"foreignId":6819,"rule":[{"type":"rollup","action":"completed","foreignId":6820,"condition":[{"condition":"attempted","foreignId":6821}]}],"objective":[{"primary":true,"objectiveID":"PRIMARYOBJ","satisfiedByMeasure":true,"minNormalizedMeasure":0.6,"foreignId":6822}]},{"id":"id383785","choice":false,"flow":true,"foreignId":6823,"rule":[{"type":"exit","action":"exit","foreignId":6824,"condition":[{"condition":"completed","foreignId":6825}]},{"type":"rollup","action":"satisfied","foreignId":6826,"condition":[{"condition":"satisfied","foreignId":6827}]},{"type":"rollup","childActivitySet":"any","action":"notSatisfied","foreignId":6828,"condition":[{"condition":"satisfied","operator":"not","foreignId":6829}]}]}],"base":"./data/il_scorm2004/lm_data/lm_280/","foreignId":6602,"id":"photo-MANIFEST-linear-controls"}', '0', '280', '0', '', ' - -'); -INSERT INTO cp_package VALUES ('0', '', '{"item":{"id":"organization_294673fbf63c4815b45af1651480864c","title":"ILIAS for Admins","sequencingId":"sequencing_c9c0a2a07aaf4c4d987e7c1cc90de4da","foreignId":6831,"item":[{"id":"item_8017380e67384e13b735d16511a6c149","title":"Vorabtest","sequencingId":"id381365","foreignId":6832,"href":"e78a86fa23ee48f7a94b940d215c2d61.scorm.html","sco":1},{"id":"item_e4a9c7851c114760b2a3f03e892b5427","title":"Authentifizierung","sequencingId":"id381502","foreignId":6833,"item":[{"id":"item_df1cb952695841938519b1b77d7fc5b6","title":"Hidden Cluster Item","isvisible":false,"sequencingId":"id380310","foreignId":6834,"item":[{"id":"item_8ebe0745ffe24bffa2ceba3682c6f7ec","title":"Authentifizierung 1 ","sequencingId":"sequencing_c9c0a2a07aaf4c4d987e7c1cc90de4da","foreignId":6835,"href":"02d2c79bc48441859c3f00f5ec2540c5.scorm.html","sco":1},{"id":"item_3bf16927a417469293bd176b23bf5cb4","title":"Authentifizerung 2 ","sequencingId":"sequencing_c9c0a2a07aaf4c4d987e7c1cc90de4da","foreignId":6836,"href":"f5390ebc083c438fb67aa56b67780cff.scorm.html","sco":1},{"id":"item_366683108e61443b911f86a36cfd3ce6","title":"Authentifizierung Nachtest","sequencingId":"sequencing_c9c0a2a07aaf4c4d987e7c1cc90de4da","foreignId":6837,"href":"c69a680963fd4ba9803d03b60fa363e8.scorm.html","sco":1},{"id":"item_a0dc6a3eb9714bb2bd7e322087a41b12","title":"Sequence Cap","isvisible":false,"sequencingId":"id380281","foreignId":6838,"href":"SequenceCap.html","sco":1}]},{"id":"item_1ff77533d4084fb9aebf21d3a2154492","title":"Sequence Cap","isvisible":false,"sequencingId":"id381473","foreignId":6839,"href":"SequenceCap.html","sco":1}]},{"id":"item_f321b6f642f04739ae001cb659321fd8","title":"Deployment","sequencingId":"id381269","foreignId":6840,"item":[{"id":"item_55d6e1ad8c0a44f3b27f6bb825f30c61","title":"Nachhilfe zum Deployment","sequencingId":"id381312","foreignId":6841,"href":"1b175b9aa5b441f7ad4a06cb9e989a76.scorm.html","sco":1},{"id":"item_6da130defc4a403b8176bcdeb495a3ac","title":"Deployment I ","sequencingId":"sequencing_c9c0a2a07aaf4c4d987e7c1cc90de4da","foreignId":6842,"href":"776fec1461844972b0ee5615f86b479b.scorm.html","sco":1},{"id":"item_c792f8ad0c0e45bb855c3887e5720565","title":"Sequence Cap","isvisible":false,"sequencingId":"id381240","foreignId":6843,"href":"SequenceCap.html","sco":1}]},{"id":"item_8c3a716431ce4514b7ba93400f9f61e6","title":"Ende","sequencingId":"sequencing_c9c0a2a07aaf4c4d987e7c1cc90de4da","foreignId":6844,"href":"5de0f6934391493f859f0323f21e6fb3.scorm.html","sco":1}],"base":""},"sequencing":[{"id":"id381365","sequencingId":"sequencing_c9c0a2a07aaf4c4d987e7c1cc90de4da","choiceExit":false,"foreignId":6899},{"id":"id380281","foreignId":6900,"rule":[{"type":"post","action":"exitParent","foreignId":6901,"condition":[{"condition":"always","foreignId":6902}]}]},{"id":"id380310","sequencingId":"sequencing_c9c0a2a07aaf4c4d987e7c1cc90de4da","attemptLimit":0,"foreignId":6903,"rule":[{"type":"post","action":"retry","foreignId":6904,"condition":[{"referencedObjective":"201c0fcdbe99495ebabe81ec93e19736","measureThreshold":0.66,"condition":"objectiveMeasureLessThan","foreignId":6905}]}]},{"id":"id381473","foreignId":6906,"rule":[{"type":"post","action":"exitParent","foreignId":6907,"condition":[{"condition":"always","foreignId":6908}]}]},{"id":"id381502","sequencingId":"sequencing_c9c0a2a07aaf4c4d987e7c1cc90de4da","foreignId":6909,"rule":[{"type":"pre","action":"skip","foreignId":6910,"condition":[{"referencedObjective":"b75d9d2755344021b906853aea56f52f","measureThreshold":0.75,"operator":"not","condition":"objectiveMeasureLessThan","foreignId":6911}]}]},{"id":"id381312","sequencingId":"sequencing_c9c0a2a07aaf4c4d987e7c1cc90de4da","foreignId":6912,"rule":[{"type":"pre","action":"skip","foreignId":6913,"condition":[{"referencedObjective":"1d622cc0b1a547019354abfbef60c303","measureThreshold":0.5,"operator":"not","condition":"objectiveMeasureGreaterThan","foreignId":6914},{"referencedObjective":"1d622cc0b1a547019354abfbef60c303","measureThreshold":0.5,"operator":"not","condition":"objectiveMeasureLessThan","foreignId":6915}]}]},{"id":"id381240","foreignId":6916,"rule":[{"type":"post","action":"exitParent","foreignId":6917,"condition":[{"condition":"always","foreignId":6918}]}]},{"id":"id381269","sequencingId":"sequencing_c9c0a2a07aaf4c4d987e7c1cc90de4da","foreignId":6919,"rule":[{"type":"pre","action":"skip","foreignId":6920,"condition":[{"referencedObjective":"1d622cc0b1a547019354abfbef60c303","measureThreshold":1,"operator":"not","condition":"objectiveMeasureGreaterThan","foreignId":6921},{"referencedObjective":"1d622cc0b1a547019354abfbef60c303","measureThreshold":1,"operator":"not","condition":"objectiveMeasureLessThan","foreignId":6922}]}]},{"id":"sequencing_c9c0a2a07aaf4c4d987e7c1cc90de4da","flow":true,"foreignId":6923,"objective":[{"primary":true,"objectiveID":"","foreignId":6924},{"primary":false,"objectiveID":"b75d9d2755344021b906853aea56f52f","minNormalizedMeasure":0,"foreignId":6925,"mapInfo":[{"targetObjectiveID":"b75d9d2755344021b906853aea56f52f","writeSatisfiedStatus":true,"writeNormalizedMeasure":true,"foreignId":6926}]},{"primary":false,"objectiveID":"1d622cc0b1a547019354abfbef60c303","minNormalizedMeasure":0,"foreignId":6927,"mapInfo":[{"targetObjectiveID":"1d622cc0b1a547019354abfbef60c303","writeSatisfiedStatus":true,"writeNormalizedMeasure":true,"foreignId":6928}]},{"primary":false,"objectiveID":"201c0fcdbe99495ebabe81ec93e19736","minNormalizedMeasure":0,"foreignId":6929,"mapInfo":[{"targetObjectiveID":"201c0fcdbe99495ebabe81ec93e19736","writeSatisfiedStatus":true,"writeNormalizedMeasure":true,"foreignId":6930}]}]}],"base":"./data/il_scorm2004/lm_data/lm_281/","foreignId":6830,"id":"manifest_5fdcd2e25838459c9bc3cee758cf4e5c"}', '0', '281', '0', '', ' - -'); -INSERT INTO cp_package VALUES ('0', '', '{"item":{"id":"organization_294673fbf63c4815b45af1651480864c","title":"ILIAS for Admins","sequencingId":"sequencing_c9c0a2a07aaf4c4d987e7c1cc90de4da","foreignId":6932,"item":[{"id":"item_8017380e67384e13b735d16511a6c149","title":"Vorabtest","sequencingId":"id382028","foreignId":6933,"href":"e78a86fa23ee48f7a94b940d215c2d61.scorm.html","sco":1},{"id":"item_e4a9c7851c114760b2a3f03e892b5427","title":"Authentifizierung","sequencingId":"id381884","foreignId":6934,"item":[{"id":"item_df1cb952695841938519b1b77d7fc5b6","title":"Hidden Cluster Item","isvisible":false,"sequencingId":"id382072","foreignId":6935,"item":[{"id":"item_8ebe0745ffe24bffa2ceba3682c6f7ec","title":"Authentifizierung 1 ","sequencingId":"sequencing_c9c0a2a07aaf4c4d987e7c1cc90de4da","foreignId":6936,"href":"02d2c79bc48441859c3f00f5ec2540c5.scorm.html","sco":1},{"id":"item_3bf16927a417469293bd176b23bf5cb4","title":"Authentifizerung 2 ","sequencingId":"sequencing_c9c0a2a07aaf4c4d987e7c1cc90de4da","foreignId":6937,"href":"f5390ebc083c438fb67aa56b67780cff.scorm.html","sco":1},{"id":"item_366683108e61443b911f86a36cfd3ce6","title":"Authentifizierung Nachtest","sequencingId":"sequencing_c9c0a2a07aaf4c4d987e7c1cc90de4da","foreignId":6938,"href":"c69a680963fd4ba9803d03b60fa363e8.scorm.html","sco":1},{"id":"item_a0dc6a3eb9714bb2bd7e322087a41b12","title":"Sequence Cap","isvisible":false,"sequencingId":"id382139","foreignId":6939,"href":"SequenceCap.html","sco":1}]},{"id":"item_1ff77533d4084fb9aebf21d3a2154492","title":"Sequence Cap","isvisible":false,"sequencingId":"id381856","foreignId":6940,"href":"SequenceCap.html","sco":1}]},{"id":"item_f321b6f642f04739ae001cb659321fd8","title":"Deployment","sequencingId":"id381696","foreignId":6941,"item":[{"id":"item_55d6e1ad8c0a44f3b27f6bb825f30c61","title":"Nachhilfe zum Deployment","sequencingId":"id381946","foreignId":6942,"href":"1b175b9aa5b441f7ad4a06cb9e989a76.scorm.html","sco":1},{"id":"item_6da130defc4a403b8176bcdeb495a3ac","title":"Deployment I ","sequencingId":"sequencing_c9c0a2a07aaf4c4d987e7c1cc90de4da","foreignId":6943,"href":"776fec1461844972b0ee5615f86b479b.scorm.html","sco":1},{"id":"item_c792f8ad0c0e45bb855c3887e5720565","title":"Sequence Cap","isvisible":false,"sequencingId":"id381668","foreignId":6944,"href":"SequenceCap.html","sco":1}]},{"id":"item_8c3a716431ce4514b7ba93400f9f61e6","title":"Ende","sequencingId":"sequencing_c9c0a2a07aaf4c4d987e7c1cc90de4da","foreignId":6945,"href":"5de0f6934391493f859f0323f21e6fb3.scorm.html","sco":1}],"base":""},"sequencing":[{"id":"id382028","sequencingId":"sequencing_c9c0a2a07aaf4c4d987e7c1cc90de4da","choiceExit":false,"foreignId":7000},{"id":"id382139","foreignId":7001,"rule":[{"type":"post","action":"exitParent","foreignId":7002,"condition":[{"condition":"always","foreignId":7003}]}]},{"id":"id382072","sequencingId":"sequencing_c9c0a2a07aaf4c4d987e7c1cc90de4da","attemptLimit":0,"foreignId":7004,"rule":[{"type":"post","action":"retry","foreignId":7005,"condition":[{"referencedObjective":"201c0fcdbe99495ebabe81ec93e19736","measureThreshold":0.66,"condition":"objectiveMeasureLessThan","foreignId":7006}]}]},{"id":"id381856","foreignId":7007,"rule":[{"type":"post","action":"exitParent","foreignId":7008,"condition":[{"condition":"always","foreignId":7009}]}]},{"id":"id381884","sequencingId":"sequencing_c9c0a2a07aaf4c4d987e7c1cc90de4da","foreignId":7010,"rule":[{"type":"pre","action":"skip","foreignId":7011,"condition":[{"referencedObjective":"b75d9d2755344021b906853aea56f52f","measureThreshold":0.75,"operator":"not","condition":"objectiveMeasureLessThan","foreignId":7012}]}]},{"id":"id381946","sequencingId":"sequencing_c9c0a2a07aaf4c4d987e7c1cc90de4da","foreignId":7013,"rule":[{"type":"pre","action":"skip","foreignId":7014,"condition":[{"referencedObjective":"1d622cc0b1a547019354abfbef60c303","measureThreshold":0.5,"operator":"not","condition":"objectiveMeasureGreaterThan","foreignId":7015},{"referencedObjective":"1d622cc0b1a547019354abfbef60c303","measureThreshold":0.5,"operator":"not","condition":"objectiveMeasureLessThan","foreignId":7016}]}]},{"id":"id381668","foreignId":7017,"rule":[{"type":"post","action":"exitParent","foreignId":7018,"condition":[{"condition":"always","foreignId":7019}]}]},{"id":"id381696","sequencingId":"sequencing_c9c0a2a07aaf4c4d987e7c1cc90de4da","foreignId":7020,"rule":[{"type":"pre","action":"skip","foreignId":7021,"condition":[{"referencedObjective":"1d622cc0b1a547019354abfbef60c303","measureThreshold":1,"operator":"not","condition":"objectiveMeasureGreaterThan","foreignId":7022},{"referencedObjective":"1d622cc0b1a547019354abfbef60c303","measureThreshold":1,"operator":"not","condition":"objectiveMeasureLessThan","foreignId":7023}]}]},{"id":"sequencing_c9c0a2a07aaf4c4d987e7c1cc90de4da","flow":true,"foreignId":7024,"objective":[{"primary":true,"objectiveID":"","foreignId":7025},{"primary":false,"objectiveID":"b75d9d2755344021b906853aea56f52f","minNormalizedMeasure":0,"foreignId":7026,"mapInfo":[{"targetObjectiveID":"b75d9d2755344021b906853aea56f52f","writeSatisfiedStatus":true,"writeNormalizedMeasure":true,"foreignId":7027}]},{"primary":false,"objectiveID":"1d622cc0b1a547019354abfbef60c303","minNormalizedMeasure":0,"foreignId":7028,"mapInfo":[{"targetObjectiveID":"1d622cc0b1a547019354abfbef60c303","writeSatisfiedStatus":true,"writeNormalizedMeasure":true,"foreignId":7029}]},{"primary":false,"objectiveID":"201c0fcdbe99495ebabe81ec93e19736","minNormalizedMeasure":0,"foreignId":7030,"mapInfo":[{"targetObjectiveID":"201c0fcdbe99495ebabe81ec93e19736","writeSatisfiedStatus":true,"writeNormalizedMeasure":true,"foreignId":7031}]}]}],"base":"./data/il_scorm2004/lm_data/lm_283/","foreignId":6931,"id":"manifest_5fdcd2e25838459c9bc3cee758cf4e5c"}', '0', '283', '0', '', ' - -'); -INSERT INTO cp_package VALUES ('0', '', '{"item":{"id":"blabla","title":"Human Trafficking: Causes, Consequences, Counter-Strategies","foreignId":7033,"item":[{"id":"u1","title":"Learning Objects","foreignId":7034,"item":[{"id":"OSCO1","title":"Types of Human Trafficking","foreignId":7035,"href":"./scos/1/index.html","sco":1},{"id":"OSCO2","title":"The History of Human Trafficking","foreignId":7036,"href":"./scos/2/index.html","sco":1},{"id":"OSCO3","title":"Causes of Human Trafficking","foreignId":7037,"href":"./scos/3/index.html","sco":1},{"id":"OSCO4","title":"Consequences of Human Trafficking","foreignId":7038,"href":"./scos/4/index.html","sco":1},{"id":"OSCO5","title":"Strategies against Human Trafficking","foreignId":7039,"href":"./scos/5/index.html","sco":1},{"id":"OSCO6","title":"Challenges to Counter-Trafficking Efforts","foreignId":7040,"href":"./scos/6/index.html","sco":1},{"id":"OSCO7","title":"Human Trafficking: Causes, Consequences, and Counter-Strategies","foreignId":7041,"href":"./scos/7/index.html","sco":1}]}],"base":""},"base":"./data/il_scorm2004/lm_data/lm_284/","foreignId":7032,"id":"pfplms-70633"}', '0', '284', '0', '', ' - -'); -# -------------------------------------------------------- - - -# -# Dumping data for table: cp_resource -# -INSERT INTO cp_resource VALUES ('resources/', '9', 'AssetLaunchTest.htm', 'ASSETLAUNCH01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('resources/', '16', 'APIRTETest1.htm', 'APIRTE01', 'sco', 'webcontent'); -INSERT INTO cp_resource VALUES ('resources/', '23', 'APIRTETest2.htm', 'APIRTE02', 'sco', 'webcontent'); -INSERT INTO cp_resource VALUES ('common/', '30', '', 'JAR01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '32', '', 'ABOUT01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '34', '', 'EMULATION01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '37', '', 'BROWSERDETECT01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '39', '', 'LMSFNCTS01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '41', '', 'LMSINCLUDE', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('resources/', '51', 'AssetLaunchTest.htm', 'ASSETLAUNCH01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('resources/', '58', 'APIRTETest1.htm', 'APIRTE01', 'sco', 'webcontent'); -INSERT INTO cp_resource VALUES ('resources/', '65', 'APIRTETest2.htm', 'APIRTE02', 'sco', 'webcontent'); -INSERT INTO cp_resource VALUES ('common/', '72', '', 'JAR01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '74', '', 'ABOUT01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '76', '', 'EMULATION01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '79', '', 'BROWSERDETECT01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '81', '', 'LMSFNCTS01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '83', '', 'LMSINCLUDE', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('resources/', '99', 'SequencingTest.htm', 'SEQ01', 'sco', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '106', '', 'LMSFNCTS01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('common/', '108', '', 'JAR01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '110', '', 'ABOUT01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '112', '', 'EMULATION01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '115', '', 'BROWSERDETECT01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '117', '', 'LMSINCLUDE', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('resources/', '130', 'SequencingTest.htm', 'SEQ01', 'sco', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '137', '', 'LMSFNCTS01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('common/', '139', '', 'JAR01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '141', '', 'ABOUT01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '143', '', 'EMULATION01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '146', '', 'BROWSERDETECT01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '148', '', 'LMSINCLUDE', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('resources/', '171', 'SequencingTest.htm', 'SEQ01', 'sco', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '178', '', 'LMSFNCTS01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('common/', '180', '', 'JAR01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '182', '', 'ABOUT01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '184', '', 'EMULATION01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '187', '', 'BROWSERDETECT01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '189', '', 'LMSINCLUDE', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('resources/', '215', 'SequencingTest.htm', 'SEQ01', 'sco', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '222', '', 'LMSFNCTS01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('common/', '224', '', 'JAR01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '226', '', 'ABOUT01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '228', '', 'EMULATION01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '231', '', 'BROWSERDETECT01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '233', '', 'LMSINCLUDE', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('resources/', '287', 'SequencingTest.htm', 'SEQ01', 'sco', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '294', '', 'LMSFNCTS01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('common/', '296', '', 'JAR01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '298', '', 'ABOUT01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '300', '', 'EMULATION01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '303', '', 'BROWSERDETECT01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '305', '', 'LMSINCLUDE', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('resources/', '379', 'SequencingTest.htm', 'SEQ01', 'sco', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '386', '', 'LMSFNCTS01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('common/', '388', '', 'JAR01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '390', '', 'ABOUT01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '392', '', 'EMULATION01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '395', '', 'BROWSERDETECT01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '397', '', 'LMSINCLUDE', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('resources/', '417', 'SequencingTest.htm', 'SEQ01', 'sco', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '424', '', 'LMSFNCTS01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('common/', '426', '', 'JAR01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '428', '', 'ABOUT01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '430', '', 'EMULATION01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '433', '', 'BROWSERDETECT01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '435', '', 'LMSINCLUDE', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('resources/', '490', 'SequencingTest.htm', 'SEQ01', 'sco', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '497', '', 'LMSFNCTS01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('common/', '499', '', 'JAR01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '501', '', 'ABOUT01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '503', '', 'EMULATION01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '506', '', 'BROWSERDETECT01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '508', '', 'LMSINCLUDE', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('resources/', '562', 'SequencingTest.htm', 'SEQ01', 'sco', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '569', '', 'LMSFNCTS01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('common/', '571', '', 'JAR01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '573', '', 'ABOUT01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '575', '', 'EMULATION01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '578', '', 'BROWSERDETECT01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '580', '', 'LMSINCLUDE', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('resources/', '615', 'SequencingTest.htm', 'SEQ01', 'sco', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '622', '', 'LMSFNCTS01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('common/', '624', '', 'JAR01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '626', '', 'ABOUT01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '628', '', 'EMULATION01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '631', '', 'BROWSERDETECT01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '633', '', 'LMSINCLUDE', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('resources/', '652', 'SequencingTest.htm', 'SEQ01', 'sco', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '659', '', 'LMSFNCTS01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('common/', '661', '', 'JAR01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '663', '', 'ABOUT01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '665', '', 'EMULATION01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '668', '', 'BROWSERDETECT01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '670', '', 'LMSINCLUDE', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('resources/', '689', 'SequencingTestFail.htm', 'Seq01', 'sco', 'webcontent'); -INSERT INTO cp_resource VALUES ('resources/', '696', 'SequencingTest.htm', 'SEQ01', 'sco', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '703', '', 'LMSFNCTS01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('common/', '705', '', 'JAR01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '707', '', 'ABOUT01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '709', '', 'EMULATION01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '712', '', 'BROWSERDETECT01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '714', '', 'LMSINCLUDE', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('resources/', '752', 'SequencingTest.htm', 'SEQ01', 'sco', 'webcontent'); -INSERT INTO cp_resource VALUES ('resources/', '759', 'SequencingTestFail.htm', 'Seq01', 'sco', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '766', '', 'LMSFNCTS01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('common/', '768', '', 'JAR01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '770', '', 'ABOUT01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '772', '', 'EMULATION01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '775', '', 'BROWSERDETECT01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '777', '', 'LMSINCLUDE', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('resources/', '817', 'SequencingTest.htm', 'SEQ01', 'sco', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '824', '', 'LMSFNCTS01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('common/', '826', '', 'JAR01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '828', '', 'ABOUT01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '830', '', 'EMULATION01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '833', '', 'BROWSERDETECT01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '835', '', 'LMSINCLUDE', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('resources/', '874', 'SequencingTest.htm', 'SEQ01', 'sco', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '881', '', 'LMSFNCTS01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('common/', '883', '', 'JAR01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '885', '', 'ABOUT01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '887', '', 'EMULATION01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '890', '', 'BROWSERDETECT01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '892', '', 'LMSINCLUDE', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('resources/', '910', 'SequencingTest.htm', 'SEQ01', 'sco', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '917', '', 'LMSFNCTS01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('common/', '919', '', 'JAR01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '921', '', 'ABOUT01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '923', '', 'EMULATION01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '926', '', 'BROWSERDETECT01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '928', '', 'LMSINCLUDE', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('resources/', '941', 'SequencingTest.htm', 'SEQ01', 'sco', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '948', '', 'LMSFNCTS01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('common/', '950', '', 'JAR01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '952', '', 'ABOUT01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '954', '', 'EMULATION01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '957', '', 'BROWSERDETECT01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '959', '', 'LMSINCLUDE', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('resources/', '969', 'SequencingTest.htm', 'SEQ01', 'sco', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '976', '', 'LMSFNCTS01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('common/', '978', '', 'JAR01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '980', '', 'ABOUT01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '982', '', 'EMULATION01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '985', '', 'BROWSERDETECT01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '987', '', 'LMSINCLUDE', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('resources/', '1014', 'DMBehaviorTest1.htm', 'DMBEHAVIOR01', 'sco', 'webcontent'); -INSERT INTO cp_resource VALUES ('resources/', '1021', 'DMBehaviorTest2.htm', 'DMBEHAVIOR02', 'sco', 'webcontent'); -INSERT INTO cp_resource VALUES ('resources/', '1028', 'DMBehaviorTest3.htm', 'DMBEHAVIOR03', 'sco', 'webcontent'); -INSERT INTO cp_resource VALUES ('resources/', '1035', 'DMBehaviorTest4.htm', 'DMBEHAVIOR04', 'sco', 'webcontent'); -INSERT INTO cp_resource VALUES ('resources/', '1042', 'DMBehaviorTest5.htm', 'DMBEHAVIOR05', 'sco', 'webcontent'); -INSERT INTO cp_resource VALUES ('resources/', '1049', 'DMBehaviorTest6.htm', 'DMBEHAVIOR06', 'sco', 'webcontent'); -INSERT INTO cp_resource VALUES ('resources/', '1056', 'DMBehaviorTest7.htm', 'DMBEHAVIOR07', 'sco', 'webcontent'); -INSERT INTO cp_resource VALUES ('resources/', '1063', 'DMBehaviorTest8.htm', 'DMBEHAVIOR08', 'sco', 'webcontent'); -INSERT INTO cp_resource VALUES ('resources/', '1070', 'DMBehaviorTest9.htm', 'DMBEHAVIOR09', 'sco', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '1077', '', 'LMSFNCTS01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('common/', '1079', '', 'JAR01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '1081', '', 'ABOUT01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '1083', '', 'EMULATION01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '1086', '', 'BROWSERDETECT01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '1088', '', 'LMSINCLUDE', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('resources/', '1112', 'DMImplementationTest1.htm', 'DMIMPLEMENTATION01', 'sco', 'webcontent'); -INSERT INTO cp_resource VALUES ('resources/', '1119', 'DMImplementationTest2.htm', 'DMIMPLEMENTATION02', 'sco', 'webcontent'); -INSERT INTO cp_resource VALUES ('resources/', '1126', 'DMImplementationTest3.htm', 'DMIMPLEMENTATION03', 'sco', 'webcontent'); -INSERT INTO cp_resource VALUES ('resources/', '1133', 'DMImplementationTest4.htm', 'DMIMPLEMENTATION04', 'sco', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '1140', '', 'LMSFNCTS01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('common/', '1142', '', 'JAR01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '1144', '', 'ABOUT01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '1146', '', 'EMULATION01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '1149', '', 'BROWSERDETECT01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '1151', '', 'LMSINCLUDE', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('resources/', '1176', 'SequencingTest.htm', 'SEQ01', 'sco', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '1183', '', 'LMSFNCTS01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('common/', '1185', '', 'JAR01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '1187', '', 'ABOUT01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '1189', '', 'EMULATION01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '1192', '', 'BROWSERDETECT01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '1194', '', 'LMSINCLUDE', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('resources/', '1224', 'SequencingTest.htm', 'SEQ01', 'sco', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '1231', '', 'LMSFNCTS01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('common/', '1233', '', 'JAR01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '1235', '', 'ABOUT01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '1237', '', 'EMULATION01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '1240', '', 'BROWSERDETECT01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '1242', '', 'LMSINCLUDE', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('resources/', '1274', 'SequencingTest.htm', 'SEQ01', 'sco', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '1281', '', 'LMSFNCTS01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('common/', '1283', '', 'JAR01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '1285', '', 'ABOUT01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '1287', '', 'EMULATION01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '1290', '', 'BROWSERDETECT01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '1292', '', 'LMSINCLUDE', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('resources/', '1309', 'SequencingTest.htm', 'SEQ01', 'sco', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '1316', '', 'LMSFNCTS01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('common/', '1318', '', 'JAR01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '1320', '', 'ABOUT01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '1322', '', 'EMULATION01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '1325', '', 'BROWSERDETECT01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '1327', '', 'LMSINCLUDE', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('resources/', '1343', 'SequencingTest.htm', 'SEQ01', 'sco', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '1350', '', 'LMSFNCTS01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('common/', '1352', '', 'JAR01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '1354', '', 'ABOUT01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '1356', '', 'EMULATION01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '1359', '', 'BROWSERDETECT01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '1361', '', 'LMSINCLUDE', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('resources/', '1394', 'SequencingTest.htm', 'SEQ01', 'sco', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '1401', '', 'LMSFNCTS01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('common/', '1403', '', 'JAR01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '1405', '', 'ABOUT01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '1407', '', 'EMULATION01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '1410', '', 'BROWSERDETECT01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '1412', '', 'LMSINCLUDE', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('resources/', '1445', 'SequencingTest.htm', 'SEQ01', 'sco', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '1452', '', 'LMSFNCTS01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('common/', '1454', '', 'JAR01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '1456', '', 'ABOUT01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '1458', '', 'EMULATION01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '1461', '', 'BROWSERDETECT01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '1463', '', 'LMSINCLUDE', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('resources/', '1489', 'SequencingTest.htm', 'SEQ01', 'sco', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '1496', '', 'LMSFNCTS01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('common/', '1498', '', 'JAR01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '1500', '', 'ABOUT01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '1502', '', 'EMULATION01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '1505', '', 'BROWSERDETECT01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '1507', '', 'LMSINCLUDE', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('resources/', '1532', 'SequencingTest.htm', 'SEQ01', 'sco', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '1539', '', 'LMSFNCTS01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('common/', '1541', '', 'JAR01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '1543', '', 'ABOUT01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '1545', '', 'EMULATION01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '1548', '', 'BROWSERDETECT01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '1550', '', 'LMSINCLUDE', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('resources/', '1575', 'SequencingTest.htm', 'SEQ01', 'sco', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '1582', '', 'LMSFNCTS01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('common/', '1584', '', 'JAR01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '1586', '', 'ABOUT01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '1588', '', 'EMULATION01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '1591', '', 'BROWSERDETECT01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '1593', '', 'LMSINCLUDE', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('resources/', '1618', 'SequencingTest.htm', 'SEQ01', 'sco', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '1625', '', 'LMSFNCTS01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('common/', '1627', '', 'JAR01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '1629', '', 'ABOUT01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '1631', '', 'EMULATION01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '1634', '', 'BROWSERDETECT01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '1636', '', 'LMSINCLUDE', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('resources/', '1654', 'SequencingTest.htm', 'SEQ01', 'sco', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '1661', '', 'LMSFNCTS01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('common/', '1663', '', 'JAR01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '1665', '', 'ABOUT01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '1667', '', 'EMULATION01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '1670', '', 'BROWSERDETECT01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '1672', '', 'LMSINCLUDE', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('resources/', '1699', 'SequencingTest.htm', 'SEQ01', 'sco', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '1706', '', 'LMSFNCTS01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('common/', '1708', '', 'JAR01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '1710', '', 'ABOUT01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '1712', '', 'EMULATION01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '1715', '', 'BROWSERDETECT01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '1717', '', 'LMSINCLUDE', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('resources/', '1764', 'SequencingTest.htm', 'SEQ01', 'sco', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '1771', '', 'LMSFNCTS01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('common/', '1773', '', 'JAR01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '1775', '', 'ABOUT01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '1777', '', 'EMULATION01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '1780', '', 'BROWSERDETECT01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '1782', '', 'LMSINCLUDE', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('resources/', '1843', 'SequencingTest.htm', 'SEQ01', 'sco', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '1850', '', 'LMSFNCTS01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('common/', '1852', '', 'JAR01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '1854', '', 'ABOUT01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '1856', '', 'EMULATION01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '1859', '', 'BROWSERDETECT01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '1861', '', 'LMSINCLUDE', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('resources/', '1920', 'SequencingTest.htm', 'SEQ01', 'sco', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '1927', '', 'LMSFNCTS01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('common/', '1929', '', 'JAR01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '1931', '', 'ABOUT01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '1933', '', 'EMULATION01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '1936', '', 'BROWSERDETECT01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '1938', '', 'LMSINCLUDE', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('resources/', '1980', 'SequencingTest.htm', 'SEQ01', 'sco', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '1987', '', 'LMSFNCTS01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('common/', '1989', '', 'JAR01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '1991', '', 'ABOUT01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '1993', '', 'EMULATION01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '1996', '', 'BROWSERDETECT01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '1998', '', 'LMSINCLUDE', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('resources/', '2032', 'SequencingTest.htm', 'SEQ01', 'sco', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '2039', '', 'LMSFNCTS01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('common/', '2041', '', 'JAR01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '2043', '', 'ABOUT01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '2045', '', 'EMULATION01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '2048', '', 'BROWSERDETECT01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '2050', '', 'LMSINCLUDE', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('resources/', '2080', 'SequencingTest.htm', 'SEQ01', 'sco', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '2087', '', 'LMSFNCTS01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('common/', '2089', '', 'JAR01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '2091', '', 'ABOUT01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '2093', '', 'EMULATION01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '2096', '', 'BROWSERDETECT01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '2098', '', 'LMSINCLUDE', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('resources/', '2132', 'SequencingTest.htm', 'SEQ01', 'sco', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '2139', '', 'LMSFNCTS01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('common/', '2141', '', 'JAR01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '2143', '', 'ABOUT01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '2145', '', 'EMULATION01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '2148', '', 'BROWSERDETECT01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '2150', '', 'LMSINCLUDE', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('resources/', '2179', 'SequencingTest.htm', 'SEQ01', 'sco', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '2186', '', 'LMSFNCTS01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('common/', '2188', '', 'JAR01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '2190', '', 'ABOUT01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '2192', '', 'EMULATION01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '2195', '', 'BROWSERDETECT01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '2197', '', 'LMSINCLUDE', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('resources/', '2227', 'SequencingTest.htm', 'SEQ01', 'sco', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '2234', '', 'LMSFNCTS01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('common/', '2236', '', 'JAR01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '2238', '', 'ABOUT01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '2240', '', 'EMULATION01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '2243', '', 'BROWSERDETECT01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '2245', '', 'LMSINCLUDE', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('resources/', '2278', 'SequencingTest.htm', 'SEQ01', 'sco', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '2285', '', 'LMSFNCTS01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('common/', '2287', '', 'JAR01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '2289', '', 'ABOUT01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '2291', '', 'EMULATION01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '2294', '', 'BROWSERDETECT01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '2296', '', 'LMSINCLUDE', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('resources/', '2342', 'SequencingTest.htm', 'SEQ01', 'sco', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '2349', '', 'LMSFNCTS01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('common/', '2351', '', 'JAR01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '2353', '', 'ABOUT01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '2355', '', 'EMULATION01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '2358', '', 'BROWSERDETECT01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '2360', '', 'LMSINCLUDE', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('resources/', '2402', 'SequencingTest.htm', 'SEQ01', 'sco', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '2409', '', 'LMSFNCTS01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('common/', '2411', '', 'JAR01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '2413', '', 'ABOUT01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '2415', '', 'EMULATION01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '2418', '', 'BROWSERDETECT01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '2420', '', 'LMSINCLUDE', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('resources/', '2457', 'SequencingTest.htm', 'SEQ01', 'sco', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '2464', '', 'LMSFNCTS01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('common/', '2466', '', 'JAR01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '2468', '', 'ABOUT01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '2470', '', 'EMULATION01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '2473', '', 'BROWSERDETECT01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '2475', '', 'LMSINCLUDE', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('resources/', '2503', 'SequencingTest.htm', 'SEQ01', 'sco', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '2510', '', 'LMSFNCTS01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('common/', '2512', '', 'JAR01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '2514', '', 'ABOUT01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '2516', '', 'EMULATION01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '2519', '', 'BROWSERDETECT01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '2521', '', 'LMSINCLUDE', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('resources/', '2549', 'SequencingTest.htm', 'SEQ01', 'sco', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '2556', '', 'LMSFNCTS01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('common/', '2558', '', 'JAR01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '2560', '', 'ABOUT01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '2562', '', 'EMULATION01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '2565', '', 'BROWSERDETECT01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '2567', '', 'LMSINCLUDE', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('resources/', '2595', 'SequencingTest.htm', 'SEQ01', 'sco', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '2602', '', 'LMSFNCTS01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('common/', '2604', '', 'JAR01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '2606', '', 'ABOUT01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '2608', '', 'EMULATION01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '2611', '', 'BROWSERDETECT01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '2613', '', 'LMSINCLUDE', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('resources/', '2642', 'SequencingTest.htm', 'SEQ01', 'sco', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '2649', '', 'LMSFNCTS01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('common/', '2651', '', 'JAR01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '2653', '', 'ABOUT01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '2655', '', 'EMULATION01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '2658', '', 'BROWSERDETECT01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '2660', '', 'LMSINCLUDE', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('resources/', '2691', 'SequencingTest.htm', 'SEQ01', 'sco', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '2698', '', 'LMSFNCTS01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('common/', '2700', '', 'JAR01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '2702', '', 'ABOUT01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '2704', '', 'EMULATION01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '2707', '', 'BROWSERDETECT01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '2709', '', 'LMSINCLUDE', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('resources/', '2740', 'SequencingTest.htm', 'SEQ01', 'sco', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '2747', '', 'LMSFNCTS01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('common/', '2749', '', 'JAR01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '2751', '', 'ABOUT01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '2753', '', 'EMULATION01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '2756', '', 'BROWSERDETECT01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '2758', '', 'LMSINCLUDE', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('resources/', '2791', 'SequencingTest.htm', 'SEQ01', 'sco', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '2798', '', 'LMSFNCTS01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('common/', '2800', '', 'JAR01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '2802', '', 'ABOUT01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '2804', '', 'EMULATION01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '2807', '', 'BROWSERDETECT01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '2809', '', 'LMSINCLUDE', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('resources/', '2832', 'SequencingTest.htm', 'SEQ01', 'sco', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '2839', '', 'LMSFNCTS01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('common/', '2841', '', 'JAR01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '2843', '', 'ABOUT01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '2845', '', 'EMULATION01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '2848', '', 'BROWSERDETECT01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '2850', '', 'LMSINCLUDE', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('resources/', '2873', 'SequencingTest.htm', 'SEQ01', 'sco', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '2880', '', 'LMSFNCTS01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('common/', '2882', '', 'JAR01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '2884', '', 'ABOUT01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '2886', '', 'EMULATION01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '2889', '', 'BROWSERDETECT01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '2891', '', 'LMSINCLUDE', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('resources/', '2918', 'SequencingTest.htm', 'SEQ01', 'sco', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '2925', '', 'LMSFNCTS01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('common/', '2927', '', 'JAR01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '2929', '', 'ABOUT01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '2931', '', 'EMULATION01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '2934', '', 'BROWSERDETECT01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '2936', '', 'LMSINCLUDE', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('resources/', '2968', 'SequencingTest.htm', 'SEQ01', 'sco', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '2975', '', 'LMSFNCTS01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('common/', '2977', '', 'JAR01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '2979', '', 'ABOUT01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '2981', '', 'EMULATION01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '2984', '', 'BROWSERDETECT01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '2986', '', 'LMSINCLUDE', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('resources/', '3018', 'SequencingTest.htm', 'SEQ01', 'sco', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '3025', '', 'LMSFNCTS01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('common/', '3027', '', 'JAR01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '3029', '', 'ABOUT01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '3031', '', 'EMULATION01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '3034', '', 'BROWSERDETECT01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '3036', '', 'LMSINCLUDE', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('resources/', '3064', 'SequencingTest.htm', 'SEQ01', 'sco', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '3071', '', 'LMSFNCTS01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('common/', '3073', '', 'JAR01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '3075', '', 'ABOUT01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '3077', '', 'EMULATION01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '3080', '', 'BROWSERDETECT01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '3082', '', 'LMSINCLUDE', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('resources/', '3137', 'SequencingTest.htm', 'SEQ01', 'sco', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '3144', '', 'LMSFNCTS01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('common/', '3146', '', 'JAR01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '3148', '', 'ABOUT01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '3150', '', 'EMULATION01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '3153', '', 'BROWSERDETECT01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '3155', '', 'LMSINCLUDE', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('resources/', '3221', 'SequencingTest.htm', 'SEQ01', 'sco', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '3228', '', 'LMSFNCTS01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('common/', '3230', '', 'JAR01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '3232', '', 'ABOUT01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '3234', '', 'EMULATION01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '3237', '', 'BROWSERDETECT01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '3239', '', 'LMSINCLUDE', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('resources/', '3289', 'SequencingTest.htm', 'SEQ01', 'sco', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '3296', '', 'LMSFNCTS01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('common/', '3298', '', 'JAR01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '3300', '', 'ABOUT01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '3302', '', 'EMULATION01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '3305', '', 'BROWSERDETECT01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '3307', '', 'LMSINCLUDE', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('resources/', '3338', 'SequencingTest.htm', 'SEQ01', 'sco', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '3345', '', 'LMSFNCTS01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('common/', '3347', '', 'JAR01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '3349', '', 'ABOUT01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '3351', '', 'EMULATION01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '3354', '', 'BROWSERDETECT01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '3356', '', 'LMSINCLUDE', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('resources/', '3372', 'SequencingTest.htm', 'SEQ01', 'sco', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '3379', '', 'LMSFNCTS01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('common/', '3381', '', 'JAR01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '3383', '', 'ABOUT01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '3385', '', 'EMULATION01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '3388', '', 'BROWSERDETECT01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '3390', '', 'LMSINCLUDE', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('resources/', '3421', 'SequencingTest.htm', 'SEQ01', 'sco', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '3428', '', 'LMSFNCTS01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('common/', '3430', '', 'JAR01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '3432', '', 'ABOUT01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '3434', '', 'EMULATION01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '3437', '', 'BROWSERDETECT01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '3439', '', 'LMSINCLUDE', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('resources/', '3470', 'SequencingTest.htm', 'SEQ01', 'sco', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '3477', '', 'LMSFNCTS01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('common/', '3479', '', 'JAR01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '3481', '', 'ABOUT01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '3483', '', 'EMULATION01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '3486', '', 'BROWSERDETECT01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '3488', '', 'LMSINCLUDE', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('resources/', '3521', 'SequencingTest.htm', 'SEQ01', 'sco', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '3528', '', 'LMSFNCTS01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('common/', '3530', '', 'JAR01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '3532', '', 'ABOUT01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '3534', '', 'EMULATION01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '3537', '', 'BROWSERDETECT01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '3539', '', 'LMSINCLUDE', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('resources/', '3572', 'SequencingTest.htm', 'SEQ01', 'sco', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '3579', '', 'LMSFNCTS01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('common/', '3581', '', 'JAR01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '3583', '', 'ABOUT01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '3585', '', 'EMULATION01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '3588', '', 'BROWSERDETECT01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '3590', '', 'LMSINCLUDE', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('resources/', '3624', 'SequencingTest.htm', 'SEQ01', 'sco', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '3631', '', 'LMSFNCTS01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('common/', '3633', '', 'JAR01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '3635', '', 'ABOUT01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '3637', '', 'EMULATION01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '3640', '', 'BROWSERDETECT01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '3642', '', 'LMSINCLUDE', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('resources/', '3676', 'SequencingTest.htm', 'SEQ01', 'sco', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '3683', '', 'LMSFNCTS01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('common/', '3685', '', 'JAR01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '3687', '', 'ABOUT01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '3689', '', 'EMULATION01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '3692', '', 'BROWSERDETECT01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '3694', '', 'LMSINCLUDE', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('resources/', '3728', 'SequencingTest.htm', 'SEQ01', 'sco', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '3735', '', 'LMSFNCTS01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('common/', '3737', '', 'JAR01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '3739', '', 'ABOUT01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '3741', '', 'EMULATION01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '3744', '', 'BROWSERDETECT01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '3746', '', 'LMSINCLUDE', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('resources/', '3780', 'SequencingTest.htm', 'SEQ01', 'sco', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '3787', '', 'LMSFNCTS01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('common/', '3789', '', 'JAR01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '3791', '', 'ABOUT01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '3793', '', 'EMULATION01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '3796', '', 'BROWSERDETECT01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '3798', '', 'LMSINCLUDE', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('resources/', '3832', 'SequencingTest.htm', 'SEQ01', 'sco', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '3839', '', 'LMSFNCTS01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('common/', '3841', '', 'JAR01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '3843', '', 'ABOUT01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '3845', '', 'EMULATION01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '3848', '', 'BROWSERDETECT01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '3850', '', 'LMSINCLUDE', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('resources/', '3869', 'SequencingTest.htm', 'SEQ01', 'sco', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '3876', '', 'LMSFNCTS01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('common/', '3878', '', 'JAR01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '3880', '', 'ABOUT01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '3882', '', 'EMULATION01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '3885', '', 'BROWSERDETECT01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '3887', '', 'LMSINCLUDE', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('resources/', '3921', 'SequencingTest.htm', 'SEQ01', 'sco', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '3928', '', 'LMSFNCTS01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('common/', '3930', '', 'JAR01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '3932', '', 'ABOUT01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '3934', '', 'EMULATION01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '3937', '', 'BROWSERDETECT01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '3939', '', 'LMSINCLUDE', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('resources/', '3973', 'SequencingTest.htm', 'SEQ01', 'sco', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '3980', '', 'LMSFNCTS01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('common/', '3982', '', 'JAR01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '3984', '', 'ABOUT01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '3986', '', 'EMULATION01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '3989', '', 'BROWSERDETECT01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '3991', '', 'LMSINCLUDE', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('resources/', '4024', 'SequencingTest.htm', 'SEQ01', 'sco', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '4031', '', 'LMSFNCTS01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('common/', '4033', '', 'JAR01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '4035', '', 'ABOUT01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '4037', '', 'EMULATION01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '4040', '', 'BROWSERDETECT01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '4042', '', 'LMSINCLUDE', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('resources/', '4071', 'SequencingTest.htm', 'SEQ01', 'sco', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '4078', '', 'LMSFNCTS01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('common/', '4080', '', 'JAR01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '4082', '', 'ABOUT01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '4084', '', 'EMULATION01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '4087', '', 'BROWSERDETECT01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '4089', '', 'LMSINCLUDE', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('resources/', '4116', 'SequencingTest.htm', 'SEQ01', 'sco', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '4123', '', 'LMSFNCTS01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('common/', '4125', '', 'JAR01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '4127', '', 'ABOUT01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '4129', '', 'EMULATION01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '4132', '', 'BROWSERDETECT01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '4134', '', 'LMSINCLUDE', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('resources/', '4167', 'SequencingTest.htm', 'SEQ01', 'sco', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '4174', '', 'LMSFNCTS01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('common/', '4176', '', 'JAR01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '4178', '', 'ABOUT01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '4180', '', 'EMULATION01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '4183', '', 'BROWSERDETECT01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '4185', '', 'LMSINCLUDE', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('resources/', '4222', 'SequencingTest.htm', 'SEQ01', 'sco', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '4229', '', 'LMSFNCTS01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('common/', '4231', '', 'JAR01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '4233', '', 'ABOUT01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '4235', '', 'EMULATION01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '4238', '', 'BROWSERDETECT01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '4240', '', 'LMSINCLUDE', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('resources/', '4277', 'SequencingTest.htm', 'SEQ01', 'sco', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '4284', '', 'LMSFNCTS01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('common/', '4286', '', 'JAR01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '4288', '', 'ABOUT01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '4290', '', 'EMULATION01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '4293', '', 'BROWSERDETECT01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '4295', '', 'LMSINCLUDE', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('resources/', '4334', 'SequencingTest.htm', 'SEQ01', 'sco', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '4341', '', 'LMSFNCTS01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('common/', '4343', '', 'JAR01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '4345', '', 'ABOUT01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '4347', '', 'EMULATION01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '4350', '', 'BROWSERDETECT01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '4352', '', 'LMSINCLUDE', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('resources/', '4401', 'SequencingTest.htm', 'SEQ01', 'sco', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '4408', '', 'LMSFNCTS01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('common/', '4410', '', 'JAR01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '4412', '', 'ABOUT01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '4414', '', 'EMULATION01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '4417', '', 'BROWSERDETECT01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '4419', '', 'LMSINCLUDE', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('resources/', '4465', 'SequencingTest.htm', 'SEQ01', 'sco', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '4472', '', 'LMSFNCTS01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('common/', '4474', '', 'JAR01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '4476', '', 'ABOUT01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '4478', '', 'EMULATION01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '4481', '', 'BROWSERDETECT01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '4483', '', 'LMSINCLUDE', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('resources/', '4519', 'SequencingTest.htm', 'SEQ01', 'sco', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '4526', '', 'LMSFNCTS01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('common/', '4528', '', 'JAR01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '4530', '', 'ABOUT01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '4532', '', 'EMULATION01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '4535', '', 'BROWSERDETECT01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '4537', '', 'LMSINCLUDE', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('resources/', '4570', 'SequencingTest.htm', 'SEQ01', 'sco', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '4577', '', 'LMSFNCTS01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('common/', '4579', '', 'JAR01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '4581', '', 'ABOUT01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '4583', '', 'EMULATION01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '4586', '', 'BROWSERDETECT01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '4588', '', 'LMSINCLUDE', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('resources/', '4617', 'SequencingTest.htm', 'SEQ01', 'sco', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '4624', '', 'LMSFNCTS01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('common/', '4626', '', 'JAR01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '4628', '', 'ABOUT01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '4630', '', 'EMULATION01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '4633', '', 'BROWSERDETECT01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '4635', '', 'LMSINCLUDE', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('resources/', '4662', 'SequencingTest.htm', 'SEQ01', 'sco', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '4669', '', 'LMSFNCTS01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('common/', '4671', '', 'JAR01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '4673', '', 'ABOUT01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '4675', '', 'EMULATION01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '4678', '', 'BROWSERDETECT01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '4680', '', 'LMSINCLUDE', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('resources/', '4700', 'SequencingTest.htm', 'SEQ01', 'sco', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '4707', '', 'LMSFNCTS01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('common/', '4709', '', 'JAR01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '4711', '', 'ABOUT01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '4713', '', 'EMULATION01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '4716', '', 'BROWSERDETECT01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '4718', '', 'LMSINCLUDE', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '4751', 'resources/SequencingTest.htm', 'SEQ01', 'sco', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '4758', '', 'LMSFNCTS01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '4760', '', 'JAR01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '4762', '', 'ABOUT01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '4764', '', 'EMULATION01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '4767', '', 'BROWSERDETECT01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '4769', '', 'LMSINCLUDE', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('resources/', '4804', 'SequencingTest.htm', 'SEQ01', 'sco', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '4811', '', 'LMSFNCTS01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('common/', '4813', '', 'JAR01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '4815', '', 'ABOUT01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '4817', '', 'EMULATION01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '4820', '', 'BROWSERDETECT01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '4822', '', 'LMSINCLUDE', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('resources/', '4844', 'SequencingTest.htm', 'SEQ01', 'sco', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '4851', '', 'LMSFNCTS01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('common/', '4853', '', 'JAR01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '4855', '', 'ABOUT01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '4857', '', 'EMULATION01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '4860', '', 'BROWSERDETECT01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '4862', '', 'LMSINCLUDE', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('resources/', '4902', 'SequencingTest.htm', 'SEQ01', 'sco', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '4909', '', 'LMSFNCTS01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('common/', '4911', '', 'JAR01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '4913', '', 'ABOUT01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '4915', '', 'EMULATION01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '4918', '', 'BROWSERDETECT01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '4920', '', 'LMSINCLUDE', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('resources/', '5003', 'SequencingTest.htm', 'SEQ01', 'sco', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '5010', '', 'LMSFNCTS01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('common/', '5012', '', 'JAR01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '5014', '', 'ABOUT01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '5016', '', 'EMULATION01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '5019', '', 'BROWSERDETECT01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '5021', '', 'LMSINCLUDE', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('resources/', '5048', 'SequencingTest.htm', 'SEQ01', 'sco', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '5055', '', 'LMSFNCTS01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('common/', '5057', '', 'JAR01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '5059', '', 'ABOUT01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '5061', '', 'EMULATION01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '5064', '', 'BROWSERDETECT01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '5066', '', 'LMSINCLUDE', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('resources/', '5088', 'SequencingTest.htm', 'SEQ01', 'sco', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '5095', '', 'LMSFNCTS01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('common/', '5097', '', 'JAR01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '5099', '', 'ABOUT01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '5101', '', 'EMULATION01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '5104', '', 'BROWSERDETECT01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '5106', '', 'LMSINCLUDE', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('resources/', '5128', 'SequencingTest.htm', 'SEQ01', 'sco', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '5135', '', 'LMSFNCTS01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('common/', '5137', '', 'JAR01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '5139', '', 'ABOUT01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '5141', '', 'EMULATION01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '5144', '', 'BROWSERDETECT01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '5146', '', 'LMSINCLUDE', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('resources/', '5184', 'SequencingTest.htm', 'SEQ01', 'sco', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '5191', '', 'LMSFNCTS01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('common/', '5193', '', 'JAR01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '5195', '', 'ABOUT01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '5197', '', 'EMULATION01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '5200', '', 'BROWSERDETECT01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '5202', '', 'LMSINCLUDE', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('resources/', '5243', 'SequencingTest.htm', 'SEQ01', 'sco', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '5250', '', 'LMSFNCTS01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('common/', '5252', '', 'JAR01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '5254', '', 'ABOUT01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '5256', '', 'EMULATION01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '5259', '', 'BROWSERDETECT01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '5261', '', 'LMSINCLUDE', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('resources/', '5406', 'SequencingTest.htm', 'SEQ01', 'sco', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '5413', '', 'LMSFNCTS01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('common/', '5415', '', 'JAR01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '5417', '', 'ABOUT01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '5419', '', 'EMULATION01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '5422', '', 'BROWSERDETECT01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '5424', '', 'LMSINCLUDE', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('resources/', '5619', 'SequencingTest.htm', 'SEQ01', 'sco', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '5626', '', 'LMSFNCTS01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('common/', '5628', '', 'JAR01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '5630', '', 'ABOUT01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '5632', '', 'EMULATION01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '5635', '', 'BROWSERDETECT01', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '5637', '', 'LMSINCLUDE', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '5719', './scos/1/index.html', 'SCO1', 'sco', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '5724', './scos/2/index.html', 'SCO2', 'sco', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '5729', './scos/3/index.html', 'SCO3', 'sco', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '5734', './scos/4/index.html', 'SCO4', 'sco', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '5739', './scos/5/index.html', 'SCO5', 'sco', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '5744', '', 'SCO1ITSELF', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '5748', '', 'SCO1P2OBJECTS', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '5753', '', 'SCO1RESOURCES', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '5754', '', 'SCO1FLAVOUR', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '5823', '', 'SCO2ITSELF', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '5827', '', 'SCO2P2OBJECTS', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '5836', '', 'SCO2RESOURCES', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '5837', '', 'SCO2FLAVOUR', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '5906', '', 'SCO3ITSELF', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '5910', '', 'SCO3P2OBJECTS', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '5923', '', 'SCO3RESOURCES', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '5924', '', 'SCO3FLAVOUR', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '5993', '', 'SCO4ITSELF', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '5997', '', 'SCO4P2OBJECTS', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '6006', '', 'SCO4RESOURCES', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '6007', '', 'SCO4FLAVOUR', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '6076', '', 'SCO5ITSELF', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '6080', '', 'SCO5P2OBJECTS', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '6085', '', 'SCO5RESOURCES', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '6086', '', 'SCO5FLAVOUR', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '6155', '', 'PKG', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '6198', 'intro.htm', 'RESOURCE_INTRO', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '6203', 'Lesson1.htm', 'RESOURCE_LESSON1', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '6211', 'Lesson2.htm', 'RESOURCE_LESSON2', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '6228', 'Lesson3.htm', 'RESOURCE_LESSON3', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '6236', 'Lesson4.htm', 'RESOURCE_LESSON4', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '6251', 'Lesson5.htm', 'RESOURCE_LESSON5', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '6263', 'Lesson6.htm', 'RESOURCE_LESSON6', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '6275', 'Lesson7.htm', 'RESOURCE_LESSON7', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '6287', 'Lesson8.htm', 'RESOURCE_LESSON8', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '6308', 'Lesson9.htm', 'RESOURCE_LESSON9', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '6332', 'Question1.htm', 'RESOURCE_QUESTION1', 'sco', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '6335', 'Question2.htm', 'RESOURCE_QUESTION2', 'sco', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '6338', 'Question3.htm', 'RESOURCE_QUESTION3', 'sco', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '6341', 'Question4.htm', 'RESOURCE_QUESTION4', 'sco', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '6344', 'Question5.htm', 'RESOURCE_QUESTION5', 'sco', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '6347', 'Question6.htm', 'RESOURCE_QUESTION6', 'sco', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '6350', 'Question7.htm', 'RESOURCE_QUESTION7', 'sco', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '6353', 'Question8.htm', 'RESOURCE_QUESTION8', 'sco', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '6356', 'Question9.htm', 'RESOURCE_QUESTION9', 'sco', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '6415', 'intro.htm', 'RESOURCE_INTRO', 'sco', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '6422', 'Lesson1.htm', 'RESOURCE_LESSON1', 'sco', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '6469', 'Lesson5.htm', 'RESOURCE_LESSON2', 'sco', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '6505', 'Lesson8.htm', 'RESOURCE_LESSON3', 'sco', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '6551', 'Question1.htm', 'RESOURCE_QUESTION1', 'sco', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '6555', 'Question2.htm', 'RESOURCE_QUESTION2', 'sco', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '6559', 'Question3.htm', 'RESOURCE_QUESTION3', 'sco', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '6563', 'Question4.htm', 'RESOURCE_QUESTION4', 'sco', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '6567', 'Question5.htm', 'RESOURCE_QUESTION5', 'sco', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '6571', 'Question6.htm', 'RESOURCE_QUESTION6', 'sco', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '6575', 'Question7.htm', 'RESOURCE_QUESTION7', 'sco', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '6579', 'Question8.htm', 'RESOURCE_QUESTION8', 'sco', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '6583', 'Question9.htm', 'RESOURCE_QUESTION9', 'sco', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '6643', 'intro.htm', 'RESOURCE_INTRO', 'sco', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '6650', 'Lesson1.htm', 'RESOURCE_LESSON1', 'sco', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '6697', 'Lesson5.htm', 'RESOURCE_LESSON2', 'sco', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '6733', 'Lesson8.htm', 'RESOURCE_LESSON3', 'sco', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '6779', 'Question1.htm', 'RESOURCE_QUESTION1', 'sco', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '6783', 'Question2.htm', 'RESOURCE_QUESTION2', 'sco', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '6787', 'Question3.htm', 'RESOURCE_QUESTION3', 'sco', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '6791', 'Question4.htm', 'RESOURCE_QUESTION4', 'sco', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '6795', 'Question5.htm', 'RESOURCE_QUESTION5', 'sco', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '6799', 'Question6.htm', 'RESOURCE_QUESTION6', 'sco', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '6803', 'Question7.htm', 'RESOURCE_QUESTION7', 'sco', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '6807', 'Question8.htm', 'RESOURCE_QUESTION8', 'sco', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '6811', 'Question9.htm', 'RESOURCE_QUESTION9', 'sco', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '6845', 'SequenceCap.html', 'resource_f9bf818889944a0f9b87ade4807e0570', 'sco', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '6847', 'e78a86fa23ee48f7a94b940d215c2d61.scorm.html', 'resource_74da3c38d35c47d5b42da9d6c0f255bb', 'sco', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '6855', '02d2c79bc48441859c3f00f5ec2540c5.scorm.html', 'resource_0c47e4ac023a4a819fdbb28146b7b7a2', 'sco', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '6862', 'f5390ebc083c438fb67aa56b67780cff.scorm.html', 'resource_eb239f75804641ab8932982a13e7db54', 'sco', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '6870', 'c69a680963fd4ba9803d03b60fa363e8.scorm.html', 'resource_e5c297d67e284e82b1d3517d6fbe49d2', 'sco', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '6878', '1b175b9aa5b441f7ad4a06cb9e989a76.scorm.html', 'resource_fc6d353a91074b368b6e67f9792be8a9', 'sco', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '6885', '776fec1461844972b0ee5615f86b479b.scorm.html', 'resource_de5e74877b524f77a97a5b0e93d8c7e1', 'sco', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '6892', '5de0f6934391493f859f0323f21e6fb3.scorm.html', 'resource_9c7707d6d3da41629b647c3a0c9d6063', 'sco', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '6946', 'SequenceCap.html', 'resource_f9bf818889944a0f9b87ade4807e0570', 'sco', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '6948', 'e78a86fa23ee48f7a94b940d215c2d61.scorm.html', 'resource_74da3c38d35c47d5b42da9d6c0f255bb', 'sco', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '6956', '02d2c79bc48441859c3f00f5ec2540c5.scorm.html', 'resource_0c47e4ac023a4a819fdbb28146b7b7a2', 'sco', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '6963', 'f5390ebc083c438fb67aa56b67780cff.scorm.html', 'resource_eb239f75804641ab8932982a13e7db54', 'sco', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '6971', 'c69a680963fd4ba9803d03b60fa363e8.scorm.html', 'resource_e5c297d67e284e82b1d3517d6fbe49d2', 'sco', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '6979', '1b175b9aa5b441f7ad4a06cb9e989a76.scorm.html', 'resource_fc6d353a91074b368b6e67f9792be8a9', 'sco', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '6986', '776fec1461844972b0ee5615f86b479b.scorm.html', 'resource_de5e74877b524f77a97a5b0e93d8c7e1', 'sco', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '6993', '5de0f6934391493f859f0323f21e6fb3.scorm.html', 'resource_9c7707d6d3da41629b647c3a0c9d6063', 'sco', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '7042', './scos/1/index.html', 'SCO1', 'sco', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '7047', './scos/2/index.html', 'SCO2', 'sco', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '7052', './scos/3/index.html', 'SCO3', 'sco', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '7057', './scos/4/index.html', 'SCO4', 'sco', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '7062', './scos/5/index.html', 'SCO5', 'sco', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '7067', './scos/6/index.html', 'SCO6', 'sco', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '7072', './scos/7/index.html', 'SCO7', 'sco', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '7077', '', 'SCO1ITSELF', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '7081', '', 'SCO1P2OBJECTS', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '7093', '', 'SCO1RESOURCES', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '7095', '', 'SCO1FLAVOUR', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '7164', '', 'SCO2ITSELF', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '7168', '', 'SCO2P2OBJECTS', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '7175', '', 'SCO2RESOURCES', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '7177', '', 'SCO2FLAVOUR', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '7246', '', 'SCO3ITSELF', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '7250', '', 'SCO3P2OBJECTS', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '7257', '', 'SCO3RESOURCES', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '7259', '', 'SCO3FLAVOUR', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '7328', '', 'SCO4ITSELF', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '7332', '', 'SCO4P2OBJECTS', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '7337', '', 'SCO4RESOURCES', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '7339', '', 'SCO4FLAVOUR', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '7408', '', 'SCO5ITSELF', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '7412', '', 'SCO5P2OBJECTS', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '7424', '', 'SCO5RESOURCES', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '7426', '', 'SCO5FLAVOUR', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '7495', '', 'SCO6ITSELF', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '7499', '', 'SCO6P2OBJECTS', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '7508', '', 'SCO6RESOURCES', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '7510', '', 'SCO6FLAVOUR', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '7579', '', 'SCO7ITSELF', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '7583', '', 'SCO7P2OBJECTS', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '7588', '', 'SCO7RESOURCES', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '7590', '', 'SCO7FLAVOUR', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '7659', '', 'PKG', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '7690', 'cam.html', 'RES-832DAE41-07A8-167A-D214-DDBFCD53B10A', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '7691', 'isight.mov', 'RES-96CAC181-1A8F-256A-33E5-3E20A491BE78', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '7702', './scos/1/index.html', 'SCO1', 'sco', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '7707', './scos/2/index.html', 'SCO2', 'sco', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '7712', './scos/3/index.html', 'SCO3', 'sco', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '7717', './scos/4/index.html', 'SCO4', 'sco', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '7722', './scos/5/index.html', 'SCO5', 'sco', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '7727', './scos/6/index.html', 'SCO6', 'sco', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '7732', './scos/7/index.html', 'SCO7', 'sco', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '7737', '', 'SCO1ITSELF', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '7741', '', 'SCO1P2OBJECTS', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '7753', '', 'SCO1RESOURCES', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '7755', '', 'SCO1FLAVOUR', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '7824', '', 'SCO2ITSELF', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '7828', '', 'SCO2P2OBJECTS', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '7835', '', 'SCO2RESOURCES', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '7837', '', 'SCO2FLAVOUR', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '7906', '', 'SCO3ITSELF', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '7910', '', 'SCO3P2OBJECTS', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '7917', '', 'SCO3RESOURCES', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '7919', '', 'SCO3FLAVOUR', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '7988', '', 'SCO4ITSELF', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '7992', '', 'SCO4P2OBJECTS', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '7997', '', 'SCO4RESOURCES', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '7999', '', 'SCO4FLAVOUR', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '8068', '', 'SCO5ITSELF', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '8072', '', 'SCO5P2OBJECTS', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '8084', '', 'SCO5RESOURCES', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '8086', '', 'SCO5FLAVOUR', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '8155', '', 'SCO6ITSELF', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '8159', '', 'SCO6P2OBJECTS', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '8168', '', 'SCO6RESOURCES', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '8170', '', 'SCO6FLAVOUR', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '8239', '', 'SCO7ITSELF', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '8243', '', 'SCO7P2OBJECTS', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '8248', '', 'SCO7RESOURCES', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '8250', '', 'SCO7FLAVOUR', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '8319', '', 'PKG', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '8350', 'cam.html', 'RES-832DAE41-07A8-167A-D214-DDBFCD53B10A', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '8351', 'isight.mov', 'RES-96CAC181-1A8F-256A-33E5-3E20A491BE78', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '8365', 'cam.html', 'RES-832DAE41-07A8-167A-D214-DDBFCD53B10A', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '8366', 'isight.mov', 'RES-96CAC181-1A8F-256A-33E5-3E20A491BE78', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '8380', 'cam.html', 'RES-832DAE41-07A8-167A-D214-DDBFCD53B10A', 'asset', 'webcontent'); -INSERT INTO cp_resource VALUES ('', '8381', 'isight.mov', 'RES-96CAC181-1A8F-256A-33E5-3E20A491BE78', 'asset', 'webcontent'); -# -------------------------------------------------------- - - -# -# Dumping data for table: cp_rule -# -INSERT INTO cp_rule VALUES ('skip', '', '', '151', '0', '', 'pre'); -INSERT INTO cp_rule VALUES ('skip', '', '', '197', '0', '', 'pre'); -INSERT INTO cp_rule VALUES ('skip', '', '', '246', '0', '', 'pre'); -INSERT INTO cp_rule VALUES ('skip', '', '', '250', '0', '', 'pre'); -INSERT INTO cp_rule VALUES ('skip', '', '', '254', '0', '', 'pre'); -INSERT INTO cp_rule VALUES ('skip', '', '', '319', '0', '', 'pre'); -INSERT INTO cp_rule VALUES ('skip', '', '', '323', '0', '', 'pre'); -INSERT INTO cp_rule VALUES ('skip', '', '', '327', '0', '', 'pre'); -INSERT INTO cp_rule VALUES ('skip', '', '', '439', '0', '', 'pre'); -INSERT INTO cp_rule VALUES ('skip', '', '', '512', '0', '', 'pre'); -INSERT INTO cp_rule VALUES ('disabled', '', '', '717', '0', '', 'pre'); -INSERT INTO cp_rule VALUES ('disabled', '', '', '724', '0', '', 'pre'); -INSERT INTO cp_rule VALUES ('skip', '', '', '780', '0', '', 'pre'); -INSERT INTO cp_rule VALUES ('disabled', '', '', '785', '0', '', 'pre'); -INSERT INTO cp_rule VALUES ('skip', '', '', '789', '0', '', 'pre'); -INSERT INTO cp_rule VALUES ('skip', '', '', '792', '0', '', 'pre'); -INSERT INTO cp_rule VALUES ('hiddenFromChoice', '', '', '840', '0', '', 'pre'); -INSERT INTO cp_rule VALUES ('hiddenFromChoice', '', '', '844', '0', '', 'pre'); -INSERT INTO cp_rule VALUES ('disabled', '', '', '850', '0', '', 'pre'); -INSERT INTO cp_rule VALUES ('stopForwardTraversal', '', '', '931', '0', '', 'pre'); -INSERT INTO cp_rule VALUES ('stopForwardTraversal', '', '', '962', '0', '', 'pre'); -INSERT INTO cp_rule VALUES ('exitAll', '', '', '990', '0', '', 'post'); -INSERT INTO cp_rule VALUES ('skip', '', '', '1198', '0', '', 'pre'); -INSERT INTO cp_rule VALUES ('skip', '', '', '1248', '0', '', 'pre'); -INSERT INTO cp_rule VALUES ('skip', '', '', '1298', '0', '', 'pre'); -INSERT INTO cp_rule VALUES ('skip', '', '', '1332', '0', '', 'pre'); -INSERT INTO cp_rule VALUES ('exit', '', '', '1365', '0', '', 'exit'); -INSERT INTO cp_rule VALUES ('previous', '', '', '1367', '0', '', 'post'); -INSERT INTO cp_rule VALUES ('exit', '', '', '1416', '0', '', 'exit'); -INSERT INTO cp_rule VALUES ('previous', '', '', '1418', '0', '', 'post'); -INSERT INTO cp_rule VALUES ('skip', '', '', '1467', '0', '', 'pre'); -INSERT INTO cp_rule VALUES ('exit', '', '', '1469', '0', '', 'exit'); -INSERT INTO cp_rule VALUES ('previous', '', '', '1471', '0', '', 'post'); -INSERT INTO cp_rule VALUES ('skip', '', '', '1513', '0', '', 'pre'); -INSERT INTO cp_rule VALUES ('skip', '', '', '1556', '0', '', 'pre'); -INSERT INTO cp_rule VALUES ('skip', '', '', '1599', '0', '', 'pre'); -INSERT INTO cp_rule VALUES ('skip', '', '', '1643', '0', '', 'pre'); -INSERT INTO cp_rule VALUES ('skip', '', '', '1679', '0', '', 'pre'); -INSERT INTO cp_rule VALUES ('skip', '', '', '1785', '0', '', 'pre'); -INSERT INTO cp_rule VALUES ('skip', '', '', '1790', '0', '', 'pre'); -INSERT INTO cp_rule VALUES ('skip', '', '', '1795', '0', '', 'pre'); -INSERT INTO cp_rule VALUES ('skip', '', '', '1800', '0', '', 'pre'); -INSERT INTO cp_rule VALUES ('skip', '', '', '1805', '0', '', 'pre'); -INSERT INTO cp_rule VALUES ('skip', '', '', '1864', '0', '', 'pre'); -INSERT INTO cp_rule VALUES ('skip', '', '', '1869', '0', '', 'pre'); -INSERT INTO cp_rule VALUES ('skip', '', '', '1874', '0', '', 'pre'); -INSERT INTO cp_rule VALUES ('skip', '', '', '1879', '0', '', 'pre'); -INSERT INTO cp_rule VALUES ('skip', '', '', '1884', '0', '', 'pre'); -INSERT INTO cp_rule VALUES ('skip', '', '', '1957', '0', '', 'pre'); -INSERT INTO cp_rule VALUES ('completed', '', '', '1959', '0', '', 'rollup'); -INSERT INTO cp_rule VALUES ('skip', '', '', '2004', '0', '', 'pre'); -INSERT INTO cp_rule VALUES ('skip', '', '', '2009', '0', '', 'pre'); -INSERT INTO cp_rule VALUES ('skip', '', '', '2056', '0', '', 'pre'); -INSERT INTO cp_rule VALUES ('skip', '', '', '2061', '0', '', 'pre'); -INSERT INTO cp_rule VALUES ('skip', '', '', '2104', '0', '', 'pre'); -INSERT INTO cp_rule VALUES ('skip', '', '', '2156', '0', '', 'pre'); -INSERT INTO cp_rule VALUES ('skip', '', 'any', '2159', '0', '', 'pre'); -INSERT INTO cp_rule VALUES ('skip', '', '', '2203', '0', '', 'pre'); -INSERT INTO cp_rule VALUES ('skip', '', '', '2251', '0', '', 'pre'); -INSERT INTO cp_rule VALUES ('skip', '', '', '2302', '0', '', 'pre'); -INSERT INTO cp_rule VALUES ('exitParent', '', '', '2304', '0', '', 'post'); -INSERT INTO cp_rule VALUES ('skip', '', 'any', '2309', '0', '', 'pre'); -INSERT INTO cp_rule VALUES ('exitParent', '', '', '2312', '0', '', 'post'); -INSERT INTO cp_rule VALUES ('skip', '', '', '2317', '0', '', 'pre'); -INSERT INTO cp_rule VALUES ('exitParent', '', '', '2319', '0', '', 'post'); -INSERT INTO cp_rule VALUES ('skip', '', '', '2366', '0', '', 'pre'); -INSERT INTO cp_rule VALUES ('exitParent', '', '', '2368', '0', '', 'post'); -INSERT INTO cp_rule VALUES ('skip', '', 'any', '2373', '0', '', 'pre'); -INSERT INTO cp_rule VALUES ('exitParent', '', '', '2376', '0', '', 'post'); -INSERT INTO cp_rule VALUES ('skip', '', '', '2381', '0', '', 'pre'); -INSERT INTO cp_rule VALUES ('exitParent', '', '', '2383', '0', '', 'post'); -INSERT INTO cp_rule VALUES ('skip', '', '', '2423', '0', '', 'pre'); -INSERT INTO cp_rule VALUES ('skip', '', '', '2428', '0', '', 'pre'); -INSERT INTO cp_rule VALUES ('exit', '', '', '2439', '0', '', 'exit'); -INSERT INTO cp_rule VALUES ('retry', '', '', '2441', '0', '', 'post'); -INSERT INTO cp_rule VALUES ('skip', '', '', '2478', '0', '', 'pre'); -INSERT INTO cp_rule VALUES ('skip', '', '', '2483', '0', '', 'pre'); -INSERT INTO cp_rule VALUES ('exit', '', '', '2494', '0', '', 'exit'); -INSERT INTO cp_rule VALUES ('retry', '', '', '2496', '0', '', 'post'); -INSERT INTO cp_rule VALUES ('skip', '', '', '2527', '0', '', 'pre'); -INSERT INTO cp_rule VALUES ('skip', '', '', '2573', '0', '', 'pre'); -INSERT INTO cp_rule VALUES ('skip', '', '', '2620', '0', '', 'pre'); -INSERT INTO cp_rule VALUES ('skip', '', '', '2669', '0', '', 'pre'); -INSERT INTO cp_rule VALUES ('skip', '', '', '2716', '0', '', 'pre'); -INSERT INTO cp_rule VALUES ('skip', '', '', '2767', '0', '', 'pre'); -INSERT INTO cp_rule VALUES ('previous', '', '', '2812', '0', '', 'post'); -INSERT INTO cp_rule VALUES ('continue', '', '', '2853', '0', '', 'post'); -INSERT INTO cp_rule VALUES ('continue', '', '', '2894', '0', '', 'post'); -INSERT INTO cp_rule VALUES ('skip', '', '', '2943', '0', '', 'pre'); -INSERT INTO cp_rule VALUES ('skip', '', '', '2993', '0', '', 'pre'); -INSERT INTO cp_rule VALUES ('skip', '', '', '3043', '0', '', 'pre'); -INSERT INTO cp_rule VALUES ('skip', '', '', '3242', '0', '', 'pre'); -INSERT INTO cp_rule VALUES ('skip', '', '', '3254', '0', '', 'pre'); -INSERT INTO cp_rule VALUES ('completed', '', '', '3256', '0', '', 'rollup'); -INSERT INTO cp_rule VALUES ('skip', '', '', '3259', '0', '', 'pre'); -INSERT INTO cp_rule VALUES ('completed', '', '', '3261', '0', '', 'rollup'); -INSERT INTO cp_rule VALUES ('exit', '', '', '3310', '0', '', 'exit'); -INSERT INTO cp_rule VALUES ('previous', '', '', '3312', '0', '', 'post'); -INSERT INTO cp_rule VALUES ('exit', '', '', '3359', '0', '', 'exit'); -INSERT INTO cp_rule VALUES ('previous', '', '', '3361', '0', '', 'post'); -INSERT INTO cp_rule VALUES ('exit', '', '', '3393', '0', '', 'exit'); -INSERT INTO cp_rule VALUES ('previous', '', '', '3395', '0', '', 'post'); -INSERT INTO cp_rule VALUES ('exit', '', '', '3442', '0', '', 'exit'); -INSERT INTO cp_rule VALUES ('previous', '', '', '3444', '0', '', 'post'); -INSERT INTO cp_rule VALUES ('exit', '', '', '3491', '0', '', 'exit'); -INSERT INTO cp_rule VALUES ('previous', '', '', '3493', '0', '', 'post'); -INSERT INTO cp_rule VALUES ('completed', 'any', '', '3495', '0', '', 'rollup'); -INSERT INTO cp_rule VALUES ('exit', '', '', '3542', '0', '', 'exit'); -INSERT INTO cp_rule VALUES ('continue', '', '', '3544', '0', '', 'post'); -INSERT INTO cp_rule VALUES ('satisfied', 'any', '', '3546', '0', '', 'rollup'); -INSERT INTO cp_rule VALUES ('exit', '', '', '3593', '0', '', 'exit'); -INSERT INTO cp_rule VALUES ('previous', '', '', '3595', '0', '', 'post'); -INSERT INTO cp_rule VALUES ('completed', 'atLeastCount', 'all', '3597', '1', '', 'rollup'); -INSERT INTO cp_rule VALUES ('exit', '', '', '3645', '0', '', 'exit'); -INSERT INTO cp_rule VALUES ('previous', '', '', '3647', '0', '', 'post'); -INSERT INTO cp_rule VALUES ('satisfied', 'atLeastCount', 'all', '3649', '1', '', 'rollup'); -INSERT INTO cp_rule VALUES ('exit', '', '', '3697', '0', '', 'exit'); -INSERT INTO cp_rule VALUES ('previous', '', '', '3699', '0', '', 'post'); -INSERT INTO cp_rule VALUES ('satisfied', 'atLeastPercent', '', '3701', '0', '0.5', 'rollup'); -INSERT INTO cp_rule VALUES ('exit', '', '', '3749', '0', '', 'exit'); -INSERT INTO cp_rule VALUES ('previous', '', '', '3751', '0', '', 'post'); -INSERT INTO cp_rule VALUES ('satisfied', 'atLeastPercent', '', '3753', '0', '0.5', 'rollup'); -INSERT INTO cp_rule VALUES ('exit', '', '', '3801', '0', '', 'exit'); -INSERT INTO cp_rule VALUES ('previous', '', '', '3803', '0', '', 'post'); -INSERT INTO cp_rule VALUES ('completed', 'atLeastPercent', '', '3805', '0', '0.5', 'rollup'); -INSERT INTO cp_rule VALUES ('exit', '', '', '3853', '0', '', 'exit'); -INSERT INTO cp_rule VALUES ('previous', '', '', '3855', '0', '', 'post'); -INSERT INTO cp_rule VALUES ('completed', 'atLeastPercent', '', '3857', '0', '0.5', 'rollup'); -INSERT INTO cp_rule VALUES ('exit', '', '', '3890', '0', '', 'exit'); -INSERT INTO cp_rule VALUES ('previous', '', '', '3892', '0', '', 'post'); -INSERT INTO cp_rule VALUES ('completed', 'atLeastPercent', '', '3894', '0', '0.5', 'rollup'); -INSERT INTO cp_rule VALUES ('exit', '', '', '3942', '0', '', 'exit'); -INSERT INTO cp_rule VALUES ('previous', '', '', '3944', '0', '', 'post'); -INSERT INTO cp_rule VALUES ('completed', 'atLeastPercent', '', '3946', '0', '0.5', 'rollup'); -INSERT INTO cp_rule VALUES ('exit', '', '', '3994', '0', '', 'exit'); -INSERT INTO cp_rule VALUES ('previous', '', '', '3996', '0', '', 'post'); -INSERT INTO cp_rule VALUES ('completed', 'none', '', '3998', '0', '', 'rollup'); -INSERT INTO cp_rule VALUES ('exit', '', '', '4045', '0', '', 'exit'); -INSERT INTO cp_rule VALUES ('continue', '', '', '4047', '0', '', 'post'); -INSERT INTO cp_rule VALUES ('satisfied', 'none', '', '4049', '0', '', 'rollup'); -INSERT INTO cp_rule VALUES ('exit', '', '', '4092', '0', '', 'exit'); -INSERT INTO cp_rule VALUES ('continue', '', '', '4094', '0', '', 'post'); -INSERT INTO cp_rule VALUES ('exit', '', '', '4137', '0', '', 'exit'); -INSERT INTO cp_rule VALUES ('continue', '', '', '4139', '0', '', 'post'); -INSERT INTO cp_rule VALUES ('satisfied', 'atLeastCount', '', '4141', '2', '', 'rollup'); -INSERT INTO cp_rule VALUES ('skip', '', '', '4188', '0', '', 'pre'); -INSERT INTO cp_rule VALUES ('skip', '', '', '4191', '0', '', 'pre'); -INSERT INTO cp_rule VALUES ('exit', '', '', '4194', '0', '', 'exit'); -INSERT INTO cp_rule VALUES ('retry', '', '', '4196', '0', '', 'post'); -INSERT INTO cp_rule VALUES ('skip', '', '', '4243', '0', '', 'pre'); -INSERT INTO cp_rule VALUES ('skip', '', '', '4246', '0', '', 'pre'); -INSERT INTO cp_rule VALUES ('exit', '', '', '4249', '0', '', 'exit'); -INSERT INTO cp_rule VALUES ('retry', '', '', '4251', '0', '', 'post'); -INSERT INTO cp_rule VALUES ('skip', '', '', '4298', '0', '', 'pre'); -INSERT INTO cp_rule VALUES ('exit', '', '', '4302', '0', '', 'exit'); -INSERT INTO cp_rule VALUES ('retry', '', '', '4304', '0', '', 'post'); -INSERT INTO cp_rule VALUES ('exit', '', '', '4355', '0', '', 'exit'); -INSERT INTO cp_rule VALUES ('exitParent', '', '', '4357', '0', '', 'post'); -INSERT INTO cp_rule VALUES ('incomplete', '', '', '4359', '0', '', 'rollup'); -INSERT INTO cp_rule VALUES ('satisfied', '', '', '4363', '0', '', 'rollup'); -INSERT INTO cp_rule VALUES ('previous', '', '', '4367', '0', '', 'post'); -INSERT INTO cp_rule VALUES ('completed', '', 'all', '4369', '0', '', 'rollup'); -INSERT INTO cp_rule VALUES ('exit', '', '', '4425', '0', '', 'exit'); -INSERT INTO cp_rule VALUES ('exitParent', '', '', '4427', '0', '', 'post'); -INSERT INTO cp_rule VALUES ('incomplete', '', '', '4429', '0', '', 'rollup'); -INSERT INTO cp_rule VALUES ('satisfied', '', '', '4433', '0', '', 'rollup'); -INSERT INTO cp_rule VALUES ('previous', '', '', '4436', '0', '', 'post'); -INSERT INTO cp_rule VALUES ('completed', '', 'all', '4438', '0', '', 'rollup'); -INSERT INTO cp_rule VALUES ('skip', '', '', '4486', '0', '', 'pre'); -INSERT INTO cp_rule VALUES ('exit', '', '', '4489', '0', '', 'exit'); -INSERT INTO cp_rule VALUES ('retryAll', '', '', '4491', '0', '', 'post'); -INSERT INTO cp_rule VALUES ('continue', '', '', '4493', '0', '', 'post'); -INSERT INTO cp_rule VALUES ('exit', '', '', '4540', '0', '', 'exit'); -INSERT INTO cp_rule VALUES ('previous', '', '', '4542', '0', '', 'post'); -INSERT INTO cp_rule VALUES ('completed', '', '', '4544', '0', '', 'rollup'); -INSERT INTO cp_rule VALUES ('exit', '', '', '4595', '0', '', 'exit'); -INSERT INTO cp_rule VALUES ('previous', '', '', '4597', '0', '', 'post'); -INSERT INTO cp_rule VALUES ('completed', '', '', '4599', '0', '', 'rollup'); -INSERT INTO cp_rule VALUES ('exit', '', '', '4638', '0', '', 'exit'); -INSERT INTO cp_rule VALUES ('previous', '', '', '4640', '0', '', 'post'); -INSERT INTO cp_rule VALUES ('retry', '', '', '4642', '0', '', 'post'); -INSERT INTO cp_rule VALUES ('notSatisfied', '', '', '4644', '0', '', 'rollup'); -INSERT INTO cp_rule VALUES ('exit', '', '', '4683', '0', '', 'exit'); -INSERT INTO cp_rule VALUES ('previous', '', '', '4685', '0', '', 'post'); -INSERT INTO cp_rule VALUES ('retry', '', '', '4687', '0', '', 'post'); -INSERT INTO cp_rule VALUES ('incomplete', '', '', '4689', '0', '', 'rollup'); -INSERT INTO cp_rule VALUES ('exit', '', '', '4721', '0', '', 'exit'); -INSERT INTO cp_rule VALUES ('previous', '', '', '4723', '0', '', 'post'); -INSERT INTO cp_rule VALUES ('satisfied', '', '', '4725', '0', '', 'rollup'); -INSERT INTO cp_rule VALUES ('exit', '', '', '4783', '0', '', 'exit'); -INSERT INTO cp_rule VALUES ('previous', '', '', '4785', '0', '', 'post'); -INSERT INTO cp_rule VALUES ('completed', '', '', '4787', '0', '', 'rollup'); -INSERT INTO cp_rule VALUES ('skip', '', '', '4825', '0', '', 'pre'); -INSERT INTO cp_rule VALUES ('skip', '', 'any', '4865', '0', '', 'pre'); -INSERT INTO cp_rule VALUES ('skip', '', '', '4923', '0', '', 'pre'); -INSERT INTO cp_rule VALUES ('skip', '', '', '4928', '0', '', 'pre'); -INSERT INTO cp_rule VALUES ('skip', '', '', '4933', '0', '', 'pre'); -INSERT INTO cp_rule VALUES ('skip', '', '', '4939', '0', '', 'pre'); -INSERT INTO cp_rule VALUES ('retryAll', '', 'any', '4941', '0', '', 'post'); -INSERT INTO cp_rule VALUES ('skip', '', '', '4951', '0', '', 'pre'); -INSERT INTO cp_rule VALUES ('skip', '', '', '4957', '0', '', 'pre'); -INSERT INTO cp_rule VALUES ('retryAll', '', 'any', '4959', '0', '', 'post'); -INSERT INTO cp_rule VALUES ('exitParent', '', '', '4969', '0', '', 'post'); -INSERT INTO cp_rule VALUES ('retry', '', '', '4983', '0', '', 'post'); -INSERT INTO cp_rule VALUES ('continue', '', '', '5024', '0', '', 'post'); -INSERT INTO cp_rule VALUES ('retry', '', '', '5026', '0', '', 'post'); -INSERT INTO cp_rule VALUES ('skip', '', '', '5069', '0', '', 'pre'); -INSERT INTO cp_rule VALUES ('skip', '', '', '5109', '0', '', 'pre'); -INSERT INTO cp_rule VALUES ('skip', '', '', '5149', '0', '', 'pre'); -INSERT INTO cp_rule VALUES ('exit', '', '', '5152', '0', '', 'exit'); -INSERT INTO cp_rule VALUES ('retry', '', '', '5154', '0', '', 'post'); -INSERT INTO cp_rule VALUES ('skip', '', '', '5205', '0', '', 'pre'); -INSERT INTO cp_rule VALUES ('skip', '', '', '5209', '0', '', 'pre'); -INSERT INTO cp_rule VALUES ('skip', '', '', '5212', '0', '', 'pre'); -INSERT INTO cp_rule VALUES ('skip', '', '', '5264', '0', '', 'pre'); -INSERT INTO cp_rule VALUES ('skip', '', '', '5267', '0', '', 'pre'); -INSERT INTO cp_rule VALUES ('skip', '', '', '5271', '0', '', 'pre'); -INSERT INTO cp_rule VALUES ('exit', '', '', '5455', '0', '', 'exit'); -INSERT INTO cp_rule VALUES ('continue', '', '', '5457', '0', '', 'post'); -INSERT INTO cp_rule VALUES ('exit', '', '', '5468', '0', '', 'exit'); -INSERT INTO cp_rule VALUES ('notSatisfied', 'any', '', '5470', '0', '', 'rollup'); -INSERT INTO cp_rule VALUES ('skip', '', '', '5473', '0', '', 'pre'); -INSERT INTO cp_rule VALUES ('completed', '', '', '5475', '0', '', 'rollup'); -INSERT INTO cp_rule VALUES ('skip', '', '', '5478', '0', '', 'pre'); -INSERT INTO cp_rule VALUES ('skip', '', '', '5481', '0', '', 'pre'); -INSERT INTO cp_rule VALUES ('completed', '', '', '5483', '0', '', 'rollup'); -INSERT INTO cp_rule VALUES ('exit', '', '', '5486', '0', '', 'exit'); -INSERT INTO cp_rule VALUES ('exit', '', '', '5678', '0', '', 'exit'); -INSERT INTO cp_rule VALUES ('continue', '', '', '5680', '0', '', 'post'); -INSERT INTO cp_rule VALUES ('exit', '', '', '5691', '0', '', 'exit'); -INSERT INTO cp_rule VALUES ('notSatisfied', 'any', '', '5693', '0', '', 'rollup'); -INSERT INTO cp_rule VALUES ('skip', '', '', '5696', '0', '', 'pre'); -INSERT INTO cp_rule VALUES ('completed', '', '', '5698', '0', '', 'rollup'); -INSERT INTO cp_rule VALUES ('skip', '', '', '5701', '0', '', 'pre'); -INSERT INTO cp_rule VALUES ('skip', '', '', '5704', '0', '', 'pre'); -INSERT INTO cp_rule VALUES ('completed', '', '', '5706', '0', '', 'rollup'); -INSERT INTO cp_rule VALUES ('exit', '', '', '5709', '0', '', 'exit'); -INSERT INTO cp_rule VALUES ('completed', '', '', '6364', '0', '', 'rollup'); -INSERT INTO cp_rule VALUES ('exit', '', '', '6368', '0', '', 'exit'); -INSERT INTO cp_rule VALUES ('satisfied', '', '', '6370', '0', '', 'rollup'); -INSERT INTO cp_rule VALUES ('notSatisfied', 'any', '', '6372', '0', '', 'rollup'); -INSERT INTO cp_rule VALUES ('completed', '', '', '6592', '0', '', 'rollup'); -INSERT INTO cp_rule VALUES ('exit', '', '', '6596', '0', '', 'exit'); -INSERT INTO cp_rule VALUES ('satisfied', '', '', '6598', '0', '', 'rollup'); -INSERT INTO cp_rule VALUES ('notSatisfied', 'any', '', '6600', '0', '', 'rollup'); -INSERT INTO cp_rule VALUES ('completed', '', '', '6820', '0', '', 'rollup'); -INSERT INTO cp_rule VALUES ('exit', '', '', '6824', '0', '', 'exit'); -INSERT INTO cp_rule VALUES ('satisfied', '', '', '6826', '0', '', 'rollup'); -INSERT INTO cp_rule VALUES ('notSatisfied', 'any', '', '6828', '0', '', 'rollup'); -INSERT INTO cp_rule VALUES ('exitParent', '', '', '6901', '0', '', 'post'); -INSERT INTO cp_rule VALUES ('retry', '', '', '6904', '0', '', 'post'); -INSERT INTO cp_rule VALUES ('exitParent', '', '', '6907', '0', '', 'post'); -INSERT INTO cp_rule VALUES ('skip', '', '', '6910', '0', '', 'pre'); -INSERT INTO cp_rule VALUES ('skip', '', '', '6913', '0', '', 'pre'); -INSERT INTO cp_rule VALUES ('exitParent', '', '', '6917', '0', '', 'post'); -INSERT INTO cp_rule VALUES ('skip', '', '', '6920', '0', '', 'pre'); -INSERT INTO cp_rule VALUES ('exitParent', '', '', '7002', '0', '', 'post'); -INSERT INTO cp_rule VALUES ('retry', '', '', '7005', '0', '', 'post'); -INSERT INTO cp_rule VALUES ('exitParent', '', '', '7008', '0', '', 'post'); -INSERT INTO cp_rule VALUES ('skip', '', '', '7011', '0', '', 'pre'); -INSERT INTO cp_rule VALUES ('skip', '', '', '7014', '0', '', 'pre'); -INSERT INTO cp_rule VALUES ('exitParent', '', '', '7018', '0', '', 'post'); -INSERT INTO cp_rule VALUES ('skip', '', '', '7021', '0', '', 'pre'); -# -------------------------------------------------------- - - -# -# Dumping data for table: cp_sequencing -# -INSERT INTO cp_sequencing VALUES ('0', '0', 'P5Y6M4DT12H30M58S', '0', '0', '0', 'false', 'false', 'false', 'false', '119', '0', 'false', 'false', 'id3004973', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '120', '0', 'false', 'false', 'id3000020', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', 'P5Y6M4DT12H30M58S', '0', '0', '0', 'false', 'false', 'false', 'false', '122', '0', 'false', 'false', 'id2784313', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '124', '0', 'true', 'false', 'id3022114', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '150', '0', 'false', 'false', 'id2681375', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '154', '0', 'false', 'false', 'id2681311', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '156', '0', 'true', 'false', 'id2681290', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '191', '0', 'false', 'false', 'id2688724', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '196', '0', 'false', 'false', 'id2688740', 'false', '0', 'true', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '201', '0', 'false', 'false', 'id2688775', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '204', '0', 'true', 'false', 'id2689463', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '235', '0', 'false', 'false', 'id2813310', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '238', '0', 'false', 'false', 'id2835189', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '244', '0', 'true', 'false', 'id2813287', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '245', '0', 'false', 'false', 'id2813412', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '249', '0', 'false', 'false', 'id2813486', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '253', '0', 'false', 'false', 'id2819729', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '257', '0', 'true', 'false', 'id2835331', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '258', '0', 'true', 'false', 'id2818691', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '307', '0', 'false', 'false', 'id2684104', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '310', '0', 'false', 'false', 'id2683998', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '317', '0', 'true', 'false', 'id2683920', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '318', '0', 'false', 'false', 'id2683813', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '322', '0', 'false', 'false', 'id2683695', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '326', '0', 'false', 'false', 'id2683563', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '330', '0', 'true', 'false', 'id2683484', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '331', '0', 'true', 'false', 'id2683399', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '399', '0', 'true', 'false', 'id2784280', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '437', '0', 'true', 'false', 'id2688676', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '438', '0', 'true', 'false', 'id2688662', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '441', '0', 'true', 'false', 'id2690845', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '442', '0', 'true', 'false', 'id2690686', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '510', '0', 'true', 'false', 'id2684529', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '511', '0', 'true', 'false', 'id2684033', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '514', '0', 'true', 'false', 'id2683882', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '582', '0', 'true', 'false', 'id2829866', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '635', '0', 'true', 'false', 'id3028815', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '636', '0', 'true', 'false', 'id3022102', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '637', '0', 'true', 'false', 'id3042067', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '672', '0', 'true', 'false', 'id2827862', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '716', '0', 'false', 'false', 'id2813725', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '719', '0', 'true', 'false', 'id2815570', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '720', '0', 'false', 'false', 'id2832153', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '721', '0', 'true', 'false', 'id2837640', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '722', '0', 'false', 'false', 'id2837777', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '723', '0', 'false', 'false', 'id2837306', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '726', '0', 'true', 'false', 'id2813936', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '727', '0', 'true', 'false', 'id2813947', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '728', '0', 'true', 'false', 'id2837362', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '779', '0', 'false', 'false', 'id3024937', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '782', '0', 'true', 'false', 'id3020067', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '783', '0', 'true', 'false', 'id3028800', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '784', '0', 'true', 'false', 'id3022124', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '787', '0', 'true', 'false', 'id3020285', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '788', '0', 'false', 'false', 'id3020228', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '791', '0', 'false', 'false', 'id3024605', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '794', '0', 'true', 'false', 'id3024549', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '795', '0', 'true', 'false', 'id3020988', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '796', '0', 'true', 'false', 'id3020956', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '1', '0', 'false', 'false', 'false', 'false', '837', '0', 'false', 'false', 'id2621964', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '838', '0', 'true', 'false', 'id2621923', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '839', '0', 'false', 'false', 'id2621788', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '842', '0', 'true', 'false', 'id2621754', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '843', '0', 'true', 'false', 'id2621616', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '846', '0', 'true', 'false', 'id2621504', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '1', '0', 'false', 'false', 'false', 'false', '847', '0', 'true', 'false', 'id2621435', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '848', '0', 'true', 'false', 'id2621419', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '849', '0', 'false', 'false', 'id2621312', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '852', '0', 'true', 'false', 'id2621296', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '853', '0', 'true', 'false', 'id2621280', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '894', '0', 'true', 'false', 'id2676334', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'true', '895', '0', 'false', 'false', 'id2676165', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'true', '896', '0', 'false', 'false', 'id2676063', 'false', '0', 'false', 'true', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '897', '0', 'true', 'false', 'id2676043', 'false', '0', 'false', 'true', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'true', '898', '0', 'true', 'false', 'id2675982', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'true', '899', '0', 'true', 'false', 'id2675940', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'true', '900', '0', 'true', 'false', 'id2675857', 'false', '0', 'false', 'true', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '901', '0', 'true', 'false', 'id2675796', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '930', '0', 'true', 'false', 'id2618515', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '933', '0', 'true', 'false', 'id2619344', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '934', '0', 'true', 'false', 'id2619357', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '961', '0', 'false', 'false', 'id2680596', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '964', '0', 'true', 'false', 'id2680488', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '989', '0', 'false', 'false', 'id2682236', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', 'GeneralSequencing', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '992', '0', 'false', 'false', 'id2681702', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '993', '0', 'true', 'false', 'GeneralSequencing', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '1090', '0', 'false', 'false', 'id2624021', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '1092', '0', 'false', 'false', 'id2623911', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '1094', '0', 'false', 'false', 'id2623838', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '1096', '0', 'false', 'false', 'id2623724', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '1098', '0', 'false', 'false', 'id2623628', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '1100', '0', 'false', 'false', 'id2623522', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '1196', '0', 'false', 'false', 'id2623667', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '1197', '0', 'true', 'false', 'id2623509', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '1200', '0', 'true', 'false', 'id2623293', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '1244', '0', 'false', 'false', 'id2631163', 'false', '0.75', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '1245', '0', 'false', 'false', 'id2625279', 'false', '0.25', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '1246', '0', 'false', 'false', 'id2630740', 'false', '0.25', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '1247', '0', 'true', 'false', 'id2630752', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '1250', '0', 'true', 'false', 'id2628852', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '1294', '0', 'false', 'false', 'id3078556', 'false', '0.5', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '1295', '0', 'false', 'false', 'id3078599', 'false', '0.0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '1296', '0', 'false', 'false', 'id3111807', 'false', '0.25', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '1297', '0', 'true', 'false', 'id3111817', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '1300', '0', 'true', 'false', 'id3106767', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '1329', '0', 'false', 'false', 'id2836477', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '1330', '0', 'false', 'false', 'id2838200', 'false', '0.25', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '1331', '0', 'true', 'false', 'id2836564', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '1334', '0', 'true', 'false', 'id2835041', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '1363', '0', 'false', 'false', 'id2821682', 'false', '0.25', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '1364', '0', 'true', 'false', 'id2832248', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '1370', '0', 'true', 'false', 'id2835031', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '1414', '0', 'false', 'false', 'id2689649', 'false', '0.25', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '1415', '0', 'true', 'false', 'id2689660', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '1421', '0', 'true', 'false', 'id2683209', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '1465', '0', 'false', 'false', 'id2692447', 'false', '0.25', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '1466', '0', 'true', 'false', 'id2684182', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '1474', '0', 'true', 'false', 'id2686492', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '1509', '0', 'false', 'false', 'id2684515', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '1512', '0', 'false', 'false', 'id2684181', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '1517', '0', 'true', 'false', 'id2684391', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '1552', '0', 'false', 'false', 'id2835613', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '1555', '0', 'false', 'false', 'id2834911', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '1560', '0', 'true', 'false', 'id2835415', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '1595', '0', 'false', 'false', 'id2680072', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '1598', '0', 'false', 'false', 'id2682456', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '1603', '0', 'true', 'false', 'id2679887', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '1638', '0', 'false', 'false', 'id2680029', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '1642', '0', 'false', 'false', 'id2680065', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '1648', '0', 'true', 'false', 'id2679756', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '1674', '0', 'false', 'false', 'id2678657', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '1678', '0', 'false', 'false', 'id2678572', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '1684', '0', 'true', 'false', 'id2678483', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '1719', '0', 'false', 'false', 'id2836190', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '1723', '0', 'false', 'false', 'id2832296', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '1727', '0', 'false', 'false', 'id2821209', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '1731', '0', 'true', 'false', 'id2816557', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '1784', '0', 'false', 'false', 'id3020934', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '1789', '0', 'false', 'false', 'id3028833', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '1794', '0', 'true', 'false', 'id3074114', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '1799', '0', 'false', 'false', 'id3041086', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '1804', '0', 'false', 'false', 'id3094598', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '1809', '0', 'true', 'false', 'id3022408', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '1810', '0', 'true', 'false', 'id3028734', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '1863', '0', 'false', 'false', 'id2619264', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '1868', '0', 'false', 'false', 'id2619009', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '1873', '0', 'true', 'false', 'id2618856', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '1878', '0', 'false', 'false', 'id2618648', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '1883', '0', 'false', 'false', 'id2618531', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '1891', '0', 'true', 'false', 'id2618402', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '1892', '0', 'true', 'false', 'id2618316', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '1940', '0', 'false', 'false', 'id2691977', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '1944', '0', 'false', 'false', 'id2834923', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '1947', '0', 'false', 'false', 'id2849373', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '1950', '0', 'false', 'false', 'id2843005', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '1953', '0', 'false', 'false', 'id2813760', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '1956', '0', 'true', 'false', 'id2813658', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '1961', '0', 'true', 'false', 'id2836318', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '2000', '0', 'false', 'false', 'id2836202', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '2003', '0', 'false', 'false', 'id2834977', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '2008', '0', 'false', 'false', 'id2835142', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '2013', '0', 'true', 'false', 'id2833703', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '2052', '0', 'false', 'false', 'id3024654', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '2055', '0', 'false', 'false', 'id3074260', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '2060', '0', 'false', 'false', 'id3041974', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '2065', '0', 'true', 'false', 'id3024934', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '2100', '0', 'false', 'false', 'id2676157', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '2103', '0', 'false', 'false', 'id2676107', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '2108', '0', 'true', 'false', 'id2680434', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '2152', '0', 'false', 'false', 'id3025741', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '2155', '0', 'true', 'false', 'id3082989', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '2164', '0', 'true', 'false', 'id3042076', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '2199', '0', 'false', 'false', 'id2685266', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '2202', '0', 'false', 'false', 'id2685192', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '2208', '0', 'false', 'false', 'id2681135', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '2212', '0', 'true', 'false', 'id2685286', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '2247', '0', 'false', 'false', 'id3082998', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '2250', '0', 'false', 'false', 'id3020248', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '2255', '0', 'false', 'false', 'id3024613', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '2259', '0', 'true', 'false', 'id3099498', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '2298', '0', 'false', 'false', 'id3059082', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '2301', '0', 'false', 'false', 'id3024255', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '2308', '0', 'false', 'false', 'id3027207', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '2316', '0', 'false', 'false', 'id3024933', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '2323', '0', 'true', 'false', 'id3018439', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '2362', '0', 'false', 'false', 'id2813980', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '2365', '0', 'false', 'false', 'id2836377', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '2372', '0', 'false', 'false', 'id2821677', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '2380', '0', 'false', 'false', 'id2847475', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '2387', '0', 'true', 'false', 'id2813752', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '2422', '0', 'false', 'false', 'id2833749', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '2427', '0', 'false', 'false', 'id2836002', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '2432', '0', 'false', 'false', 'id2836376', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '2438', '0', 'true', 'false', 'id2835854', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '2477', '0', 'false', 'false', 'id2684985', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '2482', '0', 'false', 'false', 'id2690601', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '2487', '0', 'false', 'false', 'id2689989', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '2493', '0', 'true', 'false', 'id2688473', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '2523', '0', 'false', 'false', 'id2623602', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '2526', '0', 'false', 'false', 'id2623520', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '2531', '0', 'false', 'false', 'id2623422', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '2534', '0', 'true', 'false', 'id2623394', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '2569', '0', 'false', 'false', 'id3085765', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '2572', '0', 'false', 'false', 'id3022395', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '2577', '0', 'false', 'false', 'id3022470', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '2580', '0', 'true', 'false', 'id3024558', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '2615', '0', 'false', 'false', 'id3021295', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '2619', '0', 'false', 'false', 'id3020449', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '2624', '0', 'false', 'false', 'id3020211', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '2627', '0', 'true', 'false', 'id3036101', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '2662', '0', 'false', 'false', 'id3021031', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '2668', '0', 'false', 'false', 'id3024205', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '2673', '0', 'false', 'false', 'id3020790', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '2676', '0', 'true', 'false', 'id3024238', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '2711', '0', 'false', 'false', 'id3085660', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '2715', '0', 'false', 'false', 'id3024627', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '2721', '0', 'false', 'false', 'id3024005', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '2725', '0', 'true', 'false', 'id2784294', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '2760', '0', 'false', 'false', 'id2684186', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '2766', '0', 'false', 'false', 'id2623396', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '2772', '0', 'false', 'false', 'id2623266', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '2776', '0', 'true', 'false', 'id2623206', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '2811', '0', 'false', 'false', 'id3036015', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '2817', '0', 'true', 'false', 'id3024614', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '2852', '0', 'false', 'false', 'id3020214', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '2858', '0', 'true', 'false', 'id3024649', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '2893', '0', 'false', 'false', 'id2691063', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '2899', '0', 'true', 'false', 'id2685932', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '2938', '0', 'false', 'false', 'id2686031', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '2942', '0', 'false', 'false', 'id2687289', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '2949', '0', 'true', 'false', 'id2687756', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '2988', '0', 'false', 'false', 'id2821445', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '2992', '0', 'false', 'false', 'id2835105', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '2999', '0', 'true', 'false', 'id2832065', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '3038', '0', 'false', 'false', 'id2678375', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '3042', '0', 'false', 'false', 'id2678294', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '3049', '0', 'true', 'false', 'id2678078', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '3084', '0', 'false', 'false', 'id2843381', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '3094', '0', 'false', 'false', 'id2834918', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '3106', '0', 'false', 'false', 'id2836192', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '3118', '0', 'true', 'false', 'id2832072', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '3157', '0', 'false', 'false', 'id2835369', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '3167', '0', 'false', 'false', 'id2836423', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '3176', '0', 'false', 'false', 'id2843361', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '3186', '0', 'false', 'false', 'id2835730', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '3193', '0', 'true', 'false', 'id2836467', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '3241', '0', 'false', 'false', 'id2620143', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '3244', '0', 'false', 'false', 'id2620044', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '3247', '0', 'false', 'false', 'id2619908', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '3250', '0', 'false', 'false', 'id2619802', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '3253', '0', 'true', 'false', 'id2619736', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '3258', '0', 'false', 'false', 'id2619599', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '3265', '0', 'true', 'false', 'id2619353', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '3309', '0', 'true', 'false', 'id3020417', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '3314', '0', 'true', 'false', 'id3023482', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '3358', '0', 'true', 'false', 'id2676129', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '3363', '0', 'true', 'false', 'id2676050', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '3392', '0', 'true', 'false', 'id2834929', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '3397', '0', 'true', 'false', 'id2815727', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '3441', '0', 'true', 'false', 'id2676502', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '3446', '0', 'true', 'false', 'id2676424', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '3490', '0', 'true', 'false', 'id2686379', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '3497', '0', 'true', 'false', 'id2687602', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '3541', '0', 'true', 'false', 'id2835303', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '3548', '0', 'true', 'false', 'id2839516', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '3592', '0', 'true', 'false', 'id2836314', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '3600', '0', 'true', 'false', 'id2836275', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '3644', '0', 'true', 'false', 'id2686169', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '3652', '0', 'true', 'false', 'id2685338', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '3696', '0', 'true', 'false', 'id2697094', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '3704', '0', 'true', 'false', 'id2698800', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '3748', '0', 'true', 'false', 'id2997725', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '3756', '0', 'true', 'false', 'id3020230', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '3800', '0', 'true', 'false', 'id2999935', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '3808', '0', 'true', 'false', 'id3024577', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '3852', '0', 'true', 'false', 'id2706518', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '3860', '0', 'true', 'false', 'id2691069', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '3889', '0', 'true', 'false', 'id2694654', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '3897', '0', 'true', 'false', 'id2697061', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '3941', '0', 'true', 'false', 'id2820463', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '3949', '0', 'true', 'false', 'id2832273', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '3993', '0', 'true', 'false', 'id3021205', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '4000', '0', 'true', 'false', 'id3003369', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '4044', '0', 'true', 'false', 'id2836321', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '4051', '0', 'true', 'false', 'id2820429', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '4091', '0', 'true', 'false', 'id2835665', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '4096', '0', 'true', 'false', 'id2844067', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '4136', '0', 'true', 'false', 'id2820358', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '4143', '0', 'true', 'false', 'id2835664', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '1', '0', 'false', 'false', 'false', 'false', '4187', '0', 'false', 'false', 'id2832236', 'false', '0', 'false', 'false', '', 'false', '', '', 'ifNotSkipped', 'ifNotSkipped', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '4190', '0', 'false', 'false', 'id2850277', 'false', '0', 'false', 'false', '', 'false', 'ifAttempted', '', 'ifAttempted', 'ifAttempted', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '4193', '0', 'true', 'false', 'id2836245', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '4198', '0', 'true', 'false', 'id2832252', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '1', '0', 'false', 'false', 'false', 'false', '4242', '0', 'false', 'false', 'id2835912', 'false', '0', 'false', 'false', '', 'false', '', '', '', 'ifNotSkipped', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '4245', '0', 'false', 'false', 'id2815734', 'false', '0', 'false', 'false', '', 'false', 'ifAttempted', '', '', 'ifAttempted', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '4248', '0', 'true', 'false', 'id2853206', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '4253', '0', 'true', 'false', 'id2850246', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '2', '0', 'false', 'false', 'false', 'false', '4297', '0', 'true', 'false', 'id2849899', 'false', '0', 'false', 'false', '', 'false', '', '', '', 'ifNotSkipped', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '4300', '0', 'false', 'false', 'id2859301', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '4301', '0', 'true', 'false', 'id2852293', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '4354', '0', 'true', 'false', 'id3099562', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '4365', '0', 'false', 'false', 'id3112339', 'false', '0', 'false', 'false', '', 'false', 'ifAttempted', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '4366', '0', 'true', 'false', 'id3093412', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '4372', '0', 'true', 'false', 'id3094007', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'true', 'false', '4421', '0', 'false', 'false', 'id2835367', 'false', '0', 'true', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'true', 'false', '4422', '0', 'false', 'false', 'id2835628', 'false', '0', 'true', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'true', 'false', '4423', '0', 'false', 'false', 'id2832247', 'false', '0', 'true', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '4424', '0', 'true', 'false', 'id2857593', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '4435', '0', 'true', 'false', 'id2835519', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '4441', '0', 'true', 'false', 'id2835144', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '2', '0', 'false', 'false', 'false', 'false', '4485', '0', 'false', 'false', 'id2623309', 'false', '0', 'false', 'false', '', 'false', 'ifNotSkipped', 'ifNotSkipped', '', 'ifNotSkipped', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '4488', '0', 'true', 'false', 'id2623166', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '4495', '0', 'true', 'false', 'id2622963', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '4539', '0', 'true', 'false', 'id2693746', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '4546', '0', 'true', 'false', 'id2695362', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '4590', '0', 'false', 'false', 'id2835269', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '4592', '0', 'false', 'false', 'id2835169', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '4593', '0', 'false', 'false', 'id2817750', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '4594', '0', 'true', 'false', 'id2817761', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '4601', '0', 'true', 'false', 'id2821665', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '4637', '0', 'true', 'false', 'id2621117', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '4646', '0', 'true', 'false', 'id2620884', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '4682', '0', 'true', 'false', 'id2681832', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '4691', '0', 'true', 'false', 'id2681527', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '4720', '0', 'true', 'false', 'id2836148', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '4727', '0', 'true', 'false', 'id2868122', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '4771', '0', 'false', 'false', 'id2699284', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '4779', '0', 'false', 'false', 'id2698909', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '4782', '0', 'true', 'false', 'id2699004', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '4789', '0', 'true', 'false', 'id2698680', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '4824', '0', 'false', 'false', 'id2624783', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '4829', '0', 'true', 'false', 'id2696373', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '4864', '0', 'false', 'false', 'id3000006', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '4868', '0', 'true', 'false', 'id3005863', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '4922', '0', 'false', 'false', 'id2686705', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '4927', '0', 'false', 'false', 'id2687557', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '4932', '0', 'false', 'false', 'id2699316', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '4938', '0', 'false', 'false', 'id2696380', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '4949', '0', 'true', 'false', 'id2699280', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '4950', '0', 'false', 'false', 'id2686689', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '4956', '0', 'false', 'false', 'id2699208', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '4967', '0', 'true', 'false', 'id2696287', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '4968', '0', 'false', 'false', 'id2681469', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '4982', '0', 'true', 'false', 'id2698812', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '4988', '0', 'true', 'false', 'id2695987', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '5023', '0', 'false', 'false', 'id3095010', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '5028', '0', 'true', 'false', 'id3003378', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '5068', '0', 'false', 'false', 'id2837123', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '5071', '0', 'true', 'false', 'id2837196', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '5072', '0', 'true', 'false', 'id2862126', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '5108', '0', 'false', 'false', 'id2837340', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '5111', '0', 'true', 'false', 'id2836154', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '5112', '0', 'true', 'false', 'id2834188', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '5148', '0', 'false', 'false', 'id2837019', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '5151', '0', 'true', 'false', 'id2861852', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '5156', '0', 'true', 'false', 'id2817705', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '5204', '0', 'false', 'false', 'id2862147', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '5208', '0', 'false', 'false', 'id2812723', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '5211', '0', 'false', 'false', 'id2837145', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '5214', '0', 'true', 'false', 'id2813984', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '5215', '0', 'true', 'false', 'id2837821', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '5263', '0', 'false', 'false', 'id2834249', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '5266', '0', 'false', 'false', 'id2836098', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '5270', '0', 'false', 'false', 'id2835895', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '5273', '0', 'true', 'false', 'id2818780', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '5274', '0', 'true', 'false', 'id2861765', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '5426', '0', 'false', 'false', 'id2675739', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '5427', '0', 'false', 'false', 'id2675451', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', 'pretest', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '5430', '0', 'false', 'false', 'id2675173', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', 'lessons', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '5433', '0', 'false', 'false', 'id2674918', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', 'posttest', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '5436', '0', 'false', 'false', 'id2674604', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', 'pretest', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '5439', '0', 'false', 'false', 'id2674322', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', 'lessons', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '5442', '0', 'false', 'false', 'id2668217', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', 'posttest', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '5445', '0', 'false', 'false', 'id2668137', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', 'pretest', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '5448', '0', 'false', 'false', 'id2678102', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', 'lessons', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '5451', '0', 'false', 'false', 'id2618945', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', 'posttest', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '5454', '0', 'true', 'false', 'id2675998', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '1', '0', 'false', 'false', 'false', 'false', '5459', '0', 'false', 'false', 'id2678246', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '5467', '0', 'true', 'false', 'id2675932', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '1', '0', 'false', 'false', 'false', 'false', '5472', '0', 'true', 'false', 'pretest', 'false', '0', 'false', 'false', '', 'false', 'ifAttempted', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '5477', '0', 'true', 'false', 'lessons', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '1', '0', 'false', 'false', 'false', 'false', '5480', '0', 'true', 'false', 'posttest', 'false', '0', 'false', 'false', '', 'false', 'ifNotSkipped', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '5485', '0', 'true', 'false', 'module', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '5639', '0', 'false', 'false', 'id2820366', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '5640', '0', 'false', 'false', 'id2820213', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', 'pretest', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '5643', '0', 'false', 'false', 'id2843255', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '5646', '0', 'false', 'false', 'id2820281', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '5653', '0', 'false', 'false', 'id2837293', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', 'lessons', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '5656', '0', 'false', 'false', 'id2820160', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', 'posttest', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '5659', '0', 'false', 'false', 'id2850173', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', 'pretest', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '5662', '0', 'false', 'false', 'id2820322', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', 'lessons', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '5665', '0', 'false', 'false', 'id2843649', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', 'posttest', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '5668', '0', 'false', 'false', 'id2837175', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', 'pretest', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '5671', '0', 'false', 'false', 'id2820477', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', 'lessons', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '5674', '0', 'false', 'false', 'id2843571', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', 'posttest', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '5677', '0', 'true', 'false', 'id2837025', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '1', '0', 'false', 'false', 'false', 'false', '5682', '0', 'false', 'false', 'id2837119', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '5690', '0', 'true', 'false', 'id2817663', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '1', '0', 'false', 'false', 'false', 'false', '5695', '0', 'true', 'false', 'pretest', 'false', '0', 'false', 'false', '', 'false', 'ifAttempted', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '5700', '0', 'true', 'false', 'lessons', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '1', '0', 'false', 'false', 'false', 'false', '5703', '0', 'true', 'false', 'posttest', 'false', '0', 'false', 'false', '', 'false', 'ifNotSkipped', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '5708', '0', 'true', 'false', 'module', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '6359', '0', 'false', 'false', 'id382584', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '6360', '0', 'true', 'false', 'id382558', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '6361', '0', 'true', 'false', 'id382538', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '6362', '0', 'true', 'false', 'id382425', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '6363', '0', 'true', 'false', 'id382240', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '6367', '0', 'true', 'false', 'id382106', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '6587', '0', 'false', 'false', 'id384142', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '6588', '0', 'true', 'false', 'id383693', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '6589', '0', 'true', 'false', 'id383741', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '6590', '0', 'true', 'false', 'id383789', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '6591', '0', 'true', 'false', 'id383606', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '6595', '0', 'true', 'false', 'id383665', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '6815', '0', 'false', 'false', 'id384077', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '6816', '0', 'true', 'false', 'id384117', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '6817', '0', 'true', 'false', 'id383992', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '6818', '0', 'true', 'false', 'id384048', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '6819', '0', 'true', 'false', 'id383725', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '6823', '0', 'true', 'false', 'id383785', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '6899', '0', 'false', 'false', 'id381365', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', 'sequencing_c9c0a2a07aaf4c4d987e7c1cc90de4da', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '6900', '0', 'false', 'false', 'id380281', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '6903', '0', 'false', 'false', 'id380310', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', 'sequencing_c9c0a2a07aaf4c4d987e7c1cc90de4da', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '6906', '0', 'false', 'false', 'id381473', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '6909', '0', 'false', 'false', 'id381502', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', 'sequencing_c9c0a2a07aaf4c4d987e7c1cc90de4da', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '6912', '0', 'false', 'false', 'id381312', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', 'sequencing_c9c0a2a07aaf4c4d987e7c1cc90de4da', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '6916', '0', 'false', 'false', 'id381240', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '6919', '0', 'false', 'false', 'id381269', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', 'sequencing_c9c0a2a07aaf4c4d987e7c1cc90de4da', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '6923', '0', 'true', 'false', 'sequencing_c9c0a2a07aaf4c4d987e7c1cc90de4da', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '7000', '0', 'false', 'false', 'id382028', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', 'sequencing_c9c0a2a07aaf4c4d987e7c1cc90de4da', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '7001', '0', 'false', 'false', 'id382139', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '7004', '0', 'false', 'false', 'id382072', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', 'sequencing_c9c0a2a07aaf4c4d987e7c1cc90de4da', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '7007', '0', 'false', 'false', 'id381856', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '7010', '0', 'false', 'false', 'id381884', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', 'sequencing_c9c0a2a07aaf4c4d987e7c1cc90de4da', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '7013', '0', 'false', 'false', 'id381946', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', 'sequencing_c9c0a2a07aaf4c4d987e7c1cc90de4da', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '7017', '0', 'false', 'false', 'id381668', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '7020', '0', 'false', 'false', 'id381696', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', 'sequencing_c9c0a2a07aaf4c4d987e7c1cc90de4da', 'false', 'false', 'false'); -INSERT INTO cp_sequencing VALUES ('0', '0', '0', '0', '0', '0', 'false', 'false', 'false', 'false', '7024', '0', 'true', 'false', 'sequencing_c9c0a2a07aaf4c4d987e7c1cc90de4da', 'false', '0', 'false', 'false', '', 'false', '', '', '', '', 'false', 'false', '0', '', '', 'false', 'false', 'false'); -# -------------------------------------------------------- - - -# -# Dumping data for table: cp_tree -# -INSERT INTO cp_tree VALUES ('1', '1', '1', '146', '0', '84'); -INSERT INTO cp_tree VALUES ('2', '2', '2', '146', '1', '15'); -INSERT INTO cp_tree VALUES ('3', '3', '3', '146', '2', '6'); -INSERT INTO cp_tree VALUES ('4', '4', '4', '146', '3', '5'); -INSERT INTO cp_tree VALUES ('5', '3', '7', '146', '2', '10'); -INSERT INTO cp_tree VALUES ('6', '4', '8', '146', '5', '9'); -INSERT INTO cp_tree VALUES ('7', '3', '11', '146', '2', '14'); -INSERT INTO cp_tree VALUES ('8', '4', '12', '146', '7', '13'); -INSERT INTO cp_tree VALUES ('9', '2', '16', '146', '1', '29'); -INSERT INTO cp_tree VALUES ('10', '3', '17', '146', '9', '18'); -INSERT INTO cp_tree VALUES ('11', '3', '19', '146', '9', '20'); -INSERT INTO cp_tree VALUES ('12', '3', '21', '146', '9', '22'); -INSERT INTO cp_tree VALUES ('13', '3', '23', '146', '9', '24'); -INSERT INTO cp_tree VALUES ('14', '3', '25', '146', '9', '26'); -INSERT INTO cp_tree VALUES ('15', '3', '27', '146', '9', '28'); -INSERT INTO cp_tree VALUES ('16', '2', '30', '146', '1', '43'); -INSERT INTO cp_tree VALUES ('17', '3', '31', '146', '16', '32'); -INSERT INTO cp_tree VALUES ('18', '3', '33', '146', '16', '34'); -INSERT INTO cp_tree VALUES ('19', '3', '35', '146', '16', '36'); -INSERT INTO cp_tree VALUES ('20', '3', '37', '146', '16', '38'); -INSERT INTO cp_tree VALUES ('21', '3', '39', '146', '16', '40'); -INSERT INTO cp_tree VALUES ('22', '3', '41', '146', '16', '42'); -INSERT INTO cp_tree VALUES ('23', '2', '44', '146', '1', '57'); -INSERT INTO cp_tree VALUES ('24', '3', '45', '146', '23', '46'); -INSERT INTO cp_tree VALUES ('25', '3', '47', '146', '23', '48'); -INSERT INTO cp_tree VALUES ('26', '3', '49', '146', '23', '50'); -INSERT INTO cp_tree VALUES ('27', '3', '51', '146', '23', '52'); -INSERT INTO cp_tree VALUES ('28', '3', '53', '146', '23', '54'); -INSERT INTO cp_tree VALUES ('29', '3', '55', '146', '23', '56'); -INSERT INTO cp_tree VALUES ('30', '2', '58', '146', '1', '61'); -INSERT INTO cp_tree VALUES ('31', '3', '59', '146', '30', '60'); -INSERT INTO cp_tree VALUES ('32', '2', '62', '146', '1', '65'); -INSERT INTO cp_tree VALUES ('33', '3', '63', '146', '32', '64'); -INSERT INTO cp_tree VALUES ('34', '2', '66', '146', '1', '71'); -INSERT INTO cp_tree VALUES ('35', '3', '67', '146', '34', '68'); -INSERT INTO cp_tree VALUES ('36', '3', '69', '146', '34', '70'); -INSERT INTO cp_tree VALUES ('37', '2', '72', '146', '1', '75'); -INSERT INTO cp_tree VALUES ('38', '3', '73', '146', '37', '74'); -INSERT INTO cp_tree VALUES ('39', '2', '76', '146', '1', '79'); -INSERT INTO cp_tree VALUES ('40', '3', '77', '146', '39', '78'); -INSERT INTO cp_tree VALUES ('41', '2', '80', '146', '1', '83'); -INSERT INTO cp_tree VALUES ('42', '3', '81', '146', '41', '82'); -INSERT INTO cp_tree VALUES ('43', '1', '1', '147', '0', '84'); -INSERT INTO cp_tree VALUES ('44', '2', '2', '147', '43', '15'); -INSERT INTO cp_tree VALUES ('45', '3', '3', '147', '44', '6'); -INSERT INTO cp_tree VALUES ('46', '4', '4', '147', '45', '5'); -INSERT INTO cp_tree VALUES ('47', '3', '7', '147', '44', '10'); -INSERT INTO cp_tree VALUES ('48', '4', '8', '147', '47', '9'); -INSERT INTO cp_tree VALUES ('49', '3', '11', '147', '44', '14'); -INSERT INTO cp_tree VALUES ('50', '4', '12', '147', '49', '13'); -INSERT INTO cp_tree VALUES ('51', '2', '16', '147', '43', '29'); -INSERT INTO cp_tree VALUES ('52', '3', '17', '147', '51', '18'); -INSERT INTO cp_tree VALUES ('53', '3', '19', '147', '51', '20'); -INSERT INTO cp_tree VALUES ('54', '3', '21', '147', '51', '22'); -INSERT INTO cp_tree VALUES ('55', '3', '23', '147', '51', '24'); -INSERT INTO cp_tree VALUES ('56', '3', '25', '147', '51', '26'); -INSERT INTO cp_tree VALUES ('57', '3', '27', '147', '51', '28'); -INSERT INTO cp_tree VALUES ('58', '2', '30', '147', '43', '43'); -INSERT INTO cp_tree VALUES ('59', '3', '31', '147', '58', '32'); -INSERT INTO cp_tree VALUES ('60', '3', '33', '147', '58', '34'); -INSERT INTO cp_tree VALUES ('61', '3', '35', '147', '58', '36'); -INSERT INTO cp_tree VALUES ('62', '3', '37', '147', '58', '38'); -INSERT INTO cp_tree VALUES ('63', '3', '39', '147', '58', '40'); -INSERT INTO cp_tree VALUES ('64', '3', '41', '147', '58', '42'); -INSERT INTO cp_tree VALUES ('65', '2', '44', '147', '43', '57'); -INSERT INTO cp_tree VALUES ('66', '3', '45', '147', '65', '46'); -INSERT INTO cp_tree VALUES ('67', '3', '47', '147', '65', '48'); -INSERT INTO cp_tree VALUES ('68', '3', '49', '147', '65', '50'); -INSERT INTO cp_tree VALUES ('69', '3', '51', '147', '65', '52'); -INSERT INTO cp_tree VALUES ('70', '3', '53', '147', '65', '54'); -INSERT INTO cp_tree VALUES ('71', '3', '55', '147', '65', '56'); -INSERT INTO cp_tree VALUES ('72', '2', '58', '147', '43', '61'); -INSERT INTO cp_tree VALUES ('73', '3', '59', '147', '72', '60'); -INSERT INTO cp_tree VALUES ('74', '2', '62', '147', '43', '65'); -INSERT INTO cp_tree VALUES ('75', '3', '63', '147', '74', '64'); -INSERT INTO cp_tree VALUES ('76', '2', '66', '147', '43', '71'); -INSERT INTO cp_tree VALUES ('77', '3', '67', '147', '76', '68'); -INSERT INTO cp_tree VALUES ('78', '3', '69', '147', '76', '70'); -INSERT INTO cp_tree VALUES ('79', '2', '72', '147', '43', '75'); -INSERT INTO cp_tree VALUES ('80', '3', '73', '147', '79', '74'); -INSERT INTO cp_tree VALUES ('81', '2', '76', '147', '43', '79'); -INSERT INTO cp_tree VALUES ('82', '3', '77', '147', '81', '78'); -INSERT INTO cp_tree VALUES ('83', '2', '80', '147', '43', '83'); -INSERT INTO cp_tree VALUES ('84', '3', '81', '147', '83', '82'); -INSERT INTO cp_tree VALUES ('85', '1', '1', '148', '0', '80'); -INSERT INTO cp_tree VALUES ('86', '2', '2', '148', '85', '27'); -INSERT INTO cp_tree VALUES ('87', '3', '3', '148', '86', '10'); -INSERT INTO cp_tree VALUES ('88', '4', '4', '148', '87', '5'); -INSERT INTO cp_tree VALUES ('89', '4', '6', '148', '87', '7'); -INSERT INTO cp_tree VALUES ('90', '4', '8', '148', '87', '9'); -INSERT INTO cp_tree VALUES ('91', '3', '11', '148', '86', '18'); -INSERT INTO cp_tree VALUES ('92', '4', '12', '148', '91', '13'); -INSERT INTO cp_tree VALUES ('93', '4', '14', '148', '91', '15'); -INSERT INTO cp_tree VALUES ('94', '4', '16', '148', '91', '17'); -INSERT INTO cp_tree VALUES ('95', '3', '19', '148', '86', '26'); -INSERT INTO cp_tree VALUES ('96', '4', '20', '148', '95', '21'); -INSERT INTO cp_tree VALUES ('97', '4', '22', '148', '95', '23'); -INSERT INTO cp_tree VALUES ('98', '4', '24', '148', '95', '25'); -INSERT INTO cp_tree VALUES ('99', '2', '28', '148', '85', '41'); -INSERT INTO cp_tree VALUES ('100', '3', '29', '148', '99', '30'); -INSERT INTO cp_tree VALUES ('101', '3', '31', '148', '99', '32'); -INSERT INTO cp_tree VALUES ('102', '3', '33', '148', '99', '34'); -INSERT INTO cp_tree VALUES ('103', '3', '35', '148', '99', '36'); -INSERT INTO cp_tree VALUES ('104', '3', '37', '148', '99', '38'); -INSERT INTO cp_tree VALUES ('105', '3', '39', '148', '99', '40'); -INSERT INTO cp_tree VALUES ('106', '2', '42', '148', '85', '45'); -INSERT INTO cp_tree VALUES ('107', '3', '43', '148', '106', '44'); -INSERT INTO cp_tree VALUES ('108', '2', '46', '148', '85', '49'); -INSERT INTO cp_tree VALUES ('109', '3', '47', '148', '108', '48'); -INSERT INTO cp_tree VALUES ('110', '2', '50', '148', '85', '53'); -INSERT INTO cp_tree VALUES ('111', '3', '51', '148', '110', '52'); -INSERT INTO cp_tree VALUES ('112', '2', '54', '148', '85', '59'); -INSERT INTO cp_tree VALUES ('113', '3', '55', '148', '112', '56'); -INSERT INTO cp_tree VALUES ('114', '3', '57', '148', '112', '58'); -INSERT INTO cp_tree VALUES ('115', '2', '60', '148', '85', '63'); -INSERT INTO cp_tree VALUES ('116', '3', '61', '148', '115', '62'); -INSERT INTO cp_tree VALUES ('117', '2', '64', '148', '85', '67'); -INSERT INTO cp_tree VALUES ('118', '3', '65', '148', '117', '66'); -INSERT INTO cp_tree VALUES ('119', '2', '68', '148', '85', '69'); -INSERT INTO cp_tree VALUES ('120', '2', '70', '148', '85', '73'); -INSERT INTO cp_tree VALUES ('121', '3', '71', '148', '120', '72'); -INSERT INTO cp_tree VALUES ('122', '2', '74', '148', '85', '77'); -INSERT INTO cp_tree VALUES ('123', '3', '75', '148', '122', '76'); -INSERT INTO cp_tree VALUES ('124', '2', '78', '148', '85', '79'); -INSERT INTO cp_tree VALUES ('125', '1', '1', '149', '0', '64'); -INSERT INTO cp_tree VALUES ('126', '2', '2', '149', '125', '9'); -INSERT INTO cp_tree VALUES ('127', '3', '3', '149', '126', '4'); -INSERT INTO cp_tree VALUES ('128', '3', '5', '149', '126', '6'); -INSERT INTO cp_tree VALUES ('129', '3', '7', '149', '126', '8'); -INSERT INTO cp_tree VALUES ('130', '2', '10', '149', '125', '23'); -INSERT INTO cp_tree VALUES ('131', '3', '11', '149', '130', '12'); -INSERT INTO cp_tree VALUES ('132', '3', '13', '149', '130', '14'); -INSERT INTO cp_tree VALUES ('133', '3', '15', '149', '130', '16'); -INSERT INTO cp_tree VALUES ('134', '3', '17', '149', '130', '18'); -INSERT INTO cp_tree VALUES ('135', '3', '19', '149', '130', '20'); -INSERT INTO cp_tree VALUES ('136', '3', '21', '149', '130', '22'); -INSERT INTO cp_tree VALUES ('137', '2', '24', '149', '125', '27'); -INSERT INTO cp_tree VALUES ('138', '3', '25', '149', '137', '26'); -INSERT INTO cp_tree VALUES ('139', '2', '28', '149', '125', '31'); -INSERT INTO cp_tree VALUES ('140', '3', '29', '149', '139', '30'); -INSERT INTO cp_tree VALUES ('141', '2', '32', '149', '125', '35'); -INSERT INTO cp_tree VALUES ('142', '3', '33', '149', '141', '34'); -INSERT INTO cp_tree VALUES ('143', '2', '36', '149', '125', '41'); -INSERT INTO cp_tree VALUES ('144', '3', '37', '149', '143', '38'); -INSERT INTO cp_tree VALUES ('145', '3', '39', '149', '143', '40'); -INSERT INTO cp_tree VALUES ('146', '2', '42', '149', '125', '45'); -INSERT INTO cp_tree VALUES ('147', '3', '43', '149', '146', '44'); -INSERT INTO cp_tree VALUES ('148', '2', '46', '149', '125', '49'); -INSERT INTO cp_tree VALUES ('149', '3', '47', '149', '148', '48'); -INSERT INTO cp_tree VALUES ('150', '2', '50', '149', '125', '57'); -INSERT INTO cp_tree VALUES ('151', '3', '51', '149', '150', '54'); -INSERT INTO cp_tree VALUES ('152', '4', '52', '149', '151', '53'); -INSERT INTO cp_tree VALUES ('153', '3', '55', '149', '150', '56'); -INSERT INTO cp_tree VALUES ('154', '2', '58', '149', '125', '61'); -INSERT INTO cp_tree VALUES ('155', '3', '59', '149', '154', '60'); -INSERT INTO cp_tree VALUES ('156', '2', '62', '149', '125', '63'); -INSERT INTO cp_tree VALUES ('157', '1', '1', '150', '0', '96'); -INSERT INTO cp_tree VALUES ('158', '2', '2', '150', '157', '27'); -INSERT INTO cp_tree VALUES ('159', '3', '3', '150', '158', '10'); -INSERT INTO cp_tree VALUES ('160', '4', '4', '150', '159', '5'); -INSERT INTO cp_tree VALUES ('161', '4', '6', '150', '159', '7'); -INSERT INTO cp_tree VALUES ('162', '4', '8', '150', '159', '9'); -INSERT INTO cp_tree VALUES ('163', '3', '11', '150', '158', '18'); -INSERT INTO cp_tree VALUES ('164', '4', '12', '150', '163', '13'); -INSERT INTO cp_tree VALUES ('165', '4', '14', '150', '163', '15'); -INSERT INTO cp_tree VALUES ('166', '4', '16', '150', '163', '17'); -INSERT INTO cp_tree VALUES ('167', '3', '19', '150', '158', '26'); -INSERT INTO cp_tree VALUES ('168', '4', '20', '150', '167', '21'); -INSERT INTO cp_tree VALUES ('169', '4', '22', '150', '167', '23'); -INSERT INTO cp_tree VALUES ('170', '4', '24', '150', '167', '25'); -INSERT INTO cp_tree VALUES ('171', '2', '28', '150', '157', '41'); -INSERT INTO cp_tree VALUES ('172', '3', '29', '150', '171', '30'); -INSERT INTO cp_tree VALUES ('173', '3', '31', '150', '171', '32'); -INSERT INTO cp_tree VALUES ('174', '3', '33', '150', '171', '34'); -INSERT INTO cp_tree VALUES ('175', '3', '35', '150', '171', '36'); -INSERT INTO cp_tree VALUES ('176', '3', '37', '150', '171', '38'); -INSERT INTO cp_tree VALUES ('177', '3', '39', '150', '171', '40'); -INSERT INTO cp_tree VALUES ('178', '2', '42', '150', '157', '45'); -INSERT INTO cp_tree VALUES ('179', '3', '43', '150', '178', '44'); -INSERT INTO cp_tree VALUES ('180', '2', '46', '150', '157', '49'); -INSERT INTO cp_tree VALUES ('181', '3', '47', '150', '180', '48'); -INSERT INTO cp_tree VALUES ('182', '2', '50', '150', '157', '53'); -INSERT INTO cp_tree VALUES ('183', '3', '51', '150', '182', '52'); -INSERT INTO cp_tree VALUES ('184', '2', '54', '150', '157', '59'); -INSERT INTO cp_tree VALUES ('185', '3', '55', '150', '184', '56'); -INSERT INTO cp_tree VALUES ('186', '3', '57', '150', '184', '58'); -INSERT INTO cp_tree VALUES ('187', '2', '60', '150', '157', '63'); -INSERT INTO cp_tree VALUES ('188', '3', '61', '150', '187', '62'); -INSERT INTO cp_tree VALUES ('189', '2', '64', '150', '157', '67'); -INSERT INTO cp_tree VALUES ('190', '3', '65', '150', '189', '66'); -INSERT INTO cp_tree VALUES ('191', '2', '68', '150', '157', '77'); -INSERT INTO cp_tree VALUES ('192', '3', '69', '150', '191', '70'); -INSERT INTO cp_tree VALUES ('193', '3', '71', '150', '191', '72'); -INSERT INTO cp_tree VALUES ('194', '3', '73', '150', '191', '74'); -INSERT INTO cp_tree VALUES ('195', '3', '75', '150', '191', '76'); -INSERT INTO cp_tree VALUES ('196', '2', '78', '150', '157', '87'); -INSERT INTO cp_tree VALUES ('197', '3', '79', '150', '196', '82'); -INSERT INTO cp_tree VALUES ('198', '4', '80', '150', '197', '81'); -INSERT INTO cp_tree VALUES ('199', '3', '83', '150', '196', '84'); -INSERT INTO cp_tree VALUES ('200', '3', '85', '150', '196', '86'); -INSERT INTO cp_tree VALUES ('201', '2', '88', '150', '157', '93'); -INSERT INTO cp_tree VALUES ('202', '3', '89', '150', '201', '90'); -INSERT INTO cp_tree VALUES ('203', '3', '91', '150', '201', '92'); -INSERT INTO cp_tree VALUES ('204', '2', '94', '150', '157', '95'); -INSERT INTO cp_tree VALUES ('205', '1', '1', '151', '0', '108'); -INSERT INTO cp_tree VALUES ('206', '2', '2', '151', '205', '19'); -INSERT INTO cp_tree VALUES ('207', '3', '3', '151', '206', '8'); -INSERT INTO cp_tree VALUES ('208', '4', '4', '151', '207', '5'); -INSERT INTO cp_tree VALUES ('209', '4', '6', '151', '207', '7'); -INSERT INTO cp_tree VALUES ('210', '3', '9', '151', '206', '16'); -INSERT INTO cp_tree VALUES ('211', '4', '10', '151', '210', '11'); -INSERT INTO cp_tree VALUES ('212', '4', '12', '151', '210', '13'); -INSERT INTO cp_tree VALUES ('213', '4', '14', '151', '210', '15'); -INSERT INTO cp_tree VALUES ('214', '3', '17', '151', '206', '18'); -INSERT INTO cp_tree VALUES ('215', '2', '20', '151', '205', '33'); -INSERT INTO cp_tree VALUES ('216', '3', '21', '151', '215', '22'); -INSERT INTO cp_tree VALUES ('217', '3', '23', '151', '215', '24'); -INSERT INTO cp_tree VALUES ('218', '3', '25', '151', '215', '26'); -INSERT INTO cp_tree VALUES ('219', '3', '27', '151', '215', '28'); -INSERT INTO cp_tree VALUES ('220', '3', '29', '151', '215', '30'); -INSERT INTO cp_tree VALUES ('221', '3', '31', '151', '215', '32'); -INSERT INTO cp_tree VALUES ('222', '2', '34', '151', '205', '37'); -INSERT INTO cp_tree VALUES ('223', '3', '35', '151', '222', '36'); -INSERT INTO cp_tree VALUES ('224', '2', '38', '151', '205', '41'); -INSERT INTO cp_tree VALUES ('225', '3', '39', '151', '224', '40'); -INSERT INTO cp_tree VALUES ('226', '2', '42', '151', '205', '45'); -INSERT INTO cp_tree VALUES ('227', '3', '43', '151', '226', '44'); -INSERT INTO cp_tree VALUES ('228', '2', '46', '151', '205', '51'); -INSERT INTO cp_tree VALUES ('229', '3', '47', '151', '228', '48'); -INSERT INTO cp_tree VALUES ('230', '3', '49', '151', '228', '50'); -INSERT INTO cp_tree VALUES ('231', '2', '52', '151', '205', '55'); -INSERT INTO cp_tree VALUES ('232', '3', '53', '151', '231', '54'); -INSERT INTO cp_tree VALUES ('233', '2', '56', '151', '205', '59'); -INSERT INTO cp_tree VALUES ('234', '3', '57', '151', '233', '58'); -INSERT INTO cp_tree VALUES ('235', '2', '60', '151', '205', '65'); -INSERT INTO cp_tree VALUES ('236', '3', '61', '151', '235', '62'); -INSERT INTO cp_tree VALUES ('237', '3', '63', '151', '235', '64'); -INSERT INTO cp_tree VALUES ('238', '2', '66', '151', '205', '77'); -INSERT INTO cp_tree VALUES ('239', '3', '67', '151', '238', '68'); -INSERT INTO cp_tree VALUES ('240', '3', '69', '151', '238', '70'); -INSERT INTO cp_tree VALUES ('241', '3', '71', '151', '238', '72'); -INSERT INTO cp_tree VALUES ('242', '3', '73', '151', '238', '74'); -INSERT INTO cp_tree VALUES ('243', '3', '75', '151', '238', '76'); -INSERT INTO cp_tree VALUES ('244', '2', '78', '151', '205', '79'); -INSERT INTO cp_tree VALUES ('245', '2', '80', '151', '205', '87'); -INSERT INTO cp_tree VALUES ('246', '3', '81', '151', '245', '86'); -INSERT INTO cp_tree VALUES ('247', '4', '82', '151', '246', '83'); -INSERT INTO cp_tree VALUES ('248', '4', '84', '151', '246', '85'); -INSERT INTO cp_tree VALUES ('249', '2', '88', '151', '205', '95'); -INSERT INTO cp_tree VALUES ('250', '3', '89', '151', '249', '94'); -INSERT INTO cp_tree VALUES ('251', '4', '90', '151', '250', '91'); -INSERT INTO cp_tree VALUES ('252', '4', '92', '151', '250', '93'); -INSERT INTO cp_tree VALUES ('253', '2', '96', '151', '205', '103'); -INSERT INTO cp_tree VALUES ('254', '3', '97', '151', '253', '102'); -INSERT INTO cp_tree VALUES ('255', '4', '98', '151', '254', '99'); -INSERT INTO cp_tree VALUES ('256', '4', '100', '151', '254', '101'); -INSERT INTO cp_tree VALUES ('257', '2', '104', '151', '205', '105'); -INSERT INTO cp_tree VALUES ('258', '2', '106', '151', '205', '107'); -INSERT INTO cp_tree VALUES ('259', '1', '1', '152', '0', '146'); -INSERT INTO cp_tree VALUES ('260', '2', '2', '152', '259', '55'); -INSERT INTO cp_tree VALUES ('261', '3', '3', '152', '260', '20'); -INSERT INTO cp_tree VALUES ('262', '4', '4', '152', '261', '11'); -INSERT INTO cp_tree VALUES ('263', '5', '5', '152', '262', '6'); -INSERT INTO cp_tree VALUES ('264', '5', '7', '152', '262', '8'); -INSERT INTO cp_tree VALUES ('265', '5', '9', '152', '262', '10'); -INSERT INTO cp_tree VALUES ('266', '4', '12', '152', '261', '19'); -INSERT INTO cp_tree VALUES ('267', '5', '13', '152', '266', '14'); -INSERT INTO cp_tree VALUES ('268', '5', '15', '152', '266', '16'); -INSERT INTO cp_tree VALUES ('269', '5', '17', '152', '266', '18'); -INSERT INTO cp_tree VALUES ('270', '3', '21', '152', '260', '46'); -INSERT INTO cp_tree VALUES ('271', '4', '22', '152', '270', '29'); -INSERT INTO cp_tree VALUES ('272', '5', '23', '152', '271', '24'); -INSERT INTO cp_tree VALUES ('273', '5', '25', '152', '271', '26'); -INSERT INTO cp_tree VALUES ('274', '5', '27', '152', '271', '28'); -INSERT INTO cp_tree VALUES ('275', '4', '30', '152', '270', '37'); -INSERT INTO cp_tree VALUES ('276', '5', '31', '152', '275', '32'); -INSERT INTO cp_tree VALUES ('277', '5', '33', '152', '275', '34'); -INSERT INTO cp_tree VALUES ('278', '5', '35', '152', '275', '36'); -INSERT INTO cp_tree VALUES ('279', '4', '38', '152', '270', '45'); -INSERT INTO cp_tree VALUES ('280', '5', '39', '152', '279', '40'); -INSERT INTO cp_tree VALUES ('281', '5', '41', '152', '279', '42'); -INSERT INTO cp_tree VALUES ('282', '5', '43', '152', '279', '44'); -INSERT INTO cp_tree VALUES ('283', '3', '47', '152', '260', '54'); -INSERT INTO cp_tree VALUES ('284', '4', '48', '152', '283', '49'); -INSERT INTO cp_tree VALUES ('285', '4', '50', '152', '283', '51'); -INSERT INTO cp_tree VALUES ('286', '4', '52', '152', '283', '53'); -INSERT INTO cp_tree VALUES ('287', '2', '56', '152', '259', '69'); -INSERT INTO cp_tree VALUES ('288', '3', '57', '152', '287', '58'); -INSERT INTO cp_tree VALUES ('289', '3', '59', '152', '287', '60'); -INSERT INTO cp_tree VALUES ('290', '3', '61', '152', '287', '62'); -INSERT INTO cp_tree VALUES ('291', '3', '63', '152', '287', '64'); -INSERT INTO cp_tree VALUES ('292', '3', '65', '152', '287', '66'); -INSERT INTO cp_tree VALUES ('293', '3', '67', '152', '287', '68'); -INSERT INTO cp_tree VALUES ('294', '2', '70', '152', '259', '73'); -INSERT INTO cp_tree VALUES ('295', '3', '71', '152', '294', '72'); -INSERT INTO cp_tree VALUES ('296', '2', '74', '152', '259', '77'); -INSERT INTO cp_tree VALUES ('297', '3', '75', '152', '296', '76'); -INSERT INTO cp_tree VALUES ('298', '2', '78', '152', '259', '81'); -INSERT INTO cp_tree VALUES ('299', '3', '79', '152', '298', '80'); -INSERT INTO cp_tree VALUES ('300', '2', '82', '152', '259', '87'); -INSERT INTO cp_tree VALUES ('301', '3', '83', '152', '300', '84'); -INSERT INTO cp_tree VALUES ('302', '3', '85', '152', '300', '86'); -INSERT INTO cp_tree VALUES ('303', '2', '88', '152', '259', '91'); -INSERT INTO cp_tree VALUES ('304', '3', '89', '152', '303', '90'); -INSERT INTO cp_tree VALUES ('305', '2', '92', '152', '259', '95'); -INSERT INTO cp_tree VALUES ('306', '3', '93', '152', '305', '94'); -INSERT INTO cp_tree VALUES ('307', '2', '96', '152', '259', '101'); -INSERT INTO cp_tree VALUES ('308', '3', '97', '152', '307', '98'); -INSERT INTO cp_tree VALUES ('309', '3', '99', '152', '307', '100'); -INSERT INTO cp_tree VALUES ('310', '2', '102', '152', '259', '115'); -INSERT INTO cp_tree VALUES ('311', '3', '103', '152', '310', '104'); -INSERT INTO cp_tree VALUES ('312', '3', '105', '152', '310', '106'); -INSERT INTO cp_tree VALUES ('313', '3', '107', '152', '310', '108'); -INSERT INTO cp_tree VALUES ('314', '3', '109', '152', '310', '110'); -INSERT INTO cp_tree VALUES ('315', '3', '111', '152', '310', '112'); -INSERT INTO cp_tree VALUES ('316', '3', '113', '152', '310', '114'); -INSERT INTO cp_tree VALUES ('317', '2', '116', '152', '259', '117'); -INSERT INTO cp_tree VALUES ('318', '2', '118', '152', '259', '125'); -INSERT INTO cp_tree VALUES ('319', '3', '119', '152', '318', '124'); -INSERT INTO cp_tree VALUES ('320', '4', '120', '152', '319', '121'); -INSERT INTO cp_tree VALUES ('321', '4', '122', '152', '319', '123'); -INSERT INTO cp_tree VALUES ('322', '2', '126', '152', '259', '133'); -INSERT INTO cp_tree VALUES ('323', '3', '127', '152', '322', '132'); -INSERT INTO cp_tree VALUES ('324', '4', '128', '152', '323', '129'); -INSERT INTO cp_tree VALUES ('325', '4', '130', '152', '323', '131'); -INSERT INTO cp_tree VALUES ('326', '2', '134', '152', '259', '141'); -INSERT INTO cp_tree VALUES ('327', '3', '135', '152', '326', '140'); -INSERT INTO cp_tree VALUES ('328', '4', '136', '152', '327', '137'); -INSERT INTO cp_tree VALUES ('329', '4', '138', '152', '327', '139'); -INSERT INTO cp_tree VALUES ('330', '2', '142', '152', '259', '143'); -INSERT INTO cp_tree VALUES ('331', '2', '144', '152', '259', '145'); -INSERT INTO cp_tree VALUES ('332', '1', '1', '153', '0', '136'); -INSERT INTO cp_tree VALUES ('333', '2', '2', '153', '332', '93'); -INSERT INTO cp_tree VALUES ('334', '3', '3', '153', '333', '20'); -INSERT INTO cp_tree VALUES ('335', '4', '4', '153', '334', '11'); -INSERT INTO cp_tree VALUES ('336', '5', '5', '153', '335', '6'); -INSERT INTO cp_tree VALUES ('337', '5', '7', '153', '335', '8'); -INSERT INTO cp_tree VALUES ('338', '5', '9', '153', '335', '10'); -INSERT INTO cp_tree VALUES ('339', '4', '12', '153', '334', '19'); -INSERT INTO cp_tree VALUES ('340', '5', '13', '153', '339', '14'); -INSERT INTO cp_tree VALUES ('341', '5', '15', '153', '339', '16'); -INSERT INTO cp_tree VALUES ('342', '5', '17', '153', '339', '18'); -INSERT INTO cp_tree VALUES ('343', '3', '21', '153', '333', '46'); -INSERT INTO cp_tree VALUES ('344', '4', '22', '153', '343', '29'); -INSERT INTO cp_tree VALUES ('345', '5', '23', '153', '344', '24'); -INSERT INTO cp_tree VALUES ('346', '5', '25', '153', '344', '26'); -INSERT INTO cp_tree VALUES ('347', '5', '27', '153', '344', '28'); -INSERT INTO cp_tree VALUES ('348', '4', '30', '153', '343', '37'); -INSERT INTO cp_tree VALUES ('349', '5', '31', '153', '348', '32'); -INSERT INTO cp_tree VALUES ('350', '5', '33', '153', '348', '34'); -INSERT INTO cp_tree VALUES ('351', '5', '35', '153', '348', '36'); -INSERT INTO cp_tree VALUES ('352', '4', '38', '153', '343', '45'); -INSERT INTO cp_tree VALUES ('353', '5', '39', '153', '352', '40'); -INSERT INTO cp_tree VALUES ('354', '5', '41', '153', '352', '42'); -INSERT INTO cp_tree VALUES ('355', '5', '43', '153', '352', '44'); -INSERT INTO cp_tree VALUES ('356', '3', '47', '153', '333', '84'); -INSERT INTO cp_tree VALUES ('357', '4', '48', '153', '356', '55'); -INSERT INTO cp_tree VALUES ('358', '5', '49', '153', '357', '50'); -INSERT INTO cp_tree VALUES ('359', '5', '51', '153', '357', '52'); -INSERT INTO cp_tree VALUES ('360', '5', '53', '153', '357', '54'); -INSERT INTO cp_tree VALUES ('361', '4', '56', '153', '356', '83'); -INSERT INTO cp_tree VALUES ('362', '5', '57', '153', '361', '74'); -INSERT INTO cp_tree VALUES ('363', '6', '58', '153', '362', '65'); -INSERT INTO cp_tree VALUES ('364', '7', '59', '153', '363', '60'); -INSERT INTO cp_tree VALUES ('365', '7', '61', '153', '363', '62'); -INSERT INTO cp_tree VALUES ('366', '7', '63', '153', '363', '64'); -INSERT INTO cp_tree VALUES ('367', '6', '66', '153', '362', '73'); -INSERT INTO cp_tree VALUES ('368', '7', '67', '153', '367', '68'); -INSERT INTO cp_tree VALUES ('369', '7', '69', '153', '367', '70'); -INSERT INTO cp_tree VALUES ('370', '7', '71', '153', '367', '72'); -INSERT INTO cp_tree VALUES ('371', '5', '75', '153', '361', '82'); -INSERT INTO cp_tree VALUES ('372', '6', '76', '153', '371', '77'); -INSERT INTO cp_tree VALUES ('373', '6', '78', '153', '371', '79'); -INSERT INTO cp_tree VALUES ('374', '6', '80', '153', '371', '81'); -INSERT INTO cp_tree VALUES ('375', '3', '85', '153', '333', '92'); -INSERT INTO cp_tree VALUES ('376', '4', '86', '153', '375', '87'); -INSERT INTO cp_tree VALUES ('377', '4', '88', '153', '375', '89'); -INSERT INTO cp_tree VALUES ('378', '4', '90', '153', '375', '91'); -INSERT INTO cp_tree VALUES ('379', '2', '94', '153', '332', '107'); -INSERT INTO cp_tree VALUES ('380', '3', '95', '153', '379', '96'); -INSERT INTO cp_tree VALUES ('381', '3', '97', '153', '379', '98'); -INSERT INTO cp_tree VALUES ('382', '3', '99', '153', '379', '100'); -INSERT INTO cp_tree VALUES ('383', '3', '101', '153', '379', '102'); -INSERT INTO cp_tree VALUES ('384', '3', '103', '153', '379', '104'); -INSERT INTO cp_tree VALUES ('385', '3', '105', '153', '379', '106'); -INSERT INTO cp_tree VALUES ('386', '2', '108', '153', '332', '111'); -INSERT INTO cp_tree VALUES ('387', '3', '109', '153', '386', '110'); -INSERT INTO cp_tree VALUES ('388', '2', '112', '153', '332', '115'); -INSERT INTO cp_tree VALUES ('389', '3', '113', '153', '388', '114'); -INSERT INTO cp_tree VALUES ('390', '2', '116', '153', '332', '119'); -INSERT INTO cp_tree VALUES ('391', '3', '117', '153', '390', '118'); -INSERT INTO cp_tree VALUES ('392', '2', '120', '153', '332', '125'); -INSERT INTO cp_tree VALUES ('393', '3', '121', '153', '392', '122'); -INSERT INTO cp_tree VALUES ('394', '3', '123', '153', '392', '124'); -INSERT INTO cp_tree VALUES ('395', '2', '126', '153', '332', '129'); -INSERT INTO cp_tree VALUES ('396', '3', '127', '153', '395', '128'); -INSERT INTO cp_tree VALUES ('397', '2', '130', '153', '332', '133'); -INSERT INTO cp_tree VALUES ('398', '3', '131', '153', '397', '132'); -INSERT INTO cp_tree VALUES ('399', '2', '134', '153', '332', '135'); -INSERT INTO cp_tree VALUES ('400', '1', '1', '154', '0', '86'); -INSERT INTO cp_tree VALUES ('401', '2', '2', '154', '400', '33'); -INSERT INTO cp_tree VALUES ('402', '3', '3', '154', '401', '8'); -INSERT INTO cp_tree VALUES ('403', '4', '4', '154', '402', '5'); -INSERT INTO cp_tree VALUES ('404', '4', '6', '154', '402', '7'); -INSERT INTO cp_tree VALUES ('405', '3', '9', '154', '401', '16'); -INSERT INTO cp_tree VALUES ('406', '4', '10', '154', '405', '11'); -INSERT INTO cp_tree VALUES ('407', '4', '12', '154', '405', '13'); -INSERT INTO cp_tree VALUES ('408', '4', '14', '154', '405', '15'); -INSERT INTO cp_tree VALUES ('409', '3', '17', '154', '401', '30'); -INSERT INTO cp_tree VALUES ('410', '4', '18', '154', '409', '19'); -INSERT INTO cp_tree VALUES ('411', '4', '20', '154', '409', '29'); -INSERT INTO cp_tree VALUES ('412', '5', '21', '154', '411', '26'); -INSERT INTO cp_tree VALUES ('413', '6', '22', '154', '412', '23'); -INSERT INTO cp_tree VALUES ('414', '6', '24', '154', '412', '25'); -INSERT INTO cp_tree VALUES ('415', '5', '27', '154', '411', '28'); -INSERT INTO cp_tree VALUES ('416', '3', '31', '154', '401', '32'); -INSERT INTO cp_tree VALUES ('417', '2', '34', '154', '400', '47'); -INSERT INTO cp_tree VALUES ('418', '3', '35', '154', '417', '36'); -INSERT INTO cp_tree VALUES ('419', '3', '37', '154', '417', '38'); -INSERT INTO cp_tree VALUES ('420', '3', '39', '154', '417', '40'); -INSERT INTO cp_tree VALUES ('421', '3', '41', '154', '417', '42'); -INSERT INTO cp_tree VALUES ('422', '3', '43', '154', '417', '44'); -INSERT INTO cp_tree VALUES ('423', '3', '45', '154', '417', '46'); -INSERT INTO cp_tree VALUES ('424', '2', '48', '154', '400', '51'); -INSERT INTO cp_tree VALUES ('425', '3', '49', '154', '424', '50'); -INSERT INTO cp_tree VALUES ('426', '2', '52', '154', '400', '55'); -INSERT INTO cp_tree VALUES ('427', '3', '53', '154', '426', '54'); -INSERT INTO cp_tree VALUES ('428', '2', '56', '154', '400', '59'); -INSERT INTO cp_tree VALUES ('429', '3', '57', '154', '428', '58'); -INSERT INTO cp_tree VALUES ('430', '2', '60', '154', '400', '65'); -INSERT INTO cp_tree VALUES ('431', '3', '61', '154', '430', '62'); -INSERT INTO cp_tree VALUES ('432', '3', '63', '154', '430', '64'); -INSERT INTO cp_tree VALUES ('433', '2', '66', '154', '400', '69'); -INSERT INTO cp_tree VALUES ('434', '3', '67', '154', '433', '68'); -INSERT INTO cp_tree VALUES ('435', '2', '70', '154', '400', '73'); -INSERT INTO cp_tree VALUES ('436', '3', '71', '154', '435', '72'); -INSERT INTO cp_tree VALUES ('437', '2', '74', '154', '400', '75'); -INSERT INTO cp_tree VALUES ('438', '2', '76', '154', '400', '81'); -INSERT INTO cp_tree VALUES ('439', '3', '77', '154', '438', '80'); -INSERT INTO cp_tree VALUES ('440', '4', '78', '154', '439', '79'); -INSERT INTO cp_tree VALUES ('441', '2', '82', '154', '400', '83'); -INSERT INTO cp_tree VALUES ('442', '2', '84', '154', '400', '85'); -INSERT INTO cp_tree VALUES ('443', '1', '1', '155', '0', '144'); -INSERT INTO cp_tree VALUES ('444', '2', '2', '155', '443', '93'); -INSERT INTO cp_tree VALUES ('445', '3', '3', '155', '444', '20'); -INSERT INTO cp_tree VALUES ('446', '4', '4', '155', '445', '11'); -INSERT INTO cp_tree VALUES ('447', '5', '5', '155', '446', '6'); -INSERT INTO cp_tree VALUES ('448', '5', '7', '155', '446', '8'); -INSERT INTO cp_tree VALUES ('449', '5', '9', '155', '446', '10'); -INSERT INTO cp_tree VALUES ('450', '4', '12', '155', '445', '19'); -INSERT INTO cp_tree VALUES ('451', '5', '13', '155', '450', '14'); -INSERT INTO cp_tree VALUES ('452', '5', '15', '155', '450', '16'); -INSERT INTO cp_tree VALUES ('453', '5', '17', '155', '450', '18'); -INSERT INTO cp_tree VALUES ('454', '3', '21', '155', '444', '46'); -INSERT INTO cp_tree VALUES ('455', '4', '22', '155', '454', '29'); -INSERT INTO cp_tree VALUES ('456', '5', '23', '155', '455', '24'); -INSERT INTO cp_tree VALUES ('457', '5', '25', '155', '455', '26'); -INSERT INTO cp_tree VALUES ('458', '5', '27', '155', '455', '28'); -INSERT INTO cp_tree VALUES ('459', '4', '30', '155', '454', '37'); -INSERT INTO cp_tree VALUES ('460', '5', '31', '155', '459', '32'); -INSERT INTO cp_tree VALUES ('461', '5', '33', '155', '459', '34'); -INSERT INTO cp_tree VALUES ('462', '5', '35', '155', '459', '36'); -INSERT INTO cp_tree VALUES ('463', '4', '38', '155', '454', '45'); -INSERT INTO cp_tree VALUES ('464', '5', '39', '155', '463', '40'); -INSERT INTO cp_tree VALUES ('465', '5', '41', '155', '463', '42'); -INSERT INTO cp_tree VALUES ('466', '5', '43', '155', '463', '44'); -INSERT INTO cp_tree VALUES ('467', '3', '47', '155', '444', '84'); -INSERT INTO cp_tree VALUES ('468', '4', '48', '155', '467', '55'); -INSERT INTO cp_tree VALUES ('469', '5', '49', '155', '468', '50'); -INSERT INTO cp_tree VALUES ('470', '5', '51', '155', '468', '52'); -INSERT INTO cp_tree VALUES ('471', '5', '53', '155', '468', '54'); -INSERT INTO cp_tree VALUES ('472', '4', '56', '155', '467', '83'); -INSERT INTO cp_tree VALUES ('473', '5', '57', '155', '472', '74'); -INSERT INTO cp_tree VALUES ('474', '6', '58', '155', '473', '65'); -INSERT INTO cp_tree VALUES ('475', '7', '59', '155', '474', '60'); -INSERT INTO cp_tree VALUES ('476', '7', '61', '155', '474', '62'); -INSERT INTO cp_tree VALUES ('477', '7', '63', '155', '474', '64'); -INSERT INTO cp_tree VALUES ('478', '6', '66', '155', '473', '73'); -INSERT INTO cp_tree VALUES ('479', '7', '67', '155', '478', '68'); -INSERT INTO cp_tree VALUES ('480', '7', '69', '155', '478', '70'); -INSERT INTO cp_tree VALUES ('481', '7', '71', '155', '478', '72'); -INSERT INTO cp_tree VALUES ('482', '5', '75', '155', '472', '82'); -INSERT INTO cp_tree VALUES ('483', '6', '76', '155', '482', '77'); -INSERT INTO cp_tree VALUES ('484', '6', '78', '155', '482', '79'); -INSERT INTO cp_tree VALUES ('485', '6', '80', '155', '482', '81'); -INSERT INTO cp_tree VALUES ('486', '3', '85', '155', '444', '92'); -INSERT INTO cp_tree VALUES ('487', '4', '86', '155', '486', '87'); -INSERT INTO cp_tree VALUES ('488', '4', '88', '155', '486', '89'); -INSERT INTO cp_tree VALUES ('489', '4', '90', '155', '486', '91'); -INSERT INTO cp_tree VALUES ('490', '2', '94', '155', '443', '107'); -INSERT INTO cp_tree VALUES ('491', '3', '95', '155', '490', '96'); -INSERT INTO cp_tree VALUES ('492', '3', '97', '155', '490', '98'); -INSERT INTO cp_tree VALUES ('493', '3', '99', '155', '490', '100'); -INSERT INTO cp_tree VALUES ('494', '3', '101', '155', '490', '102'); -INSERT INTO cp_tree VALUES ('495', '3', '103', '155', '490', '104'); -INSERT INTO cp_tree VALUES ('496', '3', '105', '155', '490', '106'); -INSERT INTO cp_tree VALUES ('497', '2', '108', '155', '443', '111'); -INSERT INTO cp_tree VALUES ('498', '3', '109', '155', '497', '110'); -INSERT INTO cp_tree VALUES ('499', '2', '112', '155', '443', '115'); -INSERT INTO cp_tree VALUES ('500', '3', '113', '155', '499', '114'); -INSERT INTO cp_tree VALUES ('501', '2', '116', '155', '443', '119'); -INSERT INTO cp_tree VALUES ('502', '3', '117', '155', '501', '118'); -INSERT INTO cp_tree VALUES ('503', '2', '120', '155', '443', '125'); -INSERT INTO cp_tree VALUES ('504', '3', '121', '155', '503', '122'); -INSERT INTO cp_tree VALUES ('505', '3', '123', '155', '503', '124'); -INSERT INTO cp_tree VALUES ('506', '2', '126', '155', '443', '129'); -INSERT INTO cp_tree VALUES ('507', '3', '127', '155', '506', '128'); -INSERT INTO cp_tree VALUES ('508', '2', '130', '155', '443', '133'); -INSERT INTO cp_tree VALUES ('509', '3', '131', '155', '508', '132'); -INSERT INTO cp_tree VALUES ('510', '2', '134', '155', '443', '135'); -INSERT INTO cp_tree VALUES ('511', '2', '136', '155', '443', '141'); -INSERT INTO cp_tree VALUES ('512', '3', '137', '155', '511', '140'); -INSERT INTO cp_tree VALUES ('513', '4', '138', '155', '512', '139'); -INSERT INTO cp_tree VALUES ('514', '2', '142', '155', '443', '143'); -INSERT INTO cp_tree VALUES ('515', '1', '1', '156', '0', '136'); -INSERT INTO cp_tree VALUES ('516', '2', '2', '156', '515', '93'); -INSERT INTO cp_tree VALUES ('517', '3', '3', '156', '516', '20'); -INSERT INTO cp_tree VALUES ('518', '4', '4', '156', '517', '11'); -INSERT INTO cp_tree VALUES ('519', '5', '5', '156', '518', '6'); -INSERT INTO cp_tree VALUES ('520', '5', '7', '156', '518', '8'); -INSERT INTO cp_tree VALUES ('521', '5', '9', '156', '518', '10'); -INSERT INTO cp_tree VALUES ('522', '4', '12', '156', '517', '19'); -INSERT INTO cp_tree VALUES ('523', '5', '13', '156', '522', '14'); -INSERT INTO cp_tree VALUES ('524', '5', '15', '156', '522', '16'); -INSERT INTO cp_tree VALUES ('525', '5', '17', '156', '522', '18'); -INSERT INTO cp_tree VALUES ('526', '3', '21', '156', '516', '46'); -INSERT INTO cp_tree VALUES ('527', '4', '22', '156', '526', '29'); -INSERT INTO cp_tree VALUES ('528', '5', '23', '156', '527', '24'); -INSERT INTO cp_tree VALUES ('529', '5', '25', '156', '527', '26'); -INSERT INTO cp_tree VALUES ('530', '5', '27', '156', '527', '28'); -INSERT INTO cp_tree VALUES ('531', '4', '30', '156', '526', '37'); -INSERT INTO cp_tree VALUES ('532', '5', '31', '156', '531', '32'); -INSERT INTO cp_tree VALUES ('533', '5', '33', '156', '531', '34'); -INSERT INTO cp_tree VALUES ('534', '5', '35', '156', '531', '36'); -INSERT INTO cp_tree VALUES ('535', '4', '38', '156', '526', '45'); -INSERT INTO cp_tree VALUES ('536', '5', '39', '156', '535', '40'); -INSERT INTO cp_tree VALUES ('537', '5', '41', '156', '535', '42'); -INSERT INTO cp_tree VALUES ('538', '5', '43', '156', '535', '44'); -INSERT INTO cp_tree VALUES ('539', '3', '47', '156', '516', '84'); -INSERT INTO cp_tree VALUES ('540', '4', '48', '156', '539', '55'); -INSERT INTO cp_tree VALUES ('541', '5', '49', '156', '540', '50'); -INSERT INTO cp_tree VALUES ('542', '5', '51', '156', '540', '52'); -INSERT INTO cp_tree VALUES ('543', '5', '53', '156', '540', '54'); -INSERT INTO cp_tree VALUES ('544', '4', '56', '156', '539', '83'); -INSERT INTO cp_tree VALUES ('545', '5', '57', '156', '544', '74'); -INSERT INTO cp_tree VALUES ('546', '6', '58', '156', '545', '65'); -INSERT INTO cp_tree VALUES ('547', '7', '59', '156', '546', '60'); -INSERT INTO cp_tree VALUES ('548', '7', '61', '156', '546', '62'); -INSERT INTO cp_tree VALUES ('549', '7', '63', '156', '546', '64'); -INSERT INTO cp_tree VALUES ('550', '6', '66', '156', '545', '73'); -INSERT INTO cp_tree VALUES ('551', '7', '67', '156', '550', '68'); -INSERT INTO cp_tree VALUES ('552', '7', '69', '156', '550', '70'); -INSERT INTO cp_tree VALUES ('553', '7', '71', '156', '550', '72'); -INSERT INTO cp_tree VALUES ('554', '5', '75', '156', '544', '82'); -INSERT INTO cp_tree VALUES ('555', '6', '76', '156', '554', '77'); -INSERT INTO cp_tree VALUES ('556', '6', '78', '156', '554', '79'); -INSERT INTO cp_tree VALUES ('557', '6', '80', '156', '554', '81'); -INSERT INTO cp_tree VALUES ('558', '3', '85', '156', '516', '92'); -INSERT INTO cp_tree VALUES ('559', '4', '86', '156', '558', '87'); -INSERT INTO cp_tree VALUES ('560', '4', '88', '156', '558', '89'); -INSERT INTO cp_tree VALUES ('561', '4', '90', '156', '558', '91'); -INSERT INTO cp_tree VALUES ('562', '2', '94', '156', '515', '107'); -INSERT INTO cp_tree VALUES ('563', '3', '95', '156', '562', '96'); -INSERT INTO cp_tree VALUES ('564', '3', '97', '156', '562', '98'); -INSERT INTO cp_tree VALUES ('565', '3', '99', '156', '562', '100'); -INSERT INTO cp_tree VALUES ('566', '3', '101', '156', '562', '102'); -INSERT INTO cp_tree VALUES ('567', '3', '103', '156', '562', '104'); -INSERT INTO cp_tree VALUES ('568', '3', '105', '156', '562', '106'); -INSERT INTO cp_tree VALUES ('569', '2', '108', '156', '515', '111'); -INSERT INTO cp_tree VALUES ('570', '3', '109', '156', '569', '110'); -INSERT INTO cp_tree VALUES ('571', '2', '112', '156', '515', '115'); -INSERT INTO cp_tree VALUES ('572', '3', '113', '156', '571', '114'); -INSERT INTO cp_tree VALUES ('573', '2', '116', '156', '515', '119'); -INSERT INTO cp_tree VALUES ('574', '3', '117', '156', '573', '118'); -INSERT INTO cp_tree VALUES ('575', '2', '120', '156', '515', '125'); -INSERT INTO cp_tree VALUES ('576', '3', '121', '156', '575', '122'); -INSERT INTO cp_tree VALUES ('577', '3', '123', '156', '575', '124'); -INSERT INTO cp_tree VALUES ('578', '2', '126', '156', '515', '129'); -INSERT INTO cp_tree VALUES ('579', '3', '127', '156', '578', '128'); -INSERT INTO cp_tree VALUES ('580', '2', '130', '156', '515', '133'); -INSERT INTO cp_tree VALUES ('581', '3', '131', '156', '580', '132'); -INSERT INTO cp_tree VALUES ('582', '2', '134', '156', '515', '135'); -INSERT INTO cp_tree VALUES ('583', '1', '1', '157', '0', '110'); -INSERT INTO cp_tree VALUES ('584', '2', '2', '157', '583', '63'); -INSERT INTO cp_tree VALUES ('585', '3', '3', '157', '584', '10'); -INSERT INTO cp_tree VALUES ('586', '4', '4', '157', '585', '5'); -INSERT INTO cp_tree VALUES ('587', '4', '6', '157', '585', '7'); -INSERT INTO cp_tree VALUES ('588', '4', '8', '157', '585', '9'); -INSERT INTO cp_tree VALUES ('589', '3', '11', '157', '584', '54'); -INSERT INTO cp_tree VALUES ('590', '4', '12', '157', '589', '37'); -INSERT INTO cp_tree VALUES ('591', '5', '13', '157', '590', '20'); -INSERT INTO cp_tree VALUES ('592', '6', '14', '157', '591', '15'); -INSERT INTO cp_tree VALUES ('593', '6', '16', '157', '591', '17'); -INSERT INTO cp_tree VALUES ('594', '6', '18', '157', '591', '19'); -INSERT INTO cp_tree VALUES ('595', '5', '21', '157', '590', '28'); -INSERT INTO cp_tree VALUES ('596', '6', '22', '157', '595', '23'); -INSERT INTO cp_tree VALUES ('597', '6', '24', '157', '595', '25'); -INSERT INTO cp_tree VALUES ('598', '6', '26', '157', '595', '27'); -INSERT INTO cp_tree VALUES ('599', '5', '29', '157', '590', '36'); -INSERT INTO cp_tree VALUES ('600', '6', '30', '157', '599', '31'); -INSERT INTO cp_tree VALUES ('601', '6', '32', '157', '599', '33'); -INSERT INTO cp_tree VALUES ('602', '6', '34', '157', '599', '35'); -INSERT INTO cp_tree VALUES ('603', '4', '38', '157', '589', '45'); -INSERT INTO cp_tree VALUES ('604', '5', '39', '157', '603', '40'); -INSERT INTO cp_tree VALUES ('605', '5', '41', '157', '603', '42'); -INSERT INTO cp_tree VALUES ('606', '5', '43', '157', '603', '44'); -INSERT INTO cp_tree VALUES ('607', '4', '46', '157', '589', '53'); -INSERT INTO cp_tree VALUES ('608', '5', '47', '157', '607', '48'); -INSERT INTO cp_tree VALUES ('609', '5', '49', '157', '607', '50'); -INSERT INTO cp_tree VALUES ('610', '5', '51', '157', '607', '52'); -INSERT INTO cp_tree VALUES ('611', '3', '55', '157', '584', '62'); -INSERT INTO cp_tree VALUES ('612', '4', '56', '157', '611', '57'); -INSERT INTO cp_tree VALUES ('613', '4', '58', '157', '611', '59'); -INSERT INTO cp_tree VALUES ('614', '4', '60', '157', '611', '61'); -INSERT INTO cp_tree VALUES ('615', '2', '64', '157', '583', '77'); -INSERT INTO cp_tree VALUES ('616', '3', '65', '157', '615', '66'); -INSERT INTO cp_tree VALUES ('617', '3', '67', '157', '615', '68'); -INSERT INTO cp_tree VALUES ('618', '3', '69', '157', '615', '70'); -INSERT INTO cp_tree VALUES ('619', '3', '71', '157', '615', '72'); -INSERT INTO cp_tree VALUES ('620', '3', '73', '157', '615', '74'); -INSERT INTO cp_tree VALUES ('621', '3', '75', '157', '615', '76'); -INSERT INTO cp_tree VALUES ('622', '2', '78', '157', '583', '81'); -INSERT INTO cp_tree VALUES ('623', '3', '79', '157', '622', '80'); -INSERT INTO cp_tree VALUES ('624', '2', '82', '157', '583', '85'); -INSERT INTO cp_tree VALUES ('625', '3', '83', '157', '624', '84'); -INSERT INTO cp_tree VALUES ('626', '2', '86', '157', '583', '89'); -INSERT INTO cp_tree VALUES ('627', '3', '87', '157', '626', '88'); -INSERT INTO cp_tree VALUES ('628', '2', '90', '157', '583', '95'); -INSERT INTO cp_tree VALUES ('629', '3', '91', '157', '628', '92'); -INSERT INTO cp_tree VALUES ('630', '3', '93', '157', '628', '94'); -INSERT INTO cp_tree VALUES ('631', '2', '96', '157', '583', '99'); -INSERT INTO cp_tree VALUES ('632', '3', '97', '157', '631', '98'); -INSERT INTO cp_tree VALUES ('633', '2', '100', '157', '583', '103'); -INSERT INTO cp_tree VALUES ('634', '3', '101', '157', '633', '102'); -INSERT INTO cp_tree VALUES ('635', '2', '104', '157', '583', '105'); -INSERT INTO cp_tree VALUES ('636', '2', '106', '157', '583', '107'); -INSERT INTO cp_tree VALUES ('637', '2', '108', '157', '583', '109'); -INSERT INTO cp_tree VALUES ('638', '1', '1', '158', '0', '70'); -INSERT INTO cp_tree VALUES ('639', '2', '2', '158', '638', '27'); -INSERT INTO cp_tree VALUES ('640', '3', '3', '158', '639', '10'); -INSERT INTO cp_tree VALUES ('641', '4', '4', '158', '640', '5'); -INSERT INTO cp_tree VALUES ('642', '4', '6', '158', '640', '7'); -INSERT INTO cp_tree VALUES ('643', '4', '8', '158', '640', '9'); -INSERT INTO cp_tree VALUES ('644', '3', '11', '158', '639', '18'); -INSERT INTO cp_tree VALUES ('645', '4', '12', '158', '644', '13'); -INSERT INTO cp_tree VALUES ('646', '4', '14', '158', '644', '15'); -INSERT INTO cp_tree VALUES ('647', '4', '16', '158', '644', '17'); -INSERT INTO cp_tree VALUES ('648', '3', '19', '158', '639', '26'); -INSERT INTO cp_tree VALUES ('649', '4', '20', '158', '648', '21'); -INSERT INTO cp_tree VALUES ('650', '4', '22', '158', '648', '23'); -INSERT INTO cp_tree VALUES ('651', '4', '24', '158', '648', '25'); -INSERT INTO cp_tree VALUES ('652', '2', '28', '158', '638', '41'); -INSERT INTO cp_tree VALUES ('653', '3', '29', '158', '652', '30'); -INSERT INTO cp_tree VALUES ('654', '3', '31', '158', '652', '32'); -INSERT INTO cp_tree VALUES ('655', '3', '33', '158', '652', '34'); -INSERT INTO cp_tree VALUES ('656', '3', '35', '158', '652', '36'); -INSERT INTO cp_tree VALUES ('657', '3', '37', '158', '652', '38'); -INSERT INTO cp_tree VALUES ('658', '3', '39', '158', '652', '40'); -INSERT INTO cp_tree VALUES ('659', '2', '42', '158', '638', '45'); -INSERT INTO cp_tree VALUES ('660', '3', '43', '158', '659', '44'); -INSERT INTO cp_tree VALUES ('661', '2', '46', '158', '638', '49'); -INSERT INTO cp_tree VALUES ('662', '3', '47', '158', '661', '48'); -INSERT INTO cp_tree VALUES ('663', '2', '50', '158', '638', '53'); -INSERT INTO cp_tree VALUES ('664', '3', '51', '158', '663', '52'); -INSERT INTO cp_tree VALUES ('665', '2', '54', '158', '638', '59'); -INSERT INTO cp_tree VALUES ('666', '3', '55', '158', '665', '56'); -INSERT INTO cp_tree VALUES ('667', '3', '57', '158', '665', '58'); -INSERT INTO cp_tree VALUES ('668', '2', '60', '158', '638', '63'); -INSERT INTO cp_tree VALUES ('669', '3', '61', '158', '668', '62'); -INSERT INTO cp_tree VALUES ('670', '2', '64', '158', '638', '67'); -INSERT INTO cp_tree VALUES ('671', '3', '65', '158', '670', '66'); -INSERT INTO cp_tree VALUES ('672', '2', '68', '158', '638', '69'); -INSERT INTO cp_tree VALUES ('673', '1', '1', '159', '0', '112'); -INSERT INTO cp_tree VALUES ('674', '2', '2', '159', '673', '31'); -INSERT INTO cp_tree VALUES ('675', '3', '3', '159', '674', '16'); -INSERT INTO cp_tree VALUES ('676', '4', '4', '159', '675', '11'); -INSERT INTO cp_tree VALUES ('677', '5', '5', '159', '676', '6'); -INSERT INTO cp_tree VALUES ('678', '5', '7', '159', '676', '8'); -INSERT INTO cp_tree VALUES ('679', '5', '9', '159', '676', '10'); -INSERT INTO cp_tree VALUES ('680', '4', '12', '159', '675', '13'); -INSERT INTO cp_tree VALUES ('681', '4', '14', '159', '675', '15'); -INSERT INTO cp_tree VALUES ('682', '3', '17', '159', '674', '30'); -INSERT INTO cp_tree VALUES ('683', '4', '18', '159', '682', '19'); -INSERT INTO cp_tree VALUES ('684', '4', '20', '159', '682', '21'); -INSERT INTO cp_tree VALUES ('685', '4', '22', '159', '682', '29'); -INSERT INTO cp_tree VALUES ('686', '5', '23', '159', '685', '24'); -INSERT INTO cp_tree VALUES ('687', '5', '25', '159', '685', '26'); -INSERT INTO cp_tree VALUES ('688', '5', '27', '159', '685', '28'); -INSERT INTO cp_tree VALUES ('689', '2', '32', '159', '673', '45'); -INSERT INTO cp_tree VALUES ('690', '3', '33', '159', '689', '34'); -INSERT INTO cp_tree VALUES ('691', '3', '35', '159', '689', '36'); -INSERT INTO cp_tree VALUES ('692', '3', '37', '159', '689', '38'); -INSERT INTO cp_tree VALUES ('693', '3', '39', '159', '689', '40'); -INSERT INTO cp_tree VALUES ('694', '3', '41', '159', '689', '42'); -INSERT INTO cp_tree VALUES ('695', '3', '43', '159', '689', '44'); -INSERT INTO cp_tree VALUES ('696', '2', '46', '159', '673', '59'); -INSERT INTO cp_tree VALUES ('697', '3', '47', '159', '696', '48'); -INSERT INTO cp_tree VALUES ('698', '3', '49', '159', '696', '50'); -INSERT INTO cp_tree VALUES ('699', '3', '51', '159', '696', '52'); -INSERT INTO cp_tree VALUES ('700', '3', '53', '159', '696', '54'); -INSERT INTO cp_tree VALUES ('701', '3', '55', '159', '696', '56'); -INSERT INTO cp_tree VALUES ('702', '3', '57', '159', '696', '58'); -INSERT INTO cp_tree VALUES ('703', '2', '60', '159', '673', '63'); -INSERT INTO cp_tree VALUES ('704', '3', '61', '159', '703', '62'); -INSERT INTO cp_tree VALUES ('705', '2', '64', '159', '673', '67'); -INSERT INTO cp_tree VALUES ('706', '3', '65', '159', '705', '66'); -INSERT INTO cp_tree VALUES ('707', '2', '68', '159', '673', '71'); -INSERT INTO cp_tree VALUES ('708', '3', '69', '159', '707', '70'); -INSERT INTO cp_tree VALUES ('709', '2', '72', '159', '673', '77'); -INSERT INTO cp_tree VALUES ('710', '3', '73', '159', '709', '74'); -INSERT INTO cp_tree VALUES ('711', '3', '75', '159', '709', '76'); -INSERT INTO cp_tree VALUES ('712', '2', '78', '159', '673', '81'); -INSERT INTO cp_tree VALUES ('713', '3', '79', '159', '712', '80'); -INSERT INTO cp_tree VALUES ('714', '2', '82', '159', '673', '85'); -INSERT INTO cp_tree VALUES ('715', '3', '83', '159', '714', '84'); -INSERT INTO cp_tree VALUES ('716', '2', '86', '159', '673', '91'); -INSERT INTO cp_tree VALUES ('717', '3', '87', '159', '716', '90'); -INSERT INTO cp_tree VALUES ('718', '4', '88', '159', '717', '89'); -INSERT INTO cp_tree VALUES ('719', '2', '92', '159', '673', '93'); -INSERT INTO cp_tree VALUES ('720', '2', '94', '159', '673', '95'); -INSERT INTO cp_tree VALUES ('721', '2', '96', '159', '673', '97'); -INSERT INTO cp_tree VALUES ('722', '2', '98', '159', '673', '99'); -INSERT INTO cp_tree VALUES ('723', '2', '100', '159', '673', '105'); -INSERT INTO cp_tree VALUES ('724', '3', '101', '159', '723', '104'); -INSERT INTO cp_tree VALUES ('725', '4', '102', '159', '724', '103'); -INSERT INTO cp_tree VALUES ('726', '2', '106', '159', '673', '107'); -INSERT INTO cp_tree VALUES ('727', '2', '108', '159', '673', '109'); -INSERT INTO cp_tree VALUES ('728', '2', '110', '159', '673', '111'); -INSERT INTO cp_tree VALUES ('729', '1', '1', '160', '0', '136'); -INSERT INTO cp_tree VALUES ('730', '2', '2', '160', '729', '45'); -INSERT INTO cp_tree VALUES ('731', '3', '3', '160', '730', '8'); -INSERT INTO cp_tree VALUES ('732', '4', '4', '160', '731', '5'); -INSERT INTO cp_tree VALUES ('733', '4', '6', '160', '731', '7'); -INSERT INTO cp_tree VALUES ('734', '3', '9', '160', '730', '18'); -INSERT INTO cp_tree VALUES ('735', '4', '10', '160', '734', '15'); -INSERT INTO cp_tree VALUES ('736', '5', '11', '160', '735', '12'); -INSERT INTO cp_tree VALUES ('737', '5', '13', '160', '735', '14'); -INSERT INTO cp_tree VALUES ('738', '4', '16', '160', '734', '17'); -INSERT INTO cp_tree VALUES ('739', '3', '19', '160', '730', '36'); -INSERT INTO cp_tree VALUES ('740', '4', '20', '160', '739', '25'); -INSERT INTO cp_tree VALUES ('741', '5', '21', '160', '740', '22'); -INSERT INTO cp_tree VALUES ('742', '5', '23', '160', '740', '24'); -INSERT INTO cp_tree VALUES ('743', '4', '26', '160', '739', '35'); -INSERT INTO cp_tree VALUES ('744', '5', '27', '160', '743', '32'); -INSERT INTO cp_tree VALUES ('745', '6', '28', '160', '744', '29'); -INSERT INTO cp_tree VALUES ('746', '6', '30', '160', '744', '31'); -INSERT INTO cp_tree VALUES ('747', '5', '33', '160', '743', '34'); -INSERT INTO cp_tree VALUES ('748', '3', '37', '160', '730', '44'); -INSERT INTO cp_tree VALUES ('749', '4', '38', '160', '748', '39'); -INSERT INTO cp_tree VALUES ('750', '4', '40', '160', '748', '41'); -INSERT INTO cp_tree VALUES ('751', '4', '42', '160', '748', '43'); -INSERT INTO cp_tree VALUES ('752', '2', '46', '160', '729', '59'); -INSERT INTO cp_tree VALUES ('753', '3', '47', '160', '752', '48'); -INSERT INTO cp_tree VALUES ('754', '3', '49', '160', '752', '50'); -INSERT INTO cp_tree VALUES ('755', '3', '51', '160', '752', '52'); -INSERT INTO cp_tree VALUES ('756', '3', '53', '160', '752', '54'); -INSERT INTO cp_tree VALUES ('757', '3', '55', '160', '752', '56'); -INSERT INTO cp_tree VALUES ('758', '3', '57', '160', '752', '58'); -INSERT INTO cp_tree VALUES ('759', '2', '60', '160', '729', '73'); -INSERT INTO cp_tree VALUES ('760', '3', '61', '160', '759', '62'); -INSERT INTO cp_tree VALUES ('761', '3', '63', '160', '759', '64'); -INSERT INTO cp_tree VALUES ('762', '3', '65', '160', '759', '66'); -INSERT INTO cp_tree VALUES ('763', '3', '67', '160', '759', '68'); -INSERT INTO cp_tree VALUES ('764', '3', '69', '160', '759', '70'); -INSERT INTO cp_tree VALUES ('765', '3', '71', '160', '759', '72'); -INSERT INTO cp_tree VALUES ('766', '2', '74', '160', '729', '77'); -INSERT INTO cp_tree VALUES ('767', '3', '75', '160', '766', '76'); -INSERT INTO cp_tree VALUES ('768', '2', '78', '160', '729', '81'); -INSERT INTO cp_tree VALUES ('769', '3', '79', '160', '768', '80'); -INSERT INTO cp_tree VALUES ('770', '2', '82', '160', '729', '85'); -INSERT INTO cp_tree VALUES ('771', '3', '83', '160', '770', '84'); -INSERT INTO cp_tree VALUES ('772', '2', '86', '160', '729', '91'); -INSERT INTO cp_tree VALUES ('773', '3', '87', '160', '772', '88'); -INSERT INTO cp_tree VALUES ('774', '3', '89', '160', '772', '90'); -INSERT INTO cp_tree VALUES ('775', '2', '92', '160', '729', '95'); -INSERT INTO cp_tree VALUES ('776', '3', '93', '160', '775', '94'); -INSERT INTO cp_tree VALUES ('777', '2', '96', '160', '729', '99'); -INSERT INTO cp_tree VALUES ('778', '3', '97', '160', '777', '98'); -INSERT INTO cp_tree VALUES ('779', '2', '100', '160', '729', '105'); -INSERT INTO cp_tree VALUES ('780', '3', '101', '160', '779', '104'); -INSERT INTO cp_tree VALUES ('781', '4', '102', '160', '780', '103'); -INSERT INTO cp_tree VALUES ('782', '2', '106', '160', '729', '107'); -INSERT INTO cp_tree VALUES ('783', '2', '108', '160', '729', '109'); -INSERT INTO cp_tree VALUES ('784', '2', '110', '160', '729', '115'); -INSERT INTO cp_tree VALUES ('785', '3', '111', '160', '784', '114'); -INSERT INTO cp_tree VALUES ('786', '4', '112', '160', '785', '113'); -INSERT INTO cp_tree VALUES ('787', '2', '116', '160', '729', '117'); -INSERT INTO cp_tree VALUES ('788', '2', '118', '160', '729', '123'); -INSERT INTO cp_tree VALUES ('789', '3', '119', '160', '788', '122'); -INSERT INTO cp_tree VALUES ('790', '4', '120', '160', '789', '121'); -INSERT INTO cp_tree VALUES ('791', '2', '124', '160', '729', '129'); -INSERT INTO cp_tree VALUES ('792', '3', '125', '160', '791', '128'); -INSERT INTO cp_tree VALUES ('793', '4', '126', '160', '792', '127'); -INSERT INTO cp_tree VALUES ('794', '2', '130', '160', '729', '131'); -INSERT INTO cp_tree VALUES ('795', '2', '132', '160', '729', '133'); -INSERT INTO cp_tree VALUES ('796', '2', '134', '160', '729', '135'); -INSERT INTO cp_tree VALUES ('797', '1', '1', '161', '0', '114'); -INSERT INTO cp_tree VALUES ('798', '2', '2', '161', '797', '39'); -INSERT INTO cp_tree VALUES ('799', '3', '3', '161', '798', '8'); -INSERT INTO cp_tree VALUES ('800', '4', '4', '161', '799', '5'); -INSERT INTO cp_tree VALUES ('801', '4', '6', '161', '799', '7'); -INSERT INTO cp_tree VALUES ('802', '3', '9', '161', '798', '18'); -INSERT INTO cp_tree VALUES ('803', '4', '10', '161', '802', '15'); -INSERT INTO cp_tree VALUES ('804', '5', '11', '161', '803', '12'); -INSERT INTO cp_tree VALUES ('805', '5', '13', '161', '803', '14'); -INSERT INTO cp_tree VALUES ('806', '4', '16', '161', '802', '17'); -INSERT INTO cp_tree VALUES ('807', '3', '19', '161', '798', '32'); -INSERT INTO cp_tree VALUES ('808', '4', '20', '161', '807', '21'); -INSERT INTO cp_tree VALUES ('809', '4', '22', '161', '807', '31'); -INSERT INTO cp_tree VALUES ('810', '5', '23', '161', '809', '28'); -INSERT INTO cp_tree VALUES ('811', '6', '24', '161', '810', '25'); -INSERT INTO cp_tree VALUES ('812', '6', '26', '161', '810', '27'); -INSERT INTO cp_tree VALUES ('813', '5', '29', '161', '809', '30'); -INSERT INTO cp_tree VALUES ('814', '3', '33', '161', '798', '38'); -INSERT INTO cp_tree VALUES ('815', '4', '34', '161', '814', '35'); -INSERT INTO cp_tree VALUES ('816', '4', '36', '161', '814', '37'); -INSERT INTO cp_tree VALUES ('817', '2', '40', '161', '797', '53'); -INSERT INTO cp_tree VALUES ('818', '3', '41', '161', '817', '42'); -INSERT INTO cp_tree VALUES ('819', '3', '43', '161', '817', '44'); -INSERT INTO cp_tree VALUES ('820', '3', '45', '161', '817', '46'); -INSERT INTO cp_tree VALUES ('821', '3', '47', '161', '817', '48'); -INSERT INTO cp_tree VALUES ('822', '3', '49', '161', '817', '50'); -INSERT INTO cp_tree VALUES ('823', '3', '51', '161', '817', '52'); -INSERT INTO cp_tree VALUES ('824', '2', '54', '161', '797', '57'); -INSERT INTO cp_tree VALUES ('825', '3', '55', '161', '824', '56'); -INSERT INTO cp_tree VALUES ('826', '2', '58', '161', '797', '61'); -INSERT INTO cp_tree VALUES ('827', '3', '59', '161', '826', '60'); -INSERT INTO cp_tree VALUES ('828', '2', '62', '161', '797', '65'); -INSERT INTO cp_tree VALUES ('829', '3', '63', '161', '828', '64'); -INSERT INTO cp_tree VALUES ('830', '2', '66', '161', '797', '71'); -INSERT INTO cp_tree VALUES ('831', '3', '67', '161', '830', '68'); -INSERT INTO cp_tree VALUES ('832', '3', '69', '161', '830', '70'); -INSERT INTO cp_tree VALUES ('833', '2', '72', '161', '797', '75'); -INSERT INTO cp_tree VALUES ('834', '3', '73', '161', '833', '74'); -INSERT INTO cp_tree VALUES ('835', '2', '76', '161', '797', '79'); -INSERT INTO cp_tree VALUES ('836', '3', '77', '161', '835', '78'); -INSERT INTO cp_tree VALUES ('837', '2', '80', '161', '797', '81'); -INSERT INTO cp_tree VALUES ('838', '2', '82', '161', '797', '83'); -INSERT INTO cp_tree VALUES ('839', '2', '84', '161', '797', '89'); -INSERT INTO cp_tree VALUES ('840', '3', '85', '161', '839', '88'); -INSERT INTO cp_tree VALUES ('841', '4', '86', '161', '840', '87'); -INSERT INTO cp_tree VALUES ('842', '2', '90', '161', '797', '91'); -INSERT INTO cp_tree VALUES ('843', '2', '92', '161', '797', '97'); -INSERT INTO cp_tree VALUES ('844', '3', '93', '161', '843', '96'); -INSERT INTO cp_tree VALUES ('845', '4', '94', '161', '844', '95'); -INSERT INTO cp_tree VALUES ('846', '2', '98', '161', '797', '99'); -INSERT INTO cp_tree VALUES ('847', '2', '100', '161', '797', '101'); -INSERT INTO cp_tree VALUES ('848', '2', '102', '161', '797', '103'); -INSERT INTO cp_tree VALUES ('849', '2', '104', '161', '797', '109'); -INSERT INTO cp_tree VALUES ('850', '3', '105', '161', '849', '108'); -INSERT INTO cp_tree VALUES ('851', '4', '106', '161', '850', '107'); -INSERT INTO cp_tree VALUES ('852', '2', '110', '161', '797', '111'); -INSERT INTO cp_tree VALUES ('853', '2', '112', '161', '797', '113'); -INSERT INTO cp_tree VALUES ('854', '1', '1', '162', '0', '96'); -INSERT INTO cp_tree VALUES ('855', '2', '2', '162', '854', '39'); -INSERT INTO cp_tree VALUES ('856', '3', '3', '162', '855', '8'); -INSERT INTO cp_tree VALUES ('857', '4', '4', '162', '856', '5'); -INSERT INTO cp_tree VALUES ('858', '4', '6', '162', '856', '7'); -INSERT INTO cp_tree VALUES ('859', '3', '9', '162', '855', '18'); -INSERT INTO cp_tree VALUES ('860', '4', '10', '162', '859', '15'); -INSERT INTO cp_tree VALUES ('861', '5', '11', '162', '860', '12'); -INSERT INTO cp_tree VALUES ('862', '5', '13', '162', '860', '14'); -INSERT INTO cp_tree VALUES ('863', '4', '16', '162', '859', '17'); -INSERT INTO cp_tree VALUES ('864', '3', '19', '162', '855', '32'); -INSERT INTO cp_tree VALUES ('865', '4', '20', '162', '864', '21'); -INSERT INTO cp_tree VALUES ('866', '4', '22', '162', '864', '31'); -INSERT INTO cp_tree VALUES ('867', '5', '23', '162', '866', '28'); -INSERT INTO cp_tree VALUES ('868', '6', '24', '162', '867', '25'); -INSERT INTO cp_tree VALUES ('869', '6', '26', '162', '867', '27'); -INSERT INTO cp_tree VALUES ('870', '5', '29', '162', '866', '30'); -INSERT INTO cp_tree VALUES ('871', '3', '33', '162', '855', '38'); -INSERT INTO cp_tree VALUES ('872', '4', '34', '162', '871', '35'); -INSERT INTO cp_tree VALUES ('873', '4', '36', '162', '871', '37'); -INSERT INTO cp_tree VALUES ('874', '2', '40', '162', '854', '53'); -INSERT INTO cp_tree VALUES ('875', '3', '41', '162', '874', '42'); -INSERT INTO cp_tree VALUES ('876', '3', '43', '162', '874', '44'); -INSERT INTO cp_tree VALUES ('877', '3', '45', '162', '874', '46'); -INSERT INTO cp_tree VALUES ('878', '3', '47', '162', '874', '48'); -INSERT INTO cp_tree VALUES ('879', '3', '49', '162', '874', '50'); -INSERT INTO cp_tree VALUES ('880', '3', '51', '162', '874', '52'); -INSERT INTO cp_tree VALUES ('881', '2', '54', '162', '854', '57'); -INSERT INTO cp_tree VALUES ('882', '3', '55', '162', '881', '56'); -INSERT INTO cp_tree VALUES ('883', '2', '58', '162', '854', '61'); -INSERT INTO cp_tree VALUES ('884', '3', '59', '162', '883', '60'); -INSERT INTO cp_tree VALUES ('885', '2', '62', '162', '854', '65'); -INSERT INTO cp_tree VALUES ('886', '3', '63', '162', '885', '64'); -INSERT INTO cp_tree VALUES ('887', '2', '66', '162', '854', '71'); -INSERT INTO cp_tree VALUES ('888', '3', '67', '162', '887', '68'); -INSERT INTO cp_tree VALUES ('889', '3', '69', '162', '887', '70'); -INSERT INTO cp_tree VALUES ('890', '2', '72', '162', '854', '75'); -INSERT INTO cp_tree VALUES ('891', '3', '73', '162', '890', '74'); -INSERT INTO cp_tree VALUES ('892', '2', '76', '162', '854', '79'); -INSERT INTO cp_tree VALUES ('893', '3', '77', '162', '892', '78'); -INSERT INTO cp_tree VALUES ('894', '2', '80', '162', '854', '81'); -INSERT INTO cp_tree VALUES ('895', '2', '82', '162', '854', '83'); -INSERT INTO cp_tree VALUES ('896', '2', '84', '162', '854', '85'); -INSERT INTO cp_tree VALUES ('897', '2', '86', '162', '854', '87'); -INSERT INTO cp_tree VALUES ('898', '2', '88', '162', '854', '89'); -INSERT INTO cp_tree VALUES ('899', '2', '90', '162', '854', '91'); -INSERT INTO cp_tree VALUES ('900', '2', '92', '162', '854', '93'); -INSERT INTO cp_tree VALUES ('901', '2', '94', '162', '854', '95'); -INSERT INTO cp_tree VALUES ('902', '1', '1', '163', '0', '66'); -INSERT INTO cp_tree VALUES ('903', '2', '2', '163', '902', '15'); -INSERT INTO cp_tree VALUES ('904', '3', '3', '163', '903', '4'); -INSERT INTO cp_tree VALUES ('905', '3', '5', '163', '903', '14'); -INSERT INTO cp_tree VALUES ('906', '4', '6', '163', '905', '7'); -INSERT INTO cp_tree VALUES ('907', '4', '8', '163', '905', '13'); -INSERT INTO cp_tree VALUES ('908', '5', '9', '163', '907', '10'); -INSERT INTO cp_tree VALUES ('909', '5', '11', '163', '907', '12'); -INSERT INTO cp_tree VALUES ('910', '2', '16', '163', '902', '29'); -INSERT INTO cp_tree VALUES ('911', '3', '17', '163', '910', '18'); -INSERT INTO cp_tree VALUES ('912', '3', '19', '163', '910', '20'); -INSERT INTO cp_tree VALUES ('913', '3', '21', '163', '910', '22'); -INSERT INTO cp_tree VALUES ('914', '3', '23', '163', '910', '24'); -INSERT INTO cp_tree VALUES ('915', '3', '25', '163', '910', '26'); -INSERT INTO cp_tree VALUES ('916', '3', '27', '163', '910', '28'); -INSERT INTO cp_tree VALUES ('917', '2', '30', '163', '902', '33'); -INSERT INTO cp_tree VALUES ('918', '3', '31', '163', '917', '32'); -INSERT INTO cp_tree VALUES ('919', '2', '34', '163', '902', '37'); -INSERT INTO cp_tree VALUES ('920', '3', '35', '163', '919', '36'); -INSERT INTO cp_tree VALUES ('921', '2', '38', '163', '902', '41'); -INSERT INTO cp_tree VALUES ('922', '3', '39', '163', '921', '40'); -INSERT INTO cp_tree VALUES ('923', '2', '42', '163', '902', '47'); -INSERT INTO cp_tree VALUES ('924', '3', '43', '163', '923', '44'); -INSERT INTO cp_tree VALUES ('925', '3', '45', '163', '923', '46'); -INSERT INTO cp_tree VALUES ('926', '2', '48', '163', '902', '51'); -INSERT INTO cp_tree VALUES ('927', '3', '49', '163', '926', '50'); -INSERT INTO cp_tree VALUES ('928', '2', '52', '163', '902', '55'); -INSERT INTO cp_tree VALUES ('929', '3', '53', '163', '928', '54'); -INSERT INTO cp_tree VALUES ('930', '2', '56', '163', '902', '61'); -INSERT INTO cp_tree VALUES ('931', '3', '57', '163', '930', '60'); -INSERT INTO cp_tree VALUES ('932', '4', '58', '163', '931', '59'); -INSERT INTO cp_tree VALUES ('933', '2', '62', '163', '902', '63'); -INSERT INTO cp_tree VALUES ('934', '2', '64', '163', '902', '65'); -INSERT INTO cp_tree VALUES ('935', '1', '1', '164', '0', '60'); -INSERT INTO cp_tree VALUES ('936', '2', '2', '164', '935', '11'); -INSERT INTO cp_tree VALUES ('937', '3', '3', '164', '936', '4'); -INSERT INTO cp_tree VALUES ('938', '3', '5', '164', '936', '6'); -INSERT INTO cp_tree VALUES ('939', '3', '7', '164', '936', '8'); -INSERT INTO cp_tree VALUES ('940', '3', '9', '164', '936', '10'); -INSERT INTO cp_tree VALUES ('941', '2', '12', '164', '935', '25'); -INSERT INTO cp_tree VALUES ('942', '3', '13', '164', '941', '14'); -INSERT INTO cp_tree VALUES ('943', '3', '15', '164', '941', '16'); -INSERT INTO cp_tree VALUES ('944', '3', '17', '164', '941', '18'); -INSERT INTO cp_tree VALUES ('945', '3', '19', '164', '941', '20'); -INSERT INTO cp_tree VALUES ('946', '3', '21', '164', '941', '22'); -INSERT INTO cp_tree VALUES ('947', '3', '23', '164', '941', '24'); -INSERT INTO cp_tree VALUES ('948', '2', '26', '164', '935', '29'); -INSERT INTO cp_tree VALUES ('949', '3', '27', '164', '948', '28'); -INSERT INTO cp_tree VALUES ('950', '2', '30', '164', '935', '33'); -INSERT INTO cp_tree VALUES ('951', '3', '31', '164', '950', '32'); -INSERT INTO cp_tree VALUES ('952', '2', '34', '164', '935', '37'); -INSERT INTO cp_tree VALUES ('953', '3', '35', '164', '952', '36'); -INSERT INTO cp_tree VALUES ('954', '2', '38', '164', '935', '43'); -INSERT INTO cp_tree VALUES ('955', '3', '39', '164', '954', '40'); -INSERT INTO cp_tree VALUES ('956', '3', '41', '164', '954', '42'); -INSERT INTO cp_tree VALUES ('957', '2', '44', '164', '935', '47'); -INSERT INTO cp_tree VALUES ('958', '3', '45', '164', '957', '46'); -INSERT INTO cp_tree VALUES ('959', '2', '48', '164', '935', '51'); -INSERT INTO cp_tree VALUES ('960', '3', '49', '164', '959', '50'); -INSERT INTO cp_tree VALUES ('961', '2', '52', '164', '935', '57'); -INSERT INTO cp_tree VALUES ('962', '3', '53', '164', '961', '56'); -INSERT INTO cp_tree VALUES ('963', '4', '54', '164', '962', '55'); -INSERT INTO cp_tree VALUES ('964', '2', '58', '164', '935', '59'); -INSERT INTO cp_tree VALUES ('965', '1', '1', '165', '0', '58'); -INSERT INTO cp_tree VALUES ('966', '2', '2', '165', '965', '7'); -INSERT INTO cp_tree VALUES ('967', '3', '3', '165', '966', '4'); -INSERT INTO cp_tree VALUES ('968', '3', '5', '165', '966', '6'); -INSERT INTO cp_tree VALUES ('969', '2', '8', '165', '965', '21'); -INSERT INTO cp_tree VALUES ('970', '3', '9', '165', '969', '10'); -INSERT INTO cp_tree VALUES ('971', '3', '11', '165', '969', '12'); -INSERT INTO cp_tree VALUES ('972', '3', '13', '165', '969', '14'); -INSERT INTO cp_tree VALUES ('973', '3', '15', '165', '969', '16'); -INSERT INTO cp_tree VALUES ('974', '3', '17', '165', '969', '18'); -INSERT INTO cp_tree VALUES ('975', '3', '19', '165', '969', '20'); -INSERT INTO cp_tree VALUES ('976', '2', '22', '165', '965', '25'); -INSERT INTO cp_tree VALUES ('977', '3', '23', '165', '976', '24'); -INSERT INTO cp_tree VALUES ('978', '2', '26', '165', '965', '29'); -INSERT INTO cp_tree VALUES ('979', '3', '27', '165', '978', '28'); -INSERT INTO cp_tree VALUES ('980', '2', '30', '165', '965', '33'); -INSERT INTO cp_tree VALUES ('981', '3', '31', '165', '980', '32'); -INSERT INTO cp_tree VALUES ('982', '2', '34', '165', '965', '39'); -INSERT INTO cp_tree VALUES ('983', '3', '35', '165', '982', '36'); -INSERT INTO cp_tree VALUES ('984', '3', '37', '165', '982', '38'); -INSERT INTO cp_tree VALUES ('985', '2', '40', '165', '965', '43'); -INSERT INTO cp_tree VALUES ('986', '3', '41', '165', '985', '42'); -INSERT INTO cp_tree VALUES ('987', '2', '44', '165', '965', '47'); -INSERT INTO cp_tree VALUES ('988', '3', '45', '165', '987', '46'); -INSERT INTO cp_tree VALUES ('989', '2', '48', '165', '965', '53'); -INSERT INTO cp_tree VALUES ('990', '3', '49', '165', '989', '52'); -INSERT INTO cp_tree VALUES ('991', '4', '50', '165', '990', '51'); -INSERT INTO cp_tree VALUES ('992', '2', '54', '165', '965', '55'); -INSERT INTO cp_tree VALUES ('993', '2', '56', '165', '965', '57'); -INSERT INTO cp_tree VALUES ('994', '1', '1', '166', '0', '216'); -INSERT INTO cp_tree VALUES ('995', '2', '2', '166', '994', '39'); -INSERT INTO cp_tree VALUES ('996', '3', '3', '166', '995', '6'); -INSERT INTO cp_tree VALUES ('997', '4', '4', '166', '996', '5'); -INSERT INTO cp_tree VALUES ('998', '3', '7', '166', '995', '10'); -INSERT INTO cp_tree VALUES ('999', '4', '8', '166', '998', '9'); -INSERT INTO cp_tree VALUES ('1000', '3', '11', '166', '995', '14'); -INSERT INTO cp_tree VALUES ('1001', '4', '12', '166', '1000', '13'); -INSERT INTO cp_tree VALUES ('1002', '3', '15', '166', '995', '18'); -INSERT INTO cp_tree VALUES ('1003', '4', '16', '166', '1002', '17'); -INSERT INTO cp_tree VALUES ('1004', '3', '19', '166', '995', '22'); -INSERT INTO cp_tree VALUES ('1005', '4', '20', '166', '1004', '21'); -INSERT INTO cp_tree VALUES ('1006', '3', '23', '166', '995', '26'); -INSERT INTO cp_tree VALUES ('1007', '4', '24', '166', '1006', '25'); -INSERT INTO cp_tree VALUES ('1008', '3', '27', '166', '995', '30'); -INSERT INTO cp_tree VALUES ('1009', '4', '28', '166', '1008', '29'); -INSERT INTO cp_tree VALUES ('1010', '3', '31', '166', '995', '34'); -INSERT INTO cp_tree VALUES ('1011', '4', '32', '166', '1010', '33'); -INSERT INTO cp_tree VALUES ('1012', '3', '35', '166', '995', '38'); -INSERT INTO cp_tree VALUES ('1013', '4', '36', '166', '1012', '37'); -INSERT INTO cp_tree VALUES ('1014', '2', '40', '166', '994', '53'); -INSERT INTO cp_tree VALUES ('1015', '3', '41', '166', '1014', '42'); -INSERT INTO cp_tree VALUES ('1016', '3', '43', '166', '1014', '44'); -INSERT INTO cp_tree VALUES ('1017', '3', '45', '166', '1014', '46'); -INSERT INTO cp_tree VALUES ('1018', '3', '47', '166', '1014', '48'); -INSERT INTO cp_tree VALUES ('1019', '3', '49', '166', '1014', '50'); -INSERT INTO cp_tree VALUES ('1020', '3', '51', '166', '1014', '52'); -INSERT INTO cp_tree VALUES ('1021', '2', '54', '166', '994', '67'); -INSERT INTO cp_tree VALUES ('1022', '3', '55', '166', '1021', '56'); -INSERT INTO cp_tree VALUES ('1023', '3', '57', '166', '1021', '58'); -INSERT INTO cp_tree VALUES ('1024', '3', '59', '166', '1021', '60'); -INSERT INTO cp_tree VALUES ('1025', '3', '61', '166', '1021', '62'); -INSERT INTO cp_tree VALUES ('1026', '3', '63', '166', '1021', '64'); -INSERT INTO cp_tree VALUES ('1027', '3', '65', '166', '1021', '66'); -INSERT INTO cp_tree VALUES ('1028', '2', '68', '166', '994', '81'); -INSERT INTO cp_tree VALUES ('1029', '3', '69', '166', '1028', '70'); -INSERT INTO cp_tree VALUES ('1030', '3', '71', '166', '1028', '72'); -INSERT INTO cp_tree VALUES ('1031', '3', '73', '166', '1028', '74'); -INSERT INTO cp_tree VALUES ('1032', '3', '75', '166', '1028', '76'); -INSERT INTO cp_tree VALUES ('1033', '3', '77', '166', '1028', '78'); -INSERT INTO cp_tree VALUES ('1034', '3', '79', '166', '1028', '80'); -INSERT INTO cp_tree VALUES ('1035', '2', '82', '166', '994', '95'); -INSERT INTO cp_tree VALUES ('1036', '3', '83', '166', '1035', '84'); -INSERT INTO cp_tree VALUES ('1037', '3', '85', '166', '1035', '86'); -INSERT INTO cp_tree VALUES ('1038', '3', '87', '166', '1035', '88'); -INSERT INTO cp_tree VALUES ('1039', '3', '89', '166', '1035', '90'); -INSERT INTO cp_tree VALUES ('1040', '3', '91', '166', '1035', '92'); -INSERT INTO cp_tree VALUES ('1041', '3', '93', '166', '1035', '94'); -INSERT INTO cp_tree VALUES ('1042', '2', '96', '166', '994', '109'); -INSERT INTO cp_tree VALUES ('1043', '3', '97', '166', '1042', '98'); -INSERT INTO cp_tree VALUES ('1044', '3', '99', '166', '1042', '100'); -INSERT INTO cp_tree VALUES ('1045', '3', '101', '166', '1042', '102'); -INSERT INTO cp_tree VALUES ('1046', '3', '103', '166', '1042', '104'); -INSERT INTO cp_tree VALUES ('1047', '3', '105', '166', '1042', '106'); -INSERT INTO cp_tree VALUES ('1048', '3', '107', '166', '1042', '108'); -INSERT INTO cp_tree VALUES ('1049', '2', '110', '166', '994', '123'); -INSERT INTO cp_tree VALUES ('1050', '3', '111', '166', '1049', '112'); -INSERT INTO cp_tree VALUES ('1051', '3', '113', '166', '1049', '114'); -INSERT INTO cp_tree VALUES ('1052', '3', '115', '166', '1049', '116'); -INSERT INTO cp_tree VALUES ('1053', '3', '117', '166', '1049', '118'); -INSERT INTO cp_tree VALUES ('1054', '3', '119', '166', '1049', '120'); -INSERT INTO cp_tree VALUES ('1055', '3', '121', '166', '1049', '122'); -INSERT INTO cp_tree VALUES ('1056', '2', '124', '166', '994', '137'); -INSERT INTO cp_tree VALUES ('1057', '3', '125', '166', '1056', '126'); -INSERT INTO cp_tree VALUES ('1058', '3', '127', '166', '1056', '128'); -INSERT INTO cp_tree VALUES ('1059', '3', '129', '166', '1056', '130'); -INSERT INTO cp_tree VALUES ('1060', '3', '131', '166', '1056', '132'); -INSERT INTO cp_tree VALUES ('1061', '3', '133', '166', '1056', '134'); -INSERT INTO cp_tree VALUES ('1062', '3', '135', '166', '1056', '136'); -INSERT INTO cp_tree VALUES ('1063', '2', '138', '166', '994', '151'); -INSERT INTO cp_tree VALUES ('1064', '3', '139', '166', '1063', '140'); -INSERT INTO cp_tree VALUES ('1065', '3', '141', '166', '1063', '142'); -INSERT INTO cp_tree VALUES ('1066', '3', '143', '166', '1063', '144'); -INSERT INTO cp_tree VALUES ('1067', '3', '145', '166', '1063', '146'); -INSERT INTO cp_tree VALUES ('1068', '3', '147', '166', '1063', '148'); -INSERT INTO cp_tree VALUES ('1069', '3', '149', '166', '1063', '150'); -INSERT INTO cp_tree VALUES ('1070', '2', '152', '166', '994', '165'); -INSERT INTO cp_tree VALUES ('1071', '3', '153', '166', '1070', '154'); -INSERT INTO cp_tree VALUES ('1072', '3', '155', '166', '1070', '156'); -INSERT INTO cp_tree VALUES ('1073', '3', '157', '166', '1070', '158'); -INSERT INTO cp_tree VALUES ('1074', '3', '159', '166', '1070', '160'); -INSERT INTO cp_tree VALUES ('1075', '3', '161', '166', '1070', '162'); -INSERT INTO cp_tree VALUES ('1076', '3', '163', '166', '1070', '164'); -INSERT INTO cp_tree VALUES ('1077', '2', '166', '166', '994', '169'); -INSERT INTO cp_tree VALUES ('1078', '3', '167', '166', '1077', '168'); -INSERT INTO cp_tree VALUES ('1079', '2', '170', '166', '994', '173'); -INSERT INTO cp_tree VALUES ('1080', '3', '171', '166', '1079', '172'); -INSERT INTO cp_tree VALUES ('1081', '2', '174', '166', '994', '177'); -INSERT INTO cp_tree VALUES ('1082', '3', '175', '166', '1081', '176'); -INSERT INTO cp_tree VALUES ('1083', '2', '178', '166', '994', '183'); -INSERT INTO cp_tree VALUES ('1084', '3', '179', '166', '1083', '180'); -INSERT INTO cp_tree VALUES ('1085', '3', '181', '166', '1083', '182'); -INSERT INTO cp_tree VALUES ('1086', '2', '184', '166', '994', '187'); -INSERT INTO cp_tree VALUES ('1087', '3', '185', '166', '1086', '186'); -INSERT INTO cp_tree VALUES ('1088', '2', '188', '166', '994', '191'); -INSERT INTO cp_tree VALUES ('1089', '3', '189', '166', '1088', '190'); -INSERT INTO cp_tree VALUES ('1090', '2', '192', '166', '994', '195'); -INSERT INTO cp_tree VALUES ('1091', '3', '193', '166', '1090', '194'); -INSERT INTO cp_tree VALUES ('1092', '2', '196', '166', '994', '199'); -INSERT INTO cp_tree VALUES ('1093', '3', '197', '166', '1092', '198'); -INSERT INTO cp_tree VALUES ('1094', '2', '200', '166', '994', '203'); -INSERT INTO cp_tree VALUES ('1095', '3', '201', '166', '1094', '202'); -INSERT INTO cp_tree VALUES ('1096', '2', '204', '166', '994', '207'); -INSERT INTO cp_tree VALUES ('1097', '3', '205', '166', '1096', '206'); -INSERT INTO cp_tree VALUES ('1098', '2', '208', '166', '994', '211'); -INSERT INTO cp_tree VALUES ('1099', '3', '209', '166', '1098', '210'); -INSERT INTO cp_tree VALUES ('1100', '2', '212', '166', '994', '215'); -INSERT INTO cp_tree VALUES ('1101', '3', '213', '166', '1100', '214'); -INSERT INTO cp_tree VALUES ('1102', '1', '1', '167', '0', '102'); -INSERT INTO cp_tree VALUES ('1103', '2', '2', '167', '1102', '19'); -INSERT INTO cp_tree VALUES ('1104', '3', '3', '167', '1103', '6'); -INSERT INTO cp_tree VALUES ('1105', '4', '4', '167', '1104', '5'); -INSERT INTO cp_tree VALUES ('1106', '3', '7', '167', '1103', '10'); -INSERT INTO cp_tree VALUES ('1107', '4', '8', '167', '1106', '9'); -INSERT INTO cp_tree VALUES ('1108', '3', '11', '167', '1103', '14'); -INSERT INTO cp_tree VALUES ('1109', '4', '12', '167', '1108', '13'); -INSERT INTO cp_tree VALUES ('1110', '3', '15', '167', '1103', '18'); -INSERT INTO cp_tree VALUES ('1111', '4', '16', '167', '1110', '17'); -INSERT INTO cp_tree VALUES ('1112', '2', '20', '167', '1102', '33'); -INSERT INTO cp_tree VALUES ('1113', '3', '21', '167', '1112', '22'); -INSERT INTO cp_tree VALUES ('1114', '3', '23', '167', '1112', '24'); -INSERT INTO cp_tree VALUES ('1115', '3', '25', '167', '1112', '26'); -INSERT INTO cp_tree VALUES ('1116', '3', '27', '167', '1112', '28'); -INSERT INTO cp_tree VALUES ('1117', '3', '29', '167', '1112', '30'); -INSERT INTO cp_tree VALUES ('1118', '3', '31', '167', '1112', '32'); -INSERT INTO cp_tree VALUES ('1119', '2', '34', '167', '1102', '47'); -INSERT INTO cp_tree VALUES ('1120', '3', '35', '167', '1119', '36'); -INSERT INTO cp_tree VALUES ('1121', '3', '37', '167', '1119', '38'); -INSERT INTO cp_tree VALUES ('1122', '3', '39', '167', '1119', '40'); -INSERT INTO cp_tree VALUES ('1123', '3', '41', '167', '1119', '42'); -INSERT INTO cp_tree VALUES ('1124', '3', '43', '167', '1119', '44'); -INSERT INTO cp_tree VALUES ('1125', '3', '45', '167', '1119', '46'); -INSERT INTO cp_tree VALUES ('1126', '2', '48', '167', '1102', '61'); -INSERT INTO cp_tree VALUES ('1127', '3', '49', '167', '1126', '50'); -INSERT INTO cp_tree VALUES ('1128', '3', '51', '167', '1126', '52'); -INSERT INTO cp_tree VALUES ('1129', '3', '53', '167', '1126', '54'); -INSERT INTO cp_tree VALUES ('1130', '3', '55', '167', '1126', '56'); -INSERT INTO cp_tree VALUES ('1131', '3', '57', '167', '1126', '58'); -INSERT INTO cp_tree VALUES ('1132', '3', '59', '167', '1126', '60'); -INSERT INTO cp_tree VALUES ('1133', '2', '62', '167', '1102', '75'); -INSERT INTO cp_tree VALUES ('1134', '3', '63', '167', '1133', '64'); -INSERT INTO cp_tree VALUES ('1135', '3', '65', '167', '1133', '66'); -INSERT INTO cp_tree VALUES ('1136', '3', '67', '167', '1133', '68'); -INSERT INTO cp_tree VALUES ('1137', '3', '69', '167', '1133', '70'); -INSERT INTO cp_tree VALUES ('1138', '3', '71', '167', '1133', '72'); -INSERT INTO cp_tree VALUES ('1139', '3', '73', '167', '1133', '74'); -INSERT INTO cp_tree VALUES ('1140', '2', '76', '167', '1102', '79'); -INSERT INTO cp_tree VALUES ('1141', '3', '77', '167', '1140', '78'); -INSERT INTO cp_tree VALUES ('1142', '2', '80', '167', '1102', '83'); -INSERT INTO cp_tree VALUES ('1143', '3', '81', '167', '1142', '82'); -INSERT INTO cp_tree VALUES ('1144', '2', '84', '167', '1102', '87'); -INSERT INTO cp_tree VALUES ('1145', '3', '85', '167', '1144', '86'); -INSERT INTO cp_tree VALUES ('1146', '2', '88', '167', '1102', '93'); -INSERT INTO cp_tree VALUES ('1147', '3', '89', '167', '1146', '90'); -INSERT INTO cp_tree VALUES ('1148', '3', '91', '167', '1146', '92'); -INSERT INTO cp_tree VALUES ('1149', '2', '94', '167', '1102', '97'); -INSERT INTO cp_tree VALUES ('1150', '3', '95', '167', '1149', '96'); -INSERT INTO cp_tree VALUES ('1151', '2', '98', '167', '1102', '101'); -INSERT INTO cp_tree VALUES ('1152', '3', '99', '167', '1151', '100'); -INSERT INTO cp_tree VALUES ('1153', '1', '1', '168', '0', '96'); -INSERT INTO cp_tree VALUES ('1154', '2', '2', '168', '1153', '45'); -INSERT INTO cp_tree VALUES ('1155', '3', '3', '168', '1154', '10'); -INSERT INTO cp_tree VALUES ('1156', '4', '4', '168', '1155', '5'); -INSERT INTO cp_tree VALUES ('1157', '4', '6', '168', '1155', '7'); -INSERT INTO cp_tree VALUES ('1158', '4', '8', '168', '1155', '9'); -INSERT INTO cp_tree VALUES ('1159', '3', '11', '168', '1154', '36'); -INSERT INTO cp_tree VALUES ('1160', '4', '12', '168', '1159', '19'); -INSERT INTO cp_tree VALUES ('1161', '5', '13', '168', '1160', '14'); -INSERT INTO cp_tree VALUES ('1162', '5', '15', '168', '1160', '16'); -INSERT INTO cp_tree VALUES ('1163', '5', '17', '168', '1160', '18'); -INSERT INTO cp_tree VALUES ('1164', '4', '20', '168', '1159', '27'); -INSERT INTO cp_tree VALUES ('1165', '5', '21', '168', '1164', '22'); -INSERT INTO cp_tree VALUES ('1166', '5', '23', '168', '1164', '24'); -INSERT INTO cp_tree VALUES ('1167', '5', '25', '168', '1164', '26'); -INSERT INTO cp_tree VALUES ('1168', '4', '28', '168', '1159', '35'); -INSERT INTO cp_tree VALUES ('1169', '5', '29', '168', '1168', '30'); -INSERT INTO cp_tree VALUES ('1170', '5', '31', '168', '1168', '32'); -INSERT INTO cp_tree VALUES ('1171', '5', '33', '168', '1168', '34'); -INSERT INTO cp_tree VALUES ('1172', '3', '37', '168', '1154', '44'); -INSERT INTO cp_tree VALUES ('1173', '4', '38', '168', '1172', '39'); -INSERT INTO cp_tree VALUES ('1174', '4', '40', '168', '1172', '41'); -INSERT INTO cp_tree VALUES ('1175', '4', '42', '168', '1172', '43'); -INSERT INTO cp_tree VALUES ('1176', '2', '46', '168', '1153', '59'); -INSERT INTO cp_tree VALUES ('1177', '3', '47', '168', '1176', '48'); -INSERT INTO cp_tree VALUES ('1178', '3', '49', '168', '1176', '50'); -INSERT INTO cp_tree VALUES ('1179', '3', '51', '168', '1176', '52'); -INSERT INTO cp_tree VALUES ('1180', '3', '53', '168', '1176', '54'); -INSERT INTO cp_tree VALUES ('1181', '3', '55', '168', '1176', '56'); -INSERT INTO cp_tree VALUES ('1182', '3', '57', '168', '1176', '58'); -INSERT INTO cp_tree VALUES ('1183', '2', '60', '168', '1153', '63'); -INSERT INTO cp_tree VALUES ('1184', '3', '61', '168', '1183', '62'); -INSERT INTO cp_tree VALUES ('1185', '2', '64', '168', '1153', '67'); -INSERT INTO cp_tree VALUES ('1186', '3', '65', '168', '1185', '66'); -INSERT INTO cp_tree VALUES ('1187', '2', '68', '168', '1153', '71'); -INSERT INTO cp_tree VALUES ('1188', '3', '69', '168', '1187', '70'); -INSERT INTO cp_tree VALUES ('1189', '2', '72', '168', '1153', '77'); -INSERT INTO cp_tree VALUES ('1190', '3', '73', '168', '1189', '74'); -INSERT INTO cp_tree VALUES ('1191', '3', '75', '168', '1189', '76'); -INSERT INTO cp_tree VALUES ('1192', '2', '78', '168', '1153', '81'); -INSERT INTO cp_tree VALUES ('1193', '3', '79', '168', '1192', '80'); -INSERT INTO cp_tree VALUES ('1194', '2', '82', '168', '1153', '85'); -INSERT INTO cp_tree VALUES ('1195', '3', '83', '168', '1194', '84'); -INSERT INTO cp_tree VALUES ('1196', '2', '86', '168', '1153', '87'); -INSERT INTO cp_tree VALUES ('1197', '2', '88', '168', '1153', '93'); -INSERT INTO cp_tree VALUES ('1198', '3', '89', '168', '1197', '92'); -INSERT INTO cp_tree VALUES ('1199', '4', '90', '168', '1198', '91'); -INSERT INTO cp_tree VALUES ('1200', '2', '94', '168', '1153', '95'); -INSERT INTO cp_tree VALUES ('1201', '1', '1', '169', '0', '100'); -INSERT INTO cp_tree VALUES ('1202', '2', '2', '169', '1201', '45'); -INSERT INTO cp_tree VALUES ('1203', '3', '3', '169', '1202', '10'); -INSERT INTO cp_tree VALUES ('1204', '4', '4', '169', '1203', '5'); -INSERT INTO cp_tree VALUES ('1205', '4', '6', '169', '1203', '7'); -INSERT INTO cp_tree VALUES ('1206', '4', '8', '169', '1203', '9'); -INSERT INTO cp_tree VALUES ('1207', '3', '11', '169', '1202', '36'); -INSERT INTO cp_tree VALUES ('1208', '4', '12', '169', '1207', '19'); -INSERT INTO cp_tree VALUES ('1209', '5', '13', '169', '1208', '14'); -INSERT INTO cp_tree VALUES ('1210', '5', '15', '169', '1208', '16'); -INSERT INTO cp_tree VALUES ('1211', '5', '17', '169', '1208', '18'); -INSERT INTO cp_tree VALUES ('1212', '4', '20', '169', '1207', '27'); -INSERT INTO cp_tree VALUES ('1213', '5', '21', '169', '1212', '22'); -INSERT INTO cp_tree VALUES ('1214', '5', '23', '169', '1212', '24'); -INSERT INTO cp_tree VALUES ('1215', '5', '25', '169', '1212', '26'); -INSERT INTO cp_tree VALUES ('1216', '4', '28', '169', '1207', '35'); -INSERT INTO cp_tree VALUES ('1217', '5', '29', '169', '1216', '30'); -INSERT INTO cp_tree VALUES ('1218', '5', '31', '169', '1216', '32'); -INSERT INTO cp_tree VALUES ('1219', '5', '33', '169', '1216', '34'); -INSERT INTO cp_tree VALUES ('1220', '3', '37', '169', '1202', '44'); -INSERT INTO cp_tree VALUES ('1221', '4', '38', '169', '1220', '39'); -INSERT INTO cp_tree VALUES ('1222', '4', '40', '169', '1220', '41'); -INSERT INTO cp_tree VALUES ('1223', '4', '42', '169', '1220', '43'); -INSERT INTO cp_tree VALUES ('1224', '2', '46', '169', '1201', '59'); -INSERT INTO cp_tree VALUES ('1225', '3', '47', '169', '1224', '48'); -INSERT INTO cp_tree VALUES ('1226', '3', '49', '169', '1224', '50'); -INSERT INTO cp_tree VALUES ('1227', '3', '51', '169', '1224', '52'); -INSERT INTO cp_tree VALUES ('1228', '3', '53', '169', '1224', '54'); -INSERT INTO cp_tree VALUES ('1229', '3', '55', '169', '1224', '56'); -INSERT INTO cp_tree VALUES ('1230', '3', '57', '169', '1224', '58'); -INSERT INTO cp_tree VALUES ('1231', '2', '60', '169', '1201', '63'); -INSERT INTO cp_tree VALUES ('1232', '3', '61', '169', '1231', '62'); -INSERT INTO cp_tree VALUES ('1233', '2', '64', '169', '1201', '67'); -INSERT INTO cp_tree VALUES ('1234', '3', '65', '169', '1233', '66'); -INSERT INTO cp_tree VALUES ('1235', '2', '68', '169', '1201', '71'); -INSERT INTO cp_tree VALUES ('1236', '3', '69', '169', '1235', '70'); -INSERT INTO cp_tree VALUES ('1237', '2', '72', '169', '1201', '77'); -INSERT INTO cp_tree VALUES ('1238', '3', '73', '169', '1237', '74'); -INSERT INTO cp_tree VALUES ('1239', '3', '75', '169', '1237', '76'); -INSERT INTO cp_tree VALUES ('1240', '2', '78', '169', '1201', '81'); -INSERT INTO cp_tree VALUES ('1241', '3', '79', '169', '1240', '80'); -INSERT INTO cp_tree VALUES ('1242', '2', '82', '169', '1201', '85'); -INSERT INTO cp_tree VALUES ('1243', '3', '83', '169', '1242', '84'); -INSERT INTO cp_tree VALUES ('1244', '2', '86', '169', '1201', '87'); -INSERT INTO cp_tree VALUES ('1245', '2', '88', '169', '1201', '89'); -INSERT INTO cp_tree VALUES ('1246', '2', '90', '169', '1201', '91'); -INSERT INTO cp_tree VALUES ('1247', '2', '92', '169', '1201', '97'); -INSERT INTO cp_tree VALUES ('1248', '3', '93', '169', '1247', '96'); -INSERT INTO cp_tree VALUES ('1249', '4', '94', '169', '1248', '95'); -INSERT INTO cp_tree VALUES ('1250', '2', '98', '169', '1201', '99'); -INSERT INTO cp_tree VALUES ('1251', '1', '1', '170', '0', '100'); -INSERT INTO cp_tree VALUES ('1252', '2', '2', '170', '1251', '45'); -INSERT INTO cp_tree VALUES ('1253', '3', '3', '170', '1252', '10'); -INSERT INTO cp_tree VALUES ('1254', '4', '4', '170', '1253', '5'); -INSERT INTO cp_tree VALUES ('1255', '4', '6', '170', '1253', '7'); -INSERT INTO cp_tree VALUES ('1256', '4', '8', '170', '1253', '9'); -INSERT INTO cp_tree VALUES ('1257', '3', '11', '170', '1252', '36'); -INSERT INTO cp_tree VALUES ('1258', '4', '12', '170', '1257', '19'); -INSERT INTO cp_tree VALUES ('1259', '5', '13', '170', '1258', '14'); -INSERT INTO cp_tree VALUES ('1260', '5', '15', '170', '1258', '16'); -INSERT INTO cp_tree VALUES ('1261', '5', '17', '170', '1258', '18'); -INSERT INTO cp_tree VALUES ('1262', '4', '20', '170', '1257', '27'); -INSERT INTO cp_tree VALUES ('1263', '5', '21', '170', '1262', '22'); -INSERT INTO cp_tree VALUES ('1264', '5', '23', '170', '1262', '24'); -INSERT INTO cp_tree VALUES ('1265', '5', '25', '170', '1262', '26'); -INSERT INTO cp_tree VALUES ('1266', '4', '28', '170', '1257', '35'); -INSERT INTO cp_tree VALUES ('1267', '5', '29', '170', '1266', '30'); -INSERT INTO cp_tree VALUES ('1268', '5', '31', '170', '1266', '32'); -INSERT INTO cp_tree VALUES ('1269', '5', '33', '170', '1266', '34'); -INSERT INTO cp_tree VALUES ('1270', '3', '37', '170', '1252', '44'); -INSERT INTO cp_tree VALUES ('1271', '4', '38', '170', '1270', '39'); -INSERT INTO cp_tree VALUES ('1272', '4', '40', '170', '1270', '41'); -INSERT INTO cp_tree VALUES ('1273', '4', '42', '170', '1270', '43'); -INSERT INTO cp_tree VALUES ('1274', '2', '46', '170', '1251', '59'); -INSERT INTO cp_tree VALUES ('1275', '3', '47', '170', '1274', '48'); -INSERT INTO cp_tree VALUES ('1276', '3', '49', '170', '1274', '50'); -INSERT INTO cp_tree VALUES ('1277', '3', '51', '170', '1274', '52'); -INSERT INTO cp_tree VALUES ('1278', '3', '53', '170', '1274', '54'); -INSERT INTO cp_tree VALUES ('1279', '3', '55', '170', '1274', '56'); -INSERT INTO cp_tree VALUES ('1280', '3', '57', '170', '1274', '58'); -INSERT INTO cp_tree VALUES ('1281', '2', '60', '170', '1251', '63'); -INSERT INTO cp_tree VALUES ('1282', '3', '61', '170', '1281', '62'); -INSERT INTO cp_tree VALUES ('1283', '2', '64', '170', '1251', '67'); -INSERT INTO cp_tree VALUES ('1284', '3', '65', '170', '1283', '66'); -INSERT INTO cp_tree VALUES ('1285', '2', '68', '170', '1251', '71'); -INSERT INTO cp_tree VALUES ('1286', '3', '69', '170', '1285', '70'); -INSERT INTO cp_tree VALUES ('1287', '2', '72', '170', '1251', '77'); -INSERT INTO cp_tree VALUES ('1288', '3', '73', '170', '1287', '74'); -INSERT INTO cp_tree VALUES ('1289', '3', '75', '170', '1287', '76'); -INSERT INTO cp_tree VALUES ('1290', '2', '78', '170', '1251', '81'); -INSERT INTO cp_tree VALUES ('1291', '3', '79', '170', '1290', '80'); -INSERT INTO cp_tree VALUES ('1292', '2', '82', '170', '1251', '85'); -INSERT INTO cp_tree VALUES ('1293', '3', '83', '170', '1292', '84'); -INSERT INTO cp_tree VALUES ('1294', '2', '86', '170', '1251', '87'); -INSERT INTO cp_tree VALUES ('1295', '2', '88', '170', '1251', '89'); -INSERT INTO cp_tree VALUES ('1296', '2', '90', '170', '1251', '91'); -INSERT INTO cp_tree VALUES ('1297', '2', '92', '170', '1251', '97'); -INSERT INTO cp_tree VALUES ('1298', '3', '93', '170', '1297', '96'); -INSERT INTO cp_tree VALUES ('1299', '4', '94', '170', '1298', '95'); -INSERT INTO cp_tree VALUES ('1300', '2', '98', '170', '1251', '99'); -INSERT INTO cp_tree VALUES ('1301', '1', '1', '171', '0', '68'); -INSERT INTO cp_tree VALUES ('1302', '2', '2', '171', '1301', '15'); -INSERT INTO cp_tree VALUES ('1303', '3', '3', '171', '1302', '4'); -INSERT INTO cp_tree VALUES ('1304', '3', '5', '171', '1302', '12'); -INSERT INTO cp_tree VALUES ('1305', '4', '6', '171', '1304', '7'); -INSERT INTO cp_tree VALUES ('1306', '4', '8', '171', '1304', '9'); -INSERT INTO cp_tree VALUES ('1307', '4', '10', '171', '1304', '11'); -INSERT INTO cp_tree VALUES ('1308', '3', '13', '171', '1302', '14'); -INSERT INTO cp_tree VALUES ('1309', '2', '16', '171', '1301', '29'); -INSERT INTO cp_tree VALUES ('1310', '3', '17', '171', '1309', '18'); -INSERT INTO cp_tree VALUES ('1311', '3', '19', '171', '1309', '20'); -INSERT INTO cp_tree VALUES ('1312', '3', '21', '171', '1309', '22'); -INSERT INTO cp_tree VALUES ('1313', '3', '23', '171', '1309', '24'); -INSERT INTO cp_tree VALUES ('1314', '3', '25', '171', '1309', '26'); -INSERT INTO cp_tree VALUES ('1315', '3', '27', '171', '1309', '28'); -INSERT INTO cp_tree VALUES ('1316', '2', '30', '171', '1301', '33'); -INSERT INTO cp_tree VALUES ('1317', '3', '31', '171', '1316', '32'); -INSERT INTO cp_tree VALUES ('1318', '2', '34', '171', '1301', '37'); -INSERT INTO cp_tree VALUES ('1319', '3', '35', '171', '1318', '36'); -INSERT INTO cp_tree VALUES ('1320', '2', '38', '171', '1301', '41'); -INSERT INTO cp_tree VALUES ('1321', '3', '39', '171', '1320', '40'); -INSERT INTO cp_tree VALUES ('1322', '2', '42', '171', '1301', '47'); -INSERT INTO cp_tree VALUES ('1323', '3', '43', '171', '1322', '44'); -INSERT INTO cp_tree VALUES ('1324', '3', '45', '171', '1322', '46'); -INSERT INTO cp_tree VALUES ('1325', '2', '48', '171', '1301', '51'); -INSERT INTO cp_tree VALUES ('1326', '3', '49', '171', '1325', '50'); -INSERT INTO cp_tree VALUES ('1327', '2', '52', '171', '1301', '55'); -INSERT INTO cp_tree VALUES ('1328', '3', '53', '171', '1327', '54'); -INSERT INTO cp_tree VALUES ('1329', '2', '56', '171', '1301', '57'); -INSERT INTO cp_tree VALUES ('1330', '2', '58', '171', '1301', '59'); -INSERT INTO cp_tree VALUES ('1331', '2', '60', '171', '1301', '65'); -INSERT INTO cp_tree VALUES ('1332', '3', '61', '171', '1331', '64'); -INSERT INTO cp_tree VALUES ('1333', '4', '62', '171', '1332', '63'); -INSERT INTO cp_tree VALUES ('1334', '2', '66', '171', '1301', '67'); -INSERT INTO cp_tree VALUES ('1335', '1', '1', '172', '0', '72'); -INSERT INTO cp_tree VALUES ('1336', '2', '2', '172', '1335', '15'); -INSERT INTO cp_tree VALUES ('1337', '3', '3', '172', '1336', '4'); -INSERT INTO cp_tree VALUES ('1338', '3', '5', '172', '1336', '12'); -INSERT INTO cp_tree VALUES ('1339', '4', '6', '172', '1338', '7'); -INSERT INTO cp_tree VALUES ('1340', '4', '8', '172', '1338', '9'); -INSERT INTO cp_tree VALUES ('1341', '4', '10', '172', '1338', '11'); -INSERT INTO cp_tree VALUES ('1342', '3', '13', '172', '1336', '14'); -INSERT INTO cp_tree VALUES ('1343', '2', '16', '172', '1335', '29'); -INSERT INTO cp_tree VALUES ('1344', '3', '17', '172', '1343', '18'); -INSERT INTO cp_tree VALUES ('1345', '3', '19', '172', '1343', '20'); -INSERT INTO cp_tree VALUES ('1346', '3', '21', '172', '1343', '22'); -INSERT INTO cp_tree VALUES ('1347', '3', '23', '172', '1343', '24'); -INSERT INTO cp_tree VALUES ('1348', '3', '25', '172', '1343', '26'); -INSERT INTO cp_tree VALUES ('1349', '3', '27', '172', '1343', '28'); -INSERT INTO cp_tree VALUES ('1350', '2', '30', '172', '1335', '33'); -INSERT INTO cp_tree VALUES ('1351', '3', '31', '172', '1350', '32'); -INSERT INTO cp_tree VALUES ('1352', '2', '34', '172', '1335', '37'); -INSERT INTO cp_tree VALUES ('1353', '3', '35', '172', '1352', '36'); -INSERT INTO cp_tree VALUES ('1354', '2', '38', '172', '1335', '41'); -INSERT INTO cp_tree VALUES ('1355', '3', '39', '172', '1354', '40'); -INSERT INTO cp_tree VALUES ('1356', '2', '42', '172', '1335', '47'); -INSERT INTO cp_tree VALUES ('1357', '3', '43', '172', '1356', '44'); -INSERT INTO cp_tree VALUES ('1358', '3', '45', '172', '1356', '46'); -INSERT INTO cp_tree VALUES ('1359', '2', '48', '172', '1335', '51'); -INSERT INTO cp_tree VALUES ('1360', '3', '49', '172', '1359', '50'); -INSERT INTO cp_tree VALUES ('1361', '2', '52', '172', '1335', '55'); -INSERT INTO cp_tree VALUES ('1362', '3', '53', '172', '1361', '54'); -INSERT INTO cp_tree VALUES ('1363', '2', '56', '172', '1335', '57'); -INSERT INTO cp_tree VALUES ('1364', '2', '58', '172', '1335', '69'); -INSERT INTO cp_tree VALUES ('1365', '3', '59', '172', '1364', '62'); -INSERT INTO cp_tree VALUES ('1366', '4', '60', '172', '1365', '61'); -INSERT INTO cp_tree VALUES ('1367', '3', '63', '172', '1364', '66'); -INSERT INTO cp_tree VALUES ('1368', '4', '64', '172', '1367', '65'); -INSERT INTO cp_tree VALUES ('1369', '3', '67', '172', '1364', '68'); -INSERT INTO cp_tree VALUES ('1370', '2', '70', '172', '1335', '71'); -INSERT INTO cp_tree VALUES ('1371', '1', '1', '173', '0', '102'); -INSERT INTO cp_tree VALUES ('1372', '2', '2', '173', '1371', '45'); -INSERT INTO cp_tree VALUES ('1373', '3', '3', '173', '1372', '10'); -INSERT INTO cp_tree VALUES ('1374', '4', '4', '173', '1373', '5'); -INSERT INTO cp_tree VALUES ('1375', '4', '6', '173', '1373', '7'); -INSERT INTO cp_tree VALUES ('1376', '4', '8', '173', '1373', '9'); -INSERT INTO cp_tree VALUES ('1377', '3', '11', '173', '1372', '36'); -INSERT INTO cp_tree VALUES ('1378', '4', '12', '173', '1377', '19'); -INSERT INTO cp_tree VALUES ('1379', '5', '13', '173', '1378', '14'); -INSERT INTO cp_tree VALUES ('1380', '5', '15', '173', '1378', '16'); -INSERT INTO cp_tree VALUES ('1381', '5', '17', '173', '1378', '18'); -INSERT INTO cp_tree VALUES ('1382', '4', '20', '173', '1377', '27'); -INSERT INTO cp_tree VALUES ('1383', '5', '21', '173', '1382', '22'); -INSERT INTO cp_tree VALUES ('1384', '5', '23', '173', '1382', '24'); -INSERT INTO cp_tree VALUES ('1385', '5', '25', '173', '1382', '26'); -INSERT INTO cp_tree VALUES ('1386', '4', '28', '173', '1377', '35'); -INSERT INTO cp_tree VALUES ('1387', '5', '29', '173', '1386', '30'); -INSERT INTO cp_tree VALUES ('1388', '5', '31', '173', '1386', '32'); -INSERT INTO cp_tree VALUES ('1389', '5', '33', '173', '1386', '34'); -INSERT INTO cp_tree VALUES ('1390', '3', '37', '173', '1372', '44'); -INSERT INTO cp_tree VALUES ('1391', '4', '38', '173', '1390', '39'); -INSERT INTO cp_tree VALUES ('1392', '4', '40', '173', '1390', '41'); -INSERT INTO cp_tree VALUES ('1393', '4', '42', '173', '1390', '43'); -INSERT INTO cp_tree VALUES ('1394', '2', '46', '173', '1371', '59'); -INSERT INTO cp_tree VALUES ('1395', '3', '47', '173', '1394', '48'); -INSERT INTO cp_tree VALUES ('1396', '3', '49', '173', '1394', '50'); -INSERT INTO cp_tree VALUES ('1397', '3', '51', '173', '1394', '52'); -INSERT INTO cp_tree VALUES ('1398', '3', '53', '173', '1394', '54'); -INSERT INTO cp_tree VALUES ('1399', '3', '55', '173', '1394', '56'); -INSERT INTO cp_tree VALUES ('1400', '3', '57', '173', '1394', '58'); -INSERT INTO cp_tree VALUES ('1401', '2', '60', '173', '1371', '63'); -INSERT INTO cp_tree VALUES ('1402', '3', '61', '173', '1401', '62'); -INSERT INTO cp_tree VALUES ('1403', '2', '64', '173', '1371', '67'); -INSERT INTO cp_tree VALUES ('1404', '3', '65', '173', '1403', '66'); -INSERT INTO cp_tree VALUES ('1405', '2', '68', '173', '1371', '71'); -INSERT INTO cp_tree VALUES ('1406', '3', '69', '173', '1405', '70'); -INSERT INTO cp_tree VALUES ('1407', '2', '72', '173', '1371', '77'); -INSERT INTO cp_tree VALUES ('1408', '3', '73', '173', '1407', '74'); -INSERT INTO cp_tree VALUES ('1409', '3', '75', '173', '1407', '76'); -INSERT INTO cp_tree VALUES ('1410', '2', '78', '173', '1371', '81'); -INSERT INTO cp_tree VALUES ('1411', '3', '79', '173', '1410', '80'); -INSERT INTO cp_tree VALUES ('1412', '2', '82', '173', '1371', '85'); -INSERT INTO cp_tree VALUES ('1413', '3', '83', '173', '1412', '84'); -INSERT INTO cp_tree VALUES ('1414', '2', '86', '173', '1371', '87'); -INSERT INTO cp_tree VALUES ('1415', '2', '88', '173', '1371', '99'); -INSERT INTO cp_tree VALUES ('1416', '3', '89', '173', '1415', '92'); -INSERT INTO cp_tree VALUES ('1417', '4', '90', '173', '1416', '91'); -INSERT INTO cp_tree VALUES ('1418', '3', '93', '173', '1415', '96'); -INSERT INTO cp_tree VALUES ('1419', '4', '94', '173', '1418', '95'); -INSERT INTO cp_tree VALUES ('1420', '3', '97', '173', '1415', '98'); -INSERT INTO cp_tree VALUES ('1421', '2', '100', '173', '1371', '101'); -INSERT INTO cp_tree VALUES ('1422', '1', '1', '174', '0', '106'); -INSERT INTO cp_tree VALUES ('1423', '2', '2', '174', '1422', '45'); -INSERT INTO cp_tree VALUES ('1424', '3', '3', '174', '1423', '10'); -INSERT INTO cp_tree VALUES ('1425', '4', '4', '174', '1424', '5'); -INSERT INTO cp_tree VALUES ('1426', '4', '6', '174', '1424', '7'); -INSERT INTO cp_tree VALUES ('1427', '4', '8', '174', '1424', '9'); -INSERT INTO cp_tree VALUES ('1428', '3', '11', '174', '1423', '36'); -INSERT INTO cp_tree VALUES ('1429', '4', '12', '174', '1428', '19'); -INSERT INTO cp_tree VALUES ('1430', '5', '13', '174', '1429', '14'); -INSERT INTO cp_tree VALUES ('1431', '5', '15', '174', '1429', '16'); -INSERT INTO cp_tree VALUES ('1432', '5', '17', '174', '1429', '18'); -INSERT INTO cp_tree VALUES ('1433', '4', '20', '174', '1428', '27'); -INSERT INTO cp_tree VALUES ('1434', '5', '21', '174', '1433', '22'); -INSERT INTO cp_tree VALUES ('1435', '5', '23', '174', '1433', '24'); -INSERT INTO cp_tree VALUES ('1436', '5', '25', '174', '1433', '26'); -INSERT INTO cp_tree VALUES ('1437', '4', '28', '174', '1428', '35'); -INSERT INTO cp_tree VALUES ('1438', '5', '29', '174', '1437', '30'); -INSERT INTO cp_tree VALUES ('1439', '5', '31', '174', '1437', '32'); -INSERT INTO cp_tree VALUES ('1440', '5', '33', '174', '1437', '34'); -INSERT INTO cp_tree VALUES ('1441', '3', '37', '174', '1423', '44'); -INSERT INTO cp_tree VALUES ('1442', '4', '38', '174', '1441', '39'); -INSERT INTO cp_tree VALUES ('1443', '4', '40', '174', '1441', '41'); -INSERT INTO cp_tree VALUES ('1444', '4', '42', '174', '1441', '43'); -INSERT INTO cp_tree VALUES ('1445', '2', '46', '174', '1422', '59'); -INSERT INTO cp_tree VALUES ('1446', '3', '47', '174', '1445', '48'); -INSERT INTO cp_tree VALUES ('1447', '3', '49', '174', '1445', '50'); -INSERT INTO cp_tree VALUES ('1448', '3', '51', '174', '1445', '52'); -INSERT INTO cp_tree VALUES ('1449', '3', '53', '174', '1445', '54'); -INSERT INTO cp_tree VALUES ('1450', '3', '55', '174', '1445', '56'); -INSERT INTO cp_tree VALUES ('1451', '3', '57', '174', '1445', '58'); -INSERT INTO cp_tree VALUES ('1452', '2', '60', '174', '1422', '63'); -INSERT INTO cp_tree VALUES ('1453', '3', '61', '174', '1452', '62'); -INSERT INTO cp_tree VALUES ('1454', '2', '64', '174', '1422', '67'); -INSERT INTO cp_tree VALUES ('1455', '3', '65', '174', '1454', '66'); -INSERT INTO cp_tree VALUES ('1456', '2', '68', '174', '1422', '71'); -INSERT INTO cp_tree VALUES ('1457', '3', '69', '174', '1456', '70'); -INSERT INTO cp_tree VALUES ('1458', '2', '72', '174', '1422', '77'); -INSERT INTO cp_tree VALUES ('1459', '3', '73', '174', '1458', '74'); -INSERT INTO cp_tree VALUES ('1460', '3', '75', '174', '1458', '76'); -INSERT INTO cp_tree VALUES ('1461', '2', '78', '174', '1422', '81'); -INSERT INTO cp_tree VALUES ('1462', '3', '79', '174', '1461', '80'); -INSERT INTO cp_tree VALUES ('1463', '2', '82', '174', '1422', '85'); -INSERT INTO cp_tree VALUES ('1464', '3', '83', '174', '1463', '84'); -INSERT INTO cp_tree VALUES ('1465', '2', '86', '174', '1422', '87'); -INSERT INTO cp_tree VALUES ('1466', '2', '88', '174', '1422', '103'); -INSERT INTO cp_tree VALUES ('1467', '3', '89', '174', '1466', '92'); -INSERT INTO cp_tree VALUES ('1468', '4', '90', '174', '1467', '91'); -INSERT INTO cp_tree VALUES ('1469', '3', '93', '174', '1466', '96'); -INSERT INTO cp_tree VALUES ('1470', '4', '94', '174', '1469', '95'); -INSERT INTO cp_tree VALUES ('1471', '3', '97', '174', '1466', '100'); -INSERT INTO cp_tree VALUES ('1472', '4', '98', '174', '1471', '99'); -INSERT INTO cp_tree VALUES ('1473', '3', '101', '174', '1466', '102'); -INSERT INTO cp_tree VALUES ('1474', '2', '104', '174', '1422', '105'); -INSERT INTO cp_tree VALUES ('1475', '1', '1', '175', '0', '86'); -INSERT INTO cp_tree VALUES ('1476', '2', '2', '175', '1475', '27'); -INSERT INTO cp_tree VALUES ('1477', '3', '3', '175', '1476', '10'); -INSERT INTO cp_tree VALUES ('1478', '4', '4', '175', '1477', '5'); -INSERT INTO cp_tree VALUES ('1479', '4', '6', '175', '1477', '7'); -INSERT INTO cp_tree VALUES ('1480', '4', '8', '175', '1477', '9'); -INSERT INTO cp_tree VALUES ('1481', '3', '11', '175', '1476', '18'); -INSERT INTO cp_tree VALUES ('1482', '4', '12', '175', '1481', '13'); -INSERT INTO cp_tree VALUES ('1483', '4', '14', '175', '1481', '15'); -INSERT INTO cp_tree VALUES ('1484', '4', '16', '175', '1481', '17'); -INSERT INTO cp_tree VALUES ('1485', '3', '19', '175', '1476', '26'); -INSERT INTO cp_tree VALUES ('1486', '4', '20', '175', '1485', '21'); -INSERT INTO cp_tree VALUES ('1487', '4', '22', '175', '1485', '23'); -INSERT INTO cp_tree VALUES ('1488', '4', '24', '175', '1485', '25'); -INSERT INTO cp_tree VALUES ('1489', '2', '28', '175', '1475', '41'); -INSERT INTO cp_tree VALUES ('1490', '3', '29', '175', '1489', '30'); -INSERT INTO cp_tree VALUES ('1491', '3', '31', '175', '1489', '32'); -INSERT INTO cp_tree VALUES ('1492', '3', '33', '175', '1489', '34'); -INSERT INTO cp_tree VALUES ('1493', '3', '35', '175', '1489', '36'); -INSERT INTO cp_tree VALUES ('1494', '3', '37', '175', '1489', '38'); -INSERT INTO cp_tree VALUES ('1495', '3', '39', '175', '1489', '40'); -INSERT INTO cp_tree VALUES ('1496', '2', '42', '175', '1475', '45'); -INSERT INTO cp_tree VALUES ('1497', '3', '43', '175', '1496', '44'); -INSERT INTO cp_tree VALUES ('1498', '2', '46', '175', '1475', '49'); -INSERT INTO cp_tree VALUES ('1499', '3', '47', '175', '1498', '48'); -INSERT INTO cp_tree VALUES ('1500', '2', '50', '175', '1475', '53'); -INSERT INTO cp_tree VALUES ('1501', '3', '51', '175', '1500', '52'); -INSERT INTO cp_tree VALUES ('1502', '2', '54', '175', '1475', '59'); -INSERT INTO cp_tree VALUES ('1503', '3', '55', '175', '1502', '56'); -INSERT INTO cp_tree VALUES ('1504', '3', '57', '175', '1502', '58'); -INSERT INTO cp_tree VALUES ('1505', '2', '60', '175', '1475', '63'); -INSERT INTO cp_tree VALUES ('1506', '3', '61', '175', '1505', '62'); -INSERT INTO cp_tree VALUES ('1507', '2', '64', '175', '1475', '67'); -INSERT INTO cp_tree VALUES ('1508', '3', '65', '175', '1507', '66'); -INSERT INTO cp_tree VALUES ('1509', '2', '68', '175', '1475', '73'); -INSERT INTO cp_tree VALUES ('1510', '3', '69', '175', '1509', '72'); -INSERT INTO cp_tree VALUES ('1511', '4', '70', '175', '1510', '71'); -INSERT INTO cp_tree VALUES ('1512', '2', '74', '175', '1475', '83'); -INSERT INTO cp_tree VALUES ('1513', '3', '75', '175', '1512', '78'); -INSERT INTO cp_tree VALUES ('1514', '4', '76', '175', '1513', '77'); -INSERT INTO cp_tree VALUES ('1515', '3', '79', '175', '1512', '82'); -INSERT INTO cp_tree VALUES ('1516', '4', '80', '175', '1515', '81'); -INSERT INTO cp_tree VALUES ('1517', '2', '84', '175', '1475', '85'); -INSERT INTO cp_tree VALUES ('1518', '1', '1', '176', '0', '86'); -INSERT INTO cp_tree VALUES ('1519', '2', '2', '176', '1518', '27'); -INSERT INTO cp_tree VALUES ('1520', '3', '3', '176', '1519', '10'); -INSERT INTO cp_tree VALUES ('1521', '4', '4', '176', '1520', '5'); -INSERT INTO cp_tree VALUES ('1522', '4', '6', '176', '1520', '7'); -INSERT INTO cp_tree VALUES ('1523', '4', '8', '176', '1520', '9'); -INSERT INTO cp_tree VALUES ('1524', '3', '11', '176', '1519', '18'); -INSERT INTO cp_tree VALUES ('1525', '4', '12', '176', '1524', '13'); -INSERT INTO cp_tree VALUES ('1526', '4', '14', '176', '1524', '15'); -INSERT INTO cp_tree VALUES ('1527', '4', '16', '176', '1524', '17'); -INSERT INTO cp_tree VALUES ('1528', '3', '19', '176', '1519', '26'); -INSERT INTO cp_tree VALUES ('1529', '4', '20', '176', '1528', '21'); -INSERT INTO cp_tree VALUES ('1530', '4', '22', '176', '1528', '23'); -INSERT INTO cp_tree VALUES ('1531', '4', '24', '176', '1528', '25'); -INSERT INTO cp_tree VALUES ('1532', '2', '28', '176', '1518', '41'); -INSERT INTO cp_tree VALUES ('1533', '3', '29', '176', '1532', '30'); -INSERT INTO cp_tree VALUES ('1534', '3', '31', '176', '1532', '32'); -INSERT INTO cp_tree VALUES ('1535', '3', '33', '176', '1532', '34'); -INSERT INTO cp_tree VALUES ('1536', '3', '35', '176', '1532', '36'); -INSERT INTO cp_tree VALUES ('1537', '3', '37', '176', '1532', '38'); -INSERT INTO cp_tree VALUES ('1538', '3', '39', '176', '1532', '40'); -INSERT INTO cp_tree VALUES ('1539', '2', '42', '176', '1518', '45'); -INSERT INTO cp_tree VALUES ('1540', '3', '43', '176', '1539', '44'); -INSERT INTO cp_tree VALUES ('1541', '2', '46', '176', '1518', '49'); -INSERT INTO cp_tree VALUES ('1542', '3', '47', '176', '1541', '48'); -INSERT INTO cp_tree VALUES ('1543', '2', '50', '176', '1518', '53'); -INSERT INTO cp_tree VALUES ('1544', '3', '51', '176', '1543', '52'); -INSERT INTO cp_tree VALUES ('1545', '2', '54', '176', '1518', '59'); -INSERT INTO cp_tree VALUES ('1546', '3', '55', '176', '1545', '56'); -INSERT INTO cp_tree VALUES ('1547', '3', '57', '176', '1545', '58'); -INSERT INTO cp_tree VALUES ('1548', '2', '60', '176', '1518', '63'); -INSERT INTO cp_tree VALUES ('1549', '3', '61', '176', '1548', '62'); -INSERT INTO cp_tree VALUES ('1550', '2', '64', '176', '1518', '67'); -INSERT INTO cp_tree VALUES ('1551', '3', '65', '176', '1550', '66'); -INSERT INTO cp_tree VALUES ('1552', '2', '68', '176', '1518', '73'); -INSERT INTO cp_tree VALUES ('1553', '3', '69', '176', '1552', '72'); -INSERT INTO cp_tree VALUES ('1554', '4', '70', '176', '1553', '71'); -INSERT INTO cp_tree VALUES ('1555', '2', '74', '176', '1518', '83'); -INSERT INTO cp_tree VALUES ('1556', '3', '75', '176', '1555', '78'); -INSERT INTO cp_tree VALUES ('1557', '4', '76', '176', '1556', '77'); -INSERT INTO cp_tree VALUES ('1558', '3', '79', '176', '1555', '82'); -INSERT INTO cp_tree VALUES ('1559', '4', '80', '176', '1558', '81'); -INSERT INTO cp_tree VALUES ('1560', '2', '84', '176', '1518', '85'); -INSERT INTO cp_tree VALUES ('1561', '1', '1', '177', '0', '86'); -INSERT INTO cp_tree VALUES ('1562', '2', '2', '177', '1561', '27'); -INSERT INTO cp_tree VALUES ('1563', '3', '3', '177', '1562', '10'); -INSERT INTO cp_tree VALUES ('1564', '4', '4', '177', '1563', '5'); -INSERT INTO cp_tree VALUES ('1565', '4', '6', '177', '1563', '7'); -INSERT INTO cp_tree VALUES ('1566', '4', '8', '177', '1563', '9'); -INSERT INTO cp_tree VALUES ('1567', '3', '11', '177', '1562', '18'); -INSERT INTO cp_tree VALUES ('1568', '4', '12', '177', '1567', '13'); -INSERT INTO cp_tree VALUES ('1569', '4', '14', '177', '1567', '15'); -INSERT INTO cp_tree VALUES ('1570', '4', '16', '177', '1567', '17'); -INSERT INTO cp_tree VALUES ('1571', '3', '19', '177', '1562', '26'); -INSERT INTO cp_tree VALUES ('1572', '4', '20', '177', '1571', '21'); -INSERT INTO cp_tree VALUES ('1573', '4', '22', '177', '1571', '23'); -INSERT INTO cp_tree VALUES ('1574', '4', '24', '177', '1571', '25'); -INSERT INTO cp_tree VALUES ('1575', '2', '28', '177', '1561', '41'); -INSERT INTO cp_tree VALUES ('1576', '3', '29', '177', '1575', '30'); -INSERT INTO cp_tree VALUES ('1577', '3', '31', '177', '1575', '32'); -INSERT INTO cp_tree VALUES ('1578', '3', '33', '177', '1575', '34'); -INSERT INTO cp_tree VALUES ('1579', '3', '35', '177', '1575', '36'); -INSERT INTO cp_tree VALUES ('1580', '3', '37', '177', '1575', '38'); -INSERT INTO cp_tree VALUES ('1581', '3', '39', '177', '1575', '40'); -INSERT INTO cp_tree VALUES ('1582', '2', '42', '177', '1561', '45'); -INSERT INTO cp_tree VALUES ('1583', '3', '43', '177', '1582', '44'); -INSERT INTO cp_tree VALUES ('1584', '2', '46', '177', '1561', '49'); -INSERT INTO cp_tree VALUES ('1585', '3', '47', '177', '1584', '48'); -INSERT INTO cp_tree VALUES ('1586', '2', '50', '177', '1561', '53'); -INSERT INTO cp_tree VALUES ('1587', '3', '51', '177', '1586', '52'); -INSERT INTO cp_tree VALUES ('1588', '2', '54', '177', '1561', '59'); -INSERT INTO cp_tree VALUES ('1589', '3', '55', '177', '1588', '56'); -INSERT INTO cp_tree VALUES ('1590', '3', '57', '177', '1588', '58'); -INSERT INTO cp_tree VALUES ('1591', '2', '60', '177', '1561', '63'); -INSERT INTO cp_tree VALUES ('1592', '3', '61', '177', '1591', '62'); -INSERT INTO cp_tree VALUES ('1593', '2', '64', '177', '1561', '67'); -INSERT INTO cp_tree VALUES ('1594', '3', '65', '177', '1593', '66'); -INSERT INTO cp_tree VALUES ('1595', '2', '68', '177', '1561', '73'); -INSERT INTO cp_tree VALUES ('1596', '3', '69', '177', '1595', '72'); -INSERT INTO cp_tree VALUES ('1597', '4', '70', '177', '1596', '71'); -INSERT INTO cp_tree VALUES ('1598', '2', '74', '177', '1561', '83'); -INSERT INTO cp_tree VALUES ('1599', '3', '75', '177', '1598', '78'); -INSERT INTO cp_tree VALUES ('1600', '4', '76', '177', '1599', '77'); -INSERT INTO cp_tree VALUES ('1601', '3', '79', '177', '1598', '82'); -INSERT INTO cp_tree VALUES ('1602', '4', '80', '177', '1601', '81'); -INSERT INTO cp_tree VALUES ('1603', '2', '84', '177', '1561', '85'); -INSERT INTO cp_tree VALUES ('1604', '1', '1', '178', '0', '90'); -INSERT INTO cp_tree VALUES ('1605', '2', '2', '178', '1604', '27'); -INSERT INTO cp_tree VALUES ('1606', '3', '3', '178', '1605', '10'); -INSERT INTO cp_tree VALUES ('1607', '4', '4', '178', '1606', '5'); -INSERT INTO cp_tree VALUES ('1608', '4', '6', '178', '1606', '7'); -INSERT INTO cp_tree VALUES ('1609', '4', '8', '178', '1606', '9'); -INSERT INTO cp_tree VALUES ('1610', '3', '11', '178', '1605', '18'); -INSERT INTO cp_tree VALUES ('1611', '4', '12', '178', '1610', '13'); -INSERT INTO cp_tree VALUES ('1612', '4', '14', '178', '1610', '15'); -INSERT INTO cp_tree VALUES ('1613', '4', '16', '178', '1610', '17'); -INSERT INTO cp_tree VALUES ('1614', '3', '19', '178', '1605', '26'); -INSERT INTO cp_tree VALUES ('1615', '4', '20', '178', '1614', '21'); -INSERT INTO cp_tree VALUES ('1616', '4', '22', '178', '1614', '23'); -INSERT INTO cp_tree VALUES ('1617', '4', '24', '178', '1614', '25'); -INSERT INTO cp_tree VALUES ('1618', '2', '28', '178', '1604', '41'); -INSERT INTO cp_tree VALUES ('1619', '3', '29', '178', '1618', '30'); -INSERT INTO cp_tree VALUES ('1620', '3', '31', '178', '1618', '32'); -INSERT INTO cp_tree VALUES ('1621', '3', '33', '178', '1618', '34'); -INSERT INTO cp_tree VALUES ('1622', '3', '35', '178', '1618', '36'); -INSERT INTO cp_tree VALUES ('1623', '3', '37', '178', '1618', '38'); -INSERT INTO cp_tree VALUES ('1624', '3', '39', '178', '1618', '40'); -INSERT INTO cp_tree VALUES ('1625', '2', '42', '178', '1604', '45'); -INSERT INTO cp_tree VALUES ('1626', '3', '43', '178', '1625', '44'); -INSERT INTO cp_tree VALUES ('1627', '2', '46', '178', '1604', '49'); -INSERT INTO cp_tree VALUES ('1628', '3', '47', '178', '1627', '48'); -INSERT INTO cp_tree VALUES ('1629', '2', '50', '178', '1604', '53'); -INSERT INTO cp_tree VALUES ('1630', '3', '51', '178', '1629', '52'); -INSERT INTO cp_tree VALUES ('1631', '2', '54', '178', '1604', '59'); -INSERT INTO cp_tree VALUES ('1632', '3', '55', '178', '1631', '56'); -INSERT INTO cp_tree VALUES ('1633', '3', '57', '178', '1631', '58'); -INSERT INTO cp_tree VALUES ('1634', '2', '60', '178', '1604', '63'); -INSERT INTO cp_tree VALUES ('1635', '3', '61', '178', '1634', '62'); -INSERT INTO cp_tree VALUES ('1636', '2', '64', '178', '1604', '67'); -INSERT INTO cp_tree VALUES ('1637', '3', '65', '178', '1636', '66'); -INSERT INTO cp_tree VALUES ('1638', '2', '68', '178', '1604', '75'); -INSERT INTO cp_tree VALUES ('1639', '3', '69', '178', '1638', '70'); -INSERT INTO cp_tree VALUES ('1640', '3', '71', '178', '1638', '74'); -INSERT INTO cp_tree VALUES ('1641', '4', '72', '178', '1640', '73'); -INSERT INTO cp_tree VALUES ('1642', '2', '76', '178', '1604', '87'); -INSERT INTO cp_tree VALUES ('1643', '3', '77', '178', '1642', '80'); -INSERT INTO cp_tree VALUES ('1644', '4', '78', '178', '1643', '79'); -INSERT INTO cp_tree VALUES ('1645', '3', '81', '178', '1642', '82'); -INSERT INTO cp_tree VALUES ('1646', '3', '83', '178', '1642', '86'); -INSERT INTO cp_tree VALUES ('1647', '4', '84', '178', '1646', '85'); -INSERT INTO cp_tree VALUES ('1648', '2', '88', '178', '1604', '89'); -INSERT INTO cp_tree VALUES ('1649', '1', '1', '179', '0', '72'); -INSERT INTO cp_tree VALUES ('1650', '2', '2', '179', '1649', '9'); -INSERT INTO cp_tree VALUES ('1651', '3', '3', '179', '1650', '4'); -INSERT INTO cp_tree VALUES ('1652', '3', '5', '179', '1650', '6'); -INSERT INTO cp_tree VALUES ('1653', '3', '7', '179', '1650', '8'); -INSERT INTO cp_tree VALUES ('1654', '2', '10', '179', '1649', '23'); -INSERT INTO cp_tree VALUES ('1655', '3', '11', '179', '1654', '12'); -INSERT INTO cp_tree VALUES ('1656', '3', '13', '179', '1654', '14'); -INSERT INTO cp_tree VALUES ('1657', '3', '15', '179', '1654', '16'); -INSERT INTO cp_tree VALUES ('1658', '3', '17', '179', '1654', '18'); -INSERT INTO cp_tree VALUES ('1659', '3', '19', '179', '1654', '20'); -INSERT INTO cp_tree VALUES ('1660', '3', '21', '179', '1654', '22'); -INSERT INTO cp_tree VALUES ('1661', '2', '24', '179', '1649', '27'); -INSERT INTO cp_tree VALUES ('1662', '3', '25', '179', '1661', '26'); -INSERT INTO cp_tree VALUES ('1663', '2', '28', '179', '1649', '31'); -INSERT INTO cp_tree VALUES ('1664', '3', '29', '179', '1663', '30'); -INSERT INTO cp_tree VALUES ('1665', '2', '32', '179', '1649', '35'); -INSERT INTO cp_tree VALUES ('1666', '3', '33', '179', '1665', '34'); -INSERT INTO cp_tree VALUES ('1667', '2', '36', '179', '1649', '41'); -INSERT INTO cp_tree VALUES ('1668', '3', '37', '179', '1667', '38'); -INSERT INTO cp_tree VALUES ('1669', '3', '39', '179', '1667', '40'); -INSERT INTO cp_tree VALUES ('1670', '2', '42', '179', '1649', '45'); -INSERT INTO cp_tree VALUES ('1671', '3', '43', '179', '1670', '44'); -INSERT INTO cp_tree VALUES ('1672', '2', '46', '179', '1649', '49'); -INSERT INTO cp_tree VALUES ('1673', '3', '47', '179', '1672', '48'); -INSERT INTO cp_tree VALUES ('1674', '2', '50', '179', '1649', '57'); -INSERT INTO cp_tree VALUES ('1675', '3', '51', '179', '1674', '52'); -INSERT INTO cp_tree VALUES ('1676', '3', '53', '179', '1674', '56'); -INSERT INTO cp_tree VALUES ('1677', '4', '54', '179', '1676', '55'); -INSERT INTO cp_tree VALUES ('1678', '2', '58', '179', '1649', '69'); -INSERT INTO cp_tree VALUES ('1679', '3', '59', '179', '1678', '62'); -INSERT INTO cp_tree VALUES ('1680', '4', '60', '179', '1679', '61'); -INSERT INTO cp_tree VALUES ('1681', '3', '63', '179', '1678', '64'); -INSERT INTO cp_tree VALUES ('1682', '3', '65', '179', '1678', '68'); -INSERT INTO cp_tree VALUES ('1683', '4', '66', '179', '1682', '67'); -INSERT INTO cp_tree VALUES ('1684', '2', '70', '179', '1649', '71'); -INSERT INTO cp_tree VALUES ('1685', '1', '1', '180', '0', '94'); -INSERT INTO cp_tree VALUES ('1686', '2', '2', '180', '1685', '27'); -INSERT INTO cp_tree VALUES ('1687', '3', '3', '180', '1686', '10'); -INSERT INTO cp_tree VALUES ('1688', '4', '4', '180', '1687', '5'); -INSERT INTO cp_tree VALUES ('1689', '4', '6', '180', '1687', '7'); -INSERT INTO cp_tree VALUES ('1690', '4', '8', '180', '1687', '9'); -INSERT INTO cp_tree VALUES ('1691', '3', '11', '180', '1686', '18'); -INSERT INTO cp_tree VALUES ('1692', '4', '12', '180', '1691', '13'); -INSERT INTO cp_tree VALUES ('1693', '4', '14', '180', '1691', '15'); -INSERT INTO cp_tree VALUES ('1694', '4', '16', '180', '1691', '17'); -INSERT INTO cp_tree VALUES ('1695', '3', '19', '180', '1686', '26'); -INSERT INTO cp_tree VALUES ('1696', '4', '20', '180', '1695', '21'); -INSERT INTO cp_tree VALUES ('1697', '4', '22', '180', '1695', '23'); -INSERT INTO cp_tree VALUES ('1698', '4', '24', '180', '1695', '25'); -INSERT INTO cp_tree VALUES ('1699', '2', '28', '180', '1685', '41'); -INSERT INTO cp_tree VALUES ('1700', '3', '29', '180', '1699', '30'); -INSERT INTO cp_tree VALUES ('1701', '3', '31', '180', '1699', '32'); -INSERT INTO cp_tree VALUES ('1702', '3', '33', '180', '1699', '34'); -INSERT INTO cp_tree VALUES ('1703', '3', '35', '180', '1699', '36'); -INSERT INTO cp_tree VALUES ('1704', '3', '37', '180', '1699', '38'); -INSERT INTO cp_tree VALUES ('1705', '3', '39', '180', '1699', '40'); -INSERT INTO cp_tree VALUES ('1706', '2', '42', '180', '1685', '45'); -INSERT INTO cp_tree VALUES ('1707', '3', '43', '180', '1706', '44'); -INSERT INTO cp_tree VALUES ('1708', '2', '46', '180', '1685', '49'); -INSERT INTO cp_tree VALUES ('1709', '3', '47', '180', '1708', '48'); -INSERT INTO cp_tree VALUES ('1710', '2', '50', '180', '1685', '53'); -INSERT INTO cp_tree VALUES ('1711', '3', '51', '180', '1710', '52'); -INSERT INTO cp_tree VALUES ('1712', '2', '54', '180', '1685', '59'); -INSERT INTO cp_tree VALUES ('1713', '3', '55', '180', '1712', '56'); -INSERT INTO cp_tree VALUES ('1714', '3', '57', '180', '1712', '58'); -INSERT INTO cp_tree VALUES ('1715', '2', '60', '180', '1685', '63'); -INSERT INTO cp_tree VALUES ('1716', '3', '61', '180', '1715', '62'); -INSERT INTO cp_tree VALUES ('1717', '2', '64', '180', '1685', '67'); -INSERT INTO cp_tree VALUES ('1718', '3', '65', '180', '1717', '66'); -INSERT INTO cp_tree VALUES ('1719', '2', '68', '180', '1685', '75'); -INSERT INTO cp_tree VALUES ('1720', '3', '69', '180', '1719', '70'); -INSERT INTO cp_tree VALUES ('1721', '3', '71', '180', '1719', '74'); -INSERT INTO cp_tree VALUES ('1722', '4', '72', '180', '1721', '73'); -INSERT INTO cp_tree VALUES ('1723', '2', '76', '180', '1685', '83'); -INSERT INTO cp_tree VALUES ('1724', '3', '77', '180', '1723', '78'); -INSERT INTO cp_tree VALUES ('1725', '3', '79', '180', '1723', '82'); -INSERT INTO cp_tree VALUES ('1726', '4', '80', '180', '1725', '81'); -INSERT INTO cp_tree VALUES ('1727', '2', '84', '180', '1685', '91'); -INSERT INTO cp_tree VALUES ('1728', '3', '85', '180', '1727', '86'); -INSERT INTO cp_tree VALUES ('1729', '3', '87', '180', '1727', '90'); -INSERT INTO cp_tree VALUES ('1730', '4', '88', '180', '1729', '89'); -INSERT INTO cp_tree VALUES ('1731', '2', '92', '180', '1685', '93'); -INSERT INTO cp_tree VALUES ('1732', '1', '1', '181', '0', '158'); -INSERT INTO cp_tree VALUES ('1733', '2', '2', '181', '1732', '63'); -INSERT INTO cp_tree VALUES ('1734', '3', '3', '181', '1733', '10'); -INSERT INTO cp_tree VALUES ('1735', '4', '4', '181', '1734', '5'); -INSERT INTO cp_tree VALUES ('1736', '4', '6', '181', '1734', '7'); -INSERT INTO cp_tree VALUES ('1737', '4', '8', '181', '1734', '9'); -INSERT INTO cp_tree VALUES ('1738', '3', '11', '181', '1733', '54'); -INSERT INTO cp_tree VALUES ('1739', '4', '12', '181', '1738', '37'); -INSERT INTO cp_tree VALUES ('1740', '5', '13', '181', '1739', '20'); -INSERT INTO cp_tree VALUES ('1741', '6', '14', '181', '1740', '15'); -INSERT INTO cp_tree VALUES ('1742', '6', '16', '181', '1740', '17'); -INSERT INTO cp_tree VALUES ('1743', '6', '18', '181', '1740', '19'); -INSERT INTO cp_tree VALUES ('1744', '5', '21', '181', '1739', '28'); -INSERT INTO cp_tree VALUES ('1745', '6', '22', '181', '1744', '23'); -INSERT INTO cp_tree VALUES ('1746', '6', '24', '181', '1744', '25'); -INSERT INTO cp_tree VALUES ('1747', '6', '26', '181', '1744', '27'); -INSERT INTO cp_tree VALUES ('1748', '5', '29', '181', '1739', '36'); -INSERT INTO cp_tree VALUES ('1749', '6', '30', '181', '1748', '31'); -INSERT INTO cp_tree VALUES ('1750', '6', '32', '181', '1748', '33'); -INSERT INTO cp_tree VALUES ('1751', '6', '34', '181', '1748', '35'); -INSERT INTO cp_tree VALUES ('1752', '4', '38', '181', '1738', '45'); -INSERT INTO cp_tree VALUES ('1753', '5', '39', '181', '1752', '40'); -INSERT INTO cp_tree VALUES ('1754', '5', '41', '181', '1752', '42'); -INSERT INTO cp_tree VALUES ('1755', '5', '43', '181', '1752', '44'); -INSERT INTO cp_tree VALUES ('1756', '4', '46', '181', '1738', '53'); -INSERT INTO cp_tree VALUES ('1757', '5', '47', '181', '1756', '48'); -INSERT INTO cp_tree VALUES ('1758', '5', '49', '181', '1756', '50'); -INSERT INTO cp_tree VALUES ('1759', '5', '51', '181', '1756', '52'); -INSERT INTO cp_tree VALUES ('1760', '3', '55', '181', '1733', '62'); -INSERT INTO cp_tree VALUES ('1761', '4', '56', '181', '1760', '57'); -INSERT INTO cp_tree VALUES ('1762', '4', '58', '181', '1760', '59'); -INSERT INTO cp_tree VALUES ('1763', '4', '60', '181', '1760', '61'); -INSERT INTO cp_tree VALUES ('1764', '2', '64', '181', '1732', '77'); -INSERT INTO cp_tree VALUES ('1765', '3', '65', '181', '1764', '66'); -INSERT INTO cp_tree VALUES ('1766', '3', '67', '181', '1764', '68'); -INSERT INTO cp_tree VALUES ('1767', '3', '69', '181', '1764', '70'); -INSERT INTO cp_tree VALUES ('1768', '3', '71', '181', '1764', '72'); -INSERT INTO cp_tree VALUES ('1769', '3', '73', '181', '1764', '74'); -INSERT INTO cp_tree VALUES ('1770', '3', '75', '181', '1764', '76'); -INSERT INTO cp_tree VALUES ('1771', '2', '78', '181', '1732', '81'); -INSERT INTO cp_tree VALUES ('1772', '3', '79', '181', '1771', '80'); -INSERT INTO cp_tree VALUES ('1773', '2', '82', '181', '1732', '85'); -INSERT INTO cp_tree VALUES ('1774', '3', '83', '181', '1773', '84'); -INSERT INTO cp_tree VALUES ('1775', '2', '86', '181', '1732', '89'); -INSERT INTO cp_tree VALUES ('1776', '3', '87', '181', '1775', '88'); -INSERT INTO cp_tree VALUES ('1777', '2', '90', '181', '1732', '95'); -INSERT INTO cp_tree VALUES ('1778', '3', '91', '181', '1777', '92'); -INSERT INTO cp_tree VALUES ('1779', '3', '93', '181', '1777', '94'); -INSERT INTO cp_tree VALUES ('1780', '2', '96', '181', '1732', '99'); -INSERT INTO cp_tree VALUES ('1781', '3', '97', '181', '1780', '98'); -INSERT INTO cp_tree VALUES ('1782', '2', '100', '181', '1732', '103'); -INSERT INTO cp_tree VALUES ('1783', '3', '101', '181', '1782', '102'); -INSERT INTO cp_tree VALUES ('1784', '2', '104', '181', '1732', '113'); -INSERT INTO cp_tree VALUES ('1785', '3', '105', '181', '1784', '108'); -INSERT INTO cp_tree VALUES ('1786', '4', '106', '181', '1785', '107'); -INSERT INTO cp_tree VALUES ('1787', '3', '109', '181', '1784', '112'); -INSERT INTO cp_tree VALUES ('1788', '4', '110', '181', '1787', '111'); -INSERT INTO cp_tree VALUES ('1789', '2', '114', '181', '1732', '123'); -INSERT INTO cp_tree VALUES ('1790', '3', '115', '181', '1789', '118'); -INSERT INTO cp_tree VALUES ('1791', '4', '116', '181', '1790', '117'); -INSERT INTO cp_tree VALUES ('1792', '3', '119', '181', '1789', '122'); -INSERT INTO cp_tree VALUES ('1793', '4', '120', '181', '1792', '121'); -INSERT INTO cp_tree VALUES ('1794', '2', '124', '181', '1732', '133'); -INSERT INTO cp_tree VALUES ('1795', '3', '125', '181', '1794', '128'); -INSERT INTO cp_tree VALUES ('1796', '4', '126', '181', '1795', '127'); -INSERT INTO cp_tree VALUES ('1797', '3', '129', '181', '1794', '132'); -INSERT INTO cp_tree VALUES ('1798', '4', '130', '181', '1797', '131'); -INSERT INTO cp_tree VALUES ('1799', '2', '134', '181', '1732', '143'); -INSERT INTO cp_tree VALUES ('1800', '3', '135', '181', '1799', '138'); -INSERT INTO cp_tree VALUES ('1801', '4', '136', '181', '1800', '137'); -INSERT INTO cp_tree VALUES ('1802', '3', '139', '181', '1799', '142'); -INSERT INTO cp_tree VALUES ('1803', '4', '140', '181', '1802', '141'); -INSERT INTO cp_tree VALUES ('1804', '2', '144', '181', '1732', '153'); -INSERT INTO cp_tree VALUES ('1805', '3', '145', '181', '1804', '148'); -INSERT INTO cp_tree VALUES ('1806', '4', '146', '181', '1805', '147'); -INSERT INTO cp_tree VALUES ('1807', '3', '149', '181', '1804', '152'); -INSERT INTO cp_tree VALUES ('1808', '4', '150', '181', '1807', '151'); -INSERT INTO cp_tree VALUES ('1809', '2', '154', '181', '1732', '155'); -INSERT INTO cp_tree VALUES ('1810', '2', '156', '181', '1732', '157'); -INSERT INTO cp_tree VALUES ('1811', '1', '1', '182', '0', '164'); -INSERT INTO cp_tree VALUES ('1812', '2', '2', '182', '1811', '63'); -INSERT INTO cp_tree VALUES ('1813', '3', '3', '182', '1812', '10'); -INSERT INTO cp_tree VALUES ('1814', '4', '4', '182', '1813', '5'); -INSERT INTO cp_tree VALUES ('1815', '4', '6', '182', '1813', '7'); -INSERT INTO cp_tree VALUES ('1816', '4', '8', '182', '1813', '9'); -INSERT INTO cp_tree VALUES ('1817', '3', '11', '182', '1812', '54'); -INSERT INTO cp_tree VALUES ('1818', '4', '12', '182', '1817', '37'); -INSERT INTO cp_tree VALUES ('1819', '5', '13', '182', '1818', '20'); -INSERT INTO cp_tree VALUES ('1820', '6', '14', '182', '1819', '15'); -INSERT INTO cp_tree VALUES ('1821', '6', '16', '182', '1819', '17'); -INSERT INTO cp_tree VALUES ('1822', '6', '18', '182', '1819', '19'); -INSERT INTO cp_tree VALUES ('1823', '5', '21', '182', '1818', '28'); -INSERT INTO cp_tree VALUES ('1824', '6', '22', '182', '1823', '23'); -INSERT INTO cp_tree VALUES ('1825', '6', '24', '182', '1823', '25'); -INSERT INTO cp_tree VALUES ('1826', '6', '26', '182', '1823', '27'); -INSERT INTO cp_tree VALUES ('1827', '5', '29', '182', '1818', '36'); -INSERT INTO cp_tree VALUES ('1828', '6', '30', '182', '1827', '31'); -INSERT INTO cp_tree VALUES ('1829', '6', '32', '182', '1827', '33'); -INSERT INTO cp_tree VALUES ('1830', '6', '34', '182', '1827', '35'); -INSERT INTO cp_tree VALUES ('1831', '4', '38', '182', '1817', '45'); -INSERT INTO cp_tree VALUES ('1832', '5', '39', '182', '1831', '40'); -INSERT INTO cp_tree VALUES ('1833', '5', '41', '182', '1831', '42'); -INSERT INTO cp_tree VALUES ('1834', '5', '43', '182', '1831', '44'); -INSERT INTO cp_tree VALUES ('1835', '4', '46', '182', '1817', '53'); -INSERT INTO cp_tree VALUES ('1836', '5', '47', '182', '1835', '48'); -INSERT INTO cp_tree VALUES ('1837', '5', '49', '182', '1835', '50'); -INSERT INTO cp_tree VALUES ('1838', '5', '51', '182', '1835', '52'); -INSERT INTO cp_tree VALUES ('1839', '3', '55', '182', '1812', '62'); -INSERT INTO cp_tree VALUES ('1840', '4', '56', '182', '1839', '57'); -INSERT INTO cp_tree VALUES ('1841', '4', '58', '182', '1839', '59'); -INSERT INTO cp_tree VALUES ('1842', '4', '60', '182', '1839', '61'); -INSERT INTO cp_tree VALUES ('1843', '2', '64', '182', '1811', '77'); -INSERT INTO cp_tree VALUES ('1844', '3', '65', '182', '1843', '66'); -INSERT INTO cp_tree VALUES ('1845', '3', '67', '182', '1843', '68'); -INSERT INTO cp_tree VALUES ('1846', '3', '69', '182', '1843', '70'); -INSERT INTO cp_tree VALUES ('1847', '3', '71', '182', '1843', '72'); -INSERT INTO cp_tree VALUES ('1848', '3', '73', '182', '1843', '74'); -INSERT INTO cp_tree VALUES ('1849', '3', '75', '182', '1843', '76'); -INSERT INTO cp_tree VALUES ('1850', '2', '78', '182', '1811', '81'); -INSERT INTO cp_tree VALUES ('1851', '3', '79', '182', '1850', '80'); -INSERT INTO cp_tree VALUES ('1852', '2', '82', '182', '1811', '85'); -INSERT INTO cp_tree VALUES ('1853', '3', '83', '182', '1852', '84'); -INSERT INTO cp_tree VALUES ('1854', '2', '86', '182', '1811', '89'); -INSERT INTO cp_tree VALUES ('1855', '3', '87', '182', '1854', '88'); -INSERT INTO cp_tree VALUES ('1856', '2', '90', '182', '1811', '95'); -INSERT INTO cp_tree VALUES ('1857', '3', '91', '182', '1856', '92'); -INSERT INTO cp_tree VALUES ('1858', '3', '93', '182', '1856', '94'); -INSERT INTO cp_tree VALUES ('1859', '2', '96', '182', '1811', '99'); -INSERT INTO cp_tree VALUES ('1860', '3', '97', '182', '1859', '98'); -INSERT INTO cp_tree VALUES ('1861', '2', '100', '182', '1811', '103'); -INSERT INTO cp_tree VALUES ('1862', '3', '101', '182', '1861', '102'); -INSERT INTO cp_tree VALUES ('1863', '2', '104', '182', '1811', '113'); -INSERT INTO cp_tree VALUES ('1864', '3', '105', '182', '1863', '108'); -INSERT INTO cp_tree VALUES ('1865', '4', '106', '182', '1864', '107'); -INSERT INTO cp_tree VALUES ('1866', '3', '109', '182', '1863', '112'); -INSERT INTO cp_tree VALUES ('1867', '4', '110', '182', '1866', '111'); -INSERT INTO cp_tree VALUES ('1868', '2', '114', '182', '1811', '123'); -INSERT INTO cp_tree VALUES ('1869', '3', '115', '182', '1868', '118'); -INSERT INTO cp_tree VALUES ('1870', '4', '116', '182', '1869', '117'); -INSERT INTO cp_tree VALUES ('1871', '3', '119', '182', '1868', '122'); -INSERT INTO cp_tree VALUES ('1872', '4', '120', '182', '1871', '121'); -INSERT INTO cp_tree VALUES ('1873', '2', '124', '182', '1811', '133'); -INSERT INTO cp_tree VALUES ('1874', '3', '125', '182', '1873', '128'); -INSERT INTO cp_tree VALUES ('1875', '4', '126', '182', '1874', '127'); -INSERT INTO cp_tree VALUES ('1876', '3', '129', '182', '1873', '132'); -INSERT INTO cp_tree VALUES ('1877', '4', '130', '182', '1876', '131'); -INSERT INTO cp_tree VALUES ('1878', '2', '134', '182', '1811', '143'); -INSERT INTO cp_tree VALUES ('1879', '3', '135', '182', '1878', '138'); -INSERT INTO cp_tree VALUES ('1880', '4', '136', '182', '1879', '137'); -INSERT INTO cp_tree VALUES ('1881', '3', '139', '182', '1878', '142'); -INSERT INTO cp_tree VALUES ('1882', '4', '140', '182', '1881', '141'); -INSERT INTO cp_tree VALUES ('1883', '2', '144', '182', '1811', '159'); -INSERT INTO cp_tree VALUES ('1884', '3', '145', '182', '1883', '150'); -INSERT INTO cp_tree VALUES ('1885', '4', '146', '182', '1884', '147'); -INSERT INTO cp_tree VALUES ('1886', '4', '148', '182', '1884', '149'); -INSERT INTO cp_tree VALUES ('1887', '3', '151', '182', '1883', '154'); -INSERT INTO cp_tree VALUES ('1888', '4', '152', '182', '1887', '153'); -INSERT INTO cp_tree VALUES ('1889', '3', '155', '182', '1883', '158'); -INSERT INTO cp_tree VALUES ('1890', '4', '156', '182', '1889', '157'); -INSERT INTO cp_tree VALUES ('1891', '2', '160', '182', '1811', '161'); -INSERT INTO cp_tree VALUES ('1892', '2', '162', '182', '1811', '163'); -INSERT INTO cp_tree VALUES ('1893', '1', '1', '183', '0', '138'); -INSERT INTO cp_tree VALUES ('1894', '2', '2', '183', '1893', '53'); -INSERT INTO cp_tree VALUES ('1895', '3', '3', '183', '1894', '10'); -INSERT INTO cp_tree VALUES ('1896', '4', '4', '183', '1895', '5'); -INSERT INTO cp_tree VALUES ('1897', '4', '6', '183', '1895', '7'); -INSERT INTO cp_tree VALUES ('1898', '4', '8', '183', '1895', '9'); -INSERT INTO cp_tree VALUES ('1899', '3', '11', '183', '1894', '18'); -INSERT INTO cp_tree VALUES ('1900', '4', '12', '183', '1899', '13'); -INSERT INTO cp_tree VALUES ('1901', '4', '14', '183', '1899', '15'); -INSERT INTO cp_tree VALUES ('1902', '4', '16', '183', '1899', '17'); -INSERT INTO cp_tree VALUES ('1903', '3', '19', '183', '1894', '44'); -INSERT INTO cp_tree VALUES ('1904', '4', '20', '183', '1903', '27'); -INSERT INTO cp_tree VALUES ('1905', '5', '21', '183', '1904', '22'); -INSERT INTO cp_tree VALUES ('1906', '5', '23', '183', '1904', '24'); -INSERT INTO cp_tree VALUES ('1907', '5', '25', '183', '1904', '26'); -INSERT INTO cp_tree VALUES ('1908', '4', '28', '183', '1903', '35'); -INSERT INTO cp_tree VALUES ('1909', '5', '29', '183', '1908', '30'); -INSERT INTO cp_tree VALUES ('1910', '5', '31', '183', '1908', '32'); -INSERT INTO cp_tree VALUES ('1911', '5', '33', '183', '1908', '34'); -INSERT INTO cp_tree VALUES ('1912', '4', '36', '183', '1903', '43'); -INSERT INTO cp_tree VALUES ('1913', '5', '37', '183', '1912', '38'); -INSERT INTO cp_tree VALUES ('1914', '5', '39', '183', '1912', '40'); -INSERT INTO cp_tree VALUES ('1915', '5', '41', '183', '1912', '42'); -INSERT INTO cp_tree VALUES ('1916', '3', '45', '183', '1894', '52'); -INSERT INTO cp_tree VALUES ('1917', '4', '46', '183', '1916', '47'); -INSERT INTO cp_tree VALUES ('1918', '4', '48', '183', '1916', '49'); -INSERT INTO cp_tree VALUES ('1919', '4', '50', '183', '1916', '51'); -INSERT INTO cp_tree VALUES ('1920', '2', '54', '183', '1893', '67'); -INSERT INTO cp_tree VALUES ('1921', '3', '55', '183', '1920', '56'); -INSERT INTO cp_tree VALUES ('1922', '3', '57', '183', '1920', '58'); -INSERT INTO cp_tree VALUES ('1923', '3', '59', '183', '1920', '60'); -INSERT INTO cp_tree VALUES ('1924', '3', '61', '183', '1920', '62'); -INSERT INTO cp_tree VALUES ('1925', '3', '63', '183', '1920', '64'); -INSERT INTO cp_tree VALUES ('1926', '3', '65', '183', '1920', '66'); -INSERT INTO cp_tree VALUES ('1927', '2', '68', '183', '1893', '71'); -INSERT INTO cp_tree VALUES ('1928', '3', '69', '183', '1927', '70'); -INSERT INTO cp_tree VALUES ('1929', '2', '72', '183', '1893', '75'); -INSERT INTO cp_tree VALUES ('1930', '3', '73', '183', '1929', '74'); -INSERT INTO cp_tree VALUES ('1931', '2', '76', '183', '1893', '79'); -INSERT INTO cp_tree VALUES ('1932', '3', '77', '183', '1931', '78'); -INSERT INTO cp_tree VALUES ('1933', '2', '80', '183', '1893', '85'); -INSERT INTO cp_tree VALUES ('1934', '3', '81', '183', '1933', '82'); -INSERT INTO cp_tree VALUES ('1935', '3', '83', '183', '1933', '84'); -INSERT INTO cp_tree VALUES ('1936', '2', '86', '183', '1893', '89'); -INSERT INTO cp_tree VALUES ('1937', '3', '87', '183', '1936', '88'); -INSERT INTO cp_tree VALUES ('1938', '2', '90', '183', '1893', '93'); -INSERT INTO cp_tree VALUES ('1939', '3', '91', '183', '1938', '92'); -INSERT INTO cp_tree VALUES ('1940', '2', '94', '183', '1893', '101'); -INSERT INTO cp_tree VALUES ('1941', '3', '95', '183', '1940', '100'); -INSERT INTO cp_tree VALUES ('1942', '4', '96', '183', '1941', '97'); -INSERT INTO cp_tree VALUES ('1943', '4', '98', '183', '1941', '99'); -INSERT INTO cp_tree VALUES ('1944', '2', '102', '183', '1893', '107'); -INSERT INTO cp_tree VALUES ('1945', '3', '103', '183', '1944', '106'); -INSERT INTO cp_tree VALUES ('1946', '4', '104', '183', '1945', '105'); -INSERT INTO cp_tree VALUES ('1947', '2', '108', '183', '1893', '113'); -INSERT INTO cp_tree VALUES ('1948', '3', '109', '183', '1947', '112'); -INSERT INTO cp_tree VALUES ('1949', '4', '110', '183', '1948', '111'); -INSERT INTO cp_tree VALUES ('1950', '2', '114', '183', '1893', '119'); -INSERT INTO cp_tree VALUES ('1951', '3', '115', '183', '1950', '118'); -INSERT INTO cp_tree VALUES ('1952', '4', '116', '183', '1951', '117'); -INSERT INTO cp_tree VALUES ('1953', '2', '120', '183', '1893', '125'); -INSERT INTO cp_tree VALUES ('1954', '3', '121', '183', '1953', '124'); -INSERT INTO cp_tree VALUES ('1955', '4', '122', '183', '1954', '123'); -INSERT INTO cp_tree VALUES ('1956', '2', '126', '183', '1893', '135'); -INSERT INTO cp_tree VALUES ('1957', '3', '127', '183', '1956', '130'); -INSERT INTO cp_tree VALUES ('1958', '4', '128', '183', '1957', '129'); -INSERT INTO cp_tree VALUES ('1959', '3', '131', '183', '1956', '134'); -INSERT INTO cp_tree VALUES ('1960', '4', '132', '183', '1959', '133'); -INSERT INTO cp_tree VALUES ('1961', '2', '136', '183', '1893', '137'); -INSERT INTO cp_tree VALUES ('1962', '1', '1', '184', '0', '104'); -INSERT INTO cp_tree VALUES ('1963', '2', '2', '184', '1962', '35'); -INSERT INTO cp_tree VALUES ('1964', '3', '3', '184', '1963', '10'); -INSERT INTO cp_tree VALUES ('1965', '4', '4', '184', '1964', '5'); -INSERT INTO cp_tree VALUES ('1966', '4', '6', '184', '1964', '7'); -INSERT INTO cp_tree VALUES ('1967', '4', '8', '184', '1964', '9'); -INSERT INTO cp_tree VALUES ('1968', '3', '11', '184', '1963', '18'); -INSERT INTO cp_tree VALUES ('1969', '4', '12', '184', '1968', '13'); -INSERT INTO cp_tree VALUES ('1970', '4', '14', '184', '1968', '15'); -INSERT INTO cp_tree VALUES ('1971', '4', '16', '184', '1968', '17'); -INSERT INTO cp_tree VALUES ('1972', '3', '19', '184', '1963', '26'); -INSERT INTO cp_tree VALUES ('1973', '4', '20', '184', '1972', '21'); -INSERT INTO cp_tree VALUES ('1974', '4', '22', '184', '1972', '23'); -INSERT INTO cp_tree VALUES ('1975', '4', '24', '184', '1972', '25'); -INSERT INTO cp_tree VALUES ('1976', '3', '27', '184', '1963', '34'); -INSERT INTO cp_tree VALUES ('1977', '4', '28', '184', '1976', '29'); -INSERT INTO cp_tree VALUES ('1978', '4', '30', '184', '1976', '31'); -INSERT INTO cp_tree VALUES ('1979', '4', '32', '184', '1976', '33'); -INSERT INTO cp_tree VALUES ('1980', '2', '36', '184', '1962', '49'); -INSERT INTO cp_tree VALUES ('1981', '3', '37', '184', '1980', '38'); -INSERT INTO cp_tree VALUES ('1982', '3', '39', '184', '1980', '40'); -INSERT INTO cp_tree VALUES ('1983', '3', '41', '184', '1980', '42'); -INSERT INTO cp_tree VALUES ('1984', '3', '43', '184', '1980', '44'); -INSERT INTO cp_tree VALUES ('1985', '3', '45', '184', '1980', '46'); -INSERT INTO cp_tree VALUES ('1986', '3', '47', '184', '1980', '48'); -INSERT INTO cp_tree VALUES ('1987', '2', '50', '184', '1962', '53'); -INSERT INTO cp_tree VALUES ('1988', '3', '51', '184', '1987', '52'); -INSERT INTO cp_tree VALUES ('1989', '2', '54', '184', '1962', '57'); -INSERT INTO cp_tree VALUES ('1990', '3', '55', '184', '1989', '56'); -INSERT INTO cp_tree VALUES ('1991', '2', '58', '184', '1962', '61'); -INSERT INTO cp_tree VALUES ('1992', '3', '59', '184', '1991', '60'); -INSERT INTO cp_tree VALUES ('1993', '2', '62', '184', '1962', '67'); -INSERT INTO cp_tree VALUES ('1994', '3', '63', '184', '1993', '64'); -INSERT INTO cp_tree VALUES ('1995', '3', '65', '184', '1993', '66'); -INSERT INTO cp_tree VALUES ('1996', '2', '68', '184', '1962', '71'); -INSERT INTO cp_tree VALUES ('1997', '3', '69', '184', '1996', '70'); -INSERT INTO cp_tree VALUES ('1998', '2', '72', '184', '1962', '75'); -INSERT INTO cp_tree VALUES ('1999', '3', '73', '184', '1998', '74'); -INSERT INTO cp_tree VALUES ('2000', '2', '76', '184', '1962', '81'); -INSERT INTO cp_tree VALUES ('2001', '3', '77', '184', '2000', '80'); -INSERT INTO cp_tree VALUES ('2002', '4', '78', '184', '2001', '79'); -INSERT INTO cp_tree VALUES ('2003', '2', '82', '184', '1962', '91'); -INSERT INTO cp_tree VALUES ('2004', '3', '83', '184', '2003', '86'); -INSERT INTO cp_tree VALUES ('2005', '4', '84', '184', '2004', '85'); -INSERT INTO cp_tree VALUES ('2006', '3', '87', '184', '2003', '90'); -INSERT INTO cp_tree VALUES ('2007', '4', '88', '184', '2006', '89'); -INSERT INTO cp_tree VALUES ('2008', '2', '92', '184', '1962', '101'); -INSERT INTO cp_tree VALUES ('2009', '3', '93', '184', '2008', '96'); -INSERT INTO cp_tree VALUES ('2010', '4', '94', '184', '2009', '95'); -INSERT INTO cp_tree VALUES ('2011', '3', '97', '184', '2008', '100'); -INSERT INTO cp_tree VALUES ('2012', '4', '98', '184', '2011', '99'); -INSERT INTO cp_tree VALUES ('2013', '2', '102', '184', '1962', '103'); -INSERT INTO cp_tree VALUES ('2014', '1', '1', '185', '0', '104'); -INSERT INTO cp_tree VALUES ('2015', '2', '2', '185', '2014', '35'); -INSERT INTO cp_tree VALUES ('2016', '3', '3', '185', '2015', '10'); -INSERT INTO cp_tree VALUES ('2017', '4', '4', '185', '2016', '5'); -INSERT INTO cp_tree VALUES ('2018', '4', '6', '185', '2016', '7'); -INSERT INTO cp_tree VALUES ('2019', '4', '8', '185', '2016', '9'); -INSERT INTO cp_tree VALUES ('2020', '3', '11', '185', '2015', '18'); -INSERT INTO cp_tree VALUES ('2021', '4', '12', '185', '2020', '13'); -INSERT INTO cp_tree VALUES ('2022', '4', '14', '185', '2020', '15'); -INSERT INTO cp_tree VALUES ('2023', '4', '16', '185', '2020', '17'); -INSERT INTO cp_tree VALUES ('2024', '3', '19', '185', '2015', '26'); -INSERT INTO cp_tree VALUES ('2025', '4', '20', '185', '2024', '21'); -INSERT INTO cp_tree VALUES ('2026', '4', '22', '185', '2024', '23'); -INSERT INTO cp_tree VALUES ('2027', '4', '24', '185', '2024', '25'); -INSERT INTO cp_tree VALUES ('2028', '3', '27', '185', '2015', '34'); -INSERT INTO cp_tree VALUES ('2029', '4', '28', '185', '2028', '29'); -INSERT INTO cp_tree VALUES ('2030', '4', '30', '185', '2028', '31'); -INSERT INTO cp_tree VALUES ('2031', '4', '32', '185', '2028', '33'); -INSERT INTO cp_tree VALUES ('2032', '2', '36', '185', '2014', '49'); -INSERT INTO cp_tree VALUES ('2033', '3', '37', '185', '2032', '38'); -INSERT INTO cp_tree VALUES ('2034', '3', '39', '185', '2032', '40'); -INSERT INTO cp_tree VALUES ('2035', '3', '41', '185', '2032', '42'); -INSERT INTO cp_tree VALUES ('2036', '3', '43', '185', '2032', '44'); -INSERT INTO cp_tree VALUES ('2037', '3', '45', '185', '2032', '46'); -INSERT INTO cp_tree VALUES ('2038', '3', '47', '185', '2032', '48'); -INSERT INTO cp_tree VALUES ('2039', '2', '50', '185', '2014', '53'); -INSERT INTO cp_tree VALUES ('2040', '3', '51', '185', '2039', '52'); -INSERT INTO cp_tree VALUES ('2041', '2', '54', '185', '2014', '57'); -INSERT INTO cp_tree VALUES ('2042', '3', '55', '185', '2041', '56'); -INSERT INTO cp_tree VALUES ('2043', '2', '58', '185', '2014', '61'); -INSERT INTO cp_tree VALUES ('2044', '3', '59', '185', '2043', '60'); -INSERT INTO cp_tree VALUES ('2045', '2', '62', '185', '2014', '67'); -INSERT INTO cp_tree VALUES ('2046', '3', '63', '185', '2045', '64'); -INSERT INTO cp_tree VALUES ('2047', '3', '65', '185', '2045', '66'); -INSERT INTO cp_tree VALUES ('2048', '2', '68', '185', '2014', '71'); -INSERT INTO cp_tree VALUES ('2049', '3', '69', '185', '2048', '70'); -INSERT INTO cp_tree VALUES ('2050', '2', '72', '185', '2014', '75'); -INSERT INTO cp_tree VALUES ('2051', '3', '73', '185', '2050', '74'); -INSERT INTO cp_tree VALUES ('2052', '2', '76', '185', '2014', '81'); -INSERT INTO cp_tree VALUES ('2053', '3', '77', '185', '2052', '80'); -INSERT INTO cp_tree VALUES ('2054', '4', '78', '185', '2053', '79'); -INSERT INTO cp_tree VALUES ('2055', '2', '82', '185', '2014', '91'); -INSERT INTO cp_tree VALUES ('2056', '3', '83', '185', '2055', '86'); -INSERT INTO cp_tree VALUES ('2057', '4', '84', '185', '2056', '85'); -INSERT INTO cp_tree VALUES ('2058', '3', '87', '185', '2055', '90'); -INSERT INTO cp_tree VALUES ('2059', '4', '88', '185', '2058', '89'); -INSERT INTO cp_tree VALUES ('2060', '2', '92', '185', '2014', '101'); -INSERT INTO cp_tree VALUES ('2061', '3', '93', '185', '2060', '96'); -INSERT INTO cp_tree VALUES ('2062', '4', '94', '185', '2061', '95'); -INSERT INTO cp_tree VALUES ('2063', '3', '97', '185', '2060', '100'); -INSERT INTO cp_tree VALUES ('2064', '4', '98', '185', '2063', '99'); -INSERT INTO cp_tree VALUES ('2065', '2', '102', '185', '2014', '103'); -INSERT INTO cp_tree VALUES ('2066', '1', '1', '186', '0', '86'); -INSERT INTO cp_tree VALUES ('2067', '2', '2', '186', '2066', '27'); -INSERT INTO cp_tree VALUES ('2068', '3', '3', '186', '2067', '10'); -INSERT INTO cp_tree VALUES ('2069', '4', '4', '186', '2068', '5'); -INSERT INTO cp_tree VALUES ('2070', '4', '6', '186', '2068', '7'); -INSERT INTO cp_tree VALUES ('2071', '4', '8', '186', '2068', '9'); -INSERT INTO cp_tree VALUES ('2072', '3', '11', '186', '2067', '18'); -INSERT INTO cp_tree VALUES ('2073', '4', '12', '186', '2072', '13'); -INSERT INTO cp_tree VALUES ('2074', '4', '14', '186', '2072', '15'); -INSERT INTO cp_tree VALUES ('2075', '4', '16', '186', '2072', '17'); -INSERT INTO cp_tree VALUES ('2076', '3', '19', '186', '2067', '26'); -INSERT INTO cp_tree VALUES ('2077', '4', '20', '186', '2076', '21'); -INSERT INTO cp_tree VALUES ('2078', '4', '22', '186', '2076', '23'); -INSERT INTO cp_tree VALUES ('2079', '4', '24', '186', '2076', '25'); -INSERT INTO cp_tree VALUES ('2080', '2', '28', '186', '2066', '41'); -INSERT INTO cp_tree VALUES ('2081', '3', '29', '186', '2080', '30'); -INSERT INTO cp_tree VALUES ('2082', '3', '31', '186', '2080', '32'); -INSERT INTO cp_tree VALUES ('2083', '3', '33', '186', '2080', '34'); -INSERT INTO cp_tree VALUES ('2084', '3', '35', '186', '2080', '36'); -INSERT INTO cp_tree VALUES ('2085', '3', '37', '186', '2080', '38'); -INSERT INTO cp_tree VALUES ('2086', '3', '39', '186', '2080', '40'); -INSERT INTO cp_tree VALUES ('2087', '2', '42', '186', '2066', '45'); -INSERT INTO cp_tree VALUES ('2088', '3', '43', '186', '2087', '44'); -INSERT INTO cp_tree VALUES ('2089', '2', '46', '186', '2066', '49'); -INSERT INTO cp_tree VALUES ('2090', '3', '47', '186', '2089', '48'); -INSERT INTO cp_tree VALUES ('2091', '2', '50', '186', '2066', '53'); -INSERT INTO cp_tree VALUES ('2092', '3', '51', '186', '2091', '52'); -INSERT INTO cp_tree VALUES ('2093', '2', '54', '186', '2066', '59'); -INSERT INTO cp_tree VALUES ('2094', '3', '55', '186', '2093', '56'); -INSERT INTO cp_tree VALUES ('2095', '3', '57', '186', '2093', '58'); -INSERT INTO cp_tree VALUES ('2096', '2', '60', '186', '2066', '63'); -INSERT INTO cp_tree VALUES ('2097', '3', '61', '186', '2096', '62'); -INSERT INTO cp_tree VALUES ('2098', '2', '64', '186', '2066', '67'); -INSERT INTO cp_tree VALUES ('2099', '3', '65', '186', '2098', '66'); -INSERT INTO cp_tree VALUES ('2100', '2', '68', '186', '2066', '73'); -INSERT INTO cp_tree VALUES ('2101', '3', '69', '186', '2100', '72'); -INSERT INTO cp_tree VALUES ('2102', '4', '70', '186', '2101', '71'); -INSERT INTO cp_tree VALUES ('2103', '2', '74', '186', '2066', '83'); -INSERT INTO cp_tree VALUES ('2104', '3', '75', '186', '2103', '78'); -INSERT INTO cp_tree VALUES ('2105', '4', '76', '186', '2104', '77'); -INSERT INTO cp_tree VALUES ('2106', '3', '79', '186', '2103', '82'); -INSERT INTO cp_tree VALUES ('2107', '4', '80', '186', '2106', '81'); -INSERT INTO cp_tree VALUES ('2108', '2', '84', '186', '2066', '85'); -INSERT INTO cp_tree VALUES ('2109', '1', '1', '187', '0', '112'); -INSERT INTO cp_tree VALUES ('2110', '2', '2', '187', '2109', '45'); -INSERT INTO cp_tree VALUES ('2111', '3', '3', '187', '2110', '10'); -INSERT INTO cp_tree VALUES ('2112', '4', '4', '187', '2111', '5'); -INSERT INTO cp_tree VALUES ('2113', '4', '6', '187', '2111', '7'); -INSERT INTO cp_tree VALUES ('2114', '4', '8', '187', '2111', '9'); -INSERT INTO cp_tree VALUES ('2115', '3', '11', '187', '2110', '36'); -INSERT INTO cp_tree VALUES ('2116', '4', '12', '187', '2115', '19'); -INSERT INTO cp_tree VALUES ('2117', '5', '13', '187', '2116', '14'); -INSERT INTO cp_tree VALUES ('2118', '5', '15', '187', '2116', '16'); -INSERT INTO cp_tree VALUES ('2119', '5', '17', '187', '2116', '18'); -INSERT INTO cp_tree VALUES ('2120', '4', '20', '187', '2115', '27'); -INSERT INTO cp_tree VALUES ('2121', '5', '21', '187', '2120', '22'); -INSERT INTO cp_tree VALUES ('2122', '5', '23', '187', '2120', '24'); -INSERT INTO cp_tree VALUES ('2123', '5', '25', '187', '2120', '26'); -INSERT INTO cp_tree VALUES ('2124', '4', '28', '187', '2115', '35'); -INSERT INTO cp_tree VALUES ('2125', '5', '29', '187', '2124', '30'); -INSERT INTO cp_tree VALUES ('2126', '5', '31', '187', '2124', '32'); -INSERT INTO cp_tree VALUES ('2127', '5', '33', '187', '2124', '34'); -INSERT INTO cp_tree VALUES ('2128', '3', '37', '187', '2110', '44'); -INSERT INTO cp_tree VALUES ('2129', '4', '38', '187', '2128', '39'); -INSERT INTO cp_tree VALUES ('2130', '4', '40', '187', '2128', '41'); -INSERT INTO cp_tree VALUES ('2131', '4', '42', '187', '2128', '43'); -INSERT INTO cp_tree VALUES ('2132', '2', '46', '187', '2109', '59'); -INSERT INTO cp_tree VALUES ('2133', '3', '47', '187', '2132', '48'); -INSERT INTO cp_tree VALUES ('2134', '3', '49', '187', '2132', '50'); -INSERT INTO cp_tree VALUES ('2135', '3', '51', '187', '2132', '52'); -INSERT INTO cp_tree VALUES ('2136', '3', '53', '187', '2132', '54'); -INSERT INTO cp_tree VALUES ('2137', '3', '55', '187', '2132', '56'); -INSERT INTO cp_tree VALUES ('2138', '3', '57', '187', '2132', '58'); -INSERT INTO cp_tree VALUES ('2139', '2', '60', '187', '2109', '63'); -INSERT INTO cp_tree VALUES ('2140', '3', '61', '187', '2139', '62'); -INSERT INTO cp_tree VALUES ('2141', '2', '64', '187', '2109', '67'); -INSERT INTO cp_tree VALUES ('2142', '3', '65', '187', '2141', '66'); -INSERT INTO cp_tree VALUES ('2143', '2', '68', '187', '2109', '71'); -INSERT INTO cp_tree VALUES ('2144', '3', '69', '187', '2143', '70'); -INSERT INTO cp_tree VALUES ('2145', '2', '72', '187', '2109', '77'); -INSERT INTO cp_tree VALUES ('2146', '3', '73', '187', '2145', '74'); -INSERT INTO cp_tree VALUES ('2147', '3', '75', '187', '2145', '76'); -INSERT INTO cp_tree VALUES ('2148', '2', '78', '187', '2109', '81'); -INSERT INTO cp_tree VALUES ('2149', '3', '79', '187', '2148', '80'); -INSERT INTO cp_tree VALUES ('2150', '2', '82', '187', '2109', '85'); -INSERT INTO cp_tree VALUES ('2151', '3', '83', '187', '2150', '84'); -INSERT INTO cp_tree VALUES ('2152', '2', '86', '187', '2109', '91'); -INSERT INTO cp_tree VALUES ('2153', '3', '87', '187', '2152', '90'); -INSERT INTO cp_tree VALUES ('2154', '4', '88', '187', '2153', '89'); -INSERT INTO cp_tree VALUES ('2155', '2', '92', '187', '2109', '109'); -INSERT INTO cp_tree VALUES ('2156', '3', '93', '187', '2155', '98'); -INSERT INTO cp_tree VALUES ('2157', '4', '94', '187', '2156', '95'); -INSERT INTO cp_tree VALUES ('2158', '4', '96', '187', '2156', '97'); -INSERT INTO cp_tree VALUES ('2159', '3', '99', '187', '2155', '104'); -INSERT INTO cp_tree VALUES ('2160', '4', '100', '187', '2159', '101'); -INSERT INTO cp_tree VALUES ('2161', '4', '102', '187', '2159', '103'); -INSERT INTO cp_tree VALUES ('2162', '3', '105', '187', '2155', '108'); -INSERT INTO cp_tree VALUES ('2163', '4', '106', '187', '2162', '107'); -INSERT INTO cp_tree VALUES ('2164', '2', '110', '187', '2109', '111'); -INSERT INTO cp_tree VALUES ('2165', '1', '1', '188', '0', '96'); -INSERT INTO cp_tree VALUES ('2166', '2', '2', '188', '2165', '27'); -INSERT INTO cp_tree VALUES ('2167', '3', '3', '188', '2166', '10'); -INSERT INTO cp_tree VALUES ('2168', '4', '4', '188', '2167', '5'); -INSERT INTO cp_tree VALUES ('2169', '4', '6', '188', '2167', '7'); -INSERT INTO cp_tree VALUES ('2170', '4', '8', '188', '2167', '9'); -INSERT INTO cp_tree VALUES ('2171', '3', '11', '188', '2166', '18'); -INSERT INTO cp_tree VALUES ('2172', '4', '12', '188', '2171', '13'); -INSERT INTO cp_tree VALUES ('2173', '4', '14', '188', '2171', '15'); -INSERT INTO cp_tree VALUES ('2174', '4', '16', '188', '2171', '17'); -INSERT INTO cp_tree VALUES ('2175', '3', '19', '188', '2166', '26'); -INSERT INTO cp_tree VALUES ('2176', '4', '20', '188', '2175', '21'); -INSERT INTO cp_tree VALUES ('2177', '4', '22', '188', '2175', '23'); -INSERT INTO cp_tree VALUES ('2178', '4', '24', '188', '2175', '25'); -INSERT INTO cp_tree VALUES ('2179', '2', '28', '188', '2165', '41'); -INSERT INTO cp_tree VALUES ('2180', '3', '29', '188', '2179', '30'); -INSERT INTO cp_tree VALUES ('2181', '3', '31', '188', '2179', '32'); -INSERT INTO cp_tree VALUES ('2182', '3', '33', '188', '2179', '34'); -INSERT INTO cp_tree VALUES ('2183', '3', '35', '188', '2179', '36'); -INSERT INTO cp_tree VALUES ('2184', '3', '37', '188', '2179', '38'); -INSERT INTO cp_tree VALUES ('2185', '3', '39', '188', '2179', '40'); -INSERT INTO cp_tree VALUES ('2186', '2', '42', '188', '2165', '45'); -INSERT INTO cp_tree VALUES ('2187', '3', '43', '188', '2186', '44'); -INSERT INTO cp_tree VALUES ('2188', '2', '46', '188', '2165', '49'); -INSERT INTO cp_tree VALUES ('2189', '3', '47', '188', '2188', '48'); -INSERT INTO cp_tree VALUES ('2190', '2', '50', '188', '2165', '53'); -INSERT INTO cp_tree VALUES ('2191', '3', '51', '188', '2190', '52'); -INSERT INTO cp_tree VALUES ('2192', '2', '54', '188', '2165', '59'); -INSERT INTO cp_tree VALUES ('2193', '3', '55', '188', '2192', '56'); -INSERT INTO cp_tree VALUES ('2194', '3', '57', '188', '2192', '58'); -INSERT INTO cp_tree VALUES ('2195', '2', '60', '188', '2165', '63'); -INSERT INTO cp_tree VALUES ('2196', '3', '61', '188', '2195', '62'); -INSERT INTO cp_tree VALUES ('2197', '2', '64', '188', '2165', '67'); -INSERT INTO cp_tree VALUES ('2198', '3', '65', '188', '2197', '66'); -INSERT INTO cp_tree VALUES ('2199', '2', '68', '188', '2165', '73'); -INSERT INTO cp_tree VALUES ('2200', '3', '69', '188', '2199', '72'); -INSERT INTO cp_tree VALUES ('2201', '4', '70', '188', '2200', '71'); -INSERT INTO cp_tree VALUES ('2202', '2', '74', '188', '2165', '85'); -INSERT INTO cp_tree VALUES ('2203', '3', '75', '188', '2202', '80'); -INSERT INTO cp_tree VALUES ('2204', '4', '76', '188', '2203', '77'); -INSERT INTO cp_tree VALUES ('2205', '4', '78', '188', '2203', '79'); -INSERT INTO cp_tree VALUES ('2206', '3', '81', '188', '2202', '84'); -INSERT INTO cp_tree VALUES ('2207', '4', '82', '188', '2206', '83'); -INSERT INTO cp_tree VALUES ('2208', '2', '86', '188', '2165', '93'); -INSERT INTO cp_tree VALUES ('2209', '3', '87', '188', '2208', '88'); -INSERT INTO cp_tree VALUES ('2210', '3', '89', '188', '2208', '92'); -INSERT INTO cp_tree VALUES ('2211', '4', '90', '188', '2210', '91'); -INSERT INTO cp_tree VALUES ('2212', '2', '94', '188', '2165', '95'); -INSERT INTO cp_tree VALUES ('2213', '1', '1', '189', '0', '94'); -INSERT INTO cp_tree VALUES ('2214', '2', '2', '189', '2213', '27'); -INSERT INTO cp_tree VALUES ('2215', '3', '3', '189', '2214', '10'); -INSERT INTO cp_tree VALUES ('2216', '4', '4', '189', '2215', '5'); -INSERT INTO cp_tree VALUES ('2217', '4', '6', '189', '2215', '7'); -INSERT INTO cp_tree VALUES ('2218', '4', '8', '189', '2215', '9'); -INSERT INTO cp_tree VALUES ('2219', '3', '11', '189', '2214', '18'); -INSERT INTO cp_tree VALUES ('2220', '4', '12', '189', '2219', '13'); -INSERT INTO cp_tree VALUES ('2221', '4', '14', '189', '2219', '15'); -INSERT INTO cp_tree VALUES ('2222', '4', '16', '189', '2219', '17'); -INSERT INTO cp_tree VALUES ('2223', '3', '19', '189', '2214', '26'); -INSERT INTO cp_tree VALUES ('2224', '4', '20', '189', '2223', '21'); -INSERT INTO cp_tree VALUES ('2225', '4', '22', '189', '2223', '23'); -INSERT INTO cp_tree VALUES ('2226', '4', '24', '189', '2223', '25'); -INSERT INTO cp_tree VALUES ('2227', '2', '28', '189', '2213', '41'); -INSERT INTO cp_tree VALUES ('2228', '3', '29', '189', '2227', '30'); -INSERT INTO cp_tree VALUES ('2229', '3', '31', '189', '2227', '32'); -INSERT INTO cp_tree VALUES ('2230', '3', '33', '189', '2227', '34'); -INSERT INTO cp_tree VALUES ('2231', '3', '35', '189', '2227', '36'); -INSERT INTO cp_tree VALUES ('2232', '3', '37', '189', '2227', '38'); -INSERT INTO cp_tree VALUES ('2233', '3', '39', '189', '2227', '40'); -INSERT INTO cp_tree VALUES ('2234', '2', '42', '189', '2213', '45'); -INSERT INTO cp_tree VALUES ('2235', '3', '43', '189', '2234', '44'); -INSERT INTO cp_tree VALUES ('2236', '2', '46', '189', '2213', '49'); -INSERT INTO cp_tree VALUES ('2237', '3', '47', '189', '2236', '48'); -INSERT INTO cp_tree VALUES ('2238', '2', '50', '189', '2213', '53'); -INSERT INTO cp_tree VALUES ('2239', '3', '51', '189', '2238', '52'); -INSERT INTO cp_tree VALUES ('2240', '2', '54', '189', '2213', '59'); -INSERT INTO cp_tree VALUES ('2241', '3', '55', '189', '2240', '56'); -INSERT INTO cp_tree VALUES ('2242', '3', '57', '189', '2240', '58'); -INSERT INTO cp_tree VALUES ('2243', '2', '60', '189', '2213', '63'); -INSERT INTO cp_tree VALUES ('2244', '3', '61', '189', '2243', '62'); -INSERT INTO cp_tree VALUES ('2245', '2', '64', '189', '2213', '67'); -INSERT INTO cp_tree VALUES ('2246', '3', '65', '189', '2245', '66'); -INSERT INTO cp_tree VALUES ('2247', '2', '68', '189', '2213', '73'); -INSERT INTO cp_tree VALUES ('2248', '3', '69', '189', '2247', '72'); -INSERT INTO cp_tree VALUES ('2249', '4', '70', '189', '2248', '71'); -INSERT INTO cp_tree VALUES ('2250', '2', '74', '189', '2213', '83'); -INSERT INTO cp_tree VALUES ('2251', '3', '75', '189', '2250', '78'); -INSERT INTO cp_tree VALUES ('2252', '4', '76', '189', '2251', '77'); -INSERT INTO cp_tree VALUES ('2253', '3', '79', '189', '2250', '82'); -INSERT INTO cp_tree VALUES ('2254', '4', '80', '189', '2253', '81'); -INSERT INTO cp_tree VALUES ('2255', '2', '84', '189', '2213', '91'); -INSERT INTO cp_tree VALUES ('2256', '3', '85', '189', '2255', '86'); -INSERT INTO cp_tree VALUES ('2257', '3', '87', '189', '2255', '90'); -INSERT INTO cp_tree VALUES ('2258', '4', '88', '189', '2257', '89'); -INSERT INTO cp_tree VALUES ('2259', '2', '92', '189', '2213', '93'); -INSERT INTO cp_tree VALUES ('2260', '1', '1', '190', '0', '128'); -INSERT INTO cp_tree VALUES ('2261', '2', '2', '190', '2260', '35'); -INSERT INTO cp_tree VALUES ('2262', '3', '3', '190', '2261', '10'); -INSERT INTO cp_tree VALUES ('2263', '4', '4', '190', '2262', '5'); -INSERT INTO cp_tree VALUES ('2264', '4', '6', '190', '2262', '7'); -INSERT INTO cp_tree VALUES ('2265', '4', '8', '190', '2262', '9'); -INSERT INTO cp_tree VALUES ('2266', '3', '11', '190', '2261', '18'); -INSERT INTO cp_tree VALUES ('2267', '4', '12', '190', '2266', '13'); -INSERT INTO cp_tree VALUES ('2268', '4', '14', '190', '2266', '15'); -INSERT INTO cp_tree VALUES ('2269', '4', '16', '190', '2266', '17'); -INSERT INTO cp_tree VALUES ('2270', '3', '19', '190', '2261', '26'); -INSERT INTO cp_tree VALUES ('2271', '4', '20', '190', '2270', '21'); -INSERT INTO cp_tree VALUES ('2272', '4', '22', '190', '2270', '23'); -INSERT INTO cp_tree VALUES ('2273', '4', '24', '190', '2270', '25'); -INSERT INTO cp_tree VALUES ('2274', '3', '27', '190', '2261', '34'); -INSERT INTO cp_tree VALUES ('2275', '4', '28', '190', '2274', '29'); -INSERT INTO cp_tree VALUES ('2276', '4', '30', '190', '2274', '31'); -INSERT INTO cp_tree VALUES ('2277', '4', '32', '190', '2274', '33'); -INSERT INTO cp_tree VALUES ('2278', '2', '36', '190', '2260', '49'); -INSERT INTO cp_tree VALUES ('2279', '3', '37', '190', '2278', '38'); -INSERT INTO cp_tree VALUES ('2280', '3', '39', '190', '2278', '40'); -INSERT INTO cp_tree VALUES ('2281', '3', '41', '190', '2278', '42'); -INSERT INTO cp_tree VALUES ('2282', '3', '43', '190', '2278', '44'); -INSERT INTO cp_tree VALUES ('2283', '3', '45', '190', '2278', '46'); -INSERT INTO cp_tree VALUES ('2284', '3', '47', '190', '2278', '48'); -INSERT INTO cp_tree VALUES ('2285', '2', '50', '190', '2260', '53'); -INSERT INTO cp_tree VALUES ('2286', '3', '51', '190', '2285', '52'); -INSERT INTO cp_tree VALUES ('2287', '2', '54', '190', '2260', '57'); -INSERT INTO cp_tree VALUES ('2288', '3', '55', '190', '2287', '56'); -INSERT INTO cp_tree VALUES ('2289', '2', '58', '190', '2260', '61'); -INSERT INTO cp_tree VALUES ('2290', '3', '59', '190', '2289', '60'); -INSERT INTO cp_tree VALUES ('2291', '2', '62', '190', '2260', '67'); -INSERT INTO cp_tree VALUES ('2292', '3', '63', '190', '2291', '64'); -INSERT INTO cp_tree VALUES ('2293', '3', '65', '190', '2291', '66'); -INSERT INTO cp_tree VALUES ('2294', '2', '68', '190', '2260', '71'); -INSERT INTO cp_tree VALUES ('2295', '3', '69', '190', '2294', '70'); -INSERT INTO cp_tree VALUES ('2296', '2', '72', '190', '2260', '75'); -INSERT INTO cp_tree VALUES ('2297', '3', '73', '190', '2296', '74'); -INSERT INTO cp_tree VALUES ('2298', '2', '76', '190', '2260', '81'); -INSERT INTO cp_tree VALUES ('2299', '3', '77', '190', '2298', '80'); -INSERT INTO cp_tree VALUES ('2300', '4', '78', '190', '2299', '79'); -INSERT INTO cp_tree VALUES ('2301', '2', '82', '190', '2260', '95'); -INSERT INTO cp_tree VALUES ('2302', '3', '83', '190', '2301', '86'); -INSERT INTO cp_tree VALUES ('2303', '4', '84', '190', '2302', '85'); -INSERT INTO cp_tree VALUES ('2304', '3', '87', '190', '2301', '90'); -INSERT INTO cp_tree VALUES ('2305', '4', '88', '190', '2304', '89'); -INSERT INTO cp_tree VALUES ('2306', '3', '91', '190', '2301', '94'); -INSERT INTO cp_tree VALUES ('2307', '4', '92', '190', '2306', '93'); -INSERT INTO cp_tree VALUES ('2308', '2', '96', '190', '2260', '111'); -INSERT INTO cp_tree VALUES ('2309', '3', '97', '190', '2308', '102'); -INSERT INTO cp_tree VALUES ('2310', '4', '98', '190', '2309', '99'); -INSERT INTO cp_tree VALUES ('2311', '4', '100', '190', '2309', '101'); -INSERT INTO cp_tree VALUES ('2312', '3', '103', '190', '2308', '106'); -INSERT INTO cp_tree VALUES ('2313', '4', '104', '190', '2312', '105'); -INSERT INTO cp_tree VALUES ('2314', '3', '107', '190', '2308', '110'); -INSERT INTO cp_tree VALUES ('2315', '4', '108', '190', '2314', '109'); -INSERT INTO cp_tree VALUES ('2316', '2', '112', '190', '2260', '125'); -INSERT INTO cp_tree VALUES ('2317', '3', '113', '190', '2316', '116'); -INSERT INTO cp_tree VALUES ('2318', '4', '114', '190', '2317', '115'); -INSERT INTO cp_tree VALUES ('2319', '3', '117', '190', '2316', '120'); -INSERT INTO cp_tree VALUES ('2320', '4', '118', '190', '2319', '119'); -INSERT INTO cp_tree VALUES ('2321', '3', '121', '190', '2316', '124'); -INSERT INTO cp_tree VALUES ('2322', '4', '122', '190', '2321', '123'); -INSERT INTO cp_tree VALUES ('2323', '2', '126', '190', '2260', '127'); -INSERT INTO cp_tree VALUES ('2324', '1', '1', '191', '0', '128'); -INSERT INTO cp_tree VALUES ('2325', '2', '2', '191', '2324', '35'); -INSERT INTO cp_tree VALUES ('2326', '3', '3', '191', '2325', '10'); -INSERT INTO cp_tree VALUES ('2327', '4', '4', '191', '2326', '5'); -INSERT INTO cp_tree VALUES ('2328', '4', '6', '191', '2326', '7'); -INSERT INTO cp_tree VALUES ('2329', '4', '8', '191', '2326', '9'); -INSERT INTO cp_tree VALUES ('2330', '3', '11', '191', '2325', '18'); -INSERT INTO cp_tree VALUES ('2331', '4', '12', '191', '2330', '13'); -INSERT INTO cp_tree VALUES ('2332', '4', '14', '191', '2330', '15'); -INSERT INTO cp_tree VALUES ('2333', '4', '16', '191', '2330', '17'); -INSERT INTO cp_tree VALUES ('2334', '3', '19', '191', '2325', '26'); -INSERT INTO cp_tree VALUES ('2335', '4', '20', '191', '2334', '21'); -INSERT INTO cp_tree VALUES ('2336', '4', '22', '191', '2334', '23'); -INSERT INTO cp_tree VALUES ('2337', '4', '24', '191', '2334', '25'); -INSERT INTO cp_tree VALUES ('2338', '3', '27', '191', '2325', '34'); -INSERT INTO cp_tree VALUES ('2339', '4', '28', '191', '2338', '29'); -INSERT INTO cp_tree VALUES ('2340', '4', '30', '191', '2338', '31'); -INSERT INTO cp_tree VALUES ('2341', '4', '32', '191', '2338', '33'); -INSERT INTO cp_tree VALUES ('2342', '2', '36', '191', '2324', '49'); -INSERT INTO cp_tree VALUES ('2343', '3', '37', '191', '2342', '38'); -INSERT INTO cp_tree VALUES ('2344', '3', '39', '191', '2342', '40'); -INSERT INTO cp_tree VALUES ('2345', '3', '41', '191', '2342', '42'); -INSERT INTO cp_tree VALUES ('2346', '3', '43', '191', '2342', '44'); -INSERT INTO cp_tree VALUES ('2347', '3', '45', '191', '2342', '46'); -INSERT INTO cp_tree VALUES ('2348', '3', '47', '191', '2342', '48'); -INSERT INTO cp_tree VALUES ('2349', '2', '50', '191', '2324', '53'); -INSERT INTO cp_tree VALUES ('2350', '3', '51', '191', '2349', '52'); -INSERT INTO cp_tree VALUES ('2351', '2', '54', '191', '2324', '57'); -INSERT INTO cp_tree VALUES ('2352', '3', '55', '191', '2351', '56'); -INSERT INTO cp_tree VALUES ('2353', '2', '58', '191', '2324', '61'); -INSERT INTO cp_tree VALUES ('2354', '3', '59', '191', '2353', '60'); -INSERT INTO cp_tree VALUES ('2355', '2', '62', '191', '2324', '67'); -INSERT INTO cp_tree VALUES ('2356', '3', '63', '191', '2355', '64'); -INSERT INTO cp_tree VALUES ('2357', '3', '65', '191', '2355', '66'); -INSERT INTO cp_tree VALUES ('2358', '2', '68', '191', '2324', '71'); -INSERT INTO cp_tree VALUES ('2359', '3', '69', '191', '2358', '70'); -INSERT INTO cp_tree VALUES ('2360', '2', '72', '191', '2324', '75'); -INSERT INTO cp_tree VALUES ('2361', '3', '73', '191', '2360', '74'); -INSERT INTO cp_tree VALUES ('2362', '2', '76', '191', '2324', '81'); -INSERT INTO cp_tree VALUES ('2363', '3', '77', '191', '2362', '80'); -INSERT INTO cp_tree VALUES ('2364', '4', '78', '191', '2363', '79'); -INSERT INTO cp_tree VALUES ('2365', '2', '82', '191', '2324', '95'); -INSERT INTO cp_tree VALUES ('2366', '3', '83', '191', '2365', '86'); -INSERT INTO cp_tree VALUES ('2367', '4', '84', '191', '2366', '85'); -INSERT INTO cp_tree VALUES ('2368', '3', '87', '191', '2365', '90'); -INSERT INTO cp_tree VALUES ('2369', '4', '88', '191', '2368', '89'); -INSERT INTO cp_tree VALUES ('2370', '3', '91', '191', '2365', '94'); -INSERT INTO cp_tree VALUES ('2371', '4', '92', '191', '2370', '93'); -INSERT INTO cp_tree VALUES ('2372', '2', '96', '191', '2324', '111'); -INSERT INTO cp_tree VALUES ('2373', '3', '97', '191', '2372', '102'); -INSERT INTO cp_tree VALUES ('2374', '4', '98', '191', '2373', '99'); -INSERT INTO cp_tree VALUES ('2375', '4', '100', '191', '2373', '101'); -INSERT INTO cp_tree VALUES ('2376', '3', '103', '191', '2372', '106'); -INSERT INTO cp_tree VALUES ('2377', '4', '104', '191', '2376', '105'); -INSERT INTO cp_tree VALUES ('2378', '3', '107', '191', '2372', '110'); -INSERT INTO cp_tree VALUES ('2379', '4', '108', '191', '2378', '109'); -INSERT INTO cp_tree VALUES ('2380', '2', '112', '191', '2324', '125'); -INSERT INTO cp_tree VALUES ('2381', '3', '113', '191', '2380', '116'); -INSERT INTO cp_tree VALUES ('2382', '4', '114', '191', '2381', '115'); -INSERT INTO cp_tree VALUES ('2383', '3', '117', '191', '2380', '120'); -INSERT INTO cp_tree VALUES ('2384', '4', '118', '191', '2383', '119'); -INSERT INTO cp_tree VALUES ('2385', '3', '121', '191', '2380', '124'); -INSERT INTO cp_tree VALUES ('2386', '4', '122', '191', '2385', '123'); -INSERT INTO cp_tree VALUES ('2387', '2', '126', '191', '2324', '127'); -INSERT INTO cp_tree VALUES ('2388', '1', '1', '192', '0', '110'); -INSERT INTO cp_tree VALUES ('2389', '2', '2', '192', '2388', '27'); -INSERT INTO cp_tree VALUES ('2390', '3', '3', '192', '2389', '10'); -INSERT INTO cp_tree VALUES ('2391', '4', '4', '192', '2390', '5'); -INSERT INTO cp_tree VALUES ('2392', '4', '6', '192', '2390', '7'); -INSERT INTO cp_tree VALUES ('2393', '4', '8', '192', '2390', '9'); -INSERT INTO cp_tree VALUES ('2394', '3', '11', '192', '2389', '18'); -INSERT INTO cp_tree VALUES ('2395', '4', '12', '192', '2394', '13'); -INSERT INTO cp_tree VALUES ('2396', '4', '14', '192', '2394', '15'); -INSERT INTO cp_tree VALUES ('2397', '4', '16', '192', '2394', '17'); -INSERT INTO cp_tree VALUES ('2398', '3', '19', '192', '2389', '26'); -INSERT INTO cp_tree VALUES ('2399', '4', '20', '192', '2398', '21'); -INSERT INTO cp_tree VALUES ('2400', '4', '22', '192', '2398', '23'); -INSERT INTO cp_tree VALUES ('2401', '4', '24', '192', '2398', '25'); -INSERT INTO cp_tree VALUES ('2402', '2', '28', '192', '2388', '41'); -INSERT INTO cp_tree VALUES ('2403', '3', '29', '192', '2402', '30'); -INSERT INTO cp_tree VALUES ('2404', '3', '31', '192', '2402', '32'); -INSERT INTO cp_tree VALUES ('2405', '3', '33', '192', '2402', '34'); -INSERT INTO cp_tree VALUES ('2406', '3', '35', '192', '2402', '36'); -INSERT INTO cp_tree VALUES ('2407', '3', '37', '192', '2402', '38'); -INSERT INTO cp_tree VALUES ('2408', '3', '39', '192', '2402', '40'); -INSERT INTO cp_tree VALUES ('2409', '2', '42', '192', '2388', '45'); -INSERT INTO cp_tree VALUES ('2410', '3', '43', '192', '2409', '44'); -INSERT INTO cp_tree VALUES ('2411', '2', '46', '192', '2388', '49'); -INSERT INTO cp_tree VALUES ('2412', '3', '47', '192', '2411', '48'); -INSERT INTO cp_tree VALUES ('2413', '2', '50', '192', '2388', '53'); -INSERT INTO cp_tree VALUES ('2414', '3', '51', '192', '2413', '52'); -INSERT INTO cp_tree VALUES ('2415', '2', '54', '192', '2388', '59'); -INSERT INTO cp_tree VALUES ('2416', '3', '55', '192', '2415', '56'); -INSERT INTO cp_tree VALUES ('2417', '3', '57', '192', '2415', '58'); -INSERT INTO cp_tree VALUES ('2418', '2', '60', '192', '2388', '63'); -INSERT INTO cp_tree VALUES ('2419', '3', '61', '192', '2418', '62'); -INSERT INTO cp_tree VALUES ('2420', '2', '64', '192', '2388', '67'); -INSERT INTO cp_tree VALUES ('2421', '3', '65', '192', '2420', '66'); -INSERT INTO cp_tree VALUES ('2422', '2', '68', '192', '2388', '77'); -INSERT INTO cp_tree VALUES ('2423', '3', '69', '192', '2422', '72'); -INSERT INTO cp_tree VALUES ('2424', '4', '70', '192', '2423', '71'); -INSERT INTO cp_tree VALUES ('2425', '3', '73', '192', '2422', '76'); -INSERT INTO cp_tree VALUES ('2426', '4', '74', '192', '2425', '75'); -INSERT INTO cp_tree VALUES ('2427', '2', '78', '192', '2388', '87'); -INSERT INTO cp_tree VALUES ('2428', '3', '79', '192', '2427', '82'); -INSERT INTO cp_tree VALUES ('2429', '4', '80', '192', '2428', '81'); -INSERT INTO cp_tree VALUES ('2430', '3', '83', '192', '2427', '86'); -INSERT INTO cp_tree VALUES ('2431', '4', '84', '192', '2430', '85'); -INSERT INTO cp_tree VALUES ('2432', '2', '88', '192', '2388', '99'); -INSERT INTO cp_tree VALUES ('2433', '3', '89', '192', '2432', '90'); -INSERT INTO cp_tree VALUES ('2434', '3', '91', '192', '2432', '94'); -INSERT INTO cp_tree VALUES ('2435', '4', '92', '192', '2434', '93'); -INSERT INTO cp_tree VALUES ('2436', '3', '95', '192', '2432', '98'); -INSERT INTO cp_tree VALUES ('2437', '4', '96', '192', '2436', '97'); -INSERT INTO cp_tree VALUES ('2438', '2', '100', '192', '2388', '109'); -INSERT INTO cp_tree VALUES ('2439', '3', '101', '192', '2438', '104'); -INSERT INTO cp_tree VALUES ('2440', '4', '102', '192', '2439', '103'); -INSERT INTO cp_tree VALUES ('2441', '3', '105', '192', '2438', '108'); -INSERT INTO cp_tree VALUES ('2442', '4', '106', '192', '2441', '107'); -INSERT INTO cp_tree VALUES ('2443', '1', '1', '193', '0', '110'); -INSERT INTO cp_tree VALUES ('2444', '2', '2', '193', '2443', '27'); -INSERT INTO cp_tree VALUES ('2445', '3', '3', '193', '2444', '10'); -INSERT INTO cp_tree VALUES ('2446', '4', '4', '193', '2445', '5'); -INSERT INTO cp_tree VALUES ('2447', '4', '6', '193', '2445', '7'); -INSERT INTO cp_tree VALUES ('2448', '4', '8', '193', '2445', '9'); -INSERT INTO cp_tree VALUES ('2449', '3', '11', '193', '2444', '18'); -INSERT INTO cp_tree VALUES ('2450', '4', '12', '193', '2449', '13'); -INSERT INTO cp_tree VALUES ('2451', '4', '14', '193', '2449', '15'); -INSERT INTO cp_tree VALUES ('2452', '4', '16', '193', '2449', '17'); -INSERT INTO cp_tree VALUES ('2453', '3', '19', '193', '2444', '26'); -INSERT INTO cp_tree VALUES ('2454', '4', '20', '193', '2453', '21'); -INSERT INTO cp_tree VALUES ('2455', '4', '22', '193', '2453', '23'); -INSERT INTO cp_tree VALUES ('2456', '4', '24', '193', '2453', '25'); -INSERT INTO cp_tree VALUES ('2457', '2', '28', '193', '2443', '41'); -INSERT INTO cp_tree VALUES ('2458', '3', '29', '193', '2457', '30'); -INSERT INTO cp_tree VALUES ('2459', '3', '31', '193', '2457', '32'); -INSERT INTO cp_tree VALUES ('2460', '3', '33', '193', '2457', '34'); -INSERT INTO cp_tree VALUES ('2461', '3', '35', '193', '2457', '36'); -INSERT INTO cp_tree VALUES ('2462', '3', '37', '193', '2457', '38'); -INSERT INTO cp_tree VALUES ('2463', '3', '39', '193', '2457', '40'); -INSERT INTO cp_tree VALUES ('2464', '2', '42', '193', '2443', '45'); -INSERT INTO cp_tree VALUES ('2465', '3', '43', '193', '2464', '44'); -INSERT INTO cp_tree VALUES ('2466', '2', '46', '193', '2443', '49'); -INSERT INTO cp_tree VALUES ('2467', '3', '47', '193', '2466', '48'); -INSERT INTO cp_tree VALUES ('2468', '2', '50', '193', '2443', '53'); -INSERT INTO cp_tree VALUES ('2469', '3', '51', '193', '2468', '52'); -INSERT INTO cp_tree VALUES ('2470', '2', '54', '193', '2443', '59'); -INSERT INTO cp_tree VALUES ('2471', '3', '55', '193', '2470', '56'); -INSERT INTO cp_tree VALUES ('2472', '3', '57', '193', '2470', '58'); -INSERT INTO cp_tree VALUES ('2473', '2', '60', '193', '2443', '63'); -INSERT INTO cp_tree VALUES ('2474', '3', '61', '193', '2473', '62'); -INSERT INTO cp_tree VALUES ('2475', '2', '64', '193', '2443', '67'); -INSERT INTO cp_tree VALUES ('2476', '3', '65', '193', '2475', '66'); -INSERT INTO cp_tree VALUES ('2477', '2', '68', '193', '2443', '77'); -INSERT INTO cp_tree VALUES ('2478', '3', '69', '193', '2477', '72'); -INSERT INTO cp_tree VALUES ('2479', '4', '70', '193', '2478', '71'); -INSERT INTO cp_tree VALUES ('2480', '3', '73', '193', '2477', '76'); -INSERT INTO cp_tree VALUES ('2481', '4', '74', '193', '2480', '75'); -INSERT INTO cp_tree VALUES ('2482', '2', '78', '193', '2443', '87'); -INSERT INTO cp_tree VALUES ('2483', '3', '79', '193', '2482', '82'); -INSERT INTO cp_tree VALUES ('2484', '4', '80', '193', '2483', '81'); -INSERT INTO cp_tree VALUES ('2485', '3', '83', '193', '2482', '86'); -INSERT INTO cp_tree VALUES ('2486', '4', '84', '193', '2485', '85'); -INSERT INTO cp_tree VALUES ('2487', '2', '88', '193', '2443', '99'); -INSERT INTO cp_tree VALUES ('2488', '3', '89', '193', '2487', '90'); -INSERT INTO cp_tree VALUES ('2489', '3', '91', '193', '2487', '94'); -INSERT INTO cp_tree VALUES ('2490', '4', '92', '193', '2489', '93'); -INSERT INTO cp_tree VALUES ('2491', '3', '95', '193', '2487', '98'); -INSERT INTO cp_tree VALUES ('2492', '4', '96', '193', '2491', '97'); -INSERT INTO cp_tree VALUES ('2493', '2', '100', '193', '2443', '109'); -INSERT INTO cp_tree VALUES ('2494', '3', '101', '193', '2493', '104'); -INSERT INTO cp_tree VALUES ('2495', '4', '102', '193', '2494', '103'); -INSERT INTO cp_tree VALUES ('2496', '3', '105', '193', '2493', '108'); -INSERT INTO cp_tree VALUES ('2497', '4', '106', '193', '2496', '107'); -INSERT INTO cp_tree VALUES ('2498', '1', '1', '194', '0', '74'); -INSERT INTO cp_tree VALUES ('2499', '2', '2', '194', '2498', '9'); -INSERT INTO cp_tree VALUES ('2500', '3', '3', '194', '2499', '4'); -INSERT INTO cp_tree VALUES ('2501', '3', '5', '194', '2499', '6'); -INSERT INTO cp_tree VALUES ('2502', '3', '7', '194', '2499', '8'); -INSERT INTO cp_tree VALUES ('2503', '2', '10', '194', '2498', '23'); -INSERT INTO cp_tree VALUES ('2504', '3', '11', '194', '2503', '12'); -INSERT INTO cp_tree VALUES ('2505', '3', '13', '194', '2503', '14'); -INSERT INTO cp_tree VALUES ('2506', '3', '15', '194', '2503', '16'); -INSERT INTO cp_tree VALUES ('2507', '3', '17', '194', '2503', '18'); -INSERT INTO cp_tree VALUES ('2508', '3', '19', '194', '2503', '20'); -INSERT INTO cp_tree VALUES ('2509', '3', '21', '194', '2503', '22'); -INSERT INTO cp_tree VALUES ('2510', '2', '24', '194', '2498', '27'); -INSERT INTO cp_tree VALUES ('2511', '3', '25', '194', '2510', '26'); -INSERT INTO cp_tree VALUES ('2512', '2', '28', '194', '2498', '31'); -INSERT INTO cp_tree VALUES ('2513', '3', '29', '194', '2512', '30'); -INSERT INTO cp_tree VALUES ('2514', '2', '32', '194', '2498', '35'); -INSERT INTO cp_tree VALUES ('2515', '3', '33', '194', '2514', '34'); -INSERT INTO cp_tree VALUES ('2516', '2', '36', '194', '2498', '41'); -INSERT INTO cp_tree VALUES ('2517', '3', '37', '194', '2516', '38'); -INSERT INTO cp_tree VALUES ('2518', '3', '39', '194', '2516', '40'); -INSERT INTO cp_tree VALUES ('2519', '2', '42', '194', '2498', '45'); -INSERT INTO cp_tree VALUES ('2520', '3', '43', '194', '2519', '44'); -INSERT INTO cp_tree VALUES ('2521', '2', '46', '194', '2498', '49'); -INSERT INTO cp_tree VALUES ('2522', '3', '47', '194', '2521', '48'); -INSERT INTO cp_tree VALUES ('2523', '2', '50', '194', '2498', '55'); -INSERT INTO cp_tree VALUES ('2524', '3', '51', '194', '2523', '54'); -INSERT INTO cp_tree VALUES ('2525', '4', '52', '194', '2524', '53'); -INSERT INTO cp_tree VALUES ('2526', '2', '56', '194', '2498', '65'); -INSERT INTO cp_tree VALUES ('2527', '3', '57', '194', '2526', '60'); -INSERT INTO cp_tree VALUES ('2528', '4', '58', '194', '2527', '59'); -INSERT INTO cp_tree VALUES ('2529', '3', '61', '194', '2526', '64'); -INSERT INTO cp_tree VALUES ('2530', '4', '62', '194', '2529', '63'); -INSERT INTO cp_tree VALUES ('2531', '2', '66', '194', '2498', '71'); -INSERT INTO cp_tree VALUES ('2532', '3', '67', '194', '2531', '70'); -INSERT INTO cp_tree VALUES ('2533', '4', '68', '194', '2532', '69'); -INSERT INTO cp_tree VALUES ('2534', '2', '72', '194', '2498', '73'); -INSERT INTO cp_tree VALUES ('2535', '1', '1', '195', '0', '92'); -INSERT INTO cp_tree VALUES ('2536', '2', '2', '195', '2535', '27'); -INSERT INTO cp_tree VALUES ('2537', '3', '3', '195', '2536', '10'); -INSERT INTO cp_tree VALUES ('2538', '4', '4', '195', '2537', '5'); -INSERT INTO cp_tree VALUES ('2539', '4', '6', '195', '2537', '7'); -INSERT INTO cp_tree VALUES ('2540', '4', '8', '195', '2537', '9'); -INSERT INTO cp_tree VALUES ('2541', '3', '11', '195', '2536', '18'); -INSERT INTO cp_tree VALUES ('2542', '4', '12', '195', '2541', '13'); -INSERT INTO cp_tree VALUES ('2543', '4', '14', '195', '2541', '15'); -INSERT INTO cp_tree VALUES ('2544', '4', '16', '195', '2541', '17'); -INSERT INTO cp_tree VALUES ('2545', '3', '19', '195', '2536', '26'); -INSERT INTO cp_tree VALUES ('2546', '4', '20', '195', '2545', '21'); -INSERT INTO cp_tree VALUES ('2547', '4', '22', '195', '2545', '23'); -INSERT INTO cp_tree VALUES ('2548', '4', '24', '195', '2545', '25'); -INSERT INTO cp_tree VALUES ('2549', '2', '28', '195', '2535', '41'); -INSERT INTO cp_tree VALUES ('2550', '3', '29', '195', '2549', '30'); -INSERT INTO cp_tree VALUES ('2551', '3', '31', '195', '2549', '32'); -INSERT INTO cp_tree VALUES ('2552', '3', '33', '195', '2549', '34'); -INSERT INTO cp_tree VALUES ('2553', '3', '35', '195', '2549', '36'); -INSERT INTO cp_tree VALUES ('2554', '3', '37', '195', '2549', '38'); -INSERT INTO cp_tree VALUES ('2555', '3', '39', '195', '2549', '40'); -INSERT INTO cp_tree VALUES ('2556', '2', '42', '195', '2535', '45'); -INSERT INTO cp_tree VALUES ('2557', '3', '43', '195', '2556', '44'); -INSERT INTO cp_tree VALUES ('2558', '2', '46', '195', '2535', '49'); -INSERT INTO cp_tree VALUES ('2559', '3', '47', '195', '2558', '48'); -INSERT INTO cp_tree VALUES ('2560', '2', '50', '195', '2535', '53'); -INSERT INTO cp_tree VALUES ('2561', '3', '51', '195', '2560', '52'); -INSERT INTO cp_tree VALUES ('2562', '2', '54', '195', '2535', '59'); -INSERT INTO cp_tree VALUES ('2563', '3', '55', '195', '2562', '56'); -INSERT INTO cp_tree VALUES ('2564', '3', '57', '195', '2562', '58'); -INSERT INTO cp_tree VALUES ('2565', '2', '60', '195', '2535', '63'); -INSERT INTO cp_tree VALUES ('2566', '3', '61', '195', '2565', '62'); -INSERT INTO cp_tree VALUES ('2567', '2', '64', '195', '2535', '67'); -INSERT INTO cp_tree VALUES ('2568', '3', '65', '195', '2567', '66'); -INSERT INTO cp_tree VALUES ('2569', '2', '68', '195', '2535', '73'); -INSERT INTO cp_tree VALUES ('2570', '3', '69', '195', '2569', '72'); -INSERT INTO cp_tree VALUES ('2571', '4', '70', '195', '2570', '71'); -INSERT INTO cp_tree VALUES ('2572', '2', '74', '195', '2535', '83'); -INSERT INTO cp_tree VALUES ('2573', '3', '75', '195', '2572', '78'); -INSERT INTO cp_tree VALUES ('2574', '4', '76', '195', '2573', '77'); -INSERT INTO cp_tree VALUES ('2575', '3', '79', '195', '2572', '82'); -INSERT INTO cp_tree VALUES ('2576', '4', '80', '195', '2575', '81'); -INSERT INTO cp_tree VALUES ('2577', '2', '84', '195', '2535', '89'); -INSERT INTO cp_tree VALUES ('2578', '3', '85', '195', '2577', '88'); -INSERT INTO cp_tree VALUES ('2579', '4', '86', '195', '2578', '87'); -INSERT INTO cp_tree VALUES ('2580', '2', '90', '195', '2535', '91'); -INSERT INTO cp_tree VALUES ('2581', '1', '1', '196', '0', '94'); -INSERT INTO cp_tree VALUES ('2582', '2', '2', '196', '2581', '27'); -INSERT INTO cp_tree VALUES ('2583', '3', '3', '196', '2582', '10'); -INSERT INTO cp_tree VALUES ('2584', '4', '4', '196', '2583', '5'); -INSERT INTO cp_tree VALUES ('2585', '4', '6', '196', '2583', '7'); -INSERT INTO cp_tree VALUES ('2586', '4', '8', '196', '2583', '9'); -INSERT INTO cp_tree VALUES ('2587', '3', '11', '196', '2582', '18'); -INSERT INTO cp_tree VALUES ('2588', '4', '12', '196', '2587', '13'); -INSERT INTO cp_tree VALUES ('2589', '4', '14', '196', '2587', '15'); -INSERT INTO cp_tree VALUES ('2590', '4', '16', '196', '2587', '17'); -INSERT INTO cp_tree VALUES ('2591', '3', '19', '196', '2582', '26'); -INSERT INTO cp_tree VALUES ('2592', '4', '20', '196', '2591', '21'); -INSERT INTO cp_tree VALUES ('2593', '4', '22', '196', '2591', '23'); -INSERT INTO cp_tree VALUES ('2594', '4', '24', '196', '2591', '25'); -INSERT INTO cp_tree VALUES ('2595', '2', '28', '196', '2581', '41'); -INSERT INTO cp_tree VALUES ('2596', '3', '29', '196', '2595', '30'); -INSERT INTO cp_tree VALUES ('2597', '3', '31', '196', '2595', '32'); -INSERT INTO cp_tree VALUES ('2598', '3', '33', '196', '2595', '34'); -INSERT INTO cp_tree VALUES ('2599', '3', '35', '196', '2595', '36'); -INSERT INTO cp_tree VALUES ('2600', '3', '37', '196', '2595', '38'); -INSERT INTO cp_tree VALUES ('2601', '3', '39', '196', '2595', '40'); -INSERT INTO cp_tree VALUES ('2602', '2', '42', '196', '2581', '45'); -INSERT INTO cp_tree VALUES ('2603', '3', '43', '196', '2602', '44'); -INSERT INTO cp_tree VALUES ('2604', '2', '46', '196', '2581', '49'); -INSERT INTO cp_tree VALUES ('2605', '3', '47', '196', '2604', '48'); -INSERT INTO cp_tree VALUES ('2606', '2', '50', '196', '2581', '53'); -INSERT INTO cp_tree VALUES ('2607', '3', '51', '196', '2606', '52'); -INSERT INTO cp_tree VALUES ('2608', '2', '54', '196', '2581', '59'); -INSERT INTO cp_tree VALUES ('2609', '3', '55', '196', '2608', '56'); -INSERT INTO cp_tree VALUES ('2610', '3', '57', '196', '2608', '58'); -INSERT INTO cp_tree VALUES ('2611', '2', '60', '196', '2581', '63'); -INSERT INTO cp_tree VALUES ('2612', '3', '61', '196', '2611', '62'); -INSERT INTO cp_tree VALUES ('2613', '2', '64', '196', '2581', '67'); -INSERT INTO cp_tree VALUES ('2614', '3', '65', '196', '2613', '66'); -INSERT INTO cp_tree VALUES ('2615', '2', '68', '196', '2581', '75'); -INSERT INTO cp_tree VALUES ('2616', '3', '69', '196', '2615', '72'); -INSERT INTO cp_tree VALUES ('2617', '4', '70', '196', '2616', '71'); -INSERT INTO cp_tree VALUES ('2618', '3', '73', '196', '2615', '74'); -INSERT INTO cp_tree VALUES ('2619', '2', '76', '196', '2581', '85'); -INSERT INTO cp_tree VALUES ('2620', '3', '77', '196', '2619', '80'); -INSERT INTO cp_tree VALUES ('2621', '4', '78', '196', '2620', '79'); -INSERT INTO cp_tree VALUES ('2622', '3', '81', '196', '2619', '84'); -INSERT INTO cp_tree VALUES ('2623', '4', '82', '196', '2622', '83'); -INSERT INTO cp_tree VALUES ('2624', '2', '86', '196', '2581', '91'); -INSERT INTO cp_tree VALUES ('2625', '3', '87', '196', '2624', '90'); -INSERT INTO cp_tree VALUES ('2626', '4', '88', '196', '2625', '89'); -INSERT INTO cp_tree VALUES ('2627', '2', '92', '196', '2581', '93'); -INSERT INTO cp_tree VALUES ('2628', '1', '1', '197', '0', '98'); -INSERT INTO cp_tree VALUES ('2629', '2', '2', '197', '2628', '27'); -INSERT INTO cp_tree VALUES ('2630', '3', '3', '197', '2629', '10'); -INSERT INTO cp_tree VALUES ('2631', '4', '4', '197', '2630', '5'); -INSERT INTO cp_tree VALUES ('2632', '4', '6', '197', '2630', '7'); -INSERT INTO cp_tree VALUES ('2633', '4', '8', '197', '2630', '9'); -INSERT INTO cp_tree VALUES ('2634', '3', '11', '197', '2629', '18'); -INSERT INTO cp_tree VALUES ('2635', '4', '12', '197', '2634', '13'); -INSERT INTO cp_tree VALUES ('2636', '4', '14', '197', '2634', '15'); -INSERT INTO cp_tree VALUES ('2637', '4', '16', '197', '2634', '17'); -INSERT INTO cp_tree VALUES ('2638', '3', '19', '197', '2629', '26'); -INSERT INTO cp_tree VALUES ('2639', '4', '20', '197', '2638', '21'); -INSERT INTO cp_tree VALUES ('2640', '4', '22', '197', '2638', '23'); -INSERT INTO cp_tree VALUES ('2641', '4', '24', '197', '2638', '25'); -INSERT INTO cp_tree VALUES ('2642', '2', '28', '197', '2628', '41'); -INSERT INTO cp_tree VALUES ('2643', '3', '29', '197', '2642', '30'); -INSERT INTO cp_tree VALUES ('2644', '3', '31', '197', '2642', '32'); -INSERT INTO cp_tree VALUES ('2645', '3', '33', '197', '2642', '34'); -INSERT INTO cp_tree VALUES ('2646', '3', '35', '197', '2642', '36'); -INSERT INTO cp_tree VALUES ('2647', '3', '37', '197', '2642', '38'); -INSERT INTO cp_tree VALUES ('2648', '3', '39', '197', '2642', '40'); -INSERT INTO cp_tree VALUES ('2649', '2', '42', '197', '2628', '45'); -INSERT INTO cp_tree VALUES ('2650', '3', '43', '197', '2649', '44'); -INSERT INTO cp_tree VALUES ('2651', '2', '46', '197', '2628', '49'); -INSERT INTO cp_tree VALUES ('2652', '3', '47', '197', '2651', '48'); -INSERT INTO cp_tree VALUES ('2653', '2', '50', '197', '2628', '53'); -INSERT INTO cp_tree VALUES ('2654', '3', '51', '197', '2653', '52'); -INSERT INTO cp_tree VALUES ('2655', '2', '54', '197', '2628', '59'); -INSERT INTO cp_tree VALUES ('2656', '3', '55', '197', '2655', '56'); -INSERT INTO cp_tree VALUES ('2657', '3', '57', '197', '2655', '58'); -INSERT INTO cp_tree VALUES ('2658', '2', '60', '197', '2628', '63'); -INSERT INTO cp_tree VALUES ('2659', '3', '61', '197', '2658', '62'); -INSERT INTO cp_tree VALUES ('2660', '2', '64', '197', '2628', '67'); -INSERT INTO cp_tree VALUES ('2661', '3', '65', '197', '2660', '66'); -INSERT INTO cp_tree VALUES ('2662', '2', '68', '197', '2628', '79'); -INSERT INTO cp_tree VALUES ('2663', '3', '69', '197', '2662', '72'); -INSERT INTO cp_tree VALUES ('2664', '4', '70', '197', '2663', '71'); -INSERT INTO cp_tree VALUES ('2665', '3', '73', '197', '2662', '74'); -INSERT INTO cp_tree VALUES ('2666', '3', '75', '197', '2662', '76'); -INSERT INTO cp_tree VALUES ('2667', '3', '77', '197', '2662', '78'); -INSERT INTO cp_tree VALUES ('2668', '2', '80', '197', '2628', '89'); -INSERT INTO cp_tree VALUES ('2669', '3', '81', '197', '2668', '84'); -INSERT INTO cp_tree VALUES ('2670', '4', '82', '197', '2669', '83'); -INSERT INTO cp_tree VALUES ('2671', '3', '85', '197', '2668', '88'); -INSERT INTO cp_tree VALUES ('2672', '4', '86', '197', '2671', '87'); -INSERT INTO cp_tree VALUES ('2673', '2', '90', '197', '2628', '95'); -INSERT INTO cp_tree VALUES ('2674', '3', '91', '197', '2673', '94'); -INSERT INTO cp_tree VALUES ('2675', '4', '92', '197', '2674', '93'); -INSERT INTO cp_tree VALUES ('2676', '2', '96', '197', '2628', '97'); -INSERT INTO cp_tree VALUES ('2677', '1', '1', '198', '0', '98'); -INSERT INTO cp_tree VALUES ('2678', '2', '2', '198', '2677', '27'); -INSERT INTO cp_tree VALUES ('2679', '3', '3', '198', '2678', '10'); -INSERT INTO cp_tree VALUES ('2680', '4', '4', '198', '2679', '5'); -INSERT INTO cp_tree VALUES ('2681', '4', '6', '198', '2679', '7'); -INSERT INTO cp_tree VALUES ('2682', '4', '8', '198', '2679', '9'); -INSERT INTO cp_tree VALUES ('2683', '3', '11', '198', '2678', '18'); -INSERT INTO cp_tree VALUES ('2684', '4', '12', '198', '2683', '13'); -INSERT INTO cp_tree VALUES ('2685', '4', '14', '198', '2683', '15'); -INSERT INTO cp_tree VALUES ('2686', '4', '16', '198', '2683', '17'); -INSERT INTO cp_tree VALUES ('2687', '3', '19', '198', '2678', '26'); -INSERT INTO cp_tree VALUES ('2688', '4', '20', '198', '2687', '21'); -INSERT INTO cp_tree VALUES ('2689', '4', '22', '198', '2687', '23'); -INSERT INTO cp_tree VALUES ('2690', '4', '24', '198', '2687', '25'); -INSERT INTO cp_tree VALUES ('2691', '2', '28', '198', '2677', '41'); -INSERT INTO cp_tree VALUES ('2692', '3', '29', '198', '2691', '30'); -INSERT INTO cp_tree VALUES ('2693', '3', '31', '198', '2691', '32'); -INSERT INTO cp_tree VALUES ('2694', '3', '33', '198', '2691', '34'); -INSERT INTO cp_tree VALUES ('2695', '3', '35', '198', '2691', '36'); -INSERT INTO cp_tree VALUES ('2696', '3', '37', '198', '2691', '38'); -INSERT INTO cp_tree VALUES ('2697', '3', '39', '198', '2691', '40'); -INSERT INTO cp_tree VALUES ('2698', '2', '42', '198', '2677', '45'); -INSERT INTO cp_tree VALUES ('2699', '3', '43', '198', '2698', '44'); -INSERT INTO cp_tree VALUES ('2700', '2', '46', '198', '2677', '49'); -INSERT INTO cp_tree VALUES ('2701', '3', '47', '198', '2700', '48'); -INSERT INTO cp_tree VALUES ('2702', '2', '50', '198', '2677', '53'); -INSERT INTO cp_tree VALUES ('2703', '3', '51', '198', '2702', '52'); -INSERT INTO cp_tree VALUES ('2704', '2', '54', '198', '2677', '59'); -INSERT INTO cp_tree VALUES ('2705', '3', '55', '198', '2704', '56'); -INSERT INTO cp_tree VALUES ('2706', '3', '57', '198', '2704', '58'); -INSERT INTO cp_tree VALUES ('2707', '2', '60', '198', '2677', '63'); -INSERT INTO cp_tree VALUES ('2708', '3', '61', '198', '2707', '62'); -INSERT INTO cp_tree VALUES ('2709', '2', '64', '198', '2677', '67'); -INSERT INTO cp_tree VALUES ('2710', '3', '65', '198', '2709', '66'); -INSERT INTO cp_tree VALUES ('2711', '2', '68', '198', '2677', '75'); -INSERT INTO cp_tree VALUES ('2712', '3', '69', '198', '2711', '70'); -INSERT INTO cp_tree VALUES ('2713', '3', '71', '198', '2711', '74'); -INSERT INTO cp_tree VALUES ('2714', '4', '72', '198', '2713', '73'); -INSERT INTO cp_tree VALUES ('2715', '2', '76', '198', '2677', '87'); -INSERT INTO cp_tree VALUES ('2716', '3', '77', '198', '2715', '80'); -INSERT INTO cp_tree VALUES ('2717', '4', '78', '198', '2716', '79'); -INSERT INTO cp_tree VALUES ('2718', '3', '81', '198', '2715', '82'); -INSERT INTO cp_tree VALUES ('2719', '3', '83', '198', '2715', '86'); -INSERT INTO cp_tree VALUES ('2720', '4', '84', '198', '2719', '85'); -INSERT INTO cp_tree VALUES ('2721', '2', '88', '198', '2677', '95'); -INSERT INTO cp_tree VALUES ('2722', '3', '89', '198', '2721', '90'); -INSERT INTO cp_tree VALUES ('2723', '3', '91', '198', '2721', '94'); -INSERT INTO cp_tree VALUES ('2724', '4', '92', '198', '2723', '93'); -INSERT INTO cp_tree VALUES ('2725', '2', '96', '198', '2677', '97'); -INSERT INTO cp_tree VALUES ('2726', '1', '1', '199', '0', '102'); -INSERT INTO cp_tree VALUES ('2727', '2', '2', '199', '2726', '27'); -INSERT INTO cp_tree VALUES ('2728', '3', '3', '199', '2727', '10'); -INSERT INTO cp_tree VALUES ('2729', '4', '4', '199', '2728', '5'); -INSERT INTO cp_tree VALUES ('2730', '4', '6', '199', '2728', '7'); -INSERT INTO cp_tree VALUES ('2731', '4', '8', '199', '2728', '9'); -INSERT INTO cp_tree VALUES ('2732', '3', '11', '199', '2727', '18'); -INSERT INTO cp_tree VALUES ('2733', '4', '12', '199', '2732', '13'); -INSERT INTO cp_tree VALUES ('2734', '4', '14', '199', '2732', '15'); -INSERT INTO cp_tree VALUES ('2735', '4', '16', '199', '2732', '17'); -INSERT INTO cp_tree VALUES ('2736', '3', '19', '199', '2727', '26'); -INSERT INTO cp_tree VALUES ('2737', '4', '20', '199', '2736', '21'); -INSERT INTO cp_tree VALUES ('2738', '4', '22', '199', '2736', '23'); -INSERT INTO cp_tree VALUES ('2739', '4', '24', '199', '2736', '25'); -INSERT INTO cp_tree VALUES ('2740', '2', '28', '199', '2726', '41'); -INSERT INTO cp_tree VALUES ('2741', '3', '29', '199', '2740', '30'); -INSERT INTO cp_tree VALUES ('2742', '3', '31', '199', '2740', '32'); -INSERT INTO cp_tree VALUES ('2743', '3', '33', '199', '2740', '34'); -INSERT INTO cp_tree VALUES ('2744', '3', '35', '199', '2740', '36'); -INSERT INTO cp_tree VALUES ('2745', '3', '37', '199', '2740', '38'); -INSERT INTO cp_tree VALUES ('2746', '3', '39', '199', '2740', '40'); -INSERT INTO cp_tree VALUES ('2747', '2', '42', '199', '2726', '45'); -INSERT INTO cp_tree VALUES ('2748', '3', '43', '199', '2747', '44'); -INSERT INTO cp_tree VALUES ('2749', '2', '46', '199', '2726', '49'); -INSERT INTO cp_tree VALUES ('2750', '3', '47', '199', '2749', '48'); -INSERT INTO cp_tree VALUES ('2751', '2', '50', '199', '2726', '53'); -INSERT INTO cp_tree VALUES ('2752', '3', '51', '199', '2751', '52'); -INSERT INTO cp_tree VALUES ('2753', '2', '54', '199', '2726', '59'); -INSERT INTO cp_tree VALUES ('2754', '3', '55', '199', '2753', '56'); -INSERT INTO cp_tree VALUES ('2755', '3', '57', '199', '2753', '58'); -INSERT INTO cp_tree VALUES ('2756', '2', '60', '199', '2726', '63'); -INSERT INTO cp_tree VALUES ('2757', '3', '61', '199', '2756', '62'); -INSERT INTO cp_tree VALUES ('2758', '2', '64', '199', '2726', '67'); -INSERT INTO cp_tree VALUES ('2759', '3', '65', '199', '2758', '66'); -INSERT INTO cp_tree VALUES ('2760', '2', '68', '199', '2726', '79'); -INSERT INTO cp_tree VALUES ('2761', '3', '69', '199', '2760', '70'); -INSERT INTO cp_tree VALUES ('2762', '3', '71', '199', '2760', '74'); -INSERT INTO cp_tree VALUES ('2763', '4', '72', '199', '2762', '73'); -INSERT INTO cp_tree VALUES ('2764', '3', '75', '199', '2760', '76'); -INSERT INTO cp_tree VALUES ('2765', '3', '77', '199', '2760', '78'); -INSERT INTO cp_tree VALUES ('2766', '2', '80', '199', '2726', '91'); -INSERT INTO cp_tree VALUES ('2767', '3', '81', '199', '2766', '84'); -INSERT INTO cp_tree VALUES ('2768', '4', '82', '199', '2767', '83'); -INSERT INTO cp_tree VALUES ('2769', '3', '85', '199', '2766', '86'); -INSERT INTO cp_tree VALUES ('2770', '3', '87', '199', '2766', '90'); -INSERT INTO cp_tree VALUES ('2771', '4', '88', '199', '2770', '89'); -INSERT INTO cp_tree VALUES ('2772', '2', '92', '199', '2726', '99'); -INSERT INTO cp_tree VALUES ('2773', '3', '93', '199', '2772', '94'); -INSERT INTO cp_tree VALUES ('2774', '3', '95', '199', '2772', '98'); -INSERT INTO cp_tree VALUES ('2775', '4', '96', '199', '2774', '97'); -INSERT INTO cp_tree VALUES ('2776', '2', '100', '199', '2726', '101'); -INSERT INTO cp_tree VALUES ('2777', '1', '1', '200', '0', '82'); -INSERT INTO cp_tree VALUES ('2778', '2', '2', '200', '2777', '27'); -INSERT INTO cp_tree VALUES ('2779', '3', '3', '200', '2778', '10'); -INSERT INTO cp_tree VALUES ('2780', '4', '4', '200', '2779', '5'); -INSERT INTO cp_tree VALUES ('2781', '4', '6', '200', '2779', '7'); -INSERT INTO cp_tree VALUES ('2782', '4', '8', '200', '2779', '9'); -INSERT INTO cp_tree VALUES ('2783', '3', '11', '200', '2778', '18'); -INSERT INTO cp_tree VALUES ('2784', '4', '12', '200', '2783', '13'); -INSERT INTO cp_tree VALUES ('2785', '4', '14', '200', '2783', '15'); -INSERT INTO cp_tree VALUES ('2786', '4', '16', '200', '2783', '17'); -INSERT INTO cp_tree VALUES ('2787', '3', '19', '200', '2778', '26'); -INSERT INTO cp_tree VALUES ('2788', '4', '20', '200', '2787', '21'); -INSERT INTO cp_tree VALUES ('2789', '4', '22', '200', '2787', '23'); -INSERT INTO cp_tree VALUES ('2790', '4', '24', '200', '2787', '25'); -INSERT INTO cp_tree VALUES ('2791', '2', '28', '200', '2777', '41'); -INSERT INTO cp_tree VALUES ('2792', '3', '29', '200', '2791', '30'); -INSERT INTO cp_tree VALUES ('2793', '3', '31', '200', '2791', '32'); -INSERT INTO cp_tree VALUES ('2794', '3', '33', '200', '2791', '34'); -INSERT INTO cp_tree VALUES ('2795', '3', '35', '200', '2791', '36'); -INSERT INTO cp_tree VALUES ('2796', '3', '37', '200', '2791', '38'); -INSERT INTO cp_tree VALUES ('2797', '3', '39', '200', '2791', '40'); -INSERT INTO cp_tree VALUES ('2798', '2', '42', '200', '2777', '45'); -INSERT INTO cp_tree VALUES ('2799', '3', '43', '200', '2798', '44'); -INSERT INTO cp_tree VALUES ('2800', '2', '46', '200', '2777', '49'); -INSERT INTO cp_tree VALUES ('2801', '3', '47', '200', '2800', '48'); -INSERT INTO cp_tree VALUES ('2802', '2', '50', '200', '2777', '53'); -INSERT INTO cp_tree VALUES ('2803', '3', '51', '200', '2802', '52'); -INSERT INTO cp_tree VALUES ('2804', '2', '54', '200', '2777', '59'); -INSERT INTO cp_tree VALUES ('2805', '3', '55', '200', '2804', '56'); -INSERT INTO cp_tree VALUES ('2806', '3', '57', '200', '2804', '58'); -INSERT INTO cp_tree VALUES ('2807', '2', '60', '200', '2777', '63'); -INSERT INTO cp_tree VALUES ('2808', '3', '61', '200', '2807', '62'); -INSERT INTO cp_tree VALUES ('2809', '2', '64', '200', '2777', '67'); -INSERT INTO cp_tree VALUES ('2810', '3', '65', '200', '2809', '66'); -INSERT INTO cp_tree VALUES ('2811', '2', '68', '200', '2777', '79'); -INSERT INTO cp_tree VALUES ('2812', '3', '69', '200', '2811', '74'); -INSERT INTO cp_tree VALUES ('2813', '4', '70', '200', '2812', '71'); -INSERT INTO cp_tree VALUES ('2814', '4', '72', '200', '2812', '73'); -INSERT INTO cp_tree VALUES ('2815', '3', '75', '200', '2811', '76'); -INSERT INTO cp_tree VALUES ('2816', '3', '77', '200', '2811', '78'); -INSERT INTO cp_tree VALUES ('2817', '2', '80', '200', '2777', '81'); -INSERT INTO cp_tree VALUES ('2818', '1', '1', '201', '0', '82'); -INSERT INTO cp_tree VALUES ('2819', '2', '2', '201', '2818', '27'); -INSERT INTO cp_tree VALUES ('2820', '3', '3', '201', '2819', '10'); -INSERT INTO cp_tree VALUES ('2821', '4', '4', '201', '2820', '5'); -INSERT INTO cp_tree VALUES ('2822', '4', '6', '201', '2820', '7'); -INSERT INTO cp_tree VALUES ('2823', '4', '8', '201', '2820', '9'); -INSERT INTO cp_tree VALUES ('2824', '3', '11', '201', '2819', '18'); -INSERT INTO cp_tree VALUES ('2825', '4', '12', '201', '2824', '13'); -INSERT INTO cp_tree VALUES ('2826', '4', '14', '201', '2824', '15'); -INSERT INTO cp_tree VALUES ('2827', '4', '16', '201', '2824', '17'); -INSERT INTO cp_tree VALUES ('2828', '3', '19', '201', '2819', '26'); -INSERT INTO cp_tree VALUES ('2829', '4', '20', '201', '2828', '21'); -INSERT INTO cp_tree VALUES ('2830', '4', '22', '201', '2828', '23'); -INSERT INTO cp_tree VALUES ('2831', '4', '24', '201', '2828', '25'); -INSERT INTO cp_tree VALUES ('2832', '2', '28', '201', '2818', '41'); -INSERT INTO cp_tree VALUES ('2833', '3', '29', '201', '2832', '30'); -INSERT INTO cp_tree VALUES ('2834', '3', '31', '201', '2832', '32'); -INSERT INTO cp_tree VALUES ('2835', '3', '33', '201', '2832', '34'); -INSERT INTO cp_tree VALUES ('2836', '3', '35', '201', '2832', '36'); -INSERT INTO cp_tree VALUES ('2837', '3', '37', '201', '2832', '38'); -INSERT INTO cp_tree VALUES ('2838', '3', '39', '201', '2832', '40'); -INSERT INTO cp_tree VALUES ('2839', '2', '42', '201', '2818', '45'); -INSERT INTO cp_tree VALUES ('2840', '3', '43', '201', '2839', '44'); -INSERT INTO cp_tree VALUES ('2841', '2', '46', '201', '2818', '49'); -INSERT INTO cp_tree VALUES ('2842', '3', '47', '201', '2841', '48'); -INSERT INTO cp_tree VALUES ('2843', '2', '50', '201', '2818', '53'); -INSERT INTO cp_tree VALUES ('2844', '3', '51', '201', '2843', '52'); -INSERT INTO cp_tree VALUES ('2845', '2', '54', '201', '2818', '59'); -INSERT INTO cp_tree VALUES ('2846', '3', '55', '201', '2845', '56'); -INSERT INTO cp_tree VALUES ('2847', '3', '57', '201', '2845', '58'); -INSERT INTO cp_tree VALUES ('2848', '2', '60', '201', '2818', '63'); -INSERT INTO cp_tree VALUES ('2849', '3', '61', '201', '2848', '62'); -INSERT INTO cp_tree VALUES ('2850', '2', '64', '201', '2818', '67'); -INSERT INTO cp_tree VALUES ('2851', '3', '65', '201', '2850', '66'); -INSERT INTO cp_tree VALUES ('2852', '2', '68', '201', '2818', '79'); -INSERT INTO cp_tree VALUES ('2853', '3', '69', '201', '2852', '74'); -INSERT INTO cp_tree VALUES ('2854', '4', '70', '201', '2853', '71'); -INSERT INTO cp_tree VALUES ('2855', '4', '72', '201', '2853', '73'); -INSERT INTO cp_tree VALUES ('2856', '3', '75', '201', '2852', '76'); -INSERT INTO cp_tree VALUES ('2857', '3', '77', '201', '2852', '78'); -INSERT INTO cp_tree VALUES ('2858', '2', '80', '201', '2818', '81'); -INSERT INTO cp_tree VALUES ('2859', '1', '1', '202', '0', '82'); -INSERT INTO cp_tree VALUES ('2860', '2', '2', '202', '2859', '27'); -INSERT INTO cp_tree VALUES ('2861', '3', '3', '202', '2860', '10'); -INSERT INTO cp_tree VALUES ('2862', '4', '4', '202', '2861', '5'); -INSERT INTO cp_tree VALUES ('2863', '4', '6', '202', '2861', '7'); -INSERT INTO cp_tree VALUES ('2864', '4', '8', '202', '2861', '9'); -INSERT INTO cp_tree VALUES ('2865', '3', '11', '202', '2860', '18'); -INSERT INTO cp_tree VALUES ('2866', '4', '12', '202', '2865', '13'); -INSERT INTO cp_tree VALUES ('2867', '4', '14', '202', '2865', '15'); -INSERT INTO cp_tree VALUES ('2868', '4', '16', '202', '2865', '17'); -INSERT INTO cp_tree VALUES ('2869', '3', '19', '202', '2860', '26'); -INSERT INTO cp_tree VALUES ('2870', '4', '20', '202', '2869', '21'); -INSERT INTO cp_tree VALUES ('2871', '4', '22', '202', '2869', '23'); -INSERT INTO cp_tree VALUES ('2872', '4', '24', '202', '2869', '25'); -INSERT INTO cp_tree VALUES ('2873', '2', '28', '202', '2859', '41'); -INSERT INTO cp_tree VALUES ('2874', '3', '29', '202', '2873', '30'); -INSERT INTO cp_tree VALUES ('2875', '3', '31', '202', '2873', '32'); -INSERT INTO cp_tree VALUES ('2876', '3', '33', '202', '2873', '34'); -INSERT INTO cp_tree VALUES ('2877', '3', '35', '202', '2873', '36'); -INSERT INTO cp_tree VALUES ('2878', '3', '37', '202', '2873', '38'); -INSERT INTO cp_tree VALUES ('2879', '3', '39', '202', '2873', '40'); -INSERT INTO cp_tree VALUES ('2880', '2', '42', '202', '2859', '45'); -INSERT INTO cp_tree VALUES ('2881', '3', '43', '202', '2880', '44'); -INSERT INTO cp_tree VALUES ('2882', '2', '46', '202', '2859', '49'); -INSERT INTO cp_tree VALUES ('2883', '3', '47', '202', '2882', '48'); -INSERT INTO cp_tree VALUES ('2884', '2', '50', '202', '2859', '53'); -INSERT INTO cp_tree VALUES ('2885', '3', '51', '202', '2884', '52'); -INSERT INTO cp_tree VALUES ('2886', '2', '54', '202', '2859', '59'); -INSERT INTO cp_tree VALUES ('2887', '3', '55', '202', '2886', '56'); -INSERT INTO cp_tree VALUES ('2888', '3', '57', '202', '2886', '58'); -INSERT INTO cp_tree VALUES ('2889', '2', '60', '202', '2859', '63'); -INSERT INTO cp_tree VALUES ('2890', '3', '61', '202', '2889', '62'); -INSERT INTO cp_tree VALUES ('2891', '2', '64', '202', '2859', '67'); -INSERT INTO cp_tree VALUES ('2892', '3', '65', '202', '2891', '66'); -INSERT INTO cp_tree VALUES ('2893', '2', '68', '202', '2859', '79'); -INSERT INTO cp_tree VALUES ('2894', '3', '69', '202', '2893', '74'); -INSERT INTO cp_tree VALUES ('2895', '4', '70', '202', '2894', '71'); -INSERT INTO cp_tree VALUES ('2896', '4', '72', '202', '2894', '73'); -INSERT INTO cp_tree VALUES ('2897', '3', '75', '202', '2893', '76'); -INSERT INTO cp_tree VALUES ('2898', '3', '77', '202', '2893', '78'); -INSERT INTO cp_tree VALUES ('2899', '2', '80', '202', '2859', '81'); -INSERT INTO cp_tree VALUES ('2900', '1', '1', '203', '0', '100'); -INSERT INTO cp_tree VALUES ('2901', '2', '2', '203', '2900', '35'); -INSERT INTO cp_tree VALUES ('2902', '3', '3', '203', '2901', '10'); -INSERT INTO cp_tree VALUES ('2903', '4', '4', '203', '2902', '5'); -INSERT INTO cp_tree VALUES ('2904', '4', '6', '203', '2902', '7'); -INSERT INTO cp_tree VALUES ('2905', '4', '8', '203', '2902', '9'); -INSERT INTO cp_tree VALUES ('2906', '3', '11', '203', '2901', '18'); -INSERT INTO cp_tree VALUES ('2907', '4', '12', '203', '2906', '13'); -INSERT INTO cp_tree VALUES ('2908', '4', '14', '203', '2906', '15'); -INSERT INTO cp_tree VALUES ('2909', '4', '16', '203', '2906', '17'); -INSERT INTO cp_tree VALUES ('2910', '3', '19', '203', '2901', '26'); -INSERT INTO cp_tree VALUES ('2911', '4', '20', '203', '2910', '21'); -INSERT INTO cp_tree VALUES ('2912', '4', '22', '203', '2910', '23'); -INSERT INTO cp_tree VALUES ('2913', '4', '24', '203', '2910', '25'); -INSERT INTO cp_tree VALUES ('2914', '3', '27', '203', '2901', '34'); -INSERT INTO cp_tree VALUES ('2915', '4', '28', '203', '2914', '29'); -INSERT INTO cp_tree VALUES ('2916', '4', '30', '203', '2914', '31'); -INSERT INTO cp_tree VALUES ('2917', '4', '32', '203', '2914', '33'); -INSERT INTO cp_tree VALUES ('2918', '2', '36', '203', '2900', '49'); -INSERT INTO cp_tree VALUES ('2919', '3', '37', '203', '2918', '38'); -INSERT INTO cp_tree VALUES ('2920', '3', '39', '203', '2918', '40'); -INSERT INTO cp_tree VALUES ('2921', '3', '41', '203', '2918', '42'); -INSERT INTO cp_tree VALUES ('2922', '3', '43', '203', '2918', '44'); -INSERT INTO cp_tree VALUES ('2923', '3', '45', '203', '2918', '46'); -INSERT INTO cp_tree VALUES ('2924', '3', '47', '203', '2918', '48'); -INSERT INTO cp_tree VALUES ('2925', '2', '50', '203', '2900', '53'); -INSERT INTO cp_tree VALUES ('2926', '3', '51', '203', '2925', '52'); -INSERT INTO cp_tree VALUES ('2927', '2', '54', '203', '2900', '57'); -INSERT INTO cp_tree VALUES ('2928', '3', '55', '203', '2927', '56'); -INSERT INTO cp_tree VALUES ('2929', '2', '58', '203', '2900', '61'); -INSERT INTO cp_tree VALUES ('2930', '3', '59', '203', '2929', '60'); -INSERT INTO cp_tree VALUES ('2931', '2', '62', '203', '2900', '67'); -INSERT INTO cp_tree VALUES ('2932', '3', '63', '203', '2931', '64'); -INSERT INTO cp_tree VALUES ('2933', '3', '65', '203', '2931', '66'); -INSERT INTO cp_tree VALUES ('2934', '2', '68', '203', '2900', '71'); -INSERT INTO cp_tree VALUES ('2935', '3', '69', '203', '2934', '70'); -INSERT INTO cp_tree VALUES ('2936', '2', '72', '203', '2900', '75'); -INSERT INTO cp_tree VALUES ('2937', '3', '73', '203', '2936', '74'); -INSERT INTO cp_tree VALUES ('2938', '2', '76', '203', '2900', '83'); -INSERT INTO cp_tree VALUES ('2939', '3', '77', '203', '2938', '78'); -INSERT INTO cp_tree VALUES ('2940', '3', '79', '203', '2938', '82'); -INSERT INTO cp_tree VALUES ('2941', '4', '80', '203', '2940', '81'); -INSERT INTO cp_tree VALUES ('2942', '2', '84', '203', '2900', '97'); -INSERT INTO cp_tree VALUES ('2943', '3', '85', '203', '2942', '90'); -INSERT INTO cp_tree VALUES ('2944', '4', '86', '203', '2943', '87'); -INSERT INTO cp_tree VALUES ('2945', '4', '88', '203', '2943', '89'); -INSERT INTO cp_tree VALUES ('2946', '3', '91', '203', '2942', '92'); -INSERT INTO cp_tree VALUES ('2947', '3', '93', '203', '2942', '96'); -INSERT INTO cp_tree VALUES ('2948', '4', '94', '203', '2947', '95'); -INSERT INTO cp_tree VALUES ('2949', '2', '98', '203', '2900', '99'); -INSERT INTO cp_tree VALUES ('2950', '1', '1', '204', '0', '100'); -INSERT INTO cp_tree VALUES ('2951', '2', '2', '204', '2950', '35'); -INSERT INTO cp_tree VALUES ('2952', '3', '3', '204', '2951', '10'); -INSERT INTO cp_tree VALUES ('2953', '4', '4', '204', '2952', '5'); -INSERT INTO cp_tree VALUES ('2954', '4', '6', '204', '2952', '7'); -INSERT INTO cp_tree VALUES ('2955', '4', '8', '204', '2952', '9'); -INSERT INTO cp_tree VALUES ('2956', '3', '11', '204', '2951', '18'); -INSERT INTO cp_tree VALUES ('2957', '4', '12', '204', '2956', '13'); -INSERT INTO cp_tree VALUES ('2958', '4', '14', '204', '2956', '15'); -INSERT INTO cp_tree VALUES ('2959', '4', '16', '204', '2956', '17'); -INSERT INTO cp_tree VALUES ('2960', '3', '19', '204', '2951', '26'); -INSERT INTO cp_tree VALUES ('2961', '4', '20', '204', '2960', '21'); -INSERT INTO cp_tree VALUES ('2962', '4', '22', '204', '2960', '23'); -INSERT INTO cp_tree VALUES ('2963', '4', '24', '204', '2960', '25'); -INSERT INTO cp_tree VALUES ('2964', '3', '27', '204', '2951', '34'); -INSERT INTO cp_tree VALUES ('2965', '4', '28', '204', '2964', '29'); -INSERT INTO cp_tree VALUES ('2966', '4', '30', '204', '2964', '31'); -INSERT INTO cp_tree VALUES ('2967', '4', '32', '204', '2964', '33'); -INSERT INTO cp_tree VALUES ('2968', '2', '36', '204', '2950', '49'); -INSERT INTO cp_tree VALUES ('2969', '3', '37', '204', '2968', '38'); -INSERT INTO cp_tree VALUES ('2970', '3', '39', '204', '2968', '40'); -INSERT INTO cp_tree VALUES ('2971', '3', '41', '204', '2968', '42'); -INSERT INTO cp_tree VALUES ('2972', '3', '43', '204', '2968', '44'); -INSERT INTO cp_tree VALUES ('2973', '3', '45', '204', '2968', '46'); -INSERT INTO cp_tree VALUES ('2974', '3', '47', '204', '2968', '48'); -INSERT INTO cp_tree VALUES ('2975', '2', '50', '204', '2950', '53'); -INSERT INTO cp_tree VALUES ('2976', '3', '51', '204', '2975', '52'); -INSERT INTO cp_tree VALUES ('2977', '2', '54', '204', '2950', '57'); -INSERT INTO cp_tree VALUES ('2978', '3', '55', '204', '2977', '56'); -INSERT INTO cp_tree VALUES ('2979', '2', '58', '204', '2950', '61'); -INSERT INTO cp_tree VALUES ('2980', '3', '59', '204', '2979', '60'); -INSERT INTO cp_tree VALUES ('2981', '2', '62', '204', '2950', '67'); -INSERT INTO cp_tree VALUES ('2982', '3', '63', '204', '2981', '64'); -INSERT INTO cp_tree VALUES ('2983', '3', '65', '204', '2981', '66'); -INSERT INTO cp_tree VALUES ('2984', '2', '68', '204', '2950', '71'); -INSERT INTO cp_tree VALUES ('2985', '3', '69', '204', '2984', '70'); -INSERT INTO cp_tree VALUES ('2986', '2', '72', '204', '2950', '75'); -INSERT INTO cp_tree VALUES ('2987', '3', '73', '204', '2986', '74'); -INSERT INTO cp_tree VALUES ('2988', '2', '76', '204', '2950', '83'); -INSERT INTO cp_tree VALUES ('2989', '3', '77', '204', '2988', '78'); -INSERT INTO cp_tree VALUES ('2990', '3', '79', '204', '2988', '82'); -INSERT INTO cp_tree VALUES ('2991', '4', '80', '204', '2990', '81'); -INSERT INTO cp_tree VALUES ('2992', '2', '84', '204', '2950', '97'); -INSERT INTO cp_tree VALUES ('2993', '3', '85', '204', '2992', '90'); -INSERT INTO cp_tree VALUES ('2994', '4', '86', '204', '2993', '87'); -INSERT INTO cp_tree VALUES ('2995', '4', '88', '204', '2993', '89'); -INSERT INTO cp_tree VALUES ('2996', '3', '91', '204', '2992', '92'); -INSERT INTO cp_tree VALUES ('2997', '3', '93', '204', '2992', '96'); -INSERT INTO cp_tree VALUES ('2998', '4', '94', '204', '2997', '95'); -INSERT INTO cp_tree VALUES ('2999', '2', '98', '204', '2950', '99'); -INSERT INTO cp_tree VALUES ('3000', '1', '1', '205', '0', '100'); -INSERT INTO cp_tree VALUES ('3001', '2', '2', '205', '3000', '35'); -INSERT INTO cp_tree VALUES ('3002', '3', '3', '205', '3001', '10'); -INSERT INTO cp_tree VALUES ('3003', '4', '4', '205', '3002', '5'); -INSERT INTO cp_tree VALUES ('3004', '4', '6', '205', '3002', '7'); -INSERT INTO cp_tree VALUES ('3005', '4', '8', '205', '3002', '9'); -INSERT INTO cp_tree VALUES ('3006', '3', '11', '205', '3001', '18'); -INSERT INTO cp_tree VALUES ('3007', '4', '12', '205', '3006', '13'); -INSERT INTO cp_tree VALUES ('3008', '4', '14', '205', '3006', '15'); -INSERT INTO cp_tree VALUES ('3009', '4', '16', '205', '3006', '17'); -INSERT INTO cp_tree VALUES ('3010', '3', '19', '205', '3001', '26'); -INSERT INTO cp_tree VALUES ('3011', '4', '20', '205', '3010', '21'); -INSERT INTO cp_tree VALUES ('3012', '4', '22', '205', '3010', '23'); -INSERT INTO cp_tree VALUES ('3013', '4', '24', '205', '3010', '25'); -INSERT INTO cp_tree VALUES ('3014', '3', '27', '205', '3001', '34'); -INSERT INTO cp_tree VALUES ('3015', '4', '28', '205', '3014', '29'); -INSERT INTO cp_tree VALUES ('3016', '4', '30', '205', '3014', '31'); -INSERT INTO cp_tree VALUES ('3017', '4', '32', '205', '3014', '33'); -INSERT INTO cp_tree VALUES ('3018', '2', '36', '205', '3000', '49'); -INSERT INTO cp_tree VALUES ('3019', '3', '37', '205', '3018', '38'); -INSERT INTO cp_tree VALUES ('3020', '3', '39', '205', '3018', '40'); -INSERT INTO cp_tree VALUES ('3021', '3', '41', '205', '3018', '42'); -INSERT INTO cp_tree VALUES ('3022', '3', '43', '205', '3018', '44'); -INSERT INTO cp_tree VALUES ('3023', '3', '45', '205', '3018', '46'); -INSERT INTO cp_tree VALUES ('3024', '3', '47', '205', '3018', '48'); -INSERT INTO cp_tree VALUES ('3025', '2', '50', '205', '3000', '53'); -INSERT INTO cp_tree VALUES ('3026', '3', '51', '205', '3025', '52'); -INSERT INTO cp_tree VALUES ('3027', '2', '54', '205', '3000', '57'); -INSERT INTO cp_tree VALUES ('3028', '3', '55', '205', '3027', '56'); -INSERT INTO cp_tree VALUES ('3029', '2', '58', '205', '3000', '61'); -INSERT INTO cp_tree VALUES ('3030', '3', '59', '205', '3029', '60'); -INSERT INTO cp_tree VALUES ('3031', '2', '62', '205', '3000', '67'); -INSERT INTO cp_tree VALUES ('3032', '3', '63', '205', '3031', '64'); -INSERT INTO cp_tree VALUES ('3033', '3', '65', '205', '3031', '66'); -INSERT INTO cp_tree VALUES ('3034', '2', '68', '205', '3000', '71'); -INSERT INTO cp_tree VALUES ('3035', '3', '69', '205', '3034', '70'); -INSERT INTO cp_tree VALUES ('3036', '2', '72', '205', '3000', '75'); -INSERT INTO cp_tree VALUES ('3037', '3', '73', '205', '3036', '74'); -INSERT INTO cp_tree VALUES ('3038', '2', '76', '205', '3000', '83'); -INSERT INTO cp_tree VALUES ('3039', '3', '77', '205', '3038', '78'); -INSERT INTO cp_tree VALUES ('3040', '3', '79', '205', '3038', '82'); -INSERT INTO cp_tree VALUES ('3041', '4', '80', '205', '3040', '81'); -INSERT INTO cp_tree VALUES ('3042', '2', '84', '205', '3000', '97'); -INSERT INTO cp_tree VALUES ('3043', '3', '85', '205', '3042', '90'); -INSERT INTO cp_tree VALUES ('3044', '4', '86', '205', '3043', '87'); -INSERT INTO cp_tree VALUES ('3045', '4', '88', '205', '3043', '89'); -INSERT INTO cp_tree VALUES ('3046', '3', '91', '205', '3042', '92'); -INSERT INTO cp_tree VALUES ('3047', '3', '93', '205', '3042', '96'); -INSERT INTO cp_tree VALUES ('3048', '4', '94', '205', '3047', '95'); -INSERT INTO cp_tree VALUES ('3049', '2', '98', '205', '3000', '99'); -INSERT INTO cp_tree VALUES ('3050', '1', '1', '206', '0', '138'); -INSERT INTO cp_tree VALUES ('3051', '2', '2', '206', '3050', '27'); -INSERT INTO cp_tree VALUES ('3052', '3', '3', '206', '3051', '10'); -INSERT INTO cp_tree VALUES ('3053', '4', '4', '206', '3052', '5'); -INSERT INTO cp_tree VALUES ('3054', '4', '6', '206', '3052', '7'); -INSERT INTO cp_tree VALUES ('3055', '4', '8', '206', '3052', '9'); -INSERT INTO cp_tree VALUES ('3056', '3', '11', '206', '3051', '18'); -INSERT INTO cp_tree VALUES ('3057', '4', '12', '206', '3056', '13'); -INSERT INTO cp_tree VALUES ('3058', '4', '14', '206', '3056', '15'); -INSERT INTO cp_tree VALUES ('3059', '4', '16', '206', '3056', '17'); -INSERT INTO cp_tree VALUES ('3060', '3', '19', '206', '3051', '26'); -INSERT INTO cp_tree VALUES ('3061', '4', '20', '206', '3060', '21'); -INSERT INTO cp_tree VALUES ('3062', '4', '22', '206', '3060', '23'); -INSERT INTO cp_tree VALUES ('3063', '4', '24', '206', '3060', '25'); -INSERT INTO cp_tree VALUES ('3064', '2', '28', '206', '3050', '41'); -INSERT INTO cp_tree VALUES ('3065', '3', '29', '206', '3064', '30'); -INSERT INTO cp_tree VALUES ('3066', '3', '31', '206', '3064', '32'); -INSERT INTO cp_tree VALUES ('3067', '3', '33', '206', '3064', '34'); -INSERT INTO cp_tree VALUES ('3068', '3', '35', '206', '3064', '36'); -INSERT INTO cp_tree VALUES ('3069', '3', '37', '206', '3064', '38'); -INSERT INTO cp_tree VALUES ('3070', '3', '39', '206', '3064', '40'); -INSERT INTO cp_tree VALUES ('3071', '2', '42', '206', '3050', '45'); -INSERT INTO cp_tree VALUES ('3072', '3', '43', '206', '3071', '44'); -INSERT INTO cp_tree VALUES ('3073', '2', '46', '206', '3050', '49'); -INSERT INTO cp_tree VALUES ('3074', '3', '47', '206', '3073', '48'); -INSERT INTO cp_tree VALUES ('3075', '2', '50', '206', '3050', '53'); -INSERT INTO cp_tree VALUES ('3076', '3', '51', '206', '3075', '52'); -INSERT INTO cp_tree VALUES ('3077', '2', '54', '206', '3050', '59'); -INSERT INTO cp_tree VALUES ('3078', '3', '55', '206', '3077', '56'); -INSERT INTO cp_tree VALUES ('3079', '3', '57', '206', '3077', '58'); -INSERT INTO cp_tree VALUES ('3080', '2', '60', '206', '3050', '63'); -INSERT INTO cp_tree VALUES ('3081', '3', '61', '206', '3080', '62'); -INSERT INTO cp_tree VALUES ('3082', '2', '64', '206', '3050', '67'); -INSERT INTO cp_tree VALUES ('3083', '3', '65', '206', '3082', '66'); -INSERT INTO cp_tree VALUES ('3084', '2', '68', '206', '3050', '87'); -INSERT INTO cp_tree VALUES ('3085', '3', '69', '206', '3084', '70'); -INSERT INTO cp_tree VALUES ('3086', '3', '71', '206', '3084', '74'); -INSERT INTO cp_tree VALUES ('3087', '4', '72', '206', '3086', '73'); -INSERT INTO cp_tree VALUES ('3088', '3', '75', '206', '3084', '78'); -INSERT INTO cp_tree VALUES ('3089', '4', '76', '206', '3088', '77'); -INSERT INTO cp_tree VALUES ('3090', '3', '79', '206', '3084', '82'); -INSERT INTO cp_tree VALUES ('3091', '4', '80', '206', '3090', '81'); -INSERT INTO cp_tree VALUES ('3092', '3', '83', '206', '3084', '86'); -INSERT INTO cp_tree VALUES ('3093', '4', '84', '206', '3092', '85'); -INSERT INTO cp_tree VALUES ('3094', '2', '88', '206', '3050', '111'); -INSERT INTO cp_tree VALUES ('3095', '3', '89', '206', '3094', '90'); -INSERT INTO cp_tree VALUES ('3096', '3', '91', '206', '3094', '94'); -INSERT INTO cp_tree VALUES ('3097', '4', '92', '206', '3096', '93'); -INSERT INTO cp_tree VALUES ('3098', '3', '95', '206', '3094', '98'); -INSERT INTO cp_tree VALUES ('3099', '4', '96', '206', '3098', '97'); -INSERT INTO cp_tree VALUES ('3100', '3', '99', '206', '3094', '102'); -INSERT INTO cp_tree VALUES ('3101', '4', '100', '206', '3100', '101'); -INSERT INTO cp_tree VALUES ('3102', '3', '103', '206', '3094', '106'); -INSERT INTO cp_tree VALUES ('3103', '4', '104', '206', '3102', '105'); -INSERT INTO cp_tree VALUES ('3104', '3', '107', '206', '3094', '110'); -INSERT INTO cp_tree VALUES ('3105', '4', '108', '206', '3104', '109'); -INSERT INTO cp_tree VALUES ('3106', '2', '112', '206', '3050', '135'); -INSERT INTO cp_tree VALUES ('3107', '3', '113', '206', '3106', '114'); -INSERT INTO cp_tree VALUES ('3108', '3', '115', '206', '3106', '118'); -INSERT INTO cp_tree VALUES ('3109', '4', '116', '206', '3108', '117'); -INSERT INTO cp_tree VALUES ('3110', '3', '119', '206', '3106', '122'); -INSERT INTO cp_tree VALUES ('3111', '4', '120', '206', '3110', '121'); -INSERT INTO cp_tree VALUES ('3112', '3', '123', '206', '3106', '126'); -INSERT INTO cp_tree VALUES ('3113', '4', '124', '206', '3112', '125'); -INSERT INTO cp_tree VALUES ('3114', '3', '127', '206', '3106', '130'); -INSERT INTO cp_tree VALUES ('3115', '4', '128', '206', '3114', '129'); -INSERT INTO cp_tree VALUES ('3116', '3', '131', '206', '3106', '134'); -INSERT INTO cp_tree VALUES ('3117', '4', '132', '206', '3116', '133'); -INSERT INTO cp_tree VALUES ('3118', '2', '136', '206', '3050', '137'); -INSERT INTO cp_tree VALUES ('3119', '1', '1', '207', '0', '150'); -INSERT INTO cp_tree VALUES ('3120', '2', '2', '207', '3119', '35'); -INSERT INTO cp_tree VALUES ('3121', '3', '3', '207', '3120', '10'); -INSERT INTO cp_tree VALUES ('3122', '4', '4', '207', '3121', '5'); -INSERT INTO cp_tree VALUES ('3123', '4', '6', '207', '3121', '7'); -INSERT INTO cp_tree VALUES ('3124', '4', '8', '207', '3121', '9'); -INSERT INTO cp_tree VALUES ('3125', '3', '11', '207', '3120', '18'); -INSERT INTO cp_tree VALUES ('3126', '4', '12', '207', '3125', '13'); -INSERT INTO cp_tree VALUES ('3127', '4', '14', '207', '3125', '15'); -INSERT INTO cp_tree VALUES ('3128', '4', '16', '207', '3125', '17'); -INSERT INTO cp_tree VALUES ('3129', '3', '19', '207', '3120', '26'); -INSERT INTO cp_tree VALUES ('3130', '4', '20', '207', '3129', '21'); -INSERT INTO cp_tree VALUES ('3131', '4', '22', '207', '3129', '23'); -INSERT INTO cp_tree VALUES ('3132', '4', '24', '207', '3129', '25'); -INSERT INTO cp_tree VALUES ('3133', '3', '27', '207', '3120', '34'); -INSERT INTO cp_tree VALUES ('3134', '4', '28', '207', '3133', '29'); -INSERT INTO cp_tree VALUES ('3135', '4', '30', '207', '3133', '31'); -INSERT INTO cp_tree VALUES ('3136', '4', '32', '207', '3133', '33'); -INSERT INTO cp_tree VALUES ('3137', '2', '36', '207', '3119', '49'); -INSERT INTO cp_tree VALUES ('3138', '3', '37', '207', '3137', '38'); -INSERT INTO cp_tree VALUES ('3139', '3', '39', '207', '3137', '40'); -INSERT INTO cp_tree VALUES ('3140', '3', '41', '207', '3137', '42'); -INSERT INTO cp_tree VALUES ('3141', '3', '43', '207', '3137', '44'); -INSERT INTO cp_tree VALUES ('3142', '3', '45', '207', '3137', '46'); -INSERT INTO cp_tree VALUES ('3143', '3', '47', '207', '3137', '48'); -INSERT INTO cp_tree VALUES ('3144', '2', '50', '207', '3119', '53'); -INSERT INTO cp_tree VALUES ('3145', '3', '51', '207', '3144', '52'); -INSERT INTO cp_tree VALUES ('3146', '2', '54', '207', '3119', '57'); -INSERT INTO cp_tree VALUES ('3147', '3', '55', '207', '3146', '56'); -INSERT INTO cp_tree VALUES ('3148', '2', '58', '207', '3119', '61'); -INSERT INTO cp_tree VALUES ('3149', '3', '59', '207', '3148', '60'); -INSERT INTO cp_tree VALUES ('3150', '2', '62', '207', '3119', '67'); -INSERT INTO cp_tree VALUES ('3151', '3', '63', '207', '3150', '64'); -INSERT INTO cp_tree VALUES ('3152', '3', '65', '207', '3150', '66'); -INSERT INTO cp_tree VALUES ('3153', '2', '68', '207', '3119', '71'); -INSERT INTO cp_tree VALUES ('3154', '3', '69', '207', '3153', '70'); -INSERT INTO cp_tree VALUES ('3155', '2', '72', '207', '3119', '75'); -INSERT INTO cp_tree VALUES ('3156', '3', '73', '207', '3155', '74'); -INSERT INTO cp_tree VALUES ('3157', '2', '76', '207', '3119', '95'); -INSERT INTO cp_tree VALUES ('3158', '3', '77', '207', '3157', '78'); -INSERT INTO cp_tree VALUES ('3159', '3', '79', '207', '3157', '80'); -INSERT INTO cp_tree VALUES ('3160', '3', '81', '207', '3157', '82'); -INSERT INTO cp_tree VALUES ('3161', '3', '83', '207', '3157', '84'); -INSERT INTO cp_tree VALUES ('3162', '3', '85', '207', '3157', '86'); -INSERT INTO cp_tree VALUES ('3163', '3', '87', '207', '3157', '90'); -INSERT INTO cp_tree VALUES ('3164', '4', '88', '207', '3163', '89'); -INSERT INTO cp_tree VALUES ('3165', '3', '91', '207', '3157', '94'); -INSERT INTO cp_tree VALUES ('3166', '4', '92', '207', '3165', '93'); -INSERT INTO cp_tree VALUES ('3167', '2', '96', '207', '3119', '113'); -INSERT INTO cp_tree VALUES ('3168', '3', '97', '207', '3167', '100'); -INSERT INTO cp_tree VALUES ('3169', '4', '98', '207', '3168', '99'); -INSERT INTO cp_tree VALUES ('3170', '3', '101', '207', '3167', '102'); -INSERT INTO cp_tree VALUES ('3171', '3', '103', '207', '3167', '104'); -INSERT INTO cp_tree VALUES ('3172', '3', '105', '207', '3167', '106'); -INSERT INTO cp_tree VALUES ('3173', '3', '107', '207', '3167', '110'); -INSERT INTO cp_tree VALUES ('3174', '4', '108', '207', '3173', '109'); -INSERT INTO cp_tree VALUES ('3175', '3', '111', '207', '3167', '112'); -INSERT INTO cp_tree VALUES ('3176', '2', '114', '207', '3119', '133'); -INSERT INTO cp_tree VALUES ('3177', '3', '115', '207', '3176', '116'); -INSERT INTO cp_tree VALUES ('3178', '3', '117', '207', '3176', '118'); -INSERT INTO cp_tree VALUES ('3179', '3', '119', '207', '3176', '122'); -INSERT INTO cp_tree VALUES ('3180', '4', '120', '207', '3179', '121'); -INSERT INTO cp_tree VALUES ('3181', '3', '123', '207', '3176', '126'); -INSERT INTO cp_tree VALUES ('3182', '4', '124', '207', '3181', '125'); -INSERT INTO cp_tree VALUES ('3183', '3', '127', '207', '3176', '130'); -INSERT INTO cp_tree VALUES ('3184', '4', '128', '207', '3183', '129'); -INSERT INTO cp_tree VALUES ('3185', '3', '131', '207', '3176', '132'); -INSERT INTO cp_tree VALUES ('3186', '2', '134', '207', '3119', '147'); -INSERT INTO cp_tree VALUES ('3187', '3', '135', '207', '3186', '136'); -INSERT INTO cp_tree VALUES ('3188', '3', '137', '207', '3186', '142'); -INSERT INTO cp_tree VALUES ('3189', '4', '138', '207', '3188', '139'); -INSERT INTO cp_tree VALUES ('3190', '4', '140', '207', '3188', '141'); -INSERT INTO cp_tree VALUES ('3191', '3', '143', '207', '3186', '146'); -INSERT INTO cp_tree VALUES ('3192', '4', '144', '207', '3191', '145'); -INSERT INTO cp_tree VALUES ('3193', '2', '148', '207', '3119', '149'); -INSERT INTO cp_tree VALUES ('3194', '1', '1', '208', '0', '144'); -INSERT INTO cp_tree VALUES ('3195', '2', '2', '208', '3194', '53'); -INSERT INTO cp_tree VALUES ('3196', '3', '3', '208', '3195', '10'); -INSERT INTO cp_tree VALUES ('3197', '4', '4', '208', '3196', '5'); -INSERT INTO cp_tree VALUES ('3198', '4', '6', '208', '3196', '7'); -INSERT INTO cp_tree VALUES ('3199', '4', '8', '208', '3196', '9'); -INSERT INTO cp_tree VALUES ('3200', '3', '11', '208', '3195', '18'); -INSERT INTO cp_tree VALUES ('3201', '4', '12', '208', '3200', '13'); -INSERT INTO cp_tree VALUES ('3202', '4', '14', '208', '3200', '15'); -INSERT INTO cp_tree VALUES ('3203', '4', '16', '208', '3200', '17'); -INSERT INTO cp_tree VALUES ('3204', '3', '19', '208', '3195', '36'); -INSERT INTO cp_tree VALUES ('3205', '4', '20', '208', '3204', '27'); -INSERT INTO cp_tree VALUES ('3206', '5', '21', '208', '3205', '22'); -INSERT INTO cp_tree VALUES ('3207', '5', '23', '208', '3205', '24'); -INSERT INTO cp_tree VALUES ('3208', '5', '25', '208', '3205', '26'); -INSERT INTO cp_tree VALUES ('3209', '4', '28', '208', '3204', '35'); -INSERT INTO cp_tree VALUES ('3210', '5', '29', '208', '3209', '30'); -INSERT INTO cp_tree VALUES ('3211', '5', '31', '208', '3209', '32'); -INSERT INTO cp_tree VALUES ('3212', '5', '33', '208', '3209', '34'); -INSERT INTO cp_tree VALUES ('3213', '3', '37', '208', '3195', '44'); -INSERT INTO cp_tree VALUES ('3214', '4', '38', '208', '3213', '39'); -INSERT INTO cp_tree VALUES ('3215', '4', '40', '208', '3213', '41'); -INSERT INTO cp_tree VALUES ('3216', '4', '42', '208', '3213', '43'); -INSERT INTO cp_tree VALUES ('3217', '3', '45', '208', '3195', '52'); -INSERT INTO cp_tree VALUES ('3218', '4', '46', '208', '3217', '47'); -INSERT INTO cp_tree VALUES ('3219', '4', '48', '208', '3217', '49'); -INSERT INTO cp_tree VALUES ('3220', '4', '50', '208', '3217', '51'); -INSERT INTO cp_tree VALUES ('3221', '2', '54', '208', '3194', '67'); -INSERT INTO cp_tree VALUES ('3222', '3', '55', '208', '3221', '56'); -INSERT INTO cp_tree VALUES ('3223', '3', '57', '208', '3221', '58'); -INSERT INTO cp_tree VALUES ('3224', '3', '59', '208', '3221', '60'); -INSERT INTO cp_tree VALUES ('3225', '3', '61', '208', '3221', '62'); -INSERT INTO cp_tree VALUES ('3226', '3', '63', '208', '3221', '64'); -INSERT INTO cp_tree VALUES ('3227', '3', '65', '208', '3221', '66'); -INSERT INTO cp_tree VALUES ('3228', '2', '68', '208', '3194', '71'); -INSERT INTO cp_tree VALUES ('3229', '3', '69', '208', '3228', '70'); -INSERT INTO cp_tree VALUES ('3230', '2', '72', '208', '3194', '75'); -INSERT INTO cp_tree VALUES ('3231', '3', '73', '208', '3230', '74'); -INSERT INTO cp_tree VALUES ('3232', '2', '76', '208', '3194', '79'); -INSERT INTO cp_tree VALUES ('3233', '3', '77', '208', '3232', '78'); -INSERT INTO cp_tree VALUES ('3234', '2', '80', '208', '3194', '85'); -INSERT INTO cp_tree VALUES ('3235', '3', '81', '208', '3234', '82'); -INSERT INTO cp_tree VALUES ('3236', '3', '83', '208', '3234', '84'); -INSERT INTO cp_tree VALUES ('3237', '2', '86', '208', '3194', '89'); -INSERT INTO cp_tree VALUES ('3238', '3', '87', '208', '3237', '88'); -INSERT INTO cp_tree VALUES ('3239', '2', '90', '208', '3194', '93'); -INSERT INTO cp_tree VALUES ('3240', '3', '91', '208', '3239', '92'); -INSERT INTO cp_tree VALUES ('3241', '2', '94', '208', '3194', '99'); -INSERT INTO cp_tree VALUES ('3242', '3', '95', '208', '3241', '98'); -INSERT INTO cp_tree VALUES ('3243', '4', '96', '208', '3242', '97'); -INSERT INTO cp_tree VALUES ('3244', '2', '100', '208', '3194', '105'); -INSERT INTO cp_tree VALUES ('3245', '3', '101', '208', '3244', '104'); -INSERT INTO cp_tree VALUES ('3246', '4', '102', '208', '3245', '103'); -INSERT INTO cp_tree VALUES ('3247', '2', '106', '208', '3194', '111'); -INSERT INTO cp_tree VALUES ('3248', '3', '107', '208', '3247', '110'); -INSERT INTO cp_tree VALUES ('3249', '4', '108', '208', '3248', '109'); -INSERT INTO cp_tree VALUES ('3250', '2', '112', '208', '3194', '117'); -INSERT INTO cp_tree VALUES ('3251', '3', '113', '208', '3250', '116'); -INSERT INTO cp_tree VALUES ('3252', '4', '114', '208', '3251', '115'); -INSERT INTO cp_tree VALUES ('3253', '2', '118', '208', '3194', '127'); -INSERT INTO cp_tree VALUES ('3254', '3', '119', '208', '3253', '122'); -INSERT INTO cp_tree VALUES ('3255', '4', '120', '208', '3254', '121'); -INSERT INTO cp_tree VALUES ('3256', '3', '123', '208', '3253', '126'); -INSERT INTO cp_tree VALUES ('3257', '4', '124', '208', '3256', '125'); -INSERT INTO cp_tree VALUES ('3258', '2', '128', '208', '3194', '141'); -INSERT INTO cp_tree VALUES ('3259', '3', '129', '208', '3258', '132'); -INSERT INTO cp_tree VALUES ('3260', '4', '130', '208', '3259', '131'); -INSERT INTO cp_tree VALUES ('3261', '3', '133', '208', '3258', '136'); -INSERT INTO cp_tree VALUES ('3262', '4', '134', '208', '3261', '135'); -INSERT INTO cp_tree VALUES ('3263', '3', '137', '208', '3258', '140'); -INSERT INTO cp_tree VALUES ('3264', '4', '138', '208', '3263', '139'); -INSERT INTO cp_tree VALUES ('3265', '2', '142', '208', '3194', '143'); -INSERT INTO cp_tree VALUES ('3266', '1', '1', '209', '0', '98'); -INSERT INTO cp_tree VALUES ('3267', '2', '2', '209', '3266', '45'); -INSERT INTO cp_tree VALUES ('3268', '3', '3', '209', '3267', '10'); -INSERT INTO cp_tree VALUES ('3269', '4', '4', '209', '3268', '5'); -INSERT INTO cp_tree VALUES ('3270', '4', '6', '209', '3268', '7'); -INSERT INTO cp_tree VALUES ('3271', '4', '8', '209', '3268', '9'); -INSERT INTO cp_tree VALUES ('3272', '3', '11', '209', '3267', '36'); -INSERT INTO cp_tree VALUES ('3273', '4', '12', '209', '3272', '19'); -INSERT INTO cp_tree VALUES ('3274', '5', '13', '209', '3273', '14'); -INSERT INTO cp_tree VALUES ('3275', '5', '15', '209', '3273', '16'); -INSERT INTO cp_tree VALUES ('3276', '5', '17', '209', '3273', '18'); -INSERT INTO cp_tree VALUES ('3277', '4', '20', '209', '3272', '27'); -INSERT INTO cp_tree VALUES ('3278', '5', '21', '209', '3277', '22'); -INSERT INTO cp_tree VALUES ('3279', '5', '23', '209', '3277', '24'); -INSERT INTO cp_tree VALUES ('3280', '5', '25', '209', '3277', '26'); -INSERT INTO cp_tree VALUES ('3281', '4', '28', '209', '3272', '35'); -INSERT INTO cp_tree VALUES ('3282', '5', '29', '209', '3281', '30'); -INSERT INTO cp_tree VALUES ('3283', '5', '31', '209', '3281', '32'); -INSERT INTO cp_tree VALUES ('3284', '5', '33', '209', '3281', '34'); -INSERT INTO cp_tree VALUES ('3285', '3', '37', '209', '3267', '44'); -INSERT INTO cp_tree VALUES ('3286', '4', '38', '209', '3285', '39'); -INSERT INTO cp_tree VALUES ('3287', '4', '40', '209', '3285', '41'); -INSERT INTO cp_tree VALUES ('3288', '4', '42', '209', '3285', '43'); -INSERT INTO cp_tree VALUES ('3289', '2', '46', '209', '3266', '59'); -INSERT INTO cp_tree VALUES ('3290', '3', '47', '209', '3289', '48'); -INSERT INTO cp_tree VALUES ('3291', '3', '49', '209', '3289', '50'); -INSERT INTO cp_tree VALUES ('3292', '3', '51', '209', '3289', '52'); -INSERT INTO cp_tree VALUES ('3293', '3', '53', '209', '3289', '54'); -INSERT INTO cp_tree VALUES ('3294', '3', '55', '209', '3289', '56'); -INSERT INTO cp_tree VALUES ('3295', '3', '57', '209', '3289', '58'); -INSERT INTO cp_tree VALUES ('3296', '2', '60', '209', '3266', '63'); -INSERT INTO cp_tree VALUES ('3297', '3', '61', '209', '3296', '62'); -INSERT INTO cp_tree VALUES ('3298', '2', '64', '209', '3266', '67'); -INSERT INTO cp_tree VALUES ('3299', '3', '65', '209', '3298', '66'); -INSERT INTO cp_tree VALUES ('3300', '2', '68', '209', '3266', '71'); -INSERT INTO cp_tree VALUES ('3301', '3', '69', '209', '3300', '70'); -INSERT INTO cp_tree VALUES ('3302', '2', '72', '209', '3266', '77'); -INSERT INTO cp_tree VALUES ('3303', '3', '73', '209', '3302', '74'); -INSERT INTO cp_tree VALUES ('3304', '3', '75', '209', '3302', '76'); -INSERT INTO cp_tree VALUES ('3305', '2', '78', '209', '3266', '81'); -INSERT INTO cp_tree VALUES ('3306', '3', '79', '209', '3305', '80'); -INSERT INTO cp_tree VALUES ('3307', '2', '82', '209', '3266', '85'); -INSERT INTO cp_tree VALUES ('3308', '3', '83', '209', '3307', '84'); -INSERT INTO cp_tree VALUES ('3309', '2', '86', '209', '3266', '95'); -INSERT INTO cp_tree VALUES ('3310', '3', '87', '209', '3309', '90'); -INSERT INTO cp_tree VALUES ('3311', '4', '88', '209', '3310', '89'); -INSERT INTO cp_tree VALUES ('3312', '3', '91', '209', '3309', '94'); -INSERT INTO cp_tree VALUES ('3313', '4', '92', '209', '3312', '93'); -INSERT INTO cp_tree VALUES ('3314', '2', '96', '209', '3266', '97'); -INSERT INTO cp_tree VALUES ('3315', '1', '1', '210', '0', '98'); -INSERT INTO cp_tree VALUES ('3316', '2', '2', '210', '3315', '45'); -INSERT INTO cp_tree VALUES ('3317', '3', '3', '210', '3316', '10'); -INSERT INTO cp_tree VALUES ('3318', '4', '4', '210', '3317', '5'); -INSERT INTO cp_tree VALUES ('3319', '4', '6', '210', '3317', '7'); -INSERT INTO cp_tree VALUES ('3320', '4', '8', '210', '3317', '9'); -INSERT INTO cp_tree VALUES ('3321', '3', '11', '210', '3316', '36'); -INSERT INTO cp_tree VALUES ('3322', '4', '12', '210', '3321', '19'); -INSERT INTO cp_tree VALUES ('3323', '5', '13', '210', '3322', '14'); -INSERT INTO cp_tree VALUES ('3324', '5', '15', '210', '3322', '16'); -INSERT INTO cp_tree VALUES ('3325', '5', '17', '210', '3322', '18'); -INSERT INTO cp_tree VALUES ('3326', '4', '20', '210', '3321', '27'); -INSERT INTO cp_tree VALUES ('3327', '5', '21', '210', '3326', '22'); -INSERT INTO cp_tree VALUES ('3328', '5', '23', '210', '3326', '24'); -INSERT INTO cp_tree VALUES ('3329', '5', '25', '210', '3326', '26'); -INSERT INTO cp_tree VALUES ('3330', '4', '28', '210', '3321', '35'); -INSERT INTO cp_tree VALUES ('3331', '5', '29', '210', '3330', '30'); -INSERT INTO cp_tree VALUES ('3332', '5', '31', '210', '3330', '32'); -INSERT INTO cp_tree VALUES ('3333', '5', '33', '210', '3330', '34'); -INSERT INTO cp_tree VALUES ('3334', '3', '37', '210', '3316', '44'); -INSERT INTO cp_tree VALUES ('3335', '4', '38', '210', '3334', '39'); -INSERT INTO cp_tree VALUES ('3336', '4', '40', '210', '3334', '41'); -INSERT INTO cp_tree VALUES ('3337', '4', '42', '210', '3334', '43'); -INSERT INTO cp_tree VALUES ('3338', '2', '46', '210', '3315', '59'); -INSERT INTO cp_tree VALUES ('3339', '3', '47', '210', '3338', '48'); -INSERT INTO cp_tree VALUES ('3340', '3', '49', '210', '3338', '50'); -INSERT INTO cp_tree VALUES ('3341', '3', '51', '210', '3338', '52'); -INSERT INTO cp_tree VALUES ('3342', '3', '53', '210', '3338', '54'); -INSERT INTO cp_tree VALUES ('3343', '3', '55', '210', '3338', '56'); -INSERT INTO cp_tree VALUES ('3344', '3', '57', '210', '3338', '58'); -INSERT INTO cp_tree VALUES ('3345', '2', '60', '210', '3315', '63'); -INSERT INTO cp_tree VALUES ('3346', '3', '61', '210', '3345', '62'); -INSERT INTO cp_tree VALUES ('3347', '2', '64', '210', '3315', '67'); -INSERT INTO cp_tree VALUES ('3348', '3', '65', '210', '3347', '66'); -INSERT INTO cp_tree VALUES ('3349', '2', '68', '210', '3315', '71'); -INSERT INTO cp_tree VALUES ('3350', '3', '69', '210', '3349', '70'); -INSERT INTO cp_tree VALUES ('3351', '2', '72', '210', '3315', '77'); -INSERT INTO cp_tree VALUES ('3352', '3', '73', '210', '3351', '74'); -INSERT INTO cp_tree VALUES ('3353', '3', '75', '210', '3351', '76'); -INSERT INTO cp_tree VALUES ('3354', '2', '78', '210', '3315', '81'); -INSERT INTO cp_tree VALUES ('3355', '3', '79', '210', '3354', '80'); -INSERT INTO cp_tree VALUES ('3356', '2', '82', '210', '3315', '85'); -INSERT INTO cp_tree VALUES ('3357', '3', '83', '210', '3356', '84'); -INSERT INTO cp_tree VALUES ('3358', '2', '86', '210', '3315', '95'); -INSERT INTO cp_tree VALUES ('3359', '3', '87', '210', '3358', '90'); -INSERT INTO cp_tree VALUES ('3360', '4', '88', '210', '3359', '89'); -INSERT INTO cp_tree VALUES ('3361', '3', '91', '210', '3358', '94'); -INSERT INTO cp_tree VALUES ('3362', '4', '92', '210', '3361', '93'); -INSERT INTO cp_tree VALUES ('3363', '2', '96', '210', '3315', '97'); -INSERT INTO cp_tree VALUES ('3364', '1', '1', '211', '0', '68'); -INSERT INTO cp_tree VALUES ('3365', '2', '2', '211', '3364', '15'); -INSERT INTO cp_tree VALUES ('3366', '3', '3', '211', '3365', '4'); -INSERT INTO cp_tree VALUES ('3367', '3', '5', '211', '3365', '12'); -INSERT INTO cp_tree VALUES ('3368', '4', '6', '211', '3367', '7'); -INSERT INTO cp_tree VALUES ('3369', '4', '8', '211', '3367', '9'); -INSERT INTO cp_tree VALUES ('3370', '4', '10', '211', '3367', '11'); -INSERT INTO cp_tree VALUES ('3371', '3', '13', '211', '3365', '14'); -INSERT INTO cp_tree VALUES ('3372', '2', '16', '211', '3364', '29'); -INSERT INTO cp_tree VALUES ('3373', '3', '17', '211', '3372', '18'); -INSERT INTO cp_tree VALUES ('3374', '3', '19', '211', '3372', '20'); -INSERT INTO cp_tree VALUES ('3375', '3', '21', '211', '3372', '22'); -INSERT INTO cp_tree VALUES ('3376', '3', '23', '211', '3372', '24'); -INSERT INTO cp_tree VALUES ('3377', '3', '25', '211', '3372', '26'); -INSERT INTO cp_tree VALUES ('3378', '3', '27', '211', '3372', '28'); -INSERT INTO cp_tree VALUES ('3379', '2', '30', '211', '3364', '33'); -INSERT INTO cp_tree VALUES ('3380', '3', '31', '211', '3379', '32'); -INSERT INTO cp_tree VALUES ('3381', '2', '34', '211', '3364', '37'); -INSERT INTO cp_tree VALUES ('3382', '3', '35', '211', '3381', '36'); -INSERT INTO cp_tree VALUES ('3383', '2', '38', '211', '3364', '41'); -INSERT INTO cp_tree VALUES ('3384', '3', '39', '211', '3383', '40'); -INSERT INTO cp_tree VALUES ('3385', '2', '42', '211', '3364', '47'); -INSERT INTO cp_tree VALUES ('3386', '3', '43', '211', '3385', '44'); -INSERT INTO cp_tree VALUES ('3387', '3', '45', '211', '3385', '46'); -INSERT INTO cp_tree VALUES ('3388', '2', '48', '211', '3364', '51'); -INSERT INTO cp_tree VALUES ('3389', '3', '49', '211', '3388', '50'); -INSERT INTO cp_tree VALUES ('3390', '2', '52', '211', '3364', '55'); -INSERT INTO cp_tree VALUES ('3391', '3', '53', '211', '3390', '54'); -INSERT INTO cp_tree VALUES ('3392', '2', '56', '211', '3364', '65'); -INSERT INTO cp_tree VALUES ('3393', '3', '57', '211', '3392', '60'); -INSERT INTO cp_tree VALUES ('3394', '4', '58', '211', '3393', '59'); -INSERT INTO cp_tree VALUES ('3395', '3', '61', '211', '3392', '64'); -INSERT INTO cp_tree VALUES ('3396', '4', '62', '211', '3395', '63'); -INSERT INTO cp_tree VALUES ('3397', '2', '66', '211', '3364', '67'); -INSERT INTO cp_tree VALUES ('3398', '1', '1', '212', '0', '98'); -INSERT INTO cp_tree VALUES ('3399', '2', '2', '212', '3398', '45'); -INSERT INTO cp_tree VALUES ('3400', '3', '3', '212', '3399', '10'); -INSERT INTO cp_tree VALUES ('3401', '4', '4', '212', '3400', '5'); -INSERT INTO cp_tree VALUES ('3402', '4', '6', '212', '3400', '7'); -INSERT INTO cp_tree VALUES ('3403', '4', '8', '212', '3400', '9'); -INSERT INTO cp_tree VALUES ('3404', '3', '11', '212', '3399', '36'); -INSERT INTO cp_tree VALUES ('3405', '4', '12', '212', '3404', '19'); -INSERT INTO cp_tree VALUES ('3406', '5', '13', '212', '3405', '14'); -INSERT INTO cp_tree VALUES ('3407', '5', '15', '212', '3405', '16'); -INSERT INTO cp_tree VALUES ('3408', '5', '17', '212', '3405', '18'); -INSERT INTO cp_tree VALUES ('3409', '4', '20', '212', '3404', '27'); -INSERT INTO cp_tree VALUES ('3410', '5', '21', '212', '3409', '22'); -INSERT INTO cp_tree VALUES ('3411', '5', '23', '212', '3409', '24'); -INSERT INTO cp_tree VALUES ('3412', '5', '25', '212', '3409', '26'); -INSERT INTO cp_tree VALUES ('3413', '4', '28', '212', '3404', '35'); -INSERT INTO cp_tree VALUES ('3414', '5', '29', '212', '3413', '30'); -INSERT INTO cp_tree VALUES ('3415', '5', '31', '212', '3413', '32'); -INSERT INTO cp_tree VALUES ('3416', '5', '33', '212', '3413', '34'); -INSERT INTO cp_tree VALUES ('3417', '3', '37', '212', '3399', '44'); -INSERT INTO cp_tree VALUES ('3418', '4', '38', '212', '3417', '39'); -INSERT INTO cp_tree VALUES ('3419', '4', '40', '212', '3417', '41'); -INSERT INTO cp_tree VALUES ('3420', '4', '42', '212', '3417', '43'); -INSERT INTO cp_tree VALUES ('3421', '2', '46', '212', '3398', '59'); -INSERT INTO cp_tree VALUES ('3422', '3', '47', '212', '3421', '48'); -INSERT INTO cp_tree VALUES ('3423', '3', '49', '212', '3421', '50'); -INSERT INTO cp_tree VALUES ('3424', '3', '51', '212', '3421', '52'); -INSERT INTO cp_tree VALUES ('3425', '3', '53', '212', '3421', '54'); -INSERT INTO cp_tree VALUES ('3426', '3', '55', '212', '3421', '56'); -INSERT INTO cp_tree VALUES ('3427', '3', '57', '212', '3421', '58'); -INSERT INTO cp_tree VALUES ('3428', '2', '60', '212', '3398', '63'); -INSERT INTO cp_tree VALUES ('3429', '3', '61', '212', '3428', '62'); -INSERT INTO cp_tree VALUES ('3430', '2', '64', '212', '3398', '67'); -INSERT INTO cp_tree VALUES ('3431', '3', '65', '212', '3430', '66'); -INSERT INTO cp_tree VALUES ('3432', '2', '68', '212', '3398', '71'); -INSERT INTO cp_tree VALUES ('3433', '3', '69', '212', '3432', '70'); -INSERT INTO cp_tree VALUES ('3434', '2', '72', '212', '3398', '77'); -INSERT INTO cp_tree VALUES ('3435', '3', '73', '212', '3434', '74'); -INSERT INTO cp_tree VALUES ('3436', '3', '75', '212', '3434', '76'); -INSERT INTO cp_tree VALUES ('3437', '2', '78', '212', '3398', '81'); -INSERT INTO cp_tree VALUES ('3438', '3', '79', '212', '3437', '80'); -INSERT INTO cp_tree VALUES ('3439', '2', '82', '212', '3398', '85'); -INSERT INTO cp_tree VALUES ('3440', '3', '83', '212', '3439', '84'); -INSERT INTO cp_tree VALUES ('3441', '2', '86', '212', '3398', '95'); -INSERT INTO cp_tree VALUES ('3442', '3', '87', '212', '3441', '90'); -INSERT INTO cp_tree VALUES ('3443', '4', '88', '212', '3442', '89'); -INSERT INTO cp_tree VALUES ('3444', '3', '91', '212', '3441', '94'); -INSERT INTO cp_tree VALUES ('3445', '4', '92', '212', '3444', '93'); -INSERT INTO cp_tree VALUES ('3446', '2', '96', '212', '3398', '97'); -INSERT INTO cp_tree VALUES ('3447', '1', '1', '213', '0', '102'); -INSERT INTO cp_tree VALUES ('3448', '2', '2', '213', '3447', '45'); -INSERT INTO cp_tree VALUES ('3449', '3', '3', '213', '3448', '10'); -INSERT INTO cp_tree VALUES ('3450', '4', '4', '213', '3449', '5'); -INSERT INTO cp_tree VALUES ('3451', '4', '6', '213', '3449', '7'); -INSERT INTO cp_tree VALUES ('3452', '4', '8', '213', '3449', '9'); -INSERT INTO cp_tree VALUES ('3453', '3', '11', '213', '3448', '36'); -INSERT INTO cp_tree VALUES ('3454', '4', '12', '213', '3453', '19'); -INSERT INTO cp_tree VALUES ('3455', '5', '13', '213', '3454', '14'); -INSERT INTO cp_tree VALUES ('3456', '5', '15', '213', '3454', '16'); -INSERT INTO cp_tree VALUES ('3457', '5', '17', '213', '3454', '18'); -INSERT INTO cp_tree VALUES ('3458', '4', '20', '213', '3453', '27'); -INSERT INTO cp_tree VALUES ('3459', '5', '21', '213', '3458', '22'); -INSERT INTO cp_tree VALUES ('3460', '5', '23', '213', '3458', '24'); -INSERT INTO cp_tree VALUES ('3461', '5', '25', '213', '3458', '26'); -INSERT INTO cp_tree VALUES ('3462', '4', '28', '213', '3453', '35'); -INSERT INTO cp_tree VALUES ('3463', '5', '29', '213', '3462', '30'); -INSERT INTO cp_tree VALUES ('3464', '5', '31', '213', '3462', '32'); -INSERT INTO cp_tree VALUES ('3465', '5', '33', '213', '3462', '34'); -INSERT INTO cp_tree VALUES ('3466', '3', '37', '213', '3448', '44'); -INSERT INTO cp_tree VALUES ('3467', '4', '38', '213', '3466', '39'); -INSERT INTO cp_tree VALUES ('3468', '4', '40', '213', '3466', '41'); -INSERT INTO cp_tree VALUES ('3469', '4', '42', '213', '3466', '43'); -INSERT INTO cp_tree VALUES ('3470', '2', '46', '213', '3447', '59'); -INSERT INTO cp_tree VALUES ('3471', '3', '47', '213', '3470', '48'); -INSERT INTO cp_tree VALUES ('3472', '3', '49', '213', '3470', '50'); -INSERT INTO cp_tree VALUES ('3473', '3', '51', '213', '3470', '52'); -INSERT INTO cp_tree VALUES ('3474', '3', '53', '213', '3470', '54'); -INSERT INTO cp_tree VALUES ('3475', '3', '55', '213', '3470', '56'); -INSERT INTO cp_tree VALUES ('3476', '3', '57', '213', '3470', '58'); -INSERT INTO cp_tree VALUES ('3477', '2', '60', '213', '3447', '63'); -INSERT INTO cp_tree VALUES ('3478', '3', '61', '213', '3477', '62'); -INSERT INTO cp_tree VALUES ('3479', '2', '64', '213', '3447', '67'); -INSERT INTO cp_tree VALUES ('3480', '3', '65', '213', '3479', '66'); -INSERT INTO cp_tree VALUES ('3481', '2', '68', '213', '3447', '71'); -INSERT INTO cp_tree VALUES ('3482', '3', '69', '213', '3481', '70'); -INSERT INTO cp_tree VALUES ('3483', '2', '72', '213', '3447', '77'); -INSERT INTO cp_tree VALUES ('3484', '3', '73', '213', '3483', '74'); -INSERT INTO cp_tree VALUES ('3485', '3', '75', '213', '3483', '76'); -INSERT INTO cp_tree VALUES ('3486', '2', '78', '213', '3447', '81'); -INSERT INTO cp_tree VALUES ('3487', '3', '79', '213', '3486', '80'); -INSERT INTO cp_tree VALUES ('3488', '2', '82', '213', '3447', '85'); -INSERT INTO cp_tree VALUES ('3489', '3', '83', '213', '3488', '84'); -INSERT INTO cp_tree VALUES ('3490', '2', '86', '213', '3447', '99'); -INSERT INTO cp_tree VALUES ('3491', '3', '87', '213', '3490', '90'); -INSERT INTO cp_tree VALUES ('3492', '4', '88', '213', '3491', '89'); -INSERT INTO cp_tree VALUES ('3493', '3', '91', '213', '3490', '94'); -INSERT INTO cp_tree VALUES ('3494', '4', '92', '213', '3493', '93'); -INSERT INTO cp_tree VALUES ('3495', '3', '95', '213', '3490', '98'); -INSERT INTO cp_tree VALUES ('3496', '4', '96', '213', '3495', '97'); -INSERT INTO cp_tree VALUES ('3497', '2', '100', '213', '3447', '101'); -INSERT INTO cp_tree VALUES ('3498', '1', '1', '214', '0', '102'); -INSERT INTO cp_tree VALUES ('3499', '2', '2', '214', '3498', '45'); -INSERT INTO cp_tree VALUES ('3500', '3', '3', '214', '3499', '10'); -INSERT INTO cp_tree VALUES ('3501', '4', '4', '214', '3500', '5'); -INSERT INTO cp_tree VALUES ('3502', '4', '6', '214', '3500', '7'); -INSERT INTO cp_tree VALUES ('3503', '4', '8', '214', '3500', '9'); -INSERT INTO cp_tree VALUES ('3504', '3', '11', '214', '3499', '36'); -INSERT INTO cp_tree VALUES ('3505', '4', '12', '214', '3504', '19'); -INSERT INTO cp_tree VALUES ('3506', '5', '13', '214', '3505', '14'); -INSERT INTO cp_tree VALUES ('3507', '5', '15', '214', '3505', '16'); -INSERT INTO cp_tree VALUES ('3508', '5', '17', '214', '3505', '18'); -INSERT INTO cp_tree VALUES ('3509', '4', '20', '214', '3504', '27'); -INSERT INTO cp_tree VALUES ('3510', '5', '21', '214', '3509', '22'); -INSERT INTO cp_tree VALUES ('3511', '5', '23', '214', '3509', '24'); -INSERT INTO cp_tree VALUES ('3512', '5', '25', '214', '3509', '26'); -INSERT INTO cp_tree VALUES ('3513', '4', '28', '214', '3504', '35'); -INSERT INTO cp_tree VALUES ('3514', '5', '29', '214', '3513', '30'); -INSERT INTO cp_tree VALUES ('3515', '5', '31', '214', '3513', '32'); -INSERT INTO cp_tree VALUES ('3516', '5', '33', '214', '3513', '34'); -INSERT INTO cp_tree VALUES ('3517', '3', '37', '214', '3499', '44'); -INSERT INTO cp_tree VALUES ('3518', '4', '38', '214', '3517', '39'); -INSERT INTO cp_tree VALUES ('3519', '4', '40', '214', '3517', '41'); -INSERT INTO cp_tree VALUES ('3520', '4', '42', '214', '3517', '43'); -INSERT INTO cp_tree VALUES ('3521', '2', '46', '214', '3498', '59'); -INSERT INTO cp_tree VALUES ('3522', '3', '47', '214', '3521', '48'); -INSERT INTO cp_tree VALUES ('3523', '3', '49', '214', '3521', '50'); -INSERT INTO cp_tree VALUES ('3524', '3', '51', '214', '3521', '52'); -INSERT INTO cp_tree VALUES ('3525', '3', '53', '214', '3521', '54'); -INSERT INTO cp_tree VALUES ('3526', '3', '55', '214', '3521', '56'); -INSERT INTO cp_tree VALUES ('3527', '3', '57', '214', '3521', '58'); -INSERT INTO cp_tree VALUES ('3528', '2', '60', '214', '3498', '63'); -INSERT INTO cp_tree VALUES ('3529', '3', '61', '214', '3528', '62'); -INSERT INTO cp_tree VALUES ('3530', '2', '64', '214', '3498', '67'); -INSERT INTO cp_tree VALUES ('3531', '3', '65', '214', '3530', '66'); -INSERT INTO cp_tree VALUES ('3532', '2', '68', '214', '3498', '71'); -INSERT INTO cp_tree VALUES ('3533', '3', '69', '214', '3532', '70'); -INSERT INTO cp_tree VALUES ('3534', '2', '72', '214', '3498', '77'); -INSERT INTO cp_tree VALUES ('3535', '3', '73', '214', '3534', '74'); -INSERT INTO cp_tree VALUES ('3536', '3', '75', '214', '3534', '76'); -INSERT INTO cp_tree VALUES ('3537', '2', '78', '214', '3498', '81'); -INSERT INTO cp_tree VALUES ('3538', '3', '79', '214', '3537', '80'); -INSERT INTO cp_tree VALUES ('3539', '2', '82', '214', '3498', '85'); -INSERT INTO cp_tree VALUES ('3540', '3', '83', '214', '3539', '84'); -INSERT INTO cp_tree VALUES ('3541', '2', '86', '214', '3498', '99'); -INSERT INTO cp_tree VALUES ('3542', '3', '87', '214', '3541', '90'); -INSERT INTO cp_tree VALUES ('3543', '4', '88', '214', '3542', '89'); -INSERT INTO cp_tree VALUES ('3544', '3', '91', '214', '3541', '94'); -INSERT INTO cp_tree VALUES ('3545', '4', '92', '214', '3544', '93'); -INSERT INTO cp_tree VALUES ('3546', '3', '95', '214', '3541', '98'); -INSERT INTO cp_tree VALUES ('3547', '4', '96', '214', '3546', '97'); -INSERT INTO cp_tree VALUES ('3548', '2', '100', '214', '3498', '101'); -INSERT INTO cp_tree VALUES ('3549', '1', '1', '215', '0', '104'); -INSERT INTO cp_tree VALUES ('3550', '2', '2', '215', '3549', '45'); -INSERT INTO cp_tree VALUES ('3551', '3', '3', '215', '3550', '10'); -INSERT INTO cp_tree VALUES ('3552', '4', '4', '215', '3551', '5'); -INSERT INTO cp_tree VALUES ('3553', '4', '6', '215', '3551', '7'); -INSERT INTO cp_tree VALUES ('3554', '4', '8', '215', '3551', '9'); -INSERT INTO cp_tree VALUES ('3555', '3', '11', '215', '3550', '36'); -INSERT INTO cp_tree VALUES ('3556', '4', '12', '215', '3555', '19'); -INSERT INTO cp_tree VALUES ('3557', '5', '13', '215', '3556', '14'); -INSERT INTO cp_tree VALUES ('3558', '5', '15', '215', '3556', '16'); -INSERT INTO cp_tree VALUES ('3559', '5', '17', '215', '3556', '18'); -INSERT INTO cp_tree VALUES ('3560', '4', '20', '215', '3555', '27'); -INSERT INTO cp_tree VALUES ('3561', '5', '21', '215', '3560', '22'); -INSERT INTO cp_tree VALUES ('3562', '5', '23', '215', '3560', '24'); -INSERT INTO cp_tree VALUES ('3563', '5', '25', '215', '3560', '26'); -INSERT INTO cp_tree VALUES ('3564', '4', '28', '215', '3555', '35'); -INSERT INTO cp_tree VALUES ('3565', '5', '29', '215', '3564', '30'); -INSERT INTO cp_tree VALUES ('3566', '5', '31', '215', '3564', '32'); -INSERT INTO cp_tree VALUES ('3567', '5', '33', '215', '3564', '34'); -INSERT INTO cp_tree VALUES ('3568', '3', '37', '215', '3550', '44'); -INSERT INTO cp_tree VALUES ('3569', '4', '38', '215', '3568', '39'); -INSERT INTO cp_tree VALUES ('3570', '4', '40', '215', '3568', '41'); -INSERT INTO cp_tree VALUES ('3571', '4', '42', '215', '3568', '43'); -INSERT INTO cp_tree VALUES ('3572', '2', '46', '215', '3549', '59'); -INSERT INTO cp_tree VALUES ('3573', '3', '47', '215', '3572', '48'); -INSERT INTO cp_tree VALUES ('3574', '3', '49', '215', '3572', '50'); -INSERT INTO cp_tree VALUES ('3575', '3', '51', '215', '3572', '52'); -INSERT INTO cp_tree VALUES ('3576', '3', '53', '215', '3572', '54'); -INSERT INTO cp_tree VALUES ('3577', '3', '55', '215', '3572', '56'); -INSERT INTO cp_tree VALUES ('3578', '3', '57', '215', '3572', '58'); -INSERT INTO cp_tree VALUES ('3579', '2', '60', '215', '3549', '63'); -INSERT INTO cp_tree VALUES ('3580', '3', '61', '215', '3579', '62'); -INSERT INTO cp_tree VALUES ('3581', '2', '64', '215', '3549', '67'); -INSERT INTO cp_tree VALUES ('3582', '3', '65', '215', '3581', '66'); -INSERT INTO cp_tree VALUES ('3583', '2', '68', '215', '3549', '71'); -INSERT INTO cp_tree VALUES ('3584', '3', '69', '215', '3583', '70'); -INSERT INTO cp_tree VALUES ('3585', '2', '72', '215', '3549', '77'); -INSERT INTO cp_tree VALUES ('3586', '3', '73', '215', '3585', '74'); -INSERT INTO cp_tree VALUES ('3587', '3', '75', '215', '3585', '76'); -INSERT INTO cp_tree VALUES ('3588', '2', '78', '215', '3549', '81'); -INSERT INTO cp_tree VALUES ('3589', '3', '79', '215', '3588', '80'); -INSERT INTO cp_tree VALUES ('3590', '2', '82', '215', '3549', '85'); -INSERT INTO cp_tree VALUES ('3591', '3', '83', '215', '3590', '84'); -INSERT INTO cp_tree VALUES ('3592', '2', '86', '215', '3549', '101'); -INSERT INTO cp_tree VALUES ('3593', '3', '87', '215', '3592', '90'); -INSERT INTO cp_tree VALUES ('3594', '4', '88', '215', '3593', '89'); -INSERT INTO cp_tree VALUES ('3595', '3', '91', '215', '3592', '94'); -INSERT INTO cp_tree VALUES ('3596', '4', '92', '215', '3595', '93'); -INSERT INTO cp_tree VALUES ('3597', '3', '95', '215', '3592', '100'); -INSERT INTO cp_tree VALUES ('3598', '4', '96', '215', '3597', '97'); -INSERT INTO cp_tree VALUES ('3599', '4', '98', '215', '3597', '99'); -INSERT INTO cp_tree VALUES ('3600', '2', '102', '215', '3549', '103'); -INSERT INTO cp_tree VALUES ('3601', '1', '1', '216', '0', '104'); -INSERT INTO cp_tree VALUES ('3602', '2', '2', '216', '3601', '45'); -INSERT INTO cp_tree VALUES ('3603', '3', '3', '216', '3602', '10'); -INSERT INTO cp_tree VALUES ('3604', '4', '4', '216', '3603', '5'); -INSERT INTO cp_tree VALUES ('3605', '4', '6', '216', '3603', '7'); -INSERT INTO cp_tree VALUES ('3606', '4', '8', '216', '3603', '9'); -INSERT INTO cp_tree VALUES ('3607', '3', '11', '216', '3602', '36'); -INSERT INTO cp_tree VALUES ('3608', '4', '12', '216', '3607', '19'); -INSERT INTO cp_tree VALUES ('3609', '5', '13', '216', '3608', '14'); -INSERT INTO cp_tree VALUES ('3610', '5', '15', '216', '3608', '16'); -INSERT INTO cp_tree VALUES ('3611', '5', '17', '216', '3608', '18'); -INSERT INTO cp_tree VALUES ('3612', '4', '20', '216', '3607', '27'); -INSERT INTO cp_tree VALUES ('3613', '5', '21', '216', '3612', '22'); -INSERT INTO cp_tree VALUES ('3614', '5', '23', '216', '3612', '24'); -INSERT INTO cp_tree VALUES ('3615', '5', '25', '216', '3612', '26'); -INSERT INTO cp_tree VALUES ('3616', '4', '28', '216', '3607', '35'); -INSERT INTO cp_tree VALUES ('3617', '5', '29', '216', '3616', '30'); -INSERT INTO cp_tree VALUES ('3618', '5', '31', '216', '3616', '32'); -INSERT INTO cp_tree VALUES ('3619', '5', '33', '216', '3616', '34'); -INSERT INTO cp_tree VALUES ('3620', '3', '37', '216', '3602', '44'); -INSERT INTO cp_tree VALUES ('3621', '4', '38', '216', '3620', '39'); -INSERT INTO cp_tree VALUES ('3622', '4', '40', '216', '3620', '41'); -INSERT INTO cp_tree VALUES ('3623', '4', '42', '216', '3620', '43'); -INSERT INTO cp_tree VALUES ('3624', '2', '46', '216', '3601', '59'); -INSERT INTO cp_tree VALUES ('3625', '3', '47', '216', '3624', '48'); -INSERT INTO cp_tree VALUES ('3626', '3', '49', '216', '3624', '50'); -INSERT INTO cp_tree VALUES ('3627', '3', '51', '216', '3624', '52'); -INSERT INTO cp_tree VALUES ('3628', '3', '53', '216', '3624', '54'); -INSERT INTO cp_tree VALUES ('3629', '3', '55', '216', '3624', '56'); -INSERT INTO cp_tree VALUES ('3630', '3', '57', '216', '3624', '58'); -INSERT INTO cp_tree VALUES ('3631', '2', '60', '216', '3601', '63'); -INSERT INTO cp_tree VALUES ('3632', '3', '61', '216', '3631', '62'); -INSERT INTO cp_tree VALUES ('3633', '2', '64', '216', '3601', '67'); -INSERT INTO cp_tree VALUES ('3634', '3', '65', '216', '3633', '66'); -INSERT INTO cp_tree VALUES ('3635', '2', '68', '216', '3601', '71'); -INSERT INTO cp_tree VALUES ('3636', '3', '69', '216', '3635', '70'); -INSERT INTO cp_tree VALUES ('3637', '2', '72', '216', '3601', '77'); -INSERT INTO cp_tree VALUES ('3638', '3', '73', '216', '3637', '74'); -INSERT INTO cp_tree VALUES ('3639', '3', '75', '216', '3637', '76'); -INSERT INTO cp_tree VALUES ('3640', '2', '78', '216', '3601', '81'); -INSERT INTO cp_tree VALUES ('3641', '3', '79', '216', '3640', '80'); -INSERT INTO cp_tree VALUES ('3642', '2', '82', '216', '3601', '85'); -INSERT INTO cp_tree VALUES ('3643', '3', '83', '216', '3642', '84'); -INSERT INTO cp_tree VALUES ('3644', '2', '86', '216', '3601', '101'); -INSERT INTO cp_tree VALUES ('3645', '3', '87', '216', '3644', '90'); -INSERT INTO cp_tree VALUES ('3646', '4', '88', '216', '3645', '89'); -INSERT INTO cp_tree VALUES ('3647', '3', '91', '216', '3644', '94'); -INSERT INTO cp_tree VALUES ('3648', '4', '92', '216', '3647', '93'); -INSERT INTO cp_tree VALUES ('3649', '3', '95', '216', '3644', '100'); -INSERT INTO cp_tree VALUES ('3650', '4', '96', '216', '3649', '97'); -INSERT INTO cp_tree VALUES ('3651', '4', '98', '216', '3649', '99'); -INSERT INTO cp_tree VALUES ('3652', '2', '102', '216', '3601', '103'); -INSERT INTO cp_tree VALUES ('3653', '1', '1', '217', '0', '104'); -INSERT INTO cp_tree VALUES ('3654', '2', '2', '217', '3653', '45'); -INSERT INTO cp_tree VALUES ('3655', '3', '3', '217', '3654', '10'); -INSERT INTO cp_tree VALUES ('3656', '4', '4', '217', '3655', '5'); -INSERT INTO cp_tree VALUES ('3657', '4', '6', '217', '3655', '7'); -INSERT INTO cp_tree VALUES ('3658', '4', '8', '217', '3655', '9'); -INSERT INTO cp_tree VALUES ('3659', '3', '11', '217', '3654', '36'); -INSERT INTO cp_tree VALUES ('3660', '4', '12', '217', '3659', '19'); -INSERT INTO cp_tree VALUES ('3661', '5', '13', '217', '3660', '14'); -INSERT INTO cp_tree VALUES ('3662', '5', '15', '217', '3660', '16'); -INSERT INTO cp_tree VALUES ('3663', '5', '17', '217', '3660', '18'); -INSERT INTO cp_tree VALUES ('3664', '4', '20', '217', '3659', '27'); -INSERT INTO cp_tree VALUES ('3665', '5', '21', '217', '3664', '22'); -INSERT INTO cp_tree VALUES ('3666', '5', '23', '217', '3664', '24'); -INSERT INTO cp_tree VALUES ('3667', '5', '25', '217', '3664', '26'); -INSERT INTO cp_tree VALUES ('3668', '4', '28', '217', '3659', '35'); -INSERT INTO cp_tree VALUES ('3669', '5', '29', '217', '3668', '30'); -INSERT INTO cp_tree VALUES ('3670', '5', '31', '217', '3668', '32'); -INSERT INTO cp_tree VALUES ('3671', '5', '33', '217', '3668', '34'); -INSERT INTO cp_tree VALUES ('3672', '3', '37', '217', '3654', '44'); -INSERT INTO cp_tree VALUES ('3673', '4', '38', '217', '3672', '39'); -INSERT INTO cp_tree VALUES ('3674', '4', '40', '217', '3672', '41'); -INSERT INTO cp_tree VALUES ('3675', '4', '42', '217', '3672', '43'); -INSERT INTO cp_tree VALUES ('3676', '2', '46', '217', '3653', '59'); -INSERT INTO cp_tree VALUES ('3677', '3', '47', '217', '3676', '48'); -INSERT INTO cp_tree VALUES ('3678', '3', '49', '217', '3676', '50'); -INSERT INTO cp_tree VALUES ('3679', '3', '51', '217', '3676', '52'); -INSERT INTO cp_tree VALUES ('3680', '3', '53', '217', '3676', '54'); -INSERT INTO cp_tree VALUES ('3681', '3', '55', '217', '3676', '56'); -INSERT INTO cp_tree VALUES ('3682', '3', '57', '217', '3676', '58'); -INSERT INTO cp_tree VALUES ('3683', '2', '60', '217', '3653', '63'); -INSERT INTO cp_tree VALUES ('3684', '3', '61', '217', '3683', '62'); -INSERT INTO cp_tree VALUES ('3685', '2', '64', '217', '3653', '67'); -INSERT INTO cp_tree VALUES ('3686', '3', '65', '217', '3685', '66'); -INSERT INTO cp_tree VALUES ('3687', '2', '68', '217', '3653', '71'); -INSERT INTO cp_tree VALUES ('3688', '3', '69', '217', '3687', '70'); -INSERT INTO cp_tree VALUES ('3689', '2', '72', '217', '3653', '77'); -INSERT INTO cp_tree VALUES ('3690', '3', '73', '217', '3689', '74'); -INSERT INTO cp_tree VALUES ('3691', '3', '75', '217', '3689', '76'); -INSERT INTO cp_tree VALUES ('3692', '2', '78', '217', '3653', '81'); -INSERT INTO cp_tree VALUES ('3693', '3', '79', '217', '3692', '80'); -INSERT INTO cp_tree VALUES ('3694', '2', '82', '217', '3653', '85'); -INSERT INTO cp_tree VALUES ('3695', '3', '83', '217', '3694', '84'); -INSERT INTO cp_tree VALUES ('3696', '2', '86', '217', '3653', '101'); -INSERT INTO cp_tree VALUES ('3697', '3', '87', '217', '3696', '90'); -INSERT INTO cp_tree VALUES ('3698', '4', '88', '217', '3697', '89'); -INSERT INTO cp_tree VALUES ('3699', '3', '91', '217', '3696', '94'); -INSERT INTO cp_tree VALUES ('3700', '4', '92', '217', '3699', '93'); -INSERT INTO cp_tree VALUES ('3701', '3', '95', '217', '3696', '100'); -INSERT INTO cp_tree VALUES ('3702', '4', '96', '217', '3701', '97'); -INSERT INTO cp_tree VALUES ('3703', '4', '98', '217', '3701', '99'); -INSERT INTO cp_tree VALUES ('3704', '2', '102', '217', '3653', '103'); -INSERT INTO cp_tree VALUES ('3705', '1', '1', '218', '0', '104'); -INSERT INTO cp_tree VALUES ('3706', '2', '2', '218', '3705', '45'); -INSERT INTO cp_tree VALUES ('3707', '3', '3', '218', '3706', '10'); -INSERT INTO cp_tree VALUES ('3708', '4', '4', '218', '3707', '5'); -INSERT INTO cp_tree VALUES ('3709', '4', '6', '218', '3707', '7'); -INSERT INTO cp_tree VALUES ('3710', '4', '8', '218', '3707', '9'); -INSERT INTO cp_tree VALUES ('3711', '3', '11', '218', '3706', '36'); -INSERT INTO cp_tree VALUES ('3712', '4', '12', '218', '3711', '19'); -INSERT INTO cp_tree VALUES ('3713', '5', '13', '218', '3712', '14'); -INSERT INTO cp_tree VALUES ('3714', '5', '15', '218', '3712', '16'); -INSERT INTO cp_tree VALUES ('3715', '5', '17', '218', '3712', '18'); -INSERT INTO cp_tree VALUES ('3716', '4', '20', '218', '3711', '27'); -INSERT INTO cp_tree VALUES ('3717', '5', '21', '218', '3716', '22'); -INSERT INTO cp_tree VALUES ('3718', '5', '23', '218', '3716', '24'); -INSERT INTO cp_tree VALUES ('3719', '5', '25', '218', '3716', '26'); -INSERT INTO cp_tree VALUES ('3720', '4', '28', '218', '3711', '35'); -INSERT INTO cp_tree VALUES ('3721', '5', '29', '218', '3720', '30'); -INSERT INTO cp_tree VALUES ('3722', '5', '31', '218', '3720', '32'); -INSERT INTO cp_tree VALUES ('3723', '5', '33', '218', '3720', '34'); -INSERT INTO cp_tree VALUES ('3724', '3', '37', '218', '3706', '44'); -INSERT INTO cp_tree VALUES ('3725', '4', '38', '218', '3724', '39'); -INSERT INTO cp_tree VALUES ('3726', '4', '40', '218', '3724', '41'); -INSERT INTO cp_tree VALUES ('3727', '4', '42', '218', '3724', '43'); -INSERT INTO cp_tree VALUES ('3728', '2', '46', '218', '3705', '59'); -INSERT INTO cp_tree VALUES ('3729', '3', '47', '218', '3728', '48'); -INSERT INTO cp_tree VALUES ('3730', '3', '49', '218', '3728', '50'); -INSERT INTO cp_tree VALUES ('3731', '3', '51', '218', '3728', '52'); -INSERT INTO cp_tree VALUES ('3732', '3', '53', '218', '3728', '54'); -INSERT INTO cp_tree VALUES ('3733', '3', '55', '218', '3728', '56'); -INSERT INTO cp_tree VALUES ('3734', '3', '57', '218', '3728', '58'); -INSERT INTO cp_tree VALUES ('3735', '2', '60', '218', '3705', '63'); -INSERT INTO cp_tree VALUES ('3736', '3', '61', '218', '3735', '62'); -INSERT INTO cp_tree VALUES ('3737', '2', '64', '218', '3705', '67'); -INSERT INTO cp_tree VALUES ('3738', '3', '65', '218', '3737', '66'); -INSERT INTO cp_tree VALUES ('3739', '2', '68', '218', '3705', '71'); -INSERT INTO cp_tree VALUES ('3740', '3', '69', '218', '3739', '70'); -INSERT INTO cp_tree VALUES ('3741', '2', '72', '218', '3705', '77'); -INSERT INTO cp_tree VALUES ('3742', '3', '73', '218', '3741', '74'); -INSERT INTO cp_tree VALUES ('3743', '3', '75', '218', '3741', '76'); -INSERT INTO cp_tree VALUES ('3744', '2', '78', '218', '3705', '81'); -INSERT INTO cp_tree VALUES ('3745', '3', '79', '218', '3744', '80'); -INSERT INTO cp_tree VALUES ('3746', '2', '82', '218', '3705', '85'); -INSERT INTO cp_tree VALUES ('3747', '3', '83', '218', '3746', '84'); -INSERT INTO cp_tree VALUES ('3748', '2', '86', '218', '3705', '101'); -INSERT INTO cp_tree VALUES ('3749', '3', '87', '218', '3748', '90'); -INSERT INTO cp_tree VALUES ('3750', '4', '88', '218', '3749', '89'); -INSERT INTO cp_tree VALUES ('3751', '3', '91', '218', '3748', '94'); -INSERT INTO cp_tree VALUES ('3752', '4', '92', '218', '3751', '93'); -INSERT INTO cp_tree VALUES ('3753', '3', '95', '218', '3748', '100'); -INSERT INTO cp_tree VALUES ('3754', '4', '96', '218', '3753', '97'); -INSERT INTO cp_tree VALUES ('3755', '4', '98', '218', '3753', '99'); -INSERT INTO cp_tree VALUES ('3756', '2', '102', '218', '3705', '103'); -INSERT INTO cp_tree VALUES ('3757', '1', '1', '219', '0', '104'); -INSERT INTO cp_tree VALUES ('3758', '2', '2', '219', '3757', '45'); -INSERT INTO cp_tree VALUES ('3759', '3', '3', '219', '3758', '10'); -INSERT INTO cp_tree VALUES ('3760', '4', '4', '219', '3759', '5'); -INSERT INTO cp_tree VALUES ('3761', '4', '6', '219', '3759', '7'); -INSERT INTO cp_tree VALUES ('3762', '4', '8', '219', '3759', '9'); -INSERT INTO cp_tree VALUES ('3763', '3', '11', '219', '3758', '36'); -INSERT INTO cp_tree VALUES ('3764', '4', '12', '219', '3763', '19'); -INSERT INTO cp_tree VALUES ('3765', '5', '13', '219', '3764', '14'); -INSERT INTO cp_tree VALUES ('3766', '5', '15', '219', '3764', '16'); -INSERT INTO cp_tree VALUES ('3767', '5', '17', '219', '3764', '18'); -INSERT INTO cp_tree VALUES ('3768', '4', '20', '219', '3763', '27'); -INSERT INTO cp_tree VALUES ('3769', '5', '21', '219', '3768', '22'); -INSERT INTO cp_tree VALUES ('3770', '5', '23', '219', '3768', '24'); -INSERT INTO cp_tree VALUES ('3771', '5', '25', '219', '3768', '26'); -INSERT INTO cp_tree VALUES ('3772', '4', '28', '219', '3763', '35'); -INSERT INTO cp_tree VALUES ('3773', '5', '29', '219', '3772', '30'); -INSERT INTO cp_tree VALUES ('3774', '5', '31', '219', '3772', '32'); -INSERT INTO cp_tree VALUES ('3775', '5', '33', '219', '3772', '34'); -INSERT INTO cp_tree VALUES ('3776', '3', '37', '219', '3758', '44'); -INSERT INTO cp_tree VALUES ('3777', '4', '38', '219', '3776', '39'); -INSERT INTO cp_tree VALUES ('3778', '4', '40', '219', '3776', '41'); -INSERT INTO cp_tree VALUES ('3779', '4', '42', '219', '3776', '43'); -INSERT INTO cp_tree VALUES ('3780', '2', '46', '219', '3757', '59'); -INSERT INTO cp_tree VALUES ('3781', '3', '47', '219', '3780', '48'); -INSERT INTO cp_tree VALUES ('3782', '3', '49', '219', '3780', '50'); -INSERT INTO cp_tree VALUES ('3783', '3', '51', '219', '3780', '52'); -INSERT INTO cp_tree VALUES ('3784', '3', '53', '219', '3780', '54'); -INSERT INTO cp_tree VALUES ('3785', '3', '55', '219', '3780', '56'); -INSERT INTO cp_tree VALUES ('3786', '3', '57', '219', '3780', '58'); -INSERT INTO cp_tree VALUES ('3787', '2', '60', '219', '3757', '63'); -INSERT INTO cp_tree VALUES ('3788', '3', '61', '219', '3787', '62'); -INSERT INTO cp_tree VALUES ('3789', '2', '64', '219', '3757', '67'); -INSERT INTO cp_tree VALUES ('3790', '3', '65', '219', '3789', '66'); -INSERT INTO cp_tree VALUES ('3791', '2', '68', '219', '3757', '71'); -INSERT INTO cp_tree VALUES ('3792', '3', '69', '219', '3791', '70'); -INSERT INTO cp_tree VALUES ('3793', '2', '72', '219', '3757', '77'); -INSERT INTO cp_tree VALUES ('3794', '3', '73', '219', '3793', '74'); -INSERT INTO cp_tree VALUES ('3795', '3', '75', '219', '3793', '76'); -INSERT INTO cp_tree VALUES ('3796', '2', '78', '219', '3757', '81'); -INSERT INTO cp_tree VALUES ('3797', '3', '79', '219', '3796', '80'); -INSERT INTO cp_tree VALUES ('3798', '2', '82', '219', '3757', '85'); -INSERT INTO cp_tree VALUES ('3799', '3', '83', '219', '3798', '84'); -INSERT INTO cp_tree VALUES ('3800', '2', '86', '219', '3757', '101'); -INSERT INTO cp_tree VALUES ('3801', '3', '87', '219', '3800', '90'); -INSERT INTO cp_tree VALUES ('3802', '4', '88', '219', '3801', '89'); -INSERT INTO cp_tree VALUES ('3803', '3', '91', '219', '3800', '94'); -INSERT INTO cp_tree VALUES ('3804', '4', '92', '219', '3803', '93'); -INSERT INTO cp_tree VALUES ('3805', '3', '95', '219', '3800', '100'); -INSERT INTO cp_tree VALUES ('3806', '4', '96', '219', '3805', '97'); -INSERT INTO cp_tree VALUES ('3807', '4', '98', '219', '3805', '99'); -INSERT INTO cp_tree VALUES ('3808', '2', '102', '219', '3757', '103'); -INSERT INTO cp_tree VALUES ('3809', '1', '1', '220', '0', '104'); -INSERT INTO cp_tree VALUES ('3810', '2', '2', '220', '3809', '45'); -INSERT INTO cp_tree VALUES ('3811', '3', '3', '220', '3810', '10'); -INSERT INTO cp_tree VALUES ('3812', '4', '4', '220', '3811', '5'); -INSERT INTO cp_tree VALUES ('3813', '4', '6', '220', '3811', '7'); -INSERT INTO cp_tree VALUES ('3814', '4', '8', '220', '3811', '9'); -INSERT INTO cp_tree VALUES ('3815', '3', '11', '220', '3810', '36'); -INSERT INTO cp_tree VALUES ('3816', '4', '12', '220', '3815', '19'); -INSERT INTO cp_tree VALUES ('3817', '5', '13', '220', '3816', '14'); -INSERT INTO cp_tree VALUES ('3818', '5', '15', '220', '3816', '16'); -INSERT INTO cp_tree VALUES ('3819', '5', '17', '220', '3816', '18'); -INSERT INTO cp_tree VALUES ('3820', '4', '20', '220', '3815', '27'); -INSERT INTO cp_tree VALUES ('3821', '5', '21', '220', '3820', '22'); -INSERT INTO cp_tree VALUES ('3822', '5', '23', '220', '3820', '24'); -INSERT INTO cp_tree VALUES ('3823', '5', '25', '220', '3820', '26'); -INSERT INTO cp_tree VALUES ('3824', '4', '28', '220', '3815', '35'); -INSERT INTO cp_tree VALUES ('3825', '5', '29', '220', '3824', '30'); -INSERT INTO cp_tree VALUES ('3826', '5', '31', '220', '3824', '32'); -INSERT INTO cp_tree VALUES ('3827', '5', '33', '220', '3824', '34'); -INSERT INTO cp_tree VALUES ('3828', '3', '37', '220', '3810', '44'); -INSERT INTO cp_tree VALUES ('3829', '4', '38', '220', '3828', '39'); -INSERT INTO cp_tree VALUES ('3830', '4', '40', '220', '3828', '41'); -INSERT INTO cp_tree VALUES ('3831', '4', '42', '220', '3828', '43'); -INSERT INTO cp_tree VALUES ('3832', '2', '46', '220', '3809', '59'); -INSERT INTO cp_tree VALUES ('3833', '3', '47', '220', '3832', '48'); -INSERT INTO cp_tree VALUES ('3834', '3', '49', '220', '3832', '50'); -INSERT INTO cp_tree VALUES ('3835', '3', '51', '220', '3832', '52'); -INSERT INTO cp_tree VALUES ('3836', '3', '53', '220', '3832', '54'); -INSERT INTO cp_tree VALUES ('3837', '3', '55', '220', '3832', '56'); -INSERT INTO cp_tree VALUES ('3838', '3', '57', '220', '3832', '58'); -INSERT INTO cp_tree VALUES ('3839', '2', '60', '220', '3809', '63'); -INSERT INTO cp_tree VALUES ('3840', '3', '61', '220', '3839', '62'); -INSERT INTO cp_tree VALUES ('3841', '2', '64', '220', '3809', '67'); -INSERT INTO cp_tree VALUES ('3842', '3', '65', '220', '3841', '66'); -INSERT INTO cp_tree VALUES ('3843', '2', '68', '220', '3809', '71'); -INSERT INTO cp_tree VALUES ('3844', '3', '69', '220', '3843', '70'); -INSERT INTO cp_tree VALUES ('3845', '2', '72', '220', '3809', '77'); -INSERT INTO cp_tree VALUES ('3846', '3', '73', '220', '3845', '74'); -INSERT INTO cp_tree VALUES ('3847', '3', '75', '220', '3845', '76'); -INSERT INTO cp_tree VALUES ('3848', '2', '78', '220', '3809', '81'); -INSERT INTO cp_tree VALUES ('3849', '3', '79', '220', '3848', '80'); -INSERT INTO cp_tree VALUES ('3850', '2', '82', '220', '3809', '85'); -INSERT INTO cp_tree VALUES ('3851', '3', '83', '220', '3850', '84'); -INSERT INTO cp_tree VALUES ('3852', '2', '86', '220', '3809', '101'); -INSERT INTO cp_tree VALUES ('3853', '3', '87', '220', '3852', '90'); -INSERT INTO cp_tree VALUES ('3854', '4', '88', '220', '3853', '89'); -INSERT INTO cp_tree VALUES ('3855', '3', '91', '220', '3852', '94'); -INSERT INTO cp_tree VALUES ('3856', '4', '92', '220', '3855', '93'); -INSERT INTO cp_tree VALUES ('3857', '3', '95', '220', '3852', '100'); -INSERT INTO cp_tree VALUES ('3858', '4', '96', '220', '3857', '97'); -INSERT INTO cp_tree VALUES ('3859', '4', '98', '220', '3857', '99'); -INSERT INTO cp_tree VALUES ('3860', '2', '102', '220', '3809', '103'); -INSERT INTO cp_tree VALUES ('3861', '1', '1', '221', '0', '74'); -INSERT INTO cp_tree VALUES ('3862', '2', '2', '221', '3861', '15'); -INSERT INTO cp_tree VALUES ('3863', '3', '3', '221', '3862', '4'); -INSERT INTO cp_tree VALUES ('3864', '3', '5', '221', '3862', '12'); -INSERT INTO cp_tree VALUES ('3865', '4', '6', '221', '3864', '7'); -INSERT INTO cp_tree VALUES ('3866', '4', '8', '221', '3864', '9'); -INSERT INTO cp_tree VALUES ('3867', '4', '10', '221', '3864', '11'); -INSERT INTO cp_tree VALUES ('3868', '3', '13', '221', '3862', '14'); -INSERT INTO cp_tree VALUES ('3869', '2', '16', '221', '3861', '29'); -INSERT INTO cp_tree VALUES ('3870', '3', '17', '221', '3869', '18'); -INSERT INTO cp_tree VALUES ('3871', '3', '19', '221', '3869', '20'); -INSERT INTO cp_tree VALUES ('3872', '3', '21', '221', '3869', '22'); -INSERT INTO cp_tree VALUES ('3873', '3', '23', '221', '3869', '24'); -INSERT INTO cp_tree VALUES ('3874', '3', '25', '221', '3869', '26'); -INSERT INTO cp_tree VALUES ('3875', '3', '27', '221', '3869', '28'); -INSERT INTO cp_tree VALUES ('3876', '2', '30', '221', '3861', '33'); -INSERT INTO cp_tree VALUES ('3877', '3', '31', '221', '3876', '32'); -INSERT INTO cp_tree VALUES ('3878', '2', '34', '221', '3861', '37'); -INSERT INTO cp_tree VALUES ('3879', '3', '35', '221', '3878', '36'); -INSERT INTO cp_tree VALUES ('3880', '2', '38', '221', '3861', '41'); -INSERT INTO cp_tree VALUES ('3881', '3', '39', '221', '3880', '40'); -INSERT INTO cp_tree VALUES ('3882', '2', '42', '221', '3861', '47'); -INSERT INTO cp_tree VALUES ('3883', '3', '43', '221', '3882', '44'); -INSERT INTO cp_tree VALUES ('3884', '3', '45', '221', '3882', '46'); -INSERT INTO cp_tree VALUES ('3885', '2', '48', '221', '3861', '51'); -INSERT INTO cp_tree VALUES ('3886', '3', '49', '221', '3885', '50'); -INSERT INTO cp_tree VALUES ('3887', '2', '52', '221', '3861', '55'); -INSERT INTO cp_tree VALUES ('3888', '3', '53', '221', '3887', '54'); -INSERT INTO cp_tree VALUES ('3889', '2', '56', '221', '3861', '71'); -INSERT INTO cp_tree VALUES ('3890', '3', '57', '221', '3889', '60'); -INSERT INTO cp_tree VALUES ('3891', '4', '58', '221', '3890', '59'); -INSERT INTO cp_tree VALUES ('3892', '3', '61', '221', '3889', '64'); -INSERT INTO cp_tree VALUES ('3893', '4', '62', '221', '3892', '63'); -INSERT INTO cp_tree VALUES ('3894', '3', '65', '221', '3889', '70'); -INSERT INTO cp_tree VALUES ('3895', '4', '66', '221', '3894', '67'); -INSERT INTO cp_tree VALUES ('3896', '4', '68', '221', '3894', '69'); -INSERT INTO cp_tree VALUES ('3897', '2', '72', '221', '3861', '73'); -INSERT INTO cp_tree VALUES ('3898', '1', '1', '222', '0', '104'); -INSERT INTO cp_tree VALUES ('3899', '2', '2', '222', '3898', '45'); -INSERT INTO cp_tree VALUES ('3900', '3', '3', '222', '3899', '10'); -INSERT INTO cp_tree VALUES ('3901', '4', '4', '222', '3900', '5'); -INSERT INTO cp_tree VALUES ('3902', '4', '6', '222', '3900', '7'); -INSERT INTO cp_tree VALUES ('3903', '4', '8', '222', '3900', '9'); -INSERT INTO cp_tree VALUES ('3904', '3', '11', '222', '3899', '36'); -INSERT INTO cp_tree VALUES ('3905', '4', '12', '222', '3904', '19'); -INSERT INTO cp_tree VALUES ('3906', '5', '13', '222', '3905', '14'); -INSERT INTO cp_tree VALUES ('3907', '5', '15', '222', '3905', '16'); -INSERT INTO cp_tree VALUES ('3908', '5', '17', '222', '3905', '18'); -INSERT INTO cp_tree VALUES ('3909', '4', '20', '222', '3904', '27'); -INSERT INTO cp_tree VALUES ('3910', '5', '21', '222', '3909', '22'); -INSERT INTO cp_tree VALUES ('3911', '5', '23', '222', '3909', '24'); -INSERT INTO cp_tree VALUES ('3912', '5', '25', '222', '3909', '26'); -INSERT INTO cp_tree VALUES ('3913', '4', '28', '222', '3904', '35'); -INSERT INTO cp_tree VALUES ('3914', '5', '29', '222', '3913', '30'); -INSERT INTO cp_tree VALUES ('3915', '5', '31', '222', '3913', '32'); -INSERT INTO cp_tree VALUES ('3916', '5', '33', '222', '3913', '34'); -INSERT INTO cp_tree VALUES ('3917', '3', '37', '222', '3899', '44'); -INSERT INTO cp_tree VALUES ('3918', '4', '38', '222', '3917', '39'); -INSERT INTO cp_tree VALUES ('3919', '4', '40', '222', '3917', '41'); -INSERT INTO cp_tree VALUES ('3920', '4', '42', '222', '3917', '43'); -INSERT INTO cp_tree VALUES ('3921', '2', '46', '222', '3898', '59'); -INSERT INTO cp_tree VALUES ('3922', '3', '47', '222', '3921', '48'); -INSERT INTO cp_tree VALUES ('3923', '3', '49', '222', '3921', '50'); -INSERT INTO cp_tree VALUES ('3924', '3', '51', '222', '3921', '52'); -INSERT INTO cp_tree VALUES ('3925', '3', '53', '222', '3921', '54'); -INSERT INTO cp_tree VALUES ('3926', '3', '55', '222', '3921', '56'); -INSERT INTO cp_tree VALUES ('3927', '3', '57', '222', '3921', '58'); -INSERT INTO cp_tree VALUES ('3928', '2', '60', '222', '3898', '63'); -INSERT INTO cp_tree VALUES ('3929', '3', '61', '222', '3928', '62'); -INSERT INTO cp_tree VALUES ('3930', '2', '64', '222', '3898', '67'); -INSERT INTO cp_tree VALUES ('3931', '3', '65', '222', '3930', '66'); -INSERT INTO cp_tree VALUES ('3932', '2', '68', '222', '3898', '71'); -INSERT INTO cp_tree VALUES ('3933', '3', '69', '222', '3932', '70'); -INSERT INTO cp_tree VALUES ('3934', '2', '72', '222', '3898', '77'); -INSERT INTO cp_tree VALUES ('3935', '3', '73', '222', '3934', '74'); -INSERT INTO cp_tree VALUES ('3936', '3', '75', '222', '3934', '76'); -INSERT INTO cp_tree VALUES ('3937', '2', '78', '222', '3898', '81'); -INSERT INTO cp_tree VALUES ('3938', '3', '79', '222', '3937', '80'); -INSERT INTO cp_tree VALUES ('3939', '2', '82', '222', '3898', '85'); -INSERT INTO cp_tree VALUES ('3940', '3', '83', '222', '3939', '84'); -INSERT INTO cp_tree VALUES ('3941', '2', '86', '222', '3898', '101'); -INSERT INTO cp_tree VALUES ('3942', '3', '87', '222', '3941', '90'); -INSERT INTO cp_tree VALUES ('3943', '4', '88', '222', '3942', '89'); -INSERT INTO cp_tree VALUES ('3944', '3', '91', '222', '3941', '94'); -INSERT INTO cp_tree VALUES ('3945', '4', '92', '222', '3944', '93'); -INSERT INTO cp_tree VALUES ('3946', '3', '95', '222', '3941', '100'); -INSERT INTO cp_tree VALUES ('3947', '4', '96', '222', '3946', '97'); -INSERT INTO cp_tree VALUES ('3948', '4', '98', '222', '3946', '99'); -INSERT INTO cp_tree VALUES ('3949', '2', '102', '222', '3898', '103'); -INSERT INTO cp_tree VALUES ('3950', '1', '1', '223', '0', '102'); -INSERT INTO cp_tree VALUES ('3951', '2', '2', '223', '3950', '45'); -INSERT INTO cp_tree VALUES ('3952', '3', '3', '223', '3951', '10'); -INSERT INTO cp_tree VALUES ('3953', '4', '4', '223', '3952', '5'); -INSERT INTO cp_tree VALUES ('3954', '4', '6', '223', '3952', '7'); -INSERT INTO cp_tree VALUES ('3955', '4', '8', '223', '3952', '9'); -INSERT INTO cp_tree VALUES ('3956', '3', '11', '223', '3951', '36'); -INSERT INTO cp_tree VALUES ('3957', '4', '12', '223', '3956', '19'); -INSERT INTO cp_tree VALUES ('3958', '5', '13', '223', '3957', '14'); -INSERT INTO cp_tree VALUES ('3959', '5', '15', '223', '3957', '16'); -INSERT INTO cp_tree VALUES ('3960', '5', '17', '223', '3957', '18'); -INSERT INTO cp_tree VALUES ('3961', '4', '20', '223', '3956', '27'); -INSERT INTO cp_tree VALUES ('3962', '5', '21', '223', '3961', '22'); -INSERT INTO cp_tree VALUES ('3963', '5', '23', '223', '3961', '24'); -INSERT INTO cp_tree VALUES ('3964', '5', '25', '223', '3961', '26'); -INSERT INTO cp_tree VALUES ('3965', '4', '28', '223', '3956', '35'); -INSERT INTO cp_tree VALUES ('3966', '5', '29', '223', '3965', '30'); -INSERT INTO cp_tree VALUES ('3967', '5', '31', '223', '3965', '32'); -INSERT INTO cp_tree VALUES ('3968', '5', '33', '223', '3965', '34'); -INSERT INTO cp_tree VALUES ('3969', '3', '37', '223', '3951', '44'); -INSERT INTO cp_tree VALUES ('3970', '4', '38', '223', '3969', '39'); -INSERT INTO cp_tree VALUES ('3971', '4', '40', '223', '3969', '41'); -INSERT INTO cp_tree VALUES ('3972', '4', '42', '223', '3969', '43'); -INSERT INTO cp_tree VALUES ('3973', '2', '46', '223', '3950', '59'); -INSERT INTO cp_tree VALUES ('3974', '3', '47', '223', '3973', '48'); -INSERT INTO cp_tree VALUES ('3975', '3', '49', '223', '3973', '50'); -INSERT INTO cp_tree VALUES ('3976', '3', '51', '223', '3973', '52'); -INSERT INTO cp_tree VALUES ('3977', '3', '53', '223', '3973', '54'); -INSERT INTO cp_tree VALUES ('3978', '3', '55', '223', '3973', '56'); -INSERT INTO cp_tree VALUES ('3979', '3', '57', '223', '3973', '58'); -INSERT INTO cp_tree VALUES ('3980', '2', '60', '223', '3950', '63'); -INSERT INTO cp_tree VALUES ('3981', '3', '61', '223', '3980', '62'); -INSERT INTO cp_tree VALUES ('3982', '2', '64', '223', '3950', '67'); -INSERT INTO cp_tree VALUES ('3983', '3', '65', '223', '3982', '66'); -INSERT INTO cp_tree VALUES ('3984', '2', '68', '223', '3950', '71'); -INSERT INTO cp_tree VALUES ('3985', '3', '69', '223', '3984', '70'); -INSERT INTO cp_tree VALUES ('3986', '2', '72', '223', '3950', '77'); -INSERT INTO cp_tree VALUES ('3987', '3', '73', '223', '3986', '74'); -INSERT INTO cp_tree VALUES ('3988', '3', '75', '223', '3986', '76'); -INSERT INTO cp_tree VALUES ('3989', '2', '78', '223', '3950', '81'); -INSERT INTO cp_tree VALUES ('3990', '3', '79', '223', '3989', '80'); -INSERT INTO cp_tree VALUES ('3991', '2', '82', '223', '3950', '85'); -INSERT INTO cp_tree VALUES ('3992', '3', '83', '223', '3991', '84'); -INSERT INTO cp_tree VALUES ('3993', '2', '86', '223', '3950', '99'); -INSERT INTO cp_tree VALUES ('3994', '3', '87', '223', '3993', '90'); -INSERT INTO cp_tree VALUES ('3995', '4', '88', '223', '3994', '89'); -INSERT INTO cp_tree VALUES ('3996', '3', '91', '223', '3993', '94'); -INSERT INTO cp_tree VALUES ('3997', '4', '92', '223', '3996', '93'); -INSERT INTO cp_tree VALUES ('3998', '3', '95', '223', '3993', '98'); -INSERT INTO cp_tree VALUES ('3999', '4', '96', '223', '3998', '97'); -INSERT INTO cp_tree VALUES ('4000', '2', '100', '223', '3950', '101'); -INSERT INTO cp_tree VALUES ('4001', '1', '1', '224', '0', '102'); -INSERT INTO cp_tree VALUES ('4002', '2', '2', '224', '4001', '45'); -INSERT INTO cp_tree VALUES ('4003', '3', '3', '224', '4002', '10'); -INSERT INTO cp_tree VALUES ('4004', '4', '4', '224', '4003', '5'); -INSERT INTO cp_tree VALUES ('4005', '4', '6', '224', '4003', '7'); -INSERT INTO cp_tree VALUES ('4006', '4', '8', '224', '4003', '9'); -INSERT INTO cp_tree VALUES ('4007', '3', '11', '224', '4002', '36'); -INSERT INTO cp_tree VALUES ('4008', '4', '12', '224', '4007', '19'); -INSERT INTO cp_tree VALUES ('4009', '5', '13', '224', '4008', '14'); -INSERT INTO cp_tree VALUES ('4010', '5', '15', '224', '4008', '16'); -INSERT INTO cp_tree VALUES ('4011', '5', '17', '224', '4008', '18'); -INSERT INTO cp_tree VALUES ('4012', '4', '20', '224', '4007', '27'); -INSERT INTO cp_tree VALUES ('4013', '5', '21', '224', '4012', '22'); -INSERT INTO cp_tree VALUES ('4014', '5', '23', '224', '4012', '24'); -INSERT INTO cp_tree VALUES ('4015', '5', '25', '224', '4012', '26'); -INSERT INTO cp_tree VALUES ('4016', '4', '28', '224', '4007', '35'); -INSERT INTO cp_tree VALUES ('4017', '5', '29', '224', '4016', '30'); -INSERT INTO cp_tree VALUES ('4018', '5', '31', '224', '4016', '32'); -INSERT INTO cp_tree VALUES ('4019', '5', '33', '224', '4016', '34'); -INSERT INTO cp_tree VALUES ('4020', '3', '37', '224', '4002', '44'); -INSERT INTO cp_tree VALUES ('4021', '4', '38', '224', '4020', '39'); -INSERT INTO cp_tree VALUES ('4022', '4', '40', '224', '4020', '41'); -INSERT INTO cp_tree VALUES ('4023', '4', '42', '224', '4020', '43'); -INSERT INTO cp_tree VALUES ('4024', '2', '46', '224', '4001', '59'); -INSERT INTO cp_tree VALUES ('4025', '3', '47', '224', '4024', '48'); -INSERT INTO cp_tree VALUES ('4026', '3', '49', '224', '4024', '50'); -INSERT INTO cp_tree VALUES ('4027', '3', '51', '224', '4024', '52'); -INSERT INTO cp_tree VALUES ('4028', '3', '53', '224', '4024', '54'); -INSERT INTO cp_tree VALUES ('4029', '3', '55', '224', '4024', '56'); -INSERT INTO cp_tree VALUES ('4030', '3', '57', '224', '4024', '58'); -INSERT INTO cp_tree VALUES ('4031', '2', '60', '224', '4001', '63'); -INSERT INTO cp_tree VALUES ('4032', '3', '61', '224', '4031', '62'); -INSERT INTO cp_tree VALUES ('4033', '2', '64', '224', '4001', '67'); -INSERT INTO cp_tree VALUES ('4034', '3', '65', '224', '4033', '66'); -INSERT INTO cp_tree VALUES ('4035', '2', '68', '224', '4001', '71'); -INSERT INTO cp_tree VALUES ('4036', '3', '69', '224', '4035', '70'); -INSERT INTO cp_tree VALUES ('4037', '2', '72', '224', '4001', '77'); -INSERT INTO cp_tree VALUES ('4038', '3', '73', '224', '4037', '74'); -INSERT INTO cp_tree VALUES ('4039', '3', '75', '224', '4037', '76'); -INSERT INTO cp_tree VALUES ('4040', '2', '78', '224', '4001', '81'); -INSERT INTO cp_tree VALUES ('4041', '3', '79', '224', '4040', '80'); -INSERT INTO cp_tree VALUES ('4042', '2', '82', '224', '4001', '85'); -INSERT INTO cp_tree VALUES ('4043', '3', '83', '224', '4042', '84'); -INSERT INTO cp_tree VALUES ('4044', '2', '86', '224', '4001', '99'); -INSERT INTO cp_tree VALUES ('4045', '3', '87', '224', '4044', '90'); -INSERT INTO cp_tree VALUES ('4046', '4', '88', '224', '4045', '89'); -INSERT INTO cp_tree VALUES ('4047', '3', '91', '224', '4044', '94'); -INSERT INTO cp_tree VALUES ('4048', '4', '92', '224', '4047', '93'); -INSERT INTO cp_tree VALUES ('4049', '3', '95', '224', '4044', '98'); -INSERT INTO cp_tree VALUES ('4050', '4', '96', '224', '4049', '97'); -INSERT INTO cp_tree VALUES ('4051', '2', '100', '224', '4001', '101'); -INSERT INTO cp_tree VALUES ('4052', '1', '1', '225', '0', '90'); -INSERT INTO cp_tree VALUES ('4053', '2', '2', '225', '4052', '37'); -INSERT INTO cp_tree VALUES ('4054', '3', '3', '225', '4053', '28'); -INSERT INTO cp_tree VALUES ('4055', '4', '4', '225', '4054', '11'); -INSERT INTO cp_tree VALUES ('4056', '5', '5', '225', '4055', '6'); -INSERT INTO cp_tree VALUES ('4057', '5', '7', '225', '4055', '8'); -INSERT INTO cp_tree VALUES ('4058', '5', '9', '225', '4055', '10'); -INSERT INTO cp_tree VALUES ('4059', '4', '12', '225', '4054', '19'); -INSERT INTO cp_tree VALUES ('4060', '5', '13', '225', '4059', '14'); -INSERT INTO cp_tree VALUES ('4061', '5', '15', '225', '4059', '16'); -INSERT INTO cp_tree VALUES ('4062', '5', '17', '225', '4059', '18'); -INSERT INTO cp_tree VALUES ('4063', '4', '20', '225', '4054', '27'); -INSERT INTO cp_tree VALUES ('4064', '5', '21', '225', '4063', '22'); -INSERT INTO cp_tree VALUES ('4065', '5', '23', '225', '4063', '24'); -INSERT INTO cp_tree VALUES ('4066', '5', '25', '225', '4063', '26'); -INSERT INTO cp_tree VALUES ('4067', '3', '29', '225', '4053', '36'); -INSERT INTO cp_tree VALUES ('4068', '4', '30', '225', '4067', '31'); -INSERT INTO cp_tree VALUES ('4069', '4', '32', '225', '4067', '33'); -INSERT INTO cp_tree VALUES ('4070', '4', '34', '225', '4067', '35'); -INSERT INTO cp_tree VALUES ('4071', '2', '38', '225', '4052', '51'); -INSERT INTO cp_tree VALUES ('4072', '3', '39', '225', '4071', '40'); -INSERT INTO cp_tree VALUES ('4073', '3', '41', '225', '4071', '42'); -INSERT INTO cp_tree VALUES ('4074', '3', '43', '225', '4071', '44'); -INSERT INTO cp_tree VALUES ('4075', '3', '45', '225', '4071', '46'); -INSERT INTO cp_tree VALUES ('4076', '3', '47', '225', '4071', '48'); -INSERT INTO cp_tree VALUES ('4077', '3', '49', '225', '4071', '50'); -INSERT INTO cp_tree VALUES ('4078', '2', '52', '225', '4052', '55'); -INSERT INTO cp_tree VALUES ('4079', '3', '53', '225', '4078', '54'); -INSERT INTO cp_tree VALUES ('4080', '2', '56', '225', '4052', '59'); -INSERT INTO cp_tree VALUES ('4081', '3', '57', '225', '4080', '58'); -INSERT INTO cp_tree VALUES ('4082', '2', '60', '225', '4052', '63'); -INSERT INTO cp_tree VALUES ('4083', '3', '61', '225', '4082', '62'); -INSERT INTO cp_tree VALUES ('4084', '2', '64', '225', '4052', '69'); -INSERT INTO cp_tree VALUES ('4085', '3', '65', '225', '4084', '66'); -INSERT INTO cp_tree VALUES ('4086', '3', '67', '225', '4084', '68'); -INSERT INTO cp_tree VALUES ('4087', '2', '70', '225', '4052', '73'); -INSERT INTO cp_tree VALUES ('4088', '3', '71', '225', '4087', '72'); -INSERT INTO cp_tree VALUES ('4089', '2', '74', '225', '4052', '77'); -INSERT INTO cp_tree VALUES ('4090', '3', '75', '225', '4089', '76'); -INSERT INTO cp_tree VALUES ('4091', '2', '78', '225', '4052', '87'); -INSERT INTO cp_tree VALUES ('4092', '3', '79', '225', '4091', '82'); -INSERT INTO cp_tree VALUES ('4093', '4', '80', '225', '4092', '81'); -INSERT INTO cp_tree VALUES ('4094', '3', '83', '225', '4091', '86'); -INSERT INTO cp_tree VALUES ('4095', '4', '84', '225', '4094', '85'); -INSERT INTO cp_tree VALUES ('4096', '2', '88', '225', '4052', '89'); -INSERT INTO cp_tree VALUES ('4097', '1', '1', '226', '0', '94'); -INSERT INTO cp_tree VALUES ('4098', '2', '2', '226', '4097', '37'); -INSERT INTO cp_tree VALUES ('4099', '3', '3', '226', '4098', '28'); -INSERT INTO cp_tree VALUES ('4100', '4', '4', '226', '4099', '11'); -INSERT INTO cp_tree VALUES ('4101', '5', '5', '226', '4100', '6'); -INSERT INTO cp_tree VALUES ('4102', '5', '7', '226', '4100', '8'); -INSERT INTO cp_tree VALUES ('4103', '5', '9', '226', '4100', '10'); -INSERT INTO cp_tree VALUES ('4104', '4', '12', '226', '4099', '19'); -INSERT INTO cp_tree VALUES ('4105', '5', '13', '226', '4104', '14'); -INSERT INTO cp_tree VALUES ('4106', '5', '15', '226', '4104', '16'); -INSERT INTO cp_tree VALUES ('4107', '5', '17', '226', '4104', '18'); -INSERT INTO cp_tree VALUES ('4108', '4', '20', '226', '4099', '27'); -INSERT INTO cp_tree VALUES ('4109', '5', '21', '226', '4108', '22'); -INSERT INTO cp_tree VALUES ('4110', '5', '23', '226', '4108', '24'); -INSERT INTO cp_tree VALUES ('4111', '5', '25', '226', '4108', '26'); -INSERT INTO cp_tree VALUES ('4112', '3', '29', '226', '4098', '36'); -INSERT INTO cp_tree VALUES ('4113', '4', '30', '226', '4112', '31'); -INSERT INTO cp_tree VALUES ('4114', '4', '32', '226', '4112', '33'); -INSERT INTO cp_tree VALUES ('4115', '4', '34', '226', '4112', '35'); -INSERT INTO cp_tree VALUES ('4116', '2', '38', '226', '4097', '51'); -INSERT INTO cp_tree VALUES ('4117', '3', '39', '226', '4116', '40'); -INSERT INTO cp_tree VALUES ('4118', '3', '41', '226', '4116', '42'); -INSERT INTO cp_tree VALUES ('4119', '3', '43', '226', '4116', '44'); -INSERT INTO cp_tree VALUES ('4120', '3', '45', '226', '4116', '46'); -INSERT INTO cp_tree VALUES ('4121', '3', '47', '226', '4116', '48'); -INSERT INTO cp_tree VALUES ('4122', '3', '49', '226', '4116', '50'); -INSERT INTO cp_tree VALUES ('4123', '2', '52', '226', '4097', '55'); -INSERT INTO cp_tree VALUES ('4124', '3', '53', '226', '4123', '54'); -INSERT INTO cp_tree VALUES ('4125', '2', '56', '226', '4097', '59'); -INSERT INTO cp_tree VALUES ('4126', '3', '57', '226', '4125', '58'); -INSERT INTO cp_tree VALUES ('4127', '2', '60', '226', '4097', '63'); -INSERT INTO cp_tree VALUES ('4128', '3', '61', '226', '4127', '62'); -INSERT INTO cp_tree VALUES ('4129', '2', '64', '226', '4097', '69'); -INSERT INTO cp_tree VALUES ('4130', '3', '65', '226', '4129', '66'); -INSERT INTO cp_tree VALUES ('4131', '3', '67', '226', '4129', '68'); -INSERT INTO cp_tree VALUES ('4132', '2', '70', '226', '4097', '73'); -INSERT INTO cp_tree VALUES ('4133', '3', '71', '226', '4132', '72'); -INSERT INTO cp_tree VALUES ('4134', '2', '74', '226', '4097', '77'); -INSERT INTO cp_tree VALUES ('4135', '3', '75', '226', '4134', '76'); -INSERT INTO cp_tree VALUES ('4136', '2', '78', '226', '4097', '91'); -INSERT INTO cp_tree VALUES ('4137', '3', '79', '226', '4136', '82'); -INSERT INTO cp_tree VALUES ('4138', '4', '80', '226', '4137', '81'); -INSERT INTO cp_tree VALUES ('4139', '3', '83', '226', '4136', '86'); -INSERT INTO cp_tree VALUES ('4140', '4', '84', '226', '4139', '85'); -INSERT INTO cp_tree VALUES ('4141', '3', '87', '226', '4136', '90'); -INSERT INTO cp_tree VALUES ('4142', '4', '88', '226', '4141', '89'); -INSERT INTO cp_tree VALUES ('4143', '2', '92', '226', '4097', '93'); -INSERT INTO cp_tree VALUES ('4144', '1', '1', '227', '0', '110'); -INSERT INTO cp_tree VALUES ('4145', '2', '2', '227', '4144', '45'); -INSERT INTO cp_tree VALUES ('4146', '3', '3', '227', '4145', '10'); -INSERT INTO cp_tree VALUES ('4147', '4', '4', '227', '4146', '5'); -INSERT INTO cp_tree VALUES ('4148', '4', '6', '227', '4146', '7'); -INSERT INTO cp_tree VALUES ('4149', '4', '8', '227', '4146', '9'); -INSERT INTO cp_tree VALUES ('4150', '3', '11', '227', '4145', '36'); -INSERT INTO cp_tree VALUES ('4151', '4', '12', '227', '4150', '19'); -INSERT INTO cp_tree VALUES ('4152', '5', '13', '227', '4151', '14'); -INSERT INTO cp_tree VALUES ('4153', '5', '15', '227', '4151', '16'); -INSERT INTO cp_tree VALUES ('4154', '5', '17', '227', '4151', '18'); -INSERT INTO cp_tree VALUES ('4155', '4', '20', '227', '4150', '27'); -INSERT INTO cp_tree VALUES ('4156', '5', '21', '227', '4155', '22'); -INSERT INTO cp_tree VALUES ('4157', '5', '23', '227', '4155', '24'); -INSERT INTO cp_tree VALUES ('4158', '5', '25', '227', '4155', '26'); -INSERT INTO cp_tree VALUES ('4159', '4', '28', '227', '4150', '35'); -INSERT INTO cp_tree VALUES ('4160', '5', '29', '227', '4159', '30'); -INSERT INTO cp_tree VALUES ('4161', '5', '31', '227', '4159', '32'); -INSERT INTO cp_tree VALUES ('4162', '5', '33', '227', '4159', '34'); -INSERT INTO cp_tree VALUES ('4163', '3', '37', '227', '4145', '44'); -INSERT INTO cp_tree VALUES ('4164', '4', '38', '227', '4163', '39'); -INSERT INTO cp_tree VALUES ('4165', '4', '40', '227', '4163', '41'); -INSERT INTO cp_tree VALUES ('4166', '4', '42', '227', '4163', '43'); -INSERT INTO cp_tree VALUES ('4167', '2', '46', '227', '4144', '59'); -INSERT INTO cp_tree VALUES ('4168', '3', '47', '227', '4167', '48'); -INSERT INTO cp_tree VALUES ('4169', '3', '49', '227', '4167', '50'); -INSERT INTO cp_tree VALUES ('4170', '3', '51', '227', '4167', '52'); -INSERT INTO cp_tree VALUES ('4171', '3', '53', '227', '4167', '54'); -INSERT INTO cp_tree VALUES ('4172', '3', '55', '227', '4167', '56'); -INSERT INTO cp_tree VALUES ('4173', '3', '57', '227', '4167', '58'); -INSERT INTO cp_tree VALUES ('4174', '2', '60', '227', '4144', '63'); -INSERT INTO cp_tree VALUES ('4175', '3', '61', '227', '4174', '62'); -INSERT INTO cp_tree VALUES ('4176', '2', '64', '227', '4144', '67'); -INSERT INTO cp_tree VALUES ('4177', '3', '65', '227', '4176', '66'); -INSERT INTO cp_tree VALUES ('4178', '2', '68', '227', '4144', '71'); -INSERT INTO cp_tree VALUES ('4179', '3', '69', '227', '4178', '70'); -INSERT INTO cp_tree VALUES ('4180', '2', '72', '227', '4144', '77'); -INSERT INTO cp_tree VALUES ('4181', '3', '73', '227', '4180', '74'); -INSERT INTO cp_tree VALUES ('4182', '3', '75', '227', '4180', '76'); -INSERT INTO cp_tree VALUES ('4183', '2', '78', '227', '4144', '81'); -INSERT INTO cp_tree VALUES ('4184', '3', '79', '227', '4183', '80'); -INSERT INTO cp_tree VALUES ('4185', '2', '82', '227', '4144', '85'); -INSERT INTO cp_tree VALUES ('4186', '3', '83', '227', '4185', '84'); -INSERT INTO cp_tree VALUES ('4187', '2', '86', '227', '4144', '91'); -INSERT INTO cp_tree VALUES ('4188', '3', '87', '227', '4187', '90'); -INSERT INTO cp_tree VALUES ('4189', '4', '88', '227', '4188', '89'); -INSERT INTO cp_tree VALUES ('4190', '2', '92', '227', '4144', '97'); -INSERT INTO cp_tree VALUES ('4191', '3', '93', '227', '4190', '96'); -INSERT INTO cp_tree VALUES ('4192', '4', '94', '227', '4191', '95'); -INSERT INTO cp_tree VALUES ('4193', '2', '98', '227', '4144', '107'); -INSERT INTO cp_tree VALUES ('4194', '3', '99', '227', '4193', '102'); -INSERT INTO cp_tree VALUES ('4195', '4', '100', '227', '4194', '101'); -INSERT INTO cp_tree VALUES ('4196', '3', '103', '227', '4193', '106'); -INSERT INTO cp_tree VALUES ('4197', '4', '104', '227', '4196', '105'); -INSERT INTO cp_tree VALUES ('4198', '2', '108', '227', '4144', '109'); -INSERT INTO cp_tree VALUES ('4199', '1', '1', '228', '0', '110'); -INSERT INTO cp_tree VALUES ('4200', '2', '2', '228', '4199', '45'); -INSERT INTO cp_tree VALUES ('4201', '3', '3', '228', '4200', '10'); -INSERT INTO cp_tree VALUES ('4202', '4', '4', '228', '4201', '5'); -INSERT INTO cp_tree VALUES ('4203', '4', '6', '228', '4201', '7'); -INSERT INTO cp_tree VALUES ('4204', '4', '8', '228', '4201', '9'); -INSERT INTO cp_tree VALUES ('4205', '3', '11', '228', '4200', '36'); -INSERT INTO cp_tree VALUES ('4206', '4', '12', '228', '4205', '19'); -INSERT INTO cp_tree VALUES ('4207', '5', '13', '228', '4206', '14'); -INSERT INTO cp_tree VALUES ('4208', '5', '15', '228', '4206', '16'); -INSERT INTO cp_tree VALUES ('4209', '5', '17', '228', '4206', '18'); -INSERT INTO cp_tree VALUES ('4210', '4', '20', '228', '4205', '27'); -INSERT INTO cp_tree VALUES ('4211', '5', '21', '228', '4210', '22'); -INSERT INTO cp_tree VALUES ('4212', '5', '23', '228', '4210', '24'); -INSERT INTO cp_tree VALUES ('4213', '5', '25', '228', '4210', '26'); -INSERT INTO cp_tree VALUES ('4214', '4', '28', '228', '4205', '35'); -INSERT INTO cp_tree VALUES ('4215', '5', '29', '228', '4214', '30'); -INSERT INTO cp_tree VALUES ('4216', '5', '31', '228', '4214', '32'); -INSERT INTO cp_tree VALUES ('4217', '5', '33', '228', '4214', '34'); -INSERT INTO cp_tree VALUES ('4218', '3', '37', '228', '4200', '44'); -INSERT INTO cp_tree VALUES ('4219', '4', '38', '228', '4218', '39'); -INSERT INTO cp_tree VALUES ('4220', '4', '40', '228', '4218', '41'); -INSERT INTO cp_tree VALUES ('4221', '4', '42', '228', '4218', '43'); -INSERT INTO cp_tree VALUES ('4222', '2', '46', '228', '4199', '59'); -INSERT INTO cp_tree VALUES ('4223', '3', '47', '228', '4222', '48'); -INSERT INTO cp_tree VALUES ('4224', '3', '49', '228', '4222', '50'); -INSERT INTO cp_tree VALUES ('4225', '3', '51', '228', '4222', '52'); -INSERT INTO cp_tree VALUES ('4226', '3', '53', '228', '4222', '54'); -INSERT INTO cp_tree VALUES ('4227', '3', '55', '228', '4222', '56'); -INSERT INTO cp_tree VALUES ('4228', '3', '57', '228', '4222', '58'); -INSERT INTO cp_tree VALUES ('4229', '2', '60', '228', '4199', '63'); -INSERT INTO cp_tree VALUES ('4230', '3', '61', '228', '4229', '62'); -INSERT INTO cp_tree VALUES ('4231', '2', '64', '228', '4199', '67'); -INSERT INTO cp_tree VALUES ('4232', '3', '65', '228', '4231', '66'); -INSERT INTO cp_tree VALUES ('4233', '2', '68', '228', '4199', '71'); -INSERT INTO cp_tree VALUES ('4234', '3', '69', '228', '4233', '70'); -INSERT INTO cp_tree VALUES ('4235', '2', '72', '228', '4199', '77'); -INSERT INTO cp_tree VALUES ('4236', '3', '73', '228', '4235', '74'); -INSERT INTO cp_tree VALUES ('4237', '3', '75', '228', '4235', '76'); -INSERT INTO cp_tree VALUES ('4238', '2', '78', '228', '4199', '81'); -INSERT INTO cp_tree VALUES ('4239', '3', '79', '228', '4238', '80'); -INSERT INTO cp_tree VALUES ('4240', '2', '82', '228', '4199', '85'); -INSERT INTO cp_tree VALUES ('4241', '3', '83', '228', '4240', '84'); -INSERT INTO cp_tree VALUES ('4242', '2', '86', '228', '4199', '91'); -INSERT INTO cp_tree VALUES ('4243', '3', '87', '228', '4242', '90'); -INSERT INTO cp_tree VALUES ('4244', '4', '88', '228', '4243', '89'); -INSERT INTO cp_tree VALUES ('4245', '2', '92', '228', '4199', '97'); -INSERT INTO cp_tree VALUES ('4246', '3', '93', '228', '4245', '96'); -INSERT INTO cp_tree VALUES ('4247', '4', '94', '228', '4246', '95'); -INSERT INTO cp_tree VALUES ('4248', '2', '98', '228', '4199', '107'); -INSERT INTO cp_tree VALUES ('4249', '3', '99', '228', '4248', '102'); -INSERT INTO cp_tree VALUES ('4250', '4', '100', '228', '4249', '101'); -INSERT INTO cp_tree VALUES ('4251', '3', '103', '228', '4248', '106'); -INSERT INTO cp_tree VALUES ('4252', '4', '104', '228', '4251', '105'); -INSERT INTO cp_tree VALUES ('4253', '2', '108', '228', '4199', '109'); -INSERT INTO cp_tree VALUES ('4254', '1', '1', '229', '0', '104'); -INSERT INTO cp_tree VALUES ('4255', '2', '2', '229', '4254', '45'); -INSERT INTO cp_tree VALUES ('4256', '3', '3', '229', '4255', '28'); -INSERT INTO cp_tree VALUES ('4257', '4', '4', '229', '4256', '11'); -INSERT INTO cp_tree VALUES ('4258', '5', '5', '229', '4257', '6'); -INSERT INTO cp_tree VALUES ('4259', '5', '7', '229', '4257', '8'); -INSERT INTO cp_tree VALUES ('4260', '5', '9', '229', '4257', '10'); -INSERT INTO cp_tree VALUES ('4261', '4', '12', '229', '4256', '19'); -INSERT INTO cp_tree VALUES ('4262', '5', '13', '229', '4261', '14'); -INSERT INTO cp_tree VALUES ('4263', '5', '15', '229', '4261', '16'); -INSERT INTO cp_tree VALUES ('4264', '5', '17', '229', '4261', '18'); -INSERT INTO cp_tree VALUES ('4265', '4', '20', '229', '4256', '27'); -INSERT INTO cp_tree VALUES ('4266', '5', '21', '229', '4265', '22'); -INSERT INTO cp_tree VALUES ('4267', '5', '23', '229', '4265', '24'); -INSERT INTO cp_tree VALUES ('4268', '5', '25', '229', '4265', '26'); -INSERT INTO cp_tree VALUES ('4269', '3', '29', '229', '4255', '36'); -INSERT INTO cp_tree VALUES ('4270', '4', '30', '229', '4269', '31'); -INSERT INTO cp_tree VALUES ('4271', '4', '32', '229', '4269', '33'); -INSERT INTO cp_tree VALUES ('4272', '4', '34', '229', '4269', '35'); -INSERT INTO cp_tree VALUES ('4273', '3', '37', '229', '4255', '44'); -INSERT INTO cp_tree VALUES ('4274', '4', '38', '229', '4273', '39'); -INSERT INTO cp_tree VALUES ('4275', '4', '40', '229', '4273', '41'); -INSERT INTO cp_tree VALUES ('4276', '4', '42', '229', '4273', '43'); -INSERT INTO cp_tree VALUES ('4277', '2', '46', '229', '4254', '59'); -INSERT INTO cp_tree VALUES ('4278', '3', '47', '229', '4277', '48'); -INSERT INTO cp_tree VALUES ('4279', '3', '49', '229', '4277', '50'); -INSERT INTO cp_tree VALUES ('4280', '3', '51', '229', '4277', '52'); -INSERT INTO cp_tree VALUES ('4281', '3', '53', '229', '4277', '54'); -INSERT INTO cp_tree VALUES ('4282', '3', '55', '229', '4277', '56'); -INSERT INTO cp_tree VALUES ('4283', '3', '57', '229', '4277', '58'); -INSERT INTO cp_tree VALUES ('4284', '2', '60', '229', '4254', '63'); -INSERT INTO cp_tree VALUES ('4285', '3', '61', '229', '4284', '62'); -INSERT INTO cp_tree VALUES ('4286', '2', '64', '229', '4254', '67'); -INSERT INTO cp_tree VALUES ('4287', '3', '65', '229', '4286', '66'); -INSERT INTO cp_tree VALUES ('4288', '2', '68', '229', '4254', '71'); -INSERT INTO cp_tree VALUES ('4289', '3', '69', '229', '4288', '70'); -INSERT INTO cp_tree VALUES ('4290', '2', '72', '229', '4254', '77'); -INSERT INTO cp_tree VALUES ('4291', '3', '73', '229', '4290', '74'); -INSERT INTO cp_tree VALUES ('4292', '3', '75', '229', '4290', '76'); -INSERT INTO cp_tree VALUES ('4293', '2', '78', '229', '4254', '81'); -INSERT INTO cp_tree VALUES ('4294', '3', '79', '229', '4293', '80'); -INSERT INTO cp_tree VALUES ('4295', '2', '82', '229', '4254', '85'); -INSERT INTO cp_tree VALUES ('4296', '3', '83', '229', '4295', '84'); -INSERT INTO cp_tree VALUES ('4297', '2', '86', '229', '4254', '91'); -INSERT INTO cp_tree VALUES ('4298', '3', '87', '229', '4297', '90'); -INSERT INTO cp_tree VALUES ('4299', '4', '88', '229', '4298', '89'); -INSERT INTO cp_tree VALUES ('4300', '2', '92', '229', '4254', '93'); -INSERT INTO cp_tree VALUES ('4301', '2', '94', '229', '4254', '103'); -INSERT INTO cp_tree VALUES ('4302', '3', '95', '229', '4301', '98'); -INSERT INTO cp_tree VALUES ('4303', '4', '96', '229', '4302', '97'); -INSERT INTO cp_tree VALUES ('4304', '3', '99', '229', '4301', '102'); -INSERT INTO cp_tree VALUES ('4305', '4', '100', '229', '4304', '101'); -INSERT INTO cp_tree VALUES ('4306', '1', '1', '230', '0', '134'); -INSERT INTO cp_tree VALUES ('4307', '2', '2', '230', '4306', '55'); -INSERT INTO cp_tree VALUES ('4308', '3', '3', '230', '4307', '10'); -INSERT INTO cp_tree VALUES ('4309', '4', '4', '230', '4308', '5'); -INSERT INTO cp_tree VALUES ('4310', '4', '6', '230', '4308', '7'); -INSERT INTO cp_tree VALUES ('4311', '4', '8', '230', '4308', '9'); -INSERT INTO cp_tree VALUES ('4312', '3', '11', '230', '4307', '46'); -INSERT INTO cp_tree VALUES ('4313', '4', '12', '230', '4312', '37'); -INSERT INTO cp_tree VALUES ('4314', '5', '13', '230', '4313', '20'); -INSERT INTO cp_tree VALUES ('4315', '6', '14', '230', '4314', '15'); -INSERT INTO cp_tree VALUES ('4316', '6', '16', '230', '4314', '17'); -INSERT INTO cp_tree VALUES ('4317', '6', '18', '230', '4314', '19'); -INSERT INTO cp_tree VALUES ('4318', '5', '21', '230', '4313', '28'); -INSERT INTO cp_tree VALUES ('4319', '6', '22', '230', '4318', '23'); -INSERT INTO cp_tree VALUES ('4320', '6', '24', '230', '4318', '25'); -INSERT INTO cp_tree VALUES ('4321', '6', '26', '230', '4318', '27'); -INSERT INTO cp_tree VALUES ('4322', '5', '29', '230', '4313', '36'); -INSERT INTO cp_tree VALUES ('4323', '6', '30', '230', '4322', '31'); -INSERT INTO cp_tree VALUES ('4324', '6', '32', '230', '4322', '33'); -INSERT INTO cp_tree VALUES ('4325', '6', '34', '230', '4322', '35'); -INSERT INTO cp_tree VALUES ('4326', '4', '38', '230', '4312', '45'); -INSERT INTO cp_tree VALUES ('4327', '5', '39', '230', '4326', '40'); -INSERT INTO cp_tree VALUES ('4328', '5', '41', '230', '4326', '42'); -INSERT INTO cp_tree VALUES ('4329', '5', '43', '230', '4326', '44'); -INSERT INTO cp_tree VALUES ('4330', '3', '47', '230', '4307', '54'); -INSERT INTO cp_tree VALUES ('4331', '4', '48', '230', '4330', '49'); -INSERT INTO cp_tree VALUES ('4332', '4', '50', '230', '4330', '51'); -INSERT INTO cp_tree VALUES ('4333', '4', '52', '230', '4330', '53'); -INSERT INTO cp_tree VALUES ('4334', '2', '56', '230', '4306', '69'); -INSERT INTO cp_tree VALUES ('4335', '3', '57', '230', '4334', '58'); -INSERT INTO cp_tree VALUES ('4336', '3', '59', '230', '4334', '60'); -INSERT INTO cp_tree VALUES ('4337', '3', '61', '230', '4334', '62'); -INSERT INTO cp_tree VALUES ('4338', '3', '63', '230', '4334', '64'); -INSERT INTO cp_tree VALUES ('4339', '3', '65', '230', '4334', '66'); -INSERT INTO cp_tree VALUES ('4340', '3', '67', '230', '4334', '68'); -INSERT INTO cp_tree VALUES ('4341', '2', '70', '230', '4306', '73'); -INSERT INTO cp_tree VALUES ('4342', '3', '71', '230', '4341', '72'); -INSERT INTO cp_tree VALUES ('4343', '2', '74', '230', '4306', '77'); -INSERT INTO cp_tree VALUES ('4344', '3', '75', '230', '4343', '76'); -INSERT INTO cp_tree VALUES ('4345', '2', '78', '230', '4306', '81'); -INSERT INTO cp_tree VALUES ('4346', '3', '79', '230', '4345', '80'); -INSERT INTO cp_tree VALUES ('4347', '2', '82', '230', '4306', '87'); -INSERT INTO cp_tree VALUES ('4348', '3', '83', '230', '4347', '84'); -INSERT INTO cp_tree VALUES ('4349', '3', '85', '230', '4347', '86'); -INSERT INTO cp_tree VALUES ('4350', '2', '88', '230', '4306', '91'); -INSERT INTO cp_tree VALUES ('4351', '3', '89', '230', '4350', '90'); -INSERT INTO cp_tree VALUES ('4352', '2', '92', '230', '4306', '95'); -INSERT INTO cp_tree VALUES ('4353', '3', '93', '230', '4352', '94'); -INSERT INTO cp_tree VALUES ('4354', '2', '96', '230', '4306', '117'); -INSERT INTO cp_tree VALUES ('4355', '3', '97', '230', '4354', '100'); -INSERT INTO cp_tree VALUES ('4356', '4', '98', '230', '4355', '99'); -INSERT INTO cp_tree VALUES ('4357', '3', '101', '230', '4354', '104'); -INSERT INTO cp_tree VALUES ('4358', '4', '102', '230', '4357', '103'); -INSERT INTO cp_tree VALUES ('4359', '3', '105', '230', '4354', '112'); -INSERT INTO cp_tree VALUES ('4360', '4', '106', '230', '4359', '107'); -INSERT INTO cp_tree VALUES ('4361', '4', '108', '230', '4359', '109'); -INSERT INTO cp_tree VALUES ('4362', '4', '110', '230', '4359', '111'); -INSERT INTO cp_tree VALUES ('4363', '3', '113', '230', '4354', '116'); -INSERT INTO cp_tree VALUES ('4364', '4', '114', '230', '4363', '115'); -INSERT INTO cp_tree VALUES ('4365', '2', '118', '230', '4306', '119'); -INSERT INTO cp_tree VALUES ('4366', '2', '120', '230', '4306', '131'); -INSERT INTO cp_tree VALUES ('4367', '3', '121', '230', '4366', '124'); -INSERT INTO cp_tree VALUES ('4368', '4', '122', '230', '4367', '123'); -INSERT INTO cp_tree VALUES ('4369', '3', '125', '230', '4366', '130'); -INSERT INTO cp_tree VALUES ('4370', '4', '126', '230', '4369', '127'); -INSERT INTO cp_tree VALUES ('4371', '4', '128', '230', '4369', '129'); -INSERT INTO cp_tree VALUES ('4372', '2', '132', '230', '4306', '133'); -INSERT INTO cp_tree VALUES ('4373', '1', '1', '231', '0', '138'); -INSERT INTO cp_tree VALUES ('4374', '2', '2', '231', '4373', '55'); -INSERT INTO cp_tree VALUES ('4375', '3', '3', '231', '4374', '10'); -INSERT INTO cp_tree VALUES ('4376', '4', '4', '231', '4375', '5'); -INSERT INTO cp_tree VALUES ('4377', '4', '6', '231', '4375', '7'); -INSERT INTO cp_tree VALUES ('4378', '4', '8', '231', '4375', '9'); -INSERT INTO cp_tree VALUES ('4379', '3', '11', '231', '4374', '46'); -INSERT INTO cp_tree VALUES ('4380', '4', '12', '231', '4379', '37'); -INSERT INTO cp_tree VALUES ('4381', '5', '13', '231', '4380', '20'); -INSERT INTO cp_tree VALUES ('4382', '6', '14', '231', '4381', '15'); -INSERT INTO cp_tree VALUES ('4383', '6', '16', '231', '4381', '17'); -INSERT INTO cp_tree VALUES ('4384', '6', '18', '231', '4381', '19'); -INSERT INTO cp_tree VALUES ('4385', '5', '21', '231', '4380', '28'); -INSERT INTO cp_tree VALUES ('4386', '6', '22', '231', '4385', '23'); -INSERT INTO cp_tree VALUES ('4387', '6', '24', '231', '4385', '25'); -INSERT INTO cp_tree VALUES ('4388', '6', '26', '231', '4385', '27'); -INSERT INTO cp_tree VALUES ('4389', '5', '29', '231', '4380', '36'); -INSERT INTO cp_tree VALUES ('4390', '6', '30', '231', '4389', '31'); -INSERT INTO cp_tree VALUES ('4391', '6', '32', '231', '4389', '33'); -INSERT INTO cp_tree VALUES ('4392', '6', '34', '231', '4389', '35'); -INSERT INTO cp_tree VALUES ('4393', '4', '38', '231', '4379', '45'); -INSERT INTO cp_tree VALUES ('4394', '5', '39', '231', '4393', '40'); -INSERT INTO cp_tree VALUES ('4395', '5', '41', '231', '4393', '42'); -INSERT INTO cp_tree VALUES ('4396', '5', '43', '231', '4393', '44'); -INSERT INTO cp_tree VALUES ('4397', '3', '47', '231', '4374', '54'); -INSERT INTO cp_tree VALUES ('4398', '4', '48', '231', '4397', '49'); -INSERT INTO cp_tree VALUES ('4399', '4', '50', '231', '4397', '51'); -INSERT INTO cp_tree VALUES ('4400', '4', '52', '231', '4397', '53'); -INSERT INTO cp_tree VALUES ('4401', '2', '56', '231', '4373', '69'); -INSERT INTO cp_tree VALUES ('4402', '3', '57', '231', '4401', '58'); -INSERT INTO cp_tree VALUES ('4403', '3', '59', '231', '4401', '60'); -INSERT INTO cp_tree VALUES ('4404', '3', '61', '231', '4401', '62'); -INSERT INTO cp_tree VALUES ('4405', '3', '63', '231', '4401', '64'); -INSERT INTO cp_tree VALUES ('4406', '3', '65', '231', '4401', '66'); -INSERT INTO cp_tree VALUES ('4407', '3', '67', '231', '4401', '68'); -INSERT INTO cp_tree VALUES ('4408', '2', '70', '231', '4373', '73'); -INSERT INTO cp_tree VALUES ('4409', '3', '71', '231', '4408', '72'); -INSERT INTO cp_tree VALUES ('4410', '2', '74', '231', '4373', '77'); -INSERT INTO cp_tree VALUES ('4411', '3', '75', '231', '4410', '76'); -INSERT INTO cp_tree VALUES ('4412', '2', '78', '231', '4373', '81'); -INSERT INTO cp_tree VALUES ('4413', '3', '79', '231', '4412', '80'); -INSERT INTO cp_tree VALUES ('4414', '2', '82', '231', '4373', '87'); -INSERT INTO cp_tree VALUES ('4415', '3', '83', '231', '4414', '84'); -INSERT INTO cp_tree VALUES ('4416', '3', '85', '231', '4414', '86'); -INSERT INTO cp_tree VALUES ('4417', '2', '88', '231', '4373', '91'); -INSERT INTO cp_tree VALUES ('4418', '3', '89', '231', '4417', '90'); -INSERT INTO cp_tree VALUES ('4419', '2', '92', '231', '4373', '95'); -INSERT INTO cp_tree VALUES ('4420', '3', '93', '231', '4419', '94'); -INSERT INTO cp_tree VALUES ('4421', '2', '96', '231', '4373', '97'); -INSERT INTO cp_tree VALUES ('4422', '2', '98', '231', '4373', '99'); -INSERT INTO cp_tree VALUES ('4423', '2', '100', '231', '4373', '101'); -INSERT INTO cp_tree VALUES ('4424', '2', '102', '231', '4373', '123'); -INSERT INTO cp_tree VALUES ('4425', '3', '103', '231', '4424', '106'); -INSERT INTO cp_tree VALUES ('4426', '4', '104', '231', '4425', '105'); -INSERT INTO cp_tree VALUES ('4427', '3', '107', '231', '4424', '110'); -INSERT INTO cp_tree VALUES ('4428', '4', '108', '231', '4427', '109'); -INSERT INTO cp_tree VALUES ('4429', '3', '111', '231', '4424', '118'); -INSERT INTO cp_tree VALUES ('4430', '4', '112', '231', '4429', '113'); -INSERT INTO cp_tree VALUES ('4431', '4', '114', '231', '4429', '115'); -INSERT INTO cp_tree VALUES ('4432', '4', '116', '231', '4429', '117'); -INSERT INTO cp_tree VALUES ('4433', '3', '119', '231', '4424', '122'); -INSERT INTO cp_tree VALUES ('4434', '4', '120', '231', '4433', '121'); -INSERT INTO cp_tree VALUES ('4435', '2', '124', '231', '4373', '135'); -INSERT INTO cp_tree VALUES ('4436', '3', '125', '231', '4435', '128'); -INSERT INTO cp_tree VALUES ('4437', '4', '126', '231', '4436', '127'); -INSERT INTO cp_tree VALUES ('4438', '3', '129', '231', '4435', '134'); -INSERT INTO cp_tree VALUES ('4439', '4', '130', '231', '4438', '131'); -INSERT INTO cp_tree VALUES ('4440', '4', '132', '231', '4438', '133'); -INSERT INTO cp_tree VALUES ('4441', '2', '136', '231', '4373', '137'); -INSERT INTO cp_tree VALUES ('4442', '1', '1', '232', '0', '108'); -INSERT INTO cp_tree VALUES ('4443', '2', '2', '232', '4442', '45'); -INSERT INTO cp_tree VALUES ('4444', '3', '3', '232', '4443', '10'); -INSERT INTO cp_tree VALUES ('4445', '4', '4', '232', '4444', '5'); -INSERT INTO cp_tree VALUES ('4446', '4', '6', '232', '4444', '7'); -INSERT INTO cp_tree VALUES ('4447', '4', '8', '232', '4444', '9'); -INSERT INTO cp_tree VALUES ('4448', '3', '11', '232', '4443', '36'); -INSERT INTO cp_tree VALUES ('4449', '4', '12', '232', '4448', '19'); -INSERT INTO cp_tree VALUES ('4450', '5', '13', '232', '4449', '14'); -INSERT INTO cp_tree VALUES ('4451', '5', '15', '232', '4449', '16'); -INSERT INTO cp_tree VALUES ('4452', '5', '17', '232', '4449', '18'); -INSERT INTO cp_tree VALUES ('4453', '4', '20', '232', '4448', '27'); -INSERT INTO cp_tree VALUES ('4454', '5', '21', '232', '4453', '22'); -INSERT INTO cp_tree VALUES ('4455', '5', '23', '232', '4453', '24'); -INSERT INTO cp_tree VALUES ('4456', '5', '25', '232', '4453', '26'); -INSERT INTO cp_tree VALUES ('4457', '4', '28', '232', '4448', '35'); -INSERT INTO cp_tree VALUES ('4458', '5', '29', '232', '4457', '30'); -INSERT INTO cp_tree VALUES ('4459', '5', '31', '232', '4457', '32'); -INSERT INTO cp_tree VALUES ('4460', '5', '33', '232', '4457', '34'); -INSERT INTO cp_tree VALUES ('4461', '3', '37', '232', '4443', '44'); -INSERT INTO cp_tree VALUES ('4462', '4', '38', '232', '4461', '39'); -INSERT INTO cp_tree VALUES ('4463', '4', '40', '232', '4461', '41'); -INSERT INTO cp_tree VALUES ('4464', '4', '42', '232', '4461', '43'); -INSERT INTO cp_tree VALUES ('4465', '2', '46', '232', '4442', '59'); -INSERT INTO cp_tree VALUES ('4466', '3', '47', '232', '4465', '48'); -INSERT INTO cp_tree VALUES ('4467', '3', '49', '232', '4465', '50'); -INSERT INTO cp_tree VALUES ('4468', '3', '51', '232', '4465', '52'); -INSERT INTO cp_tree VALUES ('4469', '3', '53', '232', '4465', '54'); -INSERT INTO cp_tree VALUES ('4470', '3', '55', '232', '4465', '56'); -INSERT INTO cp_tree VALUES ('4471', '3', '57', '232', '4465', '58'); -INSERT INTO cp_tree VALUES ('4472', '2', '60', '232', '4442', '63'); -INSERT INTO cp_tree VALUES ('4473', '3', '61', '232', '4472', '62'); -INSERT INTO cp_tree VALUES ('4474', '2', '64', '232', '4442', '67'); -INSERT INTO cp_tree VALUES ('4475', '3', '65', '232', '4474', '66'); -INSERT INTO cp_tree VALUES ('4476', '2', '68', '232', '4442', '71'); -INSERT INTO cp_tree VALUES ('4477', '3', '69', '232', '4476', '70'); -INSERT INTO cp_tree VALUES ('4478', '2', '72', '232', '4442', '77'); -INSERT INTO cp_tree VALUES ('4479', '3', '73', '232', '4478', '74'); -INSERT INTO cp_tree VALUES ('4480', '3', '75', '232', '4478', '76'); -INSERT INTO cp_tree VALUES ('4481', '2', '78', '232', '4442', '81'); -INSERT INTO cp_tree VALUES ('4482', '3', '79', '232', '4481', '80'); -INSERT INTO cp_tree VALUES ('4483', '2', '82', '232', '4442', '85'); -INSERT INTO cp_tree VALUES ('4484', '3', '83', '232', '4483', '84'); -INSERT INTO cp_tree VALUES ('4485', '2', '86', '232', '4442', '91'); -INSERT INTO cp_tree VALUES ('4486', '3', '87', '232', '4485', '90'); -INSERT INTO cp_tree VALUES ('4487', '4', '88', '232', '4486', '89'); -INSERT INTO cp_tree VALUES ('4488', '2', '92', '232', '4442', '105'); -INSERT INTO cp_tree VALUES ('4489', '3', '93', '232', '4488', '96'); -INSERT INTO cp_tree VALUES ('4490', '4', '94', '232', '4489', '95'); -INSERT INTO cp_tree VALUES ('4491', '3', '97', '232', '4488', '100'); -INSERT INTO cp_tree VALUES ('4492', '4', '98', '232', '4491', '99'); -INSERT INTO cp_tree VALUES ('4493', '3', '101', '232', '4488', '104'); -INSERT INTO cp_tree VALUES ('4494', '4', '102', '232', '4493', '103'); -INSERT INTO cp_tree VALUES ('4495', '2', '106', '232', '4442', '107'); -INSERT INTO cp_tree VALUES ('4496', '1', '1', '233', '0', '102'); -INSERT INTO cp_tree VALUES ('4497', '2', '2', '233', '4496', '45'); -INSERT INTO cp_tree VALUES ('4498', '3', '3', '233', '4497', '10'); -INSERT INTO cp_tree VALUES ('4499', '4', '4', '233', '4498', '5'); -INSERT INTO cp_tree VALUES ('4500', '4', '6', '233', '4498', '7'); -INSERT INTO cp_tree VALUES ('4501', '4', '8', '233', '4498', '9'); -INSERT INTO cp_tree VALUES ('4502', '3', '11', '233', '4497', '36'); -INSERT INTO cp_tree VALUES ('4503', '4', '12', '233', '4502', '19'); -INSERT INTO cp_tree VALUES ('4504', '5', '13', '233', '4503', '14'); -INSERT INTO cp_tree VALUES ('4505', '5', '15', '233', '4503', '16'); -INSERT INTO cp_tree VALUES ('4506', '5', '17', '233', '4503', '18'); -INSERT INTO cp_tree VALUES ('4507', '4', '20', '233', '4502', '27'); -INSERT INTO cp_tree VALUES ('4508', '5', '21', '233', '4507', '22'); -INSERT INTO cp_tree VALUES ('4509', '5', '23', '233', '4507', '24'); -INSERT INTO cp_tree VALUES ('4510', '5', '25', '233', '4507', '26'); -INSERT INTO cp_tree VALUES ('4511', '4', '28', '233', '4502', '35'); -INSERT INTO cp_tree VALUES ('4512', '5', '29', '233', '4511', '30'); -INSERT INTO cp_tree VALUES ('4513', '5', '31', '233', '4511', '32'); -INSERT INTO cp_tree VALUES ('4514', '5', '33', '233', '4511', '34'); -INSERT INTO cp_tree VALUES ('4515', '3', '37', '233', '4497', '44'); -INSERT INTO cp_tree VALUES ('4516', '4', '38', '233', '4515', '39'); -INSERT INTO cp_tree VALUES ('4517', '4', '40', '233', '4515', '41'); -INSERT INTO cp_tree VALUES ('4518', '4', '42', '233', '4515', '43'); -INSERT INTO cp_tree VALUES ('4519', '2', '46', '233', '4496', '59'); -INSERT INTO cp_tree VALUES ('4520', '3', '47', '233', '4519', '48'); -INSERT INTO cp_tree VALUES ('4521', '3', '49', '233', '4519', '50'); -INSERT INTO cp_tree VALUES ('4522', '3', '51', '233', '4519', '52'); -INSERT INTO cp_tree VALUES ('4523', '3', '53', '233', '4519', '54'); -INSERT INTO cp_tree VALUES ('4524', '3', '55', '233', '4519', '56'); -INSERT INTO cp_tree VALUES ('4525', '3', '57', '233', '4519', '58'); -INSERT INTO cp_tree VALUES ('4526', '2', '60', '233', '4496', '63'); -INSERT INTO cp_tree VALUES ('4527', '3', '61', '233', '4526', '62'); -INSERT INTO cp_tree VALUES ('4528', '2', '64', '233', '4496', '67'); -INSERT INTO cp_tree VALUES ('4529', '3', '65', '233', '4528', '66'); -INSERT INTO cp_tree VALUES ('4530', '2', '68', '233', '4496', '71'); -INSERT INTO cp_tree VALUES ('4531', '3', '69', '233', '4530', '70'); -INSERT INTO cp_tree VALUES ('4532', '2', '72', '233', '4496', '77'); -INSERT INTO cp_tree VALUES ('4533', '3', '73', '233', '4532', '74'); -INSERT INTO cp_tree VALUES ('4534', '3', '75', '233', '4532', '76'); -INSERT INTO cp_tree VALUES ('4535', '2', '78', '233', '4496', '81'); -INSERT INTO cp_tree VALUES ('4536', '3', '79', '233', '4535', '80'); -INSERT INTO cp_tree VALUES ('4537', '2', '82', '233', '4496', '85'); -INSERT INTO cp_tree VALUES ('4538', '3', '83', '233', '4537', '84'); -INSERT INTO cp_tree VALUES ('4539', '2', '86', '233', '4496', '99'); -INSERT INTO cp_tree VALUES ('4540', '3', '87', '233', '4539', '90'); -INSERT INTO cp_tree VALUES ('4541', '4', '88', '233', '4540', '89'); -INSERT INTO cp_tree VALUES ('4542', '3', '91', '233', '4539', '94'); -INSERT INTO cp_tree VALUES ('4543', '4', '92', '233', '4542', '93'); -INSERT INTO cp_tree VALUES ('4544', '3', '95', '233', '4539', '98'); -INSERT INTO cp_tree VALUES ('4545', '4', '96', '233', '4544', '97'); -INSERT INTO cp_tree VALUES ('4546', '2', '100', '233', '4496', '101'); -INSERT INTO cp_tree VALUES ('4547', '1', '1', '234', '0', '110'); -INSERT INTO cp_tree VALUES ('4548', '2', '2', '234', '4547', '45'); -INSERT INTO cp_tree VALUES ('4549', '3', '3', '234', '4548', '10'); -INSERT INTO cp_tree VALUES ('4550', '4', '4', '234', '4549', '5'); -INSERT INTO cp_tree VALUES ('4551', '4', '6', '234', '4549', '7'); -INSERT INTO cp_tree VALUES ('4552', '4', '8', '234', '4549', '9'); -INSERT INTO cp_tree VALUES ('4553', '3', '11', '234', '4548', '36'); -INSERT INTO cp_tree VALUES ('4554', '4', '12', '234', '4553', '19'); -INSERT INTO cp_tree VALUES ('4555', '5', '13', '234', '4554', '14'); -INSERT INTO cp_tree VALUES ('4556', '5', '15', '234', '4554', '16'); -INSERT INTO cp_tree VALUES ('4557', '5', '17', '234', '4554', '18'); -INSERT INTO cp_tree VALUES ('4558', '4', '20', '234', '4553', '27'); -INSERT INTO cp_tree VALUES ('4559', '5', '21', '234', '4558', '22'); -INSERT INTO cp_tree VALUES ('4560', '5', '23', '234', '4558', '24'); -INSERT INTO cp_tree VALUES ('4561', '5', '25', '234', '4558', '26'); -INSERT INTO cp_tree VALUES ('4562', '4', '28', '234', '4553', '35'); -INSERT INTO cp_tree VALUES ('4563', '5', '29', '234', '4562', '30'); -INSERT INTO cp_tree VALUES ('4564', '5', '31', '234', '4562', '32'); -INSERT INTO cp_tree VALUES ('4565', '5', '33', '234', '4562', '34'); -INSERT INTO cp_tree VALUES ('4566', '3', '37', '234', '4548', '44'); -INSERT INTO cp_tree VALUES ('4567', '4', '38', '234', '4566', '39'); -INSERT INTO cp_tree VALUES ('4568', '4', '40', '234', '4566', '41'); -INSERT INTO cp_tree VALUES ('4569', '4', '42', '234', '4566', '43'); -INSERT INTO cp_tree VALUES ('4570', '2', '46', '234', '4547', '59'); -INSERT INTO cp_tree VALUES ('4571', '3', '47', '234', '4570', '48'); -INSERT INTO cp_tree VALUES ('4572', '3', '49', '234', '4570', '50'); -INSERT INTO cp_tree VALUES ('4573', '3', '51', '234', '4570', '52'); -INSERT INTO cp_tree VALUES ('4574', '3', '53', '234', '4570', '54'); -INSERT INTO cp_tree VALUES ('4575', '3', '55', '234', '4570', '56'); -INSERT INTO cp_tree VALUES ('4576', '3', '57', '234', '4570', '58'); -INSERT INTO cp_tree VALUES ('4577', '2', '60', '234', '4547', '63'); -INSERT INTO cp_tree VALUES ('4578', '3', '61', '234', '4577', '62'); -INSERT INTO cp_tree VALUES ('4579', '2', '64', '234', '4547', '67'); -INSERT INTO cp_tree VALUES ('4580', '3', '65', '234', '4579', '66'); -INSERT INTO cp_tree VALUES ('4581', '2', '68', '234', '4547', '71'); -INSERT INTO cp_tree VALUES ('4582', '3', '69', '234', '4581', '70'); -INSERT INTO cp_tree VALUES ('4583', '2', '72', '234', '4547', '77'); -INSERT INTO cp_tree VALUES ('4584', '3', '73', '234', '4583', '74'); -INSERT INTO cp_tree VALUES ('4585', '3', '75', '234', '4583', '76'); -INSERT INTO cp_tree VALUES ('4586', '2', '78', '234', '4547', '81'); -INSERT INTO cp_tree VALUES ('4587', '3', '79', '234', '4586', '80'); -INSERT INTO cp_tree VALUES ('4588', '2', '82', '234', '4547', '85'); -INSERT INTO cp_tree VALUES ('4589', '3', '83', '234', '4588', '84'); -INSERT INTO cp_tree VALUES ('4590', '2', '86', '234', '4547', '89'); -INSERT INTO cp_tree VALUES ('4591', '3', '87', '234', '4590', '88'); -INSERT INTO cp_tree VALUES ('4592', '2', '90', '234', '4547', '91'); -INSERT INTO cp_tree VALUES ('4593', '2', '92', '234', '4547', '93'); -INSERT INTO cp_tree VALUES ('4594', '2', '94', '234', '4547', '107'); -INSERT INTO cp_tree VALUES ('4595', '3', '95', '234', '4594', '98'); -INSERT INTO cp_tree VALUES ('4596', '4', '96', '234', '4595', '97'); -INSERT INTO cp_tree VALUES ('4597', '3', '99', '234', '4594', '102'); -INSERT INTO cp_tree VALUES ('4598', '4', '100', '234', '4597', '101'); -INSERT INTO cp_tree VALUES ('4599', '3', '103', '234', '4594', '106'); -INSERT INTO cp_tree VALUES ('4600', '4', '104', '234', '4599', '105'); -INSERT INTO cp_tree VALUES ('4601', '2', '108', '234', '4547', '109'); -INSERT INTO cp_tree VALUES ('4602', '1', '1', '235', '0', '90'); -INSERT INTO cp_tree VALUES ('4603', '2', '2', '235', '4602', '29'); -INSERT INTO cp_tree VALUES ('4604', '3', '3', '235', '4603', '10'); -INSERT INTO cp_tree VALUES ('4605', '4', '4', '235', '4604', '5'); -INSERT INTO cp_tree VALUES ('4606', '4', '6', '235', '4604', '7'); -INSERT INTO cp_tree VALUES ('4607', '4', '8', '235', '4604', '9'); -INSERT INTO cp_tree VALUES ('4608', '3', '11', '235', '4603', '20'); -INSERT INTO cp_tree VALUES ('4609', '4', '12', '235', '4608', '19'); -INSERT INTO cp_tree VALUES ('4610', '5', '13', '235', '4609', '14'); -INSERT INTO cp_tree VALUES ('4611', '5', '15', '235', '4609', '16'); -INSERT INTO cp_tree VALUES ('4612', '5', '17', '235', '4609', '18'); -INSERT INTO cp_tree VALUES ('4613', '3', '21', '235', '4603', '28'); -INSERT INTO cp_tree VALUES ('4614', '4', '22', '235', '4613', '23'); -INSERT INTO cp_tree VALUES ('4615', '4', '24', '235', '4613', '25'); -INSERT INTO cp_tree VALUES ('4616', '4', '26', '235', '4613', '27'); -INSERT INTO cp_tree VALUES ('4617', '2', '30', '235', '4602', '43'); -INSERT INTO cp_tree VALUES ('4618', '3', '31', '235', '4617', '32'); -INSERT INTO cp_tree VALUES ('4619', '3', '33', '235', '4617', '34'); -INSERT INTO cp_tree VALUES ('4620', '3', '35', '235', '4617', '36'); -INSERT INTO cp_tree VALUES ('4621', '3', '37', '235', '4617', '38'); -INSERT INTO cp_tree VALUES ('4622', '3', '39', '235', '4617', '40'); -INSERT INTO cp_tree VALUES ('4623', '3', '41', '235', '4617', '42'); -INSERT INTO cp_tree VALUES ('4624', '2', '44', '235', '4602', '47'); -INSERT INTO cp_tree VALUES ('4625', '3', '45', '235', '4624', '46'); -INSERT INTO cp_tree VALUES ('4626', '2', '48', '235', '4602', '51'); -INSERT INTO cp_tree VALUES ('4627', '3', '49', '235', '4626', '50'); -INSERT INTO cp_tree VALUES ('4628', '2', '52', '235', '4602', '55'); -INSERT INTO cp_tree VALUES ('4629', '3', '53', '235', '4628', '54'); -INSERT INTO cp_tree VALUES ('4630', '2', '56', '235', '4602', '61'); -INSERT INTO cp_tree VALUES ('4631', '3', '57', '235', '4630', '58'); -INSERT INTO cp_tree VALUES ('4632', '3', '59', '235', '4630', '60'); -INSERT INTO cp_tree VALUES ('4633', '2', '62', '235', '4602', '65'); -INSERT INTO cp_tree VALUES ('4634', '3', '63', '235', '4633', '64'); -INSERT INTO cp_tree VALUES ('4635', '2', '66', '235', '4602', '69'); -INSERT INTO cp_tree VALUES ('4636', '3', '67', '235', '4635', '68'); -INSERT INTO cp_tree VALUES ('4637', '2', '70', '235', '4602', '87'); -INSERT INTO cp_tree VALUES ('4638', '3', '71', '235', '4637', '74'); -INSERT INTO cp_tree VALUES ('4639', '4', '72', '235', '4638', '73'); -INSERT INTO cp_tree VALUES ('4640', '3', '75', '235', '4637', '78'); -INSERT INTO cp_tree VALUES ('4641', '4', '76', '235', '4640', '77'); -INSERT INTO cp_tree VALUES ('4642', '3', '79', '235', '4637', '82'); -INSERT INTO cp_tree VALUES ('4643', '4', '80', '235', '4642', '81'); -INSERT INTO cp_tree VALUES ('4644', '3', '83', '235', '4637', '86'); -INSERT INTO cp_tree VALUES ('4645', '4', '84', '235', '4644', '85'); -INSERT INTO cp_tree VALUES ('4646', '2', '88', '235', '4602', '89'); -INSERT INTO cp_tree VALUES ('4647', '1', '1', '236', '0', '90'); -INSERT INTO cp_tree VALUES ('4648', '2', '2', '236', '4647', '29'); -INSERT INTO cp_tree VALUES ('4649', '3', '3', '236', '4648', '10'); -INSERT INTO cp_tree VALUES ('4650', '4', '4', '236', '4649', '5'); -INSERT INTO cp_tree VALUES ('4651', '4', '6', '236', '4649', '7'); -INSERT INTO cp_tree VALUES ('4652', '4', '8', '236', '4649', '9'); -INSERT INTO cp_tree VALUES ('4653', '3', '11', '236', '4648', '20'); -INSERT INTO cp_tree VALUES ('4654', '4', '12', '236', '4653', '19'); -INSERT INTO cp_tree VALUES ('4655', '5', '13', '236', '4654', '14'); -INSERT INTO cp_tree VALUES ('4656', '5', '15', '236', '4654', '16'); -INSERT INTO cp_tree VALUES ('4657', '5', '17', '236', '4654', '18'); -INSERT INTO cp_tree VALUES ('4658', '3', '21', '236', '4648', '28'); -INSERT INTO cp_tree VALUES ('4659', '4', '22', '236', '4658', '23'); -INSERT INTO cp_tree VALUES ('4660', '4', '24', '236', '4658', '25'); -INSERT INTO cp_tree VALUES ('4661', '4', '26', '236', '4658', '27'); -INSERT INTO cp_tree VALUES ('4662', '2', '30', '236', '4647', '43'); -INSERT INTO cp_tree VALUES ('4663', '3', '31', '236', '4662', '32'); -INSERT INTO cp_tree VALUES ('4664', '3', '33', '236', '4662', '34'); -INSERT INTO cp_tree VALUES ('4665', '3', '35', '236', '4662', '36'); -INSERT INTO cp_tree VALUES ('4666', '3', '37', '236', '4662', '38'); -INSERT INTO cp_tree VALUES ('4667', '3', '39', '236', '4662', '40'); -INSERT INTO cp_tree VALUES ('4668', '3', '41', '236', '4662', '42'); -INSERT INTO cp_tree VALUES ('4669', '2', '44', '236', '4647', '47'); -INSERT INTO cp_tree VALUES ('4670', '3', '45', '236', '4669', '46'); -INSERT INTO cp_tree VALUES ('4671', '2', '48', '236', '4647', '51'); -INSERT INTO cp_tree VALUES ('4672', '3', '49', '236', '4671', '50'); -INSERT INTO cp_tree VALUES ('4673', '2', '52', '236', '4647', '55'); -INSERT INTO cp_tree VALUES ('4674', '3', '53', '236', '4673', '54'); -INSERT INTO cp_tree VALUES ('4675', '2', '56', '236', '4647', '61'); -INSERT INTO cp_tree VALUES ('4676', '3', '57', '236', '4675', '58'); -INSERT INTO cp_tree VALUES ('4677', '3', '59', '236', '4675', '60'); -INSERT INTO cp_tree VALUES ('4678', '2', '62', '236', '4647', '65'); -INSERT INTO cp_tree VALUES ('4679', '3', '63', '236', '4678', '64'); -INSERT INTO cp_tree VALUES ('4680', '2', '66', '236', '4647', '69'); -INSERT INTO cp_tree VALUES ('4681', '3', '67', '236', '4680', '68'); -INSERT INTO cp_tree VALUES ('4682', '2', '70', '236', '4647', '87'); -INSERT INTO cp_tree VALUES ('4683', '3', '71', '236', '4682', '74'); -INSERT INTO cp_tree VALUES ('4684', '4', '72', '236', '4683', '73'); -INSERT INTO cp_tree VALUES ('4685', '3', '75', '236', '4682', '78'); -INSERT INTO cp_tree VALUES ('4686', '4', '76', '236', '4685', '77'); -INSERT INTO cp_tree VALUES ('4687', '3', '79', '236', '4682', '82'); -INSERT INTO cp_tree VALUES ('4688', '4', '80', '236', '4687', '81'); -INSERT INTO cp_tree VALUES ('4689', '3', '83', '236', '4682', '86'); -INSERT INTO cp_tree VALUES ('4690', '4', '84', '236', '4689', '85'); -INSERT INTO cp_tree VALUES ('4691', '2', '88', '236', '4647', '89'); -INSERT INTO cp_tree VALUES ('4692', '1', '1', '237', '0', '72'); -INSERT INTO cp_tree VALUES ('4693', '2', '2', '237', '4692', '15'); -INSERT INTO cp_tree VALUES ('4694', '3', '3', '237', '4693', '4'); -INSERT INTO cp_tree VALUES ('4695', '3', '5', '237', '4693', '12'); -INSERT INTO cp_tree VALUES ('4696', '4', '6', '237', '4695', '7'); -INSERT INTO cp_tree VALUES ('4697', '4', '8', '237', '4695', '9'); -INSERT INTO cp_tree VALUES ('4698', '4', '10', '237', '4695', '11'); -INSERT INTO cp_tree VALUES ('4699', '3', '13', '237', '4693', '14'); -INSERT INTO cp_tree VALUES ('4700', '2', '16', '237', '4692', '29'); -INSERT INTO cp_tree VALUES ('4701', '3', '17', '237', '4700', '18'); -INSERT INTO cp_tree VALUES ('4702', '3', '19', '237', '4700', '20'); -INSERT INTO cp_tree VALUES ('4703', '3', '21', '237', '4700', '22'); -INSERT INTO cp_tree VALUES ('4704', '3', '23', '237', '4700', '24'); -INSERT INTO cp_tree VALUES ('4705', '3', '25', '237', '4700', '26'); -INSERT INTO cp_tree VALUES ('4706', '3', '27', '237', '4700', '28'); -INSERT INTO cp_tree VALUES ('4707', '2', '30', '237', '4692', '33'); -INSERT INTO cp_tree VALUES ('4708', '3', '31', '237', '4707', '32'); -INSERT INTO cp_tree VALUES ('4709', '2', '34', '237', '4692', '37'); -INSERT INTO cp_tree VALUES ('4710', '3', '35', '237', '4709', '36'); -INSERT INTO cp_tree VALUES ('4711', '2', '38', '237', '4692', '41'); -INSERT INTO cp_tree VALUES ('4712', '3', '39', '237', '4711', '40'); -INSERT INTO cp_tree VALUES ('4713', '2', '42', '237', '4692', '47'); -INSERT INTO cp_tree VALUES ('4714', '3', '43', '237', '4713', '44'); -INSERT INTO cp_tree VALUES ('4715', '3', '45', '237', '4713', '46'); -INSERT INTO cp_tree VALUES ('4716', '2', '48', '237', '4692', '51'); -INSERT INTO cp_tree VALUES ('4717', '3', '49', '237', '4716', '50'); -INSERT INTO cp_tree VALUES ('4718', '2', '52', '237', '4692', '55'); -INSERT INTO cp_tree VALUES ('4719', '3', '53', '237', '4718', '54'); -INSERT INTO cp_tree VALUES ('4720', '2', '56', '237', '4692', '69'); -INSERT INTO cp_tree VALUES ('4721', '3', '57', '237', '4720', '60'); -INSERT INTO cp_tree VALUES ('4722', '4', '58', '237', '4721', '59'); -INSERT INTO cp_tree VALUES ('4723', '3', '61', '237', '4720', '64'); -INSERT INTO cp_tree VALUES ('4724', '4', '62', '237', '4723', '63'); -INSERT INTO cp_tree VALUES ('4725', '3', '65', '237', '4720', '68'); -INSERT INTO cp_tree VALUES ('4726', '4', '66', '237', '4725', '67'); -INSERT INTO cp_tree VALUES ('4727', '2', '70', '237', '4692', '71'); -INSERT INTO cp_tree VALUES ('4728', '1', '1', '238', '0', '124'); -INSERT INTO cp_tree VALUES ('4729', '2', '2', '238', '4728', '45'); -INSERT INTO cp_tree VALUES ('4730', '3', '3', '238', '4729', '10'); -INSERT INTO cp_tree VALUES ('4731', '4', '4', '238', '4730', '5'); -INSERT INTO cp_tree VALUES ('4732', '4', '6', '238', '4730', '7'); -INSERT INTO cp_tree VALUES ('4733', '4', '8', '238', '4730', '9'); -INSERT INTO cp_tree VALUES ('4734', '3', '11', '238', '4729', '36'); -INSERT INTO cp_tree VALUES ('4735', '4', '12', '238', '4734', '19'); -INSERT INTO cp_tree VALUES ('4736', '5', '13', '238', '4735', '14'); -INSERT INTO cp_tree VALUES ('4737', '5', '15', '238', '4735', '16'); -INSERT INTO cp_tree VALUES ('4738', '5', '17', '238', '4735', '18'); -INSERT INTO cp_tree VALUES ('4739', '4', '20', '238', '4734', '27'); -INSERT INTO cp_tree VALUES ('4740', '5', '21', '238', '4739', '22'); -INSERT INTO cp_tree VALUES ('4741', '5', '23', '238', '4739', '24'); -INSERT INTO cp_tree VALUES ('4742', '5', '25', '238', '4739', '26'); -INSERT INTO cp_tree VALUES ('4743', '4', '28', '238', '4734', '35'); -INSERT INTO cp_tree VALUES ('4744', '5', '29', '238', '4743', '30'); -INSERT INTO cp_tree VALUES ('4745', '5', '31', '238', '4743', '32'); -INSERT INTO cp_tree VALUES ('4746', '5', '33', '238', '4743', '34'); -INSERT INTO cp_tree VALUES ('4747', '3', '37', '238', '4729', '44'); -INSERT INTO cp_tree VALUES ('4748', '4', '38', '238', '4747', '39'); -INSERT INTO cp_tree VALUES ('4749', '4', '40', '238', '4747', '41'); -INSERT INTO cp_tree VALUES ('4750', '4', '42', '238', '4747', '43'); -INSERT INTO cp_tree VALUES ('4751', '2', '46', '238', '4728', '59'); -INSERT INTO cp_tree VALUES ('4752', '3', '47', '238', '4751', '48'); -INSERT INTO cp_tree VALUES ('4753', '3', '49', '238', '4751', '50'); -INSERT INTO cp_tree VALUES ('4754', '3', '51', '238', '4751', '52'); -INSERT INTO cp_tree VALUES ('4755', '3', '53', '238', '4751', '54'); -INSERT INTO cp_tree VALUES ('4756', '3', '55', '238', '4751', '56'); -INSERT INTO cp_tree VALUES ('4757', '3', '57', '238', '4751', '58'); -INSERT INTO cp_tree VALUES ('4758', '2', '60', '238', '4728', '63'); -INSERT INTO cp_tree VALUES ('4759', '3', '61', '238', '4758', '62'); -INSERT INTO cp_tree VALUES ('4760', '2', '64', '238', '4728', '67'); -INSERT INTO cp_tree VALUES ('4761', '3', '65', '238', '4760', '66'); -INSERT INTO cp_tree VALUES ('4762', '2', '68', '238', '4728', '71'); -INSERT INTO cp_tree VALUES ('4763', '3', '69', '238', '4762', '70'); -INSERT INTO cp_tree VALUES ('4764', '2', '72', '238', '4728', '77'); -INSERT INTO cp_tree VALUES ('4765', '3', '73', '238', '4764', '74'); -INSERT INTO cp_tree VALUES ('4766', '3', '75', '238', '4764', '76'); -INSERT INTO cp_tree VALUES ('4767', '2', '78', '238', '4728', '81'); -INSERT INTO cp_tree VALUES ('4768', '3', '79', '238', '4767', '80'); -INSERT INTO cp_tree VALUES ('4769', '2', '82', '238', '4728', '85'); -INSERT INTO cp_tree VALUES ('4770', '3', '83', '238', '4769', '84'); -INSERT INTO cp_tree VALUES ('4771', '2', '86', '238', '4728', '101'); -INSERT INTO cp_tree VALUES ('4772', '3', '87', '238', '4771', '88'); -INSERT INTO cp_tree VALUES ('4773', '3', '89', '238', '4771', '92'); -INSERT INTO cp_tree VALUES ('4774', '4', '90', '238', '4773', '91'); -INSERT INTO cp_tree VALUES ('4775', '3', '93', '238', '4771', '96'); -INSERT INTO cp_tree VALUES ('4776', '4', '94', '238', '4775', '95'); -INSERT INTO cp_tree VALUES ('4777', '3', '97', '238', '4771', '100'); -INSERT INTO cp_tree VALUES ('4778', '4', '98', '238', '4777', '99'); -INSERT INTO cp_tree VALUES ('4779', '2', '102', '238', '4728', '107'); -INSERT INTO cp_tree VALUES ('4780', '3', '103', '238', '4779', '106'); -INSERT INTO cp_tree VALUES ('4781', '4', '104', '238', '4780', '105'); -INSERT INTO cp_tree VALUES ('4782', '2', '108', '238', '4728', '121'); -INSERT INTO cp_tree VALUES ('4783', '3', '109', '238', '4782', '112'); -INSERT INTO cp_tree VALUES ('4784', '4', '110', '238', '4783', '111'); -INSERT INTO cp_tree VALUES ('4785', '3', '113', '238', '4782', '116'); -INSERT INTO cp_tree VALUES ('4786', '4', '114', '238', '4785', '115'); -INSERT INTO cp_tree VALUES ('4787', '3', '117', '238', '4782', '120'); -INSERT INTO cp_tree VALUES ('4788', '4', '118', '238', '4787', '119'); -INSERT INTO cp_tree VALUES ('4789', '2', '122', '238', '4728', '123'); -INSERT INTO cp_tree VALUES ('4790', '1', '1', '239', '0', '80'); -INSERT INTO cp_tree VALUES ('4791', '2', '2', '239', '4790', '27'); -INSERT INTO cp_tree VALUES ('4792', '3', '3', '239', '4791', '10'); -INSERT INTO cp_tree VALUES ('4793', '4', '4', '239', '4792', '5'); -INSERT INTO cp_tree VALUES ('4794', '4', '6', '239', '4792', '7'); -INSERT INTO cp_tree VALUES ('4795', '4', '8', '239', '4792', '9'); -INSERT INTO cp_tree VALUES ('4796', '3', '11', '239', '4791', '18'); -INSERT INTO cp_tree VALUES ('4797', '4', '12', '239', '4796', '13'); -INSERT INTO cp_tree VALUES ('4798', '4', '14', '239', '4796', '15'); -INSERT INTO cp_tree VALUES ('4799', '4', '16', '239', '4796', '17'); -INSERT INTO cp_tree VALUES ('4800', '3', '19', '239', '4791', '26'); -INSERT INTO cp_tree VALUES ('4801', '4', '20', '239', '4800', '21'); -INSERT INTO cp_tree VALUES ('4802', '4', '22', '239', '4800', '23'); -INSERT INTO cp_tree VALUES ('4803', '4', '24', '239', '4800', '25'); -INSERT INTO cp_tree VALUES ('4804', '2', '28', '239', '4790', '41'); -INSERT INTO cp_tree VALUES ('4805', '3', '29', '239', '4804', '30'); -INSERT INTO cp_tree VALUES ('4806', '3', '31', '239', '4804', '32'); -INSERT INTO cp_tree VALUES ('4807', '3', '33', '239', '4804', '34'); -INSERT INTO cp_tree VALUES ('4808', '3', '35', '239', '4804', '36'); -INSERT INTO cp_tree VALUES ('4809', '3', '37', '239', '4804', '38'); -INSERT INTO cp_tree VALUES ('4810', '3', '39', '239', '4804', '40'); -INSERT INTO cp_tree VALUES ('4811', '2', '42', '239', '4790', '45'); -INSERT INTO cp_tree VALUES ('4812', '3', '43', '239', '4811', '44'); -INSERT INTO cp_tree VALUES ('4813', '2', '46', '239', '4790', '49'); -INSERT INTO cp_tree VALUES ('4814', '3', '47', '239', '4813', '48'); -INSERT INTO cp_tree VALUES ('4815', '2', '50', '239', '4790', '53'); -INSERT INTO cp_tree VALUES ('4816', '3', '51', '239', '4815', '52'); -INSERT INTO cp_tree VALUES ('4817', '2', '54', '239', '4790', '59'); -INSERT INTO cp_tree VALUES ('4818', '3', '55', '239', '4817', '56'); -INSERT INTO cp_tree VALUES ('4819', '3', '57', '239', '4817', '58'); -INSERT INTO cp_tree VALUES ('4820', '2', '60', '239', '4790', '63'); -INSERT INTO cp_tree VALUES ('4821', '3', '61', '239', '4820', '62'); -INSERT INTO cp_tree VALUES ('4822', '2', '64', '239', '4790', '67'); -INSERT INTO cp_tree VALUES ('4823', '3', '65', '239', '4822', '66'); -INSERT INTO cp_tree VALUES ('4824', '2', '68', '239', '4790', '77'); -INSERT INTO cp_tree VALUES ('4825', '3', '69', '239', '4824', '72'); -INSERT INTO cp_tree VALUES ('4826', '4', '70', '239', '4825', '71'); -INSERT INTO cp_tree VALUES ('4827', '3', '73', '239', '4824', '76'); -INSERT INTO cp_tree VALUES ('4828', '4', '74', '239', '4827', '75'); -INSERT INTO cp_tree VALUES ('4829', '2', '78', '239', '4790', '79'); -INSERT INTO cp_tree VALUES ('4830', '1', '1', '240', '0', '78'); -INSERT INTO cp_tree VALUES ('4831', '2', '2', '240', '4830', '27'); -INSERT INTO cp_tree VALUES ('4832', '3', '3', '240', '4831', '10'); -INSERT INTO cp_tree VALUES ('4833', '4', '4', '240', '4832', '5'); -INSERT INTO cp_tree VALUES ('4834', '4', '6', '240', '4832', '7'); -INSERT INTO cp_tree VALUES ('4835', '4', '8', '240', '4832', '9'); -INSERT INTO cp_tree VALUES ('4836', '3', '11', '240', '4831', '18'); -INSERT INTO cp_tree VALUES ('4837', '4', '12', '240', '4836', '13'); -INSERT INTO cp_tree VALUES ('4838', '4', '14', '240', '4836', '15'); -INSERT INTO cp_tree VALUES ('4839', '4', '16', '240', '4836', '17'); -INSERT INTO cp_tree VALUES ('4840', '3', '19', '240', '4831', '26'); -INSERT INTO cp_tree VALUES ('4841', '4', '20', '240', '4840', '21'); -INSERT INTO cp_tree VALUES ('4842', '4', '22', '240', '4840', '23'); -INSERT INTO cp_tree VALUES ('4843', '4', '24', '240', '4840', '25'); -INSERT INTO cp_tree VALUES ('4844', '2', '28', '240', '4830', '41'); -INSERT INTO cp_tree VALUES ('4845', '3', '29', '240', '4844', '30'); -INSERT INTO cp_tree VALUES ('4846', '3', '31', '240', '4844', '32'); -INSERT INTO cp_tree VALUES ('4847', '3', '33', '240', '4844', '34'); -INSERT INTO cp_tree VALUES ('4848', '3', '35', '240', '4844', '36'); -INSERT INTO cp_tree VALUES ('4849', '3', '37', '240', '4844', '38'); -INSERT INTO cp_tree VALUES ('4850', '3', '39', '240', '4844', '40'); -INSERT INTO cp_tree VALUES ('4851', '2', '42', '240', '4830', '45'); -INSERT INTO cp_tree VALUES ('4852', '3', '43', '240', '4851', '44'); -INSERT INTO cp_tree VALUES ('4853', '2', '46', '240', '4830', '49'); -INSERT INTO cp_tree VALUES ('4854', '3', '47', '240', '4853', '48'); -INSERT INTO cp_tree VALUES ('4855', '2', '50', '240', '4830', '53'); -INSERT INTO cp_tree VALUES ('4856', '3', '51', '240', '4855', '52'); -INSERT INTO cp_tree VALUES ('4857', '2', '54', '240', '4830', '59'); -INSERT INTO cp_tree VALUES ('4858', '3', '55', '240', '4857', '56'); -INSERT INTO cp_tree VALUES ('4859', '3', '57', '240', '4857', '58'); -INSERT INTO cp_tree VALUES ('4860', '2', '60', '240', '4830', '63'); -INSERT INTO cp_tree VALUES ('4861', '3', '61', '240', '4860', '62'); -INSERT INTO cp_tree VALUES ('4862', '2', '64', '240', '4830', '67'); -INSERT INTO cp_tree VALUES ('4863', '3', '65', '240', '4862', '66'); -INSERT INTO cp_tree VALUES ('4864', '2', '68', '240', '4830', '75'); -INSERT INTO cp_tree VALUES ('4865', '3', '69', '240', '4864', '74'); -INSERT INTO cp_tree VALUES ('4866', '4', '70', '240', '4865', '71'); -INSERT INTO cp_tree VALUES ('4867', '4', '72', '240', '4865', '73'); -INSERT INTO cp_tree VALUES ('4868', '2', '76', '240', '4830', '77'); -INSERT INTO cp_tree VALUES ('4869', '1', '1', '241', '0', '240'); -INSERT INTO cp_tree VALUES ('4870', '2', '2', '241', '4869', '65'); -INSERT INTO cp_tree VALUES ('4871', '3', '3', '241', '4870', '10'); -INSERT INTO cp_tree VALUES ('4872', '4', '4', '241', '4871', '5'); -INSERT INTO cp_tree VALUES ('4873', '4', '6', '241', '4871', '7'); -INSERT INTO cp_tree VALUES ('4874', '4', '8', '241', '4871', '9'); -INSERT INTO cp_tree VALUES ('4875', '3', '11', '241', '4870', '18'); -INSERT INTO cp_tree VALUES ('4876', '4', '12', '241', '4875', '13'); -INSERT INTO cp_tree VALUES ('4877', '4', '14', '241', '4875', '15'); -INSERT INTO cp_tree VALUES ('4878', '4', '16', '241', '4875', '17'); -INSERT INTO cp_tree VALUES ('4879', '3', '19', '241', '4870', '64'); -INSERT INTO cp_tree VALUES ('4880', '4', '20', '241', '4879', '37'); -INSERT INTO cp_tree VALUES ('4881', '5', '21', '241', '4880', '28'); -INSERT INTO cp_tree VALUES ('4882', '6', '22', '241', '4881', '23'); -INSERT INTO cp_tree VALUES ('4883', '6', '24', '241', '4881', '25'); -INSERT INTO cp_tree VALUES ('4884', '6', '26', '241', '4881', '27'); -INSERT INTO cp_tree VALUES ('4885', '5', '29', '241', '4880', '36'); -INSERT INTO cp_tree VALUES ('4886', '6', '30', '241', '4885', '31'); -INSERT INTO cp_tree VALUES ('4887', '6', '32', '241', '4885', '33'); -INSERT INTO cp_tree VALUES ('4888', '6', '34', '241', '4885', '35'); -INSERT INTO cp_tree VALUES ('4889', '4', '38', '241', '4879', '55'); -INSERT INTO cp_tree VALUES ('4890', '5', '39', '241', '4889', '46'); -INSERT INTO cp_tree VALUES ('4891', '6', '40', '241', '4890', '41'); -INSERT INTO cp_tree VALUES ('4892', '6', '42', '241', '4890', '43'); -INSERT INTO cp_tree VALUES ('4893', '6', '44', '241', '4890', '45'); -INSERT INTO cp_tree VALUES ('4894', '5', '47', '241', '4889', '54'); -INSERT INTO cp_tree VALUES ('4895', '6', '48', '241', '4894', '49'); -INSERT INTO cp_tree VALUES ('4896', '6', '50', '241', '4894', '51'); -INSERT INTO cp_tree VALUES ('4897', '6', '52', '241', '4894', '53'); -INSERT INTO cp_tree VALUES ('4898', '4', '56', '241', '4879', '63'); -INSERT INTO cp_tree VALUES ('4899', '5', '57', '241', '4898', '58'); -INSERT INTO cp_tree VALUES ('4900', '5', '59', '241', '4898', '60'); -INSERT INTO cp_tree VALUES ('4901', '5', '61', '241', '4898', '62'); -INSERT INTO cp_tree VALUES ('4902', '2', '66', '241', '4869', '79'); -INSERT INTO cp_tree VALUES ('4903', '3', '67', '241', '4902', '68'); -INSERT INTO cp_tree VALUES ('4904', '3', '69', '241', '4902', '70'); -INSERT INTO cp_tree VALUES ('4905', '3', '71', '241', '4902', '72'); -INSERT INTO cp_tree VALUES ('4906', '3', '73', '241', '4902', '74'); -INSERT INTO cp_tree VALUES ('4907', '3', '75', '241', '4902', '76'); -INSERT INTO cp_tree VALUES ('4908', '3', '77', '241', '4902', '78'); -INSERT INTO cp_tree VALUES ('4909', '2', '80', '241', '4869', '83'); -INSERT INTO cp_tree VALUES ('4910', '3', '81', '241', '4909', '82'); -INSERT INTO cp_tree VALUES ('4911', '2', '84', '241', '4869', '87'); -INSERT INTO cp_tree VALUES ('4912', '3', '85', '241', '4911', '86'); -INSERT INTO cp_tree VALUES ('4913', '2', '88', '241', '4869', '91'); -INSERT INTO cp_tree VALUES ('4914', '3', '89', '241', '4913', '90'); -INSERT INTO cp_tree VALUES ('4915', '2', '92', '241', '4869', '97'); -INSERT INTO cp_tree VALUES ('4916', '3', '93', '241', '4915', '94'); -INSERT INTO cp_tree VALUES ('4917', '3', '95', '241', '4915', '96'); -INSERT INTO cp_tree VALUES ('4918', '2', '98', '241', '4869', '101'); -INSERT INTO cp_tree VALUES ('4919', '3', '99', '241', '4918', '100'); -INSERT INTO cp_tree VALUES ('4920', '2', '102', '241', '4869', '105'); -INSERT INTO cp_tree VALUES ('4921', '3', '103', '241', '4920', '104'); -INSERT INTO cp_tree VALUES ('4922', '2', '106', '241', '4869', '115'); -INSERT INTO cp_tree VALUES ('4923', '3', '107', '241', '4922', '110'); -INSERT INTO cp_tree VALUES ('4924', '4', '108', '241', '4923', '109'); -INSERT INTO cp_tree VALUES ('4925', '3', '111', '241', '4922', '114'); -INSERT INTO cp_tree VALUES ('4926', '4', '112', '241', '4925', '113'); -INSERT INTO cp_tree VALUES ('4927', '2', '116', '241', '4869', '125'); -INSERT INTO cp_tree VALUES ('4928', '3', '117', '241', '4927', '120'); -INSERT INTO cp_tree VALUES ('4929', '4', '118', '241', '4928', '119'); -INSERT INTO cp_tree VALUES ('4930', '3', '121', '241', '4927', '124'); -INSERT INTO cp_tree VALUES ('4931', '4', '122', '241', '4930', '123'); -INSERT INTO cp_tree VALUES ('4932', '2', '126', '241', '4869', '137'); -INSERT INTO cp_tree VALUES ('4933', '3', '127', '241', '4932', '130'); -INSERT INTO cp_tree VALUES ('4934', '4', '128', '241', '4933', '129'); -INSERT INTO cp_tree VALUES ('4935', '3', '131', '241', '4932', '132'); -INSERT INTO cp_tree VALUES ('4936', '3', '133', '241', '4932', '136'); -INSERT INTO cp_tree VALUES ('4937', '4', '134', '241', '4936', '135'); -INSERT INTO cp_tree VALUES ('4938', '2', '138', '241', '4869', '159'); -INSERT INTO cp_tree VALUES ('4939', '3', '139', '241', '4938', '142'); -INSERT INTO cp_tree VALUES ('4940', '4', '140', '241', '4939', '141'); -INSERT INTO cp_tree VALUES ('4941', '3', '143', '241', '4938', '148'); -INSERT INTO cp_tree VALUES ('4942', '4', '144', '241', '4941', '145'); -INSERT INTO cp_tree VALUES ('4943', '4', '146', '241', '4941', '147'); -INSERT INTO cp_tree VALUES ('4944', '3', '149', '241', '4938', '150'); -INSERT INTO cp_tree VALUES ('4945', '3', '151', '241', '4938', '154'); -INSERT INTO cp_tree VALUES ('4946', '4', '152', '241', '4945', '153'); -INSERT INTO cp_tree VALUES ('4947', '3', '155', '241', '4938', '158'); -INSERT INTO cp_tree VALUES ('4948', '4', '156', '241', '4947', '157'); -INSERT INTO cp_tree VALUES ('4949', '2', '160', '241', '4869', '161'); -INSERT INTO cp_tree VALUES ('4950', '2', '162', '241', '4869', '173'); -INSERT INTO cp_tree VALUES ('4951', '3', '163', '241', '4950', '166'); -INSERT INTO cp_tree VALUES ('4952', '4', '164', '241', '4951', '165'); -INSERT INTO cp_tree VALUES ('4953', '3', '167', '241', '4950', '168'); -INSERT INTO cp_tree VALUES ('4954', '3', '169', '241', '4950', '172'); -INSERT INTO cp_tree VALUES ('4955', '4', '170', '241', '4954', '171'); -INSERT INTO cp_tree VALUES ('4956', '2', '174', '241', '4869', '195'); -INSERT INTO cp_tree VALUES ('4957', '3', '175', '241', '4956', '178'); -INSERT INTO cp_tree VALUES ('4958', '4', '176', '241', '4957', '177'); -INSERT INTO cp_tree VALUES ('4959', '3', '179', '241', '4956', '184'); -INSERT INTO cp_tree VALUES ('4960', '4', '180', '241', '4959', '181'); -INSERT INTO cp_tree VALUES ('4961', '4', '182', '241', '4959', '183'); -INSERT INTO cp_tree VALUES ('4962', '3', '185', '241', '4956', '186'); -INSERT INTO cp_tree VALUES ('4963', '3', '187', '241', '4956', '190'); -INSERT INTO cp_tree VALUES ('4964', '4', '188', '241', '4963', '189'); -INSERT INTO cp_tree VALUES ('4965', '3', '191', '241', '4956', '194'); -INSERT INTO cp_tree VALUES ('4966', '4', '192', '241', '4965', '193'); -INSERT INTO cp_tree VALUES ('4967', '2', '196', '241', '4869', '197'); -INSERT INTO cp_tree VALUES ('4968', '2', '198', '241', '4869', '225'); -INSERT INTO cp_tree VALUES ('4969', '3', '199', '241', '4968', '202'); -INSERT INTO cp_tree VALUES ('4970', '4', '200', '241', '4969', '201'); -INSERT INTO cp_tree VALUES ('4971', '3', '203', '241', '4968', '204'); -INSERT INTO cp_tree VALUES ('4972', '3', '205', '241', '4968', '208'); -INSERT INTO cp_tree VALUES ('4973', '4', '206', '241', '4972', '207'); -INSERT INTO cp_tree VALUES ('4974', '3', '209', '241', '4968', '212'); -INSERT INTO cp_tree VALUES ('4975', '4', '210', '241', '4974', '211'); -INSERT INTO cp_tree VALUES ('4976', '3', '213', '241', '4968', '216'); -INSERT INTO cp_tree VALUES ('4977', '4', '214', '241', '4976', '215'); -INSERT INTO cp_tree VALUES ('4978', '3', '217', '241', '4968', '220'); -INSERT INTO cp_tree VALUES ('4979', '4', '218', '241', '4978', '219'); -INSERT INTO cp_tree VALUES ('4980', '3', '221', '241', '4968', '224'); -INSERT INTO cp_tree VALUES ('4981', '4', '222', '241', '4980', '223'); -INSERT INTO cp_tree VALUES ('4982', '2', '226', '241', '4869', '237'); -INSERT INTO cp_tree VALUES ('4983', '3', '227', '241', '4982', '230'); -INSERT INTO cp_tree VALUES ('4984', '4', '228', '241', '4983', '229'); -INSERT INTO cp_tree VALUES ('4985', '3', '231', '241', '4982', '232'); -INSERT INTO cp_tree VALUES ('4986', '3', '233', '241', '4982', '236'); -INSERT INTO cp_tree VALUES ('4987', '4', '234', '241', '4986', '235'); -INSERT INTO cp_tree VALUES ('4988', '2', '238', '241', '4869', '239'); -INSERT INTO cp_tree VALUES ('4989', '1', '1', '242', '0', '80'); -INSERT INTO cp_tree VALUES ('4990', '2', '2', '242', '4989', '27'); -INSERT INTO cp_tree VALUES ('4991', '3', '3', '242', '4990', '10'); -INSERT INTO cp_tree VALUES ('4992', '4', '4', '242', '4991', '5'); -INSERT INTO cp_tree VALUES ('4993', '4', '6', '242', '4991', '7'); -INSERT INTO cp_tree VALUES ('4994', '4', '8', '242', '4991', '9'); -INSERT INTO cp_tree VALUES ('4995', '3', '11', '242', '4990', '18'); -INSERT INTO cp_tree VALUES ('4996', '4', '12', '242', '4995', '13'); -INSERT INTO cp_tree VALUES ('4997', '4', '14', '242', '4995', '15'); -INSERT INTO cp_tree VALUES ('4998', '4', '16', '242', '4995', '17'); -INSERT INTO cp_tree VALUES ('4999', '3', '19', '242', '4990', '26'); -INSERT INTO cp_tree VALUES ('5000', '4', '20', '242', '4999', '21'); -INSERT INTO cp_tree VALUES ('5001', '4', '22', '242', '4999', '23'); -INSERT INTO cp_tree VALUES ('5002', '4', '24', '242', '4999', '25'); -INSERT INTO cp_tree VALUES ('5003', '2', '28', '242', '4989', '41'); -INSERT INTO cp_tree VALUES ('5004', '3', '29', '242', '5003', '30'); -INSERT INTO cp_tree VALUES ('5005', '3', '31', '242', '5003', '32'); -INSERT INTO cp_tree VALUES ('5006', '3', '33', '242', '5003', '34'); -INSERT INTO cp_tree VALUES ('5007', '3', '35', '242', '5003', '36'); -INSERT INTO cp_tree VALUES ('5008', '3', '37', '242', '5003', '38'); -INSERT INTO cp_tree VALUES ('5009', '3', '39', '242', '5003', '40'); -INSERT INTO cp_tree VALUES ('5010', '2', '42', '242', '4989', '45'); -INSERT INTO cp_tree VALUES ('5011', '3', '43', '242', '5010', '44'); -INSERT INTO cp_tree VALUES ('5012', '2', '46', '242', '4989', '49'); -INSERT INTO cp_tree VALUES ('5013', '3', '47', '242', '5012', '48'); -INSERT INTO cp_tree VALUES ('5014', '2', '50', '242', '4989', '53'); -INSERT INTO cp_tree VALUES ('5015', '3', '51', '242', '5014', '52'); -INSERT INTO cp_tree VALUES ('5016', '2', '54', '242', '4989', '59'); -INSERT INTO cp_tree VALUES ('5017', '3', '55', '242', '5016', '56'); -INSERT INTO cp_tree VALUES ('5018', '3', '57', '242', '5016', '58'); -INSERT INTO cp_tree VALUES ('5019', '2', '60', '242', '4989', '63'); -INSERT INTO cp_tree VALUES ('5020', '3', '61', '242', '5019', '62'); -INSERT INTO cp_tree VALUES ('5021', '2', '64', '242', '4989', '67'); -INSERT INTO cp_tree VALUES ('5022', '3', '65', '242', '5021', '66'); -INSERT INTO cp_tree VALUES ('5023', '2', '68', '242', '4989', '77'); -INSERT INTO cp_tree VALUES ('5024', '3', '69', '242', '5023', '72'); -INSERT INTO cp_tree VALUES ('5025', '4', '70', '242', '5024', '71'); -INSERT INTO cp_tree VALUES ('5026', '3', '73', '242', '5023', '76'); -INSERT INTO cp_tree VALUES ('5027', '4', '74', '242', '5026', '75'); -INSERT INTO cp_tree VALUES ('5028', '2', '78', '242', '4989', '79'); -INSERT INTO cp_tree VALUES ('5029', '1', '1', '243', '0', '88'); -INSERT INTO cp_tree VALUES ('5030', '2', '2', '243', '5029', '37'); -INSERT INTO cp_tree VALUES ('5031', '3', '3', '243', '5030', '28'); -INSERT INTO cp_tree VALUES ('5032', '4', '4', '243', '5031', '11'); -INSERT INTO cp_tree VALUES ('5033', '5', '5', '243', '5032', '6'); -INSERT INTO cp_tree VALUES ('5034', '5', '7', '243', '5032', '8'); -INSERT INTO cp_tree VALUES ('5035', '5', '9', '243', '5032', '10'); -INSERT INTO cp_tree VALUES ('5036', '4', '12', '243', '5031', '19'); -INSERT INTO cp_tree VALUES ('5037', '5', '13', '243', '5036', '14'); -INSERT INTO cp_tree VALUES ('5038', '5', '15', '243', '5036', '16'); -INSERT INTO cp_tree VALUES ('5039', '5', '17', '243', '5036', '18'); -INSERT INTO cp_tree VALUES ('5040', '4', '20', '243', '5031', '27'); -INSERT INTO cp_tree VALUES ('5041', '5', '21', '243', '5040', '22'); -INSERT INTO cp_tree VALUES ('5042', '5', '23', '243', '5040', '24'); -INSERT INTO cp_tree VALUES ('5043', '5', '25', '243', '5040', '26'); -INSERT INTO cp_tree VALUES ('5044', '3', '29', '243', '5030', '36'); -INSERT INTO cp_tree VALUES ('5045', '4', '30', '243', '5044', '31'); -INSERT INTO cp_tree VALUES ('5046', '4', '32', '243', '5044', '33'); -INSERT INTO cp_tree VALUES ('5047', '4', '34', '243', '5044', '35'); -INSERT INTO cp_tree VALUES ('5048', '2', '38', '243', '5029', '51'); -INSERT INTO cp_tree VALUES ('5049', '3', '39', '243', '5048', '40'); -INSERT INTO cp_tree VALUES ('5050', '3', '41', '243', '5048', '42'); -INSERT INTO cp_tree VALUES ('5051', '3', '43', '243', '5048', '44'); -INSERT INTO cp_tree VALUES ('5052', '3', '45', '243', '5048', '46'); -INSERT INTO cp_tree VALUES ('5053', '3', '47', '243', '5048', '48'); -INSERT INTO cp_tree VALUES ('5054', '3', '49', '243', '5048', '50'); -INSERT INTO cp_tree VALUES ('5055', '2', '52', '243', '5029', '55'); -INSERT INTO cp_tree VALUES ('5056', '3', '53', '243', '5055', '54'); -INSERT INTO cp_tree VALUES ('5057', '2', '56', '243', '5029', '59'); -INSERT INTO cp_tree VALUES ('5058', '3', '57', '243', '5057', '58'); -INSERT INTO cp_tree VALUES ('5059', '2', '60', '243', '5029', '63'); -INSERT INTO cp_tree VALUES ('5060', '3', '61', '243', '5059', '62'); -INSERT INTO cp_tree VALUES ('5061', '2', '64', '243', '5029', '69'); -INSERT INTO cp_tree VALUES ('5062', '3', '65', '243', '5061', '66'); -INSERT INTO cp_tree VALUES ('5063', '3', '67', '243', '5061', '68'); -INSERT INTO cp_tree VALUES ('5064', '2', '70', '243', '5029', '73'); -INSERT INTO cp_tree VALUES ('5065', '3', '71', '243', '5064', '72'); -INSERT INTO cp_tree VALUES ('5066', '2', '74', '243', '5029', '77'); -INSERT INTO cp_tree VALUES ('5067', '3', '75', '243', '5066', '76'); -INSERT INTO cp_tree VALUES ('5068', '2', '78', '243', '5029', '83'); -INSERT INTO cp_tree VALUES ('5069', '3', '79', '243', '5068', '82'); -INSERT INTO cp_tree VALUES ('5070', '4', '80', '243', '5069', '81'); -INSERT INTO cp_tree VALUES ('5071', '2', '84', '243', '5029', '85'); -INSERT INTO cp_tree VALUES ('5072', '2', '86', '243', '5029', '87'); -INSERT INTO cp_tree VALUES ('5073', '1', '1', '244', '0', '80'); -INSERT INTO cp_tree VALUES ('5074', '2', '2', '244', '5073', '29'); -INSERT INTO cp_tree VALUES ('5075', '3', '3', '244', '5074', '20'); -INSERT INTO cp_tree VALUES ('5076', '4', '4', '244', '5075', '11'); -INSERT INTO cp_tree VALUES ('5077', '5', '5', '244', '5076', '6'); -INSERT INTO cp_tree VALUES ('5078', '5', '7', '244', '5076', '8'); -INSERT INTO cp_tree VALUES ('5079', '5', '9', '244', '5076', '10'); -INSERT INTO cp_tree VALUES ('5080', '4', '12', '244', '5075', '19'); -INSERT INTO cp_tree VALUES ('5081', '5', '13', '244', '5080', '14'); -INSERT INTO cp_tree VALUES ('5082', '5', '15', '244', '5080', '16'); -INSERT INTO cp_tree VALUES ('5083', '5', '17', '244', '5080', '18'); -INSERT INTO cp_tree VALUES ('5084', '3', '21', '244', '5074', '28'); -INSERT INTO cp_tree VALUES ('5085', '4', '22', '244', '5084', '23'); -INSERT INTO cp_tree VALUES ('5086', '4', '24', '244', '5084', '25'); -INSERT INTO cp_tree VALUES ('5087', '4', '26', '244', '5084', '27'); -INSERT INTO cp_tree VALUES ('5088', '2', '30', '244', '5073', '43'); -INSERT INTO cp_tree VALUES ('5089', '3', '31', '244', '5088', '32'); -INSERT INTO cp_tree VALUES ('5090', '3', '33', '244', '5088', '34'); -INSERT INTO cp_tree VALUES ('5091', '3', '35', '244', '5088', '36'); -INSERT INTO cp_tree VALUES ('5092', '3', '37', '244', '5088', '38'); -INSERT INTO cp_tree VALUES ('5093', '3', '39', '244', '5088', '40'); -INSERT INTO cp_tree VALUES ('5094', '3', '41', '244', '5088', '42'); -INSERT INTO cp_tree VALUES ('5095', '2', '44', '244', '5073', '47'); -INSERT INTO cp_tree VALUES ('5096', '3', '45', '244', '5095', '46'); -INSERT INTO cp_tree VALUES ('5097', '2', '48', '244', '5073', '51'); -INSERT INTO cp_tree VALUES ('5098', '3', '49', '244', '5097', '50'); -INSERT INTO cp_tree VALUES ('5099', '2', '52', '244', '5073', '55'); -INSERT INTO cp_tree VALUES ('5100', '3', '53', '244', '5099', '54'); -INSERT INTO cp_tree VALUES ('5101', '2', '56', '244', '5073', '61'); -INSERT INTO cp_tree VALUES ('5102', '3', '57', '244', '5101', '58'); -INSERT INTO cp_tree VALUES ('5103', '3', '59', '244', '5101', '60'); -INSERT INTO cp_tree VALUES ('5104', '2', '62', '244', '5073', '65'); -INSERT INTO cp_tree VALUES ('5105', '3', '63', '244', '5104', '64'); -INSERT INTO cp_tree VALUES ('5106', '2', '66', '244', '5073', '69'); -INSERT INTO cp_tree VALUES ('5107', '3', '67', '244', '5106', '68'); -INSERT INTO cp_tree VALUES ('5108', '2', '70', '244', '5073', '75'); -INSERT INTO cp_tree VALUES ('5109', '3', '71', '244', '5108', '74'); -INSERT INTO cp_tree VALUES ('5110', '4', '72', '244', '5109', '73'); -INSERT INTO cp_tree VALUES ('5111', '2', '76', '244', '5073', '77'); -INSERT INTO cp_tree VALUES ('5112', '2', '78', '244', '5073', '79'); -INSERT INTO cp_tree VALUES ('5113', '1', '1', '245', '0', '88'); -INSERT INTO cp_tree VALUES ('5114', '2', '2', '245', '5113', '29'); -INSERT INTO cp_tree VALUES ('5115', '3', '3', '245', '5114', '20'); -INSERT INTO cp_tree VALUES ('5116', '4', '4', '245', '5115', '11'); -INSERT INTO cp_tree VALUES ('5117', '5', '5', '245', '5116', '6'); -INSERT INTO cp_tree VALUES ('5118', '5', '7', '245', '5116', '8'); -INSERT INTO cp_tree VALUES ('5119', '5', '9', '245', '5116', '10'); -INSERT INTO cp_tree VALUES ('5120', '4', '12', '245', '5115', '19'); -INSERT INTO cp_tree VALUES ('5121', '5', '13', '245', '5120', '14'); -INSERT INTO cp_tree VALUES ('5122', '5', '15', '245', '5120', '16'); -INSERT INTO cp_tree VALUES ('5123', '5', '17', '245', '5120', '18'); -INSERT INTO cp_tree VALUES ('5124', '3', '21', '245', '5114', '28'); -INSERT INTO cp_tree VALUES ('5125', '4', '22', '245', '5124', '23'); -INSERT INTO cp_tree VALUES ('5126', '4', '24', '245', '5124', '25'); -INSERT INTO cp_tree VALUES ('5127', '4', '26', '245', '5124', '27'); -INSERT INTO cp_tree VALUES ('5128', '2', '30', '245', '5113', '43'); -INSERT INTO cp_tree VALUES ('5129', '3', '31', '245', '5128', '32'); -INSERT INTO cp_tree VALUES ('5130', '3', '33', '245', '5128', '34'); -INSERT INTO cp_tree VALUES ('5131', '3', '35', '245', '5128', '36'); -INSERT INTO cp_tree VALUES ('5132', '3', '37', '245', '5128', '38'); -INSERT INTO cp_tree VALUES ('5133', '3', '39', '245', '5128', '40'); -INSERT INTO cp_tree VALUES ('5134', '3', '41', '245', '5128', '42'); -INSERT INTO cp_tree VALUES ('5135', '2', '44', '245', '5113', '47'); -INSERT INTO cp_tree VALUES ('5136', '3', '45', '245', '5135', '46'); -INSERT INTO cp_tree VALUES ('5137', '2', '48', '245', '5113', '51'); -INSERT INTO cp_tree VALUES ('5138', '3', '49', '245', '5137', '50'); -INSERT INTO cp_tree VALUES ('5139', '2', '52', '245', '5113', '55'); -INSERT INTO cp_tree VALUES ('5140', '3', '53', '245', '5139', '54'); -INSERT INTO cp_tree VALUES ('5141', '2', '56', '245', '5113', '61'); -INSERT INTO cp_tree VALUES ('5142', '3', '57', '245', '5141', '58'); -INSERT INTO cp_tree VALUES ('5143', '3', '59', '245', '5141', '60'); -INSERT INTO cp_tree VALUES ('5144', '2', '62', '245', '5113', '65'); -INSERT INTO cp_tree VALUES ('5145', '3', '63', '245', '5144', '64'); -INSERT INTO cp_tree VALUES ('5146', '2', '66', '245', '5113', '69'); -INSERT INTO cp_tree VALUES ('5147', '3', '67', '245', '5146', '68'); -INSERT INTO cp_tree VALUES ('5148', '2', '70', '245', '5113', '75'); -INSERT INTO cp_tree VALUES ('5149', '3', '71', '245', '5148', '74'); -INSERT INTO cp_tree VALUES ('5150', '4', '72', '245', '5149', '73'); -INSERT INTO cp_tree VALUES ('5151', '2', '76', '245', '5113', '85'); -INSERT INTO cp_tree VALUES ('5152', '3', '77', '245', '5151', '80'); -INSERT INTO cp_tree VALUES ('5153', '4', '78', '245', '5152', '79'); -INSERT INTO cp_tree VALUES ('5154', '3', '81', '245', '5151', '84'); -INSERT INTO cp_tree VALUES ('5155', '4', '82', '245', '5154', '83'); -INSERT INTO cp_tree VALUES ('5156', '2', '86', '245', '5113', '87'); -INSERT INTO cp_tree VALUES ('5157', '1', '1', '246', '0', '118'); -INSERT INTO cp_tree VALUES ('5158', '2', '2', '246', '5157', '53'); -INSERT INTO cp_tree VALUES ('5159', '3', '3', '246', '5158', '10'); -INSERT INTO cp_tree VALUES ('5160', '4', '4', '246', '5159', '5'); -INSERT INTO cp_tree VALUES ('5161', '4', '6', '246', '5159', '7'); -INSERT INTO cp_tree VALUES ('5162', '4', '8', '246', '5159', '9'); -INSERT INTO cp_tree VALUES ('5163', '3', '11', '246', '5158', '44'); -INSERT INTO cp_tree VALUES ('5164', '4', '12', '246', '5163', '19'); -INSERT INTO cp_tree VALUES ('5165', '5', '13', '246', '5164', '14'); -INSERT INTO cp_tree VALUES ('5166', '5', '15', '246', '5164', '16'); -INSERT INTO cp_tree VALUES ('5167', '5', '17', '246', '5164', '18'); -INSERT INTO cp_tree VALUES ('5168', '4', '20', '246', '5163', '27'); -INSERT INTO cp_tree VALUES ('5169', '5', '21', '246', '5168', '22'); -INSERT INTO cp_tree VALUES ('5170', '5', '23', '246', '5168', '24'); -INSERT INTO cp_tree VALUES ('5171', '5', '25', '246', '5168', '26'); -INSERT INTO cp_tree VALUES ('5172', '4', '28', '246', '5163', '35'); -INSERT INTO cp_tree VALUES ('5173', '5', '29', '246', '5172', '30'); -INSERT INTO cp_tree VALUES ('5174', '5', '31', '246', '5172', '32'); -INSERT INTO cp_tree VALUES ('5175', '5', '33', '246', '5172', '34'); -INSERT INTO cp_tree VALUES ('5176', '4', '36', '246', '5163', '43'); -INSERT INTO cp_tree VALUES ('5177', '5', '37', '246', '5176', '38'); -INSERT INTO cp_tree VALUES ('5178', '5', '39', '246', '5176', '40'); -INSERT INTO cp_tree VALUES ('5179', '5', '41', '246', '5176', '42'); -INSERT INTO cp_tree VALUES ('5180', '3', '45', '246', '5158', '52'); -INSERT INTO cp_tree VALUES ('5181', '4', '46', '246', '5180', '47'); -INSERT INTO cp_tree VALUES ('5182', '4', '48', '246', '5180', '49'); -INSERT INTO cp_tree VALUES ('5183', '4', '50', '246', '5180', '51'); -INSERT INTO cp_tree VALUES ('5184', '2', '54', '246', '5157', '67'); -INSERT INTO cp_tree VALUES ('5185', '3', '55', '246', '5184', '56'); -INSERT INTO cp_tree VALUES ('5186', '3', '57', '246', '5184', '58'); -INSERT INTO cp_tree VALUES ('5187', '3', '59', '246', '5184', '60'); -INSERT INTO cp_tree VALUES ('5188', '3', '61', '246', '5184', '62'); -INSERT INTO cp_tree VALUES ('5189', '3', '63', '246', '5184', '64'); -INSERT INTO cp_tree VALUES ('5190', '3', '65', '246', '5184', '66'); -INSERT INTO cp_tree VALUES ('5191', '2', '68', '246', '5157', '71'); -INSERT INTO cp_tree VALUES ('5192', '3', '69', '246', '5191', '70'); -INSERT INTO cp_tree VALUES ('5193', '2', '72', '246', '5157', '75'); -INSERT INTO cp_tree VALUES ('5194', '3', '73', '246', '5193', '74'); -INSERT INTO cp_tree VALUES ('5195', '2', '76', '246', '5157', '79'); -INSERT INTO cp_tree VALUES ('5196', '3', '77', '246', '5195', '78'); -INSERT INTO cp_tree VALUES ('5197', '2', '80', '246', '5157', '85'); -INSERT INTO cp_tree VALUES ('5198', '3', '81', '246', '5197', '82'); -INSERT INTO cp_tree VALUES ('5199', '3', '83', '246', '5197', '84'); -INSERT INTO cp_tree VALUES ('5200', '2', '86', '246', '5157', '89'); -INSERT INTO cp_tree VALUES ('5201', '3', '87', '246', '5200', '88'); -INSERT INTO cp_tree VALUES ('5202', '2', '90', '246', '5157', '93'); -INSERT INTO cp_tree VALUES ('5203', '3', '91', '246', '5202', '92'); -INSERT INTO cp_tree VALUES ('5204', '2', '94', '246', '5157', '101'); -INSERT INTO cp_tree VALUES ('5205', '3', '95', '246', '5204', '98'); -INSERT INTO cp_tree VALUES ('5206', '4', '96', '246', '5205', '97'); -INSERT INTO cp_tree VALUES ('5207', '3', '99', '246', '5204', '100'); -INSERT INTO cp_tree VALUES ('5208', '2', '102', '246', '5157', '107'); -INSERT INTO cp_tree VALUES ('5209', '3', '103', '246', '5208', '106'); -INSERT INTO cp_tree VALUES ('5210', '4', '104', '246', '5209', '105'); -INSERT INTO cp_tree VALUES ('5211', '2', '108', '246', '5157', '113'); -INSERT INTO cp_tree VALUES ('5212', '3', '109', '246', '5211', '112'); -INSERT INTO cp_tree VALUES ('5213', '4', '110', '246', '5212', '111'); -INSERT INTO cp_tree VALUES ('5214', '2', '114', '246', '5157', '115'); -INSERT INTO cp_tree VALUES ('5215', '2', '116', '246', '5157', '117'); -INSERT INTO cp_tree VALUES ('5216', '1', '1', '247', '0', '118'); -INSERT INTO cp_tree VALUES ('5217', '2', '2', '247', '5216', '53'); -INSERT INTO cp_tree VALUES ('5218', '3', '3', '247', '5217', '10'); -INSERT INTO cp_tree VALUES ('5219', '4', '4', '247', '5218', '5'); -INSERT INTO cp_tree VALUES ('5220', '4', '6', '247', '5218', '7'); -INSERT INTO cp_tree VALUES ('5221', '4', '8', '247', '5218', '9'); -INSERT INTO cp_tree VALUES ('5222', '3', '11', '247', '5217', '44'); -INSERT INTO cp_tree VALUES ('5223', '4', '12', '247', '5222', '19'); -INSERT INTO cp_tree VALUES ('5224', '5', '13', '247', '5223', '14'); -INSERT INTO cp_tree VALUES ('5225', '5', '15', '247', '5223', '16'); -INSERT INTO cp_tree VALUES ('5226', '5', '17', '247', '5223', '18'); -INSERT INTO cp_tree VALUES ('5227', '4', '20', '247', '5222', '27'); -INSERT INTO cp_tree VALUES ('5228', '5', '21', '247', '5227', '22'); -INSERT INTO cp_tree VALUES ('5229', '5', '23', '247', '5227', '24'); -INSERT INTO cp_tree VALUES ('5230', '5', '25', '247', '5227', '26'); -INSERT INTO cp_tree VALUES ('5231', '4', '28', '247', '5222', '35'); -INSERT INTO cp_tree VALUES ('5232', '5', '29', '247', '5231', '30'); -INSERT INTO cp_tree VALUES ('5233', '5', '31', '247', '5231', '32'); -INSERT INTO cp_tree VALUES ('5234', '5', '33', '247', '5231', '34'); -INSERT INTO cp_tree VALUES ('5235', '4', '36', '247', '5222', '43'); -INSERT INTO cp_tree VALUES ('5236', '5', '37', '247', '5235', '38'); -INSERT INTO cp_tree VALUES ('5237', '5', '39', '247', '5235', '40'); -INSERT INTO cp_tree VALUES ('5238', '5', '41', '247', '5235', '42'); -INSERT INTO cp_tree VALUES ('5239', '3', '45', '247', '5217', '52'); -INSERT INTO cp_tree VALUES ('5240', '4', '46', '247', '5239', '47'); -INSERT INTO cp_tree VALUES ('5241', '4', '48', '247', '5239', '49'); -INSERT INTO cp_tree VALUES ('5242', '4', '50', '247', '5239', '51'); -INSERT INTO cp_tree VALUES ('5243', '2', '54', '247', '5216', '67'); -INSERT INTO cp_tree VALUES ('5244', '3', '55', '247', '5243', '56'); -INSERT INTO cp_tree VALUES ('5245', '3', '57', '247', '5243', '58'); -INSERT INTO cp_tree VALUES ('5246', '3', '59', '247', '5243', '60'); -INSERT INTO cp_tree VALUES ('5247', '3', '61', '247', '5243', '62'); -INSERT INTO cp_tree VALUES ('5248', '3', '63', '247', '5243', '64'); -INSERT INTO cp_tree VALUES ('5249', '3', '65', '247', '5243', '66'); -INSERT INTO cp_tree VALUES ('5250', '2', '68', '247', '5216', '71'); -INSERT INTO cp_tree VALUES ('5251', '3', '69', '247', '5250', '70'); -INSERT INTO cp_tree VALUES ('5252', '2', '72', '247', '5216', '75'); -INSERT INTO cp_tree VALUES ('5253', '3', '73', '247', '5252', '74'); -INSERT INTO cp_tree VALUES ('5254', '2', '76', '247', '5216', '79'); -INSERT INTO cp_tree VALUES ('5255', '3', '77', '247', '5254', '78'); -INSERT INTO cp_tree VALUES ('5256', '2', '80', '247', '5216', '85'); -INSERT INTO cp_tree VALUES ('5257', '3', '81', '247', '5256', '82'); -INSERT INTO cp_tree VALUES ('5258', '3', '83', '247', '5256', '84'); -INSERT INTO cp_tree VALUES ('5259', '2', '86', '247', '5216', '89'); -INSERT INTO cp_tree VALUES ('5260', '3', '87', '247', '5259', '88'); -INSERT INTO cp_tree VALUES ('5261', '2', '90', '247', '5216', '93'); -INSERT INTO cp_tree VALUES ('5262', '3', '91', '247', '5261', '92'); -INSERT INTO cp_tree VALUES ('5263', '2', '94', '247', '5216', '99'); -INSERT INTO cp_tree VALUES ('5264', '3', '95', '247', '5263', '98'); -INSERT INTO cp_tree VALUES ('5265', '4', '96', '247', '5264', '97'); -INSERT INTO cp_tree VALUES ('5266', '2', '100', '247', '5216', '107'); -INSERT INTO cp_tree VALUES ('5267', '3', '101', '247', '5266', '104'); -INSERT INTO cp_tree VALUES ('5268', '4', '102', '247', '5267', '103'); -INSERT INTO cp_tree VALUES ('5269', '3', '105', '247', '5266', '106'); -INSERT INTO cp_tree VALUES ('5270', '2', '108', '247', '5216', '113'); -INSERT INTO cp_tree VALUES ('5271', '3', '109', '247', '5270', '112'); -INSERT INTO cp_tree VALUES ('5272', '4', '110', '247', '5271', '111'); -INSERT INTO cp_tree VALUES ('5273', '2', '114', '247', '5216', '115'); -INSERT INTO cp_tree VALUES ('5274', '2', '116', '247', '5216', '117'); -INSERT INTO cp_tree VALUES ('5275', '1', '1', '248', '0', '426'); -INSERT INTO cp_tree VALUES ('5276', '2', '2', '248', '5275', '261'); -INSERT INTO cp_tree VALUES ('5277', '3', '3', '248', '5276', '10'); -INSERT INTO cp_tree VALUES ('5278', '4', '4', '248', '5277', '5'); -INSERT INTO cp_tree VALUES ('5279', '4', '6', '248', '5277', '7'); -INSERT INTO cp_tree VALUES ('5280', '4', '8', '248', '5277', '9'); -INSERT INTO cp_tree VALUES ('5281', '3', '11', '248', '5276', '252'); -INSERT INTO cp_tree VALUES ('5282', '4', '12', '248', '5281', '91'); -INSERT INTO cp_tree VALUES ('5283', '5', '13', '248', '5282', '38'); -INSERT INTO cp_tree VALUES ('5284', '6', '14', '248', '5283', '21'); -INSERT INTO cp_tree VALUES ('5285', '7', '15', '248', '5284', '16'); -INSERT INTO cp_tree VALUES ('5286', '7', '17', '248', '5284', '18'); -INSERT INTO cp_tree VALUES ('5287', '7', '19', '248', '5284', '20'); -INSERT INTO cp_tree VALUES ('5288', '6', '22', '248', '5283', '29'); -INSERT INTO cp_tree VALUES ('5289', '7', '23', '248', '5288', '24'); -INSERT INTO cp_tree VALUES ('5290', '7', '25', '248', '5288', '26'); -INSERT INTO cp_tree VALUES ('5291', '7', '27', '248', '5288', '28'); -INSERT INTO cp_tree VALUES ('5292', '6', '30', '248', '5283', '37'); -INSERT INTO cp_tree VALUES ('5293', '7', '31', '248', '5292', '32'); -INSERT INTO cp_tree VALUES ('5294', '7', '33', '248', '5292', '34'); -INSERT INTO cp_tree VALUES ('5295', '7', '35', '248', '5292', '36'); -INSERT INTO cp_tree VALUES ('5296', '5', '39', '248', '5282', '64'); -INSERT INTO cp_tree VALUES ('5297', '6', '40', '248', '5296', '47'); -INSERT INTO cp_tree VALUES ('5298', '7', '41', '248', '5297', '42'); -INSERT INTO cp_tree VALUES ('5299', '7', '43', '248', '5297', '44'); -INSERT INTO cp_tree VALUES ('5300', '7', '45', '248', '5297', '46'); -INSERT INTO cp_tree VALUES ('5301', '6', '48', '248', '5296', '55'); -INSERT INTO cp_tree VALUES ('5302', '7', '49', '248', '5301', '50'); -INSERT INTO cp_tree VALUES ('5303', '7', '51', '248', '5301', '52'); -INSERT INTO cp_tree VALUES ('5304', '7', '53', '248', '5301', '54'); -INSERT INTO cp_tree VALUES ('5305', '6', '56', '248', '5296', '63'); -INSERT INTO cp_tree VALUES ('5306', '7', '57', '248', '5305', '58'); -INSERT INTO cp_tree VALUES ('5307', '7', '59', '248', '5305', '60'); -INSERT INTO cp_tree VALUES ('5308', '7', '61', '248', '5305', '62'); -INSERT INTO cp_tree VALUES ('5309', '5', '65', '248', '5282', '90'); -INSERT INTO cp_tree VALUES ('5310', '6', '66', '248', '5309', '73'); -INSERT INTO cp_tree VALUES ('5311', '7', '67', '248', '5310', '68'); -INSERT INTO cp_tree VALUES ('5312', '7', '69', '248', '5310', '70'); -INSERT INTO cp_tree VALUES ('5313', '7', '71', '248', '5310', '72'); -INSERT INTO cp_tree VALUES ('5314', '6', '74', '248', '5309', '81'); -INSERT INTO cp_tree VALUES ('5315', '7', '75', '248', '5314', '76'); -INSERT INTO cp_tree VALUES ('5316', '7', '77', '248', '5314', '78'); -INSERT INTO cp_tree VALUES ('5317', '7', '79', '248', '5314', '80'); -INSERT INTO cp_tree VALUES ('5318', '6', '82', '248', '5309', '89'); -INSERT INTO cp_tree VALUES ('5319', '7', '83', '248', '5318', '84'); -INSERT INTO cp_tree VALUES ('5320', '7', '85', '248', '5318', '86'); -INSERT INTO cp_tree VALUES ('5321', '7', '87', '248', '5318', '88'); -INSERT INTO cp_tree VALUES ('5322', '4', '92', '248', '5281', '171'); -INSERT INTO cp_tree VALUES ('5323', '5', '93', '248', '5322', '118'); -INSERT INTO cp_tree VALUES ('5324', '6', '94', '248', '5323', '101'); -INSERT INTO cp_tree VALUES ('5325', '7', '95', '248', '5324', '96'); -INSERT INTO cp_tree VALUES ('5326', '7', '97', '248', '5324', '98'); -INSERT INTO cp_tree VALUES ('5327', '7', '99', '248', '5324', '100'); -INSERT INTO cp_tree VALUES ('5328', '6', '102', '248', '5323', '109'); -INSERT INTO cp_tree VALUES ('5329', '7', '103', '248', '5328', '104'); -INSERT INTO cp_tree VALUES ('5330', '7', '105', '248', '5328', '106'); -INSERT INTO cp_tree VALUES ('5331', '7', '107', '248', '5328', '108'); -INSERT INTO cp_tree VALUES ('5332', '6', '110', '248', '5323', '117'); -INSERT INTO cp_tree VALUES ('5333', '7', '111', '248', '5332', '112'); -INSERT INTO cp_tree VALUES ('5334', '7', '113', '248', '5332', '114'); -INSERT INTO cp_tree VALUES ('5335', '7', '115', '248', '5332', '116'); -INSERT INTO cp_tree VALUES ('5336', '5', '119', '248', '5322', '144'); -INSERT INTO cp_tree VALUES ('5337', '6', '120', '248', '5336', '127'); -INSERT INTO cp_tree VALUES ('5338', '7', '121', '248', '5337', '122'); -INSERT INTO cp_tree VALUES ('5339', '7', '123', '248', '5337', '124'); -INSERT INTO cp_tree VALUES ('5340', '7', '125', '248', '5337', '126'); -INSERT INTO cp_tree VALUES ('5341', '6', '128', '248', '5336', '135'); -INSERT INTO cp_tree VALUES ('5342', '7', '129', '248', '5341', '130'); -INSERT INTO cp_tree VALUES ('5343', '7', '131', '248', '5341', '132'); -INSERT INTO cp_tree VALUES ('5344', '7', '133', '248', '5341', '134'); -INSERT INTO cp_tree VALUES ('5345', '6', '136', '248', '5336', '143'); -INSERT INTO cp_tree VALUES ('5346', '7', '137', '248', '5345', '138'); -INSERT INTO cp_tree VALUES ('5347', '7', '139', '248', '5345', '140'); -INSERT INTO cp_tree VALUES ('5348', '7', '141', '248', '5345', '142'); -INSERT INTO cp_tree VALUES ('5349', '5', '145', '248', '5322', '170'); -INSERT INTO cp_tree VALUES ('5350', '6', '146', '248', '5349', '153'); -INSERT INTO cp_tree VALUES ('5351', '7', '147', '248', '5350', '148'); -INSERT INTO cp_tree VALUES ('5352', '7', '149', '248', '5350', '150'); -INSERT INTO cp_tree VALUES ('5353', '7', '151', '248', '5350', '152'); -INSERT INTO cp_tree VALUES ('5354', '6', '154', '248', '5349', '161'); -INSERT INTO cp_tree VALUES ('5355', '7', '155', '248', '5354', '156'); -INSERT INTO cp_tree VALUES ('5356', '7', '157', '248', '5354', '158'); -INSERT INTO cp_tree VALUES ('5357', '7', '159', '248', '5354', '160'); -INSERT INTO cp_tree VALUES ('5358', '6', '162', '248', '5349', '169'); -INSERT INTO cp_tree VALUES ('5359', '7', '163', '248', '5358', '164'); -INSERT INTO cp_tree VALUES ('5360', '7', '165', '248', '5358', '166'); -INSERT INTO cp_tree VALUES ('5361', '7', '167', '248', '5358', '168'); -INSERT INTO cp_tree VALUES ('5362', '4', '172', '248', '5281', '251'); -INSERT INTO cp_tree VALUES ('5363', '5', '173', '248', '5362', '198'); -INSERT INTO cp_tree VALUES ('5364', '6', '174', '248', '5363', '181'); -INSERT INTO cp_tree VALUES ('5365', '7', '175', '248', '5364', '176'); -INSERT INTO cp_tree VALUES ('5366', '7', '177', '248', '5364', '178'); -INSERT INTO cp_tree VALUES ('5367', '7', '179', '248', '5364', '180'); -INSERT INTO cp_tree VALUES ('5368', '6', '182', '248', '5363', '189'); -INSERT INTO cp_tree VALUES ('5369', '7', '183', '248', '5368', '184'); -INSERT INTO cp_tree VALUES ('5370', '7', '185', '248', '5368', '186'); -INSERT INTO cp_tree VALUES ('5371', '7', '187', '248', '5368', '188'); -INSERT INTO cp_tree VALUES ('5372', '6', '190', '248', '5363', '197'); -INSERT INTO cp_tree VALUES ('5373', '7', '191', '248', '5372', '192'); -INSERT INTO cp_tree VALUES ('5374', '7', '193', '248', '5372', '194'); -INSERT INTO cp_tree VALUES ('5375', '7', '195', '248', '5372', '196'); -INSERT INTO cp_tree VALUES ('5376', '5', '199', '248', '5362', '224'); -INSERT INTO cp_tree VALUES ('5377', '6', '200', '248', '5376', '207'); -INSERT INTO cp_tree VALUES ('5378', '7', '201', '248', '5377', '202'); -INSERT INTO cp_tree VALUES ('5379', '7', '203', '248', '5377', '204'); -INSERT INTO cp_tree VALUES ('5380', '7', '205', '248', '5377', '206'); -INSERT INTO cp_tree VALUES ('5381', '6', '208', '248', '5376', '215'); -INSERT INTO cp_tree VALUES ('5382', '7', '209', '248', '5381', '210'); -INSERT INTO cp_tree VALUES ('5383', '7', '211', '248', '5381', '212'); -INSERT INTO cp_tree VALUES ('5384', '7', '213', '248', '5381', '214'); -INSERT INTO cp_tree VALUES ('5385', '6', '216', '248', '5376', '223'); -INSERT INTO cp_tree VALUES ('5386', '7', '217', '248', '5385', '218'); -INSERT INTO cp_tree VALUES ('5387', '7', '219', '248', '5385', '220'); -INSERT INTO cp_tree VALUES ('5388', '7', '221', '248', '5385', '222'); -INSERT INTO cp_tree VALUES ('5389', '5', '225', '248', '5362', '250'); -INSERT INTO cp_tree VALUES ('5390', '6', '226', '248', '5389', '233'); -INSERT INTO cp_tree VALUES ('5391', '7', '227', '248', '5390', '228'); -INSERT INTO cp_tree VALUES ('5392', '7', '229', '248', '5390', '230'); -INSERT INTO cp_tree VALUES ('5393', '7', '231', '248', '5390', '232'); -INSERT INTO cp_tree VALUES ('5394', '6', '234', '248', '5389', '241'); -INSERT INTO cp_tree VALUES ('5395', '7', '235', '248', '5394', '236'); -INSERT INTO cp_tree VALUES ('5396', '7', '237', '248', '5394', '238'); -INSERT INTO cp_tree VALUES ('5397', '7', '239', '248', '5394', '240'); -INSERT INTO cp_tree VALUES ('5398', '6', '242', '248', '5389', '249'); -INSERT INTO cp_tree VALUES ('5399', '7', '243', '248', '5398', '244'); -INSERT INTO cp_tree VALUES ('5400', '7', '245', '248', '5398', '246'); -INSERT INTO cp_tree VALUES ('5401', '7', '247', '248', '5398', '248'); -INSERT INTO cp_tree VALUES ('5402', '3', '253', '248', '5276', '260'); -INSERT INTO cp_tree VALUES ('5403', '4', '254', '248', '5402', '255'); -INSERT INTO cp_tree VALUES ('5404', '4', '256', '248', '5402', '257'); -INSERT INTO cp_tree VALUES ('5405', '4', '258', '248', '5402', '259'); -INSERT INTO cp_tree VALUES ('5406', '2', '262', '248', '5275', '275'); -INSERT INTO cp_tree VALUES ('5407', '3', '263', '248', '5406', '264'); -INSERT INTO cp_tree VALUES ('5408', '3', '265', '248', '5406', '266'); -INSERT INTO cp_tree VALUES ('5409', '3', '267', '248', '5406', '268'); -INSERT INTO cp_tree VALUES ('5410', '3', '269', '248', '5406', '270'); -INSERT INTO cp_tree VALUES ('5411', '3', '271', '248', '5406', '272'); -INSERT INTO cp_tree VALUES ('5412', '3', '273', '248', '5406', '274'); -INSERT INTO cp_tree VALUES ('5413', '2', '276', '248', '5275', '279'); -INSERT INTO cp_tree VALUES ('5414', '3', '277', '248', '5413', '278'); -INSERT INTO cp_tree VALUES ('5415', '2', '280', '248', '5275', '283'); -INSERT INTO cp_tree VALUES ('5416', '3', '281', '248', '5415', '282'); -INSERT INTO cp_tree VALUES ('5417', '2', '284', '248', '5275', '287'); -INSERT INTO cp_tree VALUES ('5418', '3', '285', '248', '5417', '286'); -INSERT INTO cp_tree VALUES ('5419', '2', '288', '248', '5275', '293'); -INSERT INTO cp_tree VALUES ('5420', '3', '289', '248', '5419', '290'); -INSERT INTO cp_tree VALUES ('5421', '3', '291', '248', '5419', '292'); -INSERT INTO cp_tree VALUES ('5422', '2', '294', '248', '5275', '297'); -INSERT INTO cp_tree VALUES ('5423', '3', '295', '248', '5422', '296'); -INSERT INTO cp_tree VALUES ('5424', '2', '298', '248', '5275', '301'); -INSERT INTO cp_tree VALUES ('5425', '3', '299', '248', '5424', '300'); -INSERT INTO cp_tree VALUES ('5426', '2', '302', '248', '5275', '303'); -INSERT INTO cp_tree VALUES ('5427', '2', '304', '248', '5275', '309'); -INSERT INTO cp_tree VALUES ('5428', '3', '305', '248', '5427', '308'); -INSERT INTO cp_tree VALUES ('5429', '4', '306', '248', '5428', '307'); -INSERT INTO cp_tree VALUES ('5430', '2', '310', '248', '5275', '315'); -INSERT INTO cp_tree VALUES ('5431', '3', '311', '248', '5430', '314'); -INSERT INTO cp_tree VALUES ('5432', '4', '312', '248', '5431', '313'); -INSERT INTO cp_tree VALUES ('5433', '2', '316', '248', '5275', '321'); -INSERT INTO cp_tree VALUES ('5434', '3', '317', '248', '5433', '320'); -INSERT INTO cp_tree VALUES ('5435', '4', '318', '248', '5434', '319'); -INSERT INTO cp_tree VALUES ('5436', '2', '322', '248', '5275', '327'); -INSERT INTO cp_tree VALUES ('5437', '3', '323', '248', '5436', '326'); -INSERT INTO cp_tree VALUES ('5438', '4', '324', '248', '5437', '325'); -INSERT INTO cp_tree VALUES ('5439', '2', '328', '248', '5275', '333'); -INSERT INTO cp_tree VALUES ('5440', '3', '329', '248', '5439', '332'); -INSERT INTO cp_tree VALUES ('5441', '4', '330', '248', '5440', '331'); -INSERT INTO cp_tree VALUES ('5442', '2', '334', '248', '5275', '339'); -INSERT INTO cp_tree VALUES ('5443', '3', '335', '248', '5442', '338'); -INSERT INTO cp_tree VALUES ('5444', '4', '336', '248', '5443', '337'); -INSERT INTO cp_tree VALUES ('5445', '2', '340', '248', '5275', '345'); -INSERT INTO cp_tree VALUES ('5446', '3', '341', '248', '5445', '344'); -INSERT INTO cp_tree VALUES ('5447', '4', '342', '248', '5446', '343'); -INSERT INTO cp_tree VALUES ('5448', '2', '346', '248', '5275', '351'); -INSERT INTO cp_tree VALUES ('5449', '3', '347', '248', '5448', '350'); -INSERT INTO cp_tree VALUES ('5450', '4', '348', '248', '5449', '349'); -INSERT INTO cp_tree VALUES ('5451', '2', '352', '248', '5275', '357'); -INSERT INTO cp_tree VALUES ('5452', '3', '353', '248', '5451', '356'); -INSERT INTO cp_tree VALUES ('5453', '4', '354', '248', '5452', '355'); -INSERT INTO cp_tree VALUES ('5454', '2', '358', '248', '5275', '367'); -INSERT INTO cp_tree VALUES ('5455', '3', '359', '248', '5454', '362'); -INSERT INTO cp_tree VALUES ('5456', '4', '360', '248', '5455', '361'); -INSERT INTO cp_tree VALUES ('5457', '3', '363', '248', '5454', '366'); -INSERT INTO cp_tree VALUES ('5458', '4', '364', '248', '5457', '365'); -INSERT INTO cp_tree VALUES ('5459', '2', '368', '248', '5275', '383'); -INSERT INTO cp_tree VALUES ('5460', '3', '369', '248', '5459', '370'); -INSERT INTO cp_tree VALUES ('5461', '3', '371', '248', '5459', '374'); -INSERT INTO cp_tree VALUES ('5462', '4', '372', '248', '5461', '373'); -INSERT INTO cp_tree VALUES ('5463', '3', '375', '248', '5459', '378'); -INSERT INTO cp_tree VALUES ('5464', '4', '376', '248', '5463', '377'); -INSERT INTO cp_tree VALUES ('5465', '3', '379', '248', '5459', '382'); -INSERT INTO cp_tree VALUES ('5466', '4', '380', '248', '5465', '381'); -INSERT INTO cp_tree VALUES ('5467', '2', '384', '248', '5275', '393'); -INSERT INTO cp_tree VALUES ('5468', '3', '385', '248', '5467', '388'); -INSERT INTO cp_tree VALUES ('5469', '4', '386', '248', '5468', '387'); -INSERT INTO cp_tree VALUES ('5470', '3', '389', '248', '5467', '392'); -INSERT INTO cp_tree VALUES ('5471', '4', '390', '248', '5470', '391'); -INSERT INTO cp_tree VALUES ('5472', '2', '394', '248', '5275', '403'); -INSERT INTO cp_tree VALUES ('5473', '3', '395', '248', '5472', '398'); -INSERT INTO cp_tree VALUES ('5474', '4', '396', '248', '5473', '397'); -INSERT INTO cp_tree VALUES ('5475', '3', '399', '248', '5472', '402'); -INSERT INTO cp_tree VALUES ('5476', '4', '400', '248', '5475', '401'); -INSERT INTO cp_tree VALUES ('5477', '2', '404', '248', '5275', '409'); -INSERT INTO cp_tree VALUES ('5478', '3', '405', '248', '5477', '408'); -INSERT INTO cp_tree VALUES ('5479', '4', '406', '248', '5478', '407'); -INSERT INTO cp_tree VALUES ('5480', '2', '410', '248', '5275', '419'); -INSERT INTO cp_tree VALUES ('5481', '3', '411', '248', '5480', '414'); -INSERT INTO cp_tree VALUES ('5482', '4', '412', '248', '5481', '413'); -INSERT INTO cp_tree VALUES ('5483', '3', '415', '248', '5480', '418'); -INSERT INTO cp_tree VALUES ('5484', '4', '416', '248', '5483', '417'); -INSERT INTO cp_tree VALUES ('5485', '2', '420', '248', '5275', '425'); -INSERT INTO cp_tree VALUES ('5486', '3', '421', '248', '5485', '424'); -INSERT INTO cp_tree VALUES ('5487', '4', '422', '248', '5486', '423'); -INSERT INTO cp_tree VALUES ('5488', '1', '1', '249', '0', '446'); -INSERT INTO cp_tree VALUES ('5489', '2', '2', '249', '5488', '261'); -INSERT INTO cp_tree VALUES ('5490', '3', '3', '249', '5489', '10'); -INSERT INTO cp_tree VALUES ('5491', '4', '4', '249', '5490', '5'); -INSERT INTO cp_tree VALUES ('5492', '4', '6', '249', '5490', '7'); -INSERT INTO cp_tree VALUES ('5493', '4', '8', '249', '5490', '9'); -INSERT INTO cp_tree VALUES ('5494', '3', '11', '249', '5489', '252'); -INSERT INTO cp_tree VALUES ('5495', '4', '12', '249', '5494', '91'); -INSERT INTO cp_tree VALUES ('5496', '5', '13', '249', '5495', '38'); -INSERT INTO cp_tree VALUES ('5497', '6', '14', '249', '5496', '21'); -INSERT INTO cp_tree VALUES ('5498', '7', '15', '249', '5497', '16'); -INSERT INTO cp_tree VALUES ('5499', '7', '17', '249', '5497', '18'); -INSERT INTO cp_tree VALUES ('5500', '7', '19', '249', '5497', '20'); -INSERT INTO cp_tree VALUES ('5501', '6', '22', '249', '5496', '29'); -INSERT INTO cp_tree VALUES ('5502', '7', '23', '249', '5501', '24'); -INSERT INTO cp_tree VALUES ('5503', '7', '25', '249', '5501', '26'); -INSERT INTO cp_tree VALUES ('5504', '7', '27', '249', '5501', '28'); -INSERT INTO cp_tree VALUES ('5505', '6', '30', '249', '5496', '37'); -INSERT INTO cp_tree VALUES ('5506', '7', '31', '249', '5505', '32'); -INSERT INTO cp_tree VALUES ('5507', '7', '33', '249', '5505', '34'); -INSERT INTO cp_tree VALUES ('5508', '7', '35', '249', '5505', '36'); -INSERT INTO cp_tree VALUES ('5509', '5', '39', '249', '5495', '64'); -INSERT INTO cp_tree VALUES ('5510', '6', '40', '249', '5509', '47'); -INSERT INTO cp_tree VALUES ('5511', '7', '41', '249', '5510', '42'); -INSERT INTO cp_tree VALUES ('5512', '7', '43', '249', '5510', '44'); -INSERT INTO cp_tree VALUES ('5513', '7', '45', '249', '5510', '46'); -INSERT INTO cp_tree VALUES ('5514', '6', '48', '249', '5509', '55'); -INSERT INTO cp_tree VALUES ('5515', '7', '49', '249', '5514', '50'); -INSERT INTO cp_tree VALUES ('5516', '7', '51', '249', '5514', '52'); -INSERT INTO cp_tree VALUES ('5517', '7', '53', '249', '5514', '54'); -INSERT INTO cp_tree VALUES ('5518', '6', '56', '249', '5509', '63'); -INSERT INTO cp_tree VALUES ('5519', '7', '57', '249', '5518', '58'); -INSERT INTO cp_tree VALUES ('5520', '7', '59', '249', '5518', '60'); -INSERT INTO cp_tree VALUES ('5521', '7', '61', '249', '5518', '62'); -INSERT INTO cp_tree VALUES ('5522', '5', '65', '249', '5495', '90'); -INSERT INTO cp_tree VALUES ('5523', '6', '66', '249', '5522', '73'); -INSERT INTO cp_tree VALUES ('5524', '7', '67', '249', '5523', '68'); -INSERT INTO cp_tree VALUES ('5525', '7', '69', '249', '5523', '70'); -INSERT INTO cp_tree VALUES ('5526', '7', '71', '249', '5523', '72'); -INSERT INTO cp_tree VALUES ('5527', '6', '74', '249', '5522', '81'); -INSERT INTO cp_tree VALUES ('5528', '7', '75', '249', '5527', '76'); -INSERT INTO cp_tree VALUES ('5529', '7', '77', '249', '5527', '78'); -INSERT INTO cp_tree VALUES ('5530', '7', '79', '249', '5527', '80'); -INSERT INTO cp_tree VALUES ('5531', '6', '82', '249', '5522', '89'); -INSERT INTO cp_tree VALUES ('5532', '7', '83', '249', '5531', '84'); -INSERT INTO cp_tree VALUES ('5533', '7', '85', '249', '5531', '86'); -INSERT INTO cp_tree VALUES ('5534', '7', '87', '249', '5531', '88'); -INSERT INTO cp_tree VALUES ('5535', '4', '92', '249', '5494', '171'); -INSERT INTO cp_tree VALUES ('5536', '5', '93', '249', '5535', '118'); -INSERT INTO cp_tree VALUES ('5537', '6', '94', '249', '5536', '101'); -INSERT INTO cp_tree VALUES ('5538', '7', '95', '249', '5537', '96'); -INSERT INTO cp_tree VALUES ('5539', '7', '97', '249', '5537', '98'); -INSERT INTO cp_tree VALUES ('5540', '7', '99', '249', '5537', '100'); -INSERT INTO cp_tree VALUES ('5541', '6', '102', '249', '5536', '109'); -INSERT INTO cp_tree VALUES ('5542', '7', '103', '249', '5541', '104'); -INSERT INTO cp_tree VALUES ('5543', '7', '105', '249', '5541', '106'); -INSERT INTO cp_tree VALUES ('5544', '7', '107', '249', '5541', '108'); -INSERT INTO cp_tree VALUES ('5545', '6', '110', '249', '5536', '117'); -INSERT INTO cp_tree VALUES ('5546', '7', '111', '249', '5545', '112'); -INSERT INTO cp_tree VALUES ('5547', '7', '113', '249', '5545', '114'); -INSERT INTO cp_tree VALUES ('5548', '7', '115', '249', '5545', '116'); -INSERT INTO cp_tree VALUES ('5549', '5', '119', '249', '5535', '144'); -INSERT INTO cp_tree VALUES ('5550', '6', '120', '249', '5549', '127'); -INSERT INTO cp_tree VALUES ('5551', '7', '121', '249', '5550', '122'); -INSERT INTO cp_tree VALUES ('5552', '7', '123', '249', '5550', '124'); -INSERT INTO cp_tree VALUES ('5553', '7', '125', '249', '5550', '126'); -INSERT INTO cp_tree VALUES ('5554', '6', '128', '249', '5549', '135'); -INSERT INTO cp_tree VALUES ('5555', '7', '129', '249', '5554', '130'); -INSERT INTO cp_tree VALUES ('5556', '7', '131', '249', '5554', '132'); -INSERT INTO cp_tree VALUES ('5557', '7', '133', '249', '5554', '134'); -INSERT INTO cp_tree VALUES ('5558', '6', '136', '249', '5549', '143'); -INSERT INTO cp_tree VALUES ('5559', '7', '137', '249', '5558', '138'); -INSERT INTO cp_tree VALUES ('5560', '7', '139', '249', '5558', '140'); -INSERT INTO cp_tree VALUES ('5561', '7', '141', '249', '5558', '142'); -INSERT INTO cp_tree VALUES ('5562', '5', '145', '249', '5535', '170'); -INSERT INTO cp_tree VALUES ('5563', '6', '146', '249', '5562', '153'); -INSERT INTO cp_tree VALUES ('5564', '7', '147', '249', '5563', '148'); -INSERT INTO cp_tree VALUES ('5565', '7', '149', '249', '5563', '150'); -INSERT INTO cp_tree VALUES ('5566', '7', '151', '249', '5563', '152'); -INSERT INTO cp_tree VALUES ('5567', '6', '154', '249', '5562', '161'); -INSERT INTO cp_tree VALUES ('5568', '7', '155', '249', '5567', '156'); -INSERT INTO cp_tree VALUES ('5569', '7', '157', '249', '5567', '158'); -INSERT INTO cp_tree VALUES ('5570', '7', '159', '249', '5567', '160'); -INSERT INTO cp_tree VALUES ('5571', '6', '162', '249', '5562', '169'); -INSERT INTO cp_tree VALUES ('5572', '7', '163', '249', '5571', '164'); -INSERT INTO cp_tree VALUES ('5573', '7', '165', '249', '5571', '166'); -INSERT INTO cp_tree VALUES ('5574', '7', '167', '249', '5571', '168'); -INSERT INTO cp_tree VALUES ('5575', '4', '172', '249', '5494', '251'); -INSERT INTO cp_tree VALUES ('5576', '5', '173', '249', '5575', '198'); -INSERT INTO cp_tree VALUES ('5577', '6', '174', '249', '5576', '181'); -INSERT INTO cp_tree VALUES ('5578', '7', '175', '249', '5577', '176'); -INSERT INTO cp_tree VALUES ('5579', '7', '177', '249', '5577', '178'); -INSERT INTO cp_tree VALUES ('5580', '7', '179', '249', '5577', '180'); -INSERT INTO cp_tree VALUES ('5581', '6', '182', '249', '5576', '189'); -INSERT INTO cp_tree VALUES ('5582', '7', '183', '249', '5581', '184'); -INSERT INTO cp_tree VALUES ('5583', '7', '185', '249', '5581', '186'); -INSERT INTO cp_tree VALUES ('5584', '7', '187', '249', '5581', '188'); -INSERT INTO cp_tree VALUES ('5585', '6', '190', '249', '5576', '197'); -INSERT INTO cp_tree VALUES ('5586', '7', '191', '249', '5585', '192'); -INSERT INTO cp_tree VALUES ('5587', '7', '193', '249', '5585', '194'); -INSERT INTO cp_tree VALUES ('5588', '7', '195', '249', '5585', '196'); -INSERT INTO cp_tree VALUES ('5589', '5', '199', '249', '5575', '224'); -INSERT INTO cp_tree VALUES ('5590', '6', '200', '249', '5589', '207'); -INSERT INTO cp_tree VALUES ('5591', '7', '201', '249', '5590', '202'); -INSERT INTO cp_tree VALUES ('5592', '7', '203', '249', '5590', '204'); -INSERT INTO cp_tree VALUES ('5593', '7', '205', '249', '5590', '206'); -INSERT INTO cp_tree VALUES ('5594', '6', '208', '249', '5589', '215'); -INSERT INTO cp_tree VALUES ('5595', '7', '209', '249', '5594', '210'); -INSERT INTO cp_tree VALUES ('5596', '7', '211', '249', '5594', '212'); -INSERT INTO cp_tree VALUES ('5597', '7', '213', '249', '5594', '214'); -INSERT INTO cp_tree VALUES ('5598', '6', '216', '249', '5589', '223'); -INSERT INTO cp_tree VALUES ('5599', '7', '217', '249', '5598', '218'); -INSERT INTO cp_tree VALUES ('5600', '7', '219', '249', '5598', '220'); -INSERT INTO cp_tree VALUES ('5601', '7', '221', '249', '5598', '222'); -INSERT INTO cp_tree VALUES ('5602', '5', '225', '249', '5575', '250'); -INSERT INTO cp_tree VALUES ('5603', '6', '226', '249', '5602', '233'); -INSERT INTO cp_tree VALUES ('5604', '7', '227', '249', '5603', '228'); -INSERT INTO cp_tree VALUES ('5605', '7', '229', '249', '5603', '230'); -INSERT INTO cp_tree VALUES ('5606', '7', '231', '249', '5603', '232'); -INSERT INTO cp_tree VALUES ('5607', '6', '234', '249', '5602', '241'); -INSERT INTO cp_tree VALUES ('5608', '7', '235', '249', '5607', '236'); -INSERT INTO cp_tree VALUES ('5609', '7', '237', '249', '5607', '238'); -INSERT INTO cp_tree VALUES ('5610', '7', '239', '249', '5607', '240'); -INSERT INTO cp_tree VALUES ('5611', '6', '242', '249', '5602', '249'); -INSERT INTO cp_tree VALUES ('5612', '7', '243', '249', '5611', '244'); -INSERT INTO cp_tree VALUES ('5613', '7', '245', '249', '5611', '246'); -INSERT INTO cp_tree VALUES ('5614', '7', '247', '249', '5611', '248'); -INSERT INTO cp_tree VALUES ('5615', '3', '253', '249', '5489', '260'); -INSERT INTO cp_tree VALUES ('5616', '4', '254', '249', '5615', '255'); -INSERT INTO cp_tree VALUES ('5617', '4', '256', '249', '5615', '257'); -INSERT INTO cp_tree VALUES ('5618', '4', '258', '249', '5615', '259'); -INSERT INTO cp_tree VALUES ('5619', '2', '262', '249', '5488', '275'); -INSERT INTO cp_tree VALUES ('5620', '3', '263', '249', '5619', '264'); -INSERT INTO cp_tree VALUES ('5621', '3', '265', '249', '5619', '266'); -INSERT INTO cp_tree VALUES ('5622', '3', '267', '249', '5619', '268'); -INSERT INTO cp_tree VALUES ('5623', '3', '269', '249', '5619', '270'); -INSERT INTO cp_tree VALUES ('5624', '3', '271', '249', '5619', '272'); -INSERT INTO cp_tree VALUES ('5625', '3', '273', '249', '5619', '274'); -INSERT INTO cp_tree VALUES ('5626', '2', '276', '249', '5488', '279'); -INSERT INTO cp_tree VALUES ('5627', '3', '277', '249', '5626', '278'); -INSERT INTO cp_tree VALUES ('5628', '2', '280', '249', '5488', '283'); -INSERT INTO cp_tree VALUES ('5629', '3', '281', '249', '5628', '282'); -INSERT INTO cp_tree VALUES ('5630', '2', '284', '249', '5488', '287'); -INSERT INTO cp_tree VALUES ('5631', '3', '285', '249', '5630', '286'); -INSERT INTO cp_tree VALUES ('5632', '2', '288', '249', '5488', '293'); -INSERT INTO cp_tree VALUES ('5633', '3', '289', '249', '5632', '290'); -INSERT INTO cp_tree VALUES ('5634', '3', '291', '249', '5632', '292'); -INSERT INTO cp_tree VALUES ('5635', '2', '294', '249', '5488', '297'); -INSERT INTO cp_tree VALUES ('5636', '3', '295', '249', '5635', '296'); -INSERT INTO cp_tree VALUES ('5637', '2', '298', '249', '5488', '301'); -INSERT INTO cp_tree VALUES ('5638', '3', '299', '249', '5637', '300'); -INSERT INTO cp_tree VALUES ('5639', '2', '302', '249', '5488', '303'); -INSERT INTO cp_tree VALUES ('5640', '2', '304', '249', '5488', '309'); -INSERT INTO cp_tree VALUES ('5641', '3', '305', '249', '5640', '308'); -INSERT INTO cp_tree VALUES ('5642', '4', '306', '249', '5641', '307'); -INSERT INTO cp_tree VALUES ('5643', '2', '310', '249', '5488', '315'); -INSERT INTO cp_tree VALUES ('5644', '3', '311', '249', '5643', '312'); -INSERT INTO cp_tree VALUES ('5645', '3', '313', '249', '5643', '314'); -INSERT INTO cp_tree VALUES ('5646', '2', '316', '249', '5488', '329'); -INSERT INTO cp_tree VALUES ('5647', '3', '317', '249', '5646', '318'); -INSERT INTO cp_tree VALUES ('5648', '3', '319', '249', '5646', '320'); -INSERT INTO cp_tree VALUES ('5649', '3', '321', '249', '5646', '322'); -INSERT INTO cp_tree VALUES ('5650', '3', '323', '249', '5646', '324'); -INSERT INTO cp_tree VALUES ('5651', '3', '325', '249', '5646', '326'); -INSERT INTO cp_tree VALUES ('5652', '3', '327', '249', '5646', '328'); -INSERT INTO cp_tree VALUES ('5653', '2', '330', '249', '5488', '335'); -INSERT INTO cp_tree VALUES ('5654', '3', '331', '249', '5653', '334'); -INSERT INTO cp_tree VALUES ('5655', '4', '332', '249', '5654', '333'); -INSERT INTO cp_tree VALUES ('5656', '2', '336', '249', '5488', '341'); -INSERT INTO cp_tree VALUES ('5657', '3', '337', '249', '5656', '340'); -INSERT INTO cp_tree VALUES ('5658', '4', '338', '249', '5657', '339'); -INSERT INTO cp_tree VALUES ('5659', '2', '342', '249', '5488', '347'); -INSERT INTO cp_tree VALUES ('5660', '3', '343', '249', '5659', '346'); -INSERT INTO cp_tree VALUES ('5661', '4', '344', '249', '5660', '345'); -INSERT INTO cp_tree VALUES ('5662', '2', '348', '249', '5488', '353'); -INSERT INTO cp_tree VALUES ('5663', '3', '349', '249', '5662', '352'); -INSERT INTO cp_tree VALUES ('5664', '4', '350', '249', '5663', '351'); -INSERT INTO cp_tree VALUES ('5665', '2', '354', '249', '5488', '359'); -INSERT INTO cp_tree VALUES ('5666', '3', '355', '249', '5665', '358'); -INSERT INTO cp_tree VALUES ('5667', '4', '356', '249', '5666', '357'); -INSERT INTO cp_tree VALUES ('5668', '2', '360', '249', '5488', '365'); -INSERT INTO cp_tree VALUES ('5669', '3', '361', '249', '5668', '364'); -INSERT INTO cp_tree VALUES ('5670', '4', '362', '249', '5669', '363'); -INSERT INTO cp_tree VALUES ('5671', '2', '366', '249', '5488', '371'); -INSERT INTO cp_tree VALUES ('5672', '3', '367', '249', '5671', '370'); -INSERT INTO cp_tree VALUES ('5673', '4', '368', '249', '5672', '369'); -INSERT INTO cp_tree VALUES ('5674', '2', '372', '249', '5488', '377'); -INSERT INTO cp_tree VALUES ('5675', '3', '373', '249', '5674', '376'); -INSERT INTO cp_tree VALUES ('5676', '4', '374', '249', '5675', '375'); -INSERT INTO cp_tree VALUES ('5677', '2', '378', '249', '5488', '387'); -INSERT INTO cp_tree VALUES ('5678', '3', '379', '249', '5677', '382'); -INSERT INTO cp_tree VALUES ('5679', '4', '380', '249', '5678', '381'); -INSERT INTO cp_tree VALUES ('5680', '3', '383', '249', '5677', '386'); -INSERT INTO cp_tree VALUES ('5681', '4', '384', '249', '5680', '385'); -INSERT INTO cp_tree VALUES ('5682', '2', '388', '249', '5488', '403'); -INSERT INTO cp_tree VALUES ('5683', '3', '389', '249', '5682', '390'); -INSERT INTO cp_tree VALUES ('5684', '3', '391', '249', '5682', '394'); -INSERT INTO cp_tree VALUES ('5685', '4', '392', '249', '5684', '393'); -INSERT INTO cp_tree VALUES ('5686', '3', '395', '249', '5682', '398'); -INSERT INTO cp_tree VALUES ('5687', '4', '396', '249', '5686', '397'); -INSERT INTO cp_tree VALUES ('5688', '3', '399', '249', '5682', '402'); -INSERT INTO cp_tree VALUES ('5689', '4', '400', '249', '5688', '401'); -INSERT INTO cp_tree VALUES ('5690', '2', '404', '249', '5488', '413'); -INSERT INTO cp_tree VALUES ('5691', '3', '405', '249', '5690', '408'); -INSERT INTO cp_tree VALUES ('5692', '4', '406', '249', '5691', '407'); -INSERT INTO cp_tree VALUES ('5693', '3', '409', '249', '5690', '412'); -INSERT INTO cp_tree VALUES ('5694', '4', '410', '249', '5693', '411'); -INSERT INTO cp_tree VALUES ('5695', '2', '414', '249', '5488', '423'); -INSERT INTO cp_tree VALUES ('5696', '3', '415', '249', '5695', '418'); -INSERT INTO cp_tree VALUES ('5697', '4', '416', '249', '5696', '417'); -INSERT INTO cp_tree VALUES ('5698', '3', '419', '249', '5695', '422'); -INSERT INTO cp_tree VALUES ('5699', '4', '420', '249', '5698', '421'); -INSERT INTO cp_tree VALUES ('5700', '2', '424', '249', '5488', '429'); -INSERT INTO cp_tree VALUES ('5701', '3', '425', '249', '5700', '428'); -INSERT INTO cp_tree VALUES ('5702', '4', '426', '249', '5701', '427'); -INSERT INTO cp_tree VALUES ('5703', '2', '430', '249', '5488', '439'); -INSERT INTO cp_tree VALUES ('5704', '3', '431', '249', '5703', '434'); -INSERT INTO cp_tree VALUES ('5705', '4', '432', '249', '5704', '433'); -INSERT INTO cp_tree VALUES ('5706', '3', '435', '249', '5703', '438'); -INSERT INTO cp_tree VALUES ('5707', '4', '436', '249', '5706', '437'); -INSERT INTO cp_tree VALUES ('5708', '2', '440', '249', '5488', '445'); -INSERT INTO cp_tree VALUES ('5709', '3', '441', '249', '5708', '444'); -INSERT INTO cp_tree VALUES ('5710', '4', '442', '249', '5709', '443'); -INSERT INTO cp_tree VALUES ('5711', '1', '1', '252', '0', '924'); -INSERT INTO cp_tree VALUES ('5712', '2', '2', '252', '5711', '15'); -INSERT INTO cp_tree VALUES ('5713', '3', '3', '252', '5712', '14'); -INSERT INTO cp_tree VALUES ('5714', '4', '4', '252', '5713', '5'); -INSERT INTO cp_tree VALUES ('5715', '4', '6', '252', '5713', '7'); -INSERT INTO cp_tree VALUES ('5716', '4', '8', '252', '5713', '9'); -INSERT INTO cp_tree VALUES ('5717', '4', '10', '252', '5713', '11'); -INSERT INTO cp_tree VALUES ('5718', '4', '12', '252', '5713', '13'); -INSERT INTO cp_tree VALUES ('5719', '2', '16', '252', '5711', '25'); -INSERT INTO cp_tree VALUES ('5720', '3', '17', '252', '5719', '18'); -INSERT INTO cp_tree VALUES ('5721', '3', '19', '252', '5719', '20'); -INSERT INTO cp_tree VALUES ('5722', '3', '21', '252', '5719', '22'); -INSERT INTO cp_tree VALUES ('5723', '3', '23', '252', '5719', '24'); -INSERT INTO cp_tree VALUES ('5724', '2', '26', '252', '5711', '35'); -INSERT INTO cp_tree VALUES ('5725', '3', '27', '252', '5724', '28'); -INSERT INTO cp_tree VALUES ('5726', '3', '29', '252', '5724', '30'); -INSERT INTO cp_tree VALUES ('5727', '3', '31', '252', '5724', '32'); -INSERT INTO cp_tree VALUES ('5728', '3', '33', '252', '5724', '34'); -INSERT INTO cp_tree VALUES ('5729', '2', '36', '252', '5711', '45'); -INSERT INTO cp_tree VALUES ('5730', '3', '37', '252', '5729', '38'); -INSERT INTO cp_tree VALUES ('5731', '3', '39', '252', '5729', '40'); -INSERT INTO cp_tree VALUES ('5732', '3', '41', '252', '5729', '42'); -INSERT INTO cp_tree VALUES ('5733', '3', '43', '252', '5729', '44'); -INSERT INTO cp_tree VALUES ('5734', '2', '46', '252', '5711', '55'); -INSERT INTO cp_tree VALUES ('5735', '3', '47', '252', '5734', '48'); -INSERT INTO cp_tree VALUES ('5736', '3', '49', '252', '5734', '50'); -INSERT INTO cp_tree VALUES ('5737', '3', '51', '252', '5734', '52'); -INSERT INTO cp_tree VALUES ('5738', '3', '53', '252', '5734', '54'); -INSERT INTO cp_tree VALUES ('5739', '2', '56', '252', '5711', '65'); -INSERT INTO cp_tree VALUES ('5740', '3', '57', '252', '5739', '58'); -INSERT INTO cp_tree VALUES ('5741', '3', '59', '252', '5739', '60'); -INSERT INTO cp_tree VALUES ('5742', '3', '61', '252', '5739', '62'); -INSERT INTO cp_tree VALUES ('5743', '3', '63', '252', '5739', '64'); -INSERT INTO cp_tree VALUES ('5744', '2', '66', '252', '5711', '73'); -INSERT INTO cp_tree VALUES ('5745', '3', '67', '252', '5744', '68'); -INSERT INTO cp_tree VALUES ('5746', '3', '69', '252', '5744', '70'); -INSERT INTO cp_tree VALUES ('5747', '3', '71', '252', '5744', '72'); -INSERT INTO cp_tree VALUES ('5748', '2', '74', '252', '5711', '83'); -INSERT INTO cp_tree VALUES ('5749', '3', '75', '252', '5748', '76'); -INSERT INTO cp_tree VALUES ('5750', '3', '77', '252', '5748', '78'); -INSERT INTO cp_tree VALUES ('5751', '3', '79', '252', '5748', '80'); -INSERT INTO cp_tree VALUES ('5752', '3', '81', '252', '5748', '82'); -INSERT INTO cp_tree VALUES ('5753', '2', '84', '252', '5711', '85'); -INSERT INTO cp_tree VALUES ('5754', '2', '86', '252', '5711', '223'); -INSERT INTO cp_tree VALUES ('5755', '3', '87', '252', '5754', '88'); -INSERT INTO cp_tree VALUES ('5756', '3', '89', '252', '5754', '90'); -INSERT INTO cp_tree VALUES ('5757', '3', '91', '252', '5754', '92'); -INSERT INTO cp_tree VALUES ('5758', '3', '93', '252', '5754', '94'); -INSERT INTO cp_tree VALUES ('5759', '3', '95', '252', '5754', '96'); -INSERT INTO cp_tree VALUES ('5760', '3', '97', '252', '5754', '98'); -INSERT INTO cp_tree VALUES ('5761', '3', '99', '252', '5754', '100'); -INSERT INTO cp_tree VALUES ('5762', '3', '101', '252', '5754', '102'); -INSERT INTO cp_tree VALUES ('5763', '3', '103', '252', '5754', '104'); -INSERT INTO cp_tree VALUES ('5764', '3', '105', '252', '5754', '106'); -INSERT INTO cp_tree VALUES ('5765', '3', '107', '252', '5754', '108'); -INSERT INTO cp_tree VALUES ('5766', '3', '109', '252', '5754', '110'); -INSERT INTO cp_tree VALUES ('5767', '3', '111', '252', '5754', '112'); -INSERT INTO cp_tree VALUES ('5768', '3', '113', '252', '5754', '114'); -INSERT INTO cp_tree VALUES ('5769', '3', '115', '252', '5754', '116'); -INSERT INTO cp_tree VALUES ('5770', '3', '117', '252', '5754', '118'); -INSERT INTO cp_tree VALUES ('5771', '3', '119', '252', '5754', '120'); -INSERT INTO cp_tree VALUES ('5772', '3', '121', '252', '5754', '122'); -INSERT INTO cp_tree VALUES ('5773', '3', '123', '252', '5754', '124'); -INSERT INTO cp_tree VALUES ('5774', '3', '125', '252', '5754', '126'); -INSERT INTO cp_tree VALUES ('5775', '3', '127', '252', '5754', '128'); -INSERT INTO cp_tree VALUES ('5776', '3', '129', '252', '5754', '130'); -INSERT INTO cp_tree VALUES ('5777', '3', '131', '252', '5754', '132'); -INSERT INTO cp_tree VALUES ('5778', '3', '133', '252', '5754', '134'); -INSERT INTO cp_tree VALUES ('5779', '3', '135', '252', '5754', '136'); -INSERT INTO cp_tree VALUES ('5780', '3', '137', '252', '5754', '138'); -INSERT INTO cp_tree VALUES ('5781', '3', '139', '252', '5754', '140'); -INSERT INTO cp_tree VALUES ('5782', '3', '141', '252', '5754', '142'); -INSERT INTO cp_tree VALUES ('5783', '3', '143', '252', '5754', '144'); -INSERT INTO cp_tree VALUES ('5784', '3', '145', '252', '5754', '146'); -INSERT INTO cp_tree VALUES ('5785', '3', '147', '252', '5754', '148'); -INSERT INTO cp_tree VALUES ('5786', '3', '149', '252', '5754', '150'); -INSERT INTO cp_tree VALUES ('5787', '3', '151', '252', '5754', '152'); -INSERT INTO cp_tree VALUES ('5788', '3', '153', '252', '5754', '154'); -INSERT INTO cp_tree VALUES ('5789', '3', '155', '252', '5754', '156'); -INSERT INTO cp_tree VALUES ('5790', '3', '157', '252', '5754', '158'); -INSERT INTO cp_tree VALUES ('5791', '3', '159', '252', '5754', '160'); -INSERT INTO cp_tree VALUES ('5792', '3', '161', '252', '5754', '162'); -INSERT INTO cp_tree VALUES ('5793', '3', '163', '252', '5754', '164'); -INSERT INTO cp_tree VALUES ('5794', '3', '165', '252', '5754', '166'); -INSERT INTO cp_tree VALUES ('5795', '3', '167', '252', '5754', '168'); -INSERT INTO cp_tree VALUES ('5796', '3', '169', '252', '5754', '170'); -INSERT INTO cp_tree VALUES ('5797', '3', '171', '252', '5754', '172'); -INSERT INTO cp_tree VALUES ('5798', '3', '173', '252', '5754', '174'); -INSERT INTO cp_tree VALUES ('5799', '3', '175', '252', '5754', '176'); -INSERT INTO cp_tree VALUES ('5800', '3', '177', '252', '5754', '178'); -INSERT INTO cp_tree VALUES ('5801', '3', '179', '252', '5754', '180'); -INSERT INTO cp_tree VALUES ('5802', '3', '181', '252', '5754', '182'); -INSERT INTO cp_tree VALUES ('5803', '3', '183', '252', '5754', '184'); -INSERT INTO cp_tree VALUES ('5804', '3', '185', '252', '5754', '186'); -INSERT INTO cp_tree VALUES ('5805', '3', '187', '252', '5754', '188'); -INSERT INTO cp_tree VALUES ('5806', '3', '189', '252', '5754', '190'); -INSERT INTO cp_tree VALUES ('5807', '3', '191', '252', '5754', '192'); -INSERT INTO cp_tree VALUES ('5808', '3', '193', '252', '5754', '194'); -INSERT INTO cp_tree VALUES ('5809', '3', '195', '252', '5754', '196'); -INSERT INTO cp_tree VALUES ('5810', '3', '197', '252', '5754', '198'); -INSERT INTO cp_tree VALUES ('5811', '3', '199', '252', '5754', '200'); -INSERT INTO cp_tree VALUES ('5812', '3', '201', '252', '5754', '202'); -INSERT INTO cp_tree VALUES ('5813', '3', '203', '252', '5754', '204'); -INSERT INTO cp_tree VALUES ('5814', '3', '205', '252', '5754', '206'); -INSERT INTO cp_tree VALUES ('5815', '3', '207', '252', '5754', '208'); -INSERT INTO cp_tree VALUES ('5816', '3', '209', '252', '5754', '210'); -INSERT INTO cp_tree VALUES ('5817', '3', '211', '252', '5754', '212'); -INSERT INTO cp_tree VALUES ('5818', '3', '213', '252', '5754', '214'); -INSERT INTO cp_tree VALUES ('5819', '3', '215', '252', '5754', '216'); -INSERT INTO cp_tree VALUES ('5820', '3', '217', '252', '5754', '218'); -INSERT INTO cp_tree VALUES ('5821', '3', '219', '252', '5754', '220'); -INSERT INTO cp_tree VALUES ('5822', '3', '221', '252', '5754', '222'); -INSERT INTO cp_tree VALUES ('5823', '2', '224', '252', '5711', '231'); -INSERT INTO cp_tree VALUES ('5824', '3', '225', '252', '5823', '226'); -INSERT INTO cp_tree VALUES ('5825', '3', '227', '252', '5823', '228'); -INSERT INTO cp_tree VALUES ('5826', '3', '229', '252', '5823', '230'); -INSERT INTO cp_tree VALUES ('5827', '2', '232', '252', '5711', '249'); -INSERT INTO cp_tree VALUES ('5828', '3', '233', '252', '5827', '234'); -INSERT INTO cp_tree VALUES ('5829', '3', '235', '252', '5827', '236'); -INSERT INTO cp_tree VALUES ('5830', '3', '237', '252', '5827', '238'); -INSERT INTO cp_tree VALUES ('5831', '3', '239', '252', '5827', '240'); -INSERT INTO cp_tree VALUES ('5832', '3', '241', '252', '5827', '242'); -INSERT INTO cp_tree VALUES ('5833', '3', '243', '252', '5827', '244'); -INSERT INTO cp_tree VALUES ('5834', '3', '245', '252', '5827', '246'); -INSERT INTO cp_tree VALUES ('5835', '3', '247', '252', '5827', '248'); -INSERT INTO cp_tree VALUES ('5836', '2', '250', '252', '5711', '251'); -INSERT INTO cp_tree VALUES ('5837', '2', '252', '252', '5711', '389'); -INSERT INTO cp_tree VALUES ('5838', '3', '253', '252', '5837', '254'); -INSERT INTO cp_tree VALUES ('5839', '3', '255', '252', '5837', '256'); -INSERT INTO cp_tree VALUES ('5840', '3', '257', '252', '5837', '258'); -INSERT INTO cp_tree VALUES ('5841', '3', '259', '252', '5837', '260'); -INSERT INTO cp_tree VALUES ('5842', '3', '261', '252', '5837', '262'); -INSERT INTO cp_tree VALUES ('5843', '3', '263', '252', '5837', '264'); -INSERT INTO cp_tree VALUES ('5844', '3', '265', '252', '5837', '266'); -INSERT INTO cp_tree VALUES ('5845', '3', '267', '252', '5837', '268'); -INSERT INTO cp_tree VALUES ('5846', '3', '269', '252', '5837', '270'); -INSERT INTO cp_tree VALUES ('5847', '3', '271', '252', '5837', '272'); -INSERT INTO cp_tree VALUES ('5848', '3', '273', '252', '5837', '274'); -INSERT INTO cp_tree VALUES ('5849', '3', '275', '252', '5837', '276'); -INSERT INTO cp_tree VALUES ('5850', '3', '277', '252', '5837', '278'); -INSERT INTO cp_tree VALUES ('5851', '3', '279', '252', '5837', '280'); -INSERT INTO cp_tree VALUES ('5852', '3', '281', '252', '5837', '282'); -INSERT INTO cp_tree VALUES ('5853', '3', '283', '252', '5837', '284'); -INSERT INTO cp_tree VALUES ('5854', '3', '285', '252', '5837', '286'); -INSERT INTO cp_tree VALUES ('5855', '3', '287', '252', '5837', '288'); -INSERT INTO cp_tree VALUES ('5856', '3', '289', '252', '5837', '290'); -INSERT INTO cp_tree VALUES ('5857', '3', '291', '252', '5837', '292'); -INSERT INTO cp_tree VALUES ('5858', '3', '293', '252', '5837', '294'); -INSERT INTO cp_tree VALUES ('5859', '3', '295', '252', '5837', '296'); -INSERT INTO cp_tree VALUES ('5860', '3', '297', '252', '5837', '298'); -INSERT INTO cp_tree VALUES ('5861', '3', '299', '252', '5837', '300'); -INSERT INTO cp_tree VALUES ('5862', '3', '301', '252', '5837', '302'); -INSERT INTO cp_tree VALUES ('5863', '3', '303', '252', '5837', '304'); -INSERT INTO cp_tree VALUES ('5864', '3', '305', '252', '5837', '306'); -INSERT INTO cp_tree VALUES ('5865', '3', '307', '252', '5837', '308'); -INSERT INTO cp_tree VALUES ('5866', '3', '309', '252', '5837', '310'); -INSERT INTO cp_tree VALUES ('5867', '3', '311', '252', '5837', '312'); -INSERT INTO cp_tree VALUES ('5868', '3', '313', '252', '5837', '314'); -INSERT INTO cp_tree VALUES ('5869', '3', '315', '252', '5837', '316'); -INSERT INTO cp_tree VALUES ('5870', '3', '317', '252', '5837', '318'); -INSERT INTO cp_tree VALUES ('5871', '3', '319', '252', '5837', '320'); -INSERT INTO cp_tree VALUES ('5872', '3', '321', '252', '5837', '322'); -INSERT INTO cp_tree VALUES ('5873', '3', '323', '252', '5837', '324'); -INSERT INTO cp_tree VALUES ('5874', '3', '325', '252', '5837', '326'); -INSERT INTO cp_tree VALUES ('5875', '3', '327', '252', '5837', '328'); -INSERT INTO cp_tree VALUES ('5876', '3', '329', '252', '5837', '330'); -INSERT INTO cp_tree VALUES ('5877', '3', '331', '252', '5837', '332'); -INSERT INTO cp_tree VALUES ('5878', '3', '333', '252', '5837', '334'); -INSERT INTO cp_tree VALUES ('5879', '3', '335', '252', '5837', '336'); -INSERT INTO cp_tree VALUES ('5880', '3', '337', '252', '5837', '338'); -INSERT INTO cp_tree VALUES ('5881', '3', '339', '252', '5837', '340'); -INSERT INTO cp_tree VALUES ('5882', '3', '341', '252', '5837', '342'); -INSERT INTO cp_tree VALUES ('5883', '3', '343', '252', '5837', '344'); -INSERT INTO cp_tree VALUES ('5884', '3', '345', '252', '5837', '346'); -INSERT INTO cp_tree VALUES ('5885', '3', '347', '252', '5837', '348'); -INSERT INTO cp_tree VALUES ('5886', '3', '349', '252', '5837', '350'); -INSERT INTO cp_tree VALUES ('5887', '3', '351', '252', '5837', '352'); -INSERT INTO cp_tree VALUES ('5888', '3', '353', '252', '5837', '354'); -INSERT INTO cp_tree VALUES ('5889', '3', '355', '252', '5837', '356'); -INSERT INTO cp_tree VALUES ('5890', '3', '357', '252', '5837', '358'); -INSERT INTO cp_tree VALUES ('5891', '3', '359', '252', '5837', '360'); -INSERT INTO cp_tree VALUES ('5892', '3', '361', '252', '5837', '362'); -INSERT INTO cp_tree VALUES ('5893', '3', '363', '252', '5837', '364'); -INSERT INTO cp_tree VALUES ('5894', '3', '365', '252', '5837', '366'); -INSERT INTO cp_tree VALUES ('5895', '3', '367', '252', '5837', '368'); -INSERT INTO cp_tree VALUES ('5896', '3', '369', '252', '5837', '370'); -INSERT INTO cp_tree VALUES ('5897', '3', '371', '252', '5837', '372'); -INSERT INTO cp_tree VALUES ('5898', '3', '373', '252', '5837', '374'); -INSERT INTO cp_tree VALUES ('5899', '3', '375', '252', '5837', '376'); -INSERT INTO cp_tree VALUES ('5900', '3', '377', '252', '5837', '378'); -INSERT INTO cp_tree VALUES ('5901', '3', '379', '252', '5837', '380'); -INSERT INTO cp_tree VALUES ('5902', '3', '381', '252', '5837', '382'); -INSERT INTO cp_tree VALUES ('5903', '3', '383', '252', '5837', '384'); -INSERT INTO cp_tree VALUES ('5904', '3', '385', '252', '5837', '386'); -INSERT INTO cp_tree VALUES ('5905', '3', '387', '252', '5837', '388'); -INSERT INTO cp_tree VALUES ('5906', '2', '390', '252', '5711', '397'); -INSERT INTO cp_tree VALUES ('5907', '3', '391', '252', '5906', '392'); -INSERT INTO cp_tree VALUES ('5908', '3', '393', '252', '5906', '394'); -INSERT INTO cp_tree VALUES ('5909', '3', '395', '252', '5906', '396'); -INSERT INTO cp_tree VALUES ('5910', '2', '398', '252', '5711', '423'); -INSERT INTO cp_tree VALUES ('5911', '3', '399', '252', '5910', '400'); -INSERT INTO cp_tree VALUES ('5912', '3', '401', '252', '5910', '402'); -INSERT INTO cp_tree VALUES ('5913', '3', '403', '252', '5910', '404'); -INSERT INTO cp_tree VALUES ('5914', '3', '405', '252', '5910', '406'); -INSERT INTO cp_tree VALUES ('5915', '3', '407', '252', '5910', '408'); -INSERT INTO cp_tree VALUES ('5916', '3', '409', '252', '5910', '410'); -INSERT INTO cp_tree VALUES ('5917', '3', '411', '252', '5910', '412'); -INSERT INTO cp_tree VALUES ('5918', '3', '413', '252', '5910', '414'); -INSERT INTO cp_tree VALUES ('5919', '3', '415', '252', '5910', '416'); -INSERT INTO cp_tree VALUES ('5920', '3', '417', '252', '5910', '418'); -INSERT INTO cp_tree VALUES ('5921', '3', '419', '252', '5910', '420'); -INSERT INTO cp_tree VALUES ('5922', '3', '421', '252', '5910', '422'); -INSERT INTO cp_tree VALUES ('5923', '2', '424', '252', '5711', '425'); -INSERT INTO cp_tree VALUES ('5924', '2', '426', '252', '5711', '563'); -INSERT INTO cp_tree VALUES ('5925', '3', '427', '252', '5924', '428'); -INSERT INTO cp_tree VALUES ('5926', '3', '429', '252', '5924', '430'); -INSERT INTO cp_tree VALUES ('5927', '3', '431', '252', '5924', '432'); -INSERT INTO cp_tree VALUES ('5928', '3', '433', '252', '5924', '434'); -INSERT INTO cp_tree VALUES ('5929', '3', '435', '252', '5924', '436'); -INSERT INTO cp_tree VALUES ('5930', '3', '437', '252', '5924', '438'); -INSERT INTO cp_tree VALUES ('5931', '3', '439', '252', '5924', '440'); -INSERT INTO cp_tree VALUES ('5932', '3', '441', '252', '5924', '442'); -INSERT INTO cp_tree VALUES ('5933', '3', '443', '252', '5924', '444'); -INSERT INTO cp_tree VALUES ('5934', '3', '445', '252', '5924', '446'); -INSERT INTO cp_tree VALUES ('5935', '3', '447', '252', '5924', '448'); -INSERT INTO cp_tree VALUES ('5936', '3', '449', '252', '5924', '450'); -INSERT INTO cp_tree VALUES ('5937', '3', '451', '252', '5924', '452'); -INSERT INTO cp_tree VALUES ('5938', '3', '453', '252', '5924', '454'); -INSERT INTO cp_tree VALUES ('5939', '3', '455', '252', '5924', '456'); -INSERT INTO cp_tree VALUES ('5940', '3', '457', '252', '5924', '458'); -INSERT INTO cp_tree VALUES ('5941', '3', '459', '252', '5924', '460'); -INSERT INTO cp_tree VALUES ('5942', '3', '461', '252', '5924', '462'); -INSERT INTO cp_tree VALUES ('5943', '3', '463', '252', '5924', '464'); -INSERT INTO cp_tree VALUES ('5944', '3', '465', '252', '5924', '466'); -INSERT INTO cp_tree VALUES ('5945', '3', '467', '252', '5924', '468'); -INSERT INTO cp_tree VALUES ('5946', '3', '469', '252', '5924', '470'); -INSERT INTO cp_tree VALUES ('5947', '3', '471', '252', '5924', '472'); -INSERT INTO cp_tree VALUES ('5948', '3', '473', '252', '5924', '474'); -INSERT INTO cp_tree VALUES ('5949', '3', '475', '252', '5924', '476'); -INSERT INTO cp_tree VALUES ('5950', '3', '477', '252', '5924', '478'); -INSERT INTO cp_tree VALUES ('5951', '3', '479', '252', '5924', '480'); -INSERT INTO cp_tree VALUES ('5952', '3', '481', '252', '5924', '482'); -INSERT INTO cp_tree VALUES ('5953', '3', '483', '252', '5924', '484'); -INSERT INTO cp_tree VALUES ('5954', '3', '485', '252', '5924', '486'); -INSERT INTO cp_tree VALUES ('5955', '3', '487', '252', '5924', '488'); -INSERT INTO cp_tree VALUES ('5956', '3', '489', '252', '5924', '490'); -INSERT INTO cp_tree VALUES ('5957', '3', '491', '252', '5924', '492'); -INSERT INTO cp_tree VALUES ('5958', '3', '493', '252', '5924', '494'); -INSERT INTO cp_tree VALUES ('5959', '3', '495', '252', '5924', '496'); -INSERT INTO cp_tree VALUES ('5960', '3', '497', '252', '5924', '498'); -INSERT INTO cp_tree VALUES ('5961', '3', '499', '252', '5924', '500'); -INSERT INTO cp_tree VALUES ('5962', '3', '501', '252', '5924', '502'); -INSERT INTO cp_tree VALUES ('5963', '3', '503', '252', '5924', '504'); -INSERT INTO cp_tree VALUES ('5964', '3', '505', '252', '5924', '506'); -INSERT INTO cp_tree VALUES ('5965', '3', '507', '252', '5924', '508'); -INSERT INTO cp_tree VALUES ('5966', '3', '509', '252', '5924', '510'); -INSERT INTO cp_tree VALUES ('5967', '3', '511', '252', '5924', '512'); -INSERT INTO cp_tree VALUES ('5968', '3', '513', '252', '5924', '514'); -INSERT INTO cp_tree VALUES ('5969', '3', '515', '252', '5924', '516'); -INSERT INTO cp_tree VALUES ('5970', '3', '517', '252', '5924', '518'); -INSERT INTO cp_tree VALUES ('5971', '3', '519', '252', '5924', '520'); -INSERT INTO cp_tree VALUES ('5972', '3', '521', '252', '5924', '522'); -INSERT INTO cp_tree VALUES ('5973', '3', '523', '252', '5924', '524'); -INSERT INTO cp_tree VALUES ('5974', '3', '525', '252', '5924', '526'); -INSERT INTO cp_tree VALUES ('5975', '3', '527', '252', '5924', '528'); -INSERT INTO cp_tree VALUES ('5976', '3', '529', '252', '5924', '530'); -INSERT INTO cp_tree VALUES ('5977', '3', '531', '252', '5924', '532'); -INSERT INTO cp_tree VALUES ('5978', '3', '533', '252', '5924', '534'); -INSERT INTO cp_tree VALUES ('5979', '3', '535', '252', '5924', '536'); -INSERT INTO cp_tree VALUES ('5980', '3', '537', '252', '5924', '538'); -INSERT INTO cp_tree VALUES ('5981', '3', '539', '252', '5924', '540'); -INSERT INTO cp_tree VALUES ('5982', '3', '541', '252', '5924', '542'); -INSERT INTO cp_tree VALUES ('5983', '3', '543', '252', '5924', '544'); -INSERT INTO cp_tree VALUES ('5984', '3', '545', '252', '5924', '546'); -INSERT INTO cp_tree VALUES ('5985', '3', '547', '252', '5924', '548'); -INSERT INTO cp_tree VALUES ('5986', '3', '549', '252', '5924', '550'); -INSERT INTO cp_tree VALUES ('5987', '3', '551', '252', '5924', '552'); -INSERT INTO cp_tree VALUES ('5988', '3', '553', '252', '5924', '554'); -INSERT INTO cp_tree VALUES ('5989', '3', '555', '252', '5924', '556'); -INSERT INTO cp_tree VALUES ('5990', '3', '557', '252', '5924', '558'); -INSERT INTO cp_tree VALUES ('5991', '3', '559', '252', '5924', '560'); -INSERT INTO cp_tree VALUES ('5992', '3', '561', '252', '5924', '562'); -INSERT INTO cp_tree VALUES ('5993', '2', '564', '252', '5711', '571'); -INSERT INTO cp_tree VALUES ('5994', '3', '565', '252', '5993', '566'); -INSERT INTO cp_tree VALUES ('5995', '3', '567', '252', '5993', '568'); -INSERT INTO cp_tree VALUES ('5996', '3', '569', '252', '5993', '570'); -INSERT INTO cp_tree VALUES ('5997', '2', '572', '252', '5711', '589'); -INSERT INTO cp_tree VALUES ('5998', '3', '573', '252', '5997', '574'); -INSERT INTO cp_tree VALUES ('5999', '3', '575', '252', '5997', '576'); -INSERT INTO cp_tree VALUES ('6000', '3', '577', '252', '5997', '578'); -INSERT INTO cp_tree VALUES ('6001', '3', '579', '252', '5997', '580'); -INSERT INTO cp_tree VALUES ('6002', '3', '581', '252', '5997', '582'); -INSERT INTO cp_tree VALUES ('6003', '3', '583', '252', '5997', '584'); -INSERT INTO cp_tree VALUES ('6004', '3', '585', '252', '5997', '586'); -INSERT INTO cp_tree VALUES ('6005', '3', '587', '252', '5997', '588'); -INSERT INTO cp_tree VALUES ('6006', '2', '590', '252', '5711', '591'); -INSERT INTO cp_tree VALUES ('6007', '2', '592', '252', '5711', '729'); -INSERT INTO cp_tree VALUES ('6008', '3', '593', '252', '6007', '594'); -INSERT INTO cp_tree VALUES ('6009', '3', '595', '252', '6007', '596'); -INSERT INTO cp_tree VALUES ('6010', '3', '597', '252', '6007', '598'); -INSERT INTO cp_tree VALUES ('6011', '3', '599', '252', '6007', '600'); -INSERT INTO cp_tree VALUES ('6012', '3', '601', '252', '6007', '602'); -INSERT INTO cp_tree VALUES ('6013', '3', '603', '252', '6007', '604'); -INSERT INTO cp_tree VALUES ('6014', '3', '605', '252', '6007', '606'); -INSERT INTO cp_tree VALUES ('6015', '3', '607', '252', '6007', '608'); -INSERT INTO cp_tree VALUES ('6016', '3', '609', '252', '6007', '610'); -INSERT INTO cp_tree VALUES ('6017', '3', '611', '252', '6007', '612'); -INSERT INTO cp_tree VALUES ('6018', '3', '613', '252', '6007', '614'); -INSERT INTO cp_tree VALUES ('6019', '3', '615', '252', '6007', '616'); -INSERT INTO cp_tree VALUES ('6020', '3', '617', '252', '6007', '618'); -INSERT INTO cp_tree VALUES ('6021', '3', '619', '252', '6007', '620'); -INSERT INTO cp_tree VALUES ('6022', '3', '621', '252', '6007', '622'); -INSERT INTO cp_tree VALUES ('6023', '3', '623', '252', '6007', '624'); -INSERT INTO cp_tree VALUES ('6024', '3', '625', '252', '6007', '626'); -INSERT INTO cp_tree VALUES ('6025', '3', '627', '252', '6007', '628'); -INSERT INTO cp_tree VALUES ('6026', '3', '629', '252', '6007', '630'); -INSERT INTO cp_tree VALUES ('6027', '3', '631', '252', '6007', '632'); -INSERT INTO cp_tree VALUES ('6028', '3', '633', '252', '6007', '634'); -INSERT INTO cp_tree VALUES ('6029', '3', '635', '252', '6007', '636'); -INSERT INTO cp_tree VALUES ('6030', '3', '637', '252', '6007', '638'); -INSERT INTO cp_tree VALUES ('6031', '3', '639', '252', '6007', '640'); -INSERT INTO cp_tree VALUES ('6032', '3', '641', '252', '6007', '642'); -INSERT INTO cp_tree VALUES ('6033', '3', '643', '252', '6007', '644'); -INSERT INTO cp_tree VALUES ('6034', '3', '645', '252', '6007', '646'); -INSERT INTO cp_tree VALUES ('6035', '3', '647', '252', '6007', '648'); -INSERT INTO cp_tree VALUES ('6036', '3', '649', '252', '6007', '650'); -INSERT INTO cp_tree VALUES ('6037', '3', '651', '252', '6007', '652'); -INSERT INTO cp_tree VALUES ('6038', '3', '653', '252', '6007', '654'); -INSERT INTO cp_tree VALUES ('6039', '3', '655', '252', '6007', '656'); -INSERT INTO cp_tree VALUES ('6040', '3', '657', '252', '6007', '658'); -INSERT INTO cp_tree VALUES ('6041', '3', '659', '252', '6007', '660'); -INSERT INTO cp_tree VALUES ('6042', '3', '661', '252', '6007', '662'); -INSERT INTO cp_tree VALUES ('6043', '3', '663', '252', '6007', '664'); -INSERT INTO cp_tree VALUES ('6044', '3', '665', '252', '6007', '666'); -INSERT INTO cp_tree VALUES ('6045', '3', '667', '252', '6007', '668'); -INSERT INTO cp_tree VALUES ('6046', '3', '669', '252', '6007', '670'); -INSERT INTO cp_tree VALUES ('6047', '3', '671', '252', '6007', '672'); -INSERT INTO cp_tree VALUES ('6048', '3', '673', '252', '6007', '674'); -INSERT INTO cp_tree VALUES ('6049', '3', '675', '252', '6007', '676'); -INSERT INTO cp_tree VALUES ('6050', '3', '677', '252', '6007', '678'); -INSERT INTO cp_tree VALUES ('6051', '3', '679', '252', '6007', '680'); -INSERT INTO cp_tree VALUES ('6052', '3', '681', '252', '6007', '682'); -INSERT INTO cp_tree VALUES ('6053', '3', '683', '252', '6007', '684'); -INSERT INTO cp_tree VALUES ('6054', '3', '685', '252', '6007', '686'); -INSERT INTO cp_tree VALUES ('6055', '3', '687', '252', '6007', '688'); -INSERT INTO cp_tree VALUES ('6056', '3', '689', '252', '6007', '690'); -INSERT INTO cp_tree VALUES ('6057', '3', '691', '252', '6007', '692'); -INSERT INTO cp_tree VALUES ('6058', '3', '693', '252', '6007', '694'); -INSERT INTO cp_tree VALUES ('6059', '3', '695', '252', '6007', '696'); -INSERT INTO cp_tree VALUES ('6060', '3', '697', '252', '6007', '698'); -INSERT INTO cp_tree VALUES ('6061', '3', '699', '252', '6007', '700'); -INSERT INTO cp_tree VALUES ('6062', '3', '701', '252', '6007', '702'); -INSERT INTO cp_tree VALUES ('6063', '3', '703', '252', '6007', '704'); -INSERT INTO cp_tree VALUES ('6064', '3', '705', '252', '6007', '706'); -INSERT INTO cp_tree VALUES ('6065', '3', '707', '252', '6007', '708'); -INSERT INTO cp_tree VALUES ('6066', '3', '709', '252', '6007', '710'); -INSERT INTO cp_tree VALUES ('6067', '3', '711', '252', '6007', '712'); -INSERT INTO cp_tree VALUES ('6068', '3', '713', '252', '6007', '714'); -INSERT INTO cp_tree VALUES ('6069', '3', '715', '252', '6007', '716'); -INSERT INTO cp_tree VALUES ('6070', '3', '717', '252', '6007', '718'); -INSERT INTO cp_tree VALUES ('6071', '3', '719', '252', '6007', '720'); -INSERT INTO cp_tree VALUES ('6072', '3', '721', '252', '6007', '722'); -INSERT INTO cp_tree VALUES ('6073', '3', '723', '252', '6007', '724'); -INSERT INTO cp_tree VALUES ('6074', '3', '725', '252', '6007', '726'); -INSERT INTO cp_tree VALUES ('6075', '3', '727', '252', '6007', '728'); -INSERT INTO cp_tree VALUES ('6076', '2', '730', '252', '5711', '737'); -INSERT INTO cp_tree VALUES ('6077', '3', '731', '252', '6076', '732'); -INSERT INTO cp_tree VALUES ('6078', '3', '733', '252', '6076', '734'); -INSERT INTO cp_tree VALUES ('6079', '3', '735', '252', '6076', '736'); -INSERT INTO cp_tree VALUES ('6080', '2', '738', '252', '5711', '747'); -INSERT INTO cp_tree VALUES ('6081', '3', '739', '252', '6080', '740'); -INSERT INTO cp_tree VALUES ('6082', '3', '741', '252', '6080', '742'); -INSERT INTO cp_tree VALUES ('6083', '3', '743', '252', '6080', '744'); -INSERT INTO cp_tree VALUES ('6084', '3', '745', '252', '6080', '746'); -INSERT INTO cp_tree VALUES ('6085', '2', '748', '252', '5711', '749'); -INSERT INTO cp_tree VALUES ('6086', '2', '750', '252', '5711', '887'); -INSERT INTO cp_tree VALUES ('6087', '3', '751', '252', '6086', '752'); -INSERT INTO cp_tree VALUES ('6088', '3', '753', '252', '6086', '754'); -INSERT INTO cp_tree VALUES ('6089', '3', '755', '252', '6086', '756'); -INSERT INTO cp_tree VALUES ('6090', '3', '757', '252', '6086', '758'); -INSERT INTO cp_tree VALUES ('6091', '3', '759', '252', '6086', '760'); -INSERT INTO cp_tree VALUES ('6092', '3', '761', '252', '6086', '762'); -INSERT INTO cp_tree VALUES ('6093', '3', '763', '252', '6086', '764'); -INSERT INTO cp_tree VALUES ('6094', '3', '765', '252', '6086', '766'); -INSERT INTO cp_tree VALUES ('6095', '3', '767', '252', '6086', '768'); -INSERT INTO cp_tree VALUES ('6096', '3', '769', '252', '6086', '770'); -INSERT INTO cp_tree VALUES ('6097', '3', '771', '252', '6086', '772'); -INSERT INTO cp_tree VALUES ('6098', '3', '773', '252', '6086', '774'); -INSERT INTO cp_tree VALUES ('6099', '3', '775', '252', '6086', '776'); -INSERT INTO cp_tree VALUES ('6100', '3', '777', '252', '6086', '778'); -INSERT INTO cp_tree VALUES ('6101', '3', '779', '252', '6086', '780'); -INSERT INTO cp_tree VALUES ('6102', '3', '781', '252', '6086', '782'); -INSERT INTO cp_tree VALUES ('6103', '3', '783', '252', '6086', '784'); -INSERT INTO cp_tree VALUES ('6104', '3', '785', '252', '6086', '786'); -INSERT INTO cp_tree VALUES ('6105', '3', '787', '252', '6086', '788'); -INSERT INTO cp_tree VALUES ('6106', '3', '789', '252', '6086', '790'); -INSERT INTO cp_tree VALUES ('6107', '3', '791', '252', '6086', '792'); -INSERT INTO cp_tree VALUES ('6108', '3', '793', '252', '6086', '794'); -INSERT INTO cp_tree VALUES ('6109', '3', '795', '252', '6086', '796'); -INSERT INTO cp_tree VALUES ('6110', '3', '797', '252', '6086', '798'); -INSERT INTO cp_tree VALUES ('6111', '3', '799', '252', '6086', '800'); -INSERT INTO cp_tree VALUES ('6112', '3', '801', '252', '6086', '802'); -INSERT INTO cp_tree VALUES ('6113', '3', '803', '252', '6086', '804'); -INSERT INTO cp_tree VALUES ('6114', '3', '805', '252', '6086', '806'); -INSERT INTO cp_tree VALUES ('6115', '3', '807', '252', '6086', '808'); -INSERT INTO cp_tree VALUES ('6116', '3', '809', '252', '6086', '810'); -INSERT INTO cp_tree VALUES ('6117', '3', '811', '252', '6086', '812'); -INSERT INTO cp_tree VALUES ('6118', '3', '813', '252', '6086', '814'); -INSERT INTO cp_tree VALUES ('6119', '3', '815', '252', '6086', '816'); -INSERT INTO cp_tree VALUES ('6120', '3', '817', '252', '6086', '818'); -INSERT INTO cp_tree VALUES ('6121', '3', '819', '252', '6086', '820'); -INSERT INTO cp_tree VALUES ('6122', '3', '821', '252', '6086', '822'); -INSERT INTO cp_tree VALUES ('6123', '3', '823', '252', '6086', '824'); -INSERT INTO cp_tree VALUES ('6124', '3', '825', '252', '6086', '826'); -INSERT INTO cp_tree VALUES ('6125', '3', '827', '252', '6086', '828'); -INSERT INTO cp_tree VALUES ('6126', '3', '829', '252', '6086', '830'); -INSERT INTO cp_tree VALUES ('6127', '3', '831', '252', '6086', '832'); -INSERT INTO cp_tree VALUES ('6128', '3', '833', '252', '6086', '834'); -INSERT INTO cp_tree VALUES ('6129', '3', '835', '252', '6086', '836'); -INSERT INTO cp_tree VALUES ('6130', '3', '837', '252', '6086', '838'); -INSERT INTO cp_tree VALUES ('6131', '3', '839', '252', '6086', '840'); -INSERT INTO cp_tree VALUES ('6132', '3', '841', '252', '6086', '842'); -INSERT INTO cp_tree VALUES ('6133', '3', '843', '252', '6086', '844'); -INSERT INTO cp_tree VALUES ('6134', '3', '845', '252', '6086', '846'); -INSERT INTO cp_tree VALUES ('6135', '3', '847', '252', '6086', '848'); -INSERT INTO cp_tree VALUES ('6136', '3', '849', '252', '6086', '850'); -INSERT INTO cp_tree VALUES ('6137', '3', '851', '252', '6086', '852'); -INSERT INTO cp_tree VALUES ('6138', '3', '853', '252', '6086', '854'); -INSERT INTO cp_tree VALUES ('6139', '3', '855', '252', '6086', '856'); -INSERT INTO cp_tree VALUES ('6140', '3', '857', '252', '6086', '858'); -INSERT INTO cp_tree VALUES ('6141', '3', '859', '252', '6086', '860'); -INSERT INTO cp_tree VALUES ('6142', '3', '861', '252', '6086', '862'); -INSERT INTO cp_tree VALUES ('6143', '3', '863', '252', '6086', '864'); -INSERT INTO cp_tree VALUES ('6144', '3', '865', '252', '6086', '866'); -INSERT INTO cp_tree VALUES ('6145', '3', '867', '252', '6086', '868'); -INSERT INTO cp_tree VALUES ('6146', '3', '869', '252', '6086', '870'); -INSERT INTO cp_tree VALUES ('6147', '3', '871', '252', '6086', '872'); -INSERT INTO cp_tree VALUES ('6148', '3', '873', '252', '6086', '874'); -INSERT INTO cp_tree VALUES ('6149', '3', '875', '252', '6086', '876'); -INSERT INTO cp_tree VALUES ('6150', '3', '877', '252', '6086', '878'); -INSERT INTO cp_tree VALUES ('6151', '3', '879', '252', '6086', '880'); -INSERT INTO cp_tree VALUES ('6152', '3', '881', '252', '6086', '882'); -INSERT INTO cp_tree VALUES ('6153', '3', '883', '252', '6086', '884'); -INSERT INTO cp_tree VALUES ('6154', '3', '885', '252', '6086', '886'); -INSERT INTO cp_tree VALUES ('6155', '2', '888', '252', '5711', '923'); -INSERT INTO cp_tree VALUES ('6156', '3', '889', '252', '6155', '890'); -INSERT INTO cp_tree VALUES ('6157', '3', '891', '252', '6155', '892'); -INSERT INTO cp_tree VALUES ('6158', '3', '893', '252', '6155', '894'); -INSERT INTO cp_tree VALUES ('6159', '3', '895', '252', '6155', '896'); -INSERT INTO cp_tree VALUES ('6160', '3', '897', '252', '6155', '898'); -INSERT INTO cp_tree VALUES ('6161', '3', '899', '252', '6155', '900'); -INSERT INTO cp_tree VALUES ('6162', '3', '901', '252', '6155', '902'); -INSERT INTO cp_tree VALUES ('6163', '3', '903', '252', '6155', '904'); -INSERT INTO cp_tree VALUES ('6164', '3', '905', '252', '6155', '906'); -INSERT INTO cp_tree VALUES ('6165', '3', '907', '252', '6155', '908'); -INSERT INTO cp_tree VALUES ('6166', '3', '909', '252', '6155', '910'); -INSERT INTO cp_tree VALUES ('6167', '3', '911', '252', '6155', '912'); -INSERT INTO cp_tree VALUES ('6168', '3', '913', '252', '6155', '914'); -INSERT INTO cp_tree VALUES ('6169', '3', '915', '252', '6155', '916'); -INSERT INTO cp_tree VALUES ('6170', '3', '917', '252', '6155', '918'); -INSERT INTO cp_tree VALUES ('6171', '3', '919', '252', '6155', '920'); -INSERT INTO cp_tree VALUES ('6172', '3', '921', '252', '6155', '922'); -INSERT INTO cp_tree VALUES ('6173', '1', '1', '253', '0', '402'); -INSERT INTO cp_tree VALUES ('6174', '2', '2', '253', '6173', '49'); -INSERT INTO cp_tree VALUES ('6175', '3', '3', '253', '6174', '4'); -INSERT INTO cp_tree VALUES ('6176', '3', '5', '253', '6174', '14'); -INSERT INTO cp_tree VALUES ('6177', '4', '6', '253', '6176', '7'); -INSERT INTO cp_tree VALUES ('6178', '4', '8', '253', '6176', '9'); -INSERT INTO cp_tree VALUES ('6179', '4', '10', '253', '6176', '11'); -INSERT INTO cp_tree VALUES ('6180', '4', '12', '253', '6176', '13'); -INSERT INTO cp_tree VALUES ('6181', '3', '15', '253', '6174', '22'); -INSERT INTO cp_tree VALUES ('6182', '4', '16', '253', '6181', '17'); -INSERT INTO cp_tree VALUES ('6183', '4', '18', '253', '6181', '19'); -INSERT INTO cp_tree VALUES ('6184', '4', '20', '253', '6181', '21'); -INSERT INTO cp_tree VALUES ('6185', '3', '23', '253', '6174', '28'); -INSERT INTO cp_tree VALUES ('6186', '4', '24', '253', '6185', '25'); -INSERT INTO cp_tree VALUES ('6187', '4', '26', '253', '6185', '27'); -INSERT INTO cp_tree VALUES ('6188', '3', '29', '253', '6174', '48'); -INSERT INTO cp_tree VALUES ('6189', '4', '30', '253', '6188', '31'); -INSERT INTO cp_tree VALUES ('6190', '4', '32', '253', '6188', '33'); -INSERT INTO cp_tree VALUES ('6191', '4', '34', '253', '6188', '35'); -INSERT INTO cp_tree VALUES ('6192', '4', '36', '253', '6188', '37'); -INSERT INTO cp_tree VALUES ('6193', '4', '38', '253', '6188', '39'); -INSERT INTO cp_tree VALUES ('6194', '4', '40', '253', '6188', '41'); -INSERT INTO cp_tree VALUES ('6195', '4', '42', '253', '6188', '43'); -INSERT INTO cp_tree VALUES ('6196', '4', '44', '253', '6188', '45'); -INSERT INTO cp_tree VALUES ('6197', '4', '46', '253', '6188', '47'); -INSERT INTO cp_tree VALUES ('6198', '2', '50', '253', '6173', '59'); -INSERT INTO cp_tree VALUES ('6199', '3', '51', '253', '6198', '52'); -INSERT INTO cp_tree VALUES ('6200', '3', '53', '253', '6198', '54'); -INSERT INTO cp_tree VALUES ('6201', '3', '55', '253', '6198', '56'); -INSERT INTO cp_tree VALUES ('6202', '3', '57', '253', '6198', '58'); -INSERT INTO cp_tree VALUES ('6203', '2', '60', '253', '6173', '75'); -INSERT INTO cp_tree VALUES ('6204', '3', '61', '253', '6203', '62'); -INSERT INTO cp_tree VALUES ('6205', '3', '63', '253', '6203', '64'); -INSERT INTO cp_tree VALUES ('6206', '3', '65', '253', '6203', '66'); -INSERT INTO cp_tree VALUES ('6207', '3', '67', '253', '6203', '68'); -INSERT INTO cp_tree VALUES ('6208', '3', '69', '253', '6203', '70'); -INSERT INTO cp_tree VALUES ('6209', '3', '71', '253', '6203', '72'); -INSERT INTO cp_tree VALUES ('6210', '3', '73', '253', '6203', '74'); -INSERT INTO cp_tree VALUES ('6211', '2', '76', '253', '6173', '109'); -INSERT INTO cp_tree VALUES ('6212', '3', '77', '253', '6211', '78'); -INSERT INTO cp_tree VALUES ('6213', '3', '79', '253', '6211', '80'); -INSERT INTO cp_tree VALUES ('6214', '3', '81', '253', '6211', '82'); -INSERT INTO cp_tree VALUES ('6215', '3', '83', '253', '6211', '84'); -INSERT INTO cp_tree VALUES ('6216', '3', '85', '253', '6211', '86'); -INSERT INTO cp_tree VALUES ('6217', '3', '87', '253', '6211', '88'); -INSERT INTO cp_tree VALUES ('6218', '3', '89', '253', '6211', '90'); -INSERT INTO cp_tree VALUES ('6219', '3', '91', '253', '6211', '92'); -INSERT INTO cp_tree VALUES ('6220', '3', '93', '253', '6211', '94'); -INSERT INTO cp_tree VALUES ('6221', '3', '95', '253', '6211', '96'); -INSERT INTO cp_tree VALUES ('6222', '3', '97', '253', '6211', '98'); -INSERT INTO cp_tree VALUES ('6223', '3', '99', '253', '6211', '100'); -INSERT INTO cp_tree VALUES ('6224', '3', '101', '253', '6211', '102'); -INSERT INTO cp_tree VALUES ('6225', '3', '103', '253', '6211', '104'); -INSERT INTO cp_tree VALUES ('6226', '3', '105', '253', '6211', '106'); -INSERT INTO cp_tree VALUES ('6227', '3', '107', '253', '6211', '108'); -INSERT INTO cp_tree VALUES ('6228', '2', '110', '253', '6173', '125'); -INSERT INTO cp_tree VALUES ('6229', '3', '111', '253', '6228', '112'); -INSERT INTO cp_tree VALUES ('6230', '3', '113', '253', '6228', '114'); -INSERT INTO cp_tree VALUES ('6231', '3', '115', '253', '6228', '116'); -INSERT INTO cp_tree VALUES ('6232', '3', '117', '253', '6228', '118'); -INSERT INTO cp_tree VALUES ('6233', '3', '119', '253', '6228', '120'); -INSERT INTO cp_tree VALUES ('6234', '3', '121', '253', '6228', '122'); -INSERT INTO cp_tree VALUES ('6235', '3', '123', '253', '6228', '124'); -INSERT INTO cp_tree VALUES ('6236', '2', '126', '253', '6173', '155'); -INSERT INTO cp_tree VALUES ('6237', '3', '127', '253', '6236', '128'); -INSERT INTO cp_tree VALUES ('6238', '3', '129', '253', '6236', '130'); -INSERT INTO cp_tree VALUES ('6239', '3', '131', '253', '6236', '132'); -INSERT INTO cp_tree VALUES ('6240', '3', '133', '253', '6236', '134'); -INSERT INTO cp_tree VALUES ('6241', '3', '135', '253', '6236', '136'); -INSERT INTO cp_tree VALUES ('6242', '3', '137', '253', '6236', '138'); -INSERT INTO cp_tree VALUES ('6243', '3', '139', '253', '6236', '140'); -INSERT INTO cp_tree VALUES ('6244', '3', '141', '253', '6236', '142'); -INSERT INTO cp_tree VALUES ('6245', '3', '143', '253', '6236', '144'); -INSERT INTO cp_tree VALUES ('6246', '3', '145', '253', '6236', '146'); -INSERT INTO cp_tree VALUES ('6247', '3', '147', '253', '6236', '148'); -INSERT INTO cp_tree VALUES ('6248', '3', '149', '253', '6236', '150'); -INSERT INTO cp_tree VALUES ('6249', '3', '151', '253', '6236', '152'); -INSERT INTO cp_tree VALUES ('6250', '3', '153', '253', '6236', '154'); -INSERT INTO cp_tree VALUES ('6251', '2', '156', '253', '6173', '179'); -INSERT INTO cp_tree VALUES ('6252', '3', '157', '253', '6251', '158'); -INSERT INTO cp_tree VALUES ('6253', '3', '159', '253', '6251', '160'); -INSERT INTO cp_tree VALUES ('6254', '3', '161', '253', '6251', '162'); -INSERT INTO cp_tree VALUES ('6255', '3', '163', '253', '6251', '164'); -INSERT INTO cp_tree VALUES ('6256', '3', '165', '253', '6251', '166'); -INSERT INTO cp_tree VALUES ('6257', '3', '167', '253', '6251', '168'); -INSERT INTO cp_tree VALUES ('6258', '3', '169', '253', '6251', '170'); -INSERT INTO cp_tree VALUES ('6259', '3', '171', '253', '6251', '172'); -INSERT INTO cp_tree VALUES ('6260', '3', '173', '253', '6251', '174'); -INSERT INTO cp_tree VALUES ('6261', '3', '175', '253', '6251', '176'); -INSERT INTO cp_tree VALUES ('6262', '3', '177', '253', '6251', '178'); -INSERT INTO cp_tree VALUES ('6263', '2', '180', '253', '6173', '203'); -INSERT INTO cp_tree VALUES ('6264', '3', '181', '253', '6263', '182'); -INSERT INTO cp_tree VALUES ('6265', '3', '183', '253', '6263', '184'); -INSERT INTO cp_tree VALUES ('6266', '3', '185', '253', '6263', '186'); -INSERT INTO cp_tree VALUES ('6267', '3', '187', '253', '6263', '188'); -INSERT INTO cp_tree VALUES ('6268', '3', '189', '253', '6263', '190'); -INSERT INTO cp_tree VALUES ('6269', '3', '191', '253', '6263', '192'); -INSERT INTO cp_tree VALUES ('6270', '3', '193', '253', '6263', '194'); -INSERT INTO cp_tree VALUES ('6271', '3', '195', '253', '6263', '196'); -INSERT INTO cp_tree VALUES ('6272', '3', '197', '253', '6263', '198'); -INSERT INTO cp_tree VALUES ('6273', '3', '199', '253', '6263', '200'); -INSERT INTO cp_tree VALUES ('6274', '3', '201', '253', '6263', '202'); -INSERT INTO cp_tree VALUES ('6275', '2', '204', '253', '6173', '227'); -INSERT INTO cp_tree VALUES ('6276', '3', '205', '253', '6275', '206'); -INSERT INTO cp_tree VALUES ('6277', '3', '207', '253', '6275', '208'); -INSERT INTO cp_tree VALUES ('6278', '3', '209', '253', '6275', '210'); -INSERT INTO cp_tree VALUES ('6279', '3', '211', '253', '6275', '212'); -INSERT INTO cp_tree VALUES ('6280', '3', '213', '253', '6275', '214'); -INSERT INTO cp_tree VALUES ('6281', '3', '215', '253', '6275', '216'); -INSERT INTO cp_tree VALUES ('6282', '3', '217', '253', '6275', '218'); -INSERT INTO cp_tree VALUES ('6283', '3', '219', '253', '6275', '220'); -INSERT INTO cp_tree VALUES ('6284', '3', '221', '253', '6275', '222'); -INSERT INTO cp_tree VALUES ('6285', '3', '223', '253', '6275', '224'); -INSERT INTO cp_tree VALUES ('6286', '3', '225', '253', '6275', '226'); -INSERT INTO cp_tree VALUES ('6287', '2', '228', '253', '6173', '269'); -INSERT INTO cp_tree VALUES ('6288', '3', '229', '253', '6287', '230'); -INSERT INTO cp_tree VALUES ('6289', '3', '231', '253', '6287', '232'); -INSERT INTO cp_tree VALUES ('6290', '3', '233', '253', '6287', '234'); -INSERT INTO cp_tree VALUES ('6291', '3', '235', '253', '6287', '236'); -INSERT INTO cp_tree VALUES ('6292', '3', '237', '253', '6287', '238'); -INSERT INTO cp_tree VALUES ('6293', '3', '239', '253', '6287', '240'); -INSERT INTO cp_tree VALUES ('6294', '3', '241', '253', '6287', '242'); -INSERT INTO cp_tree VALUES ('6295', '3', '243', '253', '6287', '244'); -INSERT INTO cp_tree VALUES ('6296', '3', '245', '253', '6287', '246'); -INSERT INTO cp_tree VALUES ('6297', '3', '247', '253', '6287', '248'); -INSERT INTO cp_tree VALUES ('6298', '3', '249', '253', '6287', '250'); -INSERT INTO cp_tree VALUES ('6299', '3', '251', '253', '6287', '252'); -INSERT INTO cp_tree VALUES ('6300', '3', '253', '253', '6287', '254'); -INSERT INTO cp_tree VALUES ('6301', '3', '255', '253', '6287', '256'); -INSERT INTO cp_tree VALUES ('6302', '3', '257', '253', '6287', '258'); -INSERT INTO cp_tree VALUES ('6303', '3', '259', '253', '6287', '260'); -INSERT INTO cp_tree VALUES ('6304', '3', '261', '253', '6287', '262'); -INSERT INTO cp_tree VALUES ('6305', '3', '263', '253', '6287', '264'); -INSERT INTO cp_tree VALUES ('6306', '3', '265', '253', '6287', '266'); -INSERT INTO cp_tree VALUES ('6307', '3', '267', '253', '6287', '268'); -INSERT INTO cp_tree VALUES ('6308', '2', '270', '253', '6173', '317'); -INSERT INTO cp_tree VALUES ('6309', '3', '271', '253', '6308', '272'); -INSERT INTO cp_tree VALUES ('6310', '3', '273', '253', '6308', '274'); -INSERT INTO cp_tree VALUES ('6311', '3', '275', '253', '6308', '276'); -INSERT INTO cp_tree VALUES ('6312', '3', '277', '253', '6308', '278'); -INSERT INTO cp_tree VALUES ('6313', '3', '279', '253', '6308', '280'); -INSERT INTO cp_tree VALUES ('6314', '3', '281', '253', '6308', '282'); -INSERT INTO cp_tree VALUES ('6315', '3', '283', '253', '6308', '284'); -INSERT INTO cp_tree VALUES ('6316', '3', '285', '253', '6308', '286'); -INSERT INTO cp_tree VALUES ('6317', '3', '287', '253', '6308', '288'); -INSERT INTO cp_tree VALUES ('6318', '3', '289', '253', '6308', '290'); -INSERT INTO cp_tree VALUES ('6319', '3', '291', '253', '6308', '292'); -INSERT INTO cp_tree VALUES ('6320', '3', '293', '253', '6308', '294'); -INSERT INTO cp_tree VALUES ('6321', '3', '295', '253', '6308', '296'); -INSERT INTO cp_tree VALUES ('6322', '3', '297', '253', '6308', '298'); -INSERT INTO cp_tree VALUES ('6323', '3', '299', '253', '6308', '300'); -INSERT INTO cp_tree VALUES ('6324', '3', '301', '253', '6308', '302'); -INSERT INTO cp_tree VALUES ('6325', '3', '303', '253', '6308', '304'); -INSERT INTO cp_tree VALUES ('6326', '3', '305', '253', '6308', '306'); -INSERT INTO cp_tree VALUES ('6327', '3', '307', '253', '6308', '308'); -INSERT INTO cp_tree VALUES ('6328', '3', '309', '253', '6308', '310'); -INSERT INTO cp_tree VALUES ('6329', '3', '311', '253', '6308', '312'); -INSERT INTO cp_tree VALUES ('6330', '3', '313', '253', '6308', '314'); -INSERT INTO cp_tree VALUES ('6331', '3', '315', '253', '6308', '316'); -INSERT INTO cp_tree VALUES ('6332', '2', '318', '253', '6173', '323'); -INSERT INTO cp_tree VALUES ('6333', '3', '319', '253', '6332', '320'); -INSERT INTO cp_tree VALUES ('6334', '3', '321', '253', '6332', '322'); -INSERT INTO cp_tree VALUES ('6335', '2', '324', '253', '6173', '329'); -INSERT INTO cp_tree VALUES ('6336', '3', '325', '253', '6335', '326'); -INSERT INTO cp_tree VALUES ('6337', '3', '327', '253', '6335', '328'); -INSERT INTO cp_tree VALUES ('6338', '2', '330', '253', '6173', '335'); -INSERT INTO cp_tree VALUES ('6339', '3', '331', '253', '6338', '332'); -INSERT INTO cp_tree VALUES ('6340', '3', '333', '253', '6338', '334'); -INSERT INTO cp_tree VALUES ('6341', '2', '336', '253', '6173', '341'); -INSERT INTO cp_tree VALUES ('6342', '3', '337', '253', '6341', '338'); -INSERT INTO cp_tree VALUES ('6343', '3', '339', '253', '6341', '340'); -INSERT INTO cp_tree VALUES ('6344', '2', '342', '253', '6173', '347'); -INSERT INTO cp_tree VALUES ('6345', '3', '343', '253', '6344', '344'); -INSERT INTO cp_tree VALUES ('6346', '3', '345', '253', '6344', '346'); -INSERT INTO cp_tree VALUES ('6347', '2', '348', '253', '6173', '353'); -INSERT INTO cp_tree VALUES ('6348', '3', '349', '253', '6347', '350'); -INSERT INTO cp_tree VALUES ('6349', '3', '351', '253', '6347', '352'); -INSERT INTO cp_tree VALUES ('6350', '2', '354', '253', '6173', '359'); -INSERT INTO cp_tree VALUES ('6351', '3', '355', '253', '6350', '356'); -INSERT INTO cp_tree VALUES ('6352', '3', '357', '253', '6350', '358'); -INSERT INTO cp_tree VALUES ('6353', '2', '360', '253', '6173', '365'); -INSERT INTO cp_tree VALUES ('6354', '3', '361', '253', '6353', '362'); -INSERT INTO cp_tree VALUES ('6355', '3', '363', '253', '6353', '364'); -INSERT INTO cp_tree VALUES ('6356', '2', '366', '253', '6173', '371'); -INSERT INTO cp_tree VALUES ('6357', '3', '367', '253', '6356', '368'); -INSERT INTO cp_tree VALUES ('6358', '3', '369', '253', '6356', '370'); -INSERT INTO cp_tree VALUES ('6359', '2', '372', '253', '6173', '373'); -INSERT INTO cp_tree VALUES ('6360', '2', '374', '253', '6173', '375'); -INSERT INTO cp_tree VALUES ('6361', '2', '376', '253', '6173', '377'); -INSERT INTO cp_tree VALUES ('6362', '2', '378', '253', '6173', '379'); -INSERT INTO cp_tree VALUES ('6363', '2', '380', '253', '6173', '387'); -INSERT INTO cp_tree VALUES ('6364', '3', '381', '253', '6363', '384'); -INSERT INTO cp_tree VALUES ('6365', '4', '382', '253', '6364', '383'); -INSERT INTO cp_tree VALUES ('6366', '3', '385', '253', '6363', '386'); -INSERT INTO cp_tree VALUES ('6367', '2', '388', '253', '6173', '401'); -INSERT INTO cp_tree VALUES ('6368', '3', '389', '253', '6367', '392'); -INSERT INTO cp_tree VALUES ('6369', '4', '390', '253', '6368', '391'); -INSERT INTO cp_tree VALUES ('6370', '3', '393', '253', '6367', '396'); -INSERT INTO cp_tree VALUES ('6371', '4', '394', '253', '6370', '395'); -INSERT INTO cp_tree VALUES ('6372', '3', '397', '253', '6367', '400'); -INSERT INTO cp_tree VALUES ('6373', '4', '398', '253', '6372', '399'); -INSERT INTO cp_tree VALUES ('6374', '1', '1', '279', '0', '456'); -INSERT INTO cp_tree VALUES ('6375', '2', '2', '279', '6374', '81'); -INSERT INTO cp_tree VALUES ('6376', '3', '3', '279', '6375', '6'); -INSERT INTO cp_tree VALUES ('6377', '4', '4', '279', '6376', '5'); -INSERT INTO cp_tree VALUES ('6378', '3', '7', '279', '6375', '12'); -INSERT INTO cp_tree VALUES ('6379', '4', '8', '279', '6378', '9'); -INSERT INTO cp_tree VALUES ('6380', '4', '10', '279', '6378', '11'); -INSERT INTO cp_tree VALUES ('6381', '3', '13', '279', '6375', '18'); -INSERT INTO cp_tree VALUES ('6382', '4', '14', '279', '6381', '15'); -INSERT INTO cp_tree VALUES ('6383', '4', '16', '279', '6381', '17'); -INSERT INTO cp_tree VALUES ('6384', '3', '19', '279', '6375', '24'); -INSERT INTO cp_tree VALUES ('6385', '4', '20', '279', '6384', '21'); -INSERT INTO cp_tree VALUES ('6386', '4', '22', '279', '6384', '23'); -INSERT INTO cp_tree VALUES ('6387', '3', '25', '279', '6375', '80'); -INSERT INTO cp_tree VALUES ('6388', '4', '26', '279', '6387', '31'); -INSERT INTO cp_tree VALUES ('6389', '5', '27', '279', '6388', '28'); -INSERT INTO cp_tree VALUES ('6390', '5', '29', '279', '6388', '30'); -INSERT INTO cp_tree VALUES ('6391', '4', '32', '279', '6387', '37'); -INSERT INTO cp_tree VALUES ('6392', '5', '33', '279', '6391', '34'); -INSERT INTO cp_tree VALUES ('6393', '5', '35', '279', '6391', '36'); -INSERT INTO cp_tree VALUES ('6394', '4', '38', '279', '6387', '43'); -INSERT INTO cp_tree VALUES ('6395', '5', '39', '279', '6394', '40'); -INSERT INTO cp_tree VALUES ('6396', '5', '41', '279', '6394', '42'); -INSERT INTO cp_tree VALUES ('6397', '4', '44', '279', '6387', '49'); -INSERT INTO cp_tree VALUES ('6398', '5', '45', '279', '6397', '46'); -INSERT INTO cp_tree VALUES ('6399', '5', '47', '279', '6397', '48'); -INSERT INTO cp_tree VALUES ('6400', '4', '50', '279', '6387', '55'); -INSERT INTO cp_tree VALUES ('6401', '5', '51', '279', '6400', '52'); -INSERT INTO cp_tree VALUES ('6402', '5', '53', '279', '6400', '54'); -INSERT INTO cp_tree VALUES ('6403', '4', '56', '279', '6387', '61'); -INSERT INTO cp_tree VALUES ('6404', '5', '57', '279', '6403', '58'); -INSERT INTO cp_tree VALUES ('6405', '5', '59', '279', '6403', '60'); -INSERT INTO cp_tree VALUES ('6406', '4', '62', '279', '6387', '67'); -INSERT INTO cp_tree VALUES ('6407', '5', '63', '279', '6406', '64'); -INSERT INTO cp_tree VALUES ('6408', '5', '65', '279', '6406', '66'); -INSERT INTO cp_tree VALUES ('6409', '4', '68', '279', '6387', '73'); -INSERT INTO cp_tree VALUES ('6410', '5', '69', '279', '6409', '70'); -INSERT INTO cp_tree VALUES ('6411', '5', '71', '279', '6409', '72'); -INSERT INTO cp_tree VALUES ('6412', '4', '74', '279', '6387', '79'); -INSERT INTO cp_tree VALUES ('6413', '5', '75', '279', '6412', '76'); -INSERT INTO cp_tree VALUES ('6414', '5', '77', '279', '6412', '78'); -INSERT INTO cp_tree VALUES ('6415', '2', '82', '279', '6374', '95'); -INSERT INTO cp_tree VALUES ('6416', '3', '83', '279', '6415', '84'); -INSERT INTO cp_tree VALUES ('6417', '3', '85', '279', '6415', '86'); -INSERT INTO cp_tree VALUES ('6418', '3', '87', '279', '6415', '88'); -INSERT INTO cp_tree VALUES ('6419', '3', '89', '279', '6415', '90'); -INSERT INTO cp_tree VALUES ('6420', '3', '91', '279', '6415', '92'); -INSERT INTO cp_tree VALUES ('6421', '3', '93', '279', '6415', '94'); -INSERT INTO cp_tree VALUES ('6422', '2', '96', '279', '6374', '189'); -INSERT INTO cp_tree VALUES ('6423', '3', '97', '279', '6422', '98'); -INSERT INTO cp_tree VALUES ('6424', '3', '99', '279', '6422', '100'); -INSERT INTO cp_tree VALUES ('6425', '3', '101', '279', '6422', '102'); -INSERT INTO cp_tree VALUES ('6426', '3', '103', '279', '6422', '104'); -INSERT INTO cp_tree VALUES ('6427', '3', '105', '279', '6422', '106'); -INSERT INTO cp_tree VALUES ('6428', '3', '107', '279', '6422', '108'); -INSERT INTO cp_tree VALUES ('6429', '3', '109', '279', '6422', '110'); -INSERT INTO cp_tree VALUES ('6430', '3', '111', '279', '6422', '112'); -INSERT INTO cp_tree VALUES ('6431', '3', '113', '279', '6422', '114'); -INSERT INTO cp_tree VALUES ('6432', '3', '115', '279', '6422', '116'); -INSERT INTO cp_tree VALUES ('6433', '3', '117', '279', '6422', '118'); -INSERT INTO cp_tree VALUES ('6434', '3', '119', '279', '6422', '120'); -INSERT INTO cp_tree VALUES ('6435', '3', '121', '279', '6422', '122'); -INSERT INTO cp_tree VALUES ('6436', '3', '123', '279', '6422', '124'); -INSERT INTO cp_tree VALUES ('6437', '3', '125', '279', '6422', '126'); -INSERT INTO cp_tree VALUES ('6438', '3', '127', '279', '6422', '128'); -INSERT INTO cp_tree VALUES ('6439', '3', '129', '279', '6422', '130'); -INSERT INTO cp_tree VALUES ('6440', '3', '131', '279', '6422', '132'); -INSERT INTO cp_tree VALUES ('6441', '3', '133', '279', '6422', '134'); -INSERT INTO cp_tree VALUES ('6442', '3', '135', '279', '6422', '136'); -INSERT INTO cp_tree VALUES ('6443', '3', '137', '279', '6422', '138'); -INSERT INTO cp_tree VALUES ('6444', '3', '139', '279', '6422', '140'); -INSERT INTO cp_tree VALUES ('6445', '3', '141', '279', '6422', '142'); -INSERT INTO cp_tree VALUES ('6446', '3', '143', '279', '6422', '144'); -INSERT INTO cp_tree VALUES ('6447', '3', '145', '279', '6422', '146'); -INSERT INTO cp_tree VALUES ('6448', '3', '147', '279', '6422', '148'); -INSERT INTO cp_tree VALUES ('6449', '3', '149', '279', '6422', '150'); -INSERT INTO cp_tree VALUES ('6450', '3', '151', '279', '6422', '152'); -INSERT INTO cp_tree VALUES ('6451', '3', '153', '279', '6422', '154'); -INSERT INTO cp_tree VALUES ('6452', '3', '155', '279', '6422', '156'); -INSERT INTO cp_tree VALUES ('6453', '3', '157', '279', '6422', '158'); -INSERT INTO cp_tree VALUES ('6454', '3', '159', '279', '6422', '160'); -INSERT INTO cp_tree VALUES ('6455', '3', '161', '279', '6422', '162'); -INSERT INTO cp_tree VALUES ('6456', '3', '163', '279', '6422', '164'); -INSERT INTO cp_tree VALUES ('6457', '3', '165', '279', '6422', '166'); -INSERT INTO cp_tree VALUES ('6458', '3', '167', '279', '6422', '168'); -INSERT INTO cp_tree VALUES ('6459', '3', '169', '279', '6422', '170'); -INSERT INTO cp_tree VALUES ('6460', '3', '171', '279', '6422', '172'); -INSERT INTO cp_tree VALUES ('6461', '3', '173', '279', '6422', '174'); -INSERT INTO cp_tree VALUES ('6462', '3', '175', '279', '6422', '176'); -INSERT INTO cp_tree VALUES ('6463', '3', '177', '279', '6422', '178'); -INSERT INTO cp_tree VALUES ('6464', '3', '179', '279', '6422', '180'); -INSERT INTO cp_tree VALUES ('6465', '3', '181', '279', '6422', '182'); -INSERT INTO cp_tree VALUES ('6466', '3', '183', '279', '6422', '184'); -INSERT INTO cp_tree VALUES ('6467', '3', '185', '279', '6422', '186'); -INSERT INTO cp_tree VALUES ('6468', '3', '187', '279', '6422', '188'); -INSERT INTO cp_tree VALUES ('6469', '2', '190', '279', '6374', '261'); -INSERT INTO cp_tree VALUES ('6470', '3', '191', '279', '6469', '192'); -INSERT INTO cp_tree VALUES ('6471', '3', '193', '279', '6469', '194'); -INSERT INTO cp_tree VALUES ('6472', '3', '195', '279', '6469', '196'); -INSERT INTO cp_tree VALUES ('6473', '3', '197', '279', '6469', '198'); -INSERT INTO cp_tree VALUES ('6474', '3', '199', '279', '6469', '200'); -INSERT INTO cp_tree VALUES ('6475', '3', '201', '279', '6469', '202'); -INSERT INTO cp_tree VALUES ('6476', '3', '203', '279', '6469', '204'); -INSERT INTO cp_tree VALUES ('6477', '3', '205', '279', '6469', '206'); -INSERT INTO cp_tree VALUES ('6478', '3', '207', '279', '6469', '208'); -INSERT INTO cp_tree VALUES ('6479', '3', '209', '279', '6469', '210'); -INSERT INTO cp_tree VALUES ('6480', '3', '211', '279', '6469', '212'); -INSERT INTO cp_tree VALUES ('6481', '3', '213', '279', '6469', '214'); -INSERT INTO cp_tree VALUES ('6482', '3', '215', '279', '6469', '216'); -INSERT INTO cp_tree VALUES ('6483', '3', '217', '279', '6469', '218'); -INSERT INTO cp_tree VALUES ('6484', '3', '219', '279', '6469', '220'); -INSERT INTO cp_tree VALUES ('6485', '3', '221', '279', '6469', '222'); -INSERT INTO cp_tree VALUES ('6486', '3', '223', '279', '6469', '224'); -INSERT INTO cp_tree VALUES ('6487', '3', '225', '279', '6469', '226'); -INSERT INTO cp_tree VALUES ('6488', '3', '227', '279', '6469', '228'); -INSERT INTO cp_tree VALUES ('6489', '3', '229', '279', '6469', '230'); -INSERT INTO cp_tree VALUES ('6490', '3', '231', '279', '6469', '232'); -INSERT INTO cp_tree VALUES ('6491', '3', '233', '279', '6469', '234'); -INSERT INTO cp_tree VALUES ('6492', '3', '235', '279', '6469', '236'); -INSERT INTO cp_tree VALUES ('6493', '3', '237', '279', '6469', '238'); -INSERT INTO cp_tree VALUES ('6494', '3', '239', '279', '6469', '240'); -INSERT INTO cp_tree VALUES ('6495', '3', '241', '279', '6469', '242'); -INSERT INTO cp_tree VALUES ('6496', '3', '243', '279', '6469', '244'); -INSERT INTO cp_tree VALUES ('6497', '3', '245', '279', '6469', '246'); -INSERT INTO cp_tree VALUES ('6498', '3', '247', '279', '6469', '248'); -INSERT INTO cp_tree VALUES ('6499', '3', '249', '279', '6469', '250'); -INSERT INTO cp_tree VALUES ('6500', '3', '251', '279', '6469', '252'); -INSERT INTO cp_tree VALUES ('6501', '3', '253', '279', '6469', '254'); -INSERT INTO cp_tree VALUES ('6502', '3', '255', '279', '6469', '256'); -INSERT INTO cp_tree VALUES ('6503', '3', '257', '279', '6469', '258'); -INSERT INTO cp_tree VALUES ('6504', '3', '259', '279', '6469', '260'); -INSERT INTO cp_tree VALUES ('6505', '2', '262', '279', '6374', '353'); -INSERT INTO cp_tree VALUES ('6506', '3', '263', '279', '6505', '264'); -INSERT INTO cp_tree VALUES ('6507', '3', '265', '279', '6505', '266'); -INSERT INTO cp_tree VALUES ('6508', '3', '267', '279', '6505', '268'); -INSERT INTO cp_tree VALUES ('6509', '3', '269', '279', '6505', '270'); -INSERT INTO cp_tree VALUES ('6510', '3', '271', '279', '6505', '272'); -INSERT INTO cp_tree VALUES ('6511', '3', '273', '279', '6505', '274'); -INSERT INTO cp_tree VALUES ('6512', '3', '275', '279', '6505', '276'); -INSERT INTO cp_tree VALUES ('6513', '3', '277', '279', '6505', '278'); -INSERT INTO cp_tree VALUES ('6514', '3', '279', '279', '6505', '280'); -INSERT INTO cp_tree VALUES ('6515', '3', '281', '279', '6505', '282'); -INSERT INTO cp_tree VALUES ('6516', '3', '283', '279', '6505', '284'); -INSERT INTO cp_tree VALUES ('6517', '3', '285', '279', '6505', '286'); -INSERT INTO cp_tree VALUES ('6518', '3', '287', '279', '6505', '288'); -INSERT INTO cp_tree VALUES ('6519', '3', '289', '279', '6505', '290'); -INSERT INTO cp_tree VALUES ('6520', '3', '291', '279', '6505', '292'); -INSERT INTO cp_tree VALUES ('6521', '3', '293', '279', '6505', '294'); -INSERT INTO cp_tree VALUES ('6522', '3', '295', '279', '6505', '296'); -INSERT INTO cp_tree VALUES ('6523', '3', '297', '279', '6505', '298'); -INSERT INTO cp_tree VALUES ('6524', '3', '299', '279', '6505', '300'); -INSERT INTO cp_tree VALUES ('6525', '3', '301', '279', '6505', '302'); -INSERT INTO cp_tree VALUES ('6526', '3', '303', '279', '6505', '304'); -INSERT INTO cp_tree VALUES ('6527', '3', '305', '279', '6505', '306'); -INSERT INTO cp_tree VALUES ('6528', '3', '307', '279', '6505', '308'); -INSERT INTO cp_tree VALUES ('6529', '3', '309', '279', '6505', '310'); -INSERT INTO cp_tree VALUES ('6530', '3', '311', '279', '6505', '312'); -INSERT INTO cp_tree VALUES ('6531', '3', '313', '279', '6505', '314'); -INSERT INTO cp_tree VALUES ('6532', '3', '315', '279', '6505', '316'); -INSERT INTO cp_tree VALUES ('6533', '3', '317', '279', '6505', '318'); -INSERT INTO cp_tree VALUES ('6534', '3', '319', '279', '6505', '320'); -INSERT INTO cp_tree VALUES ('6535', '3', '321', '279', '6505', '322'); -INSERT INTO cp_tree VALUES ('6536', '3', '323', '279', '6505', '324'); -INSERT INTO cp_tree VALUES ('6537', '3', '325', '279', '6505', '326'); -INSERT INTO cp_tree VALUES ('6538', '3', '327', '279', '6505', '328'); -INSERT INTO cp_tree VALUES ('6539', '3', '329', '279', '6505', '330'); -INSERT INTO cp_tree VALUES ('6540', '3', '331', '279', '6505', '332'); -INSERT INTO cp_tree VALUES ('6541', '3', '333', '279', '6505', '334'); -INSERT INTO cp_tree VALUES ('6542', '3', '335', '279', '6505', '336'); -INSERT INTO cp_tree VALUES ('6543', '3', '337', '279', '6505', '338'); -INSERT INTO cp_tree VALUES ('6544', '3', '339', '279', '6505', '340'); -INSERT INTO cp_tree VALUES ('6545', '3', '341', '279', '6505', '342'); -INSERT INTO cp_tree VALUES ('6546', '3', '343', '279', '6505', '344'); -INSERT INTO cp_tree VALUES ('6547', '3', '345', '279', '6505', '346'); -INSERT INTO cp_tree VALUES ('6548', '3', '347', '279', '6505', '348'); -INSERT INTO cp_tree VALUES ('6549', '3', '349', '279', '6505', '350'); -INSERT INTO cp_tree VALUES ('6550', '3', '351', '279', '6505', '352'); -INSERT INTO cp_tree VALUES ('6551', '2', '354', '279', '6374', '361'); -INSERT INTO cp_tree VALUES ('6552', '3', '355', '279', '6551', '356'); -INSERT INTO cp_tree VALUES ('6553', '3', '357', '279', '6551', '358'); -INSERT INTO cp_tree VALUES ('6554', '3', '359', '279', '6551', '360'); -INSERT INTO cp_tree VALUES ('6555', '2', '362', '279', '6374', '369'); -INSERT INTO cp_tree VALUES ('6556', '3', '363', '279', '6555', '364'); -INSERT INTO cp_tree VALUES ('6557', '3', '365', '279', '6555', '366'); -INSERT INTO cp_tree VALUES ('6558', '3', '367', '279', '6555', '368'); -INSERT INTO cp_tree VALUES ('6559', '2', '370', '279', '6374', '377'); -INSERT INTO cp_tree VALUES ('6560', '3', '371', '279', '6559', '372'); -INSERT INTO cp_tree VALUES ('6561', '3', '373', '279', '6559', '374'); -INSERT INTO cp_tree VALUES ('6562', '3', '375', '279', '6559', '376'); -INSERT INTO cp_tree VALUES ('6563', '2', '378', '279', '6374', '385'); -INSERT INTO cp_tree VALUES ('6564', '3', '379', '279', '6563', '380'); -INSERT INTO cp_tree VALUES ('6565', '3', '381', '279', '6563', '382'); -INSERT INTO cp_tree VALUES ('6566', '3', '383', '279', '6563', '384'); -INSERT INTO cp_tree VALUES ('6567', '2', '386', '279', '6374', '393'); -INSERT INTO cp_tree VALUES ('6568', '3', '387', '279', '6567', '388'); -INSERT INTO cp_tree VALUES ('6569', '3', '389', '279', '6567', '390'); -INSERT INTO cp_tree VALUES ('6570', '3', '391', '279', '6567', '392'); -INSERT INTO cp_tree VALUES ('6571', '2', '394', '279', '6374', '401'); -INSERT INTO cp_tree VALUES ('6572', '3', '395', '279', '6571', '396'); -INSERT INTO cp_tree VALUES ('6573', '3', '397', '279', '6571', '398'); -INSERT INTO cp_tree VALUES ('6574', '3', '399', '279', '6571', '400'); -INSERT INTO cp_tree VALUES ('6575', '2', '402', '279', '6374', '409'); -INSERT INTO cp_tree VALUES ('6576', '3', '403', '279', '6575', '404'); -INSERT INTO cp_tree VALUES ('6577', '3', '405', '279', '6575', '406'); -INSERT INTO cp_tree VALUES ('6578', '3', '407', '279', '6575', '408'); -INSERT INTO cp_tree VALUES ('6579', '2', '410', '279', '6374', '417'); -INSERT INTO cp_tree VALUES ('6580', '3', '411', '279', '6579', '412'); -INSERT INTO cp_tree VALUES ('6581', '3', '413', '279', '6579', '414'); -INSERT INTO cp_tree VALUES ('6582', '3', '415', '279', '6579', '416'); -INSERT INTO cp_tree VALUES ('6583', '2', '418', '279', '6374', '425'); -INSERT INTO cp_tree VALUES ('6584', '3', '419', '279', '6583', '420'); -INSERT INTO cp_tree VALUES ('6585', '3', '421', '279', '6583', '422'); -INSERT INTO cp_tree VALUES ('6586', '3', '423', '279', '6583', '424'); -INSERT INTO cp_tree VALUES ('6587', '2', '426', '279', '6374', '427'); -INSERT INTO cp_tree VALUES ('6588', '2', '428', '279', '6374', '429'); -INSERT INTO cp_tree VALUES ('6589', '2', '430', '279', '6374', '431'); -INSERT INTO cp_tree VALUES ('6590', '2', '432', '279', '6374', '433'); -INSERT INTO cp_tree VALUES ('6591', '2', '434', '279', '6374', '441'); -INSERT INTO cp_tree VALUES ('6592', '3', '435', '279', '6591', '438'); -INSERT INTO cp_tree VALUES ('6593', '4', '436', '279', '6592', '437'); -INSERT INTO cp_tree VALUES ('6594', '3', '439', '279', '6591', '440'); -INSERT INTO cp_tree VALUES ('6595', '2', '442', '279', '6374', '455'); -INSERT INTO cp_tree VALUES ('6596', '3', '443', '279', '6595', '446'); -INSERT INTO cp_tree VALUES ('6597', '4', '444', '279', '6596', '445'); -INSERT INTO cp_tree VALUES ('6598', '3', '447', '279', '6595', '450'); -INSERT INTO cp_tree VALUES ('6599', '4', '448', '279', '6598', '449'); -INSERT INTO cp_tree VALUES ('6600', '3', '451', '279', '6595', '454'); -INSERT INTO cp_tree VALUES ('6601', '4', '452', '279', '6600', '453'); -INSERT INTO cp_tree VALUES ('6602', '1', '1', '280', '0', '456'); -INSERT INTO cp_tree VALUES ('6603', '2', '2', '280', '6602', '81'); -INSERT INTO cp_tree VALUES ('6604', '3', '3', '280', '6603', '6'); -INSERT INTO cp_tree VALUES ('6605', '4', '4', '280', '6604', '5'); -INSERT INTO cp_tree VALUES ('6606', '3', '7', '280', '6603', '12'); -INSERT INTO cp_tree VALUES ('6607', '4', '8', '280', '6606', '9'); -INSERT INTO cp_tree VALUES ('6608', '4', '10', '280', '6606', '11'); -INSERT INTO cp_tree VALUES ('6609', '3', '13', '280', '6603', '18'); -INSERT INTO cp_tree VALUES ('6610', '4', '14', '280', '6609', '15'); -INSERT INTO cp_tree VALUES ('6611', '4', '16', '280', '6609', '17'); -INSERT INTO cp_tree VALUES ('6612', '3', '19', '280', '6603', '24'); -INSERT INTO cp_tree VALUES ('6613', '4', '20', '280', '6612', '21'); -INSERT INTO cp_tree VALUES ('6614', '4', '22', '280', '6612', '23'); -INSERT INTO cp_tree VALUES ('6615', '3', '25', '280', '6603', '80'); -INSERT INTO cp_tree VALUES ('6616', '4', '26', '280', '6615', '31'); -INSERT INTO cp_tree VALUES ('6617', '5', '27', '280', '6616', '28'); -INSERT INTO cp_tree VALUES ('6618', '5', '29', '280', '6616', '30'); -INSERT INTO cp_tree VALUES ('6619', '4', '32', '280', '6615', '37'); -INSERT INTO cp_tree VALUES ('6620', '5', '33', '280', '6619', '34'); -INSERT INTO cp_tree VALUES ('6621', '5', '35', '280', '6619', '36'); -INSERT INTO cp_tree VALUES ('6622', '4', '38', '280', '6615', '43'); -INSERT INTO cp_tree VALUES ('6623', '5', '39', '280', '6622', '40'); -INSERT INTO cp_tree VALUES ('6624', '5', '41', '280', '6622', '42'); -INSERT INTO cp_tree VALUES ('6625', '4', '44', '280', '6615', '49'); -INSERT INTO cp_tree VALUES ('6626', '5', '45', '280', '6625', '46'); -INSERT INTO cp_tree VALUES ('6627', '5', '47', '280', '6625', '48'); -INSERT INTO cp_tree VALUES ('6628', '4', '50', '280', '6615', '55'); -INSERT INTO cp_tree VALUES ('6629', '5', '51', '280', '6628', '52'); -INSERT INTO cp_tree VALUES ('6630', '5', '53', '280', '6628', '54'); -INSERT INTO cp_tree VALUES ('6631', '4', '56', '280', '6615', '61'); -INSERT INTO cp_tree VALUES ('6632', '5', '57', '280', '6631', '58'); -INSERT INTO cp_tree VALUES ('6633', '5', '59', '280', '6631', '60'); -INSERT INTO cp_tree VALUES ('6634', '4', '62', '280', '6615', '67'); -INSERT INTO cp_tree VALUES ('6635', '5', '63', '280', '6634', '64'); -INSERT INTO cp_tree VALUES ('6636', '5', '65', '280', '6634', '66'); -INSERT INTO cp_tree VALUES ('6637', '4', '68', '280', '6615', '73'); -INSERT INTO cp_tree VALUES ('6638', '5', '69', '280', '6637', '70'); -INSERT INTO cp_tree VALUES ('6639', '5', '71', '280', '6637', '72'); -INSERT INTO cp_tree VALUES ('6640', '4', '74', '280', '6615', '79'); -INSERT INTO cp_tree VALUES ('6641', '5', '75', '280', '6640', '76'); -INSERT INTO cp_tree VALUES ('6642', '5', '77', '280', '6640', '78'); -INSERT INTO cp_tree VALUES ('6643', '2', '82', '280', '6602', '95'); -INSERT INTO cp_tree VALUES ('6644', '3', '83', '280', '6643', '84'); -INSERT INTO cp_tree VALUES ('6645', '3', '85', '280', '6643', '86'); -INSERT INTO cp_tree VALUES ('6646', '3', '87', '280', '6643', '88'); -INSERT INTO cp_tree VALUES ('6647', '3', '89', '280', '6643', '90'); -INSERT INTO cp_tree VALUES ('6648', '3', '91', '280', '6643', '92'); -INSERT INTO cp_tree VALUES ('6649', '3', '93', '280', '6643', '94'); -INSERT INTO cp_tree VALUES ('6650', '2', '96', '280', '6602', '189'); -INSERT INTO cp_tree VALUES ('6651', '3', '97', '280', '6650', '98'); -INSERT INTO cp_tree VALUES ('6652', '3', '99', '280', '6650', '100'); -INSERT INTO cp_tree VALUES ('6653', '3', '101', '280', '6650', '102'); -INSERT INTO cp_tree VALUES ('6654', '3', '103', '280', '6650', '104'); -INSERT INTO cp_tree VALUES ('6655', '3', '105', '280', '6650', '106'); -INSERT INTO cp_tree VALUES ('6656', '3', '107', '280', '6650', '108'); -INSERT INTO cp_tree VALUES ('6657', '3', '109', '280', '6650', '110'); -INSERT INTO cp_tree VALUES ('6658', '3', '111', '280', '6650', '112'); -INSERT INTO cp_tree VALUES ('6659', '3', '113', '280', '6650', '114'); -INSERT INTO cp_tree VALUES ('6660', '3', '115', '280', '6650', '116'); -INSERT INTO cp_tree VALUES ('6661', '3', '117', '280', '6650', '118'); -INSERT INTO cp_tree VALUES ('6662', '3', '119', '280', '6650', '120'); -INSERT INTO cp_tree VALUES ('6663', '3', '121', '280', '6650', '122'); -INSERT INTO cp_tree VALUES ('6664', '3', '123', '280', '6650', '124'); -INSERT INTO cp_tree VALUES ('6665', '3', '125', '280', '6650', '126'); -INSERT INTO cp_tree VALUES ('6666', '3', '127', '280', '6650', '128'); -INSERT INTO cp_tree VALUES ('6667', '3', '129', '280', '6650', '130'); -INSERT INTO cp_tree VALUES ('6668', '3', '131', '280', '6650', '132'); -INSERT INTO cp_tree VALUES ('6669', '3', '133', '280', '6650', '134'); -INSERT INTO cp_tree VALUES ('6670', '3', '135', '280', '6650', '136'); -INSERT INTO cp_tree VALUES ('6671', '3', '137', '280', '6650', '138'); -INSERT INTO cp_tree VALUES ('6672', '3', '139', '280', '6650', '140'); -INSERT INTO cp_tree VALUES ('6673', '3', '141', '280', '6650', '142'); -INSERT INTO cp_tree VALUES ('6674', '3', '143', '280', '6650', '144'); -INSERT INTO cp_tree VALUES ('6675', '3', '145', '280', '6650', '146'); -INSERT INTO cp_tree VALUES ('6676', '3', '147', '280', '6650', '148'); -INSERT INTO cp_tree VALUES ('6677', '3', '149', '280', '6650', '150'); -INSERT INTO cp_tree VALUES ('6678', '3', '151', '280', '6650', '152'); -INSERT INTO cp_tree VALUES ('6679', '3', '153', '280', '6650', '154'); -INSERT INTO cp_tree VALUES ('6680', '3', '155', '280', '6650', '156'); -INSERT INTO cp_tree VALUES ('6681', '3', '157', '280', '6650', '158'); -INSERT INTO cp_tree VALUES ('6682', '3', '159', '280', '6650', '160'); -INSERT INTO cp_tree VALUES ('6683', '3', '161', '280', '6650', '162'); -INSERT INTO cp_tree VALUES ('6684', '3', '163', '280', '6650', '164'); -INSERT INTO cp_tree VALUES ('6685', '3', '165', '280', '6650', '166'); -INSERT INTO cp_tree VALUES ('6686', '3', '167', '280', '6650', '168'); -INSERT INTO cp_tree VALUES ('6687', '3', '169', '280', '6650', '170'); -INSERT INTO cp_tree VALUES ('6688', '3', '171', '280', '6650', '172'); -INSERT INTO cp_tree VALUES ('6689', '3', '173', '280', '6650', '174'); -INSERT INTO cp_tree VALUES ('6690', '3', '175', '280', '6650', '176'); -INSERT INTO cp_tree VALUES ('6691', '3', '177', '280', '6650', '178'); -INSERT INTO cp_tree VALUES ('6692', '3', '179', '280', '6650', '180'); -INSERT INTO cp_tree VALUES ('6693', '3', '181', '280', '6650', '182'); -INSERT INTO cp_tree VALUES ('6694', '3', '183', '280', '6650', '184'); -INSERT INTO cp_tree VALUES ('6695', '3', '185', '280', '6650', '186'); -INSERT INTO cp_tree VALUES ('6696', '3', '187', '280', '6650', '188'); -INSERT INTO cp_tree VALUES ('6697', '2', '190', '280', '6602', '261'); -INSERT INTO cp_tree VALUES ('6698', '3', '191', '280', '6697', '192'); -INSERT INTO cp_tree VALUES ('6699', '3', '193', '280', '6697', '194'); -INSERT INTO cp_tree VALUES ('6700', '3', '195', '280', '6697', '196'); -INSERT INTO cp_tree VALUES ('6701', '3', '197', '280', '6697', '198'); -INSERT INTO cp_tree VALUES ('6702', '3', '199', '280', '6697', '200'); -INSERT INTO cp_tree VALUES ('6703', '3', '201', '280', '6697', '202'); -INSERT INTO cp_tree VALUES ('6704', '3', '203', '280', '6697', '204'); -INSERT INTO cp_tree VALUES ('6705', '3', '205', '280', '6697', '206'); -INSERT INTO cp_tree VALUES ('6706', '3', '207', '280', '6697', '208'); -INSERT INTO cp_tree VALUES ('6707', '3', '209', '280', '6697', '210'); -INSERT INTO cp_tree VALUES ('6708', '3', '211', '280', '6697', '212'); -INSERT INTO cp_tree VALUES ('6709', '3', '213', '280', '6697', '214'); -INSERT INTO cp_tree VALUES ('6710', '3', '215', '280', '6697', '216'); -INSERT INTO cp_tree VALUES ('6711', '3', '217', '280', '6697', '218'); -INSERT INTO cp_tree VALUES ('6712', '3', '219', '280', '6697', '220'); -INSERT INTO cp_tree VALUES ('6713', '3', '221', '280', '6697', '222'); -INSERT INTO cp_tree VALUES ('6714', '3', '223', '280', '6697', '224'); -INSERT INTO cp_tree VALUES ('6715', '3', '225', '280', '6697', '226'); -INSERT INTO cp_tree VALUES ('6716', '3', '227', '280', '6697', '228'); -INSERT INTO cp_tree VALUES ('6717', '3', '229', '280', '6697', '230'); -INSERT INTO cp_tree VALUES ('6718', '3', '231', '280', '6697', '232'); -INSERT INTO cp_tree VALUES ('6719', '3', '233', '280', '6697', '234'); -INSERT INTO cp_tree VALUES ('6720', '3', '235', '280', '6697', '236'); -INSERT INTO cp_tree VALUES ('6721', '3', '237', '280', '6697', '238'); -INSERT INTO cp_tree VALUES ('6722', '3', '239', '280', '6697', '240'); -INSERT INTO cp_tree VALUES ('6723', '3', '241', '280', '6697', '242'); -INSERT INTO cp_tree VALUES ('6724', '3', '243', '280', '6697', '244'); -INSERT INTO cp_tree VALUES ('6725', '3', '245', '280', '6697', '246'); -INSERT INTO cp_tree VALUES ('6726', '3', '247', '280', '6697', '248'); -INSERT INTO cp_tree VALUES ('6727', '3', '249', '280', '6697', '250'); -INSERT INTO cp_tree VALUES ('6728', '3', '251', '280', '6697', '252'); -INSERT INTO cp_tree VALUES ('6729', '3', '253', '280', '6697', '254'); -INSERT INTO cp_tree VALUES ('6730', '3', '255', '280', '6697', '256'); -INSERT INTO cp_tree VALUES ('6731', '3', '257', '280', '6697', '258'); -INSERT INTO cp_tree VALUES ('6732', '3', '259', '280', '6697', '260'); -INSERT INTO cp_tree VALUES ('6733', '2', '262', '280', '6602', '353'); -INSERT INTO cp_tree VALUES ('6734', '3', '263', '280', '6733', '264'); -INSERT INTO cp_tree VALUES ('6735', '3', '265', '280', '6733', '266'); -INSERT INTO cp_tree VALUES ('6736', '3', '267', '280', '6733', '268'); -INSERT INTO cp_tree VALUES ('6737', '3', '269', '280', '6733', '270'); -INSERT INTO cp_tree VALUES ('6738', '3', '271', '280', '6733', '272'); -INSERT INTO cp_tree VALUES ('6739', '3', '273', '280', '6733', '274'); -INSERT INTO cp_tree VALUES ('6740', '3', '275', '280', '6733', '276'); -INSERT INTO cp_tree VALUES ('6741', '3', '277', '280', '6733', '278'); -INSERT INTO cp_tree VALUES ('6742', '3', '279', '280', '6733', '280'); -INSERT INTO cp_tree VALUES ('6743', '3', '281', '280', '6733', '282'); -INSERT INTO cp_tree VALUES ('6744', '3', '283', '280', '6733', '284'); -INSERT INTO cp_tree VALUES ('6745', '3', '285', '280', '6733', '286'); -INSERT INTO cp_tree VALUES ('6746', '3', '287', '280', '6733', '288'); -INSERT INTO cp_tree VALUES ('6747', '3', '289', '280', '6733', '290'); -INSERT INTO cp_tree VALUES ('6748', '3', '291', '280', '6733', '292'); -INSERT INTO cp_tree VALUES ('6749', '3', '293', '280', '6733', '294'); -INSERT INTO cp_tree VALUES ('6750', '3', '295', '280', '6733', '296'); -INSERT INTO cp_tree VALUES ('6751', '3', '297', '280', '6733', '298'); -INSERT INTO cp_tree VALUES ('6752', '3', '299', '280', '6733', '300'); -INSERT INTO cp_tree VALUES ('6753', '3', '301', '280', '6733', '302'); -INSERT INTO cp_tree VALUES ('6754', '3', '303', '280', '6733', '304'); -INSERT INTO cp_tree VALUES ('6755', '3', '305', '280', '6733', '306'); -INSERT INTO cp_tree VALUES ('6756', '3', '307', '280', '6733', '308'); -INSERT INTO cp_tree VALUES ('6757', '3', '309', '280', '6733', '310'); -INSERT INTO cp_tree VALUES ('6758', '3', '311', '280', '6733', '312'); -INSERT INTO cp_tree VALUES ('6759', '3', '313', '280', '6733', '314'); -INSERT INTO cp_tree VALUES ('6760', '3', '315', '280', '6733', '316'); -INSERT INTO cp_tree VALUES ('6761', '3', '317', '280', '6733', '318'); -INSERT INTO cp_tree VALUES ('6762', '3', '319', '280', '6733', '320'); -INSERT INTO cp_tree VALUES ('6763', '3', '321', '280', '6733', '322'); -INSERT INTO cp_tree VALUES ('6764', '3', '323', '280', '6733', '324'); -INSERT INTO cp_tree VALUES ('6765', '3', '325', '280', '6733', '326'); -INSERT INTO cp_tree VALUES ('6766', '3', '327', '280', '6733', '328'); -INSERT INTO cp_tree VALUES ('6767', '3', '329', '280', '6733', '330'); -INSERT INTO cp_tree VALUES ('6768', '3', '331', '280', '6733', '332'); -INSERT INTO cp_tree VALUES ('6769', '3', '333', '280', '6733', '334'); -INSERT INTO cp_tree VALUES ('6770', '3', '335', '280', '6733', '336'); -INSERT INTO cp_tree VALUES ('6771', '3', '337', '280', '6733', '338'); -INSERT INTO cp_tree VALUES ('6772', '3', '339', '280', '6733', '340'); -INSERT INTO cp_tree VALUES ('6773', '3', '341', '280', '6733', '342'); -INSERT INTO cp_tree VALUES ('6774', '3', '343', '280', '6733', '344'); -INSERT INTO cp_tree VALUES ('6775', '3', '345', '280', '6733', '346'); -INSERT INTO cp_tree VALUES ('6776', '3', '347', '280', '6733', '348'); -INSERT INTO cp_tree VALUES ('6777', '3', '349', '280', '6733', '350'); -INSERT INTO cp_tree VALUES ('6778', '3', '351', '280', '6733', '352'); -INSERT INTO cp_tree VALUES ('6779', '2', '354', '280', '6602', '361'); -INSERT INTO cp_tree VALUES ('6780', '3', '355', '280', '6779', '356'); -INSERT INTO cp_tree VALUES ('6781', '3', '357', '280', '6779', '358'); -INSERT INTO cp_tree VALUES ('6782', '3', '359', '280', '6779', '360'); -INSERT INTO cp_tree VALUES ('6783', '2', '362', '280', '6602', '369'); -INSERT INTO cp_tree VALUES ('6784', '3', '363', '280', '6783', '364'); -INSERT INTO cp_tree VALUES ('6785', '3', '365', '280', '6783', '366'); -INSERT INTO cp_tree VALUES ('6786', '3', '367', '280', '6783', '368'); -INSERT INTO cp_tree VALUES ('6787', '2', '370', '280', '6602', '377'); -INSERT INTO cp_tree VALUES ('6788', '3', '371', '280', '6787', '372'); -INSERT INTO cp_tree VALUES ('6789', '3', '373', '280', '6787', '374'); -INSERT INTO cp_tree VALUES ('6790', '3', '375', '280', '6787', '376'); -INSERT INTO cp_tree VALUES ('6791', '2', '378', '280', '6602', '385'); -INSERT INTO cp_tree VALUES ('6792', '3', '379', '280', '6791', '380'); -INSERT INTO cp_tree VALUES ('6793', '3', '381', '280', '6791', '382'); -INSERT INTO cp_tree VALUES ('6794', '3', '383', '280', '6791', '384'); -INSERT INTO cp_tree VALUES ('6795', '2', '386', '280', '6602', '393'); -INSERT INTO cp_tree VALUES ('6796', '3', '387', '280', '6795', '388'); -INSERT INTO cp_tree VALUES ('6797', '3', '389', '280', '6795', '390'); -INSERT INTO cp_tree VALUES ('6798', '3', '391', '280', '6795', '392'); -INSERT INTO cp_tree VALUES ('6799', '2', '394', '280', '6602', '401'); -INSERT INTO cp_tree VALUES ('6800', '3', '395', '280', '6799', '396'); -INSERT INTO cp_tree VALUES ('6801', '3', '397', '280', '6799', '398'); -INSERT INTO cp_tree VALUES ('6802', '3', '399', '280', '6799', '400'); -INSERT INTO cp_tree VALUES ('6803', '2', '402', '280', '6602', '409'); -INSERT INTO cp_tree VALUES ('6804', '3', '403', '280', '6803', '404'); -INSERT INTO cp_tree VALUES ('6805', '3', '405', '280', '6803', '406'); -INSERT INTO cp_tree VALUES ('6806', '3', '407', '280', '6803', '408'); -INSERT INTO cp_tree VALUES ('6807', '2', '410', '280', '6602', '417'); -INSERT INTO cp_tree VALUES ('6808', '3', '411', '280', '6807', '412'); -INSERT INTO cp_tree VALUES ('6809', '3', '413', '280', '6807', '414'); -INSERT INTO cp_tree VALUES ('6810', '3', '415', '280', '6807', '416'); -INSERT INTO cp_tree VALUES ('6811', '2', '418', '280', '6602', '425'); -INSERT INTO cp_tree VALUES ('6812', '3', '419', '280', '6811', '420'); -INSERT INTO cp_tree VALUES ('6813', '3', '421', '280', '6811', '422'); -INSERT INTO cp_tree VALUES ('6814', '3', '423', '280', '6811', '424'); -INSERT INTO cp_tree VALUES ('6815', '2', '426', '280', '6602', '427'); -INSERT INTO cp_tree VALUES ('6816', '2', '428', '280', '6602', '429'); -INSERT INTO cp_tree VALUES ('6817', '2', '430', '280', '6602', '431'); -INSERT INTO cp_tree VALUES ('6818', '2', '432', '280', '6602', '433'); -INSERT INTO cp_tree VALUES ('6819', '2', '434', '280', '6602', '441'); -INSERT INTO cp_tree VALUES ('6820', '3', '435', '280', '6819', '438'); -INSERT INTO cp_tree VALUES ('6821', '4', '436', '280', '6820', '437'); -INSERT INTO cp_tree VALUES ('6822', '3', '439', '280', '6819', '440'); -INSERT INTO cp_tree VALUES ('6823', '2', '442', '280', '6602', '455'); -INSERT INTO cp_tree VALUES ('6824', '3', '443', '280', '6823', '446'); -INSERT INTO cp_tree VALUES ('6825', '4', '444', '280', '6824', '445'); -INSERT INTO cp_tree VALUES ('6826', '3', '447', '280', '6823', '450'); -INSERT INTO cp_tree VALUES ('6827', '4', '448', '280', '6826', '449'); -INSERT INTO cp_tree VALUES ('6828', '3', '451', '280', '6823', '454'); -INSERT INTO cp_tree VALUES ('6829', '4', '452', '280', '6828', '453'); -INSERT INTO cp_tree VALUES ('6830', '1', '1', '281', '0', '202'); -INSERT INTO cp_tree VALUES ('6831', '2', '2', '281', '6830', '29'); -INSERT INTO cp_tree VALUES ('6832', '3', '3', '281', '6831', '4'); -INSERT INTO cp_tree VALUES ('6833', '3', '5', '281', '6831', '18'); -INSERT INTO cp_tree VALUES ('6834', '4', '6', '281', '6833', '15'); -INSERT INTO cp_tree VALUES ('6835', '5', '7', '281', '6834', '8'); -INSERT INTO cp_tree VALUES ('6836', '5', '9', '281', '6834', '10'); -INSERT INTO cp_tree VALUES ('6837', '5', '11', '281', '6834', '12'); -INSERT INTO cp_tree VALUES ('6838', '5', '13', '281', '6834', '14'); -INSERT INTO cp_tree VALUES ('6839', '4', '16', '281', '6833', '17'); -INSERT INTO cp_tree VALUES ('6840', '3', '19', '281', '6831', '26'); -INSERT INTO cp_tree VALUES ('6841', '4', '20', '281', '6840', '21'); -INSERT INTO cp_tree VALUES ('6842', '4', '22', '281', '6840', '23'); -INSERT INTO cp_tree VALUES ('6843', '4', '24', '281', '6840', '25'); -INSERT INTO cp_tree VALUES ('6844', '3', '27', '281', '6831', '28'); -INSERT INTO cp_tree VALUES ('6845', '2', '30', '281', '6830', '33'); -INSERT INTO cp_tree VALUES ('6846', '3', '31', '281', '6845', '32'); -INSERT INTO cp_tree VALUES ('6847', '2', '34', '281', '6830', '49'); -INSERT INTO cp_tree VALUES ('6848', '3', '35', '281', '6847', '36'); -INSERT INTO cp_tree VALUES ('6849', '3', '37', '281', '6847', '38'); -INSERT INTO cp_tree VALUES ('6850', '3', '39', '281', '6847', '40'); -INSERT INTO cp_tree VALUES ('6851', '3', '41', '281', '6847', '42'); -INSERT INTO cp_tree VALUES ('6852', '3', '43', '281', '6847', '44'); -INSERT INTO cp_tree VALUES ('6853', '3', '45', '281', '6847', '46'); -INSERT INTO cp_tree VALUES ('6854', '3', '47', '281', '6847', '48'); -INSERT INTO cp_tree VALUES ('6855', '2', '50', '281', '6830', '63'); -INSERT INTO cp_tree VALUES ('6856', '3', '51', '281', '6855', '52'); -INSERT INTO cp_tree VALUES ('6857', '3', '53', '281', '6855', '54'); -INSERT INTO cp_tree VALUES ('6858', '3', '55', '281', '6855', '56'); -INSERT INTO cp_tree VALUES ('6859', '3', '57', '281', '6855', '58'); -INSERT INTO cp_tree VALUES ('6860', '3', '59', '281', '6855', '60'); -INSERT INTO cp_tree VALUES ('6861', '3', '61', '281', '6855', '62'); -INSERT INTO cp_tree VALUES ('6862', '2', '64', '281', '6830', '79'); -INSERT INTO cp_tree VALUES ('6863', '3', '65', '281', '6862', '66'); -INSERT INTO cp_tree VALUES ('6864', '3', '67', '281', '6862', '68'); -INSERT INTO cp_tree VALUES ('6865', '3', '69', '281', '6862', '70'); -INSERT INTO cp_tree VALUES ('6866', '3', '71', '281', '6862', '72'); -INSERT INTO cp_tree VALUES ('6867', '3', '73', '281', '6862', '74'); -INSERT INTO cp_tree VALUES ('6868', '3', '75', '281', '6862', '76'); -INSERT INTO cp_tree VALUES ('6869', '3', '77', '281', '6862', '78'); -INSERT INTO cp_tree VALUES ('6870', '2', '80', '281', '6830', '95'); -INSERT INTO cp_tree VALUES ('6871', '3', '81', '281', '6870', '82'); -INSERT INTO cp_tree VALUES ('6872', '3', '83', '281', '6870', '84'); -INSERT INTO cp_tree VALUES ('6873', '3', '85', '281', '6870', '86'); -INSERT INTO cp_tree VALUES ('6874', '3', '87', '281', '6870', '88'); -INSERT INTO cp_tree VALUES ('6875', '3', '89', '281', '6870', '90'); -INSERT INTO cp_tree VALUES ('6876', '3', '91', '281', '6870', '92'); -INSERT INTO cp_tree VALUES ('6877', '3', '93', '281', '6870', '94'); -INSERT INTO cp_tree VALUES ('6878', '2', '96', '281', '6830', '109'); -INSERT INTO cp_tree VALUES ('6879', '3', '97', '281', '6878', '98'); -INSERT INTO cp_tree VALUES ('6880', '3', '99', '281', '6878', '100'); -INSERT INTO cp_tree VALUES ('6881', '3', '101', '281', '6878', '102'); -INSERT INTO cp_tree VALUES ('6882', '3', '103', '281', '6878', '104'); -INSERT INTO cp_tree VALUES ('6883', '3', '105', '281', '6878', '106'); -INSERT INTO cp_tree VALUES ('6884', '3', '107', '281', '6878', '108'); -INSERT INTO cp_tree VALUES ('6885', '2', '110', '281', '6830', '123'); -INSERT INTO cp_tree VALUES ('6886', '3', '111', '281', '6885', '112'); -INSERT INTO cp_tree VALUES ('6887', '3', '113', '281', '6885', '114'); -INSERT INTO cp_tree VALUES ('6888', '3', '115', '281', '6885', '116'); -INSERT INTO cp_tree VALUES ('6889', '3', '117', '281', '6885', '118'); -INSERT INTO cp_tree VALUES ('6890', '3', '119', '281', '6885', '120'); -INSERT INTO cp_tree VALUES ('6891', '3', '121', '281', '6885', '122'); -INSERT INTO cp_tree VALUES ('6892', '2', '124', '281', '6830', '137'); -INSERT INTO cp_tree VALUES ('6893', '3', '125', '281', '6892', '126'); -INSERT INTO cp_tree VALUES ('6894', '3', '127', '281', '6892', '128'); -INSERT INTO cp_tree VALUES ('6895', '3', '129', '281', '6892', '130'); -INSERT INTO cp_tree VALUES ('6896', '3', '131', '281', '6892', '132'); -INSERT INTO cp_tree VALUES ('6897', '3', '133', '281', '6892', '134'); -INSERT INTO cp_tree VALUES ('6898', '3', '135', '281', '6892', '136'); -INSERT INTO cp_tree VALUES ('6899', '2', '138', '281', '6830', '139'); -INSERT INTO cp_tree VALUES ('6900', '2', '140', '281', '6830', '145'); -INSERT INTO cp_tree VALUES ('6901', '3', '141', '281', '6900', '144'); -INSERT INTO cp_tree VALUES ('6902', '4', '142', '281', '6901', '143'); -INSERT INTO cp_tree VALUES ('6903', '2', '146', '281', '6830', '151'); -INSERT INTO cp_tree VALUES ('6904', '3', '147', '281', '6903', '150'); -INSERT INTO cp_tree VALUES ('6905', '4', '148', '281', '6904', '149'); -INSERT INTO cp_tree VALUES ('6906', '2', '152', '281', '6830', '157'); -INSERT INTO cp_tree VALUES ('6907', '3', '153', '281', '6906', '156'); -INSERT INTO cp_tree VALUES ('6908', '4', '154', '281', '6907', '155'); -INSERT INTO cp_tree VALUES ('6909', '2', '158', '281', '6830', '163'); -INSERT INTO cp_tree VALUES ('6910', '3', '159', '281', '6909', '162'); -INSERT INTO cp_tree VALUES ('6911', '4', '160', '281', '6910', '161'); -INSERT INTO cp_tree VALUES ('6912', '2', '164', '281', '6830', '171'); -INSERT INTO cp_tree VALUES ('6913', '3', '165', '281', '6912', '170'); -INSERT INTO cp_tree VALUES ('6914', '4', '166', '281', '6913', '167'); -INSERT INTO cp_tree VALUES ('6915', '4', '168', '281', '6913', '169'); -INSERT INTO cp_tree VALUES ('6916', '2', '172', '281', '6830', '177'); -INSERT INTO cp_tree VALUES ('6917', '3', '173', '281', '6916', '176'); -INSERT INTO cp_tree VALUES ('6918', '4', '174', '281', '6917', '175'); -INSERT INTO cp_tree VALUES ('6919', '2', '178', '281', '6830', '185'); -INSERT INTO cp_tree VALUES ('6920', '3', '179', '281', '6919', '184'); -INSERT INTO cp_tree VALUES ('6921', '4', '180', '281', '6920', '181'); -INSERT INTO cp_tree VALUES ('6922', '4', '182', '281', '6920', '183'); -INSERT INTO cp_tree VALUES ('6923', '2', '186', '281', '6830', '201'); -INSERT INTO cp_tree VALUES ('6924', '3', '187', '281', '6923', '188'); -INSERT INTO cp_tree VALUES ('6925', '3', '189', '281', '6923', '192'); -INSERT INTO cp_tree VALUES ('6926', '4', '190', '281', '6925', '191'); -INSERT INTO cp_tree VALUES ('6927', '3', '193', '281', '6923', '196'); -INSERT INTO cp_tree VALUES ('6928', '4', '194', '281', '6927', '195'); -INSERT INTO cp_tree VALUES ('6929', '3', '197', '281', '6923', '200'); -INSERT INTO cp_tree VALUES ('6930', '4', '198', '281', '6929', '199'); -INSERT INTO cp_tree VALUES ('6931', '1', '1', '283', '0', '202'); -INSERT INTO cp_tree VALUES ('6932', '2', '2', '283', '6931', '29'); -INSERT INTO cp_tree VALUES ('6933', '3', '3', '283', '6932', '4'); -INSERT INTO cp_tree VALUES ('6934', '3', '5', '283', '6932', '18'); -INSERT INTO cp_tree VALUES ('6935', '4', '6', '283', '6934', '15'); -INSERT INTO cp_tree VALUES ('6936', '5', '7', '283', '6935', '8'); -INSERT INTO cp_tree VALUES ('6937', '5', '9', '283', '6935', '10'); -INSERT INTO cp_tree VALUES ('6938', '5', '11', '283', '6935', '12'); -INSERT INTO cp_tree VALUES ('6939', '5', '13', '283', '6935', '14'); -INSERT INTO cp_tree VALUES ('6940', '4', '16', '283', '6934', '17'); -INSERT INTO cp_tree VALUES ('6941', '3', '19', '283', '6932', '26'); -INSERT INTO cp_tree VALUES ('6942', '4', '20', '283', '6941', '21'); -INSERT INTO cp_tree VALUES ('6943', '4', '22', '283', '6941', '23'); -INSERT INTO cp_tree VALUES ('6944', '4', '24', '283', '6941', '25'); -INSERT INTO cp_tree VALUES ('6945', '3', '27', '283', '6932', '28'); -INSERT INTO cp_tree VALUES ('6946', '2', '30', '283', '6931', '33'); -INSERT INTO cp_tree VALUES ('6947', '3', '31', '283', '6946', '32'); -INSERT INTO cp_tree VALUES ('6948', '2', '34', '283', '6931', '49'); -INSERT INTO cp_tree VALUES ('6949', '3', '35', '283', '6948', '36'); -INSERT INTO cp_tree VALUES ('6950', '3', '37', '283', '6948', '38'); -INSERT INTO cp_tree VALUES ('6951', '3', '39', '283', '6948', '40'); -INSERT INTO cp_tree VALUES ('6952', '3', '41', '283', '6948', '42'); -INSERT INTO cp_tree VALUES ('6953', '3', '43', '283', '6948', '44'); -INSERT INTO cp_tree VALUES ('6954', '3', '45', '283', '6948', '46'); -INSERT INTO cp_tree VALUES ('6955', '3', '47', '283', '6948', '48'); -INSERT INTO cp_tree VALUES ('6956', '2', '50', '283', '6931', '63'); -INSERT INTO cp_tree VALUES ('6957', '3', '51', '283', '6956', '52'); -INSERT INTO cp_tree VALUES ('6958', '3', '53', '283', '6956', '54'); -INSERT INTO cp_tree VALUES ('6959', '3', '55', '283', '6956', '56'); -INSERT INTO cp_tree VALUES ('6960', '3', '57', '283', '6956', '58'); -INSERT INTO cp_tree VALUES ('6961', '3', '59', '283', '6956', '60'); -INSERT INTO cp_tree VALUES ('6962', '3', '61', '283', '6956', '62'); -INSERT INTO cp_tree VALUES ('6963', '2', '64', '283', '6931', '79'); -INSERT INTO cp_tree VALUES ('6964', '3', '65', '283', '6963', '66'); -INSERT INTO cp_tree VALUES ('6965', '3', '67', '283', '6963', '68'); -INSERT INTO cp_tree VALUES ('6966', '3', '69', '283', '6963', '70'); -INSERT INTO cp_tree VALUES ('6967', '3', '71', '283', '6963', '72'); -INSERT INTO cp_tree VALUES ('6968', '3', '73', '283', '6963', '74'); -INSERT INTO cp_tree VALUES ('6969', '3', '75', '283', '6963', '76'); -INSERT INTO cp_tree VALUES ('6970', '3', '77', '283', '6963', '78'); -INSERT INTO cp_tree VALUES ('6971', '2', '80', '283', '6931', '95'); -INSERT INTO cp_tree VALUES ('6972', '3', '81', '283', '6971', '82'); -INSERT INTO cp_tree VALUES ('6973', '3', '83', '283', '6971', '84'); -INSERT INTO cp_tree VALUES ('6974', '3', '85', '283', '6971', '86'); -INSERT INTO cp_tree VALUES ('6975', '3', '87', '283', '6971', '88'); -INSERT INTO cp_tree VALUES ('6976', '3', '89', '283', '6971', '90'); -INSERT INTO cp_tree VALUES ('6977', '3', '91', '283', '6971', '92'); -INSERT INTO cp_tree VALUES ('6978', '3', '93', '283', '6971', '94'); -INSERT INTO cp_tree VALUES ('6979', '2', '96', '283', '6931', '109'); -INSERT INTO cp_tree VALUES ('6980', '3', '97', '283', '6979', '98'); -INSERT INTO cp_tree VALUES ('6981', '3', '99', '283', '6979', '100'); -INSERT INTO cp_tree VALUES ('6982', '3', '101', '283', '6979', '102'); -INSERT INTO cp_tree VALUES ('6983', '3', '103', '283', '6979', '104'); -INSERT INTO cp_tree VALUES ('6984', '3', '105', '283', '6979', '106'); -INSERT INTO cp_tree VALUES ('6985', '3', '107', '283', '6979', '108'); -INSERT INTO cp_tree VALUES ('6986', '2', '110', '283', '6931', '123'); -INSERT INTO cp_tree VALUES ('6987', '3', '111', '283', '6986', '112'); -INSERT INTO cp_tree VALUES ('6988', '3', '113', '283', '6986', '114'); -INSERT INTO cp_tree VALUES ('6989', '3', '115', '283', '6986', '116'); -INSERT INTO cp_tree VALUES ('6990', '3', '117', '283', '6986', '118'); -INSERT INTO cp_tree VALUES ('6991', '3', '119', '283', '6986', '120'); -INSERT INTO cp_tree VALUES ('6992', '3', '121', '283', '6986', '122'); -INSERT INTO cp_tree VALUES ('6993', '2', '124', '283', '6931', '137'); -INSERT INTO cp_tree VALUES ('6994', '3', '125', '283', '6993', '126'); -INSERT INTO cp_tree VALUES ('6995', '3', '127', '283', '6993', '128'); -INSERT INTO cp_tree VALUES ('6996', '3', '129', '283', '6993', '130'); -INSERT INTO cp_tree VALUES ('6997', '3', '131', '283', '6993', '132'); -INSERT INTO cp_tree VALUES ('6998', '3', '133', '283', '6993', '134'); -INSERT INTO cp_tree VALUES ('6999', '3', '135', '283', '6993', '136'); -INSERT INTO cp_tree VALUES ('7000', '2', '138', '283', '6931', '139'); -INSERT INTO cp_tree VALUES ('7001', '2', '140', '283', '6931', '145'); -INSERT INTO cp_tree VALUES ('7002', '3', '141', '283', '7001', '144'); -INSERT INTO cp_tree VALUES ('7003', '4', '142', '283', '7002', '143'); -INSERT INTO cp_tree VALUES ('7004', '2', '146', '283', '6931', '151'); -INSERT INTO cp_tree VALUES ('7005', '3', '147', '283', '7004', '150'); -INSERT INTO cp_tree VALUES ('7006', '4', '148', '283', '7005', '149'); -INSERT INTO cp_tree VALUES ('7007', '2', '152', '283', '6931', '157'); -INSERT INTO cp_tree VALUES ('7008', '3', '153', '283', '7007', '156'); -INSERT INTO cp_tree VALUES ('7009', '4', '154', '283', '7008', '155'); -INSERT INTO cp_tree VALUES ('7010', '2', '158', '283', '6931', '163'); -INSERT INTO cp_tree VALUES ('7011', '3', '159', '283', '7010', '162'); -INSERT INTO cp_tree VALUES ('7012', '4', '160', '283', '7011', '161'); -INSERT INTO cp_tree VALUES ('7013', '2', '164', '283', '6931', '171'); -INSERT INTO cp_tree VALUES ('7014', '3', '165', '283', '7013', '170'); -INSERT INTO cp_tree VALUES ('7015', '4', '166', '283', '7014', '167'); -INSERT INTO cp_tree VALUES ('7016', '4', '168', '283', '7014', '169'); -INSERT INTO cp_tree VALUES ('7017', '2', '172', '283', '6931', '177'); -INSERT INTO cp_tree VALUES ('7018', '3', '173', '283', '7017', '176'); -INSERT INTO cp_tree VALUES ('7019', '4', '174', '283', '7018', '175'); -INSERT INTO cp_tree VALUES ('7020', '2', '178', '283', '6931', '185'); -INSERT INTO cp_tree VALUES ('7021', '3', '179', '283', '7020', '184'); -INSERT INTO cp_tree VALUES ('7022', '4', '180', '283', '7021', '181'); -INSERT INTO cp_tree VALUES ('7023', '4', '182', '283', '7021', '183'); -INSERT INTO cp_tree VALUES ('7024', '2', '186', '283', '6931', '201'); -INSERT INTO cp_tree VALUES ('7025', '3', '187', '283', '7024', '188'); -INSERT INTO cp_tree VALUES ('7026', '3', '189', '283', '7024', '192'); -INSERT INTO cp_tree VALUES ('7027', '4', '190', '283', '7026', '191'); -INSERT INTO cp_tree VALUES ('7028', '3', '193', '283', '7024', '196'); -INSERT INTO cp_tree VALUES ('7029', '4', '194', '283', '7028', '195'); -INSERT INTO cp_tree VALUES ('7030', '3', '197', '283', '7024', '200'); -INSERT INTO cp_tree VALUES ('7031', '4', '198', '283', '7030', '199'); -INSERT INTO cp_tree VALUES ('7032', '1', '1', '284', '0', '1290'); -INSERT INTO cp_tree VALUES ('7033', '2', '2', '284', '7032', '19'); -INSERT INTO cp_tree VALUES ('7034', '3', '3', '284', '7033', '18'); -INSERT INTO cp_tree VALUES ('7035', '4', '4', '284', '7034', '5'); -INSERT INTO cp_tree VALUES ('7036', '4', '6', '284', '7034', '7'); -INSERT INTO cp_tree VALUES ('7037', '4', '8', '284', '7034', '9'); -INSERT INTO cp_tree VALUES ('7038', '4', '10', '284', '7034', '11'); -INSERT INTO cp_tree VALUES ('7039', '4', '12', '284', '7034', '13'); -INSERT INTO cp_tree VALUES ('7040', '4', '14', '284', '7034', '15'); -INSERT INTO cp_tree VALUES ('7041', '4', '16', '284', '7034', '17'); -INSERT INTO cp_tree VALUES ('7042', '2', '20', '284', '7032', '29'); -INSERT INTO cp_tree VALUES ('7043', '3', '21', '284', '7042', '22'); -INSERT INTO cp_tree VALUES ('7044', '3', '23', '284', '7042', '24'); -INSERT INTO cp_tree VALUES ('7045', '3', '25', '284', '7042', '26'); -INSERT INTO cp_tree VALUES ('7046', '3', '27', '284', '7042', '28'); -INSERT INTO cp_tree VALUES ('7047', '2', '30', '284', '7032', '39'); -INSERT INTO cp_tree VALUES ('7048', '3', '31', '284', '7047', '32'); -INSERT INTO cp_tree VALUES ('7049', '3', '33', '284', '7047', '34'); -INSERT INTO cp_tree VALUES ('7050', '3', '35', '284', '7047', '36'); -INSERT INTO cp_tree VALUES ('7051', '3', '37', '284', '7047', '38'); -INSERT INTO cp_tree VALUES ('7052', '2', '40', '284', '7032', '49'); -INSERT INTO cp_tree VALUES ('7053', '3', '41', '284', '7052', '42'); -INSERT INTO cp_tree VALUES ('7054', '3', '43', '284', '7052', '44'); -INSERT INTO cp_tree VALUES ('7055', '3', '45', '284', '7052', '46'); -INSERT INTO cp_tree VALUES ('7056', '3', '47', '284', '7052', '48'); -INSERT INTO cp_tree VALUES ('7057', '2', '50', '284', '7032', '59'); -INSERT INTO cp_tree VALUES ('7058', '3', '51', '284', '7057', '52'); -INSERT INTO cp_tree VALUES ('7059', '3', '53', '284', '7057', '54'); -INSERT INTO cp_tree VALUES ('7060', '3', '55', '284', '7057', '56'); -INSERT INTO cp_tree VALUES ('7061', '3', '57', '284', '7057', '58'); -INSERT INTO cp_tree VALUES ('7062', '2', '60', '284', '7032', '69'); -INSERT INTO cp_tree VALUES ('7063', '3', '61', '284', '7062', '62'); -INSERT INTO cp_tree VALUES ('7064', '3', '63', '284', '7062', '64'); -INSERT INTO cp_tree VALUES ('7065', '3', '65', '284', '7062', '66'); -INSERT INTO cp_tree VALUES ('7066', '3', '67', '284', '7062', '68'); -INSERT INTO cp_tree VALUES ('7067', '2', '70', '284', '7032', '79'); -INSERT INTO cp_tree VALUES ('7068', '3', '71', '284', '7067', '72'); -INSERT INTO cp_tree VALUES ('7069', '3', '73', '284', '7067', '74'); -INSERT INTO cp_tree VALUES ('7070', '3', '75', '284', '7067', '76'); -INSERT INTO cp_tree VALUES ('7071', '3', '77', '284', '7067', '78'); -INSERT INTO cp_tree VALUES ('7072', '2', '80', '284', '7032', '89'); -INSERT INTO cp_tree VALUES ('7073', '3', '81', '284', '7072', '82'); -INSERT INTO cp_tree VALUES ('7074', '3', '83', '284', '7072', '84'); -INSERT INTO cp_tree VALUES ('7075', '3', '85', '284', '7072', '86'); -INSERT INTO cp_tree VALUES ('7076', '3', '87', '284', '7072', '88'); -INSERT INTO cp_tree VALUES ('7077', '2', '90', '284', '7032', '97'); -INSERT INTO cp_tree VALUES ('7078', '3', '91', '284', '7077', '92'); -INSERT INTO cp_tree VALUES ('7079', '3', '93', '284', '7077', '94'); -INSERT INTO cp_tree VALUES ('7080', '3', '95', '284', '7077', '96'); -INSERT INTO cp_tree VALUES ('7081', '2', '98', '284', '7032', '121'); -INSERT INTO cp_tree VALUES ('7082', '3', '99', '284', '7081', '100'); -INSERT INTO cp_tree VALUES ('7083', '3', '101', '284', '7081', '102'); -INSERT INTO cp_tree VALUES ('7084', '3', '103', '284', '7081', '104'); -INSERT INTO cp_tree VALUES ('7085', '3', '105', '284', '7081', '106'); -INSERT INTO cp_tree VALUES ('7086', '3', '107', '284', '7081', '108'); -INSERT INTO cp_tree VALUES ('7087', '3', '109', '284', '7081', '110'); -INSERT INTO cp_tree VALUES ('7088', '3', '111', '284', '7081', '112'); -INSERT INTO cp_tree VALUES ('7089', '3', '113', '284', '7081', '114'); -INSERT INTO cp_tree VALUES ('7090', '3', '115', '284', '7081', '116'); -INSERT INTO cp_tree VALUES ('7091', '3', '117', '284', '7081', '118'); -INSERT INTO cp_tree VALUES ('7092', '3', '119', '284', '7081', '120'); -INSERT INTO cp_tree VALUES ('7093', '2', '122', '284', '7032', '125'); -INSERT INTO cp_tree VALUES ('7094', '3', '123', '284', '7093', '124'); -INSERT INTO cp_tree VALUES ('7095', '2', '126', '284', '7032', '263'); -INSERT INTO cp_tree VALUES ('7096', '3', '127', '284', '7095', '128'); -INSERT INTO cp_tree VALUES ('7097', '3', '129', '284', '7095', '130'); -INSERT INTO cp_tree VALUES ('7098', '3', '131', '284', '7095', '132'); -INSERT INTO cp_tree VALUES ('7099', '3', '133', '284', '7095', '134'); -INSERT INTO cp_tree VALUES ('7100', '3', '135', '284', '7095', '136'); -INSERT INTO cp_tree VALUES ('7101', '3', '137', '284', '7095', '138'); -INSERT INTO cp_tree VALUES ('7102', '3', '139', '284', '7095', '140'); -INSERT INTO cp_tree VALUES ('7103', '3', '141', '284', '7095', '142'); -INSERT INTO cp_tree VALUES ('7104', '3', '143', '284', '7095', '144'); -INSERT INTO cp_tree VALUES ('7105', '3', '145', '284', '7095', '146'); -INSERT INTO cp_tree VALUES ('7106', '3', '147', '284', '7095', '148'); -INSERT INTO cp_tree VALUES ('7107', '3', '149', '284', '7095', '150'); -INSERT INTO cp_tree VALUES ('7108', '3', '151', '284', '7095', '152'); -INSERT INTO cp_tree VALUES ('7109', '3', '153', '284', '7095', '154'); -INSERT INTO cp_tree VALUES ('7110', '3', '155', '284', '7095', '156'); -INSERT INTO cp_tree VALUES ('7111', '3', '157', '284', '7095', '158'); -INSERT INTO cp_tree VALUES ('7112', '3', '159', '284', '7095', '160'); -INSERT INTO cp_tree VALUES ('7113', '3', '161', '284', '7095', '162'); -INSERT INTO cp_tree VALUES ('7114', '3', '163', '284', '7095', '164'); -INSERT INTO cp_tree VALUES ('7115', '3', '165', '284', '7095', '166'); -INSERT INTO cp_tree VALUES ('7116', '3', '167', '284', '7095', '168'); -INSERT INTO cp_tree VALUES ('7117', '3', '169', '284', '7095', '170'); -INSERT INTO cp_tree VALUES ('7118', '3', '171', '284', '7095', '172'); -INSERT INTO cp_tree VALUES ('7119', '3', '173', '284', '7095', '174'); -INSERT INTO cp_tree VALUES ('7120', '3', '175', '284', '7095', '176'); -INSERT INTO cp_tree VALUES ('7121', '3', '177', '284', '7095', '178'); -INSERT INTO cp_tree VALUES ('7122', '3', '179', '284', '7095', '180'); -INSERT INTO cp_tree VALUES ('7123', '3', '181', '284', '7095', '182'); -INSERT INTO cp_tree VALUES ('7124', '3', '183', '284', '7095', '184'); -INSERT INTO cp_tree VALUES ('7125', '3', '185', '284', '7095', '186'); -INSERT INTO cp_tree VALUES ('7126', '3', '187', '284', '7095', '188'); -INSERT INTO cp_tree VALUES ('7127', '3', '189', '284', '7095', '190'); -INSERT INTO cp_tree VALUES ('7128', '3', '191', '284', '7095', '192'); -INSERT INTO cp_tree VALUES ('7129', '3', '193', '284', '7095', '194'); -INSERT INTO cp_tree VALUES ('7130', '3', '195', '284', '7095', '196'); -INSERT INTO cp_tree VALUES ('7131', '3', '197', '284', '7095', '198'); -INSERT INTO cp_tree VALUES ('7132', '3', '199', '284', '7095', '200'); -INSERT INTO cp_tree VALUES ('7133', '3', '201', '284', '7095', '202'); -INSERT INTO cp_tree VALUES ('7134', '3', '203', '284', '7095', '204'); -INSERT INTO cp_tree VALUES ('7135', '3', '205', '284', '7095', '206'); -INSERT INTO cp_tree VALUES ('7136', '3', '207', '284', '7095', '208'); -INSERT INTO cp_tree VALUES ('7137', '3', '209', '284', '7095', '210'); -INSERT INTO cp_tree VALUES ('7138', '3', '211', '284', '7095', '212'); -INSERT INTO cp_tree VALUES ('7139', '3', '213', '284', '7095', '214'); -INSERT INTO cp_tree VALUES ('7140', '3', '215', '284', '7095', '216'); -INSERT INTO cp_tree VALUES ('7141', '3', '217', '284', '7095', '218'); -INSERT INTO cp_tree VALUES ('7142', '3', '219', '284', '7095', '220'); -INSERT INTO cp_tree VALUES ('7143', '3', '221', '284', '7095', '222'); -INSERT INTO cp_tree VALUES ('7144', '3', '223', '284', '7095', '224'); -INSERT INTO cp_tree VALUES ('7145', '3', '225', '284', '7095', '226'); -INSERT INTO cp_tree VALUES ('7146', '3', '227', '284', '7095', '228'); -INSERT INTO cp_tree VALUES ('7147', '3', '229', '284', '7095', '230'); -INSERT INTO cp_tree VALUES ('7148', '3', '231', '284', '7095', '232'); -INSERT INTO cp_tree VALUES ('7149', '3', '233', '284', '7095', '234'); -INSERT INTO cp_tree VALUES ('7150', '3', '235', '284', '7095', '236'); -INSERT INTO cp_tree VALUES ('7151', '3', '237', '284', '7095', '238'); -INSERT INTO cp_tree VALUES ('7152', '3', '239', '284', '7095', '240'); -INSERT INTO cp_tree VALUES ('7153', '3', '241', '284', '7095', '242'); -INSERT INTO cp_tree VALUES ('7154', '3', '243', '284', '7095', '244'); -INSERT INTO cp_tree VALUES ('7155', '3', '245', '284', '7095', '246'); -INSERT INTO cp_tree VALUES ('7156', '3', '247', '284', '7095', '248'); -INSERT INTO cp_tree VALUES ('7157', '3', '249', '284', '7095', '250'); -INSERT INTO cp_tree VALUES ('7158', '3', '251', '284', '7095', '252'); -INSERT INTO cp_tree VALUES ('7159', '3', '253', '284', '7095', '254'); -INSERT INTO cp_tree VALUES ('7160', '3', '255', '284', '7095', '256'); -INSERT INTO cp_tree VALUES ('7161', '3', '257', '284', '7095', '258'); -INSERT INTO cp_tree VALUES ('7162', '3', '259', '284', '7095', '260'); -INSERT INTO cp_tree VALUES ('7163', '3', '261', '284', '7095', '262'); -INSERT INTO cp_tree VALUES ('7164', '2', '264', '284', '7032', '271'); -INSERT INTO cp_tree VALUES ('7165', '3', '265', '284', '7164', '266'); -INSERT INTO cp_tree VALUES ('7166', '3', '267', '284', '7164', '268'); -INSERT INTO cp_tree VALUES ('7167', '3', '269', '284', '7164', '270'); -INSERT INTO cp_tree VALUES ('7168', '2', '272', '284', '7032', '285'); -INSERT INTO cp_tree VALUES ('7169', '3', '273', '284', '7168', '274'); -INSERT INTO cp_tree VALUES ('7170', '3', '275', '284', '7168', '276'); -INSERT INTO cp_tree VALUES ('7171', '3', '277', '284', '7168', '278'); -INSERT INTO cp_tree VALUES ('7172', '3', '279', '284', '7168', '280'); -INSERT INTO cp_tree VALUES ('7173', '3', '281', '284', '7168', '282'); -INSERT INTO cp_tree VALUES ('7174', '3', '283', '284', '7168', '284'); -INSERT INTO cp_tree VALUES ('7175', '2', '286', '284', '7032', '289'); -INSERT INTO cp_tree VALUES ('7176', '3', '287', '284', '7175', '288'); -INSERT INTO cp_tree VALUES ('7177', '2', '290', '284', '7032', '427'); -INSERT INTO cp_tree VALUES ('7178', '3', '291', '284', '7177', '292'); -INSERT INTO cp_tree VALUES ('7179', '3', '293', '284', '7177', '294'); -INSERT INTO cp_tree VALUES ('7180', '3', '295', '284', '7177', '296'); -INSERT INTO cp_tree VALUES ('7181', '3', '297', '284', '7177', '298'); -INSERT INTO cp_tree VALUES ('7182', '3', '299', '284', '7177', '300'); -INSERT INTO cp_tree VALUES ('7183', '3', '301', '284', '7177', '302'); -INSERT INTO cp_tree VALUES ('7184', '3', '303', '284', '7177', '304'); -INSERT INTO cp_tree VALUES ('7185', '3', '305', '284', '7177', '306'); -INSERT INTO cp_tree VALUES ('7186', '3', '307', '284', '7177', '308'); -INSERT INTO cp_tree VALUES ('7187', '3', '309', '284', '7177', '310'); -INSERT INTO cp_tree VALUES ('7188', '3', '311', '284', '7177', '312'); -INSERT INTO cp_tree VALUES ('7189', '3', '313', '284', '7177', '314'); -INSERT INTO cp_tree VALUES ('7190', '3', '315', '284', '7177', '316'); -INSERT INTO cp_tree VALUES ('7191', '3', '317', '284', '7177', '318'); -INSERT INTO cp_tree VALUES ('7192', '3', '319', '284', '7177', '320'); -INSERT INTO cp_tree VALUES ('7193', '3', '321', '284', '7177', '322'); -INSERT INTO cp_tree VALUES ('7194', '3', '323', '284', '7177', '324'); -INSERT INTO cp_tree VALUES ('7195', '3', '325', '284', '7177', '326'); -INSERT INTO cp_tree VALUES ('7196', '3', '327', '284', '7177', '328'); -INSERT INTO cp_tree VALUES ('7197', '3', '329', '284', '7177', '330'); -INSERT INTO cp_tree VALUES ('7198', '3', '331', '284', '7177', '332'); -INSERT INTO cp_tree VALUES ('7199', '3', '333', '284', '7177', '334'); -INSERT INTO cp_tree VALUES ('7200', '3', '335', '284', '7177', '336'); -INSERT INTO cp_tree VALUES ('7201', '3', '337', '284', '7177', '338'); -INSERT INTO cp_tree VALUES ('7202', '3', '339', '284', '7177', '340'); -INSERT INTO cp_tree VALUES ('7203', '3', '341', '284', '7177', '342'); -INSERT INTO cp_tree VALUES ('7204', '3', '343', '284', '7177', '344'); -INSERT INTO cp_tree VALUES ('7205', '3', '345', '284', '7177', '346'); -INSERT INTO cp_tree VALUES ('7206', '3', '347', '284', '7177', '348'); -INSERT INTO cp_tree VALUES ('7207', '3', '349', '284', '7177', '350'); -INSERT INTO cp_tree VALUES ('7208', '3', '351', '284', '7177', '352'); -INSERT INTO cp_tree VALUES ('7209', '3', '353', '284', '7177', '354'); -INSERT INTO cp_tree VALUES ('7210', '3', '355', '284', '7177', '356'); -INSERT INTO cp_tree VALUES ('7211', '3', '357', '284', '7177', '358'); -INSERT INTO cp_tree VALUES ('7212', '3', '359', '284', '7177', '360'); -INSERT INTO cp_tree VALUES ('7213', '3', '361', '284', '7177', '362'); -INSERT INTO cp_tree VALUES ('7214', '3', '363', '284', '7177', '364'); -INSERT INTO cp_tree VALUES ('7215', '3', '365', '284', '7177', '366'); -INSERT INTO cp_tree VALUES ('7216', '3', '367', '284', '7177', '368'); -INSERT INTO cp_tree VALUES ('7217', '3', '369', '284', '7177', '370'); -INSERT INTO cp_tree VALUES ('7218', '3', '371', '284', '7177', '372'); -INSERT INTO cp_tree VALUES ('7219', '3', '373', '284', '7177', '374'); -INSERT INTO cp_tree VALUES ('7220', '3', '375', '284', '7177', '376'); -INSERT INTO cp_tree VALUES ('7221', '3', '377', '284', '7177', '378'); -INSERT INTO cp_tree VALUES ('7222', '3', '379', '284', '7177', '380'); -INSERT INTO cp_tree VALUES ('7223', '3', '381', '284', '7177', '382'); -INSERT INTO cp_tree VALUES ('7224', '3', '383', '284', '7177', '384'); -INSERT INTO cp_tree VALUES ('7225', '3', '385', '284', '7177', '386'); -INSERT INTO cp_tree VALUES ('7226', '3', '387', '284', '7177', '388'); -INSERT INTO cp_tree VALUES ('7227', '3', '389', '284', '7177', '390'); -INSERT INTO cp_tree VALUES ('7228', '3', '391', '284', '7177', '392'); -INSERT INTO cp_tree VALUES ('7229', '3', '393', '284', '7177', '394'); -INSERT INTO cp_tree VALUES ('7230', '3', '395', '284', '7177', '396'); -INSERT INTO cp_tree VALUES ('7231', '3', '397', '284', '7177', '398'); -INSERT INTO cp_tree VALUES ('7232', '3', '399', '284', '7177', '400'); -INSERT INTO cp_tree VALUES ('7233', '3', '401', '284', '7177', '402'); -INSERT INTO cp_tree VALUES ('7234', '3', '403', '284', '7177', '404'); -INSERT INTO cp_tree VALUES ('7235', '3', '405', '284', '7177', '406'); -INSERT INTO cp_tree VALUES ('7236', '3', '407', '284', '7177', '408'); -INSERT INTO cp_tree VALUES ('7237', '3', '409', '284', '7177', '410'); -INSERT INTO cp_tree VALUES ('7238', '3', '411', '284', '7177', '412'); -INSERT INTO cp_tree VALUES ('7239', '3', '413', '284', '7177', '414'); -INSERT INTO cp_tree VALUES ('7240', '3', '415', '284', '7177', '416'); -INSERT INTO cp_tree VALUES ('7241', '3', '417', '284', '7177', '418'); -INSERT INTO cp_tree VALUES ('7242', '3', '419', '284', '7177', '420'); -INSERT INTO cp_tree VALUES ('7243', '3', '421', '284', '7177', '422'); -INSERT INTO cp_tree VALUES ('7244', '3', '423', '284', '7177', '424'); -INSERT INTO cp_tree VALUES ('7245', '3', '425', '284', '7177', '426'); -INSERT INTO cp_tree VALUES ('7246', '2', '428', '284', '7032', '435'); -INSERT INTO cp_tree VALUES ('7247', '3', '429', '284', '7246', '430'); -INSERT INTO cp_tree VALUES ('7248', '3', '431', '284', '7246', '432'); -INSERT INTO cp_tree VALUES ('7249', '3', '433', '284', '7246', '434'); -INSERT INTO cp_tree VALUES ('7250', '2', '436', '284', '7032', '449'); -INSERT INTO cp_tree VALUES ('7251', '3', '437', '284', '7250', '438'); -INSERT INTO cp_tree VALUES ('7252', '3', '439', '284', '7250', '440'); -INSERT INTO cp_tree VALUES ('7253', '3', '441', '284', '7250', '442'); -INSERT INTO cp_tree VALUES ('7254', '3', '443', '284', '7250', '444'); -INSERT INTO cp_tree VALUES ('7255', '3', '445', '284', '7250', '446'); -INSERT INTO cp_tree VALUES ('7256', '3', '447', '284', '7250', '448'); -INSERT INTO cp_tree VALUES ('7257', '2', '450', '284', '7032', '453'); -INSERT INTO cp_tree VALUES ('7258', '3', '451', '284', '7257', '452'); -INSERT INTO cp_tree VALUES ('7259', '2', '454', '284', '7032', '591'); -INSERT INTO cp_tree VALUES ('7260', '3', '455', '284', '7259', '456'); -INSERT INTO cp_tree VALUES ('7261', '3', '457', '284', '7259', '458'); -INSERT INTO cp_tree VALUES ('7262', '3', '459', '284', '7259', '460'); -INSERT INTO cp_tree VALUES ('7263', '3', '461', '284', '7259', '462'); -INSERT INTO cp_tree VALUES ('7264', '3', '463', '284', '7259', '464'); -INSERT INTO cp_tree VALUES ('7265', '3', '465', '284', '7259', '466'); -INSERT INTO cp_tree VALUES ('7266', '3', '467', '284', '7259', '468'); -INSERT INTO cp_tree VALUES ('7267', '3', '469', '284', '7259', '470'); -INSERT INTO cp_tree VALUES ('7268', '3', '471', '284', '7259', '472'); -INSERT INTO cp_tree VALUES ('7269', '3', '473', '284', '7259', '474'); -INSERT INTO cp_tree VALUES ('7270', '3', '475', '284', '7259', '476'); -INSERT INTO cp_tree VALUES ('7271', '3', '477', '284', '7259', '478'); -INSERT INTO cp_tree VALUES ('7272', '3', '479', '284', '7259', '480'); -INSERT INTO cp_tree VALUES ('7273', '3', '481', '284', '7259', '482'); -INSERT INTO cp_tree VALUES ('7274', '3', '483', '284', '7259', '484'); -INSERT INTO cp_tree VALUES ('7275', '3', '485', '284', '7259', '486'); -INSERT INTO cp_tree VALUES ('7276', '3', '487', '284', '7259', '488'); -INSERT INTO cp_tree VALUES ('7277', '3', '489', '284', '7259', '490'); -INSERT INTO cp_tree VALUES ('7278', '3', '491', '284', '7259', '492'); -INSERT INTO cp_tree VALUES ('7279', '3', '493', '284', '7259', '494'); -INSERT INTO cp_tree VALUES ('7280', '3', '495', '284', '7259', '496'); -INSERT INTO cp_tree VALUES ('7281', '3', '497', '284', '7259', '498'); -INSERT INTO cp_tree VALUES ('7282', '3', '499', '284', '7259', '500'); -INSERT INTO cp_tree VALUES ('7283', '3', '501', '284', '7259', '502'); -INSERT INTO cp_tree VALUES ('7284', '3', '503', '284', '7259', '504'); -INSERT INTO cp_tree VALUES ('7285', '3', '505', '284', '7259', '506'); -INSERT INTO cp_tree VALUES ('7286', '3', '507', '284', '7259', '508'); -INSERT INTO cp_tree VALUES ('7287', '3', '509', '284', '7259', '510'); -INSERT INTO cp_tree VALUES ('7288', '3', '511', '284', '7259', '512'); -INSERT INTO cp_tree VALUES ('7289', '3', '513', '284', '7259', '514'); -INSERT INTO cp_tree VALUES ('7290', '3', '515', '284', '7259', '516'); -INSERT INTO cp_tree VALUES ('7291', '3', '517', '284', '7259', '518'); -INSERT INTO cp_tree VALUES ('7292', '3', '519', '284', '7259', '520'); -INSERT INTO cp_tree VALUES ('7293', '3', '521', '284', '7259', '522'); -INSERT INTO cp_tree VALUES ('7294', '3', '523', '284', '7259', '524'); -INSERT INTO cp_tree VALUES ('7295', '3', '525', '284', '7259', '526'); -INSERT INTO cp_tree VALUES ('7296', '3', '527', '284', '7259', '528'); -INSERT INTO cp_tree VALUES ('7297', '3', '529', '284', '7259', '530'); -INSERT INTO cp_tree VALUES ('7298', '3', '531', '284', '7259', '532'); -INSERT INTO cp_tree VALUES ('7299', '3', '533', '284', '7259', '534'); -INSERT INTO cp_tree VALUES ('7300', '3', '535', '284', '7259', '536'); -INSERT INTO cp_tree VALUES ('7301', '3', '537', '284', '7259', '538'); -INSERT INTO cp_tree VALUES ('7302', '3', '539', '284', '7259', '540'); -INSERT INTO cp_tree VALUES ('7303', '3', '541', '284', '7259', '542'); -INSERT INTO cp_tree VALUES ('7304', '3', '543', '284', '7259', '544'); -INSERT INTO cp_tree VALUES ('7305', '3', '545', '284', '7259', '546'); -INSERT INTO cp_tree VALUES ('7306', '3', '547', '284', '7259', '548'); -INSERT INTO cp_tree VALUES ('7307', '3', '549', '284', '7259', '550'); -INSERT INTO cp_tree VALUES ('7308', '3', '551', '284', '7259', '552'); -INSERT INTO cp_tree VALUES ('7309', '3', '553', '284', '7259', '554'); -INSERT INTO cp_tree VALUES ('7310', '3', '555', '284', '7259', '556'); -INSERT INTO cp_tree VALUES ('7311', '3', '557', '284', '7259', '558'); -INSERT INTO cp_tree VALUES ('7312', '3', '559', '284', '7259', '560'); -INSERT INTO cp_tree VALUES ('7313', '3', '561', '284', '7259', '562'); -INSERT INTO cp_tree VALUES ('7314', '3', '563', '284', '7259', '564'); -INSERT INTO cp_tree VALUES ('7315', '3', '565', '284', '7259', '566'); -INSERT INTO cp_tree VALUES ('7316', '3', '567', '284', '7259', '568'); -INSERT INTO cp_tree VALUES ('7317', '3', '569', '284', '7259', '570'); -INSERT INTO cp_tree VALUES ('7318', '3', '571', '284', '7259', '572'); -INSERT INTO cp_tree VALUES ('7319', '3', '573', '284', '7259', '574'); -INSERT INTO cp_tree VALUES ('7320', '3', '575', '284', '7259', '576'); -INSERT INTO cp_tree VALUES ('7321', '3', '577', '284', '7259', '578'); -INSERT INTO cp_tree VALUES ('7322', '3', '579', '284', '7259', '580'); -INSERT INTO cp_tree VALUES ('7323', '3', '581', '284', '7259', '582'); -INSERT INTO cp_tree VALUES ('7324', '3', '583', '284', '7259', '584'); -INSERT INTO cp_tree VALUES ('7325', '3', '585', '284', '7259', '586'); -INSERT INTO cp_tree VALUES ('7326', '3', '587', '284', '7259', '588'); -INSERT INTO cp_tree VALUES ('7327', '3', '589', '284', '7259', '590'); -INSERT INTO cp_tree VALUES ('7328', '2', '592', '284', '7032', '599'); -INSERT INTO cp_tree VALUES ('7329', '3', '593', '284', '7328', '594'); -INSERT INTO cp_tree VALUES ('7330', '3', '595', '284', '7328', '596'); -INSERT INTO cp_tree VALUES ('7331', '3', '597', '284', '7328', '598'); -INSERT INTO cp_tree VALUES ('7332', '2', '600', '284', '7032', '609'); -INSERT INTO cp_tree VALUES ('7333', '3', '601', '284', '7332', '602'); -INSERT INTO cp_tree VALUES ('7334', '3', '603', '284', '7332', '604'); -INSERT INTO cp_tree VALUES ('7335', '3', '605', '284', '7332', '606'); -INSERT INTO cp_tree VALUES ('7336', '3', '607', '284', '7332', '608'); -INSERT INTO cp_tree VALUES ('7337', '2', '610', '284', '7032', '613'); -INSERT INTO cp_tree VALUES ('7338', '3', '611', '284', '7337', '612'); -INSERT INTO cp_tree VALUES ('7339', '2', '614', '284', '7032', '751'); -INSERT INTO cp_tree VALUES ('7340', '3', '615', '284', '7339', '616'); -INSERT INTO cp_tree VALUES ('7341', '3', '617', '284', '7339', '618'); -INSERT INTO cp_tree VALUES ('7342', '3', '619', '284', '7339', '620'); -INSERT INTO cp_tree VALUES ('7343', '3', '621', '284', '7339', '622'); -INSERT INTO cp_tree VALUES ('7344', '3', '623', '284', '7339', '624'); -INSERT INTO cp_tree VALUES ('7345', '3', '625', '284', '7339', '626'); -INSERT INTO cp_tree VALUES ('7346', '3', '627', '284', '7339', '628'); -INSERT INTO cp_tree VALUES ('7347', '3', '629', '284', '7339', '630'); -INSERT INTO cp_tree VALUES ('7348', '3', '631', '284', '7339', '632'); -INSERT INTO cp_tree VALUES ('7349', '3', '633', '284', '7339', '634'); -INSERT INTO cp_tree VALUES ('7350', '3', '635', '284', '7339', '636'); -INSERT INTO cp_tree VALUES ('7351', '3', '637', '284', '7339', '638'); -INSERT INTO cp_tree VALUES ('7352', '3', '639', '284', '7339', '640'); -INSERT INTO cp_tree VALUES ('7353', '3', '641', '284', '7339', '642'); -INSERT INTO cp_tree VALUES ('7354', '3', '643', '284', '7339', '644'); -INSERT INTO cp_tree VALUES ('7355', '3', '645', '284', '7339', '646'); -INSERT INTO cp_tree VALUES ('7356', '3', '647', '284', '7339', '648'); -INSERT INTO cp_tree VALUES ('7357', '3', '649', '284', '7339', '650'); -INSERT INTO cp_tree VALUES ('7358', '3', '651', '284', '7339', '652'); -INSERT INTO cp_tree VALUES ('7359', '3', '653', '284', '7339', '654'); -INSERT INTO cp_tree VALUES ('7360', '3', '655', '284', '7339', '656'); -INSERT INTO cp_tree VALUES ('7361', '3', '657', '284', '7339', '658'); -INSERT INTO cp_tree VALUES ('7362', '3', '659', '284', '7339', '660'); -INSERT INTO cp_tree VALUES ('7363', '3', '661', '284', '7339', '662'); -INSERT INTO cp_tree VALUES ('7364', '3', '663', '284', '7339', '664'); -INSERT INTO cp_tree VALUES ('7365', '3', '665', '284', '7339', '666'); -INSERT INTO cp_tree VALUES ('7366', '3', '667', '284', '7339', '668'); -INSERT INTO cp_tree VALUES ('7367', '3', '669', '284', '7339', '670'); -INSERT INTO cp_tree VALUES ('7368', '3', '671', '284', '7339', '672'); -INSERT INTO cp_tree VALUES ('7369', '3', '673', '284', '7339', '674'); -INSERT INTO cp_tree VALUES ('7370', '3', '675', '284', '7339', '676'); -INSERT INTO cp_tree VALUES ('7371', '3', '677', '284', '7339', '678'); -INSERT INTO cp_tree VALUES ('7372', '3', '679', '284', '7339', '680'); -INSERT INTO cp_tree VALUES ('7373', '3', '681', '284', '7339', '682'); -INSERT INTO cp_tree VALUES ('7374', '3', '683', '284', '7339', '684'); -INSERT INTO cp_tree VALUES ('7375', '3', '685', '284', '7339', '686'); -INSERT INTO cp_tree VALUES ('7376', '3', '687', '284', '7339', '688'); -INSERT INTO cp_tree VALUES ('7377', '3', '689', '284', '7339', '690'); -INSERT INTO cp_tree VALUES ('7378', '3', '691', '284', '7339', '692'); -INSERT INTO cp_tree VALUES ('7379', '3', '693', '284', '7339', '694'); -INSERT INTO cp_tree VALUES ('7380', '3', '695', '284', '7339', '696'); -INSERT INTO cp_tree VALUES ('7381', '3', '697', '284', '7339', '698'); -INSERT INTO cp_tree VALUES ('7382', '3', '699', '284', '7339', '700'); -INSERT INTO cp_tree VALUES ('7383', '3', '701', '284', '7339', '702'); -INSERT INTO cp_tree VALUES ('7384', '3', '703', '284', '7339', '704'); -INSERT INTO cp_tree VALUES ('7385', '3', '705', '284', '7339', '706'); -INSERT INTO cp_tree VALUES ('7386', '3', '707', '284', '7339', '708'); -INSERT INTO cp_tree VALUES ('7387', '3', '709', '284', '7339', '710'); -INSERT INTO cp_tree VALUES ('7388', '3', '711', '284', '7339', '712'); -INSERT INTO cp_tree VALUES ('7389', '3', '713', '284', '7339', '714'); -INSERT INTO cp_tree VALUES ('7390', '3', '715', '284', '7339', '716'); -INSERT INTO cp_tree VALUES ('7391', '3', '717', '284', '7339', '718'); -INSERT INTO cp_tree VALUES ('7392', '3', '719', '284', '7339', '720'); -INSERT INTO cp_tree VALUES ('7393', '3', '721', '284', '7339', '722'); -INSERT INTO cp_tree VALUES ('7394', '3', '723', '284', '7339', '724'); -INSERT INTO cp_tree VALUES ('7395', '3', '725', '284', '7339', '726'); -INSERT INTO cp_tree VALUES ('7396', '3', '727', '284', '7339', '728'); -INSERT INTO cp_tree VALUES ('7397', '3', '729', '284', '7339', '730'); -INSERT INTO cp_tree VALUES ('7398', '3', '731', '284', '7339', '732'); -INSERT INTO cp_tree VALUES ('7399', '3', '733', '284', '7339', '734'); -INSERT INTO cp_tree VALUES ('7400', '3', '735', '284', '7339', '736'); -INSERT INTO cp_tree VALUES ('7401', '3', '737', '284', '7339', '738'); -INSERT INTO cp_tree VALUES ('7402', '3', '739', '284', '7339', '740'); -INSERT INTO cp_tree VALUES ('7403', '3', '741', '284', '7339', '742'); -INSERT INTO cp_tree VALUES ('7404', '3', '743', '284', '7339', '744'); -INSERT INTO cp_tree VALUES ('7405', '3', '745', '284', '7339', '746'); -INSERT INTO cp_tree VALUES ('7406', '3', '747', '284', '7339', '748'); -INSERT INTO cp_tree VALUES ('7407', '3', '749', '284', '7339', '750'); -INSERT INTO cp_tree VALUES ('7408', '2', '752', '284', '7032', '759'); -INSERT INTO cp_tree VALUES ('7409', '3', '753', '284', '7408', '754'); -INSERT INTO cp_tree VALUES ('7410', '3', '755', '284', '7408', '756'); -INSERT INTO cp_tree VALUES ('7411', '3', '757', '284', '7408', '758'); -INSERT INTO cp_tree VALUES ('7412', '2', '760', '284', '7032', '783'); -INSERT INTO cp_tree VALUES ('7413', '3', '761', '284', '7412', '762'); -INSERT INTO cp_tree VALUES ('7414', '3', '763', '284', '7412', '764'); -INSERT INTO cp_tree VALUES ('7415', '3', '765', '284', '7412', '766'); -INSERT INTO cp_tree VALUES ('7416', '3', '767', '284', '7412', '768'); -INSERT INTO cp_tree VALUES ('7417', '3', '769', '284', '7412', '770'); -INSERT INTO cp_tree VALUES ('7418', '3', '771', '284', '7412', '772'); -INSERT INTO cp_tree VALUES ('7419', '3', '773', '284', '7412', '774'); -INSERT INTO cp_tree VALUES ('7420', '3', '775', '284', '7412', '776'); -INSERT INTO cp_tree VALUES ('7421', '3', '777', '284', '7412', '778'); -INSERT INTO cp_tree VALUES ('7422', '3', '779', '284', '7412', '780'); -INSERT INTO cp_tree VALUES ('7423', '3', '781', '284', '7412', '782'); -INSERT INTO cp_tree VALUES ('7424', '2', '784', '284', '7032', '787'); -INSERT INTO cp_tree VALUES ('7425', '3', '785', '284', '7424', '786'); -INSERT INTO cp_tree VALUES ('7426', '2', '788', '284', '7032', '925'); -INSERT INTO cp_tree VALUES ('7427', '3', '789', '284', '7426', '790'); -INSERT INTO cp_tree VALUES ('7428', '3', '791', '284', '7426', '792'); -INSERT INTO cp_tree VALUES ('7429', '3', '793', '284', '7426', '794'); -INSERT INTO cp_tree VALUES ('7430', '3', '795', '284', '7426', '796'); -INSERT INTO cp_tree VALUES ('7431', '3', '797', '284', '7426', '798'); -INSERT INTO cp_tree VALUES ('7432', '3', '799', '284', '7426', '800'); -INSERT INTO cp_tree VALUES ('7433', '3', '801', '284', '7426', '802'); -INSERT INTO cp_tree VALUES ('7434', '3', '803', '284', '7426', '804'); -INSERT INTO cp_tree VALUES ('7435', '3', '805', '284', '7426', '806'); -INSERT INTO cp_tree VALUES ('7436', '3', '807', '284', '7426', '808'); -INSERT INTO cp_tree VALUES ('7437', '3', '809', '284', '7426', '810'); -INSERT INTO cp_tree VALUES ('7438', '3', '811', '284', '7426', '812'); -INSERT INTO cp_tree VALUES ('7439', '3', '813', '284', '7426', '814'); -INSERT INTO cp_tree VALUES ('7440', '3', '815', '284', '7426', '816'); -INSERT INTO cp_tree VALUES ('7441', '3', '817', '284', '7426', '818'); -INSERT INTO cp_tree VALUES ('7442', '3', '819', '284', '7426', '820'); -INSERT INTO cp_tree VALUES ('7443', '3', '821', '284', '7426', '822'); -INSERT INTO cp_tree VALUES ('7444', '3', '823', '284', '7426', '824'); -INSERT INTO cp_tree VALUES ('7445', '3', '825', '284', '7426', '826'); -INSERT INTO cp_tree VALUES ('7446', '3', '827', '284', '7426', '828'); -INSERT INTO cp_tree VALUES ('7447', '3', '829', '284', '7426', '830'); -INSERT INTO cp_tree VALUES ('7448', '3', '831', '284', '7426', '832'); -INSERT INTO cp_tree VALUES ('7449', '3', '833', '284', '7426', '834'); -INSERT INTO cp_tree VALUES ('7450', '3', '835', '284', '7426', '836'); -INSERT INTO cp_tree VALUES ('7451', '3', '837', '284', '7426', '838'); -INSERT INTO cp_tree VALUES ('7452', '3', '839', '284', '7426', '840'); -INSERT INTO cp_tree VALUES ('7453', '3', '841', '284', '7426', '842'); -INSERT INTO cp_tree VALUES ('7454', '3', '843', '284', '7426', '844'); -INSERT INTO cp_tree VALUES ('7455', '3', '845', '284', '7426', '846'); -INSERT INTO cp_tree VALUES ('7456', '3', '847', '284', '7426', '848'); -INSERT INTO cp_tree VALUES ('7457', '3', '849', '284', '7426', '850'); -INSERT INTO cp_tree VALUES ('7458', '3', '851', '284', '7426', '852'); -INSERT INTO cp_tree VALUES ('7459', '3', '853', '284', '7426', '854'); -INSERT INTO cp_tree VALUES ('7460', '3', '855', '284', '7426', '856'); -INSERT INTO cp_tree VALUES ('7461', '3', '857', '284', '7426', '858'); -INSERT INTO cp_tree VALUES ('7462', '3', '859', '284', '7426', '860'); -INSERT INTO cp_tree VALUES ('7463', '3', '861', '284', '7426', '862'); -INSERT INTO cp_tree VALUES ('7464', '3', '863', '284', '7426', '864'); -INSERT INTO cp_tree VALUES ('7465', '3', '865', '284', '7426', '866'); -INSERT INTO cp_tree VALUES ('7466', '3', '867', '284', '7426', '868'); -INSERT INTO cp_tree VALUES ('7467', '3', '869', '284', '7426', '870'); -INSERT INTO cp_tree VALUES ('7468', '3', '871', '284', '7426', '872'); -INSERT INTO cp_tree VALUES ('7469', '3', '873', '284', '7426', '874'); -INSERT INTO cp_tree VALUES ('7470', '3', '875', '284', '7426', '876'); -INSERT INTO cp_tree VALUES ('7471', '3', '877', '284', '7426', '878'); -INSERT INTO cp_tree VALUES ('7472', '3', '879', '284', '7426', '880'); -INSERT INTO cp_tree VALUES ('7473', '3', '881', '284', '7426', '882'); -INSERT INTO cp_tree VALUES ('7474', '3', '883', '284', '7426', '884'); -INSERT INTO cp_tree VALUES ('7475', '3', '885', '284', '7426', '886'); -INSERT INTO cp_tree VALUES ('7476', '3', '887', '284', '7426', '888'); -INSERT INTO cp_tree VALUES ('7477', '3', '889', '284', '7426', '890'); -INSERT INTO cp_tree VALUES ('7478', '3', '891', '284', '7426', '892'); -INSERT INTO cp_tree VALUES ('7479', '3', '893', '284', '7426', '894'); -INSERT INTO cp_tree VALUES ('7480', '3', '895', '284', '7426', '896'); -INSERT INTO cp_tree VALUES ('7481', '3', '897', '284', '7426', '898'); -INSERT INTO cp_tree VALUES ('7482', '3', '899', '284', '7426', '900'); -INSERT INTO cp_tree VALUES ('7483', '3', '901', '284', '7426', '902'); -INSERT INTO cp_tree VALUES ('7484', '3', '903', '284', '7426', '904'); -INSERT INTO cp_tree VALUES ('7485', '3', '905', '284', '7426', '906'); -INSERT INTO cp_tree VALUES ('7486', '3', '907', '284', '7426', '908'); -INSERT INTO cp_tree VALUES ('7487', '3', '909', '284', '7426', '910'); -INSERT INTO cp_tree VALUES ('7488', '3', '911', '284', '7426', '912'); -INSERT INTO cp_tree VALUES ('7489', '3', '913', '284', '7426', '914'); -INSERT INTO cp_tree VALUES ('7490', '3', '915', '284', '7426', '916'); -INSERT INTO cp_tree VALUES ('7491', '3', '917', '284', '7426', '918'); -INSERT INTO cp_tree VALUES ('7492', '3', '919', '284', '7426', '920'); -INSERT INTO cp_tree VALUES ('7493', '3', '921', '284', '7426', '922'); -INSERT INTO cp_tree VALUES ('7494', '3', '923', '284', '7426', '924'); -INSERT INTO cp_tree VALUES ('7495', '2', '926', '284', '7032', '933'); -INSERT INTO cp_tree VALUES ('7496', '3', '927', '284', '7495', '928'); -INSERT INTO cp_tree VALUES ('7497', '3', '929', '284', '7495', '930'); -INSERT INTO cp_tree VALUES ('7498', '3', '931', '284', '7495', '932'); -INSERT INTO cp_tree VALUES ('7499', '2', '934', '284', '7032', '951'); -INSERT INTO cp_tree VALUES ('7500', '3', '935', '284', '7499', '936'); -INSERT INTO cp_tree VALUES ('7501', '3', '937', '284', '7499', '938'); -INSERT INTO cp_tree VALUES ('7502', '3', '939', '284', '7499', '940'); -INSERT INTO cp_tree VALUES ('7503', '3', '941', '284', '7499', '942'); -INSERT INTO cp_tree VALUES ('7504', '3', '943', '284', '7499', '944'); -INSERT INTO cp_tree VALUES ('7505', '3', '945', '284', '7499', '946'); -INSERT INTO cp_tree VALUES ('7506', '3', '947', '284', '7499', '948'); -INSERT INTO cp_tree VALUES ('7507', '3', '949', '284', '7499', '950'); -INSERT INTO cp_tree VALUES ('7508', '2', '952', '284', '7032', '955'); -INSERT INTO cp_tree VALUES ('7509', '3', '953', '284', '7508', '954'); -INSERT INTO cp_tree VALUES ('7510', '2', '956', '284', '7032', '1093'); -INSERT INTO cp_tree VALUES ('7511', '3', '957', '284', '7510', '958'); -INSERT INTO cp_tree VALUES ('7512', '3', '959', '284', '7510', '960'); -INSERT INTO cp_tree VALUES ('7513', '3', '961', '284', '7510', '962'); -INSERT INTO cp_tree VALUES ('7514', '3', '963', '284', '7510', '964'); -INSERT INTO cp_tree VALUES ('7515', '3', '965', '284', '7510', '966'); -INSERT INTO cp_tree VALUES ('7516', '3', '967', '284', '7510', '968'); -INSERT INTO cp_tree VALUES ('7517', '3', '969', '284', '7510', '970'); -INSERT INTO cp_tree VALUES ('7518', '3', '971', '284', '7510', '972'); -INSERT INTO cp_tree VALUES ('7519', '3', '973', '284', '7510', '974'); -INSERT INTO cp_tree VALUES ('7520', '3', '975', '284', '7510', '976'); -INSERT INTO cp_tree VALUES ('7521', '3', '977', '284', '7510', '978'); -INSERT INTO cp_tree VALUES ('7522', '3', '979', '284', '7510', '980'); -INSERT INTO cp_tree VALUES ('7523', '3', '981', '284', '7510', '982'); -INSERT INTO cp_tree VALUES ('7524', '3', '983', '284', '7510', '984'); -INSERT INTO cp_tree VALUES ('7525', '3', '985', '284', '7510', '986'); -INSERT INTO cp_tree VALUES ('7526', '3', '987', '284', '7510', '988'); -INSERT INTO cp_tree VALUES ('7527', '3', '989', '284', '7510', '990'); -INSERT INTO cp_tree VALUES ('7528', '3', '991', '284', '7510', '992'); -INSERT INTO cp_tree VALUES ('7529', '3', '993', '284', '7510', '994'); -INSERT INTO cp_tree VALUES ('7530', '3', '995', '284', '7510', '996'); -INSERT INTO cp_tree VALUES ('7531', '3', '997', '284', '7510', '998'); -INSERT INTO cp_tree VALUES ('7532', '3', '999', '284', '7510', '1000'); -INSERT INTO cp_tree VALUES ('7533', '3', '1001', '284', '7510', '1002'); -INSERT INTO cp_tree VALUES ('7534', '3', '1003', '284', '7510', '1004'); -INSERT INTO cp_tree VALUES ('7535', '3', '1005', '284', '7510', '1006'); -INSERT INTO cp_tree VALUES ('7536', '3', '1007', '284', '7510', '1008'); -INSERT INTO cp_tree VALUES ('7537', '3', '1009', '284', '7510', '1010'); -INSERT INTO cp_tree VALUES ('7538', '3', '1011', '284', '7510', '1012'); -INSERT INTO cp_tree VALUES ('7539', '3', '1013', '284', '7510', '1014'); -INSERT INTO cp_tree VALUES ('7540', '3', '1015', '284', '7510', '1016'); -INSERT INTO cp_tree VALUES ('7541', '3', '1017', '284', '7510', '1018'); -INSERT INTO cp_tree VALUES ('7542', '3', '1019', '284', '7510', '1020'); -INSERT INTO cp_tree VALUES ('7543', '3', '1021', '284', '7510', '1022'); -INSERT INTO cp_tree VALUES ('7544', '3', '1023', '284', '7510', '1024'); -INSERT INTO cp_tree VALUES ('7545', '3', '1025', '284', '7510', '1026'); -INSERT INTO cp_tree VALUES ('7546', '3', '1027', '284', '7510', '1028'); -INSERT INTO cp_tree VALUES ('7547', '3', '1029', '284', '7510', '1030'); -INSERT INTO cp_tree VALUES ('7548', '3', '1031', '284', '7510', '1032'); -INSERT INTO cp_tree VALUES ('7549', '3', '1033', '284', '7510', '1034'); -INSERT INTO cp_tree VALUES ('7550', '3', '1035', '284', '7510', '1036'); -INSERT INTO cp_tree VALUES ('7551', '3', '1037', '284', '7510', '1038'); -INSERT INTO cp_tree VALUES ('7552', '3', '1039', '284', '7510', '1040'); -INSERT INTO cp_tree VALUES ('7553', '3', '1041', '284', '7510', '1042'); -INSERT INTO cp_tree VALUES ('7554', '3', '1043', '284', '7510', '1044'); -INSERT INTO cp_tree VALUES ('7555', '3', '1045', '284', '7510', '1046'); -INSERT INTO cp_tree VALUES ('7556', '3', '1047', '284', '7510', '1048'); -INSERT INTO cp_tree VALUES ('7557', '3', '1049', '284', '7510', '1050'); -INSERT INTO cp_tree VALUES ('7558', '3', '1051', '284', '7510', '1052'); -INSERT INTO cp_tree VALUES ('7559', '3', '1053', '284', '7510', '1054'); -INSERT INTO cp_tree VALUES ('7560', '3', '1055', '284', '7510', '1056'); -INSERT INTO cp_tree VALUES ('7561', '3', '1057', '284', '7510', '1058'); -INSERT INTO cp_tree VALUES ('7562', '3', '1059', '284', '7510', '1060'); -INSERT INTO cp_tree VALUES ('7563', '3', '1061', '284', '7510', '1062'); -INSERT INTO cp_tree VALUES ('7564', '3', '1063', '284', '7510', '1064'); -INSERT INTO cp_tree VALUES ('7565', '3', '1065', '284', '7510', '1066'); -INSERT INTO cp_tree VALUES ('7566', '3', '1067', '284', '7510', '1068'); -INSERT INTO cp_tree VALUES ('7567', '3', '1069', '284', '7510', '1070'); -INSERT INTO cp_tree VALUES ('7568', '3', '1071', '284', '7510', '1072'); -INSERT INTO cp_tree VALUES ('7569', '3', '1073', '284', '7510', '1074'); -INSERT INTO cp_tree VALUES ('7570', '3', '1075', '284', '7510', '1076'); -INSERT INTO cp_tree VALUES ('7571', '3', '1077', '284', '7510', '1078'); -INSERT INTO cp_tree VALUES ('7572', '3', '1079', '284', '7510', '1080'); -INSERT INTO cp_tree VALUES ('7573', '3', '1081', '284', '7510', '1082'); -INSERT INTO cp_tree VALUES ('7574', '3', '1083', '284', '7510', '1084'); -INSERT INTO cp_tree VALUES ('7575', '3', '1085', '284', '7510', '1086'); -INSERT INTO cp_tree VALUES ('7576', '3', '1087', '284', '7510', '1088'); -INSERT INTO cp_tree VALUES ('7577', '3', '1089', '284', '7510', '1090'); -INSERT INTO cp_tree VALUES ('7578', '3', '1091', '284', '7510', '1092'); -INSERT INTO cp_tree VALUES ('7579', '2', '1094', '284', '7032', '1101'); -INSERT INTO cp_tree VALUES ('7580', '3', '1095', '284', '7579', '1096'); -INSERT INTO cp_tree VALUES ('7581', '3', '1097', '284', '7579', '1098'); -INSERT INTO cp_tree VALUES ('7582', '3', '1099', '284', '7579', '1100'); -INSERT INTO cp_tree VALUES ('7583', '2', '1102', '284', '7032', '1111'); -INSERT INTO cp_tree VALUES ('7584', '3', '1103', '284', '7583', '1104'); -INSERT INTO cp_tree VALUES ('7585', '3', '1105', '284', '7583', '1106'); -INSERT INTO cp_tree VALUES ('7586', '3', '1107', '284', '7583', '1108'); -INSERT INTO cp_tree VALUES ('7587', '3', '1109', '284', '7583', '1110'); -INSERT INTO cp_tree VALUES ('7588', '2', '1112', '284', '7032', '1115'); -INSERT INTO cp_tree VALUES ('7589', '3', '1113', '284', '7588', '1114'); -INSERT INTO cp_tree VALUES ('7590', '2', '1116', '284', '7032', '1253'); -INSERT INTO cp_tree VALUES ('7591', '3', '1117', '284', '7590', '1118'); -INSERT INTO cp_tree VALUES ('7592', '3', '1119', '284', '7590', '1120'); -INSERT INTO cp_tree VALUES ('7593', '3', '1121', '284', '7590', '1122'); -INSERT INTO cp_tree VALUES ('7594', '3', '1123', '284', '7590', '1124'); -INSERT INTO cp_tree VALUES ('7595', '3', '1125', '284', '7590', '1126'); -INSERT INTO cp_tree VALUES ('7596', '3', '1127', '284', '7590', '1128'); -INSERT INTO cp_tree VALUES ('7597', '3', '1129', '284', '7590', '1130'); -INSERT INTO cp_tree VALUES ('7598', '3', '1131', '284', '7590', '1132'); -INSERT INTO cp_tree VALUES ('7599', '3', '1133', '284', '7590', '1134'); -INSERT INTO cp_tree VALUES ('7600', '3', '1135', '284', '7590', '1136'); -INSERT INTO cp_tree VALUES ('7601', '3', '1137', '284', '7590', '1138'); -INSERT INTO cp_tree VALUES ('7602', '3', '1139', '284', '7590', '1140'); -INSERT INTO cp_tree VALUES ('7603', '3', '1141', '284', '7590', '1142'); -INSERT INTO cp_tree VALUES ('7604', '3', '1143', '284', '7590', '1144'); -INSERT INTO cp_tree VALUES ('7605', '3', '1145', '284', '7590', '1146'); -INSERT INTO cp_tree VALUES ('7606', '3', '1147', '284', '7590', '1148'); -INSERT INTO cp_tree VALUES ('7607', '3', '1149', '284', '7590', '1150'); -INSERT INTO cp_tree VALUES ('7608', '3', '1151', '284', '7590', '1152'); -INSERT INTO cp_tree VALUES ('7609', '3', '1153', '284', '7590', '1154'); -INSERT INTO cp_tree VALUES ('7610', '3', '1155', '284', '7590', '1156'); -INSERT INTO cp_tree VALUES ('7611', '3', '1157', '284', '7590', '1158'); -INSERT INTO cp_tree VALUES ('7612', '3', '1159', '284', '7590', '1160'); -INSERT INTO cp_tree VALUES ('7613', '3', '1161', '284', '7590', '1162'); -INSERT INTO cp_tree VALUES ('7614', '3', '1163', '284', '7590', '1164'); -INSERT INTO cp_tree VALUES ('7615', '3', '1165', '284', '7590', '1166'); -INSERT INTO cp_tree VALUES ('7616', '3', '1167', '284', '7590', '1168'); -INSERT INTO cp_tree VALUES ('7617', '3', '1169', '284', '7590', '1170'); -INSERT INTO cp_tree VALUES ('7618', '3', '1171', '284', '7590', '1172'); -INSERT INTO cp_tree VALUES ('7619', '3', '1173', '284', '7590', '1174'); -INSERT INTO cp_tree VALUES ('7620', '3', '1175', '284', '7590', '1176'); -INSERT INTO cp_tree VALUES ('7621', '3', '1177', '284', '7590', '1178'); -INSERT INTO cp_tree VALUES ('7622', '3', '1179', '284', '7590', '1180'); -INSERT INTO cp_tree VALUES ('7623', '3', '1181', '284', '7590', '1182'); -INSERT INTO cp_tree VALUES ('7624', '3', '1183', '284', '7590', '1184'); -INSERT INTO cp_tree VALUES ('7625', '3', '1185', '284', '7590', '1186'); -INSERT INTO cp_tree VALUES ('7626', '3', '1187', '284', '7590', '1188'); -INSERT INTO cp_tree VALUES ('7627', '3', '1189', '284', '7590', '1190'); -INSERT INTO cp_tree VALUES ('7628', '3', '1191', '284', '7590', '1192'); -INSERT INTO cp_tree VALUES ('7629', '3', '1193', '284', '7590', '1194'); -INSERT INTO cp_tree VALUES ('7630', '3', '1195', '284', '7590', '1196'); -INSERT INTO cp_tree VALUES ('7631', '3', '1197', '284', '7590', '1198'); -INSERT INTO cp_tree VALUES ('7632', '3', '1199', '284', '7590', '1200'); -INSERT INTO cp_tree VALUES ('7633', '3', '1201', '284', '7590', '1202'); -INSERT INTO cp_tree VALUES ('7634', '3', '1203', '284', '7590', '1204'); -INSERT INTO cp_tree VALUES ('7635', '3', '1205', '284', '7590', '1206'); -INSERT INTO cp_tree VALUES ('7636', '3', '1207', '284', '7590', '1208'); -INSERT INTO cp_tree VALUES ('7637', '3', '1209', '284', '7590', '1210'); -INSERT INTO cp_tree VALUES ('7638', '3', '1211', '284', '7590', '1212'); -INSERT INTO cp_tree VALUES ('7639', '3', '1213', '284', '7590', '1214'); -INSERT INTO cp_tree VALUES ('7640', '3', '1215', '284', '7590', '1216'); -INSERT INTO cp_tree VALUES ('7641', '3', '1217', '284', '7590', '1218'); -INSERT INTO cp_tree VALUES ('7642', '3', '1219', '284', '7590', '1220'); -INSERT INTO cp_tree VALUES ('7643', '3', '1221', '284', '7590', '1222'); -INSERT INTO cp_tree VALUES ('7644', '3', '1223', '284', '7590', '1224'); -INSERT INTO cp_tree VALUES ('7645', '3', '1225', '284', '7590', '1226'); -INSERT INTO cp_tree VALUES ('7646', '3', '1227', '284', '7590', '1228'); -INSERT INTO cp_tree VALUES ('7647', '3', '1229', '284', '7590', '1230'); -INSERT INTO cp_tree VALUES ('7648', '3', '1231', '284', '7590', '1232'); -INSERT INTO cp_tree VALUES ('7649', '3', '1233', '284', '7590', '1234'); -INSERT INTO cp_tree VALUES ('7650', '3', '1235', '284', '7590', '1236'); -INSERT INTO cp_tree VALUES ('7651', '3', '1237', '284', '7590', '1238'); -INSERT INTO cp_tree VALUES ('7652', '3', '1239', '284', '7590', '1240'); -INSERT INTO cp_tree VALUES ('7653', '3', '1241', '284', '7590', '1242'); -INSERT INTO cp_tree VALUES ('7654', '3', '1243', '284', '7590', '1244'); -INSERT INTO cp_tree VALUES ('7655', '3', '1245', '284', '7590', '1246'); -INSERT INTO cp_tree VALUES ('7656', '3', '1247', '284', '7590', '1248'); -INSERT INTO cp_tree VALUES ('7657', '3', '1249', '284', '7590', '1250'); -INSERT INTO cp_tree VALUES ('7658', '3', '1251', '284', '7590', '1252'); -INSERT INTO cp_tree VALUES ('7659', '2', '1254', '284', '7032', '1289'); -INSERT INTO cp_tree VALUES ('7660', '3', '1255', '284', '7659', '1256'); -INSERT INTO cp_tree VALUES ('7661', '3', '1257', '284', '7659', '1258'); -INSERT INTO cp_tree VALUES ('7662', '3', '1259', '284', '7659', '1260'); -INSERT INTO cp_tree VALUES ('7663', '3', '1261', '284', '7659', '1262'); -INSERT INTO cp_tree VALUES ('7664', '3', '1263', '284', '7659', '1264'); -INSERT INTO cp_tree VALUES ('7665', '3', '1265', '284', '7659', '1266'); -INSERT INTO cp_tree VALUES ('7666', '3', '1267', '284', '7659', '1268'); -INSERT INTO cp_tree VALUES ('7667', '3', '1269', '284', '7659', '1270'); -INSERT INTO cp_tree VALUES ('7668', '3', '1271', '284', '7659', '1272'); -INSERT INTO cp_tree VALUES ('7669', '3', '1273', '284', '7659', '1274'); -INSERT INTO cp_tree VALUES ('7670', '3', '1275', '284', '7659', '1276'); -INSERT INTO cp_tree VALUES ('7671', '3', '1277', '284', '7659', '1278'); -INSERT INTO cp_tree VALUES ('7672', '3', '1279', '284', '7659', '1280'); -INSERT INTO cp_tree VALUES ('7673', '3', '1281', '284', '7659', '1282'); -INSERT INTO cp_tree VALUES ('7674', '3', '1283', '284', '7659', '1284'); -INSERT INTO cp_tree VALUES ('7675', '3', '1285', '284', '7659', '1286'); -INSERT INTO cp_tree VALUES ('7676', '3', '1287', '284', '7659', '1288'); -INSERT INTO cp_tree VALUES ('7677', '1', '1', '100', '0', '30'); -INSERT INTO cp_tree VALUES ('7678', '2', '2', '100', '7677', '25'); -INSERT INTO cp_tree VALUES ('7679', '3', '3', '100', '7678', '10'); -INSERT INTO cp_tree VALUES ('7680', '4', '4', '100', '7679', '5'); -INSERT INTO cp_tree VALUES ('7681', '4', '6', '100', '7679', '7'); -INSERT INTO cp_tree VALUES ('7682', '4', '8', '100', '7679', '9'); -INSERT INTO cp_tree VALUES ('7683', '3', '11', '100', '7678', '24'); -INSERT INTO cp_tree VALUES ('7684', '4', '12', '100', '7683', '13'); -INSERT INTO cp_tree VALUES ('7685', '4', '14', '100', '7683', '15'); -INSERT INTO cp_tree VALUES ('7686', '4', '16', '100', '7683', '19'); -INSERT INTO cp_tree VALUES ('7687', '5', '17', '100', '7686', '18'); -INSERT INTO cp_tree VALUES ('7688', '4', '20', '100', '7683', '21'); -INSERT INTO cp_tree VALUES ('7689', '4', '22', '100', '7683', '23'); -INSERT INTO cp_tree VALUES ('7690', '2', '26', '100', '7677', '27'); -INSERT INTO cp_tree VALUES ('7691', '2', '28', '100', '7677', '29'); -INSERT INTO cp_tree VALUES ('7692', '1', '1', '100', '0', '1290'); -INSERT INTO cp_tree VALUES ('7693', '2', '2', '100', '7692', '19'); -INSERT INTO cp_tree VALUES ('7694', '3', '3', '100', '7693', '18'); -INSERT INTO cp_tree VALUES ('7695', '4', '4', '100', '7694', '5'); -INSERT INTO cp_tree VALUES ('7696', '4', '6', '100', '7694', '7'); -INSERT INTO cp_tree VALUES ('7697', '4', '8', '100', '7694', '9'); -INSERT INTO cp_tree VALUES ('7698', '4', '10', '100', '7694', '11'); -INSERT INTO cp_tree VALUES ('7699', '4', '12', '100', '7694', '13'); -INSERT INTO cp_tree VALUES ('7700', '4', '14', '100', '7694', '15'); -INSERT INTO cp_tree VALUES ('7701', '4', '16', '100', '7694', '17'); -INSERT INTO cp_tree VALUES ('7702', '2', '20', '100', '7692', '29'); -INSERT INTO cp_tree VALUES ('7703', '3', '21', '100', '7702', '22'); -INSERT INTO cp_tree VALUES ('7704', '3', '23', '100', '7702', '24'); -INSERT INTO cp_tree VALUES ('7705', '3', '25', '100', '7702', '26'); -INSERT INTO cp_tree VALUES ('7706', '3', '27', '100', '7702', '28'); -INSERT INTO cp_tree VALUES ('7707', '2', '30', '100', '7692', '39'); -INSERT INTO cp_tree VALUES ('7708', '3', '31', '100', '7707', '32'); -INSERT INTO cp_tree VALUES ('7709', '3', '33', '100', '7707', '34'); -INSERT INTO cp_tree VALUES ('7710', '3', '35', '100', '7707', '36'); -INSERT INTO cp_tree VALUES ('7711', '3', '37', '100', '7707', '38'); -INSERT INTO cp_tree VALUES ('7712', '2', '40', '100', '7692', '49'); -INSERT INTO cp_tree VALUES ('7713', '3', '41', '100', '7712', '42'); -INSERT INTO cp_tree VALUES ('7714', '3', '43', '100', '7712', '44'); -INSERT INTO cp_tree VALUES ('7715', '3', '45', '100', '7712', '46'); -INSERT INTO cp_tree VALUES ('7716', '3', '47', '100', '7712', '48'); -INSERT INTO cp_tree VALUES ('7717', '2', '50', '100', '7692', '59'); -INSERT INTO cp_tree VALUES ('7718', '3', '51', '100', '7717', '52'); -INSERT INTO cp_tree VALUES ('7719', '3', '53', '100', '7717', '54'); -INSERT INTO cp_tree VALUES ('7720', '3', '55', '100', '7717', '56'); -INSERT INTO cp_tree VALUES ('7721', '3', '57', '100', '7717', '58'); -INSERT INTO cp_tree VALUES ('7722', '2', '60', '100', '7692', '69'); -INSERT INTO cp_tree VALUES ('7723', '3', '61', '100', '7722', '62'); -INSERT INTO cp_tree VALUES ('7724', '3', '63', '100', '7722', '64'); -INSERT INTO cp_tree VALUES ('7725', '3', '65', '100', '7722', '66'); -INSERT INTO cp_tree VALUES ('7726', '3', '67', '100', '7722', '68'); -INSERT INTO cp_tree VALUES ('7727', '2', '70', '100', '7692', '79'); -INSERT INTO cp_tree VALUES ('7728', '3', '71', '100', '7727', '72'); -INSERT INTO cp_tree VALUES ('7729', '3', '73', '100', '7727', '74'); -INSERT INTO cp_tree VALUES ('7730', '3', '75', '100', '7727', '76'); -INSERT INTO cp_tree VALUES ('7731', '3', '77', '100', '7727', '78'); -INSERT INTO cp_tree VALUES ('7732', '2', '80', '100', '7692', '89'); -INSERT INTO cp_tree VALUES ('7733', '3', '81', '100', '7732', '82'); -INSERT INTO cp_tree VALUES ('7734', '3', '83', '100', '7732', '84'); -INSERT INTO cp_tree VALUES ('7735', '3', '85', '100', '7732', '86'); -INSERT INTO cp_tree VALUES ('7736', '3', '87', '100', '7732', '88'); -INSERT INTO cp_tree VALUES ('7737', '2', '90', '100', '7692', '97'); -INSERT INTO cp_tree VALUES ('7738', '3', '91', '100', '7737', '92'); -INSERT INTO cp_tree VALUES ('7739', '3', '93', '100', '7737', '94'); -INSERT INTO cp_tree VALUES ('7740', '3', '95', '100', '7737', '96'); -INSERT INTO cp_tree VALUES ('7741', '2', '98', '100', '7692', '121'); -INSERT INTO cp_tree VALUES ('7742', '3', '99', '100', '7741', '100'); -INSERT INTO cp_tree VALUES ('7743', '3', '101', '100', '7741', '102'); -INSERT INTO cp_tree VALUES ('7744', '3', '103', '100', '7741', '104'); -INSERT INTO cp_tree VALUES ('7745', '3', '105', '100', '7741', '106'); -INSERT INTO cp_tree VALUES ('7746', '3', '107', '100', '7741', '108'); -INSERT INTO cp_tree VALUES ('7747', '3', '109', '100', '7741', '110'); -INSERT INTO cp_tree VALUES ('7748', '3', '111', '100', '7741', '112'); -INSERT INTO cp_tree VALUES ('7749', '3', '113', '100', '7741', '114'); -INSERT INTO cp_tree VALUES ('7750', '3', '115', '100', '7741', '116'); -INSERT INTO cp_tree VALUES ('7751', '3', '117', '100', '7741', '118'); -INSERT INTO cp_tree VALUES ('7752', '3', '119', '100', '7741', '120'); -INSERT INTO cp_tree VALUES ('7753', '2', '122', '100', '7692', '125'); -INSERT INTO cp_tree VALUES ('7754', '3', '123', '100', '7753', '124'); -INSERT INTO cp_tree VALUES ('7755', '2', '126', '100', '7692', '263'); -INSERT INTO cp_tree VALUES ('7756', '3', '127', '100', '7755', '128'); -INSERT INTO cp_tree VALUES ('7757', '3', '129', '100', '7755', '130'); -INSERT INTO cp_tree VALUES ('7758', '3', '131', '100', '7755', '132'); -INSERT INTO cp_tree VALUES ('7759', '3', '133', '100', '7755', '134'); -INSERT INTO cp_tree VALUES ('7760', '3', '135', '100', '7755', '136'); -INSERT INTO cp_tree VALUES ('7761', '3', '137', '100', '7755', '138'); -INSERT INTO cp_tree VALUES ('7762', '3', '139', '100', '7755', '140'); -INSERT INTO cp_tree VALUES ('7763', '3', '141', '100', '7755', '142'); -INSERT INTO cp_tree VALUES ('7764', '3', '143', '100', '7755', '144'); -INSERT INTO cp_tree VALUES ('7765', '3', '145', '100', '7755', '146'); -INSERT INTO cp_tree VALUES ('7766', '3', '147', '100', '7755', '148'); -INSERT INTO cp_tree VALUES ('7767', '3', '149', '100', '7755', '150'); -INSERT INTO cp_tree VALUES ('7768', '3', '151', '100', '7755', '152'); -INSERT INTO cp_tree VALUES ('7769', '3', '153', '100', '7755', '154'); -INSERT INTO cp_tree VALUES ('7770', '3', '155', '100', '7755', '156'); -INSERT INTO cp_tree VALUES ('7771', '3', '157', '100', '7755', '158'); -INSERT INTO cp_tree VALUES ('7772', '3', '159', '100', '7755', '160'); -INSERT INTO cp_tree VALUES ('7773', '3', '161', '100', '7755', '162'); -INSERT INTO cp_tree VALUES ('7774', '3', '163', '100', '7755', '164'); -INSERT INTO cp_tree VALUES ('7775', '3', '165', '100', '7755', '166'); -INSERT INTO cp_tree VALUES ('7776', '3', '167', '100', '7755', '168'); -INSERT INTO cp_tree VALUES ('7777', '3', '169', '100', '7755', '170'); -INSERT INTO cp_tree VALUES ('7778', '3', '171', '100', '7755', '172'); -INSERT INTO cp_tree VALUES ('7779', '3', '173', '100', '7755', '174'); -INSERT INTO cp_tree VALUES ('7780', '3', '175', '100', '7755', '176'); -INSERT INTO cp_tree VALUES ('7781', '3', '177', '100', '7755', '178'); -INSERT INTO cp_tree VALUES ('7782', '3', '179', '100', '7755', '180'); -INSERT INTO cp_tree VALUES ('7783', '3', '181', '100', '7755', '182'); -INSERT INTO cp_tree VALUES ('7784', '3', '183', '100', '7755', '184'); -INSERT INTO cp_tree VALUES ('7785', '3', '185', '100', '7755', '186'); -INSERT INTO cp_tree VALUES ('7786', '3', '187', '100', '7755', '188'); -INSERT INTO cp_tree VALUES ('7787', '3', '189', '100', '7755', '190'); -INSERT INTO cp_tree VALUES ('7788', '3', '191', '100', '7755', '192'); -INSERT INTO cp_tree VALUES ('7789', '3', '193', '100', '7755', '194'); -INSERT INTO cp_tree VALUES ('7790', '3', '195', '100', '7755', '196'); -INSERT INTO cp_tree VALUES ('7791', '3', '197', '100', '7755', '198'); -INSERT INTO cp_tree VALUES ('7792', '3', '199', '100', '7755', '200'); -INSERT INTO cp_tree VALUES ('7793', '3', '201', '100', '7755', '202'); -INSERT INTO cp_tree VALUES ('7794', '3', '203', '100', '7755', '204'); -INSERT INTO cp_tree VALUES ('7795', '3', '205', '100', '7755', '206'); -INSERT INTO cp_tree VALUES ('7796', '3', '207', '100', '7755', '208'); -INSERT INTO cp_tree VALUES ('7797', '3', '209', '100', '7755', '210'); -INSERT INTO cp_tree VALUES ('7798', '3', '211', '100', '7755', '212'); -INSERT INTO cp_tree VALUES ('7799', '3', '213', '100', '7755', '214'); -INSERT INTO cp_tree VALUES ('7800', '3', '215', '100', '7755', '216'); -INSERT INTO cp_tree VALUES ('7801', '3', '217', '100', '7755', '218'); -INSERT INTO cp_tree VALUES ('7802', '3', '219', '100', '7755', '220'); -INSERT INTO cp_tree VALUES ('7803', '3', '221', '100', '7755', '222'); -INSERT INTO cp_tree VALUES ('7804', '3', '223', '100', '7755', '224'); -INSERT INTO cp_tree VALUES ('7805', '3', '225', '100', '7755', '226'); -INSERT INTO cp_tree VALUES ('7806', '3', '227', '100', '7755', '228'); -INSERT INTO cp_tree VALUES ('7807', '3', '229', '100', '7755', '230'); -INSERT INTO cp_tree VALUES ('7808', '3', '231', '100', '7755', '232'); -INSERT INTO cp_tree VALUES ('7809', '3', '233', '100', '7755', '234'); -INSERT INTO cp_tree VALUES ('7810', '3', '235', '100', '7755', '236'); -INSERT INTO cp_tree VALUES ('7811', '3', '237', '100', '7755', '238'); -INSERT INTO cp_tree VALUES ('7812', '3', '239', '100', '7755', '240'); -INSERT INTO cp_tree VALUES ('7813', '3', '241', '100', '7755', '242'); -INSERT INTO cp_tree VALUES ('7814', '3', '243', '100', '7755', '244'); -INSERT INTO cp_tree VALUES ('7815', '3', '245', '100', '7755', '246'); -INSERT INTO cp_tree VALUES ('7816', '3', '247', '100', '7755', '248'); -INSERT INTO cp_tree VALUES ('7817', '3', '249', '100', '7755', '250'); -INSERT INTO cp_tree VALUES ('7818', '3', '251', '100', '7755', '252'); -INSERT INTO cp_tree VALUES ('7819', '3', '253', '100', '7755', '254'); -INSERT INTO cp_tree VALUES ('7820', '3', '255', '100', '7755', '256'); -INSERT INTO cp_tree VALUES ('7821', '3', '257', '100', '7755', '258'); -INSERT INTO cp_tree VALUES ('7822', '3', '259', '100', '7755', '260'); -INSERT INTO cp_tree VALUES ('7823', '3', '261', '100', '7755', '262'); -INSERT INTO cp_tree VALUES ('7824', '2', '264', '100', '7692', '271'); -INSERT INTO cp_tree VALUES ('7825', '3', '265', '100', '7824', '266'); -INSERT INTO cp_tree VALUES ('7826', '3', '267', '100', '7824', '268'); -INSERT INTO cp_tree VALUES ('7827', '3', '269', '100', '7824', '270'); -INSERT INTO cp_tree VALUES ('7828', '2', '272', '100', '7692', '285'); -INSERT INTO cp_tree VALUES ('7829', '3', '273', '100', '7828', '274'); -INSERT INTO cp_tree VALUES ('7830', '3', '275', '100', '7828', '276'); -INSERT INTO cp_tree VALUES ('7831', '3', '277', '100', '7828', '278'); -INSERT INTO cp_tree VALUES ('7832', '3', '279', '100', '7828', '280'); -INSERT INTO cp_tree VALUES ('7833', '3', '281', '100', '7828', '282'); -INSERT INTO cp_tree VALUES ('7834', '3', '283', '100', '7828', '284'); -INSERT INTO cp_tree VALUES ('7835', '2', '286', '100', '7692', '289'); -INSERT INTO cp_tree VALUES ('7836', '3', '287', '100', '7835', '288'); -INSERT INTO cp_tree VALUES ('7837', '2', '290', '100', '7692', '427'); -INSERT INTO cp_tree VALUES ('7838', '3', '291', '100', '7837', '292'); -INSERT INTO cp_tree VALUES ('7839', '3', '293', '100', '7837', '294'); -INSERT INTO cp_tree VALUES ('7840', '3', '295', '100', '7837', '296'); -INSERT INTO cp_tree VALUES ('7841', '3', '297', '100', '7837', '298'); -INSERT INTO cp_tree VALUES ('7842', '3', '299', '100', '7837', '300'); -INSERT INTO cp_tree VALUES ('7843', '3', '301', '100', '7837', '302'); -INSERT INTO cp_tree VALUES ('7844', '3', '303', '100', '7837', '304'); -INSERT INTO cp_tree VALUES ('7845', '3', '305', '100', '7837', '306'); -INSERT INTO cp_tree VALUES ('7846', '3', '307', '100', '7837', '308'); -INSERT INTO cp_tree VALUES ('7847', '3', '309', '100', '7837', '310'); -INSERT INTO cp_tree VALUES ('7848', '3', '311', '100', '7837', '312'); -INSERT INTO cp_tree VALUES ('7849', '3', '313', '100', '7837', '314'); -INSERT INTO cp_tree VALUES ('7850', '3', '315', '100', '7837', '316'); -INSERT INTO cp_tree VALUES ('7851', '3', '317', '100', '7837', '318'); -INSERT INTO cp_tree VALUES ('7852', '3', '319', '100', '7837', '320'); -INSERT INTO cp_tree VALUES ('7853', '3', '321', '100', '7837', '322'); -INSERT INTO cp_tree VALUES ('7854', '3', '323', '100', '7837', '324'); -INSERT INTO cp_tree VALUES ('7855', '3', '325', '100', '7837', '326'); -INSERT INTO cp_tree VALUES ('7856', '3', '327', '100', '7837', '328'); -INSERT INTO cp_tree VALUES ('7857', '3', '329', '100', '7837', '330'); -INSERT INTO cp_tree VALUES ('7858', '3', '331', '100', '7837', '332'); -INSERT INTO cp_tree VALUES ('7859', '3', '333', '100', '7837', '334'); -INSERT INTO cp_tree VALUES ('7860', '3', '335', '100', '7837', '336'); -INSERT INTO cp_tree VALUES ('7861', '3', '337', '100', '7837', '338'); -INSERT INTO cp_tree VALUES ('7862', '3', '339', '100', '7837', '340'); -INSERT INTO cp_tree VALUES ('7863', '3', '341', '100', '7837', '342'); -INSERT INTO cp_tree VALUES ('7864', '3', '343', '100', '7837', '344'); -INSERT INTO cp_tree VALUES ('7865', '3', '345', '100', '7837', '346'); -INSERT INTO cp_tree VALUES ('7866', '3', '347', '100', '7837', '348'); -INSERT INTO cp_tree VALUES ('7867', '3', '349', '100', '7837', '350'); -INSERT INTO cp_tree VALUES ('7868', '3', '351', '100', '7837', '352'); -INSERT INTO cp_tree VALUES ('7869', '3', '353', '100', '7837', '354'); -INSERT INTO cp_tree VALUES ('7870', '3', '355', '100', '7837', '356'); -INSERT INTO cp_tree VALUES ('7871', '3', '357', '100', '7837', '358'); -INSERT INTO cp_tree VALUES ('7872', '3', '359', '100', '7837', '360'); -INSERT INTO cp_tree VALUES ('7873', '3', '361', '100', '7837', '362'); -INSERT INTO cp_tree VALUES ('7874', '3', '363', '100', '7837', '364'); -INSERT INTO cp_tree VALUES ('7875', '3', '365', '100', '7837', '366'); -INSERT INTO cp_tree VALUES ('7876', '3', '367', '100', '7837', '368'); -INSERT INTO cp_tree VALUES ('7877', '3', '369', '100', '7837', '370'); -INSERT INTO cp_tree VALUES ('7878', '3', '371', '100', '7837', '372'); -INSERT INTO cp_tree VALUES ('7879', '3', '373', '100', '7837', '374'); -INSERT INTO cp_tree VALUES ('7880', '3', '375', '100', '7837', '376'); -INSERT INTO cp_tree VALUES ('7881', '3', '377', '100', '7837', '378'); -INSERT INTO cp_tree VALUES ('7882', '3', '379', '100', '7837', '380'); -INSERT INTO cp_tree VALUES ('7883', '3', '381', '100', '7837', '382'); -INSERT INTO cp_tree VALUES ('7884', '3', '383', '100', '7837', '384'); -INSERT INTO cp_tree VALUES ('7885', '3', '385', '100', '7837', '386'); -INSERT INTO cp_tree VALUES ('7886', '3', '387', '100', '7837', '388'); -INSERT INTO cp_tree VALUES ('7887', '3', '389', '100', '7837', '390'); -INSERT INTO cp_tree VALUES ('7888', '3', '391', '100', '7837', '392'); -INSERT INTO cp_tree VALUES ('7889', '3', '393', '100', '7837', '394'); -INSERT INTO cp_tree VALUES ('7890', '3', '395', '100', '7837', '396'); -INSERT INTO cp_tree VALUES ('7891', '3', '397', '100', '7837', '398'); -INSERT INTO cp_tree VALUES ('7892', '3', '399', '100', '7837', '400'); -INSERT INTO cp_tree VALUES ('7893', '3', '401', '100', '7837', '402'); -INSERT INTO cp_tree VALUES ('7894', '3', '403', '100', '7837', '404'); -INSERT INTO cp_tree VALUES ('7895', '3', '405', '100', '7837', '406'); -INSERT INTO cp_tree VALUES ('7896', '3', '407', '100', '7837', '408'); -INSERT INTO cp_tree VALUES ('7897', '3', '409', '100', '7837', '410'); -INSERT INTO cp_tree VALUES ('7898', '3', '411', '100', '7837', '412'); -INSERT INTO cp_tree VALUES ('7899', '3', '413', '100', '7837', '414'); -INSERT INTO cp_tree VALUES ('7900', '3', '415', '100', '7837', '416'); -INSERT INTO cp_tree VALUES ('7901', '3', '417', '100', '7837', '418'); -INSERT INTO cp_tree VALUES ('7902', '3', '419', '100', '7837', '420'); -INSERT INTO cp_tree VALUES ('7903', '3', '421', '100', '7837', '422'); -INSERT INTO cp_tree VALUES ('7904', '3', '423', '100', '7837', '424'); -INSERT INTO cp_tree VALUES ('7905', '3', '425', '100', '7837', '426'); -INSERT INTO cp_tree VALUES ('7906', '2', '428', '100', '7692', '435'); -INSERT INTO cp_tree VALUES ('7907', '3', '429', '100', '7906', '430'); -INSERT INTO cp_tree VALUES ('7908', '3', '431', '100', '7906', '432'); -INSERT INTO cp_tree VALUES ('7909', '3', '433', '100', '7906', '434'); -INSERT INTO cp_tree VALUES ('7910', '2', '436', '100', '7692', '449'); -INSERT INTO cp_tree VALUES ('7911', '3', '437', '100', '7910', '438'); -INSERT INTO cp_tree VALUES ('7912', '3', '439', '100', '7910', '440'); -INSERT INTO cp_tree VALUES ('7913', '3', '441', '100', '7910', '442'); -INSERT INTO cp_tree VALUES ('7914', '3', '443', '100', '7910', '444'); -INSERT INTO cp_tree VALUES ('7915', '3', '445', '100', '7910', '446'); -INSERT INTO cp_tree VALUES ('7916', '3', '447', '100', '7910', '448'); -INSERT INTO cp_tree VALUES ('7917', '2', '450', '100', '7692', '453'); -INSERT INTO cp_tree VALUES ('7918', '3', '451', '100', '7917', '452'); -INSERT INTO cp_tree VALUES ('7919', '2', '454', '100', '7692', '591'); -INSERT INTO cp_tree VALUES ('7920', '3', '455', '100', '7919', '456'); -INSERT INTO cp_tree VALUES ('7921', '3', '457', '100', '7919', '458'); -INSERT INTO cp_tree VALUES ('7922', '3', '459', '100', '7919', '460'); -INSERT INTO cp_tree VALUES ('7923', '3', '461', '100', '7919', '462'); -INSERT INTO cp_tree VALUES ('7924', '3', '463', '100', '7919', '464'); -INSERT INTO cp_tree VALUES ('7925', '3', '465', '100', '7919', '466'); -INSERT INTO cp_tree VALUES ('7926', '3', '467', '100', '7919', '468'); -INSERT INTO cp_tree VALUES ('7927', '3', '469', '100', '7919', '470'); -INSERT INTO cp_tree VALUES ('7928', '3', '471', '100', '7919', '472'); -INSERT INTO cp_tree VALUES ('7929', '3', '473', '100', '7919', '474'); -INSERT INTO cp_tree VALUES ('7930', '3', '475', '100', '7919', '476'); -INSERT INTO cp_tree VALUES ('7931', '3', '477', '100', '7919', '478'); -INSERT INTO cp_tree VALUES ('7932', '3', '479', '100', '7919', '480'); -INSERT INTO cp_tree VALUES ('7933', '3', '481', '100', '7919', '482'); -INSERT INTO cp_tree VALUES ('7934', '3', '483', '100', '7919', '484'); -INSERT INTO cp_tree VALUES ('7935', '3', '485', '100', '7919', '486'); -INSERT INTO cp_tree VALUES ('7936', '3', '487', '100', '7919', '488'); -INSERT INTO cp_tree VALUES ('7937', '3', '489', '100', '7919', '490'); -INSERT INTO cp_tree VALUES ('7938', '3', '491', '100', '7919', '492'); -INSERT INTO cp_tree VALUES ('7939', '3', '493', '100', '7919', '494'); -INSERT INTO cp_tree VALUES ('7940', '3', '495', '100', '7919', '496'); -INSERT INTO cp_tree VALUES ('7941', '3', '497', '100', '7919', '498'); -INSERT INTO cp_tree VALUES ('7942', '3', '499', '100', '7919', '500'); -INSERT INTO cp_tree VALUES ('7943', '3', '501', '100', '7919', '502'); -INSERT INTO cp_tree VALUES ('7944', '3', '503', '100', '7919', '504'); -INSERT INTO cp_tree VALUES ('7945', '3', '505', '100', '7919', '506'); -INSERT INTO cp_tree VALUES ('7946', '3', '507', '100', '7919', '508'); -INSERT INTO cp_tree VALUES ('7947', '3', '509', '100', '7919', '510'); -INSERT INTO cp_tree VALUES ('7948', '3', '511', '100', '7919', '512'); -INSERT INTO cp_tree VALUES ('7949', '3', '513', '100', '7919', '514'); -INSERT INTO cp_tree VALUES ('7950', '3', '515', '100', '7919', '516'); -INSERT INTO cp_tree VALUES ('7951', '3', '517', '100', '7919', '518'); -INSERT INTO cp_tree VALUES ('7952', '3', '519', '100', '7919', '520'); -INSERT INTO cp_tree VALUES ('7953', '3', '521', '100', '7919', '522'); -INSERT INTO cp_tree VALUES ('7954', '3', '523', '100', '7919', '524'); -INSERT INTO cp_tree VALUES ('7955', '3', '525', '100', '7919', '526'); -INSERT INTO cp_tree VALUES ('7956', '3', '527', '100', '7919', '528'); -INSERT INTO cp_tree VALUES ('7957', '3', '529', '100', '7919', '530'); -INSERT INTO cp_tree VALUES ('7958', '3', '531', '100', '7919', '532'); -INSERT INTO cp_tree VALUES ('7959', '3', '533', '100', '7919', '534'); -INSERT INTO cp_tree VALUES ('7960', '3', '535', '100', '7919', '536'); -INSERT INTO cp_tree VALUES ('7961', '3', '537', '100', '7919', '538'); -INSERT INTO cp_tree VALUES ('7962', '3', '539', '100', '7919', '540'); -INSERT INTO cp_tree VALUES ('7963', '3', '541', '100', '7919', '542'); -INSERT INTO cp_tree VALUES ('7964', '3', '543', '100', '7919', '544'); -INSERT INTO cp_tree VALUES ('7965', '3', '545', '100', '7919', '546'); -INSERT INTO cp_tree VALUES ('7966', '3', '547', '100', '7919', '548'); -INSERT INTO cp_tree VALUES ('7967', '3', '549', '100', '7919', '550'); -INSERT INTO cp_tree VALUES ('7968', '3', '551', '100', '7919', '552'); -INSERT INTO cp_tree VALUES ('7969', '3', '553', '100', '7919', '554'); -INSERT INTO cp_tree VALUES ('7970', '3', '555', '100', '7919', '556'); -INSERT INTO cp_tree VALUES ('7971', '3', '557', '100', '7919', '558'); -INSERT INTO cp_tree VALUES ('7972', '3', '559', '100', '7919', '560'); -INSERT INTO cp_tree VALUES ('7973', '3', '561', '100', '7919', '562'); -INSERT INTO cp_tree VALUES ('7974', '3', '563', '100', '7919', '564'); -INSERT INTO cp_tree VALUES ('7975', '3', '565', '100', '7919', '566'); -INSERT INTO cp_tree VALUES ('7976', '3', '567', '100', '7919', '568'); -INSERT INTO cp_tree VALUES ('7977', '3', '569', '100', '7919', '570'); -INSERT INTO cp_tree VALUES ('7978', '3', '571', '100', '7919', '572'); -INSERT INTO cp_tree VALUES ('7979', '3', '573', '100', '7919', '574'); -INSERT INTO cp_tree VALUES ('7980', '3', '575', '100', '7919', '576'); -INSERT INTO cp_tree VALUES ('7981', '3', '577', '100', '7919', '578'); -INSERT INTO cp_tree VALUES ('7982', '3', '579', '100', '7919', '580'); -INSERT INTO cp_tree VALUES ('7983', '3', '581', '100', '7919', '582'); -INSERT INTO cp_tree VALUES ('7984', '3', '583', '100', '7919', '584'); -INSERT INTO cp_tree VALUES ('7985', '3', '585', '100', '7919', '586'); -INSERT INTO cp_tree VALUES ('7986', '3', '587', '100', '7919', '588'); -INSERT INTO cp_tree VALUES ('7987', '3', '589', '100', '7919', '590'); -INSERT INTO cp_tree VALUES ('7988', '2', '592', '100', '7692', '599'); -INSERT INTO cp_tree VALUES ('7989', '3', '593', '100', '7988', '594'); -INSERT INTO cp_tree VALUES ('7990', '3', '595', '100', '7988', '596'); -INSERT INTO cp_tree VALUES ('7991', '3', '597', '100', '7988', '598'); -INSERT INTO cp_tree VALUES ('7992', '2', '600', '100', '7692', '609'); -INSERT INTO cp_tree VALUES ('7993', '3', '601', '100', '7992', '602'); -INSERT INTO cp_tree VALUES ('7994', '3', '603', '100', '7992', '604'); -INSERT INTO cp_tree VALUES ('7995', '3', '605', '100', '7992', '606'); -INSERT INTO cp_tree VALUES ('7996', '3', '607', '100', '7992', '608'); -INSERT INTO cp_tree VALUES ('7997', '2', '610', '100', '7692', '613'); -INSERT INTO cp_tree VALUES ('7998', '3', '611', '100', '7997', '612'); -INSERT INTO cp_tree VALUES ('7999', '2', '614', '100', '7692', '751'); -INSERT INTO cp_tree VALUES ('8000', '3', '615', '100', '7999', '616'); -INSERT INTO cp_tree VALUES ('8001', '3', '617', '100', '7999', '618'); -INSERT INTO cp_tree VALUES ('8002', '3', '619', '100', '7999', '620'); -INSERT INTO cp_tree VALUES ('8003', '3', '621', '100', '7999', '622'); -INSERT INTO cp_tree VALUES ('8004', '3', '623', '100', '7999', '624'); -INSERT INTO cp_tree VALUES ('8005', '3', '625', '100', '7999', '626'); -INSERT INTO cp_tree VALUES ('8006', '3', '627', '100', '7999', '628'); -INSERT INTO cp_tree VALUES ('8007', '3', '629', '100', '7999', '630'); -INSERT INTO cp_tree VALUES ('8008', '3', '631', '100', '7999', '632'); -INSERT INTO cp_tree VALUES ('8009', '3', '633', '100', '7999', '634'); -INSERT INTO cp_tree VALUES ('8010', '3', '635', '100', '7999', '636'); -INSERT INTO cp_tree VALUES ('8011', '3', '637', '100', '7999', '638'); -INSERT INTO cp_tree VALUES ('8012', '3', '639', '100', '7999', '640'); -INSERT INTO cp_tree VALUES ('8013', '3', '641', '100', '7999', '642'); -INSERT INTO cp_tree VALUES ('8014', '3', '643', '100', '7999', '644'); -INSERT INTO cp_tree VALUES ('8015', '3', '645', '100', '7999', '646'); -INSERT INTO cp_tree VALUES ('8016', '3', '647', '100', '7999', '648'); -INSERT INTO cp_tree VALUES ('8017', '3', '649', '100', '7999', '650'); -INSERT INTO cp_tree VALUES ('8018', '3', '651', '100', '7999', '652'); -INSERT INTO cp_tree VALUES ('8019', '3', '653', '100', '7999', '654'); -INSERT INTO cp_tree VALUES ('8020', '3', '655', '100', '7999', '656'); -INSERT INTO cp_tree VALUES ('8021', '3', '657', '100', '7999', '658'); -INSERT INTO cp_tree VALUES ('8022', '3', '659', '100', '7999', '660'); -INSERT INTO cp_tree VALUES ('8023', '3', '661', '100', '7999', '662'); -INSERT INTO cp_tree VALUES ('8024', '3', '663', '100', '7999', '664'); -INSERT INTO cp_tree VALUES ('8025', '3', '665', '100', '7999', '666'); -INSERT INTO cp_tree VALUES ('8026', '3', '667', '100', '7999', '668'); -INSERT INTO cp_tree VALUES ('8027', '3', '669', '100', '7999', '670'); -INSERT INTO cp_tree VALUES ('8028', '3', '671', '100', '7999', '672'); -INSERT INTO cp_tree VALUES ('8029', '3', '673', '100', '7999', '674'); -INSERT INTO cp_tree VALUES ('8030', '3', '675', '100', '7999', '676'); -INSERT INTO cp_tree VALUES ('8031', '3', '677', '100', '7999', '678'); -INSERT INTO cp_tree VALUES ('8032', '3', '679', '100', '7999', '680'); -INSERT INTO cp_tree VALUES ('8033', '3', '681', '100', '7999', '682'); -INSERT INTO cp_tree VALUES ('8034', '3', '683', '100', '7999', '684'); -INSERT INTO cp_tree VALUES ('8035', '3', '685', '100', '7999', '686'); -INSERT INTO cp_tree VALUES ('8036', '3', '687', '100', '7999', '688'); -INSERT INTO cp_tree VALUES ('8037', '3', '689', '100', '7999', '690'); -INSERT INTO cp_tree VALUES ('8038', '3', '691', '100', '7999', '692'); -INSERT INTO cp_tree VALUES ('8039', '3', '693', '100', '7999', '694'); -INSERT INTO cp_tree VALUES ('8040', '3', '695', '100', '7999', '696'); -INSERT INTO cp_tree VALUES ('8041', '3', '697', '100', '7999', '698'); -INSERT INTO cp_tree VALUES ('8042', '3', '699', '100', '7999', '700'); -INSERT INTO cp_tree VALUES ('8043', '3', '701', '100', '7999', '702'); -INSERT INTO cp_tree VALUES ('8044', '3', '703', '100', '7999', '704'); -INSERT INTO cp_tree VALUES ('8045', '3', '705', '100', '7999', '706'); -INSERT INTO cp_tree VALUES ('8046', '3', '707', '100', '7999', '708'); -INSERT INTO cp_tree VALUES ('8047', '3', '709', '100', '7999', '710'); -INSERT INTO cp_tree VALUES ('8048', '3', '711', '100', '7999', '712'); -INSERT INTO cp_tree VALUES ('8049', '3', '713', '100', '7999', '714'); -INSERT INTO cp_tree VALUES ('8050', '3', '715', '100', '7999', '716'); -INSERT INTO cp_tree VALUES ('8051', '3', '717', '100', '7999', '718'); -INSERT INTO cp_tree VALUES ('8052', '3', '719', '100', '7999', '720'); -INSERT INTO cp_tree VALUES ('8053', '3', '721', '100', '7999', '722'); -INSERT INTO cp_tree VALUES ('8054', '3', '723', '100', '7999', '724'); -INSERT INTO cp_tree VALUES ('8055', '3', '725', '100', '7999', '726'); -INSERT INTO cp_tree VALUES ('8056', '3', '727', '100', '7999', '728'); -INSERT INTO cp_tree VALUES ('8057', '3', '729', '100', '7999', '730'); -INSERT INTO cp_tree VALUES ('8058', '3', '731', '100', '7999', '732'); -INSERT INTO cp_tree VALUES ('8059', '3', '733', '100', '7999', '734'); -INSERT INTO cp_tree VALUES ('8060', '3', '735', '100', '7999', '736'); -INSERT INTO cp_tree VALUES ('8061', '3', '737', '100', '7999', '738'); -INSERT INTO cp_tree VALUES ('8062', '3', '739', '100', '7999', '740'); -INSERT INTO cp_tree VALUES ('8063', '3', '741', '100', '7999', '742'); -INSERT INTO cp_tree VALUES ('8064', '3', '743', '100', '7999', '744'); -INSERT INTO cp_tree VALUES ('8065', '3', '745', '100', '7999', '746'); -INSERT INTO cp_tree VALUES ('8066', '3', '747', '100', '7999', '748'); -INSERT INTO cp_tree VALUES ('8067', '3', '749', '100', '7999', '750'); -INSERT INTO cp_tree VALUES ('8068', '2', '752', '100', '7692', '759'); -INSERT INTO cp_tree VALUES ('8069', '3', '753', '100', '8068', '754'); -INSERT INTO cp_tree VALUES ('8070', '3', '755', '100', '8068', '756'); -INSERT INTO cp_tree VALUES ('8071', '3', '757', '100', '8068', '758'); -INSERT INTO cp_tree VALUES ('8072', '2', '760', '100', '7692', '783'); -INSERT INTO cp_tree VALUES ('8073', '3', '761', '100', '8072', '762'); -INSERT INTO cp_tree VALUES ('8074', '3', '763', '100', '8072', '764'); -INSERT INTO cp_tree VALUES ('8075', '3', '765', '100', '8072', '766'); -INSERT INTO cp_tree VALUES ('8076', '3', '767', '100', '8072', '768'); -INSERT INTO cp_tree VALUES ('8077', '3', '769', '100', '8072', '770'); -INSERT INTO cp_tree VALUES ('8078', '3', '771', '100', '8072', '772'); -INSERT INTO cp_tree VALUES ('8079', '3', '773', '100', '8072', '774'); -INSERT INTO cp_tree VALUES ('8080', '3', '775', '100', '8072', '776'); -INSERT INTO cp_tree VALUES ('8081', '3', '777', '100', '8072', '778'); -INSERT INTO cp_tree VALUES ('8082', '3', '779', '100', '8072', '780'); -INSERT INTO cp_tree VALUES ('8083', '3', '781', '100', '8072', '782'); -INSERT INTO cp_tree VALUES ('8084', '2', '784', '100', '7692', '787'); -INSERT INTO cp_tree VALUES ('8085', '3', '785', '100', '8084', '786'); -INSERT INTO cp_tree VALUES ('8086', '2', '788', '100', '7692', '925'); -INSERT INTO cp_tree VALUES ('8087', '3', '789', '100', '8086', '790'); -INSERT INTO cp_tree VALUES ('8088', '3', '791', '100', '8086', '792'); -INSERT INTO cp_tree VALUES ('8089', '3', '793', '100', '8086', '794'); -INSERT INTO cp_tree VALUES ('8090', '3', '795', '100', '8086', '796'); -INSERT INTO cp_tree VALUES ('8091', '3', '797', '100', '8086', '798'); -INSERT INTO cp_tree VALUES ('8092', '3', '799', '100', '8086', '800'); -INSERT INTO cp_tree VALUES ('8093', '3', '801', '100', '8086', '802'); -INSERT INTO cp_tree VALUES ('8094', '3', '803', '100', '8086', '804'); -INSERT INTO cp_tree VALUES ('8095', '3', '805', '100', '8086', '806'); -INSERT INTO cp_tree VALUES ('8096', '3', '807', '100', '8086', '808'); -INSERT INTO cp_tree VALUES ('8097', '3', '809', '100', '8086', '810'); -INSERT INTO cp_tree VALUES ('8098', '3', '811', '100', '8086', '812'); -INSERT INTO cp_tree VALUES ('8099', '3', '813', '100', '8086', '814'); -INSERT INTO cp_tree VALUES ('8100', '3', '815', '100', '8086', '816'); -INSERT INTO cp_tree VALUES ('8101', '3', '817', '100', '8086', '818'); -INSERT INTO cp_tree VALUES ('8102', '3', '819', '100', '8086', '820'); -INSERT INTO cp_tree VALUES ('8103', '3', '821', '100', '8086', '822'); -INSERT INTO cp_tree VALUES ('8104', '3', '823', '100', '8086', '824'); -INSERT INTO cp_tree VALUES ('8105', '3', '825', '100', '8086', '826'); -INSERT INTO cp_tree VALUES ('8106', '3', '827', '100', '8086', '828'); -INSERT INTO cp_tree VALUES ('8107', '3', '829', '100', '8086', '830'); -INSERT INTO cp_tree VALUES ('8108', '3', '831', '100', '8086', '832'); -INSERT INTO cp_tree VALUES ('8109', '3', '833', '100', '8086', '834'); -INSERT INTO cp_tree VALUES ('8110', '3', '835', '100', '8086', '836'); -INSERT INTO cp_tree VALUES ('8111', '3', '837', '100', '8086', '838'); -INSERT INTO cp_tree VALUES ('8112', '3', '839', '100', '8086', '840'); -INSERT INTO cp_tree VALUES ('8113', '3', '841', '100', '8086', '842'); -INSERT INTO cp_tree VALUES ('8114', '3', '843', '100', '8086', '844'); -INSERT INTO cp_tree VALUES ('8115', '3', '845', '100', '8086', '846'); -INSERT INTO cp_tree VALUES ('8116', '3', '847', '100', '8086', '848'); -INSERT INTO cp_tree VALUES ('8117', '3', '849', '100', '8086', '850'); -INSERT INTO cp_tree VALUES ('8118', '3', '851', '100', '8086', '852'); -INSERT INTO cp_tree VALUES ('8119', '3', '853', '100', '8086', '854'); -INSERT INTO cp_tree VALUES ('8120', '3', '855', '100', '8086', '856'); -INSERT INTO cp_tree VALUES ('8121', '3', '857', '100', '8086', '858'); -INSERT INTO cp_tree VALUES ('8122', '3', '859', '100', '8086', '860'); -INSERT INTO cp_tree VALUES ('8123', '3', '861', '100', '8086', '862'); -INSERT INTO cp_tree VALUES ('8124', '3', '863', '100', '8086', '864'); -INSERT INTO cp_tree VALUES ('8125', '3', '865', '100', '8086', '866'); -INSERT INTO cp_tree VALUES ('8126', '3', '867', '100', '8086', '868'); -INSERT INTO cp_tree VALUES ('8127', '3', '869', '100', '8086', '870'); -INSERT INTO cp_tree VALUES ('8128', '3', '871', '100', '8086', '872'); -INSERT INTO cp_tree VALUES ('8129', '3', '873', '100', '8086', '874'); -INSERT INTO cp_tree VALUES ('8130', '3', '875', '100', '8086', '876'); -INSERT INTO cp_tree VALUES ('8131', '3', '877', '100', '8086', '878'); -INSERT INTO cp_tree VALUES ('8132', '3', '879', '100', '8086', '880'); -INSERT INTO cp_tree VALUES ('8133', '3', '881', '100', '8086', '882'); -INSERT INTO cp_tree VALUES ('8134', '3', '883', '100', '8086', '884'); -INSERT INTO cp_tree VALUES ('8135', '3', '885', '100', '8086', '886'); -INSERT INTO cp_tree VALUES ('8136', '3', '887', '100', '8086', '888'); -INSERT INTO cp_tree VALUES ('8137', '3', '889', '100', '8086', '890'); -INSERT INTO cp_tree VALUES ('8138', '3', '891', '100', '8086', '892'); -INSERT INTO cp_tree VALUES ('8139', '3', '893', '100', '8086', '894'); -INSERT INTO cp_tree VALUES ('8140', '3', '895', '100', '8086', '896'); -INSERT INTO cp_tree VALUES ('8141', '3', '897', '100', '8086', '898'); -INSERT INTO cp_tree VALUES ('8142', '3', '899', '100', '8086', '900'); -INSERT INTO cp_tree VALUES ('8143', '3', '901', '100', '8086', '902'); -INSERT INTO cp_tree VALUES ('8144', '3', '903', '100', '8086', '904'); -INSERT INTO cp_tree VALUES ('8145', '3', '905', '100', '8086', '906'); -INSERT INTO cp_tree VALUES ('8146', '3', '907', '100', '8086', '908'); -INSERT INTO cp_tree VALUES ('8147', '3', '909', '100', '8086', '910'); -INSERT INTO cp_tree VALUES ('8148', '3', '911', '100', '8086', '912'); -INSERT INTO cp_tree VALUES ('8149', '3', '913', '100', '8086', '914'); -INSERT INTO cp_tree VALUES ('8150', '3', '915', '100', '8086', '916'); -INSERT INTO cp_tree VALUES ('8151', '3', '917', '100', '8086', '918'); -INSERT INTO cp_tree VALUES ('8152', '3', '919', '100', '8086', '920'); -INSERT INTO cp_tree VALUES ('8153', '3', '921', '100', '8086', '922'); -INSERT INTO cp_tree VALUES ('8154', '3', '923', '100', '8086', '924'); -INSERT INTO cp_tree VALUES ('8155', '2', '926', '100', '7692', '933'); -INSERT INTO cp_tree VALUES ('8156', '3', '927', '100', '8155', '928'); -INSERT INTO cp_tree VALUES ('8157', '3', '929', '100', '8155', '930'); -INSERT INTO cp_tree VALUES ('8158', '3', '931', '100', '8155', '932'); -INSERT INTO cp_tree VALUES ('8159', '2', '934', '100', '7692', '951'); -INSERT INTO cp_tree VALUES ('8160', '3', '935', '100', '8159', '936'); -INSERT INTO cp_tree VALUES ('8161', '3', '937', '100', '8159', '938'); -INSERT INTO cp_tree VALUES ('8162', '3', '939', '100', '8159', '940'); -INSERT INTO cp_tree VALUES ('8163', '3', '941', '100', '8159', '942'); -INSERT INTO cp_tree VALUES ('8164', '3', '943', '100', '8159', '944'); -INSERT INTO cp_tree VALUES ('8165', '3', '945', '100', '8159', '946'); -INSERT INTO cp_tree VALUES ('8166', '3', '947', '100', '8159', '948'); -INSERT INTO cp_tree VALUES ('8167', '3', '949', '100', '8159', '950'); -INSERT INTO cp_tree VALUES ('8168', '2', '952', '100', '7692', '955'); -INSERT INTO cp_tree VALUES ('8169', '3', '953', '100', '8168', '954'); -INSERT INTO cp_tree VALUES ('8170', '2', '956', '100', '7692', '1093'); -INSERT INTO cp_tree VALUES ('8171', '3', '957', '100', '8170', '958'); -INSERT INTO cp_tree VALUES ('8172', '3', '959', '100', '8170', '960'); -INSERT INTO cp_tree VALUES ('8173', '3', '961', '100', '8170', '962'); -INSERT INTO cp_tree VALUES ('8174', '3', '963', '100', '8170', '964'); -INSERT INTO cp_tree VALUES ('8175', '3', '965', '100', '8170', '966'); -INSERT INTO cp_tree VALUES ('8176', '3', '967', '100', '8170', '968'); -INSERT INTO cp_tree VALUES ('8177', '3', '969', '100', '8170', '970'); -INSERT INTO cp_tree VALUES ('8178', '3', '971', '100', '8170', '972'); -INSERT INTO cp_tree VALUES ('8179', '3', '973', '100', '8170', '974'); -INSERT INTO cp_tree VALUES ('8180', '3', '975', '100', '8170', '976'); -INSERT INTO cp_tree VALUES ('8181', '3', '977', '100', '8170', '978'); -INSERT INTO cp_tree VALUES ('8182', '3', '979', '100', '8170', '980'); -INSERT INTO cp_tree VALUES ('8183', '3', '981', '100', '8170', '982'); -INSERT INTO cp_tree VALUES ('8184', '3', '983', '100', '8170', '984'); -INSERT INTO cp_tree VALUES ('8185', '3', '985', '100', '8170', '986'); -INSERT INTO cp_tree VALUES ('8186', '3', '987', '100', '8170', '988'); -INSERT INTO cp_tree VALUES ('8187', '3', '989', '100', '8170', '990'); -INSERT INTO cp_tree VALUES ('8188', '3', '991', '100', '8170', '992'); -INSERT INTO cp_tree VALUES ('8189', '3', '993', '100', '8170', '994'); -INSERT INTO cp_tree VALUES ('8190', '3', '995', '100', '8170', '996'); -INSERT INTO cp_tree VALUES ('8191', '3', '997', '100', '8170', '998'); -INSERT INTO cp_tree VALUES ('8192', '3', '999', '100', '8170', '1000'); -INSERT INTO cp_tree VALUES ('8193', '3', '1001', '100', '8170', '1002'); -INSERT INTO cp_tree VALUES ('8194', '3', '1003', '100', '8170', '1004'); -INSERT INTO cp_tree VALUES ('8195', '3', '1005', '100', '8170', '1006'); -INSERT INTO cp_tree VALUES ('8196', '3', '1007', '100', '8170', '1008'); -INSERT INTO cp_tree VALUES ('8197', '3', '1009', '100', '8170', '1010'); -INSERT INTO cp_tree VALUES ('8198', '3', '1011', '100', '8170', '1012'); -INSERT INTO cp_tree VALUES ('8199', '3', '1013', '100', '8170', '1014'); -INSERT INTO cp_tree VALUES ('8200', '3', '1015', '100', '8170', '1016'); -INSERT INTO cp_tree VALUES ('8201', '3', '1017', '100', '8170', '1018'); -INSERT INTO cp_tree VALUES ('8202', '3', '1019', '100', '8170', '1020'); -INSERT INTO cp_tree VALUES ('8203', '3', '1021', '100', '8170', '1022'); -INSERT INTO cp_tree VALUES ('8204', '3', '1023', '100', '8170', '1024'); -INSERT INTO cp_tree VALUES ('8205', '3', '1025', '100', '8170', '1026'); -INSERT INTO cp_tree VALUES ('8206', '3', '1027', '100', '8170', '1028'); -INSERT INTO cp_tree VALUES ('8207', '3', '1029', '100', '8170', '1030'); -INSERT INTO cp_tree VALUES ('8208', '3', '1031', '100', '8170', '1032'); -INSERT INTO cp_tree VALUES ('8209', '3', '1033', '100', '8170', '1034'); -INSERT INTO cp_tree VALUES ('8210', '3', '1035', '100', '8170', '1036'); -INSERT INTO cp_tree VALUES ('8211', '3', '1037', '100', '8170', '1038'); -INSERT INTO cp_tree VALUES ('8212', '3', '1039', '100', '8170', '1040'); -INSERT INTO cp_tree VALUES ('8213', '3', '1041', '100', '8170', '1042'); -INSERT INTO cp_tree VALUES ('8214', '3', '1043', '100', '8170', '1044'); -INSERT INTO cp_tree VALUES ('8215', '3', '1045', '100', '8170', '1046'); -INSERT INTO cp_tree VALUES ('8216', '3', '1047', '100', '8170', '1048'); -INSERT INTO cp_tree VALUES ('8217', '3', '1049', '100', '8170', '1050'); -INSERT INTO cp_tree VALUES ('8218', '3', '1051', '100', '8170', '1052'); -INSERT INTO cp_tree VALUES ('8219', '3', '1053', '100', '8170', '1054'); -INSERT INTO cp_tree VALUES ('8220', '3', '1055', '100', '8170', '1056'); -INSERT INTO cp_tree VALUES ('8221', '3', '1057', '100', '8170', '1058'); -INSERT INTO cp_tree VALUES ('8222', '3', '1059', '100', '8170', '1060'); -INSERT INTO cp_tree VALUES ('8223', '3', '1061', '100', '8170', '1062'); -INSERT INTO cp_tree VALUES ('8224', '3', '1063', '100', '8170', '1064'); -INSERT INTO cp_tree VALUES ('8225', '3', '1065', '100', '8170', '1066'); -INSERT INTO cp_tree VALUES ('8226', '3', '1067', '100', '8170', '1068'); -INSERT INTO cp_tree VALUES ('8227', '3', '1069', '100', '8170', '1070'); -INSERT INTO cp_tree VALUES ('8228', '3', '1071', '100', '8170', '1072'); -INSERT INTO cp_tree VALUES ('8229', '3', '1073', '100', '8170', '1074'); -INSERT INTO cp_tree VALUES ('8230', '3', '1075', '100', '8170', '1076'); -INSERT INTO cp_tree VALUES ('8231', '3', '1077', '100', '8170', '1078'); -INSERT INTO cp_tree VALUES ('8232', '3', '1079', '100', '8170', '1080'); -INSERT INTO cp_tree VALUES ('8233', '3', '1081', '100', '8170', '1082'); -INSERT INTO cp_tree VALUES ('8234', '3', '1083', '100', '8170', '1084'); -INSERT INTO cp_tree VALUES ('8235', '3', '1085', '100', '8170', '1086'); -INSERT INTO cp_tree VALUES ('8236', '3', '1087', '100', '8170', '1088'); -INSERT INTO cp_tree VALUES ('8237', '3', '1089', '100', '8170', '1090'); -INSERT INTO cp_tree VALUES ('8238', '3', '1091', '100', '8170', '1092'); -INSERT INTO cp_tree VALUES ('8239', '2', '1094', '100', '7692', '1101'); -INSERT INTO cp_tree VALUES ('8240', '3', '1095', '100', '8239', '1096'); -INSERT INTO cp_tree VALUES ('8241', '3', '1097', '100', '8239', '1098'); -INSERT INTO cp_tree VALUES ('8242', '3', '1099', '100', '8239', '1100'); -INSERT INTO cp_tree VALUES ('8243', '2', '1102', '100', '7692', '1111'); -INSERT INTO cp_tree VALUES ('8244', '3', '1103', '100', '8243', '1104'); -INSERT INTO cp_tree VALUES ('8245', '3', '1105', '100', '8243', '1106'); -INSERT INTO cp_tree VALUES ('8246', '3', '1107', '100', '8243', '1108'); -INSERT INTO cp_tree VALUES ('8247', '3', '1109', '100', '8243', '1110'); -INSERT INTO cp_tree VALUES ('8248', '2', '1112', '100', '7692', '1115'); -INSERT INTO cp_tree VALUES ('8249', '3', '1113', '100', '8248', '1114'); -INSERT INTO cp_tree VALUES ('8250', '2', '1116', '100', '7692', '1253'); -INSERT INTO cp_tree VALUES ('8251', '3', '1117', '100', '8250', '1118'); -INSERT INTO cp_tree VALUES ('8252', '3', '1119', '100', '8250', '1120'); -INSERT INTO cp_tree VALUES ('8253', '3', '1121', '100', '8250', '1122'); -INSERT INTO cp_tree VALUES ('8254', '3', '1123', '100', '8250', '1124'); -INSERT INTO cp_tree VALUES ('8255', '3', '1125', '100', '8250', '1126'); -INSERT INTO cp_tree VALUES ('8256', '3', '1127', '100', '8250', '1128'); -INSERT INTO cp_tree VALUES ('8257', '3', '1129', '100', '8250', '1130'); -INSERT INTO cp_tree VALUES ('8258', '3', '1131', '100', '8250', '1132'); -INSERT INTO cp_tree VALUES ('8259', '3', '1133', '100', '8250', '1134'); -INSERT INTO cp_tree VALUES ('8260', '3', '1135', '100', '8250', '1136'); -INSERT INTO cp_tree VALUES ('8261', '3', '1137', '100', '8250', '1138'); -INSERT INTO cp_tree VALUES ('8262', '3', '1139', '100', '8250', '1140'); -INSERT INTO cp_tree VALUES ('8263', '3', '1141', '100', '8250', '1142'); -INSERT INTO cp_tree VALUES ('8264', '3', '1143', '100', '8250', '1144'); -INSERT INTO cp_tree VALUES ('8265', '3', '1145', '100', '8250', '1146'); -INSERT INTO cp_tree VALUES ('8266', '3', '1147', '100', '8250', '1148'); -INSERT INTO cp_tree VALUES ('8267', '3', '1149', '100', '8250', '1150'); -INSERT INTO cp_tree VALUES ('8268', '3', '1151', '100', '8250', '1152'); -INSERT INTO cp_tree VALUES ('8269', '3', '1153', '100', '8250', '1154'); -INSERT INTO cp_tree VALUES ('8270', '3', '1155', '100', '8250', '1156'); -INSERT INTO cp_tree VALUES ('8271', '3', '1157', '100', '8250', '1158'); -INSERT INTO cp_tree VALUES ('8272', '3', '1159', '100', '8250', '1160'); -INSERT INTO cp_tree VALUES ('8273', '3', '1161', '100', '8250', '1162'); -INSERT INTO cp_tree VALUES ('8274', '3', '1163', '100', '8250', '1164'); -INSERT INTO cp_tree VALUES ('8275', '3', '1165', '100', '8250', '1166'); -INSERT INTO cp_tree VALUES ('8276', '3', '1167', '100', '8250', '1168'); -INSERT INTO cp_tree VALUES ('8277', '3', '1169', '100', '8250', '1170'); -INSERT INTO cp_tree VALUES ('8278', '3', '1171', '100', '8250', '1172'); -INSERT INTO cp_tree VALUES ('8279', '3', '1173', '100', '8250', '1174'); -INSERT INTO cp_tree VALUES ('8280', '3', '1175', '100', '8250', '1176'); -INSERT INTO cp_tree VALUES ('8281', '3', '1177', '100', '8250', '1178'); -INSERT INTO cp_tree VALUES ('8282', '3', '1179', '100', '8250', '1180'); -INSERT INTO cp_tree VALUES ('8283', '3', '1181', '100', '8250', '1182'); -INSERT INTO cp_tree VALUES ('8284', '3', '1183', '100', '8250', '1184'); -INSERT INTO cp_tree VALUES ('8285', '3', '1185', '100', '8250', '1186'); -INSERT INTO cp_tree VALUES ('8286', '3', '1187', '100', '8250', '1188'); -INSERT INTO cp_tree VALUES ('8287', '3', '1189', '100', '8250', '1190'); -INSERT INTO cp_tree VALUES ('8288', '3', '1191', '100', '8250', '1192'); -INSERT INTO cp_tree VALUES ('8289', '3', '1193', '100', '8250', '1194'); -INSERT INTO cp_tree VALUES ('8290', '3', '1195', '100', '8250', '1196'); -INSERT INTO cp_tree VALUES ('8291', '3', '1197', '100', '8250', '1198'); -INSERT INTO cp_tree VALUES ('8292', '3', '1199', '100', '8250', '1200'); -INSERT INTO cp_tree VALUES ('8293', '3', '1201', '100', '8250', '1202'); -INSERT INTO cp_tree VALUES ('8294', '3', '1203', '100', '8250', '1204'); -INSERT INTO cp_tree VALUES ('8295', '3', '1205', '100', '8250', '1206'); -INSERT INTO cp_tree VALUES ('8296', '3', '1207', '100', '8250', '1208'); -INSERT INTO cp_tree VALUES ('8297', '3', '1209', '100', '8250', '1210'); -INSERT INTO cp_tree VALUES ('8298', '3', '1211', '100', '8250', '1212'); -INSERT INTO cp_tree VALUES ('8299', '3', '1213', '100', '8250', '1214'); -INSERT INTO cp_tree VALUES ('8300', '3', '1215', '100', '8250', '1216'); -INSERT INTO cp_tree VALUES ('8301', '3', '1217', '100', '8250', '1218'); -INSERT INTO cp_tree VALUES ('8302', '3', '1219', '100', '8250', '1220'); -INSERT INTO cp_tree VALUES ('8303', '3', '1221', '100', '8250', '1222'); -INSERT INTO cp_tree VALUES ('8304', '3', '1223', '100', '8250', '1224'); -INSERT INTO cp_tree VALUES ('8305', '3', '1225', '100', '8250', '1226'); -INSERT INTO cp_tree VALUES ('8306', '3', '1227', '100', '8250', '1228'); -INSERT INTO cp_tree VALUES ('8307', '3', '1229', '100', '8250', '1230'); -INSERT INTO cp_tree VALUES ('8308', '3', '1231', '100', '8250', '1232'); -INSERT INTO cp_tree VALUES ('8309', '3', '1233', '100', '8250', '1234'); -INSERT INTO cp_tree VALUES ('8310', '3', '1235', '100', '8250', '1236'); -INSERT INTO cp_tree VALUES ('8311', '3', '1237', '100', '8250', '1238'); -INSERT INTO cp_tree VALUES ('8312', '3', '1239', '100', '8250', '1240'); -INSERT INTO cp_tree VALUES ('8313', '3', '1241', '100', '8250', '1242'); -INSERT INTO cp_tree VALUES ('8314', '3', '1243', '100', '8250', '1244'); -INSERT INTO cp_tree VALUES ('8315', '3', '1245', '100', '8250', '1246'); -INSERT INTO cp_tree VALUES ('8316', '3', '1247', '100', '8250', '1248'); -INSERT INTO cp_tree VALUES ('8317', '3', '1249', '100', '8250', '1250'); -INSERT INTO cp_tree VALUES ('8318', '3', '1251', '100', '8250', '1252'); -INSERT INTO cp_tree VALUES ('8319', '2', '1254', '100', '7692', '1289'); -INSERT INTO cp_tree VALUES ('8320', '3', '1255', '100', '8319', '1256'); -INSERT INTO cp_tree VALUES ('8321', '3', '1257', '100', '8319', '1258'); -INSERT INTO cp_tree VALUES ('8322', '3', '1259', '100', '8319', '1260'); -INSERT INTO cp_tree VALUES ('8323', '3', '1261', '100', '8319', '1262'); -INSERT INTO cp_tree VALUES ('8324', '3', '1263', '100', '8319', '1264'); -INSERT INTO cp_tree VALUES ('8325', '3', '1265', '100', '8319', '1266'); -INSERT INTO cp_tree VALUES ('8326', '3', '1267', '100', '8319', '1268'); -INSERT INTO cp_tree VALUES ('8327', '3', '1269', '100', '8319', '1270'); -INSERT INTO cp_tree VALUES ('8328', '3', '1271', '100', '8319', '1272'); -INSERT INTO cp_tree VALUES ('8329', '3', '1273', '100', '8319', '1274'); -INSERT INTO cp_tree VALUES ('8330', '3', '1275', '100', '8319', '1276'); -INSERT INTO cp_tree VALUES ('8331', '3', '1277', '100', '8319', '1278'); -INSERT INTO cp_tree VALUES ('8332', '3', '1279', '100', '8319', '1280'); -INSERT INTO cp_tree VALUES ('8333', '3', '1281', '100', '8319', '1282'); -INSERT INTO cp_tree VALUES ('8334', '3', '1283', '100', '8319', '1284'); -INSERT INTO cp_tree VALUES ('8335', '3', '1285', '100', '8319', '1286'); -INSERT INTO cp_tree VALUES ('8336', '3', '1287', '100', '8319', '1288'); -INSERT INTO cp_tree VALUES ('8337', '1', '1', '100', '0', '30'); -INSERT INTO cp_tree VALUES ('8338', '2', '2', '100', '8337', '25'); -INSERT INTO cp_tree VALUES ('8339', '3', '3', '100', '8338', '10'); -INSERT INTO cp_tree VALUES ('8340', '4', '4', '100', '8339', '5'); -INSERT INTO cp_tree VALUES ('8341', '4', '6', '100', '8339', '7'); -INSERT INTO cp_tree VALUES ('8342', '4', '8', '100', '8339', '9'); -INSERT INTO cp_tree VALUES ('8343', '3', '11', '100', '8338', '24'); -INSERT INTO cp_tree VALUES ('8344', '4', '12', '100', '8343', '13'); -INSERT INTO cp_tree VALUES ('8345', '4', '14', '100', '8343', '15'); -INSERT INTO cp_tree VALUES ('8346', '4', '16', '100', '8343', '19'); -INSERT INTO cp_tree VALUES ('8347', '5', '17', '100', '8346', '18'); -INSERT INTO cp_tree VALUES ('8348', '4', '20', '100', '8343', '21'); -INSERT INTO cp_tree VALUES ('8349', '4', '22', '100', '8343', '23'); -INSERT INTO cp_tree VALUES ('8350', '2', '26', '100', '8337', '27'); -INSERT INTO cp_tree VALUES ('8351', '2', '28', '100', '8337', '29'); -INSERT INTO cp_tree VALUES ('8352', '1', '1', '100', '0', '30'); -INSERT INTO cp_tree VALUES ('8353', '2', '2', '100', '8352', '25'); -INSERT INTO cp_tree VALUES ('8354', '3', '3', '100', '8353', '10'); -INSERT INTO cp_tree VALUES ('8355', '4', '4', '100', '8354', '5'); -INSERT INTO cp_tree VALUES ('8356', '4', '6', '100', '8354', '7'); -INSERT INTO cp_tree VALUES ('8357', '4', '8', '100', '8354', '9'); -INSERT INTO cp_tree VALUES ('8358', '3', '11', '100', '8353', '24'); -INSERT INTO cp_tree VALUES ('8359', '4', '12', '100', '8358', '13'); -INSERT INTO cp_tree VALUES ('8360', '4', '14', '100', '8358', '15'); -INSERT INTO cp_tree VALUES ('8361', '4', '16', '100', '8358', '19'); -INSERT INTO cp_tree VALUES ('8362', '5', '17', '100', '8361', '18'); -INSERT INTO cp_tree VALUES ('8363', '4', '20', '100', '8358', '21'); -INSERT INTO cp_tree VALUES ('8364', '4', '22', '100', '8358', '23'); -INSERT INTO cp_tree VALUES ('8365', '2', '26', '100', '8352', '27'); -INSERT INTO cp_tree VALUES ('8366', '2', '28', '100', '8352', '29'); -INSERT INTO cp_tree VALUES ('8367', '1', '1', '100', '0', '30'); -INSERT INTO cp_tree VALUES ('8368', '2', '2', '100', '8367', '25'); -INSERT INTO cp_tree VALUES ('8369', '3', '3', '100', '8368', '10'); -INSERT INTO cp_tree VALUES ('8370', '4', '4', '100', '8369', '5'); -INSERT INTO cp_tree VALUES ('8371', '4', '6', '100', '8369', '7'); -INSERT INTO cp_tree VALUES ('8372', '4', '8', '100', '8369', '9'); -INSERT INTO cp_tree VALUES ('8373', '3', '11', '100', '8368', '24'); -INSERT INTO cp_tree VALUES ('8374', '4', '12', '100', '8373', '13'); -INSERT INTO cp_tree VALUES ('8375', '4', '14', '100', '8373', '15'); -INSERT INTO cp_tree VALUES ('8376', '4', '16', '100', '8373', '19'); -INSERT INTO cp_tree VALUES ('8377', '5', '17', '100', '8376', '18'); -INSERT INTO cp_tree VALUES ('8378', '4', '20', '100', '8373', '21'); -INSERT INTO cp_tree VALUES ('8379', '4', '22', '100', '8373', '23'); -INSERT INTO cp_tree VALUES ('8380', '2', '26', '100', '8367', '27'); -INSERT INTO cp_tree VALUES ('8381', '2', '28', '100', '8367', '29'); - - - diff --git a/components/ILIAS/Scorm2004/data/xmldb-mapping.xls b/components/ILIAS/Scorm2004/data/xmldb-mapping.xls deleted file mode 100755 index e88f928f6d52b1642f1fc3a280379b57d754104a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 77824 zcmeIb34GjFbuWG;%a$BFmiK)b?@MgSYhpWIWXpD<*s>klNt{&~Nh53Gkw%#r*^;w4 zAt4Ld7ZO5%0D**(7FsCf^`#J?eT5cUN}-{JS5n};@+c3&QX1Nj{J-CG_nDs@!+ZQ+ z->aq1Z)Wbf_nz-L=iYnnx%any`7g)4{NCT4{tv3`Z;KkHUVmex8WGT|@%!yIJys$A zjW?LI-;d(=V>m!Q^Y?#=1xD7PAx8{XFU0E~H(ov`$md6- z^b7L2S&dgOS7p_n^GmDNqn^TXxVlNo-6x;(^ zJz$(?;ci7!Zb^bGH^)%0$>n1Bt!nEjb-qEJ11lyN+B5gkS8ASADp>%}h56P7lhiW` zo^;+t>3QetkG+{}@4VSHGt>vvWMo{H?k*t9eCM_dIo-t5D}Rp`rNpI2=SYyYK*^x;GD z8JSqV3LPt%|FT4SE%=N4b+J55jZDyMq%FTBE`Qb#bj^RBQd8sd3PWln+>hz1$kcXV zDWPM;=|4}eV)-)qNa2%GP&+C=5@Ces70@54u2Ex8j(mgP<4z8f@9`%`$oGVkb@Dy& zL z>At>f?~yyy1ohabnKw!`x3+llboGbQ1;&%SVpYTH)QSESORQ>Gb1x#HRrvo5BBRe> z#2&h@O8t|%Le(qv$^r6HBVM6Bku7lzI~xZ!5B^@GM!hl~-=D^GSEp`8jHBvatZKq% zlbZcwTJUWA9*tuPj(>sNuc=h(1+*1oL~!UUWV*5gNM~}Ho=k5Ey)fHT?C1ktk5Q06 zGo^HAx|9a9eBlV_C(@;CzPAX*VY&vDOPL<@oI<9U?=N&@il}UVBeyG?%b@>sX8JO{ zotfT_LBN%=rCbKz1AXaIH`D3%Tn3VLCRk7AF}b?n?9z0 z6f@T&2XYsS`n#tSGW4cj$Q!NMP9ae zEL+S%QwZ0WE!85_)sgS%%Vn521Tl); z`5bjEcH|2^hhV71kginf+t}E6{P^((nB+(<-=5AjpqUy6ik*$pxNXN)^{rYEl{~&i ziX3j;)3|EGhV_lkcxYnuks{0|7JvjWd-jMVT6!UL7c2}3x}hOtzN7{A$@KR3%%P~g zFhM%oo9S%s&SyI^%^;vyL3bWZU4?uu*WVYD(cSay*JYsZu}tv-k^WHr;9wCQ3v(=F zIR;s1j$^_GMsheBg?uyD_h+%r*_AIGM5!Vgz7qo=An(nWTuxk}SsOUhIVq~p(rYZA znZfapE}~sEhqN?JOP9!$iOtGhnkhN!OXsEa*DQ>zUs()Y`n1ZSF{B*)<(sv8u?T;V zK60dx(XE$*C3EP0>E7PFZd|lA`guB+KLQgM2GPY$lD{~BN`qKJcI485f4wF$H>8M5NyVqobL@ET7Sp-7#KOs5*>pbxeS(CxqJ@{*pnW}_Vo7{_dp0~nZGj~-Mwh?9G%i&AAdpX0<_P-#D-!mz{UfgW9eK!-D@8_ zTfUcsj&z|@S_D`*EpY(?6^<6CVbrsa^nuDY47A`J(%G+_1}3d+Ct9zukrPd0;4G&* zVuFVRW@Do@XruM!?7DqzWCXL}mu)x>gT6NB(2z86GF73a8ymw}uTjXF87DY+dsO#x zoMvukQ~ImEwy-`H7LI@9?Y*8&e)>Q!4OGz+6MG&DAuAnyseds2Nhis?L|F+k0I1FegT6u*^Vr}%8@ZyzoE^{>n8EilGRa{P z)7h${M>J$ly04|TE02!bvIBj;WygU`m&{eZks6zX3W&&MfC?FXv6fDF=MIUoA)5ZN z6PAL%?aJkkqmeMH9>?^%uQxY18)KxHY3@fvhETeM39zr^B&R@#-YN?0FXS286qyf* z`5kCX#`Xosk=8t9r83hcx3w3shAU-un8{nRu`V#BcMc#h$in|;I-?Q*w{ck_2aFe+ zKNJgeiT2EqZ0{kve1eP!|6CFirfyHCwezqp%j#=98F~RGYS*Tw4KK?uz(tcq{Tw)$ z(_r%=R@EKo!Tr4@cA*U7$V{QRJDY=(W2e&jV6AJQM_|3waWvBjC?Ccg%#^mvKtXF^ zNI4loI{FwIL=RI)+@9@~c#x81x-vk6m7TKaOlEd+Ye-D<@T>^3@&$BV#|rgj=wyQt z-?9Vs;c{}F?EMU%AqWg?qEyk=2d(=v*anbLl#Q0}ML<%tOS0{Q#*7&1rF7v)Cg_Db zMD%p0YnX!)p30&u-B~f1p#Sj#LYlJTu%nPG%A*JSkV#_4(94Ij6e81j3TSL{3wsH? z!iq&VAxKnbgT9a-^a8TkTWM@EaT+>xW22q(itblfQKU>N!kKf(Os+!8mrzVBk<}OO~+F3)N)lIvl2pM9*NrYaJuKQ(qe#Ulx8u=egd-O8FkHT$an6 z=qAqPsZ#oACe?*~k(8NmQ=!=riDKFfigy$;SVX4s$9v_FikNj%`K}Zu-V`TZOw|Cx zK*8zIcWe~xlTvP#@LnBO(T4nUhr}N_O(?E7WC|vJuTY~rWm)R^jfPy zsXf>Y!I0dTx?t}msS9@Q-FaZ!p49$Jw(n_aPT|xbh zDJ(~GrMPpGYR{z7?c7dUibxIn9t`<%*>rISR<($euq;f0iWbV`I*X|#W?Qo84P9KC zN*6MzLdGmQ0GI^~_AS_M3t`)Rt+qM~l51EvEg*m^=6fJZr}mj?2icuImVuNI6?vJ? zjjmrbAg)~QQxe-XVc*gW5K7^?5TYJ{nmy2zXW5g1mlJ{Wy_uABAvn{l+gnQIve;2Z zUn+J~_9cuKki*e}B)hWCaBD0KBV?F$Eq+<4F!Us4haM7cSaLE#GT6Z6^wr_k#F{6^ zGomZdedHnFh;0ln%pTdEzI>t7mgOuKun3mKh*e-6ltARuTYv?^VqPO>LCj7ta~m5N z{KaX}uL0T?VN&x6btuA;#$QCbxl!3y$Rl#YZcAYh%zDz;Wh@Mmzid9CPtkK=u>tdx z5KBlntmiS#aOnXO(Pi_;Go7#tdZaAcu(OikUan5JQ8w&8Vi8oxV9QFkzr^y4;!#d} zh(p}?h7>x5m>t{SP<-G1l;l8h{M2Op)}_`oY``$WIR(Ud7^`d1#5}>!$kDqNb3!*d zVh(`qgDG91)oe9w#fmv_CzTtJaApNK2kcd@79X#-3;IG6$rPvQu_w(DAo*lPzL?9Nd~{KCE& zW|TpU0ojEEdkl>}tl78&ho9Ir1t&7W-dj%}ejk_ERR^l+4xFojCeyXH zL+Q{&mTNdek)^%uVz{l?m&tIanQL71e2gl7W_hZr2TOFc1ipA0s}t=E-z5vOHWSOE zXd!)Ex>Ooto_-l^ijZ5n4trt0w6YO}`TYRw?QG-Z3DHY94Um(<;^XPlp#Z}%apXFU zHDgD~^)2YA`?lLT*Lw^+9o5!rb`>PyW*YI*0dI712ge#nBjnaxQ8R)=p3IG`9w36u zWkrkwBHFg2C(HQ8oHFyRpwGXqp6^Of&0-tfeVZ9T4ZW;MI)VzrC$W?po(oQ0&h9(& z)R-14WXByX3y7_$p-MO~1ocCeu|OEErij(QWX~D0r&0##f^Y^*K-0n?`k4Gi55%O$ zpSg5@Z%4Ou5_BS=@Jxp|Ff?XJU_dx8CSlGq>(7R?A3Vkc)>Q?C>hnN9othl zu?1z9;MeZV;L--oLq^pm_3T;Vm@$1wr;JA-X=dWVvXRKaSY&2!*3PI^Rv_C6pPW$9 zOkx=S37L8lGb6T)q3tGi&g1f}QZ6_9VXjEZMx2&h(M^@`vCA5k!EF7-f{X~5l0UON ztwom3&Cw3oPBR!HYK1#8m{Fm?goa0%#!+c!&xk6$j~(0?J1H~UJ9H*`5>MlnYo*!h zo)^se4M7aSx!CLt8L|x~FkzJCWIEyP0-D}ZDxdd*O+j!pWr8>ZuGf-XenP;3{#sEi zocA;Es=k2cUoJ{Qk!Cl;=vd^GMRZVteq0XpX7VP5DU5BLrOU$+^huZLdmS8zr^-G_ zXV@w>!dQZU0GlpFS(0NWgoRywrSuv|0`hG} ziIl{DsaCk(T+YlAaleg%m_|(d*u3fJPL=Z5YABZAb+g58#ON|{>m4J6%G`cH3H(}x z9t~HI<$+9hSP9r4U0hG3xN>Ls#SE^+`5P9an?y&ki^Zh~EAL2&VHC9hCGX8yxl&mub}^hYZ{(QZ3pU(jY~Jvs_43 zOh9JxGqGP(!HRCDx1?#;HE$8~PSOOY=TFlv5qr*ysl*J-h^eHh+D(Y?9Ay)PQ!Wt5 zwX@N?A`7iOWR`35u$FWsV+Ly-E@Lp=$sUdly^Jl(3d8}QnO>tZ6;YU(qHUodUX`HM zII4tf8_o{RK-PTRjK*k5V8AP@;B3rZ13Z!5CrEAHlF}Omrl|wt^nwpZT5_mlF>GH- z>WaM$(j|t-Vy8g6b50OHo!Y6d9fcP$%c|72US36J1hC^NUR|xUi=82tL#_n$*NoR7 z+|oN>@Vc@q_J%sEx=yXfat4D}J-}rRzQ2L*kKlU_Jm*jG%?o_CRVnonzCVob`%pMt zt<+Zdxe3FRIv=9fW0CzaeBX)hI=IMh;(Gw!djR!Ae18_-&9MIz$nXJt^V+HNV1`kU z?sEaE|YSEcd{bTm$T77-X;G`=j{29Wrc1<4u4JFXH=A ze9wc$e~#}T;`_6Z{C)%WK4ABEHY&9n_HJK^I@$B@|3Q>}@riNG)=`B+FcKK{omJc-nrGPcBy8y z0rw!S!);JWe^oVV_&3$s>gFGv9A1UX>Yp67wyqOW*W-SVt!9xIe#7^z62Y`xH!S5AXhs-VFmRnXXz%j?2ZRnRzXm6yW|P(j0NP(j1Y zP(j1&P(i~?Q9;9OQ9;AZQ9+~6DwmHwtel2frGkc;rGkc8rh>+HDd&gTq=JSSrGkdp zrGl0Mttx2CU!s?=VW;DcTBVp`%c6If6x(!~+KJT7m??&%Y)U;n={rp<$+n%Q>P$(t z>NGXdq}ZO*RIN#|C8y!OTa7RpT&CgfS)F2w`n|4^pEpVJs3j$1kMenwkvB(zIGsm??S?0< zJWajR)WaRiNLhp_B1^L=$=>HnPL1%UO359jB&|M8y>582H^QDKkNpq`CdD2&P1T!J zN>XEydI_`brI`M|STzRH%*3I;m*F@6m&w2XrSr$AE!E@IC%{FiCi&DKvoM#l*WwSn zcGHYF6s|ZHVn|RO-u5ApZIgV%0xXYT>8)51+UaHa<;2K3iri+qTZJujj+v@e-N%6 z@f&8);8K|ALYQwUL~Z<|8^ekU2ctIq`wjU%SvAE)a$}UH*+>qiK%JOIZ(2^1)mm9O zMhE5PuokVLF;XZmSC>Fz)KFfI4!oR(eS!)aV~p~0oaM`Dv`;yW^J+Pb7A&VRS}3P6 zE-0rl0w||(t}mx?jxVQiZZD^C7B8o9zAmRRS}dnwkD`Kx{fP=1_9`l9oZHL!afUCa zv5ST@#v%Nh;-WlG&D282FI;Od7O|;eNZDu&+aXBV_zX{aLCQvCyf1r-y35t8MQW}~ z)giSSOf~vQq}I69S!#wl*QG`wZ>>v>Mrxf)osE=@Z9qh9vBeo`m0sV8}rqavvHlUzdEoH@l^GTQ>s;C6MhYQaeK}F zs@m#xcoIfjto#Oz#-@r(XYPeM`FH6$Lc|C_kdJYpk5&a2IP7n2XY82ac27YTj7mQ}x z)`3>@2G&I+zfjYF>^fCbqed)HQ^v$PHSWO~?S_f=luhS_+7A=$f9dk5y)8*^?zOLpw678Ef8W%riL~d`$W|UO+HdpP*H%}y zV`Fr;QJE$+(vDV>nn;rxw2*Jdnn)8qL&|HyImm0m6{_#A!y`?GizeSfdA8$lqsixu zCbgj^E3w^J)_P@{l;0&n^AC>{8ZHVEPUnRR4UZHWE(+O_oIt%oBO-+uanvi@F-M3( zFB^r>5s|0Vg0pqUTpcR3Of9ZZ$Ub2}_buEOYVLBOxLiK@UN%BhA&|}sRT&YfGD1|b zB{}bVRca$uYNNKPjZ{Hfh$-baq1$S>O?17lEGFzp2VZ;jTD{e{K;jc=)_4}r-tF_E-9CyPLI3PaHO7c zsS!xs<5HA!qH$G>g6jh=lyig2qocmb)#Ct9nG~g{SDRgm1DpXCCF5jJuNqy7j+%jt z&ZC@fb1BLRgPS}`Hp!q<-+I;S@*9&FgI-y<-xO$YumSp(rW#JYZrbttgCu{2I07SCU(nGD4 zMvE-{E{|5a+oeLuMvG+2jhv&Qqi?^_kz`!Icsz!3zMpY}kEe~aEZpF$myJZ)>}*Ij z70>pvd2GKsU5b)nV@7m1TSkDj+1VnQuNO*ob|l%^BH23(7cK?7WZY2nlJUWbUa~PF z8AEQ$IYw-Dn@dr$l1qgnU`!wm(ZT|k(~7+r!C1a9evQ~$BkCs2ggQo zj+H)mjw?wyH@Q?O3!jh$-CZ7KInSleM&2ru;^NGsb1T=Qb1T{226 zI6?O%L-cXzuO6La&9@P^hkYAyd)T9o7j#6t(njN@jqY%%5PiI$`;uWhjE~x3ytIQY zN$=<_!3}6{32s1pStf`qD~;|GM3yZs70NO}Wbq|KOH7C?!G*3z=ccwtpBSM}6!b=e zH&M{Hx>SfhQP6$K5Pf2V&Ly>7iY>{7J?vuYans)0WwJ|(B7^A^XGGl}(s#PxFW6or?QrzpIfQ$V;_(EDmyD-gy=2owGH%M~lI(S_x)dd| zu@p|NA!TibQ)@^qG#123v0(Pa$tL7ko8iO|QXYX`3RgM^9;tqGOcyyhVkpaWk@M3o z#fatmNR3cCkw-bPwiu%~G-e}?ZB$dH#o?>J(5kU<2iTc~{&cs{-^f!kQN$ZoF^_y` zY{HedmAA2L5owaCP8phnBI>+wAWj#Pye8t$fcP{CE+lf|k46{{5r@54TRoLqIzvKo ztIS($Mr5%Wk;S+*P_O=nK<-5BuPyeXfrJI$%wk|?ECyC)dtg1TYdKAemEGS@n{WZ* z?KMNX5CznEp}l5A_L^brwY*+8H|$4yQLNhP$&9{fuLMB)EN?A5=@=>7zh*|(nkm-$ zp0UF68s9Ib?g{UMEj$5nVQh20uV5wP=rDlnxeqby$%UJ4V1GnbQEd_SQQeb5)b-r4E zI+jX)LIh1RD>BzCF&Aajd7-&xMdq4i%ynq2?poV)*P>*#)zf%pduYtrko$$%Iq|HSJJ~aXqDNK#b%4eD51^^EjBx{ z*lc65pE>EJgHf*9>M4A7>`;hvB74n=>@`R1^(litN9@JXI|32P9AmH4INe4Up^X-v z+S`NOi`%QYfnB+E7Ww#W<fH`8EX~wh95#xB_LgUO4AKl25EB>X!8h@*lA-&aA~kU-m*Kw|)3uG^*r z8aJ%U%WX-ZZ7rj5G^9ZDlS3*RxG5R9e}odcB!iBBM2cZr$_(5a&A^@e=8g{RjH64P zrlWJi8BhDEcwCW|iBX3g%PASllu+k|V>#u$^z{OM;y8EtOl z0Ov+Vn=A9JU1QFTj5gO8?Lnu67>(kc(r9#Del0amj8<*TG*65+!llAB-#jte4_#ik z=9?F-`R0j6)2npD^P<&yW!HT3L?gTVJ5Mw^>3GtmbFIe?LwAb3A(vvD#2p5mN6F|g zbc)USfJ;#_yW2HCl4ZWg;_HQ7a(*Pse6g-ANjL6owji?Eg2-kI(9x!f?38SQ*z89} zvIUBg*%kZ(?0(kc9ST~91(BQ!L{3^jbD^BpW(y)Y7l@p;B&QZH=fX(Ng(By0!*ij? z$pJ)!g(BxGE=4(?aH()Tzfj~{V%m10$hp*|LOBFaBOa$aFXy62&P5{U zNLP|>F6B~e>7Th2<$TJe=zL}vSr&<8zFsKVB9Uy+)nl)-B{}JO$reYFEsi8xEH1_N z*2QAMpBkQvrKL+Q6l3f^K6KCHVDu8hD$>v zXM?nnm9rt@$xztyY>ap|Mm!rMIU6IMjS)}I6TT0w6rOgTUMVeIhZ1btl~EsDDJ}gA zmlyWIl_JXmqu)xA#rDCKB8#16R!U1-@4YhWgDXYOD#L~0y$`}xiJW%lXO+nLpNuT4 zM9%+?6obB1A}1~zlK6#Z&*cm`$-JCq6?P19IZf??)4ZH!AzzOY1!LxN8s0^p@5QxK z@=bfK5-ZGf@-sf6R6376$3|SM#0vlFBxZld-vow@b+}%O5m(hJ80Uo=oDjnOXro7~ z3Bz&Mn)(+6Ve*ne56d-=H`MCLP^-mI{~0AH#OlaUxST^^#~Rpm-cYsG^Hr)sZTAe` zQ0di?(yOKEt8;YMBc-9FpdT{mh}Esq6&f;J@*3hrT}aukutqfe1Eb*@(eOJ+ zu`6IJOE5YO#<`(}d{tLs!ybU1xUi_~p{umtnn>3*qARgL`(fVbBhMuo2i(X%S9&bxb>dwvfiMDvG zs(b8VvwylRbzB?izgF}os?H1bUmNMa*66=yqVC}6*}ko1!)Yi)uF1U()AE`ih;BSiU%vxG9xBJSJvY+& zT+y01IxlSZb0e+KHCkWgWC*n8nf~ZG#^lDm6|e1ik+$bW+MXxc{x_p7v=eOy3=+nG z*LKJ&BK1f&+M0(aYbh9%T1S4K=u0G>7wUUnr0;n~-!D2T0)59}^Tz5MV6Bfd=9@Qt z`>q#_f7>9h7mdGWG+u8s{(-^TqctY^g_;%EjBn;NH@fnISxh387mZe4Ii{}}rG+pY z+zyR-hO~YZH_fp=>Kg0CR1{I?g{E2`nQFZ;)&9x4d+rGbgzVZ6jkzH*8843ZCfg91 zY=fBWuZ_tz7?Yhem>a#xk}i{uEHKm~%&F&w$Oaq42E^2Pp$#@fHrQZn@I5C_&|PM5 z!{St^8zU=hjI6LRvcg8O!dHzIptTH@nNzgo(PKDN*l|wN3icsRm>taHZ>Z_U$O;?9 z3dGcTp%pepR@i8)aJ!Qy*$T<1+&uLT1Mjm8`oj5Qg%2AU&KE2ErLn^K#tNS_sGCA7 zY~e)}(IhEPi3_JlhF^Rfd-(&aq6mIkL=VvCNl@Wi}hj ztemDBWlLz8&FK1XW|`!tn>nj&j;yj-tU_#BWpiYe&5>0$8>>9$H+7cOM zix`FQG|HC9C|e?(q7k-6M%Wq|VXHC1t4@xfXGrK}j37un)%kw(mRxm1 z)w-(Zu*=QUnmmp93Hg3f9WwvVsijrl#*SG{Rdv-5)lYCk)Cl}fteRdmzG|wR>TH5^ zXP4d9w=IFTJ%QGoK--Z(+nGSyl|Z{7fp%d6ttEkWQ37pu0uAw0g}$u`w7m(meF?Pv zpp~EIyEuV%Ac1x;fp#c?c1Z&5(gfON3ADorw96A{S0vD`OrTwrK)X7Dc1;4Ut&GM| z(FB?wxlPf?ZHh*2lZ@QILU}HjFx!bon>a(ejh*4hZRDkRr=I=dm*8kgxQwtNK$DDJ zqUpSFu4{_MZj%|ieNK{K?8-8t5{o0uYrQSfdYfqdA%nb4wEh#LHEy>OtsgX4+e57@ zH-WHDx9_mx771T8N^Q19UTT|YN(7x3YPv1b6xZqq`d1x#ps8$gc?|jsui^Gc!|joV z+eO3wVl;$Cg7IC0u`ASYF>elt+BHE#zT1hKY>%|uE?N>r=Y?8skF?xwv|Kq;_pDvv zgmg9-WBZ4ev^eyFUeo4C(`M21qXxBEH2sFr6e~W_^g@GkQK)IpPfx+ALB9I4(csuNb{g{n74s$=I;MEbZ93D*Bl$F&ZvQQiez@t zu~Q`b3d-{?Ubqz0L(nAFP@p8<#S0eZngCQc*94qK=n%eii!$$w+H9xjN=bBHsOwIr zD;?oZ(`K7yvAa@A4$2*rrM6l^hjJuNz1|+XB75wLhUPA@$DbN|U?_?`4jZHklI;N& z#vZ6{>@gQtznx;>@;z+Sb5~@8U19^G>%7ngyCNH4h>B!SILX8Y#ILR9&4lu%H*#T! z;dQ?t(*1%+_X|Y#&l}yLs~|jM5H3m99W0FQsBUzxyk9YLTEWZbw18okzd%etA#`47 zf(s%OTwqM_iW5*wKrw3ZdC zdqlF281y|N+20_=#=};v7~^SUj04Gy2NtIBP~9|M<^2xP%Mkrk9+3~pI})kDo=EXM zqBzCUd7_^53Y!tsEk~V0K?9(dtp-4I}v`=efpH^d^r=7UczbRBL z9x;ZYTJ}OpGUSTT_w2n<&)zGxv2JOv*k-*EWUtufF_#K^_TET=y`q4x7b>vVDWGLx z1KX1OBFXkelI@Em+b5E7N1j~viDZwuR4CcLNV0t*nXea0wl9)wpP1H`xGi-k0jeKlG&0MN0MC}Np^80*~KCmPwY{$ zi$$`BT`H99;z+WKMKWJ6l7>c%#eC!{Nb67#xVs(dIi$00EXrOxzWjkFfGR_S*FlhGxS87_&;z^CEXE4!s~iJ0LF#tew$#SAF}a%r*|z`~dT z)r}b{Z=#AKd%Vf+6fct2GKb^m5-|+r(s`j_E{P0ti80KhPG&I-C9AELwbq+sUmDr# z(#T$yM)tZ??Dc2HUa*hY>#GJETj)vM1}u!dP~F(8G8{U!z3e$ezE_(jxisoWmx{S4 zmd*>!b!lX-OO3g9%+vh{yY1{p6s)#dPSRDFs~q|=vDPkge(*A})?@>HnOKV@D9B}E zpLe?yTX?ps$BWEHyF7|)FSWZ&M83u4(L?%@yonc!dqFsiZ-4RUVUeZU<*}#RdWWUu zaHhc2W6Ry(Qk=T(cB$~9-@{^PEA?S9wC5R0eORO(a9l#EF9+4jd3hw~8lIP{P|nLS)%n}XFOTHBJd*Qrw1v0sBs;ceGfNGE&B<*~)UN-WQf^m=6xu8a__6ojoP!I|+&K~UKnv7JCg4(E$8mX@FQki>PjV$S2yi-^(33pWl$Fl_92vCO|gvGND9_yM2>l(q@X0V`&sP;311#I|+DjM7@m0~P; z2M__Ti2&Ooz_tjmO#rz~Oy!`A0M49GXH=)I4FMzN0EJ5yh}Gt>c2p9`vH%5SD8;&(0XX>6#{rwH5C+wt~M0*zj|ynP1~XeSbAoF&TZ(j%ACZc3otoIvBe7S?62z7{k;NUx2? z%(XIRcus+124h6V%qBBt(&3nq=Qr3vn&aywyRvW$xY}ET&=Fgg$L{SR(-CA^AbGNY zkbn@#ZUfmKLPo67UTbc%&3)EZHd%aL<_%08u1()ku&DC6LW(r*Kg$+Zh4Tsd%7F1e6h= z76Syv0yK7kcD7w1kZklgpktXr`iR&y6M@lNd9bbstV_VSD@?7xT)>jld(hw=4e`RkfVVwkpyTD;GDT)1 zI8F&3?z#x>I)S4DCfs!f?&AioH-w99*s7G2pgbMxTkqq9Ctkvp?usH2{tlkK#SFkui5({l4SnCbe zoDhqTDYR;3J88Y%2!=Dchsj4Ud4ZW~V4#A)>@hIchcIDJ%<`3reD`>PaQO(1L4t?t zi{SbMjv)iJ>N9YC2JX%fZWbTtWCmKc7ca5P;hl(>;tH9bbm6Et7AIfIK8hL3<_+!9VDXP|5+*2@K4?JSPv`Usc7j>j!TxCO!GULJ9QBe*Xc z+!G=0Ogu!(>x;K{+UrH#TBZ=eaya{2N{a$J9yB&cQDA4g6fcaN=~5Je(UUI8wWeLe zvAg*PkCuez1XHpkJR6W2fxXj`QDx#Hy}{5ARq%$J^5=b{l6go<<)u2k>0?>FT5CZ( zQRqtROLa=J`u%f*%4pC_)E`OIFA}XV5R47=r^;N9->LcGBUZ&2`_F(nzw`_Xqo@N5WnLh!g-%+ZI@hLTF% zD;=Z`+d?wxN#;hw3H2UsG%Oloqd{(WaPBA=o+Z2ilMQ(qG#J}GVVR4n>v2Kj8ZWOFb4HkF{*2@O#rVuNP*N$d; z1?a{Ih)W+2bW;R$lK>qyKwvCDuNt76L!dCmu&+d=1#gPLxTf-8H%DMM3mA9XXhAR+ zu&ImnM0`sKHX8-3Ta_2X2EO=JpwZ0VKft4e-ej zSZHrpxv85yDx!ue**1+1lofMw1*OC4=2zbNuWKNKzl5K_VxtY;|a7U5@_#8 zpgoyDduIZTQ+|2-zAJ(D?gSd=val`(?@7@7s5u#pnv*hW7>;n%V3f$HDVb4oYdC5m z-;np48YkVLAs9Qh2fH-_yH&uhG+KG+d?q8wABvLe2?ZFZk}+kc%0iJoZAHF zDuV;Qg7dt=c}s{B?$`9B2eLi=Jy?4e&3?^ok!l=^9`Y>_BwrO@9o-qdGJZ=0$)WBcZ;v2v7szW2Bp?K`W{LK+cZ87gluTpI9zgOSEX{g* z1V}&P0q=+a?-0N?0|)>CTy6m08UjXU)prC3X1ybVq?_`PZ;c?|Dv;M2NI(eWVFP)0 z2pP_ie04l^dus$l-{*nujDYSGAg&iU4zSu0pgseHbvaidj7Qw#4P;YFHlq5l`r(?j zkh#7;i!~79R9OSv8KKk5di1*@^t%L|i$S8_Wzauv(4Pv?!-XS=7iotqYh!r}Q zLPjqq*@E{(V4Q6{*xMqow+UE>0RwXZ8@p5whkHY?aC0MQG~&H2!sATl@$QZA?iD;N z??pNA7rgZb@4gT(R!#>v1iLo^;}q$^?u)?g6R=JL2Ic~G*nr(1f`uKVkUi3^`{I2O z6lY!!b$2~SSInLefAU}i z#2CZ_Jrn^wBtYCnrE*{_KwmXL4~IZugZaMkPz1%$#zQ?EK|L%`+(RW4SPRrE2I`R^ zp|F_l7eDoI1jUHSLp>5fJt9!^4HQ@l)aYe;j6E7cg)uhv>H9lM{ROe%BM};7F^~3W zg!ZVQWepm*3))J9_E?A}R~eWNQc4eKr}$`u#0bwLJr*H7CP>_;r3t}VkoFj)w}(if zUV_w@E_HJ-KNg`ecJyd(kI>#OXh#hixC>gJL3?~iv`j~LFHR=OChXfIG)AQ!?ePfh zaY5rg26Y2>L3`AoJrSZsR?L?4n&|NeiLtIndLlx4LXfa%5+raIq>mb;cZ5jc;Id1- zCn6vQ&>rX=5zspXC})7cSb#onfSwG2LeBvpnhz&da6zFyyYh|*lL5NNd@{m(QZRcA zCNKo^RfGA?5HsASG?;dIYtMf?8R2pf;Bns>;l5LFxgE{s1CHRXJVy^XgbF?|37hX& zI@d45?VS-4mlhuBsR-#QLFzL|2s#95k3o9ZkVqYAz4P%@gv14lM|xL;^e#b~W{|*H zkh%>Lww}FCVGI&Pknf7HxDfJK?~btEEm)Tstalr%y9^fgNp9*X z!Eue{;ocL$y+`2o88~cPiE7UqIKaQ|;>fVM5Hc3z%+Y%s5_cdrVld^ZdvN-yi2v(x zWU-~fod@nf^x#((+r3$QAH|7<>u~Usv;llyCp#D1ZFm~;gsVc*-kU&sUjps@3AASt zXdg(ReK3LcY#EKd^J&oh6}3-`MJIu#^SH8l9w`ohr;SBFZ!G$ZZa|V>sF{!K56TnT zD)+nh@X>mj3y zn=`mW6!#VA_ulcDIaK<+5jLB}W4|xLexG3fj==^NN-A}s!M-xYHWy?CyXx-78BzFs z5h&Z;gT6lkeZPSIo&kNo0Ua=)FaQS?+ayWhzI?G#;rB<_>|Y-HnF#wC!Tw!?jrJFX zKWVTbi^rC$DI;U!G(v@~pNXK^jXm@SBIpkYG&?Z6BF;)E3+e^Ql@CP)+7(uWVccYBesg)bF+tk}g3~HE)1psf+MG zY}k*`e0B1;FxDMe2PZpXta@S2mukQ8B7Rom4cFBvQ1d zo%;hmx1kywN8_`T5coX~p9)Xpt5dIi=*M4aZQs9@7u!|gS%IYUNvI0@$fTS^8T+@e z8p`5wT5gVgre-33)AMmZNnvk>pM2vuOH|1}N)H=0?4DVhUi;AcBg~^a!Z&?P$is!&eT zi}yE>gFho5yF_`pQ3*7fxxC!j3A8Z@G@7)$E-hG2)9ch&zVQj=cpkXCE;~{=jUB6; z#uIYov?&R+sR=Y4!Nu}TPbfDdfi^RNHYd;>J69T z8@~P9xcP=}|2FO#UZ;$1sk!hC->-ugQ>YG?VxK|EVN|c)Yj{?nO1|aH)~0!fM2E=(%934>TGsT#lQ1!{x-awaf5`3rDW!G9uzKBI2T7Eo@~O5pm&I z_grctF15mCz{pY?$x<6}p?C0H>LM<65f}YR-5U(gx`+$?iRUsh;xaPgGE!u@&~OqFI44QgpMH=yy&%W2uXL&B8A}*sME~A8tweF~h3%#7@GCJbIsjpsH zS@ersZ#I&Rj=0b-`p0RX9dY3_TCXlJ_4v}&dbP);LXGH2J(n>N7yW`%%Y`pU^`mi2 zBny47=TaYW;S}j*VJK0rY#Y@_TUoN`Wi@e!Btkw)W1qus6^x%{a~aSrhsO%N`haCwx)j-v^} z{@Neck@e~dmlty3eCxSP6D}{9lG7qt_+rO;b*0M-xp0Q|T&4?`KQbk!M_lkqLU6gt z<%L{0r+Y3lgv+N)$r%wB{VKw%U0%qAQGn+%Q@DKEl$;rH(XZ&c#^r@v7&mw>vxLiw zrsS-Mi++7wo68HiFw*c`W($|kn3A(2F8YOT*Sfrr3u6<{WsY$9tSLDs;-X)3*5UFj z7jFFQh5OD`AHwA%zy3d??G&UbkM8Cs(73=TFE>AdwjhDFFoCuxfwnk-wj_bJG=a7( zfp$&;ZFvH1MFOoMf!3HnTM625v#PNxgjET&)d{pU3AD8dv~>xza}#LiCD7I<&^9E{ zHYU){PoQl|plwc|ZAqYQEu%4lPJ!k}LrO-&=S+`JMWX>P)`G9;ba{3(kPCaP=Q3Bg z{IMxHH{zn-snzB3LN4s%p36Mp@+YR`yok#@k)_Awgx*IOj@ zZa4K7MN%({q+TRaf5(*M2=-hS3zs`wUWmRplA5F3*IOd>-fHSCiO}_nfvnW@1is!< zsdtO1w=`-ozM7|AWn3P&r2fvN=sP@@Wy0l7mq)4XtLB#p7oyT;^e?{NIa2Q~Q;(ZD z_3BG5Mf4*sMf9(k6g`sXvRt^_?efUQ&iu;-J?rwwK~ad{!n z6%o%B(wZ;1k|9reM9;H9c)rh+Y!GdaxfHeC=Tel@mZT5$TpEST`%TG4;bK>YjUw3| zl&7ufXMMeuQtug4Z)H?ZzgVW^>Ji+;w}cIC82xLA$WNE_LboG(0=wZi3thRfPW zmbJp=fXkySwj^g5&t;u(dCrtv7jao9Tn@TCa`~l6aZd7F&J`{na(UFqw(YsXg=-|X z?YW}S>!u`UG0){Z;qqH9FXW=%(s0P-Q5IX0^PcCjUbwu?l+#QvrvDc% zk6d0hDbB{8%lX3PA(uxk)=%h%(WhM=xx8vpoWDJnO~U1Vmltx;k8f{xdF1lXCdC=w zbJ;9h9&~vj7yYR7ZkIGA}(8m%L6ViSp-3c`M=W=~p6KH!AX!{aq`x9svC(sTg&<-Zh z4kgeoNuXVtK)Wn~#y(iC@8t=!D-vi|CeW@*pk19nyC#9wRz{=8Y61JZiXX6D~Hg(GPt7OP9y-{kJZ~_~FY) zktch+=ea%Nxjo{kAF=!u!)3cjW_fOxUADhAc^ol*>^Da|n}w(KiTYv2Iae=~vsrll zmC56X^E`J5&yTn~TF}nR`pLjHrsSyf^>#|VkD7WrMHX8R54!~y8`*H=`g*&h-tU-t zyP|q{KrHInIAE99#g^n)_gpRzF285ETo7@=GgiUnI+sUF*pl=Pp38;8|9=(*W zw_ECc!R3YRryuEAaCt=kH7W53K~3UXw>p=Bl=W?-ddCKL5T=c^Y zZA)_w@bwNzy(dh)15vBsQGKw>^)8Ps{r4utS;KQVC|n+Mc_BI;Y=?Tbzi?*p^$tnB zcbIyIB6K_f4)uyIkLWB(ugJLw5sC5Fmk5_9O-Y`x_iIl)E)A&_E{|M(W>TEJyeyXr zmv_3nPzO9k4E0Jbk6iu%sjBJ`corDBu>WzE^JfeW3qQMFJuFgL|F56fWmmSG34OiG zrQY8dtjnd|1ujK7{?(*7Tl#ueNWGU_9_6?7t`PZcJ!zN5QkAWDWmJ!| zuCI5M)cadgPd`h_*1M{#9!H{`DL7AiE>{Z|yQiQZ5oNht9dY4Y?(1D6_3T*Ck9)H9 zu8Hb#zW4Roq@Ep#ypY6Osm;}6Z2Rb0+$+{m>>(4?>Iil{B3m9d1(2gh21`=q43A7Ulv>Os=Hzv?-N}%1GK)a=kMz3@& zXukhnEB)WjXV*sk|614oS&x0x*Go%1>;2PFy>wKM{n*!QmwI+h-!Ap+y1iZM{kHKS z?CZW>htzx7<#C+adL2^lFH9cCgRj>q_2`?aLuVvsXCx=bjIWoGdfztnGEu!uRFC7z z*Xxpcb|<$hs@E0Oy(3XQj!$2&Tk8EcQ?EO!*B#a4820tDQt!W; zdfBL6Hmb*Q?(1DA_5RV+yDqACT~v?0z}Gt}^}c879gXT8jq1@~_1^yrd~dhGauEX z|MK-9^$ADeppQN8}C9{sYf zcTDQpm|s7X#M)Col;j-4lfK*6(+?N)jyr?4F^1{)Vl0LsXCR zjjwm3)O*$7>1S!!dN)S(I4AjfH%UDk$?HdB*m^fb^*C?&dN)fw8%64;T-Yf2W~uj= zMwXjpzv0U!#hK1?xh3Lqi&)okxkb2q#nodh`qxM?#(QccV>}zP{W{;f)DP4L@d}>m zSALFo5f>@HQU}RK;22)R3%`fG^7o+EtD0AqfL5hOzA_fy<$t)uSn45AgqFJe-fE?O zuSV0WK!>})v-n26!bpAiXC{I$q6$US$8X^Z&Saec7JFTWf_L!5rnXx)CGl<-*q)#{|w1U2u+YhlCtKG%THa+_~d zDf};i^sDiG1!_`zYPuAq(feLuAK_Pn1jPJ+sYuqdNP*+1A-lNUyFvnd>%Gzlo zSs1qyR4YEGmRHg8?+0o!`gF}JV~}h6V72Lkc$)ny+%E|G;OX_ga(&M9p?H-2d+S4E z&=c5)#w7NkYSV|lH|O;G(6BRo=s%br8fW^@xWqm*%=Dq>Qm5aC@We8i3(xqW|0r{r zp4FN$b0y7XHKq?eG57TQ5MwjOQ)l|nf0RCSw(&z}C-$M?rVrgUFS!rNO_CBCHGz-) zvo}drsV2;mL)|2)BP!nI#9ya#ljKwjAaUJQ|Eko2nkqH5w(9@Kn&QWXYxI? za^2rFmA8M6#419!Of_UVTy1arwBHJ6n*8mbRp$21YPtQBakjqQQ>S@<*e9m(_D(2; zw{h}M$K`Z3JQKh_dnO>fm($YhmC!UwIgKl;avJ%T)3|ypr*Sn}POD9zaphWG4h!T8 z8XRW@ZBznnbOMdzupEQ7DyMP%Qcj}<%V~@+%4wW0%4ri4Xk0^=mz$J8o18$Kl0f6Q zE$25afi^vXHY0&HGl7O{K`Jn2C(!1U(YV{lKio}&?xj<_m-8f?l1}kn&fzYP_j1;l z6#W+N=yECEIcImulkV4i9p%Xr6;Kib-K1FWI|h%V$KTDR@6fdM*w^dTU8bbIC)1us z)%RrDy&aA@e}yo|1KxII>eXOm`zw9*U6=zdkM*)9rFUHJaVgfb=TY^2m$sh1@6y)e zxT;qVn|k_AOYY84cX|PTO@Y4ClI_Gij=g&Is3}=1a@rj*eQ%}JPv2WQ&*VFe;TD+wDCv!$J_LzEQuMF3BOxiQG`i@C!7k$U1y{3o0 zpkCRlEA%~*_KcIhN7B~Q_ek1nE$A=mmA#%q-xX=k)att;Z9RQgq`kU=KBZpSD=74R zkoL^5z7NvY)AvEz>nZ4W>eUlQTYcxFJ;SB%e6;oSosafP2>K?xzueTr$Uw@T;X;2$ z>Uo#Pe)iiYMgLW=?sF;Dd)cMJdiw50dxncXu3p(I6ZHLz_6!#vj^O*5zMrvVc+wC0 zYsmE-jPG-Ktar?%DCa(tqObHaX|KcPZMdzb8iZ z^j(Vk4Hx>{diA?5MZ5SEST$plv^WpP(J@^oRcXH+^T|$4otaXP~X8?+mo#opYPN z;!WQR_;FKD-wSB#>3ab=-nrX<5{~eHZMT2D#BnL$m(TNa6KL}iX!8?j2#zcGEli*- zN}w%Hpz%yYC?9)43bcCl1!JX@_^f|(sjzMJ9b*NPH&^OC?o#YaKXED6o90p+o1a2? z;!*c{^@z!vCwM<~Db}0iQmpqSQ;+t+<8n-%z7OnYF2#Db@6MOGe}&1T4eQnYE=4)* z*|r6dkJNX5wVRT(bG>@NrC86NZCe=C(|3LyHgd8p>eYj$p1$+zUtEfE+POpD`PFUm z*j{*ly-N}ARhJ6u>3hBG{RnJRef=A)yF~2y4pVPQB&WXDtBAap@Mfmx5q&-Fu1d0J zxPDXXSqS-m;P3S}a5jSBY1to4pkBV?JwN%yzV5LfeyC2Jv-o3wyArhT;$SSr{0nig z=6)QEA5Y?7-lI4;e?E_camgR!V4U$~9GoAys%5?Jq7wZW`%%lDmTd=92b=dDXicqN zxpHl4MQR70290;dApTZ_D*GTQl7EZwuasLZoDX`q*_zj7lM}SDr7oSHe)U6 zoDW*F9ff=`-&IQO9OwX#CeTj)D|6HF}f9*?Od#Yi^*he16`hWQ^erE@0 z!^>#ghaQcC=SjFHz`X$O@pG?-d&M~%Jg33^POimo#KAp)+i`FY`d%E|8{nP+_X@s) zBitKc-9vacLQ!5NX9En|3v#~bKqlSUlfko)u@#W+#mn`ICAXzO z%;we>m!@n;uUOTvI(4Ey#jI5gYt(44qgZaMq0pYmmWu7U@0Rd#N4a*FXbM*vXc_rC zg@ZO(kAsz)a4^l^#BJN(vZL+7JuQ289~2t*L$-nbWt( z6ODVhwA-00gir4ZVcLuK=U#BH-6t8#U+Lm!w3ddX= z^Ki_^u>c3J1>p4|yw+n0j-@!3;W!7!avUpgG~j5&u@c8B9IJ7x!Lb&{IvnTXI1dNc z-5YRh#Bn~3O*l5=*n(p#jwT%2aBRoXjAI9moj7*kxBv&QZ)m}B5suwB_TXs6u@}ca z9Q$!xjN<@~gE$W1xCFAg>W9oN~gZ&>1GKrf(ow~HL?<-gh=-X`MkDaYy7z6W;%@ozXrZa+p<4@M$&Z-EuM zL?%+Wuf%))hyKI$V^!od49Dr>-%fU8`9b_0Kzn8!U|NjGo C6o!@n From 7a081d7feab0028d0be2e7ead36524e72ce4485e Mon Sep 17 00:00:00 2001 From: Lukas Scharmer Date: Wed, 26 Nov 2025 15:09:05 +0100 Subject: [PATCH 042/865] LegalDocuments: Create document: set change mod & change error text --- .../ILIAS/LegalDocuments/classes/Administration.php | 9 ++++++--- .../classes/Repository/DatabaseDocumentRepository.php | 2 ++ 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/components/ILIAS/LegalDocuments/classes/Administration.php b/components/ILIAS/LegalDocuments/classes/Administration.php index 1c335bdea811..0c649e62b7b1 100755 --- a/components/ILIAS/LegalDocuments/classes/Administration.php +++ b/components/ILIAS/LegalDocuments/classes/Administration.php @@ -436,12 +436,15 @@ public function resetButton(string $confirm_reset_link): Button */ public function documentForm(Closure $link, string $title, Closure $document_content, bool $may_be_new): Form { + $field = $this->ui->create()->input()->field(); $edit_link = $link('editDocument'); $content_title = $may_be_new ? 'form_document' : 'form_document_new'; - $section = $this->ui->create()->input()->field()->section([ - 'title' => $this->ui->create()->input()->field()->text($this->ui->txt('title'))->withRequired(true)->withValue($title), - 'content' => $this->ui->create()->input()->field()->file(new UploadHandler($link, $document_content, $this->ui->txt(...)), $this->ui->txt($content_title))->withAcceptedMimeTypes([ + $require = $this->container->refinery()->custom()->constraint(fn($x) => (bool) $x, $this->ui->txt('title_required')); + + $section = $field->section([ + 'title' => $field->text($this->ui->txt('title'))->withRequired(true, $require)->withValue($title), + 'content' => $field->file(new UploadHandler($link, $document_content, $this->ui->txt(...)), $this->ui->txt($content_title))->withAcceptedMimeTypes([ 'text/html', 'text/plain', ])->withRequired($may_be_new), diff --git a/components/ILIAS/LegalDocuments/classes/Repository/DatabaseDocumentRepository.php b/components/ILIAS/LegalDocuments/classes/Repository/DatabaseDocumentRepository.php index c6670e1848b5..d0d6653682e9 100755 --- a/components/ILIAS/LegalDocuments/classes/Repository/DatabaseDocumentRepository.php +++ b/components/ILIAS/LegalDocuments/classes/Repository/DatabaseDocumentRepository.php @@ -242,6 +242,8 @@ private function lazyDocFields(array $fields_and_values, string $hash, bool $sil 'id' => $this->database->nextId($this->documentTable()), 'creation_ts' => $modification->time(), 'owner_usr_id' => $modification->user(), + 'modification_ts' => $modification->time(), + 'last_modified_usr_id' => $modification->user(), 'sorting' => $this->nextSorting(), 'provider' => $this->id, 'title' => 'Unnamed document', From 6af6f3010d1e0b1f4dfc4b6dd02a869103f699ed Mon Sep 17 00:00:00 2001 From: mjansen Date: Wed, 26 Nov 2025 15:48:32 +0100 Subject: [PATCH 043/865] Init: Improve exception handling/message (cherry picked from commit 0ad40cb691fa6889d9c8260693029e0a5cc3a7f0) --- components/ILIAS/Init/resources/ilias.php | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/components/ILIAS/Init/resources/ilias.php b/components/ILIAS/Init/resources/ilias.php index 7e13a5b1f430..b331a6b6e2c1 100644 --- a/components/ILIAS/Init/resources/ilias.php +++ b/components/ILIAS/Init/resources/ilias.php @@ -32,11 +32,13 @@ try { $DIC->ctrl()->callBaseClass(); } catch (ilCtrlException $e) { - if ((defined('DEVMODE') && DEVMODE) || ( - !str_contains($e->getMessage(), 'not given a baseclass') && - !str_contains($e->getMessage(), 'not a baseclass') - )) { - throw new RuntimeException('No ilCtrl baseClass given', 0, $e); + if (defined('DEVMODE') && DEVMODE) { + throw $e; + } + + if (!str_contains($e->getMessage(), 'not given a baseclass') && + !str_contains($e->getMessage(), 'not a baseclass')) { + throw new RuntimeException(sprintf('ilCtrl could not dispatch request: %s', $e->getMessage()), 0, $e); } $DIC->logger()->root()->error($e->getMessage()); From 160377ece7cdf4d848344c92188961e1fd23b923 Mon Sep 17 00:00:00 2001 From: iszmais <45942348+iszmais@users.noreply.github.com> Date: Wed, 26 Nov 2025 18:11:10 +0100 Subject: [PATCH 044/865] only load single record fields on require (#10535) --- .../classes/Fields/Base/class.ilDclBaseRecordModel.php | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/components/ILIAS/DataCollection/classes/Fields/Base/class.ilDclBaseRecordModel.php b/components/ILIAS/DataCollection/classes/Fields/Base/class.ilDclBaseRecordModel.php index dd2569805a4e..8113d62ac214 100755 --- a/components/ILIAS/DataCollection/classes/Fields/Base/class.ilDclBaseRecordModel.php +++ b/components/ILIAS/DataCollection/classes/Fields/Base/class.ilDclBaseRecordModel.php @@ -311,16 +311,15 @@ public function getRecordFieldValues(): array * Get Field Value * @return int|string|array|null */ - public function getRecordFieldValue(?string $field_id) + public function getRecordFieldValue(?string $field_id): mixed { if ($field_id === null) { return null; } - $this->loadRecordFields(); if (ilDclStandardField::_isStandardField($field_id)) { return $this->getStandardField($field_id); } else { - return $this->recordfields[$field_id]->getValue(); + return ilDclCache::getRecordFieldCache($this, ilDclCache::getFieldCache((int) $field_id))->getValue(); } } From ba2daf15b41dbb4e9c2014c73b89819995fef846 Mon Sep 17 00:00:00 2001 From: mjansen Date: Tue, 25 Nov 2025 12:25:04 +0100 Subject: [PATCH 045/865] ErrorHandling: Ignore `E_USER_DEPRECATED` errors (even in `DEVMODE`) This PR suggests ignoring errors of type `E_USER_DEPRECATED`, even if the `DEVMODE` is enabled. Why? Without this change, developers are not able to make use of the native PHP `\Deprecated` attribute without affecting the official ILIAS testing installation, which runs with enabled `DEVMODE` and PHP 8.4. ILIAS currently just responds with a PHP error message. See: https://mantis.ilias.de/view.php?id=46271 --- .../ILIAS/Init/classes/class.ilErrorHandling.php | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/components/ILIAS/Init/classes/class.ilErrorHandling.php b/components/ILIAS/Init/classes/class.ilErrorHandling.php index 67c1279da654..5788bb280145 100755 --- a/components/ILIAS/Init/classes/class.ilErrorHandling.php +++ b/components/ILIAS/Init/classes/class.ilErrorHandling.php @@ -150,7 +150,7 @@ private function errorHandler(string $message, int $code, array $backtrace): voi global $log; $session_failure = ilSession::get('failure'); - if ($session_failure && strpos($message, 'Cannot find this block') !== 0) { + if ($session_failure && !str_starts_with($message, 'Cannot find this block')) { $m = 'Fatal Error: Called raise error two times.
' . 'First error: ' . $session_failure . '
' . 'Last Error:' . $message; @@ -159,8 +159,8 @@ private function errorHandler(string $message, int $code, array $backtrace): voi die($m); } - if (strpos($message, 'Cannot find this block') === 0) { - if (defined('DEVMODE') && DEVMODE) { + if (str_starts_with($message, 'Cannot find this block')) { + if ($this->isDevmodeActive()) { echo 'DEVMODE

'; echo 'Template Block not found.
'; echo 'You used a template block in your code that is not available.
'; @@ -439,10 +439,20 @@ public function handlePreWhoops(int $level, string $message, string $file, int $ $severity = Whoops\Util\Misc::translateErrorCode($level); $ilLog->write("\n\n" . $severity . ' - ' . $message . "\n" . $file . ' - line ' . $line . "\n"); } + return true; } } + if ($level === E_USER_DEPRECATED) { + if ($ilLog) { + $severity = Whoops\Util\Misc::translateErrorCode($level); + $ilLog->write("\n\n" . $severity . ' - ' . $message . "\n" . $file . ' - line ' . $line . "\n"); + } + + return true; + } + if ($this->whoops instanceof RunInterface) { return $this->whoops->handleError($level, $message, $file, $line); } From 8f2111be7c59f1a947fb08c101618813e596225d Mon Sep 17 00:00:00 2001 From: mjansen Date: Tue, 25 Nov 2025 12:49:41 +0100 Subject: [PATCH 046/865] Auth/Apache: Remove wrong path element (`public/`) from redirect URL --- .../Frontend/class.ilAuthFrontendCredentialsApache.php | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/components/ILIAS/Authentication/classes/Frontend/class.ilAuthFrontendCredentialsApache.php b/components/ILIAS/Authentication/classes/Frontend/class.ilAuthFrontendCredentialsApache.php index 339838f00c09..78c456f92276 100755 --- a/components/ILIAS/Authentication/classes/Frontend/class.ilAuthFrontendCredentialsApache.php +++ b/components/ILIAS/Authentication/classes/Frontend/class.ilAuthFrontendCredentialsApache.php @@ -77,10 +77,12 @@ public function tryAuthenticationOnLoginPage(): void $this->ctrl->redirectToURL( ilUtil::getHtmlPath( - './public/sso/index.php?force_mode_apache=1&' . - 'r=' . urlencode($path) . - '&cookie_path=' . urlencode(IL_COOKIE_PATH) . - '&ilias_path=' . urlencode(ILIAS_HTTP_PATH) + './sso/index.php?' . http_build_query([ + 'force_mode_apache' => 1, + 'r' => $path, + 'cookie_path' => IL_COOKIE_PATH, + 'ilias_path' => ILIAS_HTTP_PATH, + ]) ) ); } From cd48bcb09642b86542adf449c6b5dc23d9b99083 Mon Sep 17 00:00:00 2001 From: Tim Schmitz Date: Wed, 19 Nov 2025 13:48:21 +0100 Subject: [PATCH 047/865] Session: preload registration for access checks (45807) --- .../classes/class.ilObjSessionAccess.php | 27 ++++++++++++++++--- 1 file changed, 24 insertions(+), 3 deletions(-) diff --git a/components/ILIAS/Session/classes/class.ilObjSessionAccess.php b/components/ILIAS/Session/classes/class.ilObjSessionAccess.php index 41f252ad2b1f..e0af5775a85b 100755 --- a/components/ILIAS/Session/classes/class.ilObjSessionAccess.php +++ b/components/ILIAS/Session/classes/class.ilObjSessionAccess.php @@ -133,11 +133,12 @@ public static function _lookupRegistration(int $a_obj_id): bool $ilDB = $DIC->database(); - if (!is_null(self::$registrations)) { + if (isset(self::$registrations[$a_obj_id])) { return (bool) self::$registrations[$a_obj_id]; } - $query = "SELECT registration,obj_id FROM event "; + $query = "SELECT registration,obj_id FROM event WHERE obj_id = " . + $ilDB->quote($a_obj_id, ilDBConstants::T_INTEGER); $res = $ilDB->query($query); while ($row = $res->fetchRow(ilDBConstants::FETCHMODE_OBJECT)) { self::$registrations[$row->obj_id] = (bool) $row->registration; @@ -145,6 +146,25 @@ public static function _lookupRegistration(int $a_obj_id): bool return (bool) self::$registrations[$a_obj_id]; } + /** + * @param int[] $a_obj_ids + */ + public static function preloadRegistrations(array $a_obj_ids): void + { + global $DIC; + + $ilDB = $DIC->database(); + + self::$registrations = []; + + $query = "SELECT registration,obj_id FROM event WHERE " . + $ilDB->in('obj_id', $a_obj_ids, false, ilDBConstants::T_INTEGER); + $res = $ilDB->query($query); + while ($row = $res->fetchRow(ilDBConstants::FETCHMODE_OBJECT)) { + self::$registrations[$row->obj_id] = (bool) $row->registration; + } + } + public static function _lookupRegistered(int $a_usr_id, int $a_obj_id): bool { global $DIC; @@ -169,13 +189,14 @@ public static function _preloadData($a_obj_ids, $a_ref_ids): void { global $DIC; + self::preloadRegistrations($a_obj_ids); self::$booking_repo = $DIC->bookingManager() ->internal() ->repo() ->reservationWithContextObjCache($a_obj_ids); } - public static function getBookingInfoRepo() : ?\ILIAS\BookingManager\Reservations\ReservationDBRepository + public static function getBookingInfoRepo(): ?\ILIAS\BookingManager\Reservations\ReservationDBRepository { if (self::$booking_repo instanceof \ILIAS\BookingManager\Reservations\ReservationDBRepository) { return self::$booking_repo; From ccbca816b10f391c844c47aae072d9da3c0fa6ac Mon Sep 17 00:00:00 2001 From: mjansen Date: Thu, 27 Nov 2025 11:55:48 +0100 Subject: [PATCH 048/865] Certificate: Add more logging when delegating PDF generation See: https://mantis.ilias.de/view.php?id=46155 --- .../class.ilUserCertificateApiGUI.php | 50 ++++------- .../File/Certificate/class.ilPdfGenerator.php | 87 +++++++++--------- .../Pdf/class.ilCertificatePdfAction.php | 64 +++++++------ .../User/class.ilUserCertificateGUI.php | 90 +++++++++---------- .../class.ilObjCertificateSettingsGUI.php | 29 +++--- .../Certificate/tests/ilPdfGeneratorTest.php | 89 +++++++----------- 6 files changed, 186 insertions(+), 223 deletions(-) diff --git a/components/ILIAS/Certificate/classes/API/Download/class.ilUserCertificateApiGUI.php b/components/ILIAS/Certificate/classes/API/Download/class.ilUserCertificateApiGUI.php index d612928afb15..67b09d73d6d6 100755 --- a/components/ILIAS/Certificate/classes/API/Download/class.ilUserCertificateApiGUI.php +++ b/components/ILIAS/Certificate/classes/API/Download/class.ilUserCertificateApiGUI.php @@ -20,15 +20,11 @@ use Psr\Http\Message\ServerRequestInterface; -/** - * @ingroup ServicesCertificate - * @author Niels Theen - */ class ilUserCertificateApiGUI { - final public const CMD_DOWNLOAD = 'download'; + final public const string CMD_DOWNLOAD = 'download'; - private readonly ilLogger $certificateLogger; + private readonly ilLogger $logger; private readonly ServerRequestInterface $request; private readonly ilLanguage $language; private readonly ilCtrlInterface $ctrl; @@ -36,30 +32,15 @@ class ilUserCertificateApiGUI public function __construct( ?ilLanguage $language = null, ?ServerRequestInterface $request = null, - ?ilLogger $certificateLogger = null, + ?ilLogger $logger = null, ?ilCtrlInterface $ctrl = null ) { global $DIC; - if ($language === null) { - $language = $DIC->language(); - } - $this->language = $language; - - if ($request === null) { - $request = $DIC->http()->request(); - } - $this->request = $request; - - if ($certificateLogger === null) { - $certificateLogger = $DIC->logger()->cert(); - } - $this->certificateLogger = $certificateLogger; - - if ($ctrl === null) { - $ctrl = $DIC->ctrl(); - } - $this->ctrl = $ctrl; + $this->language = $language ?? $DIC->language(); + $this->request = $request ?? $DIC->http()->request(); + $this->logger = $logger ?? $DIC->logger()->cert(); + $this->ctrl = $ctrl ?? $DIC->ctrl(); $this->language->loadLanguageModule('cert'); } @@ -80,19 +61,20 @@ public function executeCommand(): void public function download(): void { - $userCertificateRepository = new ilUserCertificateRepository(null, $this->certificateLogger); - $pdfGenerator = new ilPdfGenerator($userCertificateRepository); + $repo = new ilUserCertificateRepository(null, $this->logger); - $userCertificateId = (int) $this->request->getQueryParams()['certificate_id']; + $certificate_id = (int) $this->request->getQueryParams()['certificate_id']; - $userCertificate = $userCertificateRepository->fetchCertificate($userCertificateId); + $certificate = $repo->fetchCertificate($certificate_id); - $pdfAction = new ilCertificatePdfAction( - $pdfGenerator, + $action = (new ilCertificatePdfAction( + (new ilPdfGenerator($repo))->withLogger($this->logger), new ilCertificateUtilHelper(), $this->language->txt('error_creating_certificate_pdf') + ))->withLogger($this->logger); + $action->downloadPdf( + $certificate->getUserId(), + $certificate->getObjId() ); - - $pdfAction->downloadPdf($userCertificate->getUserId(), $userCertificate->getObjId()); } } diff --git a/components/ILIAS/Certificate/classes/File/Certificate/class.ilPdfGenerator.php b/components/ILIAS/Certificate/classes/File/Certificate/class.ilPdfGenerator.php index d1f40380ecf4..98c4901e280b 100755 --- a/components/ILIAS/Certificate/classes/File/Certificate/class.ilPdfGenerator.php +++ b/components/ILIAS/Certificate/classes/File/Certificate/class.ilPdfGenerator.php @@ -20,49 +20,33 @@ use ILIAS\ResourceStorage\Services as IRSS; use ILIAS\ResourceStorage\Identification\ResourceIdentification; -use ILIAS\Filesystem\Filesystem; -/** - * @author Niels Theen - */ class ilPdfGenerator { - private readonly ilCertificateRpcClientFactoryHelper $rpcHelper; - private readonly ilCertificatePdfFileNameFactory $pdfFilenameFactory; + private ?ilLogger $logger = null; public function __construct( - private readonly ilUserCertificateRepository $certificateRepository, + private readonly ilUserCertificateRepository $repository, private ?IRSS $irss = null, - private ?Filesystem $filesystem = null, - ?ilCertificateRpcClientFactoryHelper $rpcHelper = null, - ?ilCertificatePdfFileNameFactory $pdfFileNameFactory = null, - ?ilLanguage $lng = null, + private ?ilCertificateRpcClientFactoryHelper $rpc = null, + private ?ilCertificatePdfFileNameFactory $filename_factory = null, + ?ilLanguage $lng = null ) { global $DIC; - if (null === $irss) { - $irss = $DIC->resourceStorage(); - } - $this->irss = $irss; - - if (null === $this->filesystem) { - $filesystem = $DIC->filesystem()->web(); - } - $this->filesystem = $filesystem; - - if (null === $rpcHelper) { - $rpcHelper = new ilCertificateRpcClientFactoryHelper(); - } - $this->rpcHelper = $rpcHelper; + $this->irss = $irss ?? $DIC->resourceStorage(); + $this->rpc = $rpc ?? new ilCertificateRpcClientFactoryHelper(); + $this->filename_factory = $filename_factory ?? new ilCertificatePdfFileNameFactory( + $lng ?? $DIC->language() + ); + } - if (null === $lng) { - $lng = $DIC->language(); - } + public function withLogger(ilLogger $logger): self + { + $clone = clone $this; + $clone->logger = $logger; - if (null === $pdfFileNameFactory) { - $pdfFileNameFactory = new ilCertificatePdfFileNameFactory($lng); - } - $this->pdfFilenameFactory = $pdfFileNameFactory; + return $clone; } /** @@ -70,7 +54,7 @@ public function __construct( */ public function generate(int $userCertificateId): string { - $certificate = $this->certificateRepository->fetchCertificate($userCertificateId); + $certificate = $this->repository->fetchCertificate($userCertificateId); return $this->createPDFScalar($certificate); } @@ -80,7 +64,7 @@ public function generate(int $userCertificateId): string */ public function generateCurrentActiveCertificate(int $userId, int $objId): string { - $certificate = $this->certificateRepository->fetchActiveCertificate($userId, $objId); + $certificate = $this->repository->fetchActiveCertificate($userId, $objId); return $this->createPDFScalar($certificate); } @@ -92,33 +76,54 @@ public function generateCurrentActiveCertificate(int $userId, int $objId): strin */ public function generateFileName(int $userId, int $objId): string { - $certificate = $this->certificateRepository->fetchActiveCertificateForPresentation($userId, $objId); + $certificate = $this->repository->fetchActiveCertificateForPresentation($userId, $objId); $user = ilObjectFactory::getInstanceByObjId($userId); if (!$user instanceof ilObjUser) { throw new ilException(sprintf('The usr_id "%s" does NOT reference a user', $userId)); } - return $this->pdfFilenameFactory->create($certificate); + return $this->filename_factory->create($certificate); } private function createPDFScalar(ilUserCertificate $certificate): string { - $certificateContent = $certificate->getCertificateContent(); + $content = $certificate->getCertificateContent(); + + $this->logger?->debug( + 'Delegating certificate PDF generation for certificate id {certificate_id} (user {user_id} and object {object_id}) to ilServer', + [ + 'certificate_id' => $certificate->getCertificateId()->asString(), + 'user_id' => $certificate->getUserId(), + 'object_id' => $certificate->getObjId() + ] + ); + $background_rid = $this->irss->manage()->find($certificate->getBackgroundImageIdentification()); - $background_src = ''; if ($background_rid instanceof ResourceIdentification) { $background_src = $this->irss->consume()->src($background_rid)->getSrc(true); - $certificateContent = str_replace( + $content = str_replace( ['[BACKGROUND_IMAGE]'], [$background_src], - $certificateContent + $content ); } - $pdf_base64 = $this->rpcHelper->ilFO2PDF('RPCTransformationHandler', $certificateContent); + $pdf_base64 = $this->rpc->ilFO2PDF('RPCTransformationHandler', $content); + + $size = strlen(base64_decode($pdf_base64->scalar, true)); + $this->logger?->debug( + 'Received generated PDF with size {size} bytes for certificate id {certificate_id} (user {user_id} and object {object_id}) from ilServer', + [ + 'size' => $size, + 'certificate_id' => $certificate->getCertificateId()->asString(), + 'user_id' => $certificate->getUserId(), + 'object_id' => $certificate->getObjId() + ] + ); + return $pdf_base64->scalar; } diff --git a/components/ILIAS/Certificate/classes/User/Action/Pdf/class.ilCertificatePdfAction.php b/components/ILIAS/Certificate/classes/User/Action/Pdf/class.ilCertificatePdfAction.php index 2874dc7bb254..08bd18e279fa 100755 --- a/components/ILIAS/Certificate/classes/User/Action/Pdf/class.ilCertificatePdfAction.php +++ b/components/ILIAS/Certificate/classes/User/Action/Pdf/class.ilCertificatePdfAction.php @@ -18,54 +18,64 @@ declare(strict_types=1); -/** - * @author Niels Theen - */ class ilCertificatePdfAction { - private readonly ilCertificateUtilHelper $ilUtilHelper; - private readonly ilErrorHandling $errorHandler; + private readonly ilCertificateUtilHelper $helper; + private readonly ilErrorHandling $error_handler; + private ?ilLogger $logger = null; public function __construct( - private readonly ilPdfGenerator $pdfGenerator, - ?ilCertificateUtilHelper $ilUtilHelper = null, - private readonly string $translatedErrorText = '', - ?ilErrorHandling $errorHandler = null + private readonly ilPdfGenerator $pdf_generator, + ?ilCertificateUtilHelper $helper = null, + private readonly string $error_txt = '', + ?ilErrorHandling $error_handler = null ) { - if (null === $ilUtilHelper) { - $ilUtilHelper = new ilCertificateUtilHelper(); - } - $this->ilUtilHelper = $ilUtilHelper; + global $DIC; - if (null === $errorHandler) { - global $DIC; - $errorHandler = $DIC['ilErr']; - } - $this->errorHandler = $errorHandler; + $this->helper = $helper ?? new ilCertificateUtilHelper(); + $this->error_handler = $error_handler ?? $DIC['ilErr']; + } + + public function withLogger(ilLogger $logger): self + { + $clone = clone $this; + $clone->logger = $logger; + + return $clone; } public function createPDF(int $userId, int $objectId): string { - return $this->pdfGenerator->generateCurrentActiveCertificate($userId, $objectId); + return $this->pdf_generator->generateCurrentActiveCertificate($userId, $objectId); } public function downloadPdf(int $userId, int $objectId): string { try { - $pdfScalar = $this->createPDF($userId, $objectId); + $pdf_scalar = $this->createPDF($userId, $objectId); - $fileName = $this->pdfGenerator->generateFileName($userId, $objectId); + $filename = $this->pdf_generator->generateFileName($userId, $objectId); - $this->ilUtilHelper->deliverData( - $pdfScalar, - $fileName, + $this->helper->deliverData( + $pdf_scalar, + $filename, 'application/pdf' ); - } catch (ilException) { - $this->errorHandler->raiseError($this->translatedErrorText, $this->errorHandler->MESSAGE); + } catch (Throwable $e) { + $this->logger?->error( + 'Error while generating or downloading certificate PDF for user {user_id} and object {object_id}: {error}', + [ + 'user_id' => $userId, + 'object_id' => $objectId, + 'error' => $e->getMessage(), + 'exception' => $e + ] + ); + + $this->error_handler->raiseError($this->error_txt, $this->error_handler->MESSAGE); return ''; } - return $pdfScalar; + return $pdf_scalar; } } diff --git a/components/ILIAS/Certificate/classes/User/class.ilUserCertificateGUI.php b/components/ILIAS/Certificate/classes/User/class.ilUserCertificateGUI.php index 794f345a53f7..16b67dc20532 100755 --- a/components/ILIAS/Certificate/classes/User/class.ilUserCertificateGUI.php +++ b/components/ILIAS/Certificate/classes/User/class.ilUserCertificateGUI.php @@ -18,7 +18,6 @@ declare(strict_types=1); -use ILIAS\Filesystem\Filesystem; use ILIAS\UI\Factory; use ILIAS\UI\Renderer; use Psr\Http\Message\ServerRequestInterface; @@ -30,31 +29,31 @@ */ class ilUserCertificateGUI { - final public const SORTATION_SESSION_KEY = 'my_certificates_sorting'; + final public const string SORTATION_SESSION_KEY = 'my_certificates_sorting'; private readonly ilGlobalTemplateInterface $template; private readonly ilCtrlInterface $ctrl; private readonly ilLanguage $language; - private readonly ilUserCertificateRepository $userCertificateRepository; + private readonly ilUserCertificateRepository $user_certificate_repo; private readonly ilObjUser $user; private readonly ServerRequestInterface $request; - private readonly ilLogger $certificateLogger; - private readonly Factory $uiFactory; - private readonly Renderer $uiRenderer; + private readonly ilLogger $logger; + private readonly Factory $ui_factory; + private readonly Renderer $ui_renderer; private readonly ilAccessHandler $access; private readonly ilHelpGUI $help; private readonly ilDBInterface $db; /** - * @var array + * @var array{"title_ASC":string,"title_DESC":string,"date_ASC":string,"date_DESC":string} */ - protected array $sortationOptions = [ + protected array $sortation_options = [ 'title_ASC' => 'cert_sortable_by_title_asc', 'title_DESC' => 'cert_sortable_by_title_desc', 'date_ASC' => 'cert_sortable_by_issue_date_asc', 'date_DESC' => 'cert_sortable_by_issue_date_desc', ]; - protected string $defaultSorting = 'date_DESC'; + protected string $default_sorting = 'date_DESC'; public function __construct( ?ilGlobalTemplateInterface $template = null, @@ -79,11 +78,11 @@ public function __construct( $this->user = $user ?? $DIC->user(); $this->language = $language ?? $DIC->language(); $this->request = $request ?? $DIC->http()->request(); - $this->certificateLogger = $certificateLogger ?? $DIC->logger()->cert(); - $this->uiFactory = $uiFactory ?? $DIC->ui()->factory(); - $this->uiRenderer = $uiRenderer ?? $DIC->ui()->renderer(); + $this->logger = $certificateLogger ?? $DIC->logger()->cert(); + $this->ui_factory = $uiFactory ?? $DIC->ui()->factory(); + $this->ui_renderer = $uiRenderer ?? $DIC->ui()->renderer(); $this->access = $access ?? $DIC->access(); - $this->userCertificateRepository = $userCertificateRepository ?? new ilUserCertificateRepository(null, $this->certificateLogger); + $this->user_certificate_repo = $userCertificateRepository ?? new ilUserCertificateRepository(null, $this->logger); $this->help = $help ?? $DIC->help(); $this->db = $db ?? $DIC->database(); $this->irss = $irss ?? $DIC->resourceStorage(); @@ -129,7 +128,7 @@ public function listCertificates(): void $provider = new ilUserCertificateTableProvider( $this->db, - $this->certificateLogger, + $this->logger, $this->language->txt('certificate_no_object_title') ); @@ -150,11 +149,11 @@ public function listCertificates(): void $sortationOptions = []; $cards = []; - foreach ($this->sortationOptions as $fieldAndDirection => $lngVariable) { + foreach ($this->sortation_options as $fieldAndDirection => $lngVariable) { $sortationOptions[$fieldAndDirection] = $this->language->txt($lngVariable); } - $sortViewControl = $this->uiFactory + $sortViewControl = $this->ui_factory ->viewControl() ->sortation($sortationOptions, $sorting) ->withTargetURL($this->ctrl->getLinkTarget($this, 'applySortation'), 'sort_by'); @@ -173,7 +172,7 @@ public function listCertificates(): void $imagePath = ilUtil::getImagePath('standard/icon_cert.svg'); } - $cardImage = $this->uiFactory->image()->standard( + $cardImage = $this->ui_factory->image()->standard( $imagePath, $certificateData['title'] ); @@ -181,21 +180,21 @@ public function listCertificates(): void $sections = []; if ($certificateData['description'] !== '') { - $sections[] = $this->uiFactory->listing()->descriptive([ + $sections[] = $this->ui_factory->listing()->descriptive([ $this->language->txt('cert_description_label') => $certificateData['description'] ]); } $oldDatePresentationStatus = ilDatePresentation::useRelativeDates(); ilDatePresentation::setUseRelativeDates(true); - $sections[] = $this->uiFactory->listing()->descriptive([ + $sections[] = $this->ui_factory->listing()->descriptive([ $this->language->txt('cert_issued_on_label') => ilDatePresentation::formatDate( new ilDateTime($certificateData['date'], IL_CAL_UNIX) ) ]); ilDatePresentation::setUseRelativeDates($oldDatePresentationStatus); - $objectTypeIcon = $this->uiFactory + $objectTypeIcon = $this->ui_factory ->symbol() ->icon() ->standard($certificateData['obj_type'], $certificateData['obj_type']) @@ -205,18 +204,18 @@ public function listCertificates(): void $refIds = ilObject::_getAllReferences((int) $certificateData['obj_id']); foreach ($refIds as $refId) { if ($this->access->checkAccess('read', '', $refId)) { - $objectTitle = $this->uiRenderer->render( - $this->uiFactory->link()->standard($objectTitle, ilLink::_getLink($refId)) + $objectTitle = $this->ui_renderer->render( + $this->ui_factory->link()->standard($objectTitle, ilLink::_getLink($refId)) ); break; } } - $sections[] = $this->uiFactory->listing()->descriptive([$this->language->txt('cert_object_label') => implode( + $sections[] = $this->ui_factory->listing()->descriptive([$this->language->txt('cert_object_label') => implode( '', [ - $this->uiRenderer->render($objectTypeIcon), + $this->ui_renderer->render($objectTypeIcon), $objectTitle ] ) @@ -225,9 +224,9 @@ public function listCertificates(): void $this->ctrl->setParameter($this, 'certificate_id', $certificateData['id']); $downloadHref = $this->ctrl->getLinkTarget($this, 'download'); $this->ctrl->clearParameters($this); - $sections[] = $this->uiFactory->button()->standard('Download', $downloadHref); + $sections[] = $this->ui_factory->button()->standard('Download', $downloadHref); - $card = $this->uiFactory + $card = $this->ui_factory ->card() ->standard($certificateData['title'], $cardImage) ->withSections($sections) @@ -236,23 +235,23 @@ public function listCertificates(): void $cards[] = $card; } - $deck = $this->uiFactory->deck($cards)->withSmallCardsSize(); + $deck = $this->ui_factory->deck($cards)->withSmallCardsSize(); - $uiComponents[] = $this->uiFactory->divider()->horizontal(); + $uiComponents[] = $this->ui_factory->divider()->horizontal(); $uiComponents[] = $deck; } else { $this->template->setOnScreenMessage('info', $this->language->txt('cert_currently_no_certs')); } - $this->template->setContent($this->uiRenderer->render($uiComponents)); + $this->template->setContent($this->ui_renderer->render($uiComponents)); } protected function getCurrentSortation(): string { $sorting = ilSession::get(self::SORTATION_SESSION_KEY); - if (!array_key_exists($sorting, $this->sortationOptions)) { - $sorting = $this->defaultSorting; + if (!array_key_exists($sorting, $this->sortation_options)) { + $sorting = $this->default_sorting; } return $sorting; @@ -264,9 +263,9 @@ protected function getCurrentSortation(): string */ protected function applySortation(): void { - $sorting = $this->request->getQueryParams()['sort_by'] ?? $this->defaultSorting; - if (!array_key_exists($sorting, $this->sortationOptions)) { - $sorting = $this->defaultSorting; + $sorting = $this->request->getQueryParams()['sort_by'] ?? $this->default_sorting; + if (!array_key_exists($sorting, $this->sortation_options)) { + $sorting = $this->default_sorting; } ilSession::set(self::SORTATION_SESSION_KEY, $sorting); @@ -278,30 +277,29 @@ protected function applySortation(): void */ public function download(): void { - $pdfGenerator = new ilPdfGenerator($this->userCertificateRepository); - - $userCertificateId = (int) $this->request->getQueryParams()['certificate_id']; + $certificate_id = (int) $this->request->getQueryParams()['certificate_id']; try { - $userCertificate = $this->userCertificateRepository->fetchCertificate($userCertificateId); - if ($userCertificate->getUserId() !== $this->user->getId()) { - throw new ilException(sprintf('User "%s" tried to access certificate: "%s"', $this->user->getLogin(), $userCertificateId)); + $certificate = $this->user_certificate_repo->fetchCertificate($certificate_id); + if ($certificate->getUserId() !== $this->user->getId()) { + throw new ilException( + sprintf('User "%s" tried to access certificate: "%s"', $this->user->getLogin(), $certificate_id) + ); } } catch (ilException $exception) { - $this->certificateLogger->warning($exception->getMessage()); + $this->logger->warning($exception->getMessage()); $this->template->setOnScreenMessage('failure', $this->language->txt('cert_error_no_access')); $this->listCertificates(); return; } - $pdfAction = new ilCertificatePdfAction( - $pdfGenerator, + $action = (new ilCertificatePdfAction( + (new ilPdfGenerator($this->user_certificate_repo))->withLogger($this->logger), new ilCertificateUtilHelper(), $this->language->txt('error_creating_certificate_pdf') - ); - - $pdfAction->downloadPdf($userCertificate->getUserId(), $userCertificate->getObjId()); + ))->withLogger($this->logger); + $action->downloadPdf($certificate->getUserId(), $certificate->getObjId()); $this->listCertificates(); } diff --git a/components/ILIAS/Certificate/classes/class.ilObjCertificateSettingsGUI.php b/components/ILIAS/Certificate/classes/class.ilObjCertificateSettingsGUI.php index f07d25a7b0ec..82f51ac7a054 100755 --- a/components/ILIAS/Certificate/classes/class.ilObjCertificateSettingsGUI.php +++ b/components/ILIAS/Certificate/classes/class.ilObjCertificateSettingsGUI.php @@ -277,10 +277,8 @@ public function certificatesOverview(): void public function downloadCertificate(): void { - if ( - !$this->certificate_active_validator->validate() || - !$this->rbac_system->checkAccess('read', $this->object->getRefId()) - ) { + if (!$this->certificate_active_validator->validate() || + !$this->rbac_system->checkAccess('read', $this->object->getRefId())) { $this->error->raiseError($this->lng->txt('permission_denied'), $this->error->WARNING); } @@ -300,26 +298,23 @@ public function downloadCertificate(): void $certificate_id = $certificate_id[array_key_first($certificate_id)]; try { - $user_certificate = $this->user_certificate_repo->fetchCertificate($certificate_id); - if (!$user_certificate->isCurrentlyActive()) { + $certificate = $this->user_certificate_repo->fetchCertificate($certificate_id); + if (!$certificate->isCurrentlyActive()) { throw new Exception('Certificate is not active'); } + + $pdf_action = (new ilCertificatePdfAction( + (new ilPdfGenerator($this->user_certificate_repo))->withLogger($this->logger), + new ilCertificateUtilHelper(), + $this->lng->txt('error_creating_certificate_pdf') + ))->withLogger($this->logger); + $pdf_action->downloadPdf($certificate->getUserId(), $certificate->getObjId()); + $this->ctrl->redirect($this, self::CMD_CERTIFICATES_OVERVIEW); } catch (Exception $ex) { $this->logger->error('Fetching user certificate for download failed. Ex.: ' . $ex->getMessage()); $this->tpl->setOnScreenMessage('failure', $this->lng->txt('error_creating_certificate_pdf'), true); $this->ctrl->redirect($this, self::CMD_CERTIFICATES_OVERVIEW); } - - $pdf_generator = new ilPdfGenerator($this->user_certificate_repo); - - $pdf_action = new ilCertificatePdfAction( - $pdf_generator, - new ilCertificateUtilHelper(), - $this->lng->txt('error_creating_certificate_pdf') - ); - - $pdf_action->downloadPdf($user_certificate->getUserId(), $user_certificate->getObjId()); - $this->ctrl->redirect($this, self::CMD_CERTIFICATES_OVERVIEW); } public function save(): void diff --git a/components/ILIAS/Certificate/tests/ilPdfGeneratorTest.php b/components/ILIAS/Certificate/tests/ilPdfGeneratorTest.php index d09aec723720..19491aa0e049 100755 --- a/components/ILIAS/Certificate/tests/ilPdfGeneratorTest.php +++ b/components/ILIAS/Certificate/tests/ilPdfGeneratorTest.php @@ -20,7 +20,6 @@ use ILIAS\ResourceStorage\Services as IRSS; use ILIAS\Certificate\ValueObject\CertificateId; -use ILIAS\Filesystem\Filesystem; use PHPUnit\Framework\Attributes\DoesNotPerformAssertions; class ilPdfGeneratorTest extends ilCertificateBaseTestCase @@ -31,6 +30,7 @@ public function testGenerateSpecificCertificate(): void if (!defined('CLIENT_WEB_DIR')) { define('CLIENT_WEB_DIR', 'my/client/web/dir'); } + $certificate = new ilUserCertificate( 3, 20, @@ -50,54 +50,40 @@ public function testGenerateSpecificCertificate(): void 300 ); - $userCertificateRepository = $this->getMockBuilder(ilUserCertificateRepository::class) + $user_repo = $this->getMockBuilder(ilUserCertificateRepository::class) ->disableOriginalConstructor() ->getMock() ; + $user_repo->method('fetchCertificate') + ->willReturn($certificate); - $userCertificateRepository->method('fetchCertificate') - ->willReturn($certificate) - ; - - $rpcHelper = $this->getMockBuilder(ilCertificateRpcClientFactoryHelper::class) - ->getMock() - ; + $rpc = $this->getMockBuilder(ilCertificateRpcClientFactoryHelper::class) + ->getMock(); $pdf = new stdClass(); $pdf->scalar = ''; - $rpcHelper->method('ilFO2PDF') - ->willReturn($pdf) - ; + $rpc->method('ilFO2PDF')->willReturn($pdf); - $pdfFileNameFactory = $this->getMockBuilder(ilCertificatePdfFileNameFactory::class) + $filename_factory = $this->getMockBuilder(ilCertificatePdfFileNameFactory::class) ->disableOriginalConstructor() - ->getMock() - ; + ->getMock(); $language = $this->getMockBuilder(ilLanguage::class) ->disableOriginalConstructor() - ->getMock() - ; + ->getMock(); $irss = $this->getMockBuilder(IRSS::class) - ->disableOriginalConstructor() - ->getMock() - ; - - $filesystem = $this->getMockBuilder(Filesystem::class) ->disableOriginalConstructor() ->getMock(); - $pdfGenerator = new ilPdfGenerator( - $userCertificateRepository, + $pdf_generator = new ilPdfGenerator( + $user_repo, $irss, - $filesystem, - $rpcHelper, - $pdfFileNameFactory, + $rpc, + $filename_factory, $language ); - - $pdfGenerator->generate(100); + $pdf_generator->generate(100); } #[DoesNotPerformAssertions] @@ -106,6 +92,7 @@ public function testGenerateCurrentActiveCertificate(): void if (!defined('CLIENT_WEB_DIR')) { define('CLIENT_WEB_DIR', 'my/client/web/dir'); } + $certificate = new ilUserCertificate( 3, 20, @@ -125,53 +112,39 @@ public function testGenerateCurrentActiveCertificate(): void 300 ); - $userCertificateRepository = $this->getMockBuilder(ilUserCertificateRepository::class) + $user_repo = $this->getMockBuilder(ilUserCertificateRepository::class) ->disableOriginalConstructor() - ->getMock() - ; + ->getMock(); - $userCertificateRepository->method('fetchActiveCertificate') - ->willReturn($certificate) - ; + $user_repo->method('fetchActiveCertificate') + ->willReturn($certificate); - $rpcHelper = $this->getMockBuilder(ilCertificateRpcClientFactoryHelper::class) - ->getMock() - ; + $rpc = $this->getMockBuilder(ilCertificateRpcClientFactoryHelper::class) + ->getMock(); $pdf = new stdClass(); $pdf->scalar = ''; - $rpcHelper->method('ilFO2PDF') - ->willReturn($pdf) - ; + $rpc->method('ilFO2PDF')->willReturn($pdf); - $pdfFileNameFactory = $this->getMockBuilder(ilCertificatePdfFileNameFactory::class) + $filename_factory = $this->getMockBuilder(ilCertificatePdfFileNameFactory::class) ->disableOriginalConstructor() - ->getMock() - ; + ->getMock(); $language = $this->getMockBuilder(ilLanguage::class) ->disableOriginalConstructor() - ->getMock() - ; + ->getMock(); $irss = $this->getMockBuilder(IRSS::class) - ->disableOriginalConstructor() - ->getMock() - ; - - $filesystem = $this->getMockBuilder(Filesystem::class) ->disableOriginalConstructor() ->getMock(); - $pdfGenerator = new ilPdfGenerator( - $userCertificateRepository, + $pdf_generator = new ilPdfGenerator( + $user_repo, $irss, - $filesystem, - $rpcHelper, - $pdfFileNameFactory, + $rpc, + $filename_factory, $language ); - - $pdfGenerator->generateCurrentActiveCertificate(100, 200); + $pdf_generator->generateCurrentActiveCertificate(100, 200); } } From e3500823ce8d59f97ed7f5b4ec737bb62a7b2777 Mon Sep 17 00:00:00 2001 From: mjansen Date: Thu, 27 Nov 2025 12:17:26 +0100 Subject: [PATCH 049/865] Certificate: Document "RPC ilFO2PDF" return type --- .../classes/Helper/ilCertificateRpcClientFactoryHelper.php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/components/ILIAS/Certificate/classes/Helper/ilCertificateRpcClientFactoryHelper.php b/components/ILIAS/Certificate/classes/Helper/ilCertificateRpcClientFactoryHelper.php index 7bc7525ba991..1d3c52401c54 100755 --- a/components/ILIAS/Certificate/classes/Helper/ilCertificateRpcClientFactoryHelper.php +++ b/components/ILIAS/Certificate/classes/Helper/ilCertificateRpcClientFactoryHelper.php @@ -18,11 +18,11 @@ declare(strict_types=1); -/** - * @author Niels Theen - */ class ilCertificateRpcClientFactoryHelper { + /** + * @return stdClass{"scalar": string} + */ public function ilFO2PDF(string $package, string $certificateContent): stdClass { /** @noinspection PhpIncompatibleReturnTypeInspection */ From 5e9ad1415d7d092894bae5df951887375e6da159 Mon Sep 17 00:00:00 2001 From: Tim Schmitz Date: Thu, 27 Nov 2025 13:51:47 +0100 Subject: [PATCH 050/865] Adv: fix position of new entry for select field (46233) --- .../classes/Types/class.ilAdvancedMDFieldDefinitionSelect.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/components/ILIAS/AdvancedMetaData/classes/Types/class.ilAdvancedMDFieldDefinitionSelect.php b/components/ILIAS/AdvancedMetaData/classes/Types/class.ilAdvancedMDFieldDefinitionSelect.php index 3a2eaff7cffb..2ba58780172f 100755 --- a/components/ILIAS/AdvancedMetaData/classes/Types/class.ilAdvancedMDFieldDefinitionSelect.php +++ b/components/ILIAS/AdvancedMetaData/classes/Types/class.ilAdvancedMDFieldDefinitionSelect.php @@ -476,10 +476,10 @@ protected function importNewSelectOptions( /* * Update positions and value - * If an entry is is moved down, shift new position to reflect entry not + * If an entry is moved down, shift new position to reflect entry not * being in its old position anymore. */ - if ($new_position > $edited_option->getPosition()) { + if ($edited_id !== self::ADD_NEW_ENTRY_ID && $new_position > $edited_option->getPosition()) { $new_position -= 1; } From b65fbb0dc65de0831a11d5710e3875eef794135a Mon Sep 17 00:00:00 2001 From: Tim Schmitz Date: Thu, 27 Nov 2025 14:07:52 +0100 Subject: [PATCH 051/865] Tracking: remove last remnants of table views (46310) --- .../Tracking/classes/class.ilLPTableBaseGUI.php | 16 +--------------- 1 file changed, 1 insertion(+), 15 deletions(-) diff --git a/components/ILIAS/Tracking/classes/class.ilLPTableBaseGUI.php b/components/ILIAS/Tracking/classes/class.ilLPTableBaseGUI.php index 0f8f1047a31e..58248d1b20e3 100755 --- a/components/ILIAS/Tracking/classes/class.ilLPTableBaseGUI.php +++ b/components/ILIAS/Tracking/classes/class.ilLPTableBaseGUI.php @@ -32,7 +32,7 @@ */ class ilLPTableBaseGUI extends ilTable2GUI { - public const HIT_LIMIT = 5000; + public const int HIT_LIMIT = 5000; protected RefineryFactory $refinery; protected HttpService $http; @@ -190,20 +190,6 @@ public function executeCommand(): bool $obj->writeToSession(); } - if ($this->requested_tmpl_create !== "") { - $this->ctrl->setParameter( - $this->parent_obj, - "tbltplcrt", - $this->requested_tmpl_create - ); - } - if ($this->requested_tmpl_delete !== "") { - $this->ctrl->setParameter( - $this->parent_obj, - "tbltpldel", - $this->requested_tmpl_delete - ); - } $this->ctrl->redirect($this->parent_obj, $this->parent_cmd); } else { // e.g. repository selector From f5f342ad1229a4b1a4bede15038dff6b12441e9a Mon Sep 17 00:00:00 2001 From: Tim Schmitz Date: Thu, 27 Nov 2025 14:39:36 +0100 Subject: [PATCH 052/865] Tracking: omit udf from selectable columns (46311) --- components/ILIAS/Tracking/classes/class.ilLPTableBaseGUI.php | 3 +++ 1 file changed, 3 insertions(+) diff --git a/components/ILIAS/Tracking/classes/class.ilLPTableBaseGUI.php b/components/ILIAS/Tracking/classes/class.ilLPTableBaseGUI.php index 58248d1b20e3..3d5ef4a945bd 100755 --- a/components/ILIAS/Tracking/classes/class.ilLPTableBaseGUI.php +++ b/components/ILIAS/Tracking/classes/class.ilLPTableBaseGUI.php @@ -1123,6 +1123,9 @@ protected function getSelectableUserColumns( )) { // other user profile fields foreach ($ufs as $fd) { + if ($fd->isCustom()) { + continue; + } $f = $fd->getIdentifier(); if (!isset($cols[$f]) && $f !== "username" && !$fd->hiddenInLists()) { $cols[$f] = array( From 669913f1fd5494d748eb7c5a2470998e18010cd7 Mon Sep 17 00:00:00 2001 From: Tim Schmitz Date: Thu, 27 Nov 2025 14:47:50 +0100 Subject: [PATCH 053/865] Tracking: numeric ordering of count in manage data table (46325) --- .../class.ilLPObjectStatisticsAdminTableGUI.php | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/components/ILIAS/Tracking/classes/object_statistics/class.ilLPObjectStatisticsAdminTableGUI.php b/components/ILIAS/Tracking/classes/object_statistics/class.ilLPObjectStatisticsAdminTableGUI.php index 85992d1ecf4a..afdb1d2e1560 100755 --- a/components/ILIAS/Tracking/classes/object_statistics/class.ilLPObjectStatisticsAdminTableGUI.php +++ b/components/ILIAS/Tracking/classes/object_statistics/class.ilLPObjectStatisticsAdminTableGUI.php @@ -77,6 +77,11 @@ public function getItems(): void $this->setData($data); } + public function numericOrdering(string $a_field): bool + { + return $a_field === "count"; + } + /** * Fill table row */ From 33de55b552cce89c7c35591e2b1b3bd1b6a3cef4 Mon Sep 17 00:00:00 2001 From: Tim Schmitz Date: Thu, 27 Nov 2025 15:44:06 +0100 Subject: [PATCH 054/865] Membership: fix subscriber table (46349) --- .../ILIAS/Membership/classes/class.ilSubscriberTableGUI.php | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/components/ILIAS/Membership/classes/class.ilSubscriberTableGUI.php b/components/ILIAS/Membership/classes/class.ilSubscriberTableGUI.php index 068c67a0569d..471ed6334c3e 100755 --- a/components/ILIAS/Membership/classes/class.ilSubscriberTableGUI.php +++ b/components/ILIAS/Membership/classes/class.ilSubscriberTableGUI.php @@ -315,7 +315,7 @@ public function readSubscriberData(array $a_subscriber_ids): void // Custom user data fields if (is_array($udf_ids)) { $a_user_data = array_reduce( - $this->profile->getDataForMultiple($usr_ids), + iterator_to_array($this->profile->getDataForMultiple($usr_ids)), function (array $c, ProfileData $v) use ($udf_ids): array { if (!$this->checkAcceptance($v->getId())) { return $c; @@ -324,6 +324,7 @@ function (array $c, ProfileData $v) use ($udf_ids): array { foreach ($udf_ids as $field_id) { $c[$v->getId()]['udf_' . $field_id] = implode(', ', $v->getAdditionalFieldByIdentifier($field_id) ?? []); } + return $c; }, $a_user_data ); From f3e95c7a90ddd05c959b6542760a70915060f7bb Mon Sep 17 00:00:00 2001 From: iszmais <45942348+iszmais@users.noreply.github.com> Date: Thu, 27 Nov 2025 18:53:09 +0100 Subject: [PATCH 055/865] remove artifacts of tableview order (#10555) --- .../classes/Table/class.ilDclTable.php | 27 +------------- .../TableView/class.ilDclTableView.php | 36 +------------------ .../TableView/class.ilDclTableViewEditGUI.php | 2 -- .../TableView/class.ilDclTableViewGUI.php | 19 ---------- .../classes/class.ilDataCollectionDataSet.php | 2 -- lang/ilias_de.lang | 1 - lang/ilias_en.lang | 1 - 7 files changed, 2 insertions(+), 86 deletions(-) diff --git a/components/ILIAS/DataCollection/classes/Table/class.ilDclTable.php b/components/ILIAS/DataCollection/classes/Table/class.ilDclTable.php index d2d666e80a26..1a8e68cad0d7 100755 --- a/components/ILIAS/DataCollection/classes/Table/class.ilDclTable.php +++ b/components/ILIAS/DataCollection/classes/Table/class.ilDclTable.php @@ -420,31 +420,6 @@ public function getNewFieldOrder(): int return $place; } - /** - * @return int - */ - public function getNewTableviewOrder(): int - { - return (ilDclTableView::getCountForTableId($this->getId()) + 1) * 10; - } - - /** - * @param ilDclTableView[] $tableviews - */ - public function sortTableViews(?array $tableviews = null): void - { - if ($tableviews == null) { - $tableviews = $this->getTableViews(); - } - - $order = 10; - foreach ($tableviews as $tableview) { - $tableview->setTableviewOrder($order); - $tableview->update(); - $order += 10; - } - } - /** * Returns all fields of this table including the standard fields * @param bool $force_include_comments by default false, so comments will only load when enabled in tablesettings @@ -471,7 +446,7 @@ public function reloadFields(): void } /** - * @return ilDclTableView[] all tableviews ordered by tableview_order + * @return ilDclTableView[] */ public function getTableViews(): array { diff --git a/components/ILIAS/DataCollection/classes/TableView/class.ilDclTableView.php b/components/ILIAS/DataCollection/classes/TableView/class.ilDclTableView.php index d04d7ed38807..dd0a0e949579 100755 --- a/components/ILIAS/DataCollection/classes/TableView/class.ilDclTableView.php +++ b/components/ILIAS/DataCollection/classes/TableView/class.ilDclTableView.php @@ -68,13 +68,6 @@ class ilDclTableView extends ActiveRecord * @db_length 128 */ protected string $description = ''; - /** - * @var int - * @db_has_field true - * @db_fieldtype integer - * @db_length 8 - */ - protected int $tableview_order = 0; /** * @var ilDclBaseFieldModel[] */ @@ -119,16 +112,6 @@ public function setTitle(string $title): void $this->title = $title; } - public function getOrder(): int - { - return $this->tableview_order; - } - - public function setOrder(int $order): void - { - $this->tableview_order = $order; - } - public function getDescription(): string { return $this->description; @@ -139,16 +122,6 @@ public function setDescription(string $description): void $this->description = $description; } - public function getTableviewOrder(): int - { - return $this->tableview_order; - } - - public function setTableviewOrder(int $tableview_order): void - { - $this->tableview_order = $tableview_order; - } - public function getRoles(): array { return $this->roles; @@ -362,7 +335,6 @@ public function cloneStructure(ilDclTableView $orig, array $new_fields): void global $DIC; //clone structure $this->setTitle($orig->getTitle() . ' ' . $DIC->language()->txt('copy_of_suffix')); - $this->setOrder($orig->getOrder()); $this->setDescription($orig->getDescription()); $this->setRoles($orig->getRoles()); $this->setRoleLimitation($orig->getRoleLimitation()); @@ -415,18 +387,13 @@ public static function getAllForTableId(int $table_id): array return self::where(['table_id' => $table_id])->orderBy('title')->get(); } - public static function getCountForTableId(int $table_id): int - { - return self::where(['table_id' => $table_id])->orderBy('tableview_order')->count(); - } - /** * @param $table_id * @return ilDclTableView|ActiveRecord */ public static function createOrGetStandardView(int $table_id): ActiveRecord { - if ($standardview = self::where(['table_id' => $table_id])->orderBy('tableview_order')->first()) { + if ($standardview = self::where(['table_id' => $table_id])->first()) { return $standardview; } @@ -462,7 +429,6 @@ public static function createOrGetStandardView(int $table_id): ActiveRecord // bugfix mantis 0023307 $lng = $DIC['lng']; $view->setTitle($lng->txt('dcl_title_standardview')); - $view->setTableviewOrder(10); $view->create(); return $view; diff --git a/components/ILIAS/DataCollection/classes/TableView/class.ilDclTableViewEditGUI.php b/components/ILIAS/DataCollection/classes/TableView/class.ilDclTableViewEditGUI.php index 4824c13a41ac..40a22c16aedb 100755 --- a/components/ILIAS/DataCollection/classes/TableView/class.ilDclTableViewEditGUI.php +++ b/components/ILIAS/DataCollection/classes/TableView/class.ilDclTableViewEditGUI.php @@ -346,7 +346,6 @@ public function confirmDelete(): void protected function delete(): void { $this->tableview->delete(); - $this->table->sortTableViews(); $this->tpl->setOnScreenMessage('success', $this->lng->txt('dcl_msg_tableview_deleted'), true); $this->cancel(); } @@ -381,7 +380,6 @@ public function copy(): void $new_tableview = new ilDclTableView(); $new_tableview->setTableId($this->table->getId()); $new_tableview->cloneStructure($this->tableview, []); - $this->table->sortTableViews(); $this->tpl->setOnScreenMessage('success', $this->lng->txt("dcl_tableview_copy"), true); $this->cancel(); } diff --git a/components/ILIAS/DataCollection/classes/TableView/class.ilDclTableViewGUI.php b/components/ILIAS/DataCollection/classes/TableView/class.ilDclTableViewGUI.php index a0270a2ce16e..d65c223ee03f 100755 --- a/components/ILIAS/DataCollection/classes/TableView/class.ilDclTableViewGUI.php +++ b/components/ILIAS/DataCollection/classes/TableView/class.ilDclTableViewGUI.php @@ -204,23 +204,4 @@ public function checkViewsLeft(int $delete_count): void $this->ctrl->redirect($this, 'show'); } } - - /** - * invoked by ilDclTableViewTableGUI - */ - public function saveTableViewOrder(): void - { - $orders = $this->http->wrapper()->post()->retrieve( - 'order', - $this->refinery->kindlyTo()->dictOf($this->refinery->kindlyTo()->string()) - ); - asort($orders); - $tableviews = []; - foreach (array_keys($orders) as $tableview_id) { - $tableviews[] = ilDclTableView::find($tableview_id); - } - $this->table->sortTableViews($tableviews); - $this->tpl->setOnScreenMessage('success', $this->lng->txt('dcl_msg_tableviews_order_updated')); - $this->ctrl->redirect($this); - } } diff --git a/components/ILIAS/DataCollection/classes/class.ilDataCollectionDataSet.php b/components/ILIAS/DataCollection/classes/class.ilDataCollectionDataSet.php index 46bce3316eb8..5d8d091a772f 100755 --- a/components/ILIAS/DataCollection/classes/class.ilDataCollectionDataSet.php +++ b/components/ILIAS/DataCollection/classes/class.ilDataCollectionDataSet.php @@ -176,7 +176,6 @@ public function importRecord( $tableview->setTitle($a_rec['title']); $tableview->setTableId((int) $new_table_id); $tableview->setDescription($a_rec['description']); - $tableview->setTableviewOrder((int) $a_rec['tableview_order']); if (!is_array($a_rec['roles'])) { $a_rec['roles'] = json_decode($a_rec['roles']); } @@ -612,7 +611,6 @@ protected function getTypes(string $a_entity, string $a_version): array 'title' => 'text', 'roles' => 'text', 'description' => 'text', - 'tableview_order' => 'integer', ]; case 'il_dcl_field': return [ diff --git a/lang/ilias_de.lang b/lang/ilias_de.lang index 0646e9bd6990..21036b4a7fcb 100644 --- a/lang/ilias_de.lang +++ b/lang/ilias_de.lang @@ -8739,7 +8739,6 @@ dcl#:#dcl_msg_tableview_created#:#Ansicht hinzugefügt. dcl#:#dcl_msg_tableview_deleted#:#Ansicht gelöscht. dcl#:#dcl_msg_tableview_updated#:#Ansicht aktualisiert. dcl#:#dcl_msg_tableviews_delete_all#:#Löschen nicht möglich: Es muss mindestens eine Ansicht existieren. -dcl#:#dcl_msg_tableviews_order_updated#:#Anordnung der Ansichten aktualisiert. dcl#:#dcl_multiple_selection#:#Mehrfachauswahl dcl#:#dcl_new#:#Neue Datensammlung anlegen dcl#:#dcl_new_entries#:#Neue Einträge diff --git a/lang/ilias_en.lang b/lang/ilias_en.lang index 110959414b41..445d858fac0f 100644 --- a/lang/ilias_en.lang +++ b/lang/ilias_en.lang @@ -8740,7 +8740,6 @@ dcl#:#dcl_msg_tableview_created#:#Views created dcl#:#dcl_msg_tableview_deleted#:#View deleted dcl#:#dcl_msg_tableview_updated#:#View updated dcl#:#dcl_msg_tableviews_delete_all#:#Could not delete: At least one View must exist -dcl#:#dcl_msg_tableviews_order_updated#:#Order of views updated dcl#:#dcl_multiple_selection#:#Multiple Selection dcl#:#dcl_new#:#Create New Data Collection dcl#:#dcl_new_entries#:#New Entries From f9f7e565d9d18b38430a62382ae6437e18883661 Mon Sep 17 00:00:00 2001 From: Tim Schmitz Date: Fri, 28 Nov 2025 09:30:58 +0100 Subject: [PATCH 056/865] Course: remove call to removed method (46369) --- components/ILIAS/Course/classes/class.ilObjCourseGUI.php | 1 - 1 file changed, 1 deletion(-) diff --git a/components/ILIAS/Course/classes/class.ilObjCourseGUI.php b/components/ILIAS/Course/classes/class.ilObjCourseGUI.php index 2826b9fc4b2b..54f97e2499d9 100755 --- a/components/ILIAS/Course/classes/class.ilObjCourseGUI.php +++ b/components/ILIAS/Course/classes/class.ilObjCourseGUI.php @@ -2126,7 +2126,6 @@ public function executeCommand(): void break; case strtolower(PublicProfileGUI::class): - $this->tpl->enableDragDropFileUpload(null); $this->setSubTabs('members'); $this->tabs_gui->setTabActive('members'); From ed937577acdbc13b2f5f10eeb0d61239d7de6daa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sergio=20Santiago=20S=C3=A1nchez?= <54277294+sergiosant02@users.noreply.github.com> Date: Fri, 28 Nov 2025 11:48:10 +0100 Subject: [PATCH 057/865] [FIX] #41248 Component: move `phpunit/phpunit` composer dependency. (#10532) * Fixes https://mantis.ilias.de/view.php?id=41248 * Moves `phpunit/phpunit` from `require-dev` to `require` --- composer.json | 6 +- composer.lock | 8934 ++++++++++++++++++++++++++----------------------- 2 files changed, 4669 insertions(+), 4271 deletions(-) diff --git a/composer.json b/composer.json index 443716a32782..affe3b87bcd4 100755 --- a/composer.json +++ b/composer.json @@ -71,14 +71,14 @@ "simplesamlphp/simplesamlphp": "^2.3.7", "symfony/console" : "^6.4", "psr/http-message": "^2.0", - "jumbojett/openid-connect-php": "dev-master#bc719cc9930990a4a9916cc127b839b4ed1c89ad" + "jumbojett/openid-connect-php": "dev-master#bc719cc9930990a4a9916cc127b839b4ed1c89ad", + "phpunit/phpunit": "^11.5" }, "require-dev": { "captainhook/captainhook": "^5.24", "friendsofphp/php-cs-fixer": "^3.65", "mikey179/vfsstream": "^1.6", - "phpstan/phpstan": "^2.0", - "phpunit/phpunit": "^11.5" + "phpstan/phpstan": "^2.0" }, "autoload": { "psr-4" : { diff --git a/composer.lock b/composer.lock index 474ffdb8e075..41e6273cb1da 100644 --- a/composer.lock +++ b/composer.lock @@ -4,29 +4,29 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "60882785b9edd9338f71a4b759c9eab5", + "content-hash": "860ee98b9f2ff361d3ed5a3cd0e9dce6", "packages": [ { "name": "brick/math", - "version": "0.13.1", + "version": "0.14.1", "source": { "type": "git", "url": "https://github.com/brick/math.git", - "reference": "fc7ed316430118cc7836bf45faff18d5dfc8de04" + "reference": "f05858549e5f9d7bb45875a75583240a38a281d0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/brick/math/zipball/fc7ed316430118cc7836bf45faff18d5dfc8de04", - "reference": "fc7ed316430118cc7836bf45faff18d5dfc8de04", + "url": "https://api.github.com/repos/brick/math/zipball/f05858549e5f9d7bb45875a75583240a38a281d0", + "reference": "f05858549e5f9d7bb45875a75583240a38a281d0", "shasum": "" }, "require": { - "php": "^8.1" + "php": "^8.2" }, "require-dev": { "php-coveralls/php-coveralls": "^2.2", - "phpunit/phpunit": "^10.1", - "vimeo/psalm": "6.8.8" + "phpstan/phpstan": "2.1.22", + "phpunit/phpunit": "^11.5" }, "type": "library", "autoload": { @@ -56,7 +56,7 @@ ], "support": { "issues": "https://github.com/brick/math/issues", - "source": "https://github.com/brick/math/tree/0.13.1" + "source": "https://github.com/brick/math/tree/0.14.1" }, "funding": [ { @@ -64,7 +64,7 @@ "type": "github" } ], - "time": "2025-03-29T13:50:30+00:00" + "time": "2025-11-24T14:40:29+00:00" }, { "name": "celtic/lti", @@ -329,20 +329,20 @@ }, { "name": "ezyang/htmlpurifier", - "version": "v4.18.0", + "version": "v4.19.0", "source": { "type": "git", "url": "https://github.com/ezyang/htmlpurifier.git", - "reference": "cb56001e54359df7ae76dc522d08845dc741621b" + "reference": "b287d2a16aceffbf6e0295559b39662612b77fcf" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/ezyang/htmlpurifier/zipball/cb56001e54359df7ae76dc522d08845dc741621b", - "reference": "cb56001e54359df7ae76dc522d08845dc741621b", + "url": "https://api.github.com/repos/ezyang/htmlpurifier/zipball/b287d2a16aceffbf6e0295559b39662612b77fcf", + "reference": "b287d2a16aceffbf6e0295559b39662612b77fcf", "shasum": "" }, "require": { - "php": "~5.6.0 || ~7.0.0 || ~7.1.0 || ~7.2.0 || ~7.3.0 || ~7.4.0 || ~8.0.0 || ~8.1.0 || ~8.2.0 || ~8.3.0 || ~8.4.0" + "php": "~5.6.0 || ~7.0.0 || ~7.1.0 || ~7.2.0 || ~7.3.0 || ~7.4.0 || ~8.0.0 || ~8.1.0 || ~8.2.0 || ~8.3.0 || ~8.4.0 || ~8.5.0" }, "require-dev": { "cerdic/css-tidy": "^1.7 || ^2.0", @@ -384,22 +384,22 @@ ], "support": { "issues": "https://github.com/ezyang/htmlpurifier/issues", - "source": "https://github.com/ezyang/htmlpurifier/tree/v4.18.0" + "source": "https://github.com/ezyang/htmlpurifier/tree/v4.19.0" }, - "time": "2024-11-01T03:51:45+00:00" + "time": "2025-10-17T16:34:55+00:00" }, { "name": "filp/whoops", - "version": "2.18.3", + "version": "2.18.4", "source": { "type": "git", "url": "https://github.com/filp/whoops.git", - "reference": "59a123a3d459c5a23055802237cb317f609867e5" + "reference": "d2102955e48b9fd9ab24280a7ad12ed552752c4d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/filp/whoops/zipball/59a123a3d459c5a23055802237cb317f609867e5", - "reference": "59a123a3d459c5a23055802237cb317f609867e5", + "url": "https://api.github.com/repos/filp/whoops/zipball/d2102955e48b9fd9ab24280a7ad12ed552752c4d", + "reference": "d2102955e48b9fd9ab24280a7ad12ed552752c4d", "shasum": "" }, "require": { @@ -449,7 +449,7 @@ ], "support": { "issues": "https://github.com/filp/whoops/issues", - "source": "https://github.com/filp/whoops/tree/2.18.3" + "source": "https://github.com/filp/whoops/tree/2.18.4" }, "funding": [ { @@ -457,7 +457,7 @@ "type": "github" } ], - "time": "2025-06-16T00:02:10+00:00" + "time": "2025-08-08T12:00:00+00:00" }, { "name": "firebase/php-jwt", @@ -922,16 +922,16 @@ }, { "name": "james-heinrich/getid3", - "version": "v1.9.23", + "version": "v1.9.24", "source": { "type": "git", "url": "https://github.com/JamesHeinrich/getID3.git", - "reference": "06c7482532ff2b3f9111b011d880ca6699c8542b" + "reference": "1e11b9b6eb468b522fe604a42a9fdc8ee759bf8a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/JamesHeinrich/getID3/zipball/06c7482532ff2b3f9111b011d880ca6699c8542b", - "reference": "06c7482532ff2b3f9111b011d880ca6699c8542b", + "url": "https://api.github.com/repos/JamesHeinrich/getID3/zipball/1e11b9b6eb468b522fe604a42a9fdc8ee759bf8a", + "reference": "1e11b9b6eb468b522fe604a42a9fdc8ee759bf8a", "shasum": "" }, "require": { @@ -983,9 +983,9 @@ ], "support": { "issues": "https://github.com/JamesHeinrich/getID3/issues", - "source": "https://github.com/JamesHeinrich/getID3/tree/v1.9.23" + "source": "https://github.com/JamesHeinrich/getID3/tree/v1.9.24" }, - "time": "2023-10-19T13:18:49+00:00" + "time": "2025-10-09T17:48:17+00:00" }, { "name": "jumbojett/openid-connect-php", @@ -1304,16 +1304,16 @@ }, { "name": "league/flysystem-local", - "version": "3.30.0", + "version": "3.30.2", "source": { "type": "git", "url": "https://github.com/thephpleague/flysystem-local.git", - "reference": "6691915f77c7fb69adfb87dcd550052dc184ee10" + "reference": "ab4f9d0d672f601b102936aa728801dd1a11968d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/thephpleague/flysystem-local/zipball/6691915f77c7fb69adfb87dcd550052dc184ee10", - "reference": "6691915f77c7fb69adfb87dcd550052dc184ee10", + "url": "https://api.github.com/repos/thephpleague/flysystem-local/zipball/ab4f9d0d672f601b102936aa728801dd1a11968d", + "reference": "ab4f9d0d672f601b102936aa728801dd1a11968d", "shasum": "" }, "require": { @@ -1347,9 +1347,9 @@ "local" ], "support": { - "source": "https://github.com/thephpleague/flysystem-local/tree/3.30.0" + "source": "https://github.com/thephpleague/flysystem-local/tree/3.30.2" }, - "time": "2025-05-21T10:34:19+00:00" + "time": "2025-11-10T11:23:37+00:00" }, { "name": "league/mime-type-detection", @@ -1409,22 +1409,22 @@ }, { "name": "maennchen/zipstream-php", - "version": "3.1.2", + "version": "3.2.0", "source": { "type": "git", "url": "https://github.com/maennchen/ZipStream-PHP.git", - "reference": "aeadcf5c412332eb426c0f9b4485f6accba2a99f" + "reference": "9712d8fa4cdf9240380b01eb4be55ad8dcf71416" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/maennchen/ZipStream-PHP/zipball/aeadcf5c412332eb426c0f9b4485f6accba2a99f", - "reference": "aeadcf5c412332eb426c0f9b4485f6accba2a99f", + "url": "https://api.github.com/repos/maennchen/ZipStream-PHP/zipball/9712d8fa4cdf9240380b01eb4be55ad8dcf71416", + "reference": "9712d8fa4cdf9240380b01eb4be55ad8dcf71416", "shasum": "" }, "require": { "ext-mbstring": "*", "ext-zlib": "*", - "php-64bit": "^8.2" + "php-64bit": "^8.3" }, "require-dev": { "brianium/paratest": "^7.7", @@ -1433,7 +1433,7 @@ "guzzlehttp/guzzle": "^7.5", "mikey179/vfsstream": "^1.6", "php-coveralls/php-coveralls": "^2.5", - "phpunit/phpunit": "^11.0", + "phpunit/phpunit": "^12.0", "vimeo/psalm": "^6.0" }, "suggest": { @@ -1475,7 +1475,7 @@ ], "support": { "issues": "https://github.com/maennchen/ZipStream-PHP/issues", - "source": "https://github.com/maennchen/ZipStream-PHP/tree/3.1.2" + "source": "https://github.com/maennchen/ZipStream-PHP/tree/3.2.0" }, "funding": [ { @@ -1483,7 +1483,7 @@ "type": "github" } ], - "time": "2025-01-27T12:07:53+00:00" + "time": "2025-07-17T11:15:13+00:00" }, { "name": "markbaker/complex", @@ -1748,27 +1748,87 @@ }, "time": "2025-06-28T18:28:20+00:00" }, + { + "name": "myclabs/deep-copy", + "version": "1.13.4", + "source": { + "type": "git", + "url": "https://github.com/myclabs/DeepCopy.git", + "reference": "07d290f0c47959fd5eed98c95ee5602db07e0b6a" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/07d290f0c47959fd5eed98c95ee5602db07e0b6a", + "reference": "07d290f0c47959fd5eed98c95ee5602db07e0b6a", + "shasum": "" + }, + "require": { + "php": "^7.1 || ^8.0" + }, + "conflict": { + "doctrine/collections": "<1.6.8", + "doctrine/common": "<2.13.3 || >=3 <3.2.2" + }, + "require-dev": { + "doctrine/collections": "^1.6.8", + "doctrine/common": "^2.13.3 || ^3.2.2", + "phpspec/prophecy": "^1.10", + "phpunit/phpunit": "^7.5.20 || ^8.5.23 || ^9.5.13" + }, + "type": "library", + "autoload": { + "files": [ + "src/DeepCopy/deep_copy.php" + ], + "psr-4": { + "DeepCopy\\": "src/DeepCopy/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "Create deep copies (clones) of your objects", + "keywords": [ + "clone", + "copy", + "duplicate", + "object", + "object graph" + ], + "support": { + "issues": "https://github.com/myclabs/DeepCopy/issues", + "source": "https://github.com/myclabs/DeepCopy/tree/1.13.4" + }, + "funding": [ + { + "url": "https://tidelift.com/funding/github/packagist/myclabs/deep-copy", + "type": "tidelift" + } + ], + "time": "2025-08-01T08:46:24+00:00" + }, { "name": "nette/schema", - "version": "v1.3.2", + "version": "v1.3.3", "source": { "type": "git", "url": "https://github.com/nette/schema.git", - "reference": "da801d52f0354f70a638673c4a0f04e16529431d" + "reference": "2befc2f42d7c715fd9d95efc31b1081e5d765004" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nette/schema/zipball/da801d52f0354f70a638673c4a0f04e16529431d", - "reference": "da801d52f0354f70a638673c4a0f04e16529431d", + "url": "https://api.github.com/repos/nette/schema/zipball/2befc2f42d7c715fd9d95efc31b1081e5d765004", + "reference": "2befc2f42d7c715fd9d95efc31b1081e5d765004", "shasum": "" }, "require": { "nette/utils": "^4.0", - "php": "8.1 - 8.4" + "php": "8.1 - 8.5" }, "require-dev": { "nette/tester": "^2.5.2", - "phpstan/phpstan-nette": "^1.0", + "phpstan/phpstan-nette": "^2.0@stable", "tracy/tracy": "^2.8" }, "type": "library", @@ -1778,6 +1838,9 @@ } }, "autoload": { + "psr-4": { + "Nette\\": "src" + }, "classmap": [ "src/" ] @@ -1806,35 +1869,35 @@ ], "support": { "issues": "https://github.com/nette/schema/issues", - "source": "https://github.com/nette/schema/tree/v1.3.2" + "source": "https://github.com/nette/schema/tree/v1.3.3" }, - "time": "2024-10-06T23:10:23+00:00" + "time": "2025-10-30T22:57:59+00:00" }, { "name": "nette/utils", - "version": "v4.0.7", + "version": "v4.0.9", "source": { "type": "git", "url": "https://github.com/nette/utils.git", - "reference": "e67c4061eb40b9c113b218214e42cb5a0dda28f2" + "reference": "505a30ad386daa5211f08a318e47015b501cad30" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nette/utils/zipball/e67c4061eb40b9c113b218214e42cb5a0dda28f2", - "reference": "e67c4061eb40b9c113b218214e42cb5a0dda28f2", + "url": "https://api.github.com/repos/nette/utils/zipball/505a30ad386daa5211f08a318e47015b501cad30", + "reference": "505a30ad386daa5211f08a318e47015b501cad30", "shasum": "" }, "require": { - "php": "8.0 - 8.4" + "php": "8.0 - 8.5" }, "conflict": { "nette/finder": "<3", "nette/schema": "<1.2.2" }, "require-dev": { - "jetbrains/phpstorm-attributes": "dev-master", + "jetbrains/phpstorm-attributes": "^1.2", "nette/tester": "^2.5", - "phpstan/phpstan": "^1.0", + "phpstan/phpstan-nette": "^2.0@stable", "tracy/tracy": "^2.9" }, "suggest": { @@ -1852,6 +1915,9 @@ } }, "autoload": { + "psr-4": { + "Nette\\": "src" + }, "classmap": [ "src/" ] @@ -1892,9 +1958,67 @@ ], "support": { "issues": "https://github.com/nette/utils/issues", - "source": "https://github.com/nette/utils/tree/v4.0.7" + "source": "https://github.com/nette/utils/tree/v4.0.9" + }, + "time": "2025-10-31T00:45:47+00:00" + }, + { + "name": "nikic/php-parser", + "version": "v5.6.2", + "source": { + "type": "git", + "url": "https://github.com/nikic/PHP-Parser.git", + "reference": "3a454ca033b9e06b63282ce19562e892747449bb" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/3a454ca033b9e06b63282ce19562e892747449bb", + "reference": "3a454ca033b9e06b63282ce19562e892747449bb", + "shasum": "" + }, + "require": { + "ext-ctype": "*", + "ext-json": "*", + "ext-tokenizer": "*", + "php": ">=7.4" + }, + "require-dev": { + "ircmaxell/php-yacc": "^0.0.7", + "phpunit/phpunit": "^9.0" + }, + "bin": [ + "bin/php-parse" + ], + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "5.x-dev" + } + }, + "autoload": { + "psr-4": { + "PhpParser\\": "lib/PhpParser" + } }, - "time": "2025-06-03T04:55:08+00:00" + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Nikita Popov" + } + ], + "description": "A PHP parser written in PHP", + "keywords": [ + "parser", + "php" + ], + "support": { + "issues": "https://github.com/nikic/PHP-Parser/issues", + "source": "https://github.com/nikic/PHP-Parser/tree/v5.6.2" + }, + "time": "2025-10-21T19:32:17+00:00" }, { "name": "nyholm/psr7", @@ -2093,18 +2217,136 @@ }, "time": "2020-10-15T08:29:30+00:00" }, + { + "name": "phar-io/manifest", + "version": "2.0.4", + "source": { + "type": "git", + "url": "https://github.com/phar-io/manifest.git", + "reference": "54750ef60c58e43759730615a392c31c80e23176" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/phar-io/manifest/zipball/54750ef60c58e43759730615a392c31c80e23176", + "reference": "54750ef60c58e43759730615a392c31c80e23176", + "shasum": "" + }, + "require": { + "ext-dom": "*", + "ext-libxml": "*", + "ext-phar": "*", + "ext-xmlwriter": "*", + "phar-io/version": "^3.0.1", + "php": "^7.2 || ^8.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.0.x-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Arne Blankerts", + "email": "arne@blankerts.de", + "role": "Developer" + }, + { + "name": "Sebastian Heuer", + "email": "sebastian@phpeople.de", + "role": "Developer" + }, + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "Developer" + } + ], + "description": "Component for reading phar.io manifest information from a PHP Archive (PHAR)", + "support": { + "issues": "https://github.com/phar-io/manifest/issues", + "source": "https://github.com/phar-io/manifest/tree/2.0.4" + }, + "funding": [ + { + "url": "https://github.com/theseer", + "type": "github" + } + ], + "time": "2024-03-03T12:33:53+00:00" + }, + { + "name": "phar-io/version", + "version": "3.2.1", + "source": { + "type": "git", + "url": "https://github.com/phar-io/version.git", + "reference": "4f7fd7836c6f332bb2933569e566a0d6c4cbed74" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/phar-io/version/zipball/4f7fd7836c6f332bb2933569e566a0d6c4cbed74", + "reference": "4f7fd7836c6f332bb2933569e566a0d6c4cbed74", + "shasum": "" + }, + "require": { + "php": "^7.2 || ^8.0" + }, + "type": "library", + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Arne Blankerts", + "email": "arne@blankerts.de", + "role": "Developer" + }, + { + "name": "Sebastian Heuer", + "email": "sebastian@phpeople.de", + "role": "Developer" + }, + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "Developer" + } + ], + "description": "Library for handling version information and constraints", + "support": { + "issues": "https://github.com/phar-io/version/issues", + "source": "https://github.com/phar-io/version/tree/3.2.1" + }, + "time": "2022-02-21T01:04:05+00:00" + }, { "name": "phpmailer/phpmailer", - "version": "v6.10.0", + "version": "v6.12.0", "source": { "type": "git", "url": "https://github.com/PHPMailer/PHPMailer.git", - "reference": "bf74d75a1fde6beaa34a0ddae2ec5fce0f72a144" + "reference": "d1ac35d784bf9f5e61b424901d5a014967f15b12" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/PHPMailer/PHPMailer/zipball/bf74d75a1fde6beaa34a0ddae2ec5fce0f72a144", - "reference": "bf74d75a1fde6beaa34a0ddae2ec5fce0f72a144", + "url": "https://api.github.com/repos/PHPMailer/PHPMailer/zipball/d1ac35d784bf9f5e61b424901d5a014967f15b12", + "reference": "d1ac35d784bf9f5e61b424901d5a014967f15b12", "shasum": "" }, "require": { @@ -2164,7 +2406,7 @@ "description": "PHPMailer is a full-featured email creation and transfer class for PHP", "support": { "issues": "https://github.com/PHPMailer/PHPMailer/issues", - "source": "https://github.com/PHPMailer/PHPMailer/tree/v6.10.0" + "source": "https://github.com/PHPMailer/PHPMailer/tree/v6.12.0" }, "funding": [ { @@ -2172,20 +2414,20 @@ "type": "github" } ], - "time": "2025-04-24T15:19:31+00:00" + "time": "2025-10-15T16:49:08+00:00" }, { "name": "phpoffice/phpspreadsheet", - "version": "3.9.2", + "version": "3.10.2", "source": { "type": "git", "url": "https://github.com/PHPOffice/PhpSpreadsheet.git", - "reference": "3b07468e1fcc2501d85e60501977f8f7f53cfb4a" + "reference": "cd1dd91d6ef2afc0629982e0ea5911b3746fe51e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/PHPOffice/PhpSpreadsheet/zipball/3b07468e1fcc2501d85e60501977f8f7f53cfb4a", - "reference": "3b07468e1fcc2501d85e60501977f8f7f53cfb4a", + "url": "https://api.github.com/repos/PHPOffice/PhpSpreadsheet/zipball/cd1dd91d6ef2afc0629982e0ea5911b3746fe51e", + "reference": "cd1dd91d6ef2afc0629982e0ea5911b3746fe51e", "shasum": "" }, "require": { @@ -2215,7 +2457,7 @@ "dealerdirect/phpcodesniffer-composer-installer": "dev-main", "dompdf/dompdf": "^2.0 || ^3.0", "friendsofphp/php-cs-fixer": "^3.2", - "mitoteam/jpgraph": "^10.3", + "mitoteam/jpgraph": "^10.5", "mpdf/mpdf": "^8.1.1", "phpcompatibility/php-compatibility": "^9.3", "phpstan/phpstan": "^1.1", @@ -2226,7 +2468,7 @@ }, "suggest": { "dompdf/dompdf": "Option for rendering PDF with PDF Writer", - "ext-intl": "PHP Internationalization Functions", + "ext-intl": "PHP Internationalization Functions, required for NumberFormatter Wizard", "mitoteam/jpgraph": "Option for rendering charts, or including charts with PDF or HTML Writers", "mpdf/mpdf": "Option for rendering PDF with PDF Writer", "tecnickcom/tcpdf": "Option for rendering PDF with PDF Writer" @@ -2275,9 +2517,9 @@ ], "support": { "issues": "https://github.com/PHPOffice/PhpSpreadsheet/issues", - "source": "https://github.com/PHPOffice/PhpSpreadsheet/tree/3.9.2" + "source": "https://github.com/PHPOffice/PhpSpreadsheet/tree/3.10.2" }, - "time": "2025-06-23T01:19:20+00:00" + "time": "2025-11-24T16:10:02+00:00" }, { "name": "phpseclib/phpseclib", @@ -2390,337 +2632,479 @@ "time": "2025-10-06T01:07:24+00:00" }, { - "name": "pimple/pimple", - "version": "v3.5.0", + "name": "phpunit/php-code-coverage", + "version": "11.0.11", "source": { "type": "git", - "url": "https://github.com/silexphp/Pimple.git", - "reference": "a94b3a4db7fb774b3d78dad2315ddc07629e1bed" + "url": "https://github.com/sebastianbergmann/php-code-coverage.git", + "reference": "4f7722aa9a7b76aa775e2d9d4e95d1ea16eeeef4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/silexphp/Pimple/zipball/a94b3a4db7fb774b3d78dad2315ddc07629e1bed", - "reference": "a94b3a4db7fb774b3d78dad2315ddc07629e1bed", + "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/4f7722aa9a7b76aa775e2d9d4e95d1ea16eeeef4", + "reference": "4f7722aa9a7b76aa775e2d9d4e95d1ea16eeeef4", "shasum": "" }, "require": { - "php": ">=7.2.5", - "psr/container": "^1.1 || ^2.0" + "ext-dom": "*", + "ext-libxml": "*", + "ext-xmlwriter": "*", + "nikic/php-parser": "^5.4.0", + "php": ">=8.2", + "phpunit/php-file-iterator": "^5.1.0", + "phpunit/php-text-template": "^4.0.1", + "sebastian/code-unit-reverse-lookup": "^4.0.1", + "sebastian/complexity": "^4.0.1", + "sebastian/environment": "^7.2.0", + "sebastian/lines-of-code": "^3.0.1", + "sebastian/version": "^5.0.2", + "theseer/tokenizer": "^1.2.3" }, "require-dev": { - "symfony/phpunit-bridge": "^5.4@dev" + "phpunit/phpunit": "^11.5.2" + }, + "suggest": { + "ext-pcov": "PHP extension that provides line coverage", + "ext-xdebug": "PHP extension that provides line coverage as well as branch and path coverage" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "3.4.x-dev" + "dev-main": "11.0.x-dev" } }, "autoload": { - "psr-0": { - "Pimple": "src/" - } + "classmap": [ + "src/" + ] }, "notification-url": "https://packagist.org/downloads/", "license": [ - "MIT" + "BSD-3-Clause" ], "authors": [ { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" } ], - "description": "Pimple, a simple Dependency Injection Container", - "homepage": "https://pimple.symfony.com", + "description": "Library that provides collection, processing, and rendering functionality for PHP code coverage information.", + "homepage": "https://github.com/sebastianbergmann/php-code-coverage", "keywords": [ - "container", - "dependency injection" + "coverage", + "testing", + "xunit" ], "support": { - "source": "https://github.com/silexphp/Pimple/tree/v3.5.0" + "issues": "https://github.com/sebastianbergmann/php-code-coverage/issues", + "security": "https://github.com/sebastianbergmann/php-code-coverage/security/policy", + "source": "https://github.com/sebastianbergmann/php-code-coverage/tree/11.0.11" }, - "time": "2021-10-28T11:13:42+00:00" + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + }, + { + "url": "https://liberapay.com/sebastianbergmann", + "type": "liberapay" + }, + { + "url": "https://thanks.dev/u/gh/sebastianbergmann", + "type": "thanks_dev" + }, + { + "url": "https://tidelift.com/funding/github/packagist/phpunit/php-code-coverage", + "type": "tidelift" + } + ], + "time": "2025-08-27T14:37:49+00:00" }, { - "name": "psr/cache", - "version": "3.0.0", + "name": "phpunit/php-file-iterator", + "version": "5.1.0", "source": { "type": "git", - "url": "https://github.com/php-fig/cache.git", - "reference": "aa5030cfa5405eccfdcb1083ce040c2cb8d253bf" + "url": "https://github.com/sebastianbergmann/php-file-iterator.git", + "reference": "118cfaaa8bc5aef3287bf315b6060b1174754af6" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/php-fig/cache/zipball/aa5030cfa5405eccfdcb1083ce040c2cb8d253bf", - "reference": "aa5030cfa5405eccfdcb1083ce040c2cb8d253bf", + "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/118cfaaa8bc5aef3287bf315b6060b1174754af6", + "reference": "118cfaaa8bc5aef3287bf315b6060b1174754af6", "shasum": "" }, "require": { - "php": ">=8.0.0" + "php": ">=8.2" + }, + "require-dev": { + "phpunit/phpunit": "^11.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.0.x-dev" + "dev-main": "5.0-dev" } }, "autoload": { - "psr-4": { - "Psr\\Cache\\": "src/" - } + "classmap": [ + "src/" + ] }, "notification-url": "https://packagist.org/downloads/", "license": [ - "MIT" + "BSD-3-Clause" ], "authors": [ { - "name": "PHP-FIG", - "homepage": "https://www.php-fig.org/" + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" } ], - "description": "Common interface for caching libraries", + "description": "FilterIterator implementation that filters files based on a list of suffixes.", + "homepage": "https://github.com/sebastianbergmann/php-file-iterator/", "keywords": [ - "cache", - "psr", - "psr-6" + "filesystem", + "iterator" ], "support": { - "source": "https://github.com/php-fig/cache/tree/3.0.0" + "issues": "https://github.com/sebastianbergmann/php-file-iterator/issues", + "security": "https://github.com/sebastianbergmann/php-file-iterator/security/policy", + "source": "https://github.com/sebastianbergmann/php-file-iterator/tree/5.1.0" }, - "time": "2021-02-03T23:26:27+00:00" + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2024-08-27T05:02:59+00:00" }, { - "name": "psr/clock", - "version": "1.0.0", + "name": "phpunit/php-invoker", + "version": "5.0.1", "source": { "type": "git", - "url": "https://github.com/php-fig/clock.git", - "reference": "e41a24703d4560fd0acb709162f73b8adfc3aa0d" + "url": "https://github.com/sebastianbergmann/php-invoker.git", + "reference": "c1ca3814734c07492b3d4c5f794f4b0995333da2" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/php-fig/clock/zipball/e41a24703d4560fd0acb709162f73b8adfc3aa0d", - "reference": "e41a24703d4560fd0acb709162f73b8adfc3aa0d", + "url": "https://api.github.com/repos/sebastianbergmann/php-invoker/zipball/c1ca3814734c07492b3d4c5f794f4b0995333da2", + "reference": "c1ca3814734c07492b3d4c5f794f4b0995333da2", "shasum": "" }, "require": { - "php": "^7.0 || ^8.0" + "php": ">=8.2" + }, + "require-dev": { + "ext-pcntl": "*", + "phpunit/phpunit": "^11.0" + }, + "suggest": { + "ext-pcntl": "*" }, "type": "library", - "autoload": { - "psr-4": { - "Psr\\Clock\\": "src/" + "extra": { + "branch-alias": { + "dev-main": "5.0-dev" } }, + "autoload": { + "classmap": [ + "src/" + ] + }, "notification-url": "https://packagist.org/downloads/", "license": [ - "MIT" + "BSD-3-Clause" ], "authors": [ { - "name": "PHP-FIG", - "homepage": "https://www.php-fig.org/" + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" } ], - "description": "Common interface for reading the clock.", - "homepage": "https://github.com/php-fig/clock", + "description": "Invoke callables with a timeout", + "homepage": "https://github.com/sebastianbergmann/php-invoker/", "keywords": [ - "clock", - "now", - "psr", - "psr-20", - "time" + "process" ], "support": { - "issues": "https://github.com/php-fig/clock/issues", - "source": "https://github.com/php-fig/clock/tree/1.0.0" + "issues": "https://github.com/sebastianbergmann/php-invoker/issues", + "security": "https://github.com/sebastianbergmann/php-invoker/security/policy", + "source": "https://github.com/sebastianbergmann/php-invoker/tree/5.0.1" }, - "time": "2022-11-25T14:36:26+00:00" + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2024-07-03T05:07:44+00:00" }, { - "name": "psr/container", - "version": "2.0.2", + "name": "phpunit/php-text-template", + "version": "4.0.1", "source": { "type": "git", - "url": "https://github.com/php-fig/container.git", - "reference": "c71ecc56dfe541dbd90c5360474fbc405f8d5963" + "url": "https://github.com/sebastianbergmann/php-text-template.git", + "reference": "3e0404dc6b300e6bf56415467ebcb3fe4f33e964" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/php-fig/container/zipball/c71ecc56dfe541dbd90c5360474fbc405f8d5963", - "reference": "c71ecc56dfe541dbd90c5360474fbc405f8d5963", + "url": "https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/3e0404dc6b300e6bf56415467ebcb3fe4f33e964", + "reference": "3e0404dc6b300e6bf56415467ebcb3fe4f33e964", "shasum": "" }, "require": { - "php": ">=7.4.0" + "php": ">=8.2" + }, + "require-dev": { + "phpunit/phpunit": "^11.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.0.x-dev" + "dev-main": "4.0-dev" } }, "autoload": { - "psr-4": { - "Psr\\Container\\": "src/" - } + "classmap": [ + "src/" + ] }, "notification-url": "https://packagist.org/downloads/", "license": [ - "MIT" + "BSD-3-Clause" ], "authors": [ { - "name": "PHP-FIG", - "homepage": "https://www.php-fig.org/" + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" } ], - "description": "Common Container Interface (PHP FIG PSR-11)", - "homepage": "https://github.com/php-fig/container", + "description": "Simple template engine.", + "homepage": "https://github.com/sebastianbergmann/php-text-template/", "keywords": [ - "PSR-11", - "container", - "container-interface", - "container-interop", - "psr" + "template" ], "support": { - "issues": "https://github.com/php-fig/container/issues", - "source": "https://github.com/php-fig/container/tree/2.0.2" + "issues": "https://github.com/sebastianbergmann/php-text-template/issues", + "security": "https://github.com/sebastianbergmann/php-text-template/security/policy", + "source": "https://github.com/sebastianbergmann/php-text-template/tree/4.0.1" }, - "time": "2021-11-05T16:47:00+00:00" + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2024-07-03T05:08:43+00:00" }, { - "name": "psr/event-dispatcher", - "version": "1.0.0", + "name": "phpunit/php-timer", + "version": "7.0.1", "source": { "type": "git", - "url": "https://github.com/php-fig/event-dispatcher.git", - "reference": "dbefd12671e8a14ec7f180cab83036ed26714bb0" + "url": "https://github.com/sebastianbergmann/php-timer.git", + "reference": "3b415def83fbcb41f991d9ebf16ae4ad8b7837b3" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/php-fig/event-dispatcher/zipball/dbefd12671e8a14ec7f180cab83036ed26714bb0", - "reference": "dbefd12671e8a14ec7f180cab83036ed26714bb0", + "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/3b415def83fbcb41f991d9ebf16ae4ad8b7837b3", + "reference": "3b415def83fbcb41f991d9ebf16ae4ad8b7837b3", "shasum": "" }, "require": { - "php": ">=7.2.0" + "php": ">=8.2" + }, + "require-dev": { + "phpunit/phpunit": "^11.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.0.x-dev" + "dev-main": "7.0-dev" } }, "autoload": { - "psr-4": { - "Psr\\EventDispatcher\\": "src/" - } + "classmap": [ + "src/" + ] }, "notification-url": "https://packagist.org/downloads/", "license": [ - "MIT" + "BSD-3-Clause" ], "authors": [ { - "name": "PHP-FIG", - "homepage": "http://www.php-fig.org/" + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" } ], - "description": "Standard interfaces for event handling.", + "description": "Utility class for timing", + "homepage": "https://github.com/sebastianbergmann/php-timer/", "keywords": [ - "events", - "psr", - "psr-14" + "timer" ], "support": { - "issues": "https://github.com/php-fig/event-dispatcher/issues", - "source": "https://github.com/php-fig/event-dispatcher/tree/1.0.0" + "issues": "https://github.com/sebastianbergmann/php-timer/issues", + "security": "https://github.com/sebastianbergmann/php-timer/security/policy", + "source": "https://github.com/sebastianbergmann/php-timer/tree/7.0.1" }, - "time": "2019-01-08T18:20:26+00:00" + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2024-07-03T05:09:35+00:00" }, { - "name": "psr/http-client", - "version": "1.0.3", + "name": "phpunit/phpunit", + "version": "11.5.44", "source": { "type": "git", - "url": "https://github.com/php-fig/http-client.git", - "reference": "bb5906edc1c324c9a05aa0873d40117941e5fa90" + "url": "https://github.com/sebastianbergmann/phpunit.git", + "reference": "c346885c95423eda3f65d85a194aaa24873cda82" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/php-fig/http-client/zipball/bb5906edc1c324c9a05aa0873d40117941e5fa90", - "reference": "bb5906edc1c324c9a05aa0873d40117941e5fa90", + "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/c346885c95423eda3f65d85a194aaa24873cda82", + "reference": "c346885c95423eda3f65d85a194aaa24873cda82", "shasum": "" }, "require": { - "php": "^7.0 || ^8.0", - "psr/http-message": "^1.0 || ^2.0" + "ext-dom": "*", + "ext-json": "*", + "ext-libxml": "*", + "ext-mbstring": "*", + "ext-xml": "*", + "ext-xmlwriter": "*", + "myclabs/deep-copy": "^1.13.4", + "phar-io/manifest": "^2.0.4", + "phar-io/version": "^3.2.1", + "php": ">=8.2", + "phpunit/php-code-coverage": "^11.0.11", + "phpunit/php-file-iterator": "^5.1.0", + "phpunit/php-invoker": "^5.0.1", + "phpunit/php-text-template": "^4.0.1", + "phpunit/php-timer": "^7.0.1", + "sebastian/cli-parser": "^3.0.2", + "sebastian/code-unit": "^3.0.3", + "sebastian/comparator": "^6.3.2", + "sebastian/diff": "^6.0.2", + "sebastian/environment": "^7.2.1", + "sebastian/exporter": "^6.3.2", + "sebastian/global-state": "^7.0.2", + "sebastian/object-enumerator": "^6.0.1", + "sebastian/type": "^5.1.3", + "sebastian/version": "^5.0.2", + "staabm/side-effects-detector": "^1.0.5" + }, + "suggest": { + "ext-soap": "To be able to generate mocks based on WSDL files" }, + "bin": [ + "phpunit" + ], "type": "library", "extra": { "branch-alias": { - "dev-master": "1.0.x-dev" + "dev-main": "11.5-dev" } }, "autoload": { - "psr-4": { - "Psr\\Http\\Client\\": "src/" - } + "files": [ + "src/Framework/Assert/Functions.php" + ], + "classmap": [ + "src/" + ] }, "notification-url": "https://packagist.org/downloads/", "license": [ - "MIT" + "BSD-3-Clause" ], "authors": [ { - "name": "PHP-FIG", - "homepage": "https://www.php-fig.org/" + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" } ], - "description": "Common interface for HTTP clients", - "homepage": "https://github.com/php-fig/http-client", + "description": "The PHP Unit Testing framework.", + "homepage": "https://phpunit.de/", "keywords": [ - "http", - "http-client", - "psr", - "psr-18" + "phpunit", + "testing", + "xunit" ], "support": { - "source": "https://github.com/php-fig/http-client" + "issues": "https://github.com/sebastianbergmann/phpunit/issues", + "security": "https://github.com/sebastianbergmann/phpunit/security/policy", + "source": "https://github.com/sebastianbergmann/phpunit/tree/11.5.44" }, - "time": "2023-09-23T14:17:50+00:00" + "funding": [ + { + "url": "https://phpunit.de/sponsors.html", + "type": "custom" + }, + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + }, + { + "url": "https://liberapay.com/sebastianbergmann", + "type": "liberapay" + }, + { + "url": "https://thanks.dev/u/gh/sebastianbergmann", + "type": "thanks_dev" + }, + { + "url": "https://tidelift.com/funding/github/packagist/phpunit/phpunit", + "type": "tidelift" + } + ], + "time": "2025-11-13T07:17:35+00:00" }, { - "name": "psr/http-factory", - "version": "1.1.0", + "name": "pimple/pimple", + "version": "v3.6.0", "source": { "type": "git", - "url": "https://github.com/php-fig/http-factory.git", - "reference": "2b4765fddfe3b508ac62f829e852b1501d3f6e8a" + "url": "https://github.com/silexphp/Pimple.git", + "reference": "a70f552d338f9266eec6606c1f0b324da5514c96" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/php-fig/http-factory/zipball/2b4765fddfe3b508ac62f829e852b1501d3f6e8a", - "reference": "2b4765fddfe3b508ac62f829e852b1501d3f6e8a", + "url": "https://api.github.com/repos/silexphp/Pimple/zipball/a70f552d338f9266eec6606c1f0b324da5514c96", + "reference": "a70f552d338f9266eec6606c1f0b324da5514c96", "shasum": "" }, "require": { - "php": ">=7.1", - "psr/http-message": "^1.0 || ^2.0" + "php": ">=7.2.5", + "psr/container": "^1.1 || ^2.0" + }, + "require-dev": { + "phpunit/phpunit": "*" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.0.x-dev" + "dev-master": "3.4.x-dev" } }, "autoload": { - "psr-4": { - "Psr\\Http\\Message\\": "src/" + "psr-0": { + "Pimple": "src/" } }, "notification-url": "https://packagist.org/downloads/", @@ -2729,52 +3113,47 @@ ], "authors": [ { - "name": "PHP-FIG", - "homepage": "https://www.php-fig.org/" + "name": "Fabien Potencier", + "email": "fabien@symfony.com" } ], - "description": "PSR-17: Common interfaces for PSR-7 HTTP message factories", + "description": "Pimple, a simple Dependency Injection Container", + "homepage": "https://pimple.symfony.com", "keywords": [ - "factory", - "http", - "message", - "psr", - "psr-17", - "psr-7", - "request", - "response" + "container", + "dependency injection" ], "support": { - "source": "https://github.com/php-fig/http-factory" + "source": "https://github.com/silexphp/Pimple/tree/v3.6.0" }, - "time": "2024-04-15T12:06:14+00:00" + "time": "2025-11-12T12:31:38+00:00" }, { - "name": "psr/http-message", - "version": "2.0", + "name": "psr/cache", + "version": "3.0.0", "source": { "type": "git", - "url": "https://github.com/php-fig/http-message.git", - "reference": "402d35bcb92c70c026d1a6a9883f06b2ead23d71" + "url": "https://github.com/php-fig/cache.git", + "reference": "aa5030cfa5405eccfdcb1083ce040c2cb8d253bf" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/php-fig/http-message/zipball/402d35bcb92c70c026d1a6a9883f06b2ead23d71", - "reference": "402d35bcb92c70c026d1a6a9883f06b2ead23d71", + "url": "https://api.github.com/repos/php-fig/cache/zipball/aa5030cfa5405eccfdcb1083ce040c2cb8d253bf", + "reference": "aa5030cfa5405eccfdcb1083ce040c2cb8d253bf", "shasum": "" }, "require": { - "php": "^7.2 || ^8.0" + "php": ">=8.0.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.0.x-dev" + "dev-master": "1.0.x-dev" } }, "autoload": { "psr-4": { - "Psr\\Http\\Message\\": "src/" + "Psr\\Cache\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", @@ -2787,47 +3166,38 @@ "homepage": "https://www.php-fig.org/" } ], - "description": "Common interface for HTTP messages", - "homepage": "https://github.com/php-fig/http-message", + "description": "Common interface for caching libraries", "keywords": [ - "http", - "http-message", + "cache", "psr", - "psr-7", - "request", - "response" + "psr-6" ], "support": { - "source": "https://github.com/php-fig/http-message/tree/2.0" + "source": "https://github.com/php-fig/cache/tree/3.0.0" }, - "time": "2023-04-04T09:54:51+00:00" + "time": "2021-02-03T23:26:27+00:00" }, { - "name": "psr/log", - "version": "3.0.2", + "name": "psr/clock", + "version": "1.0.0", "source": { "type": "git", - "url": "https://github.com/php-fig/log.git", - "reference": "f16e1d5863e37f8d8c2a01719f5b34baa2b714d3" + "url": "https://github.com/php-fig/clock.git", + "reference": "e41a24703d4560fd0acb709162f73b8adfc3aa0d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/php-fig/log/zipball/f16e1d5863e37f8d8c2a01719f5b34baa2b714d3", - "reference": "f16e1d5863e37f8d8c2a01719f5b34baa2b714d3", + "url": "https://api.github.com/repos/php-fig/clock/zipball/e41a24703d4560fd0acb709162f73b8adfc3aa0d", + "reference": "e41a24703d4560fd0acb709162f73b8adfc3aa0d", "shasum": "" }, "require": { - "php": ">=8.0.0" + "php": "^7.0 || ^8.0" }, "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.x-dev" - } - }, "autoload": { "psr-4": { - "Psr\\Log\\": "src" + "Psr\\Clock\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", @@ -2840,44 +3210,47 @@ "homepage": "https://www.php-fig.org/" } ], - "description": "Common interface for logging libraries", - "homepage": "https://github.com/php-fig/log", + "description": "Common interface for reading the clock.", + "homepage": "https://github.com/php-fig/clock", "keywords": [ - "log", + "clock", + "now", "psr", - "psr-3" + "psr-20", + "time" ], "support": { - "source": "https://github.com/php-fig/log/tree/3.0.2" + "issues": "https://github.com/php-fig/clock/issues", + "source": "https://github.com/php-fig/clock/tree/1.0.0" }, - "time": "2024-09-11T13:17:53+00:00" + "time": "2022-11-25T14:36:26+00:00" }, { - "name": "psr/simple-cache", - "version": "3.0.0", + "name": "psr/container", + "version": "2.0.2", "source": { "type": "git", - "url": "https://github.com/php-fig/simple-cache.git", - "reference": "764e0b3939f5ca87cb904f570ef9be2d78a07865" + "url": "https://github.com/php-fig/container.git", + "reference": "c71ecc56dfe541dbd90c5360474fbc405f8d5963" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/php-fig/simple-cache/zipball/764e0b3939f5ca87cb904f570ef9be2d78a07865", - "reference": "764e0b3939f5ca87cb904f570ef9be2d78a07865", + "url": "https://api.github.com/repos/php-fig/container/zipball/c71ecc56dfe541dbd90c5360474fbc405f8d5963", + "reference": "c71ecc56dfe541dbd90c5360474fbc405f8d5963", "shasum": "" }, "require": { - "php": ">=8.0.0" + "php": ">=7.4.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "3.0.x-dev" + "dev-master": "2.0.x-dev" } }, "autoload": { "psr-4": { - "Psr\\SimpleCache\\": "src/" + "Psr\\Container\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", @@ -2890,45 +3263,48 @@ "homepage": "https://www.php-fig.org/" } ], - "description": "Common interfaces for simple caching", + "description": "Common Container Interface (PHP FIG PSR-11)", + "homepage": "https://github.com/php-fig/container", "keywords": [ - "cache", - "caching", - "psr", - "psr-16", - "simple-cache" + "PSR-11", + "container", + "container-interface", + "container-interop", + "psr" ], "support": { - "source": "https://github.com/php-fig/simple-cache/tree/3.0.0" + "issues": "https://github.com/php-fig/container/issues", + "source": "https://github.com/php-fig/container/tree/2.0.2" }, - "time": "2021-10-29T13:26:27+00:00" + "time": "2021-11-05T16:47:00+00:00" }, { - "name": "ralouphie/getallheaders", - "version": "3.0.3", + "name": "psr/event-dispatcher", + "version": "1.0.0", "source": { "type": "git", - "url": "https://github.com/ralouphie/getallheaders.git", - "reference": "120b605dfeb996808c31b6477290a714d356e822" + "url": "https://github.com/php-fig/event-dispatcher.git", + "reference": "dbefd12671e8a14ec7f180cab83036ed26714bb0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/ralouphie/getallheaders/zipball/120b605dfeb996808c31b6477290a714d356e822", - "reference": "120b605dfeb996808c31b6477290a714d356e822", - "shasum": "" + "url": "https://api.github.com/repos/php-fig/event-dispatcher/zipball/dbefd12671e8a14ec7f180cab83036ed26714bb0", + "reference": "dbefd12671e8a14ec7f180cab83036ed26714bb0", + "shasum": "" }, "require": { - "php": ">=5.6" - }, - "require-dev": { - "php-coveralls/php-coveralls": "^2.1", - "phpunit/phpunit": "^5 || ^6.5" + "php": ">=7.2.0" }, "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, "autoload": { - "files": [ - "src/getallheaders.php" - ] + "psr-4": { + "Psr\\EventDispatcher\\": "src/" + } }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -2936,65 +3312,49 @@ ], "authors": [ { - "name": "Ralph Khattar", - "email": "ralph.khattar@gmail.com" + "name": "PHP-FIG", + "homepage": "http://www.php-fig.org/" } ], - "description": "A polyfill for getallheaders.", + "description": "Standard interfaces for event handling.", + "keywords": [ + "events", + "psr", + "psr-14" + ], "support": { - "issues": "https://github.com/ralouphie/getallheaders/issues", - "source": "https://github.com/ralouphie/getallheaders/tree/develop" + "issues": "https://github.com/php-fig/event-dispatcher/issues", + "source": "https://github.com/php-fig/event-dispatcher/tree/1.0.0" }, - "time": "2019-03-08T08:55:37+00:00" + "time": "2019-01-08T18:20:26+00:00" }, { - "name": "ramsey/collection", - "version": "2.1.1", + "name": "psr/http-client", + "version": "1.0.3", "source": { "type": "git", - "url": "https://github.com/ramsey/collection.git", - "reference": "344572933ad0181accbf4ba763e85a0306a8c5e2" + "url": "https://github.com/php-fig/http-client.git", + "reference": "bb5906edc1c324c9a05aa0873d40117941e5fa90" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/ramsey/collection/zipball/344572933ad0181accbf4ba763e85a0306a8c5e2", - "reference": "344572933ad0181accbf4ba763e85a0306a8c5e2", + "url": "https://api.github.com/repos/php-fig/http-client/zipball/bb5906edc1c324c9a05aa0873d40117941e5fa90", + "reference": "bb5906edc1c324c9a05aa0873d40117941e5fa90", "shasum": "" }, "require": { - "php": "^8.1" - }, - "require-dev": { - "captainhook/plugin-composer": "^5.3", - "ergebnis/composer-normalize": "^2.45", - "fakerphp/faker": "^1.24", - "hamcrest/hamcrest-php": "^2.0", - "jangregor/phpstan-prophecy": "^2.1", - "mockery/mockery": "^1.6", - "php-parallel-lint/php-console-highlighter": "^1.0", - "php-parallel-lint/php-parallel-lint": "^1.4", - "phpspec/prophecy-phpunit": "^2.3", - "phpstan/extension-installer": "^1.4", - "phpstan/phpstan": "^2.1", - "phpstan/phpstan-mockery": "^2.0", - "phpstan/phpstan-phpunit": "^2.0", - "phpunit/phpunit": "^10.5", - "ramsey/coding-standard": "^2.3", - "ramsey/conventional-commits": "^1.6", - "roave/security-advisories": "dev-latest" + "php": "^7.0 || ^8.0", + "psr/http-message": "^1.0 || ^2.0" }, "type": "library", "extra": { - "captainhook": { - "force-install": true - }, - "ramsey/conventional-commits": { - "configFile": "conventional-commits.json" + "branch-alias": { + "dev-master": "1.0.x-dev" } }, "autoload": { "psr-4": { - "Ramsey\\Collection\\": "src/" + "Psr\\Http\\Client\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", @@ -3003,557 +3363,525 @@ ], "authors": [ { - "name": "Ben Ramsey", - "email": "ben@benramsey.com", - "homepage": "https://benramsey.com" + "name": "PHP-FIG", + "homepage": "https://www.php-fig.org/" } ], - "description": "A PHP library for representing and manipulating collections.", + "description": "Common interface for HTTP clients", + "homepage": "https://github.com/php-fig/http-client", "keywords": [ - "array", - "collection", - "hash", - "map", - "queue", - "set" + "http", + "http-client", + "psr", + "psr-18" ], "support": { - "issues": "https://github.com/ramsey/collection/issues", - "source": "https://github.com/ramsey/collection/tree/2.1.1" + "source": "https://github.com/php-fig/http-client" }, - "time": "2025-03-22T05:38:12+00:00" + "time": "2023-09-23T14:17:50+00:00" }, { - "name": "ramsey/uuid", - "version": "4.9.0", + "name": "psr/http-factory", + "version": "1.1.0", "source": { "type": "git", - "url": "https://github.com/ramsey/uuid.git", - "reference": "4e0e23cc785f0724a0e838279a9eb03f28b092a0" + "url": "https://github.com/php-fig/http-factory.git", + "reference": "2b4765fddfe3b508ac62f829e852b1501d3f6e8a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/ramsey/uuid/zipball/4e0e23cc785f0724a0e838279a9eb03f28b092a0", - "reference": "4e0e23cc785f0724a0e838279a9eb03f28b092a0", + "url": "https://api.github.com/repos/php-fig/http-factory/zipball/2b4765fddfe3b508ac62f829e852b1501d3f6e8a", + "reference": "2b4765fddfe3b508ac62f829e852b1501d3f6e8a", "shasum": "" }, "require": { - "brick/math": "^0.8.8 || ^0.9 || ^0.10 || ^0.11 || ^0.12 || ^0.13", - "php": "^8.0", - "ramsey/collection": "^1.2 || ^2.0" - }, - "replace": { - "rhumsaa/uuid": "self.version" - }, - "require-dev": { - "captainhook/captainhook": "^5.25", - "captainhook/plugin-composer": "^5.3", - "dealerdirect/phpcodesniffer-composer-installer": "^1.0", - "ergebnis/composer-normalize": "^2.47", - "mockery/mockery": "^1.6", - "paragonie/random-lib": "^2", - "php-mock/php-mock": "^2.6", - "php-mock/php-mock-mockery": "^1.5", - "php-parallel-lint/php-parallel-lint": "^1.4.0", - "phpbench/phpbench": "^1.2.14", - "phpstan/extension-installer": "^1.4", - "phpstan/phpstan": "^2.1", - "phpstan/phpstan-mockery": "^2.0", - "phpstan/phpstan-phpunit": "^2.0", - "phpunit/phpunit": "^9.6", - "slevomat/coding-standard": "^8.18", - "squizlabs/php_codesniffer": "^3.13" - }, - "suggest": { - "ext-bcmath": "Enables faster math with arbitrary-precision integers using BCMath.", - "ext-gmp": "Enables faster math with arbitrary-precision integers using GMP.", - "ext-uuid": "Enables the use of PeclUuidTimeGenerator and PeclUuidRandomGenerator.", - "paragonie/random-lib": "Provides RandomLib for use with the RandomLibAdapter", - "ramsey/uuid-doctrine": "Allows the use of Ramsey\\Uuid\\Uuid as Doctrine field type." + "php": ">=7.1", + "psr/http-message": "^1.0 || ^2.0" }, "type": "library", "extra": { - "captainhook": { - "force-install": true + "branch-alias": { + "dev-master": "1.0.x-dev" } }, "autoload": { - "files": [ - "src/functions.php" - ], "psr-4": { - "Ramsey\\Uuid\\": "src/" + "Psr\\Http\\Message\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], - "description": "A PHP library for generating and working with universally unique identifiers (UUIDs).", + "authors": [ + { + "name": "PHP-FIG", + "homepage": "https://www.php-fig.org/" + } + ], + "description": "PSR-17: Common interfaces for PSR-7 HTTP message factories", "keywords": [ - "guid", - "identifier", - "uuid" + "factory", + "http", + "message", + "psr", + "psr-17", + "psr-7", + "request", + "response" ], "support": { - "issues": "https://github.com/ramsey/uuid/issues", - "source": "https://github.com/ramsey/uuid/tree/4.9.0" + "source": "https://github.com/php-fig/http-factory" }, - "time": "2025-06-25T14:20:11+00:00" + "time": "2024-04-15T12:06:14+00:00" }, { - "name": "robrichards/xmlseclibs", - "version": "3.1.3", + "name": "psr/http-message", + "version": "2.0", "source": { "type": "git", - "url": "https://github.com/robrichards/xmlseclibs.git", - "reference": "2bdfd742624d739dfadbd415f00181b4a77aaf07" + "url": "https://github.com/php-fig/http-message.git", + "reference": "402d35bcb92c70c026d1a6a9883f06b2ead23d71" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/robrichards/xmlseclibs/zipball/2bdfd742624d739dfadbd415f00181b4a77aaf07", - "reference": "2bdfd742624d739dfadbd415f00181b4a77aaf07", + "url": "https://api.github.com/repos/php-fig/http-message/zipball/402d35bcb92c70c026d1a6a9883f06b2ead23d71", + "reference": "402d35bcb92c70c026d1a6a9883f06b2ead23d71", "shasum": "" }, "require": { - "ext-openssl": "*", - "php": ">= 5.4" + "php": "^7.2 || ^8.0" }, "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.0.x-dev" + } + }, "autoload": { "psr-4": { - "RobRichards\\XMLSecLibs\\": "src" + "Psr\\Http\\Message\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", "license": [ - "BSD-3-Clause" + "MIT" ], - "description": "A PHP library for XML Security", - "homepage": "https://github.com/robrichards/xmlseclibs", + "authors": [ + { + "name": "PHP-FIG", + "homepage": "https://www.php-fig.org/" + } + ], + "description": "Common interface for HTTP messages", + "homepage": "https://github.com/php-fig/http-message", "keywords": [ - "security", - "signature", - "xml", - "xmldsig" + "http", + "http-message", + "psr", + "psr-7", + "request", + "response" ], "support": { - "issues": "https://github.com/robrichards/xmlseclibs/issues", - "source": "https://github.com/robrichards/xmlseclibs/tree/3.1.3" + "source": "https://github.com/php-fig/http-message/tree/2.0" }, - "time": "2024-11-20T21:13:56+00:00" + "time": "2023-04-04T09:54:51+00:00" }, { - "name": "sabre/dav", - "version": "4.6.0", + "name": "psr/log", + "version": "3.0.2", "source": { "type": "git", - "url": "https://github.com/sabre-io/dav.git", - "reference": "554145304b4a026477d130928d16e626939b0b2a" + "url": "https://github.com/php-fig/log.git", + "reference": "f16e1d5863e37f8d8c2a01719f5b34baa2b714d3" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sabre-io/dav/zipball/554145304b4a026477d130928d16e626939b0b2a", - "reference": "554145304b4a026477d130928d16e626939b0b2a", + "url": "https://api.github.com/repos/php-fig/log/zipball/f16e1d5863e37f8d8c2a01719f5b34baa2b714d3", + "reference": "f16e1d5863e37f8d8c2a01719f5b34baa2b714d3", "shasum": "" }, "require": { - "ext-ctype": "*", - "ext-date": "*", - "ext-dom": "*", - "ext-iconv": "*", - "ext-json": "*", - "ext-mbstring": "*", - "ext-pcre": "*", - "ext-simplexml": "*", - "ext-spl": "*", - "lib-libxml": ">=2.7.0", - "php": "^7.1.0 || ^8.0", - "psr/log": "^1.0 || ^2.0 || ^3.0", - "sabre/event": "^5.0", - "sabre/http": "^5.0.5", - "sabre/uri": "^2.0", - "sabre/vobject": "^4.2.1", - "sabre/xml": "^2.0.1" + "php": ">=8.0.0" }, - "require-dev": { - "friendsofphp/php-cs-fixer": "^2.19", - "monolog/monolog": "^1.27 || ^2.0", - "phpstan/phpstan": "^0.12 || ^1.0", - "phpstan/phpstan-phpunit": "^1.0", - "phpunit/phpunit": "^7.5 || ^8.5 || ^9.6" - }, - "suggest": { - "ext-curl": "*", - "ext-imap": "*", - "ext-pdo": "*" - }, - "bin": [ - "bin/sabredav", - "bin/naturalselection" - ], "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.x-dev" + } + }, "autoload": { "psr-4": { - "Sabre\\": "lib/" + "Psr\\Log\\": "src" } }, "notification-url": "https://packagist.org/downloads/", "license": [ - "BSD-3-Clause" + "MIT" ], "authors": [ { - "name": "Evert Pot", - "email": "me@evertpot.com", - "homepage": "http://evertpot.com/", - "role": "Developer" + "name": "PHP-FIG", + "homepage": "https://www.php-fig.org/" } ], - "description": "WebDAV Framework for PHP", - "homepage": "http://sabre.io/", + "description": "Common interface for logging libraries", + "homepage": "https://github.com/php-fig/log", "keywords": [ - "CalDAV", - "CardDAV", - "WebDAV", - "framework", - "iCalendar" + "log", + "psr", + "psr-3" ], "support": { - "forum": "https://groups.google.com/group/sabredav-discuss", - "issues": "https://github.com/sabre-io/dav/issues", - "source": "https://github.com/fruux/sabre-dav" + "source": "https://github.com/php-fig/log/tree/3.0.2" }, - "time": "2023-12-11T13:01:23+00:00" + "time": "2024-09-11T13:17:53+00:00" }, { - "name": "sabre/event", - "version": "5.1.7", + "name": "psr/simple-cache", + "version": "3.0.0", "source": { "type": "git", - "url": "https://github.com/sabre-io/event.git", - "reference": "86d57e305c272898ba3c28e9bd3d65d5464587c2" + "url": "https://github.com/php-fig/simple-cache.git", + "reference": "764e0b3939f5ca87cb904f570ef9be2d78a07865" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sabre-io/event/zipball/86d57e305c272898ba3c28e9bd3d65d5464587c2", - "reference": "86d57e305c272898ba3c28e9bd3d65d5464587c2", + "url": "https://api.github.com/repos/php-fig/simple-cache/zipball/764e0b3939f5ca87cb904f570ef9be2d78a07865", + "reference": "764e0b3939f5ca87cb904f570ef9be2d78a07865", "shasum": "" }, "require": { - "php": "^7.1 || ^8.0" - }, - "require-dev": { - "friendsofphp/php-cs-fixer": "~2.17.1||^3.63", - "phpstan/phpstan": "^0.12", - "phpunit/phpunit": "^7.5 || ^8.5 || ^9.6" + "php": ">=8.0.0" }, "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.0.x-dev" + } + }, "autoload": { - "files": [ - "lib/coroutine.php", - "lib/Loop/functions.php", - "lib/Promise/functions.php" - ], "psr-4": { - "Sabre\\Event\\": "lib/" + "Psr\\SimpleCache\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", "license": [ - "BSD-3-Clause" + "MIT" ], "authors": [ { - "name": "Evert Pot", - "email": "me@evertpot.com", - "homepage": "http://evertpot.com/", - "role": "Developer" + "name": "PHP-FIG", + "homepage": "https://www.php-fig.org/" } ], - "description": "sabre/event is a library for lightweight event-based programming", - "homepage": "http://sabre.io/event/", + "description": "Common interfaces for simple caching", "keywords": [ - "EventEmitter", - "async", - "coroutine", - "eventloop", - "events", - "hooks", - "plugin", - "promise", - "reactor", - "signal" + "cache", + "caching", + "psr", + "psr-16", + "simple-cache" ], "support": { - "forum": "https://groups.google.com/group/sabredav-discuss", - "issues": "https://github.com/sabre-io/event/issues", - "source": "https://github.com/fruux/sabre-event" + "source": "https://github.com/php-fig/simple-cache/tree/3.0.0" }, - "time": "2024-08-27T11:23:05+00:00" + "time": "2021-10-29T13:26:27+00:00" }, { - "name": "sabre/http", - "version": "5.1.12", + "name": "ralouphie/getallheaders", + "version": "3.0.3", "source": { "type": "git", - "url": "https://github.com/sabre-io/http.git", - "reference": "dedff73f3995578bc942fa4c8484190cac14f139" + "url": "https://github.com/ralouphie/getallheaders.git", + "reference": "120b605dfeb996808c31b6477290a714d356e822" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sabre-io/http/zipball/dedff73f3995578bc942fa4c8484190cac14f139", - "reference": "dedff73f3995578bc942fa4c8484190cac14f139", + "url": "https://api.github.com/repos/ralouphie/getallheaders/zipball/120b605dfeb996808c31b6477290a714d356e822", + "reference": "120b605dfeb996808c31b6477290a714d356e822", "shasum": "" }, "require": { - "ext-ctype": "*", - "ext-curl": "*", - "ext-mbstring": "*", - "php": "^7.1 || ^8.0", - "sabre/event": ">=4.0 <6.0", - "sabre/uri": "^2.0" + "php": ">=5.6" }, "require-dev": { - "friendsofphp/php-cs-fixer": "~2.17.1||^3.63", - "phpstan/phpstan": "^0.12", - "phpunit/phpunit": "^7.5 || ^8.5 || ^9.6" - }, - "suggest": { - "ext-curl": " to make http requests with the Client class" + "php-coveralls/php-coveralls": "^2.1", + "phpunit/phpunit": "^5 || ^6.5" }, "type": "library", "autoload": { "files": [ - "lib/functions.php" - ], - "psr-4": { - "Sabre\\HTTP\\": "lib/" - } + "src/getallheaders.php" + ] }, "notification-url": "https://packagist.org/downloads/", "license": [ - "BSD-3-Clause" + "MIT" ], "authors": [ { - "name": "Evert Pot", - "email": "me@evertpot.com", - "homepage": "http://evertpot.com/", - "role": "Developer" + "name": "Ralph Khattar", + "email": "ralph.khattar@gmail.com" } ], - "description": "The sabre/http library provides utilities for dealing with http requests and responses. ", - "homepage": "https://github.com/fruux/sabre-http", - "keywords": [ - "http" - ], + "description": "A polyfill for getallheaders.", "support": { - "forum": "https://groups.google.com/group/sabredav-discuss", - "issues": "https://github.com/sabre-io/http/issues", - "source": "https://github.com/fruux/sabre-http" + "issues": "https://github.com/ralouphie/getallheaders/issues", + "source": "https://github.com/ralouphie/getallheaders/tree/develop" }, - "time": "2024-08-27T16:07:41+00:00" + "time": "2019-03-08T08:55:37+00:00" }, { - "name": "sabre/uri", - "version": "2.3.4", + "name": "ramsey/collection", + "version": "2.1.1", "source": { "type": "git", - "url": "https://github.com/sabre-io/uri.git", - "reference": "b76524c22de90d80ca73143680a8e77b1266c291" + "url": "https://github.com/ramsey/collection.git", + "reference": "344572933ad0181accbf4ba763e85a0306a8c5e2" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sabre-io/uri/zipball/b76524c22de90d80ca73143680a8e77b1266c291", - "reference": "b76524c22de90d80ca73143680a8e77b1266c291", + "url": "https://api.github.com/repos/ramsey/collection/zipball/344572933ad0181accbf4ba763e85a0306a8c5e2", + "reference": "344572933ad0181accbf4ba763e85a0306a8c5e2", "shasum": "" }, "require": { - "php": "^7.4 || ^8.0" + "php": "^8.1" }, "require-dev": { - "friendsofphp/php-cs-fixer": "^3.63", + "captainhook/plugin-composer": "^5.3", + "ergebnis/composer-normalize": "^2.45", + "fakerphp/faker": "^1.24", + "hamcrest/hamcrest-php": "^2.0", + "jangregor/phpstan-prophecy": "^2.1", + "mockery/mockery": "^1.6", + "php-parallel-lint/php-console-highlighter": "^1.0", + "php-parallel-lint/php-parallel-lint": "^1.4", + "phpspec/prophecy-phpunit": "^2.3", "phpstan/extension-installer": "^1.4", - "phpstan/phpstan": "^1.12", - "phpstan/phpstan-phpunit": "^1.4", - "phpstan/phpstan-strict-rules": "^1.6", - "phpunit/phpunit": "^9.6" + "phpstan/phpstan": "^2.1", + "phpstan/phpstan-mockery": "^2.0", + "phpstan/phpstan-phpunit": "^2.0", + "phpunit/phpunit": "^10.5", + "ramsey/coding-standard": "^2.3", + "ramsey/conventional-commits": "^1.6", + "roave/security-advisories": "dev-latest" }, "type": "library", + "extra": { + "captainhook": { + "force-install": true + }, + "ramsey/conventional-commits": { + "configFile": "conventional-commits.json" + } + }, "autoload": { - "files": [ - "lib/functions.php" - ], "psr-4": { - "Sabre\\Uri\\": "lib/" + "Ramsey\\Collection\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", "license": [ - "BSD-3-Clause" + "MIT" ], "authors": [ { - "name": "Evert Pot", - "email": "me@evertpot.com", - "homepage": "http://evertpot.com/", - "role": "Developer" + "name": "Ben Ramsey", + "email": "ben@benramsey.com", + "homepage": "https://benramsey.com" } ], - "description": "Functions for making sense out of URIs.", - "homepage": "http://sabre.io/uri/", + "description": "A PHP library for representing and manipulating collections.", "keywords": [ - "rfc3986", - "uri", - "url" + "array", + "collection", + "hash", + "map", + "queue", + "set" ], "support": { - "forum": "https://groups.google.com/group/sabredav-discuss", - "issues": "https://github.com/sabre-io/uri/issues", - "source": "https://github.com/fruux/sabre-uri" + "issues": "https://github.com/ramsey/collection/issues", + "source": "https://github.com/ramsey/collection/tree/2.1.1" }, - "time": "2024-08-27T12:18:16+00:00" + "time": "2025-03-22T05:38:12+00:00" }, { - "name": "sabre/vobject", - "version": "4.5.7", + "name": "ramsey/uuid", + "version": "4.9.1", "source": { "type": "git", - "url": "https://github.com/sabre-io/vobject.git", - "reference": "ff22611a53782e90c97be0d0bc4a5f98a5c0a12c" + "url": "https://github.com/ramsey/uuid.git", + "reference": "81f941f6f729b1e3ceea61d9d014f8b6c6800440" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sabre-io/vobject/zipball/ff22611a53782e90c97be0d0bc4a5f98a5c0a12c", - "reference": "ff22611a53782e90c97be0d0bc4a5f98a5c0a12c", + "url": "https://api.github.com/repos/ramsey/uuid/zipball/81f941f6f729b1e3ceea61d9d014f8b6c6800440", + "reference": "81f941f6f729b1e3ceea61d9d014f8b6c6800440", "shasum": "" }, "require": { - "ext-mbstring": "*", - "php": "^7.1 || ^8.0", - "sabre/xml": "^2.1 || ^3.0 || ^4.0" + "brick/math": "^0.8.8 || ^0.9 || ^0.10 || ^0.11 || ^0.12 || ^0.13 || ^0.14", + "php": "^8.0", + "ramsey/collection": "^1.2 || ^2.0" }, - "require-dev": { - "friendsofphp/php-cs-fixer": "~2.17.1", - "phpstan/phpstan": "^0.12 || ^1.12 || ^2.0", - "phpunit/php-invoker": "^2.0 || ^3.1", - "phpunit/phpunit": "^7.5 || ^8.5 || ^9.6" + "replace": { + "rhumsaa/uuid": "self.version" + }, + "require-dev": { + "captainhook/captainhook": "^5.25", + "captainhook/plugin-composer": "^5.3", + "dealerdirect/phpcodesniffer-composer-installer": "^1.0", + "ergebnis/composer-normalize": "^2.47", + "mockery/mockery": "^1.6", + "paragonie/random-lib": "^2", + "php-mock/php-mock": "^2.6", + "php-mock/php-mock-mockery": "^1.5", + "php-parallel-lint/php-parallel-lint": "^1.4.0", + "phpbench/phpbench": "^1.2.14", + "phpstan/extension-installer": "^1.4", + "phpstan/phpstan": "^2.1", + "phpstan/phpstan-mockery": "^2.0", + "phpstan/phpstan-phpunit": "^2.0", + "phpunit/phpunit": "^9.6", + "slevomat/coding-standard": "^8.18", + "squizlabs/php_codesniffer": "^3.13" }, "suggest": { - "hoa/bench": "If you would like to run the benchmark scripts" + "ext-bcmath": "Enables faster math with arbitrary-precision integers using BCMath.", + "ext-gmp": "Enables faster math with arbitrary-precision integers using GMP.", + "ext-uuid": "Enables the use of PeclUuidTimeGenerator and PeclUuidRandomGenerator.", + "paragonie/random-lib": "Provides RandomLib for use with the RandomLibAdapter", + "ramsey/uuid-doctrine": "Allows the use of Ramsey\\Uuid\\Uuid as Doctrine field type." }, - "bin": [ - "bin/vobject", - "bin/generate_vcards" - ], "type": "library", "extra": { - "branch-alias": { - "dev-master": "4.0.x-dev" + "captainhook": { + "force-install": true } }, "autoload": { + "files": [ + "src/functions.php" + ], "psr-4": { - "Sabre\\VObject\\": "lib/" + "Ramsey\\Uuid\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", "license": [ - "BSD-3-Clause" + "MIT" ], - "authors": [ - { - "name": "Evert Pot", - "email": "me@evertpot.com", - "homepage": "http://evertpot.com/", - "role": "Developer" - }, - { - "name": "Dominik Tobschall", - "email": "dominik@fruux.com", - "homepage": "http://tobschall.de/", - "role": "Developer" - }, - { - "name": "Ivan Enderlin", - "email": "ivan.enderlin@hoa-project.net", - "homepage": "http://mnt.io/", - "role": "Developer" + "description": "A PHP library for generating and working with universally unique identifiers (UUIDs).", + "keywords": [ + "guid", + "identifier", + "uuid" + ], + "support": { + "issues": "https://github.com/ramsey/uuid/issues", + "source": "https://github.com/ramsey/uuid/tree/4.9.1" + }, + "time": "2025-09-04T20:59:21+00:00" + }, + { + "name": "robrichards/xmlseclibs", + "version": "3.1.3", + "source": { + "type": "git", + "url": "https://github.com/robrichards/xmlseclibs.git", + "reference": "2bdfd742624d739dfadbd415f00181b4a77aaf07" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/robrichards/xmlseclibs/zipball/2bdfd742624d739dfadbd415f00181b4a77aaf07", + "reference": "2bdfd742624d739dfadbd415f00181b4a77aaf07", + "shasum": "" + }, + "require": { + "ext-openssl": "*", + "php": ">= 5.4" + }, + "type": "library", + "autoload": { + "psr-4": { + "RobRichards\\XMLSecLibs\\": "src" } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" ], - "description": "The VObject library for PHP allows you to easily parse and manipulate iCalendar and vCard objects", - "homepage": "http://sabre.io/vobject/", + "description": "A PHP library for XML Security", + "homepage": "https://github.com/robrichards/xmlseclibs", "keywords": [ - "availability", - "freebusy", - "iCalendar", - "ical", - "ics", - "jCal", - "jCard", - "recurrence", - "rfc2425", - "rfc2426", - "rfc2739", - "rfc4770", - "rfc5545", - "rfc5546", - "rfc6321", - "rfc6350", - "rfc6351", - "rfc6474", - "rfc6638", - "rfc6715", - "rfc6868", - "vCalendar", - "vCard", - "vcf", - "xCal", - "xCard" + "security", + "signature", + "xml", + "xmldsig" ], "support": { - "forum": "https://groups.google.com/group/sabredav-discuss", - "issues": "https://github.com/sabre-io/vobject/issues", - "source": "https://github.com/fruux/sabre-vobject" + "issues": "https://github.com/robrichards/xmlseclibs/issues", + "source": "https://github.com/robrichards/xmlseclibs/tree/3.1.3" }, - "time": "2025-04-17T09:22:48+00:00" + "time": "2024-11-20T21:13:56+00:00" }, { - "name": "sabre/xml", - "version": "2.2.11", + "name": "sabre/dav", + "version": "4.6.0", "source": { "type": "git", - "url": "https://github.com/sabre-io/xml.git", - "reference": "01a7927842abf3e10df3d9c2d9b0cc9d813a3fcc" + "url": "https://github.com/sabre-io/dav.git", + "reference": "554145304b4a026477d130928d16e626939b0b2a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sabre-io/xml/zipball/01a7927842abf3e10df3d9c2d9b0cc9d813a3fcc", - "reference": "01a7927842abf3e10df3d9c2d9b0cc9d813a3fcc", + "url": "https://api.github.com/repos/sabre-io/dav/zipball/554145304b4a026477d130928d16e626939b0b2a", + "reference": "554145304b4a026477d130928d16e626939b0b2a", "shasum": "" }, "require": { + "ext-ctype": "*", + "ext-date": "*", "ext-dom": "*", - "ext-xmlreader": "*", - "ext-xmlwriter": "*", - "lib-libxml": ">=2.6.20", - "php": "^7.1 || ^8.0", - "sabre/uri": ">=1.0,<3.0.0" + "ext-iconv": "*", + "ext-json": "*", + "ext-mbstring": "*", + "ext-pcre": "*", + "ext-simplexml": "*", + "ext-spl": "*", + "lib-libxml": ">=2.7.0", + "php": "^7.1.0 || ^8.0", + "psr/log": "^1.0 || ^2.0 || ^3.0", + "sabre/event": "^5.0", + "sabre/http": "^5.0.5", + "sabre/uri": "^2.0", + "sabre/vobject": "^4.2.1", + "sabre/xml": "^2.0.1" }, "require-dev": { - "friendsofphp/php-cs-fixer": "~2.17.1||3.63.2", - "phpstan/phpstan": "^0.12", + "friendsofphp/php-cs-fixer": "^2.19", + "monolog/monolog": "^1.27 || ^2.0", + "phpstan/phpstan": "^0.12 || ^1.0", + "phpstan/phpstan-phpunit": "^1.0", "phpunit/phpunit": "^7.5 || ^8.5 || ^9.6" }, + "suggest": { + "ext-curl": "*", + "ext-imap": "*", + "ext-pdo": "*" + }, + "bin": [ + "bin/sabredav", + "bin/naturalselection" + ], "type": "library", "autoload": { - "files": [ - "lib/Deserializer/functions.php", - "lib/Serializer/functions.php" - ], "psr-4": { - "Sabre\\Xml\\": "lib/" + "Sabre\\": "lib/" } }, "notification-url": "https://packagist.org/downloads/", @@ -3566,1525 +3894,1401 @@ "email": "me@evertpot.com", "homepage": "http://evertpot.com/", "role": "Developer" - }, - { - "name": "Markus Staab", - "email": "markus.staab@redaxo.de", - "role": "Developer" } ], - "description": "sabre/xml is an XML library that you may not hate.", - "homepage": "https://sabre.io/xml/", + "description": "WebDAV Framework for PHP", + "homepage": "http://sabre.io/", "keywords": [ - "XMLReader", - "XMLWriter", - "dom", - "xml" + "CalDAV", + "CardDAV", + "WebDAV", + "framework", + "iCalendar" ], "support": { "forum": "https://groups.google.com/group/sabredav-discuss", - "issues": "https://github.com/sabre-io/xml/issues", - "source": "https://github.com/fruux/sabre-xml" + "issues": "https://github.com/sabre-io/dav/issues", + "source": "https://github.com/fruux/sabre-dav" }, - "time": "2024-09-06T07:37:46+00:00" + "time": "2023-12-11T13:01:23+00:00" }, { - "name": "seld/jsonlint", - "version": "1.11.0", + "name": "sabre/event", + "version": "5.1.7", "source": { "type": "git", - "url": "https://github.com/Seldaek/jsonlint.git", - "reference": "1748aaf847fc731cfad7725aec413ee46f0cc3a2" + "url": "https://github.com/sabre-io/event.git", + "reference": "86d57e305c272898ba3c28e9bd3d65d5464587c2" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Seldaek/jsonlint/zipball/1748aaf847fc731cfad7725aec413ee46f0cc3a2", - "reference": "1748aaf847fc731cfad7725aec413ee46f0cc3a2", + "url": "https://api.github.com/repos/sabre-io/event/zipball/86d57e305c272898ba3c28e9bd3d65d5464587c2", + "reference": "86d57e305c272898ba3c28e9bd3d65d5464587c2", "shasum": "" }, "require": { - "php": "^5.3 || ^7.0 || ^8.0" + "php": "^7.1 || ^8.0" }, "require-dev": { - "phpstan/phpstan": "^1.11", - "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.0 || ^8.5.13" + "friendsofphp/php-cs-fixer": "~2.17.1||^3.63", + "phpstan/phpstan": "^0.12", + "phpunit/phpunit": "^7.5 || ^8.5 || ^9.6" }, - "bin": [ - "bin/jsonlint" - ], "type": "library", "autoload": { + "files": [ + "lib/coroutine.php", + "lib/Loop/functions.php", + "lib/Promise/functions.php" + ], "psr-4": { - "Seld\\JsonLint\\": "src/Seld/JsonLint/" + "Sabre\\Event\\": "lib/" } }, "notification-url": "https://packagist.org/downloads/", "license": [ - "MIT" + "BSD-3-Clause" ], "authors": [ { - "name": "Jordi Boggiano", - "email": "j.boggiano@seld.be", - "homepage": "https://seld.be" + "name": "Evert Pot", + "email": "me@evertpot.com", + "homepage": "http://evertpot.com/", + "role": "Developer" } ], - "description": "JSON Linter", + "description": "sabre/event is a library for lightweight event-based programming", + "homepage": "http://sabre.io/event/", "keywords": [ - "json", - "linter", - "parser", - "validator" + "EventEmitter", + "async", + "coroutine", + "eventloop", + "events", + "hooks", + "plugin", + "promise", + "reactor", + "signal" ], "support": { - "issues": "https://github.com/Seldaek/jsonlint/issues", - "source": "https://github.com/Seldaek/jsonlint/tree/1.11.0" + "forum": "https://groups.google.com/group/sabredav-discuss", + "issues": "https://github.com/sabre-io/event/issues", + "source": "https://github.com/fruux/sabre-event" }, - "funding": [ - { - "url": "https://github.com/Seldaek", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/seld/jsonlint", - "type": "tidelift" - } - ], - "time": "2024-07-11T14:55:45+00:00" + "time": "2024-08-27T11:23:05+00:00" }, { - "name": "simplesamlphp/assert", - "version": "v1.8.1", + "name": "sabre/http", + "version": "5.1.13", "source": { "type": "git", - "url": "https://github.com/simplesamlphp/assert.git", - "reference": "f35e26e1201ec41be19404e23f87e53cf747ed3a" + "url": "https://github.com/sabre-io/http.git", + "reference": "7c2a14097d1a0de2347dcbdc91a02f38e338f4db" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/simplesamlphp/assert/zipball/f35e26e1201ec41be19404e23f87e53cf747ed3a", - "reference": "f35e26e1201ec41be19404e23f87e53cf747ed3a", + "url": "https://api.github.com/repos/sabre-io/http/zipball/7c2a14097d1a0de2347dcbdc91a02f38e338f4db", + "reference": "7c2a14097d1a0de2347dcbdc91a02f38e338f4db", "shasum": "" }, "require": { - "ext-date": "*", - "ext-filter": "*", - "ext-pcre": "*", - "ext-spl": "*", - "guzzlehttp/psr7": "~2.7.0", - "php": "^8.1", - "webmozart/assert": "~1.11.0" + "ext-ctype": "*", + "ext-curl": "*", + "ext-mbstring": "*", + "php": "^7.1 || ^8.0", + "sabre/event": ">=4.0 <6.0", + "sabre/uri": "^2.0" }, "require-dev": { - "ext-intl": "*", - "simplesamlphp/simplesamlphp-test-framework": "~1.8.0" + "friendsofphp/php-cs-fixer": "~2.17.1||3.63.2", + "phpstan/phpstan": "^0.12", + "phpunit/phpunit": "^7.5 || ^8.5 || ^9.6" }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "v1.1.x-dev" - } + "suggest": { + "ext-curl": " to make http requests with the Client class" }, + "type": "library", "autoload": { + "files": [ + "lib/functions.php" + ], "psr-4": { - "SimpleSAML\\Assert\\": "src/" + "Sabre\\HTTP\\": "lib/" } }, "notification-url": "https://packagist.org/downloads/", "license": [ - "LGPL-2.1-or-later" + "BSD-3-Clause" ], "authors": [ { - "name": "Tim van Dijen", - "email": "tvdijen@gmail.com" - }, - { - "name": "Jaime Perez Crespo", - "email": "jaimepc@gmail.com" + "name": "Evert Pot", + "email": "me@evertpot.com", + "homepage": "http://evertpot.com/", + "role": "Developer" } ], - "description": "A wrapper around webmozart/assert to make it useful beyond checking method arguments", + "description": "The sabre/http library provides utilities for dealing with http requests and responses. ", + "homepage": "https://github.com/fruux/sabre-http", + "keywords": [ + "http" + ], "support": { - "issues": "https://github.com/simplesamlphp/assert/issues", - "source": "https://github.com/simplesamlphp/assert/tree/v1.8.1" + "forum": "https://groups.google.com/group/sabredav-discuss", + "issues": "https://github.com/sabre-io/http/issues", + "source": "https://github.com/fruux/sabre-http" }, - "time": "2025-01-09T12:10:04+00:00" + "time": "2025-09-09T10:21:47+00:00" }, { - "name": "simplesamlphp/composer-module-installer", - "version": "v1.4.0", + "name": "sabre/uri", + "version": "2.3.4", "source": { "type": "git", - "url": "https://github.com/simplesamlphp/composer-module-installer.git", - "reference": "edb2155d200e2a208816d06f42cfa78bfd9e7cf4" + "url": "https://github.com/sabre-io/uri.git", + "reference": "b76524c22de90d80ca73143680a8e77b1266c291" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/simplesamlphp/composer-module-installer/zipball/edb2155d200e2a208816d06f42cfa78bfd9e7cf4", - "reference": "edb2155d200e2a208816d06f42cfa78bfd9e7cf4", + "url": "https://api.github.com/repos/sabre-io/uri/zipball/b76524c22de90d80ca73143680a8e77b1266c291", + "reference": "b76524c22de90d80ca73143680a8e77b1266c291", "shasum": "" }, "require": { - "composer-plugin-api": "^2.6", - "php": "^8.1", - "simplesamlphp/assert": "^1.6" + "php": "^7.4 || ^8.0" }, "require-dev": { - "composer/composer": "^2.8.3", - "simplesamlphp/simplesamlphp-test-framework": "^1.8.0" - }, - "type": "composer-plugin", - "extra": { - "class": "SimpleSAML\\Composer\\ModuleInstallerPlugin" + "friendsofphp/php-cs-fixer": "^3.63", + "phpstan/extension-installer": "^1.4", + "phpstan/phpstan": "^1.12", + "phpstan/phpstan-phpunit": "^1.4", + "phpstan/phpstan-strict-rules": "^1.6", + "phpunit/phpunit": "^9.6" }, + "type": "library", "autoload": { + "files": [ + "lib/functions.php" + ], "psr-4": { - "SimpleSAML\\Composer\\": "src/" + "Sabre\\Uri\\": "lib/" } }, "notification-url": "https://packagist.org/downloads/", "license": [ - "LGPL-2.1-only" + "BSD-3-Clause" ], - "description": "A Composer plugin that allows installing SimpleSAMLphp modules through Composer.", - "support": { - "issues": "https://github.com/simplesamlphp/composer-module-installer/issues", - "source": "https://github.com/simplesamlphp/composer-module-installer/tree/v1.4.0" - }, - "time": "2024-12-08T16:57:03+00:00" - }, - { - "name": "simplesamlphp/composer-xmlprovider-installer", - "version": "v1.0.2", - "source": { - "type": "git", - "url": "https://github.com/simplesamlphp/composer-xmlprovider-installer.git", - "reference": "3d882187b5b0b404c381a2e4d17498ca4b2785b3" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/simplesamlphp/composer-xmlprovider-installer/zipball/3d882187b5b0b404c381a2e4d17498ca4b2785b3", - "reference": "3d882187b5b0b404c381a2e4d17498ca4b2785b3", - "shasum": "" - }, - "require": { - "composer-plugin-api": "^2.0", - "php": "^8.1" - }, - "require-dev": { - "composer/composer": "^2.4", - "simplesamlphp/simplesamlphp-test-framework": "^1.5.4" - }, - "type": "composer-plugin", - "extra": { - "class": "SimpleSAML\\Composer\\XMLProvider\\XMLProviderInstallerPlugin" - }, - "autoload": { - "psr-4": { - "SimpleSAML\\Composer\\XMLProvider\\": "src/" + "authors": [ + { + "name": "Evert Pot", + "email": "me@evertpot.com", + "homepage": "http://evertpot.com/", + "role": "Developer" } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "LGPL-2.1-only" ], - "description": "A composer plugin that will auto-generate a classmap with all classes that implement SerializableElementInterface.", + "description": "Functions for making sense out of URIs.", + "homepage": "http://sabre.io/uri/", + "keywords": [ + "rfc3986", + "uri", + "url" + ], "support": { - "issues": "https://github.com/simplesamlphp/composer-xmlprovider-installer/issues", - "source": "https://github.com/simplesamlphp/composer-xmlprovider-installer/tree/v1.0.2" + "forum": "https://groups.google.com/group/sabredav-discuss", + "issues": "https://github.com/sabre-io/uri/issues", + "source": "https://github.com/fruux/sabre-uri" }, - "time": "2025-06-28T18:54:25+00:00" + "time": "2024-08-27T12:18:16+00:00" }, { - "name": "simplesamlphp/saml2", - "version": "v5.0.2", + "name": "sabre/vobject", + "version": "4.5.7", "source": { "type": "git", - "url": "https://github.com/simplesamlphp/saml2.git", - "reference": "d23dce11ac5a9b84a37a283ea7fbb0d780771e6c" + "url": "https://github.com/sabre-io/vobject.git", + "reference": "ff22611a53782e90c97be0d0bc4a5f98a5c0a12c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/simplesamlphp/saml2/zipball/d23dce11ac5a9b84a37a283ea7fbb0d780771e6c", - "reference": "d23dce11ac5a9b84a37a283ea7fbb0d780771e6c", + "url": "https://api.github.com/repos/sabre-io/vobject/zipball/ff22611a53782e90c97be0d0bc4a5f98a5c0a12c", + "reference": "ff22611a53782e90c97be0d0bc4a5f98a5c0a12c", "shasum": "" }, "require": { - "ext-date": "*", - "ext-dom": "*", - "ext-filter": "*", - "ext-libxml": "*", - "ext-openssl": "*", - "ext-pcre": "*", - "ext-zlib": "*", - "nyholm/psr7": "~1.8.2", - "php": "^8.1", - "psr/clock": "~1.0.0", - "psr/http-message": "~2.0", - "psr/log": "~2.3.1 || ~3.0.0", - "simplesamlphp/assert": "~1.8.1", - "simplesamlphp/xml-common": "~1.25.0", - "simplesamlphp/xml-security": "~1.13.4", - "simplesamlphp/xml-soap": "~1.7.0" + "ext-mbstring": "*", + "php": "^7.1 || ^8.0", + "sabre/xml": "^2.1 || ^3.0 || ^4.0" }, "require-dev": { - "beste/clock": "~3.0.0", - "ext-intl": "*", - "mockery/mockery": "~1.6.12", - "simplesamlphp/composer-xmlprovider-installer": "~1.0.2", - "simplesamlphp/simplesamlphp-test-framework": "~1.9.2" + "friendsofphp/php-cs-fixer": "~2.17.1", + "phpstan/phpstan": "^0.12 || ^1.12 || ^2.0", + "phpunit/php-invoker": "^2.0 || ^3.1", + "phpunit/phpunit": "^7.5 || ^8.5 || ^9.6" }, "suggest": { - "ext-soap": "*" + "hoa/bench": "If you would like to run the benchmark scripts" }, + "bin": [ + "bin/vobject", + "bin/generate_vcards" + ], "type": "library", "extra": { "branch-alias": { - "dev-master": "v5.0.x-dev" + "dev-master": "4.0.x-dev" } }, "autoload": { "psr-4": { - "SimpleSAML\\SAML2\\": "src/" + "Sabre\\VObject\\": "lib/" } }, "notification-url": "https://packagist.org/downloads/", "license": [ - "LGPL-2.1-or-later" + "BSD-3-Clause" ], "authors": [ { - "name": "Andreas Åkre Solberg", - "email": "andreas.solberg@uninett.no" + "name": "Evert Pot", + "email": "me@evertpot.com", + "homepage": "http://evertpot.com/", + "role": "Developer" + }, + { + "name": "Dominik Tobschall", + "email": "dominik@fruux.com", + "homepage": "http://tobschall.de/", + "role": "Developer" + }, + { + "name": "Ivan Enderlin", + "email": "ivan.enderlin@hoa-project.net", + "homepage": "http://mnt.io/", + "role": "Developer" } ], - "description": "SAML2 PHP library from SimpleSAMLphp", + "description": "The VObject library for PHP allows you to easily parse and manipulate iCalendar and vCard objects", + "homepage": "http://sabre.io/vobject/", + "keywords": [ + "availability", + "freebusy", + "iCalendar", + "ical", + "ics", + "jCal", + "jCard", + "recurrence", + "rfc2425", + "rfc2426", + "rfc2739", + "rfc4770", + "rfc5545", + "rfc5546", + "rfc6321", + "rfc6350", + "rfc6351", + "rfc6474", + "rfc6638", + "rfc6715", + "rfc6868", + "vCalendar", + "vCard", + "vcf", + "xCal", + "xCard" + ], "support": { - "issues": "https://github.com/simplesamlphp/saml2/issues", - "source": "https://github.com/simplesamlphp/saml2/tree/v5.0.2" + "forum": "https://groups.google.com/group/sabredav-discuss", + "issues": "https://github.com/sabre-io/vobject/issues", + "source": "https://github.com/fruux/sabre-vobject" }, - "time": "2025-07-01T19:07:40+00:00" + "time": "2025-04-17T09:22:48+00:00" }, { - "name": "simplesamlphp/saml2-legacy", - "version": "v4.18.1", + "name": "sabre/xml", + "version": "2.2.11", "source": { "type": "git", - "url": "https://github.com/simplesamlphp/saml2-legacy.git", - "reference": "9bbf43a5ace9c8e5107dad3a613b014b456ecd56" + "url": "https://github.com/sabre-io/xml.git", + "reference": "01a7927842abf3e10df3d9c2d9b0cc9d813a3fcc" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/simplesamlphp/saml2-legacy/zipball/9bbf43a5ace9c8e5107dad3a613b014b456ecd56", - "reference": "9bbf43a5ace9c8e5107dad3a613b014b456ecd56", + "url": "https://api.github.com/repos/sabre-io/xml/zipball/01a7927842abf3e10df3d9c2d9b0cc9d813a3fcc", + "reference": "01a7927842abf3e10df3d9c2d9b0cc9d813a3fcc", "shasum": "" }, "require": { "ext-dom": "*", - "ext-openssl": "*", - "ext-zlib": "*", - "php": ">=7.1 || ^8.0", - "psr/log": "~1.1 || ^2.0 || ^3.0", - "robrichards/xmlseclibs": "^3.1.1", - "webmozart/assert": "^1.9" - }, - "conflict": { - "robrichards/xmlseclibs": "3.1.2" + "ext-xmlreader": "*", + "ext-xmlwriter": "*", + "lib-libxml": ">=2.6.20", + "php": "^7.1 || ^8.0", + "sabre/uri": ">=1.0,<3.0.0" }, "require-dev": { - "mockery/mockery": "^1.3", - "phpunit/phpunit": "^7.5 || ^8.5 || ^9.5", - "sebastian/phpcpd": "~4.1 || ^5.0 || ^6.0", - "simplesamlphp/simplesamlphp-test-framework": "~0.1.0", - "squizlabs/php_codesniffer": "~3.5" + "friendsofphp/php-cs-fixer": "~2.17.1||3.63.2", + "phpstan/phpstan": "^0.12", + "phpunit/phpunit": "^7.5 || ^8.5 || ^9.6" }, "type": "library", - "extra": { - "branch-alias": { - "dev-master": "v4.2.x-dev" - } - }, "autoload": { + "files": [ + "lib/Deserializer/functions.php", + "lib/Serializer/functions.php" + ], "psr-4": { - "SAML2\\": "src/SAML2" + "Sabre\\Xml\\": "lib/" } }, "notification-url": "https://packagist.org/downloads/", "license": [ - "LGPL-2.1-or-later" + "BSD-3-Clause" ], "authors": [ { - "name": "Andreas Åkre Solberg", - "email": "andreas.solberg@uninett.no" + "name": "Evert Pot", + "email": "me@evertpot.com", + "homepage": "http://evertpot.com/", + "role": "Developer" + }, + { + "name": "Markus Staab", + "email": "markus.staab@redaxo.de", + "role": "Developer" } ], - "description": "SAML2 PHP library from SimpleSAMLphp", + "description": "sabre/xml is an XML library that you may not hate.", + "homepage": "https://sabre.io/xml/", + "keywords": [ + "XMLReader", + "XMLWriter", + "dom", + "xml" + ], "support": { - "source": "https://github.com/simplesamlphp/saml2-legacy/tree/v4.18.1" + "forum": "https://groups.google.com/group/sabredav-discuss", + "issues": "https://github.com/sabre-io/xml/issues", + "source": "https://github.com/fruux/sabre-xml" }, - "time": "2025-03-16T11:50:02+00:00" + "time": "2024-09-06T07:37:46+00:00" }, { - "name": "simplesamlphp/simplesamlphp", - "version": "v2.4.2", + "name": "sebastian/cli-parser", + "version": "3.0.2", "source": { "type": "git", - "url": "https://github.com/simplesamlphp/simplesamlphp.git", - "reference": "d791ed73656102f4d553f7e0335cc6a528b1c2dd" + "url": "https://github.com/sebastianbergmann/cli-parser.git", + "reference": "15c5dd40dc4f38794d383bb95465193f5e0ae180" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/simplesamlphp/simplesamlphp/zipball/d791ed73656102f4d553f7e0335cc6a528b1c2dd", - "reference": "d791ed73656102f4d553f7e0335cc6a528b1c2dd", + "url": "https://api.github.com/repos/sebastianbergmann/cli-parser/zipball/15c5dd40dc4f38794d383bb95465193f5e0ae180", + "reference": "15c5dd40dc4f38794d383bb95465193f5e0ae180", "shasum": "" }, "require": { - "ext-date": "*", - "ext-dom": "*", - "ext-hash": "*", - "ext-json": "*", - "ext-mbstring": "*", - "ext-openssl": "*", - "ext-pcre": "*", - "ext-session": "*", - "ext-simplexml": "*", - "ext-spl": "*", - "ext-zlib": "*", - "gettext/gettext": "^5.7", - "gettext/translator": "^1.1", - "php": "^8.1", - "phpmailer/phpmailer": "^6.8", - "psr/log": "^3.0", - "simplesamlphp/assert": "^1.1", - "simplesamlphp/composer-module-installer": "^1.3", - "simplesamlphp/saml2": "^5.0.0", - "simplesamlphp/saml2-legacy": "^4.18.1", - "simplesamlphp/simplesamlphp-assets-base": "~2.3.0", - "simplesamlphp/xml-security": "^1.7", - "symfony/cache": "^6.4", - "symfony/config": "^6.4", - "symfony/console": "^6.4", - "symfony/dependency-injection": "^6.4", - "symfony/filesystem": "^6.4", - "symfony/finder": "^6.4", - "symfony/framework-bundle": "^6.4", - "symfony/http-foundation": "^6.4", - "symfony/http-kernel": "^6.4", - "symfony/intl": "^6.4", - "symfony/password-hasher": "^6.4", - "symfony/polyfill-intl-icu": "^1.28", - "symfony/routing": "^6.4", - "symfony/translation-contracts": "^3.0", - "symfony/twig-bridge": "^6.4", - "symfony/var-exporter": "^6.4", - "symfony/yaml": "^6.4", - "twig/intl-extra": "^3.7", - "twig/twig": "^3.14.0" + "php": ">=8.2" }, "require-dev": { - "ext-curl": "*", - "ext-pdo_sqlite": "*", - "gettext/php-scanner": "1.3.1", - "mikey179/vfsstream": "~1.6", - "predis/predis": "^2.2", - "simplesamlphp/simplesamlphp-test-framework": "^1.9.2", - "symfony/translation": "^6.4" - }, - "suggest": { - "ext-curl": "Needed in order to check for updates automatically", - "ext-intl": "Needed if translations for non-English languages are required.", - "ext-ldap": "Needed if an LDAP backend is used", - "ext-memcache": "Needed if a Memcache server is used to store session information", - "ext-mysql": "Needed if a MySQL backend is used, either for authentication or to store session information", - "ext-pdo": "Needed if a database backend is used, either for authentication or to store session information", - "ext-pgsql": "Needed if a PostgreSQL backend is used, either for authentication or to store session information", - "predis/predis": "Needed if a Redis server is used to store session information" + "phpunit/phpunit": "^11.0" }, - "type": "project", + "type": "library", "extra": { "branch-alias": { - "dev-master": "2.5.0.x-dev" + "dev-main": "3.0-dev" } }, "autoload": { - "files": [ - "src/_autoload_modules.php" - ], - "psr-4": { - "SimpleSAML\\": "src/SimpleSAML", - "SimpleSAML\\Module\\core\\": "modules/core/src", - "SimpleSAML\\Module\\cron\\": "modules/cron/src", - "SimpleSAML\\Module\\saml\\": "modules/saml/src", - "SimpleSAML\\Module\\admin\\": "modules/admin/src", - "SimpleSAML\\Module\\multiauth\\": "modules/multiauth/src", - "SimpleSAML\\Module\\exampleauth\\": "modules/exampleauth/src" - } + "classmap": [ + "src/" + ] }, "notification-url": "https://packagist.org/downloads/", "license": [ - "LGPL-2.1-or-later" + "BSD-3-Clause" ], "authors": [ { - "name": "Andreas Åkre Solberg", - "email": "andreas.solberg@uninett.no" - }, - { - "name": "Olav Morken", - "email": "olav.morken@uninett.no" - }, - { - "name": "Jaime Perez", - "email": "jaime.perez@uninett.no" + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" } ], - "description": "A PHP implementation of a SAML 2.0 service provider and identity provider.", - "homepage": "https://simplesamlphp.org", - "keywords": [ - "SAML2", - "idp", - "oauth", - "shibboleth", - "sp", - "ws-federation" - ], + "description": "Library for parsing CLI options", + "homepage": "https://github.com/sebastianbergmann/cli-parser", "support": { - "issues": "https://github.com/simplesamlphp/simplesamlphp/issues", - "source": "https://github.com/simplesamlphp/simplesamlphp" + "issues": "https://github.com/sebastianbergmann/cli-parser/issues", + "security": "https://github.com/sebastianbergmann/cli-parser/security/policy", + "source": "https://github.com/sebastianbergmann/cli-parser/tree/3.0.2" }, - "time": "2025-06-04T13:10:38+00:00" + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2024-07-03T04:41:36+00:00" }, { - "name": "simplesamlphp/simplesamlphp-assets-base", - "version": "v2.3.9", + "name": "sebastian/code-unit", + "version": "3.0.3", "source": { "type": "git", - "url": "https://github.com/simplesamlphp/simplesamlphp-assets-base.git", - "reference": "75bd31897ed3634d97de2815b5fa668625f8134d" + "url": "https://github.com/sebastianbergmann/code-unit.git", + "reference": "54391c61e4af8078e5b276ab082b6d3c54c9ad64" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/simplesamlphp/simplesamlphp-assets-base/zipball/75bd31897ed3634d97de2815b5fa668625f8134d", - "reference": "75bd31897ed3634d97de2815b5fa668625f8134d", + "url": "https://api.github.com/repos/sebastianbergmann/code-unit/zipball/54391c61e4af8078e5b276ab082b6d3c54c9ad64", + "reference": "54391c61e4af8078e5b276ab082b6d3c54c9ad64", "shasum": "" }, "require": { - "php": "^8.1", - "simplesamlphp/composer-module-installer": "^1.3.4" + "php": ">=8.2" + }, + "require-dev": { + "phpunit/phpunit": "^11.5" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "3.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] }, - "type": "simplesamlphp-module", "notification-url": "https://packagist.org/downloads/", "license": [ - "LGPL-2.1-or-later" + "BSD-3-Clause" ], "authors": [ { - "name": "Tim van Dijen", - "email": "tvdijen@gmail.com" + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" } ], - "description": "Assets for the SimpleSAMLphp main repository", + "description": "Collection of value objects that represent the PHP code units", + "homepage": "https://github.com/sebastianbergmann/code-unit", "support": { - "issues": "https://github.com/simplesamlphp/simplesamlphp-assets-base/issues", - "source": "https://github.com/simplesamlphp/simplesamlphp-assets-base/tree/v2.3.9" + "issues": "https://github.com/sebastianbergmann/code-unit/issues", + "security": "https://github.com/sebastianbergmann/code-unit/security/policy", + "source": "https://github.com/sebastianbergmann/code-unit/tree/3.0.3" }, - "time": "2025-03-02T17:54:55+00:00" + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2025-03-19T07:56:08+00:00" }, { - "name": "simplesamlphp/xml-common", - "version": "v1.25.1", + "name": "sebastian/code-unit-reverse-lookup", + "version": "4.0.1", "source": { "type": "git", - "url": "https://github.com/simplesamlphp/xml-common.git", - "reference": "999603aa521d91e17b562bb0b498513af80eb190" + "url": "https://github.com/sebastianbergmann/code-unit-reverse-lookup.git", + "reference": "183a9b2632194febd219bb9246eee421dad8d45e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/simplesamlphp/xml-common/zipball/999603aa521d91e17b562bb0b498513af80eb190", - "reference": "999603aa521d91e17b562bb0b498513af80eb190", + "url": "https://api.github.com/repos/sebastianbergmann/code-unit-reverse-lookup/zipball/183a9b2632194febd219bb9246eee421dad8d45e", + "reference": "183a9b2632194febd219bb9246eee421dad8d45e", "shasum": "" }, "require": { - "ext-date": "*", - "ext-dom": "*", - "ext-filter": "*", - "ext-libxml": "*", - "ext-pcre": "*", - "ext-spl": "*", - "php": "^8.1", - "simplesamlphp/assert": "~1.8.1", - "simplesamlphp/composer-xmlprovider-installer": "~1.0.2", - "symfony/finder": "~6.4.0" + "php": ">=8.2" }, "require-dev": { - "simplesamlphp/simplesamlphp-test-framework": "~1.9.2" + "phpunit/phpunit": "^11.0" }, - "type": "simplesamlphp-xmlprovider", - "autoload": { - "psr-4": { - "SimpleSAML\\XML\\": "src/" + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "4.0-dev" } }, + "autoload": { + "classmap": [ + "src/" + ] + }, "notification-url": "https://packagist.org/downloads/", "license": [ - "LGPL-2.1-or-later" + "BSD-3-Clause" ], "authors": [ { - "name": "Jaime Perez", - "email": "jaime.perez@uninett.no" - }, - { - "name": "Tim van Dijen", - "email": "tvdijen@gmail.com" + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" } ], - "description": "A library with classes and utilities for handling XML structures.", - "homepage": "http://simplesamlphp.org", - "keywords": [ - "saml", - "xml" - ], + "description": "Looks up which function or method a line of code belongs to", + "homepage": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/", "support": { - "issues": "https://github.com/simplesamlphp/xml-common/issues", - "source": "https://github.com/simplesamlphp/xml-common" + "issues": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/issues", + "security": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/security/policy", + "source": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/tree/4.0.1" }, - "time": "2025-06-29T13:05:44+00:00" + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2024-07-03T04:45:54+00:00" }, { - "name": "simplesamlphp/xml-security", - "version": "v1.13.7", + "name": "sebastian/comparator", + "version": "6.3.2", "source": { "type": "git", - "url": "https://github.com/simplesamlphp/xml-security.git", - "reference": "f6f32a3c2c6b398408d5bccc9d59445edc1cb67d" + "url": "https://github.com/sebastianbergmann/comparator.git", + "reference": "85c77556683e6eee4323e4c5468641ca0237e2e8" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/simplesamlphp/xml-security/zipball/f6f32a3c2c6b398408d5bccc9d59445edc1cb67d", - "reference": "f6f32a3c2c6b398408d5bccc9d59445edc1cb67d", + "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/85c77556683e6eee4323e4c5468641ca0237e2e8", + "reference": "85c77556683e6eee4323e4c5468641ca0237e2e8", "shasum": "" }, "require": { "ext-dom": "*", - "ext-hash": "*", "ext-mbstring": "*", - "ext-openssl": "*", - "ext-pcre": "*", - "ext-spl": "*", - "php": "^8.1", - "simplesamlphp/assert": "~1.8.1", - "simplesamlphp/xml-common": "~1.25.0" + "php": ">=8.2", + "sebastian/diff": "^6.0", + "sebastian/exporter": "^6.0" }, "require-dev": { - "simplesamlphp/simplesamlphp-test-framework": "~1.9.2" + "phpunit/phpunit": "^11.4" }, - "type": "simplesamlphp-xmlprovider", - "autoload": { - "psr-4": { - "SimpleSAML\\XMLSecurity\\": "src/" + "suggest": { + "ext-bcmath": "For comparing BcMath\\Number objects" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "6.3-dev" } }, + "autoload": { + "classmap": [ + "src/" + ] + }, "notification-url": "https://packagist.org/downloads/", "license": [ - "LGPL-2.1-or-later" + "BSD-3-Clause" ], "authors": [ { - "name": "Jaime Perez Crespo", - "email": "jaime.perez@uninett.no", - "role": "Maintainer" + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" }, { - "name": "Tim van Dijen", - "email": "tvdijen@gmail.com", - "role": "Maintainer" + "name": "Jeff Welch", + "email": "whatthejeff@gmail.com" + }, + { + "name": "Volker Dusch", + "email": "github@wallbash.com" + }, + { + "name": "Bernhard Schussek", + "email": "bschussek@2bepublished.at" } ], - "description": "SimpleSAMLphp library for XML Security", - "homepage": "https://github.com/simplesamlphp/xml-security", + "description": "Provides the functionality to compare PHP values for equality", + "homepage": "https://github.com/sebastianbergmann/comparator", "keywords": [ - "security", - "signature", - "xml", - "xmldsig" + "comparator", + "compare", + "equality" ], "support": { - "issues": "https://github.com/simplesamlphp/xml-security/issues", - "source": "https://github.com/simplesamlphp/xml-security/tree/v1.13.7" + "issues": "https://github.com/sebastianbergmann/comparator/issues", + "security": "https://github.com/sebastianbergmann/comparator/security/policy", + "source": "https://github.com/sebastianbergmann/comparator/tree/6.3.2" }, - "time": "2025-06-29T13:07:27+00:00" + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + }, + { + "url": "https://liberapay.com/sebastianbergmann", + "type": "liberapay" + }, + { + "url": "https://thanks.dev/u/gh/sebastianbergmann", + "type": "thanks_dev" + }, + { + "url": "https://tidelift.com/funding/github/packagist/sebastian/comparator", + "type": "tidelift" + } + ], + "time": "2025-08-10T08:07:46+00:00" }, { - "name": "simplesamlphp/xml-soap", - "version": "v1.7.1", + "name": "sebastian/complexity", + "version": "4.0.1", "source": { "type": "git", - "url": "https://github.com/simplesamlphp/xml-soap.git", - "reference": "ca1ee4ea29c62fa66fc30d040b4013b4543f4f76" + "url": "https://github.com/sebastianbergmann/complexity.git", + "reference": "ee41d384ab1906c68852636b6de493846e13e5a0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/simplesamlphp/xml-soap/zipball/ca1ee4ea29c62fa66fc30d040b4013b4543f4f76", - "reference": "ca1ee4ea29c62fa66fc30d040b4013b4543f4f76", + "url": "https://api.github.com/repos/sebastianbergmann/complexity/zipball/ee41d384ab1906c68852636b6de493846e13e5a0", + "reference": "ee41d384ab1906c68852636b6de493846e13e5a0", "shasum": "" }, "require": { - "ext-dom": "*", - "ext-pcre": "*", - "php": "^8.1", - "simplesamlphp/assert": "~1.8.1", - "simplesamlphp/xml-common": "~1.25.0" + "nikic/php-parser": "^5.0", + "php": ">=8.2" }, "require-dev": { - "simplesamlphp/simplesamlphp-test-framework": "~1.9.2" + "phpunit/phpunit": "^11.0" }, - "type": "simplesamlphp-xmlprovider", + "type": "library", "extra": { "branch-alias": { - "dev-master": "v2.0.x-dev" + "dev-main": "4.0-dev" } }, "autoload": { - "psr-4": { - "SimpleSAML\\SOAP\\": "src/" - } + "classmap": [ + "src/" + ] }, "notification-url": "https://packagist.org/downloads/", "license": [ - "LGPL-2.1-or-later" + "BSD-3-Clause" ], "authors": [ { - "name": "Tim van Dijen", - "email": "tvdijen@gmail.com" + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" } ], - "description": "SimpleSAMLphp library for XML SOAP", + "description": "Library for calculating the complexity of PHP code units", + "homepage": "https://github.com/sebastianbergmann/complexity", "support": { - "issues": "https://github.com/simplesamlphp/xml-soap/issues", - "source": "https://github.com/simplesamlphp/xml-soap/tree/v1.7.1" + "issues": "https://github.com/sebastianbergmann/complexity/issues", + "security": "https://github.com/sebastianbergmann/complexity/security/policy", + "source": "https://github.com/sebastianbergmann/complexity/tree/4.0.1" }, - "time": "2025-06-03T21:07:04+00:00" + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2024-07-03T04:49:50+00:00" }, { - "name": "symfony/cache", - "version": "v6.4.23", + "name": "sebastian/diff", + "version": "6.0.2", "source": { "type": "git", - "url": "https://github.com/symfony/cache.git", - "reference": "c88690befb8d4a85dc321fb78d677507f5eb141b" + "url": "https://github.com/sebastianbergmann/diff.git", + "reference": "b4ccd857127db5d41a5b676f24b51371d76d8544" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/cache/zipball/c88690befb8d4a85dc321fb78d677507f5eb141b", - "reference": "c88690befb8d4a85dc321fb78d677507f5eb141b", + "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/b4ccd857127db5d41a5b676f24b51371d76d8544", + "reference": "b4ccd857127db5d41a5b676f24b51371d76d8544", "shasum": "" }, "require": { - "php": ">=8.1", - "psr/cache": "^2.0|^3.0", - "psr/log": "^1.1|^2|^3", - "symfony/cache-contracts": "^2.5|^3", - "symfony/service-contracts": "^2.5|^3", - "symfony/var-exporter": "^6.3.6|^7.0" - }, - "conflict": { - "doctrine/dbal": "<2.13.1", - "symfony/dependency-injection": "<5.4", - "symfony/http-kernel": "<5.4", - "symfony/var-dumper": "<5.4" - }, - "provide": { - "psr/cache-implementation": "2.0|3.0", - "psr/simple-cache-implementation": "1.0|2.0|3.0", - "symfony/cache-implementation": "1.1|2.0|3.0" + "php": ">=8.2" }, "require-dev": { - "cache/integration-tests": "dev-master", - "doctrine/dbal": "^2.13.1|^3|^4", - "predis/predis": "^1.1|^2.0", - "psr/simple-cache": "^1.0|^2.0|^3.0", - "symfony/config": "^5.4|^6.0|^7.0", - "symfony/dependency-injection": "^5.4|^6.0|^7.0", - "symfony/filesystem": "^5.4|^6.0|^7.0", - "symfony/http-kernel": "^5.4|^6.0|^7.0", - "symfony/messenger": "^5.4|^6.0|^7.0", - "symfony/var-dumper": "^5.4|^6.0|^7.0" + "phpunit/phpunit": "^11.0", + "symfony/process": "^4.2 || ^5" }, "type": "library", + "extra": { + "branch-alias": { + "dev-main": "6.0-dev" + } + }, "autoload": { - "psr-4": { - "Symfony\\Component\\Cache\\": "" - }, "classmap": [ - "Traits/ValueWrapper.php" - ], - "exclude-from-classmap": [ - "/Tests/" + "src/" ] }, "notification-url": "https://packagist.org/downloads/", "license": [ - "MIT" + "BSD-3-Clause" ], "authors": [ { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" }, { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" + "name": "Kore Nordmann", + "email": "mail@kore-nordmann.de" } ], - "description": "Provides extended PSR-6, PSR-16 (and tags) implementations", - "homepage": "https://symfony.com", + "description": "Diff implementation", + "homepage": "https://github.com/sebastianbergmann/diff", "keywords": [ - "caching", - "psr6" + "diff", + "udiff", + "unidiff", + "unified diff" ], "support": { - "source": "https://github.com/symfony/cache/tree/v6.4.23" + "issues": "https://github.com/sebastianbergmann/diff/issues", + "security": "https://github.com/sebastianbergmann/diff/security/policy", + "source": "https://github.com/sebastianbergmann/diff/tree/6.0.2" }, "funding": [ { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", + "url": "https://github.com/sebastianbergmann", "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" } ], - "time": "2025-06-27T18:31:36+00:00" + "time": "2024-07-03T04:53:05+00:00" }, { - "name": "symfony/cache-contracts", - "version": "v3.6.0", + "name": "sebastian/environment", + "version": "7.2.1", "source": { "type": "git", - "url": "https://github.com/symfony/cache-contracts.git", - "reference": "5d68a57d66910405e5c0b63d6f0af941e66fc868" + "url": "https://github.com/sebastianbergmann/environment.git", + "reference": "a5c75038693ad2e8d4b6c15ba2403532647830c4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/cache-contracts/zipball/5d68a57d66910405e5c0b63d6f0af941e66fc868", - "reference": "5d68a57d66910405e5c0b63d6f0af941e66fc868", + "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/a5c75038693ad2e8d4b6c15ba2403532647830c4", + "reference": "a5c75038693ad2e8d4b6c15ba2403532647830c4", "shasum": "" }, "require": { - "php": ">=8.1", - "psr/cache": "^3.0" + "php": ">=8.2" + }, + "require-dev": { + "phpunit/phpunit": "^11.3" + }, + "suggest": { + "ext-posix": "*" }, "type": "library", "extra": { - "thanks": { - "url": "https://github.com/symfony/contracts", - "name": "symfony/contracts" - }, "branch-alias": { - "dev-main": "3.6-dev" + "dev-main": "7.2-dev" } }, "autoload": { - "psr-4": { - "Symfony\\Contracts\\Cache\\": "" - } + "classmap": [ + "src/" + ] }, "notification-url": "https://packagist.org/downloads/", "license": [ - "MIT" + "BSD-3-Clause" ], "authors": [ { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" } ], - "description": "Generic abstractions related to caching", - "homepage": "https://symfony.com", + "description": "Provides functionality to handle HHVM/PHP environments", + "homepage": "https://github.com/sebastianbergmann/environment", "keywords": [ - "abstractions", - "contracts", - "decoupling", - "interfaces", - "interoperability", - "standards" + "Xdebug", + "environment", + "hhvm" ], "support": { - "source": "https://github.com/symfony/cache-contracts/tree/v3.6.0" + "issues": "https://github.com/sebastianbergmann/environment/issues", + "security": "https://github.com/sebastianbergmann/environment/security/policy", + "source": "https://github.com/sebastianbergmann/environment/tree/7.2.1" }, "funding": [ { - "url": "https://symfony.com/sponsor", - "type": "custom" + "url": "https://github.com/sebastianbergmann", + "type": "github" }, { - "url": "https://github.com/fabpot", - "type": "github" + "url": "https://liberapay.com/sebastianbergmann", + "type": "liberapay" }, { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "url": "https://thanks.dev/u/gh/sebastianbergmann", + "type": "thanks_dev" + }, + { + "url": "https://tidelift.com/funding/github/packagist/sebastian/environment", "type": "tidelift" } ], - "time": "2025-03-13T15:25:07+00:00" + "time": "2025-05-21T11:55:47+00:00" }, { - "name": "symfony/config", - "version": "v6.4.22", + "name": "sebastian/exporter", + "version": "6.3.2", "source": { "type": "git", - "url": "https://github.com/symfony/config.git", - "reference": "af5917a3b1571f54689e56677a3f06440d2fe4c7" + "url": "https://github.com/sebastianbergmann/exporter.git", + "reference": "70a298763b40b213ec087c51c739efcaa90bcd74" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/config/zipball/af5917a3b1571f54689e56677a3f06440d2fe4c7", - "reference": "af5917a3b1571f54689e56677a3f06440d2fe4c7", + "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/70a298763b40b213ec087c51c739efcaa90bcd74", + "reference": "70a298763b40b213ec087c51c739efcaa90bcd74", "shasum": "" }, "require": { - "php": ">=8.1", - "symfony/deprecation-contracts": "^2.5|^3", - "symfony/filesystem": "^5.4|^6.0|^7.0", - "symfony/polyfill-ctype": "~1.8" - }, - "conflict": { - "symfony/finder": "<5.4", - "symfony/service-contracts": "<2.5" + "ext-mbstring": "*", + "php": ">=8.2", + "sebastian/recursion-context": "^6.0" }, "require-dev": { - "symfony/event-dispatcher": "^5.4|^6.0|^7.0", - "symfony/finder": "^5.4|^6.0|^7.0", - "symfony/messenger": "^5.4|^6.0|^7.0", - "symfony/service-contracts": "^2.5|^3", - "symfony/yaml": "^5.4|^6.0|^7.0" + "phpunit/phpunit": "^11.3" }, "type": "library", + "extra": { + "branch-alias": { + "dev-main": "6.3-dev" + } + }, "autoload": { - "psr-4": { - "Symfony\\Component\\Config\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" + "classmap": [ + "src/" ] }, "notification-url": "https://packagist.org/downloads/", "license": [ - "MIT" + "BSD-3-Clause" ], "authors": [ { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" }, { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" + "name": "Jeff Welch", + "email": "whatthejeff@gmail.com" + }, + { + "name": "Volker Dusch", + "email": "github@wallbash.com" + }, + { + "name": "Adam Harvey", + "email": "aharvey@php.net" + }, + { + "name": "Bernhard Schussek", + "email": "bschussek@gmail.com" } ], - "description": "Helps you find, load, combine, autofill and validate configuration values of any kind", - "homepage": "https://symfony.com", + "description": "Provides the functionality to export PHP variables for visualization", + "homepage": "https://www.github.com/sebastianbergmann/exporter", + "keywords": [ + "export", + "exporter" + ], "support": { - "source": "https://github.com/symfony/config/tree/v6.4.22" + "issues": "https://github.com/sebastianbergmann/exporter/issues", + "security": "https://github.com/sebastianbergmann/exporter/security/policy", + "source": "https://github.com/sebastianbergmann/exporter/tree/6.3.2" }, "funding": [ { - "url": "https://symfony.com/sponsor", - "type": "custom" + "url": "https://github.com/sebastianbergmann", + "type": "github" }, { - "url": "https://github.com/fabpot", - "type": "github" + "url": "https://liberapay.com/sebastianbergmann", + "type": "liberapay" }, { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "url": "https://thanks.dev/u/gh/sebastianbergmann", + "type": "thanks_dev" + }, + { + "url": "https://tidelift.com/funding/github/packagist/sebastian/exporter", "type": "tidelift" } ], - "time": "2025-05-14T06:00:01+00:00" + "time": "2025-09-24T06:12:51+00:00" }, { - "name": "symfony/console", - "version": "v6.4.23", + "name": "sebastian/global-state", + "version": "7.0.2", "source": { "type": "git", - "url": "https://github.com/symfony/console.git", - "reference": "9056771b8eca08d026cd3280deeec3cfd99c4d93" + "url": "https://github.com/sebastianbergmann/global-state.git", + "reference": "3be331570a721f9a4b5917f4209773de17f747d7" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/console/zipball/9056771b8eca08d026cd3280deeec3cfd99c4d93", - "reference": "9056771b8eca08d026cd3280deeec3cfd99c4d93", + "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/3be331570a721f9a4b5917f4209773de17f747d7", + "reference": "3be331570a721f9a4b5917f4209773de17f747d7", "shasum": "" }, "require": { - "php": ">=8.1", - "symfony/deprecation-contracts": "^2.5|^3", - "symfony/polyfill-mbstring": "~1.0", - "symfony/service-contracts": "^2.5|^3", - "symfony/string": "^5.4|^6.0|^7.0" - }, - "conflict": { - "symfony/dependency-injection": "<5.4", - "symfony/dotenv": "<5.4", - "symfony/event-dispatcher": "<5.4", - "symfony/lock": "<5.4", - "symfony/process": "<5.4" - }, - "provide": { - "psr/log-implementation": "1.0|2.0|3.0" + "php": ">=8.2", + "sebastian/object-reflector": "^4.0", + "sebastian/recursion-context": "^6.0" }, "require-dev": { - "psr/log": "^1|^2|^3", - "symfony/config": "^5.4|^6.0|^7.0", - "symfony/dependency-injection": "^5.4|^6.0|^7.0", - "symfony/event-dispatcher": "^5.4|^6.0|^7.0", - "symfony/http-foundation": "^6.4|^7.0", - "symfony/http-kernel": "^6.4|^7.0", - "symfony/lock": "^5.4|^6.0|^7.0", - "symfony/messenger": "^5.4|^6.0|^7.0", - "symfony/process": "^5.4|^6.0|^7.0", - "symfony/stopwatch": "^5.4|^6.0|^7.0", - "symfony/var-dumper": "^5.4|^6.0|^7.0" + "ext-dom": "*", + "phpunit/phpunit": "^11.0" }, "type": "library", + "extra": { + "branch-alias": { + "dev-main": "7.0-dev" + } + }, "autoload": { - "psr-4": { - "Symfony\\Component\\Console\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" + "classmap": [ + "src/" ] }, "notification-url": "https://packagist.org/downloads/", "license": [ - "MIT" + "BSD-3-Clause" ], "authors": [ { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" } ], - "description": "Eases the creation of beautiful and testable command line interfaces", - "homepage": "https://symfony.com", + "description": "Snapshotting of global state", + "homepage": "https://www.github.com/sebastianbergmann/global-state", "keywords": [ - "cli", - "command-line", - "console", - "terminal" + "global state" ], "support": { - "source": "https://github.com/symfony/console/tree/v6.4.23" + "issues": "https://github.com/sebastianbergmann/global-state/issues", + "security": "https://github.com/sebastianbergmann/global-state/security/policy", + "source": "https://github.com/sebastianbergmann/global-state/tree/7.0.2" }, "funding": [ { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", + "url": "https://github.com/sebastianbergmann", "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" } ], - "time": "2025-06-27T19:37:22+00:00" + "time": "2024-07-03T04:57:36+00:00" }, { - "name": "symfony/dependency-injection", - "version": "v6.4.23", + "name": "sebastian/lines-of-code", + "version": "3.0.1", "source": { "type": "git", - "url": "https://github.com/symfony/dependency-injection.git", - "reference": "0d9f24f3de0a83573fce5c9ed025d6306c6e166b" + "url": "https://github.com/sebastianbergmann/lines-of-code.git", + "reference": "d36ad0d782e5756913e42ad87cb2890f4ffe467a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/dependency-injection/zipball/0d9f24f3de0a83573fce5c9ed025d6306c6e166b", - "reference": "0d9f24f3de0a83573fce5c9ed025d6306c6e166b", + "url": "https://api.github.com/repos/sebastianbergmann/lines-of-code/zipball/d36ad0d782e5756913e42ad87cb2890f4ffe467a", + "reference": "d36ad0d782e5756913e42ad87cb2890f4ffe467a", "shasum": "" }, "require": { - "php": ">=8.1", - "psr/container": "^1.1|^2.0", - "symfony/deprecation-contracts": "^2.5|^3", - "symfony/service-contracts": "^2.5|^3.0", - "symfony/var-exporter": "^6.4.20|^7.2.5" - }, - "conflict": { - "ext-psr": "<1.1|>=2", - "symfony/config": "<6.1", - "symfony/finder": "<5.4", - "symfony/proxy-manager-bridge": "<6.3", - "symfony/yaml": "<5.4" - }, - "provide": { - "psr/container-implementation": "1.1|2.0", - "symfony/service-implementation": "1.1|2.0|3.0" + "nikic/php-parser": "^5.0", + "php": ">=8.2" }, "require-dev": { - "symfony/config": "^6.1|^7.0", - "symfony/expression-language": "^5.4|^6.0|^7.0", - "symfony/yaml": "^5.4|^6.0|^7.0" + "phpunit/phpunit": "^11.0" }, "type": "library", + "extra": { + "branch-alias": { + "dev-main": "3.0-dev" + } + }, "autoload": { - "psr-4": { - "Symfony\\Component\\DependencyInjection\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" + "classmap": [ + "src/" ] }, "notification-url": "https://packagist.org/downloads/", "license": [ - "MIT" + "BSD-3-Clause" ], "authors": [ { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" } ], - "description": "Allows you to standardize and centralize the way objects are constructed in your application", - "homepage": "https://symfony.com", + "description": "Library for counting the lines of code in PHP source code", + "homepage": "https://github.com/sebastianbergmann/lines-of-code", "support": { - "source": "https://github.com/symfony/dependency-injection/tree/v6.4.23" + "issues": "https://github.com/sebastianbergmann/lines-of-code/issues", + "security": "https://github.com/sebastianbergmann/lines-of-code/security/policy", + "source": "https://github.com/sebastianbergmann/lines-of-code/tree/3.0.1" }, "funding": [ { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", + "url": "https://github.com/sebastianbergmann", "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" } ], - "time": "2025-06-23T06:49:06+00:00" + "time": "2024-07-03T04:58:38+00:00" }, { - "name": "symfony/deprecation-contracts", - "version": "v3.6.0", + "name": "sebastian/object-enumerator", + "version": "6.0.1", "source": { "type": "git", - "url": "https://github.com/symfony/deprecation-contracts.git", - "reference": "63afe740e99a13ba87ec199bb07bbdee937a5b62" + "url": "https://github.com/sebastianbergmann/object-enumerator.git", + "reference": "f5b498e631a74204185071eb41f33f38d64608aa" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/63afe740e99a13ba87ec199bb07bbdee937a5b62", - "reference": "63afe740e99a13ba87ec199bb07bbdee937a5b62", + "url": "https://api.github.com/repos/sebastianbergmann/object-enumerator/zipball/f5b498e631a74204185071eb41f33f38d64608aa", + "reference": "f5b498e631a74204185071eb41f33f38d64608aa", "shasum": "" }, "require": { - "php": ">=8.1" + "php": ">=8.2", + "sebastian/object-reflector": "^4.0", + "sebastian/recursion-context": "^6.0" + }, + "require-dev": { + "phpunit/phpunit": "^11.0" }, "type": "library", "extra": { - "thanks": { - "url": "https://github.com/symfony/contracts", - "name": "symfony/contracts" - }, "branch-alias": { - "dev-main": "3.6-dev" + "dev-main": "6.0-dev" } }, "autoload": { - "files": [ - "function.php" + "classmap": [ + "src/" ] }, "notification-url": "https://packagist.org/downloads/", "license": [ - "MIT" + "BSD-3-Clause" ], "authors": [ { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" } ], - "description": "A generic function and convention to trigger deprecation notices", - "homepage": "https://symfony.com", + "description": "Traverses array structures and object graphs to enumerate all referenced objects", + "homepage": "https://github.com/sebastianbergmann/object-enumerator/", "support": { - "source": "https://github.com/symfony/deprecation-contracts/tree/v3.6.0" + "issues": "https://github.com/sebastianbergmann/object-enumerator/issues", + "security": "https://github.com/sebastianbergmann/object-enumerator/security/policy", + "source": "https://github.com/sebastianbergmann/object-enumerator/tree/6.0.1" }, "funding": [ { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", + "url": "https://github.com/sebastianbergmann", "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" } ], - "time": "2024-09-25T14:21:43+00:00" + "time": "2024-07-03T05:00:13+00:00" }, { - "name": "symfony/error-handler", - "version": "v7.3.1", + "name": "sebastian/object-reflector", + "version": "4.0.1", "source": { "type": "git", - "url": "https://github.com/symfony/error-handler.git", - "reference": "35b55b166f6752d6aaf21aa042fc5ed280fce235" + "url": "https://github.com/sebastianbergmann/object-reflector.git", + "reference": "6e1a43b411b2ad34146dee7524cb13a068bb35f9" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/error-handler/zipball/35b55b166f6752d6aaf21aa042fc5ed280fce235", - "reference": "35b55b166f6752d6aaf21aa042fc5ed280fce235", + "url": "https://api.github.com/repos/sebastianbergmann/object-reflector/zipball/6e1a43b411b2ad34146dee7524cb13a068bb35f9", + "reference": "6e1a43b411b2ad34146dee7524cb13a068bb35f9", "shasum": "" }, "require": { - "php": ">=8.2", - "psr/log": "^1|^2|^3", - "symfony/var-dumper": "^6.4|^7.0" - }, - "conflict": { - "symfony/deprecation-contracts": "<2.5", - "symfony/http-kernel": "<6.4" + "php": ">=8.2" }, "require-dev": { - "symfony/console": "^6.4|^7.0", - "symfony/deprecation-contracts": "^2.5|^3", - "symfony/http-kernel": "^6.4|^7.0", - "symfony/serializer": "^6.4|^7.0", - "symfony/webpack-encore-bundle": "^1.0|^2.0" + "phpunit/phpunit": "^11.0" }, - "bin": [ - "Resources/bin/patch-type-declarations" - ], "type": "library", + "extra": { + "branch-alias": { + "dev-main": "4.0-dev" + } + }, "autoload": { - "psr-4": { - "Symfony\\Component\\ErrorHandler\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" + "classmap": [ + "src/" ] }, "notification-url": "https://packagist.org/downloads/", "license": [ - "MIT" + "BSD-3-Clause" ], "authors": [ { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" } ], - "description": "Provides tools to manage errors and ease debugging PHP code", - "homepage": "https://symfony.com", + "description": "Allows reflection of object attributes, including inherited and non-public ones", + "homepage": "https://github.com/sebastianbergmann/object-reflector/", "support": { - "source": "https://github.com/symfony/error-handler/tree/v7.3.1" + "issues": "https://github.com/sebastianbergmann/object-reflector/issues", + "security": "https://github.com/sebastianbergmann/object-reflector/security/policy", + "source": "https://github.com/sebastianbergmann/object-reflector/tree/4.0.1" }, "funding": [ { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", + "url": "https://github.com/sebastianbergmann", "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" } ], - "time": "2025-06-13T07:48:40+00:00" + "time": "2024-07-03T05:01:32+00:00" }, { - "name": "symfony/event-dispatcher", - "version": "v7.3.0", + "name": "sebastian/recursion-context", + "version": "6.0.3", "source": { "type": "git", - "url": "https://github.com/symfony/event-dispatcher.git", - "reference": "497f73ac996a598c92409b44ac43b6690c4f666d" + "url": "https://github.com/sebastianbergmann/recursion-context.git", + "reference": "f6458abbf32a6c8174f8f26261475dc133b3d9dc" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/497f73ac996a598c92409b44ac43b6690c4f666d", - "reference": "497f73ac996a598c92409b44ac43b6690c4f666d", + "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/f6458abbf32a6c8174f8f26261475dc133b3d9dc", + "reference": "f6458abbf32a6c8174f8f26261475dc133b3d9dc", "shasum": "" }, "require": { - "php": ">=8.2", - "symfony/event-dispatcher-contracts": "^2.5|^3" - }, - "conflict": { - "symfony/dependency-injection": "<6.4", - "symfony/service-contracts": "<2.5" - }, - "provide": { - "psr/event-dispatcher-implementation": "1.0", - "symfony/event-dispatcher-implementation": "2.0|3.0" + "php": ">=8.2" }, "require-dev": { - "psr/log": "^1|^2|^3", - "symfony/config": "^6.4|^7.0", - "symfony/dependency-injection": "^6.4|^7.0", - "symfony/error-handler": "^6.4|^7.0", - "symfony/expression-language": "^6.4|^7.0", - "symfony/http-foundation": "^6.4|^7.0", - "symfony/service-contracts": "^2.5|^3", - "symfony/stopwatch": "^6.4|^7.0" + "phpunit/phpunit": "^11.3" }, "type": "library", - "autoload": { - "psr-4": { - "Symfony\\Component\\EventDispatcher\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" + "extra": { + "branch-alias": { + "dev-main": "6.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" ] }, "notification-url": "https://packagist.org/downloads/", "license": [ - "MIT" + "BSD-3-Clause" ], "authors": [ { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" }, { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" + "name": "Jeff Welch", + "email": "whatthejeff@gmail.com" + }, + { + "name": "Adam Harvey", + "email": "aharvey@php.net" } ], - "description": "Provides tools that allow your application components to communicate with each other by dispatching events and listening to them", - "homepage": "https://symfony.com", + "description": "Provides functionality to recursively process PHP variables", + "homepage": "https://github.com/sebastianbergmann/recursion-context", "support": { - "source": "https://github.com/symfony/event-dispatcher/tree/v7.3.0" + "issues": "https://github.com/sebastianbergmann/recursion-context/issues", + "security": "https://github.com/sebastianbergmann/recursion-context/security/policy", + "source": "https://github.com/sebastianbergmann/recursion-context/tree/6.0.3" }, "funding": [ { - "url": "https://symfony.com/sponsor", - "type": "custom" + "url": "https://github.com/sebastianbergmann", + "type": "github" }, { - "url": "https://github.com/fabpot", - "type": "github" + "url": "https://liberapay.com/sebastianbergmann", + "type": "liberapay" }, { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "url": "https://thanks.dev/u/gh/sebastianbergmann", + "type": "thanks_dev" + }, + { + "url": "https://tidelift.com/funding/github/packagist/sebastian/recursion-context", "type": "tidelift" } ], - "time": "2025-04-22T09:11:45+00:00" + "time": "2025-08-13T04:42:22+00:00" }, { - "name": "symfony/event-dispatcher-contracts", - "version": "v3.6.0", + "name": "sebastian/type", + "version": "5.1.3", "source": { "type": "git", - "url": "https://github.com/symfony/event-dispatcher-contracts.git", - "reference": "59eb412e93815df44f05f342958efa9f46b1e586" + "url": "https://github.com/sebastianbergmann/type.git", + "reference": "f77d2d4e78738c98d9a68d2596fe5e8fa380f449" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/event-dispatcher-contracts/zipball/59eb412e93815df44f05f342958efa9f46b1e586", - "reference": "59eb412e93815df44f05f342958efa9f46b1e586", + "url": "https://api.github.com/repos/sebastianbergmann/type/zipball/f77d2d4e78738c98d9a68d2596fe5e8fa380f449", + "reference": "f77d2d4e78738c98d9a68d2596fe5e8fa380f449", "shasum": "" }, "require": { - "php": ">=8.1", - "psr/event-dispatcher": "^1" + "php": ">=8.2" + }, + "require-dev": { + "phpunit/phpunit": "^11.3" }, "type": "library", "extra": { - "thanks": { - "url": "https://github.com/symfony/contracts", - "name": "symfony/contracts" - }, "branch-alias": { - "dev-main": "3.6-dev" + "dev-main": "5.1-dev" } }, "autoload": { - "psr-4": { - "Symfony\\Contracts\\EventDispatcher\\": "" - } + "classmap": [ + "src/" + ] }, "notification-url": "https://packagist.org/downloads/", "license": [ - "MIT" + "BSD-3-Clause" ], "authors": [ { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" } ], - "description": "Generic abstractions related to dispatching event", - "homepage": "https://symfony.com", - "keywords": [ - "abstractions", - "contracts", - "decoupling", - "interfaces", - "interoperability", - "standards" - ], + "description": "Collection of value objects that represent the types of the PHP type system", + "homepage": "https://github.com/sebastianbergmann/type", "support": { - "source": "https://github.com/symfony/event-dispatcher-contracts/tree/v3.6.0" + "issues": "https://github.com/sebastianbergmann/type/issues", + "security": "https://github.com/sebastianbergmann/type/security/policy", + "source": "https://github.com/sebastianbergmann/type/tree/5.1.3" }, "funding": [ { - "url": "https://symfony.com/sponsor", - "type": "custom" + "url": "https://github.com/sebastianbergmann", + "type": "github" }, { - "url": "https://github.com/fabpot", - "type": "github" + "url": "https://liberapay.com/sebastianbergmann", + "type": "liberapay" }, { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "url": "https://thanks.dev/u/gh/sebastianbergmann", + "type": "thanks_dev" + }, + { + "url": "https://tidelift.com/funding/github/packagist/sebastian/type", "type": "tidelift" } ], - "time": "2024-09-25T14:21:43+00:00" + "time": "2025-08-09T06:55:48+00:00" }, { - "name": "symfony/filesystem", - "version": "v6.4.13", + "name": "sebastian/version", + "version": "5.0.2", "source": { "type": "git", - "url": "https://github.com/symfony/filesystem.git", - "reference": "4856c9cf585d5a0313d8d35afd681a526f038dd3" + "url": "https://github.com/sebastianbergmann/version.git", + "reference": "c687e3387b99f5b03b6caa64c74b63e2936ff874" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/filesystem/zipball/4856c9cf585d5a0313d8d35afd681a526f038dd3", - "reference": "4856c9cf585d5a0313d8d35afd681a526f038dd3", + "url": "https://api.github.com/repos/sebastianbergmann/version/zipball/c687e3387b99f5b03b6caa64c74b63e2936ff874", + "reference": "c687e3387b99f5b03b6caa64c74b63e2936ff874", "shasum": "" }, "require": { - "php": ">=8.1", - "symfony/polyfill-ctype": "~1.8", - "symfony/polyfill-mbstring": "~1.8" - }, - "require-dev": { - "symfony/process": "^5.4|^6.4|^7.0" + "php": ">=8.2" }, "type": "library", + "extra": { + "branch-alias": { + "dev-main": "5.0-dev" + } + }, "autoload": { - "psr-4": { - "Symfony\\Component\\Filesystem\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" + "classmap": [ + "src/" ] }, "notification-url": "https://packagist.org/downloads/", "license": [ - "MIT" + "BSD-3-Clause" ], "authors": [ { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" } ], - "description": "Provides basic utilities for the filesystem", - "homepage": "https://symfony.com", + "description": "Library that helps with managing the version number of Git-hosted PHP projects", + "homepage": "https://github.com/sebastianbergmann/version", "support": { - "source": "https://github.com/symfony/filesystem/tree/v6.4.13" + "issues": "https://github.com/sebastianbergmann/version/issues", + "security": "https://github.com/sebastianbergmann/version/security/policy", + "source": "https://github.com/sebastianbergmann/version/tree/5.0.2" }, "funding": [ { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", + "url": "https://github.com/sebastianbergmann", "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" } ], - "time": "2024-10-25T15:07:50+00:00" + "time": "2024-10-09T05:16:32+00:00" }, { - "name": "symfony/finder", - "version": "v6.4.17", + "name": "seld/jsonlint", + "version": "1.11.0", "source": { "type": "git", - "url": "https://github.com/symfony/finder.git", - "reference": "1d0e8266248c5d9ab6a87e3789e6dc482af3c9c7" + "url": "https://github.com/Seldaek/jsonlint.git", + "reference": "1748aaf847fc731cfad7725aec413ee46f0cc3a2" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/finder/zipball/1d0e8266248c5d9ab6a87e3789e6dc482af3c9c7", - "reference": "1d0e8266248c5d9ab6a87e3789e6dc482af3c9c7", + "url": "https://api.github.com/repos/Seldaek/jsonlint/zipball/1748aaf847fc731cfad7725aec413ee46f0cc3a2", + "reference": "1748aaf847fc731cfad7725aec413ee46f0cc3a2", "shasum": "" }, "require": { - "php": ">=8.1" + "php": "^5.3 || ^7.0 || ^8.0" }, "require-dev": { - "symfony/filesystem": "^6.0|^7.0" + "phpstan/phpstan": "^1.11", + "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.0 || ^8.5.13" }, + "bin": [ + "bin/jsonlint" + ], "type": "library", "autoload": { "psr-4": { - "Symfony\\Component\\Finder\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] + "Seld\\JsonLint\\": "src/Seld/JsonLint/" + } }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -5092,1131 +5296,758 @@ ], "authors": [ { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" + "name": "Jordi Boggiano", + "email": "j.boggiano@seld.be", + "homepage": "https://seld.be" } ], - "description": "Finds files and directories via an intuitive fluent interface", - "homepage": "https://symfony.com", + "description": "JSON Linter", + "keywords": [ + "json", + "linter", + "parser", + "validator" + ], "support": { - "source": "https://github.com/symfony/finder/tree/v6.4.17" + "issues": "https://github.com/Seldaek/jsonlint/issues", + "source": "https://github.com/Seldaek/jsonlint/tree/1.11.0" }, "funding": [ { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", + "url": "https://github.com/Seldaek", "type": "github" }, { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "url": "https://tidelift.com/funding/github/packagist/seld/jsonlint", "type": "tidelift" } ], - "time": "2024-12-29T13:51:37+00:00" + "time": "2024-07-11T14:55:45+00:00" }, { - "name": "symfony/framework-bundle", - "version": "v6.4.23", + "name": "simplesamlphp/assert", + "version": "v1.8.1", "source": { "type": "git", - "url": "https://github.com/symfony/framework-bundle.git", - "reference": "ff892d3ab4b8aa35921bc2120a4b31d57948fe22" + "url": "https://github.com/simplesamlphp/assert.git", + "reference": "f35e26e1201ec41be19404e23f87e53cf747ed3a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/framework-bundle/zipball/ff892d3ab4b8aa35921bc2120a4b31d57948fe22", - "reference": "ff892d3ab4b8aa35921bc2120a4b31d57948fe22", + "url": "https://api.github.com/repos/simplesamlphp/assert/zipball/f35e26e1201ec41be19404e23f87e53cf747ed3a", + "reference": "f35e26e1201ec41be19404e23f87e53cf747ed3a", "shasum": "" }, "require": { - "composer-runtime-api": ">=2.1", - "ext-xml": "*", - "php": ">=8.1", - "symfony/cache": "^5.4|^6.0|^7.0", - "symfony/config": "^6.1|^7.0", - "symfony/dependency-injection": "^6.4.12|^7.0", - "symfony/deprecation-contracts": "^2.5|^3", - "symfony/error-handler": "^6.1|^7.0", - "symfony/event-dispatcher": "^5.4|^6.0|^7.0", - "symfony/filesystem": "^5.4|^6.0|^7.0", - "symfony/finder": "^5.4|^6.0|^7.0", - "symfony/http-foundation": "^6.4|^7.0", - "symfony/http-kernel": "^6.4", - "symfony/polyfill-mbstring": "~1.0", - "symfony/routing": "^6.4|^7.0" - }, - "conflict": { - "doctrine/annotations": "<1.13.1", - "doctrine/persistence": "<1.3", - "phpdocumentor/reflection-docblock": "<3.2.2", - "phpdocumentor/type-resolver": "<1.4.0", - "symfony/asset": "<5.4", - "symfony/asset-mapper": "<6.4", - "symfony/clock": "<6.3", - "symfony/console": "<5.4|>=7.0", - "symfony/dom-crawler": "<6.4", - "symfony/dotenv": "<5.4", - "symfony/form": "<5.4", - "symfony/http-client": "<6.3", - "symfony/lock": "<5.4", - "symfony/mailer": "<5.4", - "symfony/messenger": "<6.3", - "symfony/mime": "<6.4", - "symfony/property-access": "<5.4", - "symfony/property-info": "<5.4", - "symfony/runtime": "<5.4.45|>=6.0,<6.4.13|>=7.0,<7.1.6", - "symfony/scheduler": "<6.4.4|>=7.0.0,<7.0.4", - "symfony/security-core": "<5.4", - "symfony/security-csrf": "<5.4", - "symfony/serializer": "<6.4", - "symfony/stopwatch": "<5.4", - "symfony/translation": "<6.4", - "symfony/twig-bridge": "<5.4", - "symfony/twig-bundle": "<5.4", - "symfony/validator": "<6.4", - "symfony/web-profiler-bundle": "<6.4", - "symfony/workflow": "<6.4" + "ext-date": "*", + "ext-filter": "*", + "ext-pcre": "*", + "ext-spl": "*", + "guzzlehttp/psr7": "~2.7.0", + "php": "^8.1", + "webmozart/assert": "~1.11.0" }, "require-dev": { - "doctrine/annotations": "^1.13.1|^2", - "doctrine/persistence": "^1.3|^2|^3", - "dragonmantank/cron-expression": "^3.1", - "phpdocumentor/reflection-docblock": "^3.0|^4.0|^5.0", - "seld/jsonlint": "^1.10", - "symfony/asset": "^5.4|^6.0|^7.0", - "symfony/asset-mapper": "^6.4|^7.0", - "symfony/browser-kit": "^5.4|^6.0|^7.0", - "symfony/clock": "^6.2|^7.0", - "symfony/console": "^5.4.9|^6.0.9|^7.0", - "symfony/css-selector": "^5.4|^6.0|^7.0", - "symfony/dom-crawler": "^6.4|^7.0", - "symfony/dotenv": "^5.4|^6.0|^7.0", - "symfony/expression-language": "^5.4|^6.0|^7.0", - "symfony/form": "^5.4|^6.0|^7.0", - "symfony/html-sanitizer": "^6.1|^7.0", - "symfony/http-client": "^6.3|^7.0", - "symfony/lock": "^5.4|^6.0|^7.0", - "symfony/mailer": "^5.4|^6.0|^7.0", - "symfony/messenger": "^6.3|^7.0", - "symfony/mime": "^6.4|^7.0", - "symfony/notifier": "^5.4|^6.0|^7.0", - "symfony/polyfill-intl-icu": "~1.0", - "symfony/process": "^5.4|^6.0|^7.0", - "symfony/property-info": "^5.4|^6.0|^7.0", - "symfony/rate-limiter": "^5.4|^6.0|^7.0", - "symfony/scheduler": "^6.4.4|^7.0.4", - "symfony/security-bundle": "^5.4|^6.0|^7.0", - "symfony/semaphore": "^5.4|^6.0|^7.0", - "symfony/serializer": "^6.4|^7.0", - "symfony/stopwatch": "^5.4|^6.0|^7.0", - "symfony/string": "^5.4|^6.0|^7.0", - "symfony/translation": "^6.4|^7.0", - "symfony/twig-bundle": "^5.4|^6.0|^7.0", - "symfony/uid": "^5.4|^6.0|^7.0", - "symfony/validator": "^6.4|^7.0", - "symfony/web-link": "^5.4|^6.0|^7.0", - "symfony/workflow": "^6.4|^7.0", - "symfony/yaml": "^5.4|^6.0|^7.0", - "twig/twig": "^2.10|^3.0.4" - }, - "type": "symfony-bundle", - "autoload": { - "psr-4": { - "Symfony\\Bundle\\FrameworkBundle\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] + "ext-intl": "*", + "simplesamlphp/simplesamlphp-test-framework": "~1.8.0" }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "v1.1.x-dev" } - ], - "description": "Provides a tight integration between Symfony components and the Symfony full-stack framework", - "homepage": "https://symfony.com", - "support": { - "source": "https://github.com/symfony/framework-bundle/tree/v6.4.23" }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2025-06-26T21:24:02+00:00" - }, - { - "name": "symfony/http-foundation", - "version": "v6.4.29", - "source": { - "type": "git", - "url": "https://github.com/symfony/http-foundation.git", - "reference": "b03d11e015552a315714c127d8d1e0f9e970ec88" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/http-foundation/zipball/b03d11e015552a315714c127d8d1e0f9e970ec88", - "reference": "b03d11e015552a315714c127d8d1e0f9e970ec88", - "shasum": "" - }, - "require": { - "php": ">=8.1", - "symfony/deprecation-contracts": "^2.5|^3", - "symfony/polyfill-mbstring": "~1.1", - "symfony/polyfill-php83": "^1.27" - }, - "conflict": { - "symfony/cache": "<6.4.12|>=7.0,<7.1.5" - }, - "require-dev": { - "doctrine/dbal": "^2.13.1|^3|^4", - "predis/predis": "^1.1|^2.0", - "symfony/cache": "^6.4.12|^7.1.5", - "symfony/dependency-injection": "^5.4|^6.0|^7.0", - "symfony/expression-language": "^5.4|^6.0|^7.0", - "symfony/http-kernel": "^5.4.12|^6.0.12|^6.1.4|^7.0", - "symfony/mime": "^5.4|^6.0|^7.0", - "symfony/rate-limiter": "^5.4|^6.0|^7.0" - }, - "type": "library", "autoload": { "psr-4": { - "Symfony\\Component\\HttpFoundation\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] + "SimpleSAML\\Assert\\": "src/" + } }, "notification-url": "https://packagist.org/downloads/", "license": [ - "MIT" + "LGPL-2.1-or-later" ], "authors": [ { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" + "name": "Tim van Dijen", + "email": "tvdijen@gmail.com" }, { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" + "name": "Jaime Perez Crespo", + "email": "jaimepc@gmail.com" } ], - "description": "Defines an object-oriented layer for the HTTP specification", - "homepage": "https://symfony.com", + "description": "A wrapper around webmozart/assert to make it useful beyond checking method arguments", "support": { - "source": "https://github.com/symfony/http-foundation/tree/v6.4.29" + "issues": "https://github.com/simplesamlphp/assert/issues", + "source": "https://github.com/simplesamlphp/assert/tree/v1.8.1" }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://github.com/nicolas-grekas", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2025-11-08T16:40:12+00:00" + "time": "2025-01-09T12:10:04+00:00" }, { - "name": "symfony/http-kernel", - "version": "v6.4.23", + "name": "simplesamlphp/composer-module-installer", + "version": "v1.4.0", "source": { "type": "git", - "url": "https://github.com/symfony/http-kernel.git", - "reference": "2bb2cba685aabd859f22cf6946554e8e7f3c329a" + "url": "https://github.com/simplesamlphp/composer-module-installer.git", + "reference": "edb2155d200e2a208816d06f42cfa78bfd9e7cf4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-kernel/zipball/2bb2cba685aabd859f22cf6946554e8e7f3c329a", - "reference": "2bb2cba685aabd859f22cf6946554e8e7f3c329a", + "url": "https://api.github.com/repos/simplesamlphp/composer-module-installer/zipball/edb2155d200e2a208816d06f42cfa78bfd9e7cf4", + "reference": "edb2155d200e2a208816d06f42cfa78bfd9e7cf4", "shasum": "" }, "require": { - "php": ">=8.1", - "psr/log": "^1|^2|^3", - "symfony/deprecation-contracts": "^2.5|^3", - "symfony/error-handler": "^6.4|^7.0", - "symfony/event-dispatcher": "^5.4|^6.0|^7.0", - "symfony/http-foundation": "^6.4|^7.0", - "symfony/polyfill-ctype": "^1.8" - }, - "conflict": { - "symfony/browser-kit": "<5.4", - "symfony/cache": "<5.4", - "symfony/config": "<6.1", - "symfony/console": "<5.4", - "symfony/dependency-injection": "<6.4", - "symfony/doctrine-bridge": "<5.4", - "symfony/form": "<5.4", - "symfony/http-client": "<5.4", - "symfony/http-client-contracts": "<2.5", - "symfony/mailer": "<5.4", - "symfony/messenger": "<5.4", - "symfony/translation": "<5.4", - "symfony/translation-contracts": "<2.5", - "symfony/twig-bridge": "<5.4", - "symfony/validator": "<6.4", - "symfony/var-dumper": "<6.3", - "twig/twig": "<2.13" - }, - "provide": { - "psr/log-implementation": "1.0|2.0|3.0" + "composer-plugin-api": "^2.6", + "php": "^8.1", + "simplesamlphp/assert": "^1.6" }, "require-dev": { - "psr/cache": "^1.0|^2.0|^3.0", - "symfony/browser-kit": "^5.4|^6.0|^7.0", - "symfony/clock": "^6.2|^7.0", - "symfony/config": "^6.1|^7.0", - "symfony/console": "^5.4|^6.0|^7.0", - "symfony/css-selector": "^5.4|^6.0|^7.0", - "symfony/dependency-injection": "^6.4|^7.0", - "symfony/dom-crawler": "^5.4|^6.0|^7.0", - "symfony/expression-language": "^5.4|^6.0|^7.0", - "symfony/finder": "^5.4|^6.0|^7.0", - "symfony/http-client-contracts": "^2.5|^3", - "symfony/process": "^5.4|^6.0|^7.0", - "symfony/property-access": "^5.4.5|^6.0.5|^7.0", - "symfony/routing": "^5.4|^6.0|^7.0", - "symfony/serializer": "^6.4.4|^7.0.4", - "symfony/stopwatch": "^5.4|^6.0|^7.0", - "symfony/translation": "^5.4|^6.0|^7.0", - "symfony/translation-contracts": "^2.5|^3", - "symfony/uid": "^5.4|^6.0|^7.0", - "symfony/validator": "^6.4|^7.0", - "symfony/var-dumper": "^5.4|^6.4|^7.0", - "symfony/var-exporter": "^6.2|^7.0", - "twig/twig": "^2.13|^3.0.4" - }, - "type": "library", - "autoload": { - "psr-4": { - "Symfony\\Component\\HttpKernel\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Provides a structured process for converting a Request into a Response", - "homepage": "https://symfony.com", - "support": { - "source": "https://github.com/symfony/http-kernel/tree/v6.4.23" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" + "composer/composer": "^2.8.3", + "simplesamlphp/simplesamlphp-test-framework": "^1.8.0" + }, + "type": "composer-plugin", + "extra": { + "class": "SimpleSAML\\Composer\\ModuleInstallerPlugin" + }, + "autoload": { + "psr-4": { + "SimpleSAML\\Composer\\": "src/" } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "LGPL-2.1-only" ], - "time": "2025-06-28T08:14:51+00:00" + "description": "A Composer plugin that allows installing SimpleSAMLphp modules through Composer.", + "support": { + "issues": "https://github.com/simplesamlphp/composer-module-installer/issues", + "source": "https://github.com/simplesamlphp/composer-module-installer/tree/v1.4.0" + }, + "time": "2024-12-08T16:57:03+00:00" }, { - "name": "symfony/intl", - "version": "v6.4.23", + "name": "simplesamlphp/composer-xmlprovider-installer", + "version": "v1.0.2", "source": { "type": "git", - "url": "https://github.com/symfony/intl.git", - "reference": "a3b12ce29a770d1f26c380dabf56a71bc2a88c84" + "url": "https://github.com/simplesamlphp/composer-xmlprovider-installer.git", + "reference": "3d882187b5b0b404c381a2e4d17498ca4b2785b3" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/intl/zipball/a3b12ce29a770d1f26c380dabf56a71bc2a88c84", - "reference": "a3b12ce29a770d1f26c380dabf56a71bc2a88c84", + "url": "https://api.github.com/repos/simplesamlphp/composer-xmlprovider-installer/zipball/3d882187b5b0b404c381a2e4d17498ca4b2785b3", + "reference": "3d882187b5b0b404c381a2e4d17498ca4b2785b3", "shasum": "" }, "require": { - "php": ">=8.1" + "composer-plugin-api": "^2.0", + "php": "^8.1" }, "require-dev": { - "symfony/filesystem": "^5.4|^6.0|^7.0", - "symfony/finder": "^5.4|^6.0|^7.0", - "symfony/var-exporter": "^5.4|^6.0|^7.0" + "composer/composer": "^2.4", + "simplesamlphp/simplesamlphp-test-framework": "^1.5.4" + }, + "type": "composer-plugin", + "extra": { + "class": "SimpleSAML\\Composer\\XMLProvider\\XMLProviderInstallerPlugin" }, - "type": "library", "autoload": { "psr-4": { - "Symfony\\Component\\Intl\\": "" - }, - "exclude-from-classmap": [ - "/Tests/", - "/Resources/data/" - ] + "SimpleSAML\\Composer\\XMLProvider\\": "src/" + } }, "notification-url": "https://packagist.org/downloads/", "license": [ - "MIT" - ], - "authors": [ - { - "name": "Bernhard Schussek", - "email": "bschussek@gmail.com" - }, - { - "name": "Eriksen Costa", - "email": "eriksen.costa@infranology.com.br" - }, - { - "name": "Igor Wiedler", - "email": "igor@wiedler.ch" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Provides access to the localization data of the ICU library", - "homepage": "https://symfony.com", - "keywords": [ - "i18n", - "icu", - "internationalization", - "intl", - "l10n", - "localization" + "LGPL-2.1-only" ], + "description": "A composer plugin that will auto-generate a classmap with all classes that implement SerializableElementInterface.", "support": { - "source": "https://github.com/symfony/intl/tree/v6.4.23" + "issues": "https://github.com/simplesamlphp/composer-xmlprovider-installer/issues", + "source": "https://github.com/simplesamlphp/composer-xmlprovider-installer/tree/v1.0.2" }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2025-06-06T07:42:46+00:00" + "time": "2025-06-28T18:54:25+00:00" }, { - "name": "symfony/password-hasher", - "version": "v6.4.13", + "name": "simplesamlphp/saml2", + "version": "v5.0.4", "source": { "type": "git", - "url": "https://github.com/symfony/password-hasher.git", - "reference": "e97a1b31f60b8bdfc1fdedab4398538da9441d47" + "url": "https://github.com/simplesamlphp/saml2.git", + "reference": "13d7708158ac29299977dab779647c07c4974786" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/password-hasher/zipball/e97a1b31f60b8bdfc1fdedab4398538da9441d47", - "reference": "e97a1b31f60b8bdfc1fdedab4398538da9441d47", + "url": "https://api.github.com/repos/simplesamlphp/saml2/zipball/13d7708158ac29299977dab779647c07c4974786", + "reference": "13d7708158ac29299977dab779647c07c4974786", "shasum": "" }, "require": { - "php": ">=8.1" - }, - "conflict": { - "symfony/security-core": "<5.4" + "ext-date": "*", + "ext-dom": "*", + "ext-filter": "*", + "ext-libxml": "*", + "ext-openssl": "*", + "ext-pcre": "*", + "ext-zlib": "*", + "nyholm/psr7": "~1.8.2", + "php": "^8.1", + "psr/clock": "~1.0.0", + "psr/http-message": "~2.0", + "psr/log": "~2.3.1 || ~3.0.0", + "simplesamlphp/assert": "~1.8.1", + "simplesamlphp/xml-common": "~1.25.0", + "simplesamlphp/xml-security": "~1.13.4", + "simplesamlphp/xml-soap": "~1.7.0" }, "require-dev": { - "symfony/console": "^5.4|^6.0|^7.0", - "symfony/security-core": "^5.4|^6.0|^7.0" + "beste/clock": "~3.0.0", + "ext-intl": "*", + "mockery/mockery": "~1.6.12", + "simplesamlphp/composer-xmlprovider-installer": "~1.0.2", + "simplesamlphp/simplesamlphp-test-framework": "~1.9.2" + }, + "suggest": { + "ext-soap": "*" }, "type": "library", + "extra": { + "branch-alias": { + "dev-master": "v5.0.x-dev" + } + }, "autoload": { "psr-4": { - "Symfony\\Component\\PasswordHasher\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] + "SimpleSAML\\SAML2\\": "src/" + } }, "notification-url": "https://packagist.org/downloads/", "license": [ - "MIT" + "LGPL-2.1-or-later" ], "authors": [ { - "name": "Robin Chalas", - "email": "robin.chalas@gmail.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" + "name": "Andreas Åkre Solberg", + "email": "andreas.solberg@uninett.no" } ], - "description": "Provides password hashing utilities", - "homepage": "https://symfony.com", - "keywords": [ - "hashing", - "password" - ], + "description": "SAML2 PHP library from SimpleSAMLphp", "support": { - "source": "https://github.com/symfony/password-hasher/tree/v6.4.13" + "issues": "https://github.com/simplesamlphp/saml2/issues", + "source": "https://github.com/simplesamlphp/saml2/tree/v5.0.4" }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2024-09-25T14:18:03+00:00" + "time": "2025-09-10T08:09:36+00:00" }, { - "name": "symfony/polyfill-ctype", - "version": "v1.32.0", + "name": "simplesamlphp/saml2-legacy", + "version": "v4.19.0", "source": { "type": "git", - "url": "https://github.com/symfony/polyfill-ctype.git", - "reference": "a3cc8b044a6ea513310cbd48ef7333b384945638" + "url": "https://github.com/simplesamlphp/saml2-legacy.git", + "reference": "96eb144356702d7d913078fb2e4364e42458fc31" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/a3cc8b044a6ea513310cbd48ef7333b384945638", - "reference": "a3cc8b044a6ea513310cbd48ef7333b384945638", + "url": "https://api.github.com/repos/simplesamlphp/saml2-legacy/zipball/96eb144356702d7d913078fb2e4364e42458fc31", + "reference": "96eb144356702d7d913078fb2e4364e42458fc31", "shasum": "" }, "require": { - "php": ">=7.2" + "ext-dom": "*", + "ext-openssl": "*", + "ext-zlib": "*", + "php": ">=7.1 || ^8.0", + "psr/log": "~1.1 || ^2.0 || ^3.0", + "robrichards/xmlseclibs": "^3.1.1", + "webmozart/assert": "^1.9" }, - "provide": { - "ext-ctype": "*" + "conflict": { + "robrichards/xmlseclibs": "3.1.2" }, - "suggest": { - "ext-ctype": "For best performance" + "require-dev": { + "mockery/mockery": "^1.3", + "phpunit/phpunit": "^7.5 || ^8.5 || ^9.5", + "sebastian/phpcpd": "~4.1 || ^5.0 || ^6.0", + "simplesamlphp/simplesamlphp-test-framework": "~0.1.0", + "squizlabs/php_codesniffer": "~3.5" }, "type": "library", "extra": { - "thanks": { - "url": "https://github.com/symfony/polyfill", - "name": "symfony/polyfill" + "branch-alias": { + "dev-master": "v4.2.x-dev" } }, "autoload": { - "files": [ - "bootstrap.php" - ], "psr-4": { - "Symfony\\Polyfill\\Ctype\\": "" + "SAML2\\": "src/SAML2" } }, "notification-url": "https://packagist.org/downloads/", "license": [ - "MIT" + "LGPL-2.1-or-later" ], "authors": [ { - "name": "Gert de Pagter", - "email": "BackEndTea@gmail.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" + "name": "Andreas Åkre Solberg", + "email": "andreas.solberg@uninett.no" } ], - "description": "Symfony polyfill for ctype functions", - "homepage": "https://symfony.com", - "keywords": [ - "compatibility", - "ctype", - "polyfill", - "portable" - ], + "description": "SAML2 PHP library from SimpleSAMLphp", "support": { - "source": "https://github.com/symfony/polyfill-ctype/tree/v1.32.0" + "source": "https://github.com/simplesamlphp/saml2-legacy/tree/v4.19.0" }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2024-09-09T11:45:10+00:00" + "time": "2025-09-05T23:39:13+00:00" }, { - "name": "symfony/polyfill-intl-grapheme", - "version": "v1.32.0", + "name": "simplesamlphp/simplesamlphp", + "version": "v2.4.3", "source": { "type": "git", - "url": "https://github.com/symfony/polyfill-intl-grapheme.git", - "reference": "b9123926e3b7bc2f98c02ad54f6a4b02b91a8abe" + "url": "https://github.com/simplesamlphp/simplesamlphp.git", + "reference": "2f644bd05f8d53293f828695b0304f2711844f19" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/b9123926e3b7bc2f98c02ad54f6a4b02b91a8abe", - "reference": "b9123926e3b7bc2f98c02ad54f6a4b02b91a8abe", + "url": "https://api.github.com/repos/simplesamlphp/simplesamlphp/zipball/2f644bd05f8d53293f828695b0304f2711844f19", + "reference": "2f644bd05f8d53293f828695b0304f2711844f19", "shasum": "" }, - "require": { - "php": ">=7.2" + "require": { + "ext-date": "*", + "ext-dom": "*", + "ext-hash": "*", + "ext-json": "*", + "ext-mbstring": "*", + "ext-openssl": "*", + "ext-pcre": "*", + "ext-session": "*", + "ext-simplexml": "*", + "ext-spl": "*", + "ext-zlib": "*", + "gettext/gettext": "^5.7", + "gettext/translator": "^1.1", + "php": "^8.1", + "phpmailer/phpmailer": "^6.8", + "psr/log": "^3.0", + "simplesamlphp/assert": "^1.1", + "simplesamlphp/composer-module-installer": "^1.3", + "simplesamlphp/saml2": "^5.0.0", + "simplesamlphp/saml2-legacy": "^4.18.1", + "simplesamlphp/simplesamlphp-assets-base": "~2.4.0", + "simplesamlphp/xml-common": "^1.24.2", + "simplesamlphp/xml-security": "^1.7", + "symfony/cache": "^6.4", + "symfony/config": "^6.4", + "symfony/console": "^6.4", + "symfony/dependency-injection": "^6.4", + "symfony/expression-language": "~6.4.0", + "symfony/filesystem": "^6.4", + "symfony/finder": "^6.4", + "symfony/framework-bundle": "^6.4", + "symfony/http-foundation": "^6.4", + "symfony/http-kernel": "^6.4", + "symfony/intl": "^6.4", + "symfony/password-hasher": "^6.4", + "symfony/polyfill-intl-icu": "^1.28", + "symfony/routing": "^6.4", + "symfony/translation-contracts": "^3.0", + "symfony/twig-bridge": "^6.4", + "symfony/var-exporter": "^6.4", + "symfony/yaml": "^6.4", + "twig/intl-extra": "^3.7", + "twig/twig": "^3.14.0" + }, + "require-dev": { + "ext-curl": "*", + "ext-pdo_sqlite": "*", + "gettext/php-scanner": "1.3.1", + "mikey179/vfsstream": "~1.6", + "predis/predis": "^2.2", + "simplesamlphp/simplesamlphp-test-framework": "^1.9.2", + "symfony/translation": "^6.4" }, "suggest": { - "ext-intl": "For best performance" + "ext-curl": "Needed in order to check for updates automatically", + "ext-intl": "Needed if translations for non-English languages are required.", + "ext-ldap": "Needed if an LDAP backend is used", + "ext-memcache": "Needed if a Memcache server is used to store session information", + "ext-mysql": "Needed if a MySQL backend is used, either for authentication or to store session information", + "ext-pdo": "Needed if a database backend is used, either for authentication or to store session information", + "ext-pgsql": "Needed if a PostgreSQL backend is used, either for authentication or to store session information", + "predis/predis": "Needed if a Redis server is used to store session information" }, - "type": "library", + "type": "project", "extra": { - "thanks": { - "url": "https://github.com/symfony/polyfill", - "name": "symfony/polyfill" + "branch-alias": { + "dev-master": "2.4.0.x-dev" } }, "autoload": { "files": [ - "bootstrap.php" + "src/_autoload_modules.php" ], "psr-4": { - "Symfony\\Polyfill\\Intl\\Grapheme\\": "" + "SimpleSAML\\": "src/SimpleSAML", + "SimpleSAML\\Module\\core\\": "modules/core/src", + "SimpleSAML\\Module\\cron\\": "modules/cron/src", + "SimpleSAML\\Module\\saml\\": "modules/saml/src", + "SimpleSAML\\Module\\admin\\": "modules/admin/src", + "SimpleSAML\\Module\\multiauth\\": "modules/multiauth/src", + "SimpleSAML\\Module\\exampleauth\\": "modules/exampleauth/src" } }, "notification-url": "https://packagist.org/downloads/", "license": [ - "MIT" + "LGPL-2.1-or-later" ], "authors": [ { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" + "name": "Andreas Åkre Solberg", + "email": "andreas.solberg@uninett.no" }, { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" + "name": "Olav Morken", + "email": "olav.morken@uninett.no" + }, + { + "name": "Jaime Perez", + "email": "jaime.perez@uninett.no" } ], - "description": "Symfony polyfill for intl's grapheme_* functions", - "homepage": "https://symfony.com", + "description": "A PHP implementation of a SAML 2.0 service provider and identity provider.", + "homepage": "https://simplesamlphp.org", "keywords": [ - "compatibility", - "grapheme", - "intl", - "polyfill", - "portable", - "shim" + "SAML2", + "idp", + "oauth", + "shibboleth", + "sp", + "ws-federation" ], "support": { - "source": "https://github.com/symfony/polyfill-intl-grapheme/tree/v1.32.0" + "issues": "https://github.com/simplesamlphp/simplesamlphp/issues", + "source": "https://github.com/simplesamlphp/simplesamlphp" }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2024-09-09T11:45:10+00:00" + "time": "2025-10-06T10:20:56+00:00" }, { - "name": "symfony/polyfill-intl-icu", - "version": "v1.32.0", + "name": "simplesamlphp/simplesamlphp-assets-base", + "version": "v2.4.3", "source": { "type": "git", - "url": "https://github.com/symfony/polyfill-intl-icu.git", - "reference": "763d2a91fea5681509ca01acbc1c5e450d127811" + "url": "https://github.com/simplesamlphp/simplesamlphp-assets-base.git", + "reference": "cba14306ee73a4f7f0321d12f20844400d5a9d16" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-intl-icu/zipball/763d2a91fea5681509ca01acbc1c5e450d127811", - "reference": "763d2a91fea5681509ca01acbc1c5e450d127811", + "url": "https://api.github.com/repos/simplesamlphp/simplesamlphp-assets-base/zipball/cba14306ee73a4f7f0321d12f20844400d5a9d16", + "reference": "cba14306ee73a4f7f0321d12f20844400d5a9d16", "shasum": "" }, "require": { - "php": ">=7.2" - }, - "suggest": { - "ext-intl": "For best performance and support of other locales than \"en\"" - }, - "type": "library", - "extra": { - "thanks": { - "url": "https://github.com/symfony/polyfill", - "name": "symfony/polyfill" - } - }, - "autoload": { - "files": [ - "bootstrap.php" - ], - "psr-4": { - "Symfony\\Polyfill\\Intl\\Icu\\": "" - }, - "classmap": [ - "Resources/stubs" - ], - "exclude-from-classmap": [ - "/Tests/" - ] + "php": "^8.1", + "simplesamlphp/composer-module-installer": "^1.3.4" }, + "type": "simplesamlphp-module", "notification-url": "https://packagist.org/downloads/", "license": [ - "MIT" + "LGPL-2.1-or-later" ], "authors": [ { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" + "name": "Tim van Dijen", + "email": "tvdijen@gmail.com" } ], - "description": "Symfony polyfill for intl's ICU-related data and classes", - "homepage": "https://symfony.com", - "keywords": [ - "compatibility", - "icu", - "intl", - "polyfill", - "portable", - "shim" - ], + "description": "Assets for the SimpleSAMLphp main repository", "support": { - "source": "https://github.com/symfony/polyfill-intl-icu/tree/v1.32.0" + "issues": "https://github.com/simplesamlphp/simplesamlphp-assets-base/issues", + "source": "https://github.com/simplesamlphp/simplesamlphp-assets-base/tree/v2.4.3" }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2024-12-21T18:38:29+00:00" + "time": "2025-09-18T17:05:10+00:00" }, { - "name": "symfony/polyfill-intl-normalizer", - "version": "v1.32.0", + "name": "simplesamlphp/xml-common", + "version": "v1.25.1", "source": { "type": "git", - "url": "https://github.com/symfony/polyfill-intl-normalizer.git", - "reference": "3833d7255cc303546435cb650316bff708a1c75c" + "url": "https://github.com/simplesamlphp/xml-common.git", + "reference": "999603aa521d91e17b562bb0b498513af80eb190" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/3833d7255cc303546435cb650316bff708a1c75c", - "reference": "3833d7255cc303546435cb650316bff708a1c75c", + "url": "https://api.github.com/repos/simplesamlphp/xml-common/zipball/999603aa521d91e17b562bb0b498513af80eb190", + "reference": "999603aa521d91e17b562bb0b498513af80eb190", "shasum": "" }, "require": { - "php": ">=7.2" - }, - "suggest": { - "ext-intl": "For best performance" + "ext-date": "*", + "ext-dom": "*", + "ext-filter": "*", + "ext-libxml": "*", + "ext-pcre": "*", + "ext-spl": "*", + "php": "^8.1", + "simplesamlphp/assert": "~1.8.1", + "simplesamlphp/composer-xmlprovider-installer": "~1.0.2", + "symfony/finder": "~6.4.0" }, - "type": "library", - "extra": { - "thanks": { - "url": "https://github.com/symfony/polyfill", - "name": "symfony/polyfill" - } + "require-dev": { + "simplesamlphp/simplesamlphp-test-framework": "~1.9.2" }, + "type": "simplesamlphp-xmlprovider", "autoload": { - "files": [ - "bootstrap.php" - ], "psr-4": { - "Symfony\\Polyfill\\Intl\\Normalizer\\": "" - }, - "classmap": [ - "Resources/stubs" - ] + "SimpleSAML\\XML\\": "src/" + } }, "notification-url": "https://packagist.org/downloads/", "license": [ - "MIT" + "LGPL-2.1-or-later" ], "authors": [ { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony polyfill for intl's Normalizer class and related functions", - "homepage": "https://symfony.com", - "keywords": [ - "compatibility", - "intl", - "normalizer", - "polyfill", - "portable", - "shim" - ], - "support": { - "source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.32.0" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" + "name": "Jaime Perez", + "email": "jaime.perez@uninett.no" }, { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" + "name": "Tim van Dijen", + "email": "tvdijen@gmail.com" } ], - "time": "2024-09-09T11:45:10+00:00" + "description": "A library with classes and utilities for handling XML structures.", + "homepage": "http://simplesamlphp.org", + "keywords": [ + "saml", + "xml" + ], + "support": { + "issues": "https://github.com/simplesamlphp/xml-common/issues", + "source": "https://github.com/simplesamlphp/xml-common" + }, + "time": "2025-06-29T13:05:44+00:00" }, { - "name": "symfony/polyfill-mbstring", - "version": "v1.32.0", + "name": "simplesamlphp/xml-security", + "version": "v1.13.7", "source": { "type": "git", - "url": "https://github.com/symfony/polyfill-mbstring.git", - "reference": "6d857f4d76bd4b343eac26d6b539585d2bc56493" + "url": "https://github.com/simplesamlphp/xml-security.git", + "reference": "f6f32a3c2c6b398408d5bccc9d59445edc1cb67d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/6d857f4d76bd4b343eac26d6b539585d2bc56493", - "reference": "6d857f4d76bd4b343eac26d6b539585d2bc56493", + "url": "https://api.github.com/repos/simplesamlphp/xml-security/zipball/f6f32a3c2c6b398408d5bccc9d59445edc1cb67d", + "reference": "f6f32a3c2c6b398408d5bccc9d59445edc1cb67d", "shasum": "" }, "require": { - "ext-iconv": "*", - "php": ">=7.2" - }, - "provide": { - "ext-mbstring": "*" - }, - "suggest": { - "ext-mbstring": "For best performance" + "ext-dom": "*", + "ext-hash": "*", + "ext-mbstring": "*", + "ext-openssl": "*", + "ext-pcre": "*", + "ext-spl": "*", + "php": "^8.1", + "simplesamlphp/assert": "~1.8.1", + "simplesamlphp/xml-common": "~1.25.0" }, - "type": "library", - "extra": { - "thanks": { - "url": "https://github.com/symfony/polyfill", - "name": "symfony/polyfill" - } + "require-dev": { + "simplesamlphp/simplesamlphp-test-framework": "~1.9.2" }, + "type": "simplesamlphp-xmlprovider", "autoload": { - "files": [ - "bootstrap.php" - ], "psr-4": { - "Symfony\\Polyfill\\Mbstring\\": "" + "SimpleSAML\\XMLSecurity\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", "license": [ - "MIT" + "LGPL-2.1-or-later" ], "authors": [ { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" + "name": "Jaime Perez Crespo", + "email": "jaime.perez@uninett.no", + "role": "Maintainer" }, { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" + "name": "Tim van Dijen", + "email": "tvdijen@gmail.com", + "role": "Maintainer" } ], - "description": "Symfony polyfill for the Mbstring extension", - "homepage": "https://symfony.com", + "description": "SimpleSAMLphp library for XML Security", + "homepage": "https://github.com/simplesamlphp/xml-security", "keywords": [ - "compatibility", - "mbstring", - "polyfill", - "portable", - "shim" + "security", + "signature", + "xml", + "xmldsig" ], "support": { - "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.32.0" + "issues": "https://github.com/simplesamlphp/xml-security/issues", + "source": "https://github.com/simplesamlphp/xml-security/tree/v1.13.7" }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2024-12-23T08:48:59+00:00" + "time": "2025-06-29T13:07:27+00:00" }, { - "name": "symfony/polyfill-php80", - "version": "v1.32.0", + "name": "simplesamlphp/xml-soap", + "version": "v1.7.1", "source": { "type": "git", - "url": "https://github.com/symfony/polyfill-php80.git", - "reference": "0cc9dd0f17f61d8131e7df6b84bd344899fe2608" + "url": "https://github.com/simplesamlphp/xml-soap.git", + "reference": "ca1ee4ea29c62fa66fc30d040b4013b4543f4f76" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/0cc9dd0f17f61d8131e7df6b84bd344899fe2608", - "reference": "0cc9dd0f17f61d8131e7df6b84bd344899fe2608", + "url": "https://api.github.com/repos/simplesamlphp/xml-soap/zipball/ca1ee4ea29c62fa66fc30d040b4013b4543f4f76", + "reference": "ca1ee4ea29c62fa66fc30d040b4013b4543f4f76", "shasum": "" }, "require": { - "php": ">=7.2" + "ext-dom": "*", + "ext-pcre": "*", + "php": "^8.1", + "simplesamlphp/assert": "~1.8.1", + "simplesamlphp/xml-common": "~1.25.0" }, - "type": "library", + "require-dev": { + "simplesamlphp/simplesamlphp-test-framework": "~1.9.2" + }, + "type": "simplesamlphp-xmlprovider", "extra": { - "thanks": { - "url": "https://github.com/symfony/polyfill", - "name": "symfony/polyfill" + "branch-alias": { + "dev-master": "v2.0.x-dev" } }, "autoload": { - "files": [ - "bootstrap.php" - ], "psr-4": { - "Symfony\\Polyfill\\Php80\\": "" - }, - "classmap": [ - "Resources/stubs" - ] + "SimpleSAML\\SOAP\\": "src/" + } }, "notification-url": "https://packagist.org/downloads/", "license": [ - "MIT" + "LGPL-2.1-or-later" ], "authors": [ { - "name": "Ion Bazan", - "email": "ion.bazan@gmail.com" - }, - { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" + "name": "Tim van Dijen", + "email": "tvdijen@gmail.com" } ], - "description": "Symfony polyfill backporting some PHP 8.0+ features to lower PHP versions", - "homepage": "https://symfony.com", - "keywords": [ - "compatibility", - "polyfill", - "portable", - "shim" - ], + "description": "SimpleSAMLphp library for XML SOAP", "support": { - "source": "https://github.com/symfony/polyfill-php80/tree/v1.32.0" + "issues": "https://github.com/simplesamlphp/xml-soap/issues", + "source": "https://github.com/simplesamlphp/xml-soap/tree/v1.7.1" }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2025-01-02T08:10:11+00:00" + "time": "2025-06-03T21:07:04+00:00" }, { - "name": "symfony/polyfill-php83", - "version": "v1.32.0", + "name": "staabm/side-effects-detector", + "version": "1.0.5", "source": { "type": "git", - "url": "https://github.com/symfony/polyfill-php83.git", - "reference": "2fb86d65e2d424369ad2905e83b236a8805ba491" + "url": "https://github.com/staabm/side-effects-detector.git", + "reference": "d8334211a140ce329c13726d4a715adbddd0a163" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php83/zipball/2fb86d65e2d424369ad2905e83b236a8805ba491", - "reference": "2fb86d65e2d424369ad2905e83b236a8805ba491", + "url": "https://api.github.com/repos/staabm/side-effects-detector/zipball/d8334211a140ce329c13726d4a715adbddd0a163", + "reference": "d8334211a140ce329c13726d4a715adbddd0a163", "shasum": "" }, "require": { - "php": ">=7.2" + "ext-tokenizer": "*", + "php": "^7.4 || ^8.0" }, - "type": "library", - "extra": { - "thanks": { - "url": "https://github.com/symfony/polyfill", - "name": "symfony/polyfill" - } + "require-dev": { + "phpstan/extension-installer": "^1.4.3", + "phpstan/phpstan": "^1.12.6", + "phpunit/phpunit": "^9.6.21", + "symfony/var-dumper": "^5.4.43", + "tomasvotruba/type-coverage": "1.0.0", + "tomasvotruba/unused-public": "1.0.0" }, + "type": "library", "autoload": { - "files": [ - "bootstrap.php" - ], - "psr-4": { - "Symfony\\Polyfill\\Php83\\": "" - }, "classmap": [ - "Resources/stubs" + "lib/" ] }, "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], - "authors": [ - { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony polyfill backporting some PHP 8.3+ features to lower PHP versions", - "homepage": "https://symfony.com", + "description": "A static analysis tool to detect side effects in PHP code", "keywords": [ - "compatibility", - "polyfill", - "portable", - "shim" + "static analysis" ], "support": { - "source": "https://github.com/symfony/polyfill-php83/tree/v1.32.0" + "issues": "https://github.com/staabm/side-effects-detector/issues", + "source": "https://github.com/staabm/side-effects-detector/tree/1.0.5" }, "funding": [ { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", + "url": "https://github.com/staabm", "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" } ], - "time": "2024-09-09T11:45:10+00:00" + "time": "2024-10-20T05:08:20+00:00" }, { - "name": "symfony/routing", - "version": "v6.4.22", + "name": "symfony/cache", + "version": "v6.4.28", "source": { "type": "git", - "url": "https://github.com/symfony/routing.git", - "reference": "1f5234e8457164a3a0038a4c0a4ba27876a9c670" + "url": "https://github.com/symfony/cache.git", + "reference": "31628f36fc97c5714d181b3a8d29efb85c6a7677" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/routing/zipball/1f5234e8457164a3a0038a4c0a4ba27876a9c670", - "reference": "1f5234e8457164a3a0038a4c0a4ba27876a9c670", + "url": "https://api.github.com/repos/symfony/cache/zipball/31628f36fc97c5714d181b3a8d29efb85c6a7677", + "reference": "31628f36fc97c5714d181b3a8d29efb85c6a7677", "shasum": "" }, "require": { "php": ">=8.1", - "symfony/deprecation-contracts": "^2.5|^3" + "psr/cache": "^2.0|^3.0", + "psr/log": "^1.1|^2|^3", + "symfony/cache-contracts": "^2.5|^3", + "symfony/service-contracts": "^2.5|^3", + "symfony/var-exporter": "^6.3.6|^7.0" }, "conflict": { - "doctrine/annotations": "<1.12", - "symfony/config": "<6.2", + "doctrine/dbal": "<2.13.1", "symfony/dependency-injection": "<5.4", - "symfony/yaml": "<5.4" + "symfony/http-kernel": "<5.4", + "symfony/var-dumper": "<5.4" + }, + "provide": { + "psr/cache-implementation": "2.0|3.0", + "psr/simple-cache-implementation": "1.0|2.0|3.0", + "symfony/cache-implementation": "1.1|2.0|3.0" }, "require-dev": { - "doctrine/annotations": "^1.12|^2", - "psr/log": "^1|^2|^3", - "symfony/config": "^6.2|^7.0", + "cache/integration-tests": "dev-master", + "doctrine/dbal": "^2.13.1|^3|^4", + "predis/predis": "^1.1|^2.0", + "psr/simple-cache": "^1.0|^2.0|^3.0", + "symfony/config": "^5.4|^6.0|^7.0", "symfony/dependency-injection": "^5.4|^6.0|^7.0", - "symfony/expression-language": "^5.4|^6.0|^7.0", - "symfony/http-foundation": "^5.4|^6.0|^7.0", - "symfony/yaml": "^5.4|^6.0|^7.0" + "symfony/filesystem": "^5.4|^6.0|^7.0", + "symfony/http-kernel": "^5.4|^6.0|^7.0", + "symfony/messenger": "^5.4|^6.0|^7.0", + "symfony/var-dumper": "^5.4|^6.0|^7.0" }, "type": "library", "autoload": { "psr-4": { - "Symfony\\Component\\Routing\\": "" + "Symfony\\Component\\Cache\\": "" }, + "classmap": [ + "Traits/ValueWrapper.php" + ], "exclude-from-classmap": [ "/Tests/" ] @@ -6227,24 +6058,22 @@ ], "authors": [ { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" + "name": "Nicolas Grekas", + "email": "p@tchwork.com" }, { "name": "Symfony Community", "homepage": "https://symfony.com/contributors" } ], - "description": "Maps an HTTP request to a set of configuration variables", + "description": "Provides extended PSR-6, PSR-16 (and tags) implementations", "homepage": "https://symfony.com", "keywords": [ - "router", - "routing", - "uri", - "url" + "caching", + "psr6" ], "support": { - "source": "https://github.com/symfony/routing/tree/v6.4.22" + "source": "https://github.com/symfony/cache/tree/v6.4.28" }, "funding": [ { @@ -6255,34 +6084,34 @@ "url": "https://github.com/fabpot", "type": "github" }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, { "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", "type": "tidelift" } ], - "time": "2025-04-27T16:08:38+00:00" + "time": "2025-10-30T08:37:02+00:00" }, { - "name": "symfony/service-contracts", + "name": "symfony/cache-contracts", "version": "v3.6.0", "source": { "type": "git", - "url": "https://github.com/symfony/service-contracts.git", - "reference": "f021b05a130d35510bd6b25fe9053c2a8a15d5d4" + "url": "https://github.com/symfony/cache-contracts.git", + "reference": "5d68a57d66910405e5c0b63d6f0af941e66fc868" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/service-contracts/zipball/f021b05a130d35510bd6b25fe9053c2a8a15d5d4", - "reference": "f021b05a130d35510bd6b25fe9053c2a8a15d5d4", + "url": "https://api.github.com/repos/symfony/cache-contracts/zipball/5d68a57d66910405e5c0b63d6f0af941e66fc868", + "reference": "5d68a57d66910405e5c0b63d6f0af941e66fc868", "shasum": "" }, "require": { "php": ">=8.1", - "psr/container": "^1.1|^2.0", - "symfony/deprecation-contracts": "^2.5|^3" - }, - "conflict": { - "ext-psr": "<1.1|>=2" + "psr/cache": "^3.0" }, "type": "library", "extra": { @@ -6296,11 +6125,8 @@ }, "autoload": { "psr-4": { - "Symfony\\Contracts\\Service\\": "" - }, - "exclude-from-classmap": [ - "/Test/" - ] + "Symfony\\Contracts\\Cache\\": "" + } }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -6316,7 +6142,7 @@ "homepage": "https://symfony.com/contributors" } ], - "description": "Generic abstractions related to writing services", + "description": "Generic abstractions related to caching", "homepage": "https://symfony.com", "keywords": [ "abstractions", @@ -6327,7 +6153,7 @@ "standards" ], "support": { - "source": "https://github.com/symfony/service-contracts/tree/v3.6.0" + "source": "https://github.com/symfony/cache-contracts/tree/v3.6.0" }, "funding": [ { @@ -6343,47 +6169,43 @@ "type": "tidelift" } ], - "time": "2025-04-25T09:37:31+00:00" + "time": "2025-03-13T15:25:07+00:00" }, { - "name": "symfony/string", - "version": "v7.3.0", + "name": "symfony/config", + "version": "v6.4.28", "source": { "type": "git", - "url": "https://github.com/symfony/string.git", - "reference": "f3570b8c61ca887a9e2938e85cb6458515d2b125" + "url": "https://github.com/symfony/config.git", + "reference": "15947c18ef3ddb0b2f4ec936b9e90e2520979f62" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/string/zipball/f3570b8c61ca887a9e2938e85cb6458515d2b125", - "reference": "f3570b8c61ca887a9e2938e85cb6458515d2b125", + "url": "https://api.github.com/repos/symfony/config/zipball/15947c18ef3ddb0b2f4ec936b9e90e2520979f62", + "reference": "15947c18ef3ddb0b2f4ec936b9e90e2520979f62", "shasum": "" }, "require": { - "php": ">=8.2", - "symfony/polyfill-ctype": "~1.8", - "symfony/polyfill-intl-grapheme": "~1.0", - "symfony/polyfill-intl-normalizer": "~1.0", - "symfony/polyfill-mbstring": "~1.0" + "php": ">=8.1", + "symfony/deprecation-contracts": "^2.5|^3", + "symfony/filesystem": "^5.4|^6.0|^7.0", + "symfony/polyfill-ctype": "~1.8" }, "conflict": { - "symfony/translation-contracts": "<2.5" + "symfony/finder": "<5.4", + "symfony/service-contracts": "<2.5" }, "require-dev": { - "symfony/emoji": "^7.1", - "symfony/error-handler": "^6.4|^7.0", - "symfony/http-client": "^6.4|^7.0", - "symfony/intl": "^6.4|^7.0", - "symfony/translation-contracts": "^2.5|^3.0", - "symfony/var-exporter": "^6.4|^7.0" + "symfony/event-dispatcher": "^5.4|^6.0|^7.0", + "symfony/finder": "^5.4|^6.0|^7.0", + "symfony/messenger": "^5.4|^6.0|^7.0", + "symfony/service-contracts": "^2.5|^3", + "symfony/yaml": "^5.4|^6.0|^7.0" }, "type": "library", "autoload": { - "files": [ - "Resources/functions.php" - ], "psr-4": { - "Symfony\\Component\\String\\": "" + "Symfony\\Component\\Config\\": "" }, "exclude-from-classmap": [ "/Tests/" @@ -6395,26 +6217,18 @@ ], "authors": [ { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" + "name": "Fabien Potencier", + "email": "fabien@symfony.com" }, { "name": "Symfony Community", "homepage": "https://symfony.com/contributors" } ], - "description": "Provides an object-oriented API to strings and deals with bytes, UTF-8 code points and grapheme clusters in a unified way", + "description": "Helps you find, load, combine, autofill and validate configuration values of any kind", "homepage": "https://symfony.com", - "keywords": [ - "grapheme", - "i18n", - "string", - "unicode", - "utf-8", - "utf8" - ], "support": { - "source": "https://github.com/symfony/string/tree/v7.3.0" + "source": "https://github.com/symfony/config/tree/v6.4.28" }, "funding": [ { @@ -6425,46 +6239,68 @@ "url": "https://github.com/fabpot", "type": "github" }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, { "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", "type": "tidelift" } ], - "time": "2025-04-20T20:19:01+00:00" + "time": "2025-11-01T19:52:02+00:00" }, { - "name": "symfony/translation-contracts", - "version": "v3.6.0", + "name": "symfony/console", + "version": "v6.4.27", "source": { "type": "git", - "url": "https://github.com/symfony/translation-contracts.git", - "reference": "df210c7a2573f1913b2d17cc95f90f53a73d8f7d" + "url": "https://github.com/symfony/console.git", + "reference": "13d3176cf8ad8ced24202844e9f95af11e2959fc" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/translation-contracts/zipball/df210c7a2573f1913b2d17cc95f90f53a73d8f7d", - "reference": "df210c7a2573f1913b2d17cc95f90f53a73d8f7d", + "url": "https://api.github.com/repos/symfony/console/zipball/13d3176cf8ad8ced24202844e9f95af11e2959fc", + "reference": "13d3176cf8ad8ced24202844e9f95af11e2959fc", "shasum": "" }, "require": { - "php": ">=8.1" + "php": ">=8.1", + "symfony/deprecation-contracts": "^2.5|^3", + "symfony/polyfill-mbstring": "~1.0", + "symfony/service-contracts": "^2.5|^3", + "symfony/string": "^5.4|^6.0|^7.0" }, - "type": "library", - "extra": { - "thanks": { - "url": "https://github.com/symfony/contracts", - "name": "symfony/contracts" - }, - "branch-alias": { - "dev-main": "3.6-dev" - } + "conflict": { + "symfony/dependency-injection": "<5.4", + "symfony/dotenv": "<5.4", + "symfony/event-dispatcher": "<5.4", + "symfony/lock": "<5.4", + "symfony/process": "<5.4" + }, + "provide": { + "psr/log-implementation": "1.0|2.0|3.0" + }, + "require-dev": { + "psr/log": "^1|^2|^3", + "symfony/config": "^5.4|^6.0|^7.0", + "symfony/dependency-injection": "^5.4|^6.0|^7.0", + "symfony/event-dispatcher": "^5.4|^6.0|^7.0", + "symfony/http-foundation": "^6.4|^7.0", + "symfony/http-kernel": "^6.4|^7.0", + "symfony/lock": "^5.4|^6.0|^7.0", + "symfony/messenger": "^5.4|^6.0|^7.0", + "symfony/process": "^5.4|^6.0|^7.0", + "symfony/stopwatch": "^5.4|^6.0|^7.0", + "symfony/var-dumper": "^5.4|^6.0|^7.0" }, + "type": "library", "autoload": { "psr-4": { - "Symfony\\Contracts\\Translation\\": "" + "Symfony\\Component\\Console\\": "" }, "exclude-from-classmap": [ - "/Test/" + "/Tests/" ] }, "notification-url": "https://packagist.org/downloads/", @@ -6473,26 +6309,24 @@ ], "authors": [ { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" + "name": "Fabien Potencier", + "email": "fabien@symfony.com" }, { "name": "Symfony Community", "homepage": "https://symfony.com/contributors" } ], - "description": "Generic abstractions related to translation", + "description": "Eases the creation of beautiful and testable command line interfaces", "homepage": "https://symfony.com", "keywords": [ - "abstractions", - "contracts", - "decoupling", - "interfaces", - "interoperability", - "standards" + "cli", + "command-line", + "console", + "terminal" ], "support": { - "source": "https://github.com/symfony/translation-contracts/tree/v3.6.0" + "source": "https://github.com/symfony/console/tree/v6.4.27" }, "funding": [ { @@ -6503,82 +6337,58 @@ "url": "https://github.com/fabpot", "type": "github" }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, { "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", "type": "tidelift" } ], - "time": "2024-09-27T08:32:26+00:00" + "time": "2025-10-06T10:25:16+00:00" }, { - "name": "symfony/twig-bridge", - "version": "v6.4.22", + "name": "symfony/dependency-injection", + "version": "v6.4.26", "source": { "type": "git", - "url": "https://github.com/symfony/twig-bridge.git", - "reference": "04ab306a2f2c9dbd46f4363383812954f704af9d" + "url": "https://github.com/symfony/dependency-injection.git", + "reference": "5f311eaf0b321f8ec640f6bae12da43a14026898" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/twig-bridge/zipball/04ab306a2f2c9dbd46f4363383812954f704af9d", - "reference": "04ab306a2f2c9dbd46f4363383812954f704af9d", + "url": "https://api.github.com/repos/symfony/dependency-injection/zipball/5f311eaf0b321f8ec640f6bae12da43a14026898", + "reference": "5f311eaf0b321f8ec640f6bae12da43a14026898", "shasum": "" }, "require": { "php": ">=8.1", + "psr/container": "^1.1|^2.0", "symfony/deprecation-contracts": "^2.5|^3", - "symfony/translation-contracts": "^2.5|^3", - "twig/twig": "^2.13|^3.0.4" + "symfony/service-contracts": "^2.5|^3.0", + "symfony/var-exporter": "^6.4.20|^7.2.5" }, "conflict": { - "phpdocumentor/reflection-docblock": "<3.2.2", - "phpdocumentor/type-resolver": "<1.4.0", - "symfony/console": "<5.4", - "symfony/form": "<6.3", - "symfony/http-foundation": "<5.4", - "symfony/http-kernel": "<6.4", - "symfony/mime": "<6.2", - "symfony/serializer": "<6.4", - "symfony/translation": "<5.4", - "symfony/workflow": "<5.4" + "ext-psr": "<1.1|>=2", + "symfony/config": "<6.1", + "symfony/finder": "<5.4", + "symfony/proxy-manager-bridge": "<6.3", + "symfony/yaml": "<5.4" + }, + "provide": { + "psr/container-implementation": "1.1|2.0", + "symfony/service-implementation": "1.1|2.0|3.0" }, "require-dev": { - "egulias/email-validator": "^2.1.10|^3|^4", - "league/html-to-markdown": "^5.0", - "phpdocumentor/reflection-docblock": "^3.0|^4.0|^5.0", - "symfony/asset": "^5.4|^6.0|^7.0", - "symfony/asset-mapper": "^6.3|^7.0", - "symfony/console": "^5.4|^6.0|^7.0", - "symfony/dependency-injection": "^5.4|^6.0|^7.0", + "symfony/config": "^6.1|^7.0", "symfony/expression-language": "^5.4|^6.0|^7.0", - "symfony/finder": "^5.4|^6.0|^7.0", - "symfony/form": "^6.4.20|^7.2.5", - "symfony/html-sanitizer": "^6.1|^7.0", - "symfony/http-foundation": "^5.4|^6.0|^7.0", - "symfony/http-kernel": "^6.4|^7.0", - "symfony/intl": "^5.4|^6.0|^7.0", - "symfony/mime": "^6.2|^7.0", - "symfony/polyfill-intl-icu": "~1.0", - "symfony/property-info": "^5.4|^6.0|^7.0", - "symfony/routing": "^5.4|^6.0|^7.0", - "symfony/security-acl": "^2.8|^3.0", - "symfony/security-core": "^5.4|^6.0|^7.0", - "symfony/security-csrf": "^5.4|^6.0|^7.0", - "symfony/security-http": "^5.4|^6.0|^7.0", - "symfony/serializer": "^6.4.3|^7.0.3", - "symfony/stopwatch": "^5.4|^6.0|^7.0", - "symfony/translation": "^6.1|^7.0", - "symfony/web-link": "^5.4|^6.0|^7.0", - "symfony/workflow": "^5.4|^6.0|^7.0", - "symfony/yaml": "^5.4|^6.0|^7.0", - "twig/cssinliner-extra": "^2.12|^3", - "twig/inky-extra": "^2.12|^3", - "twig/markdown-extra": "^2.12|^3" + "symfony/yaml": "^5.4|^6.0|^7.0" }, - "type": "symfony-bridge", + "type": "library", "autoload": { "psr-4": { - "Symfony\\Bridge\\Twig\\": "" + "Symfony\\Component\\DependencyInjection\\": "" }, "exclude-from-classmap": [ "/Tests/" @@ -6598,10 +6408,10 @@ "homepage": "https://symfony.com/contributors" } ], - "description": "Provides integration for Twig with various Symfony components", + "description": "Allows you to standardize and centralize the way objects are constructed in your application", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/twig-bridge/tree/v6.4.22" + "source": "https://github.com/symfony/dependency-injection/tree/v6.4.26" }, "funding": [ { @@ -6612,56 +6422,47 @@ "url": "https://github.com/fabpot", "type": "github" }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, { "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", "type": "tidelift" } ], - "time": "2025-05-16T08:23:44+00:00" + "time": "2025-09-11T09:57:09+00:00" }, { - "name": "symfony/var-dumper", - "version": "v7.3.1", + "name": "symfony/deprecation-contracts", + "version": "v3.6.0", "source": { "type": "git", - "url": "https://github.com/symfony/var-dumper.git", - "reference": "6e209fbe5f5a7b6043baba46fe5735a4b85d0d42" + "url": "https://github.com/symfony/deprecation-contracts.git", + "reference": "63afe740e99a13ba87ec199bb07bbdee937a5b62" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/var-dumper/zipball/6e209fbe5f5a7b6043baba46fe5735a4b85d0d42", - "reference": "6e209fbe5f5a7b6043baba46fe5735a4b85d0d42", + "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/63afe740e99a13ba87ec199bb07bbdee937a5b62", + "reference": "63afe740e99a13ba87ec199bb07bbdee937a5b62", "shasum": "" }, "require": { - "php": ">=8.2", - "symfony/deprecation-contracts": "^2.5|^3", - "symfony/polyfill-mbstring": "~1.0" - }, - "conflict": { - "symfony/console": "<6.4" - }, - "require-dev": { - "ext-iconv": "*", - "symfony/console": "^6.4|^7.0", - "symfony/http-kernel": "^6.4|^7.0", - "symfony/process": "^6.4|^7.0", - "symfony/uid": "^6.4|^7.0", - "twig/twig": "^3.12" + "php": ">=8.1" }, - "bin": [ - "Resources/bin/var-dump-server" - ], "type": "library", + "extra": { + "thanks": { + "url": "https://github.com/symfony/contracts", + "name": "symfony/contracts" + }, + "branch-alias": { + "dev-main": "3.6-dev" + } + }, "autoload": { "files": [ - "Resources/functions/dump.php" - ], - "psr-4": { - "Symfony\\Component\\VarDumper\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" + "function.php" ] }, "notification-url": "https://packagist.org/downloads/", @@ -6678,14 +6479,10 @@ "homepage": "https://symfony.com/contributors" } ], - "description": "Provides mechanisms for walking through any arbitrary PHP variable", + "description": "A generic function and convention to trigger deprecation notices", "homepage": "https://symfony.com", - "keywords": [ - "debug", - "dump" - ], "support": { - "source": "https://github.com/symfony/var-dumper/tree/v7.3.1" + "source": "https://github.com/symfony/deprecation-contracts/tree/v3.6.0" }, "funding": [ { @@ -6701,35 +6498,46 @@ "type": "tidelift" } ], - "time": "2025-06-27T19:55:54+00:00" + "time": "2024-09-25T14:21:43+00:00" }, { - "name": "symfony/var-exporter", - "version": "v6.4.22", + "name": "symfony/error-handler", + "version": "v7.4.0", "source": { "type": "git", - "url": "https://github.com/symfony/var-exporter.git", - "reference": "f28cf841f5654955c9f88ceaf4b9dc29571988a9" + "url": "https://github.com/symfony/error-handler.git", + "reference": "48be2b0653594eea32dcef130cca1c811dcf25c2" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/var-exporter/zipball/f28cf841f5654955c9f88ceaf4b9dc29571988a9", - "reference": "f28cf841f5654955c9f88ceaf4b9dc29571988a9", + "url": "https://api.github.com/repos/symfony/error-handler/zipball/48be2b0653594eea32dcef130cca1c811dcf25c2", + "reference": "48be2b0653594eea32dcef130cca1c811dcf25c2", "shasum": "" }, "require": { - "php": ">=8.1", - "symfony/deprecation-contracts": "^2.5|^3" + "php": ">=8.2", + "psr/log": "^1|^2|^3", + "symfony/polyfill-php85": "^1.32", + "symfony/var-dumper": "^6.4|^7.0|^8.0" + }, + "conflict": { + "symfony/deprecation-contracts": "<2.5", + "symfony/http-kernel": "<6.4" }, "require-dev": { - "symfony/property-access": "^6.4|^7.0", - "symfony/serializer": "^6.4|^7.0", - "symfony/var-dumper": "^5.4|^6.0|^7.0" + "symfony/console": "^6.4|^7.0|^8.0", + "symfony/deprecation-contracts": "^2.5|^3", + "symfony/http-kernel": "^6.4|^7.0|^8.0", + "symfony/serializer": "^6.4|^7.0|^8.0", + "symfony/webpack-encore-bundle": "^1.0|^2.0" }, + "bin": [ + "Resources/bin/patch-type-declarations" + ], "type": "library", "autoload": { "psr-4": { - "Symfony\\Component\\VarExporter\\": "" + "Symfony\\Component\\ErrorHandler\\": "" }, "exclude-from-classmap": [ "/Tests/" @@ -6741,28 +6549,18 @@ ], "authors": [ { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" + "name": "Fabien Potencier", + "email": "fabien@symfony.com" }, { "name": "Symfony Community", "homepage": "https://symfony.com/contributors" } ], - "description": "Allows exporting any serializable PHP data structure to plain PHP code", + "description": "Provides tools to manage errors and ease debugging PHP code", "homepage": "https://symfony.com", - "keywords": [ - "clone", - "construct", - "export", - "hydrate", - "instantiate", - "lazy-loading", - "proxy", - "serialize" - ], "support": { - "source": "https://github.com/symfony/var-exporter/tree/v6.4.22" + "source": "https://github.com/symfony/error-handler/tree/v7.4.0" }, "funding": [ { @@ -6773,45 +6571,58 @@ "url": "https://github.com/fabpot", "type": "github" }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, { "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", "type": "tidelift" } ], - "time": "2025-05-14T13:00:13+00:00" + "time": "2025-11-05T14:29:59+00:00" }, { - "name": "symfony/yaml", - "version": "v6.4.23", + "name": "symfony/event-dispatcher", + "version": "v7.4.0", "source": { "type": "git", - "url": "https://github.com/symfony/yaml.git", - "reference": "93e29e0deb5f1b2e360adfb389a20d25eb81a27b" + "url": "https://github.com/symfony/event-dispatcher.git", + "reference": "9dddcddff1ef974ad87b3708e4b442dc38b2261d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/yaml/zipball/93e29e0deb5f1b2e360adfb389a20d25eb81a27b", - "reference": "93e29e0deb5f1b2e360adfb389a20d25eb81a27b", + "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/9dddcddff1ef974ad87b3708e4b442dc38b2261d", + "reference": "9dddcddff1ef974ad87b3708e4b442dc38b2261d", "shasum": "" }, "require": { - "php": ">=8.1", - "symfony/deprecation-contracts": "^2.5|^3", - "symfony/polyfill-ctype": "^1.8" + "php": ">=8.2", + "symfony/event-dispatcher-contracts": "^2.5|^3" }, "conflict": { - "symfony/console": "<5.4" + "symfony/dependency-injection": "<6.4", + "symfony/service-contracts": "<2.5" + }, + "provide": { + "psr/event-dispatcher-implementation": "1.0", + "symfony/event-dispatcher-implementation": "2.0|3.0" }, "require-dev": { - "symfony/console": "^5.4|^6.0|^7.0" + "psr/log": "^1|^2|^3", + "symfony/config": "^6.4|^7.0|^8.0", + "symfony/dependency-injection": "^6.4|^7.0|^8.0", + "symfony/error-handler": "^6.4|^7.0|^8.0", + "symfony/expression-language": "^6.4|^7.0|^8.0", + "symfony/framework-bundle": "^6.4|^7.0|^8.0", + "symfony/http-foundation": "^6.4|^7.0|^8.0", + "symfony/service-contracts": "^2.5|^3", + "symfony/stopwatch": "^6.4|^7.0|^8.0" }, - "bin": [ - "Resources/bin/yaml-lint" - ], "type": "library", "autoload": { "psr-4": { - "Symfony\\Component\\Yaml\\": "" + "Symfony\\Component\\EventDispatcher\\": "" }, "exclude-from-classmap": [ "/Tests/" @@ -6831,10 +6642,10 @@ "homepage": "https://symfony.com/contributors" } ], - "description": "Loads and dumps YAML files", + "description": "Provides tools that allow your application components to communicate with each other by dispatching events and listening to them", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/yaml/tree/v6.4.23" + "source": "https://github.com/symfony/event-dispatcher/tree/v7.4.0" }, "funding": [ { @@ -6845,43 +6656,49 @@ "url": "https://github.com/fabpot", "type": "github" }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, { "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", "type": "tidelift" } ], - "time": "2025-06-03T06:46:12+00:00" + "time": "2025-10-28T09:38:46+00:00" }, { - "name": "twig/intl-extra", - "version": "v3.21.0", + "name": "symfony/event-dispatcher-contracts", + "version": "v3.6.0", "source": { "type": "git", - "url": "https://github.com/twigphp/intl-extra.git", - "reference": "05bc5d46b9df9e62399eae53e7c0b0633298b146" + "url": "https://github.com/symfony/event-dispatcher-contracts.git", + "reference": "59eb412e93815df44f05f342958efa9f46b1e586" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/twigphp/intl-extra/zipball/05bc5d46b9df9e62399eae53e7c0b0633298b146", - "reference": "05bc5d46b9df9e62399eae53e7c0b0633298b146", + "url": "https://api.github.com/repos/symfony/event-dispatcher-contracts/zipball/59eb412e93815df44f05f342958efa9f46b1e586", + "reference": "59eb412e93815df44f05f342958efa9f46b1e586", "shasum": "" }, "require": { - "php": ">=8.1.0", - "symfony/intl": "^5.4|^6.4|^7.0", - "twig/twig": "^3.13|^4.0" - }, - "require-dev": { - "symfony/phpunit-bridge": "^6.4|^7.0" + "php": ">=8.1", + "psr/event-dispatcher": "^1" }, "type": "library", + "extra": { + "thanks": { + "url": "https://github.com/symfony/contracts", + "name": "symfony/contracts" + }, + "branch-alias": { + "dev-main": "3.6-dev" + } + }, "autoload": { "psr-4": { - "Twig\\Extra\\Intl\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] + "Symfony\\Contracts\\EventDispatcher\\": "" + } }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -6889,147 +6706,141 @@ ], "authors": [ { - "name": "Fabien Potencier", - "email": "fabien@symfony.com", - "homepage": "http://fabien.potencier.org", - "role": "Lead Developer" + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" } ], - "description": "A Twig extension for Intl", - "homepage": "https://twig.symfony.com", + "description": "Generic abstractions related to dispatching event", + "homepage": "https://symfony.com", "keywords": [ - "intl", - "twig" + "abstractions", + "contracts", + "decoupling", + "interfaces", + "interoperability", + "standards" ], "support": { - "source": "https://github.com/twigphp/intl-extra/tree/v3.21.0" + "source": "https://github.com/symfony/event-dispatcher-contracts/tree/v3.6.0" }, "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, { "url": "https://github.com/fabpot", "type": "github" }, { - "url": "https://tidelift.com/funding/github/packagist/twig/twig", + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", "type": "tidelift" } ], - "time": "2025-01-31T20:45:36+00:00" + "time": "2024-09-25T14:21:43+00:00" }, { - "name": "twig/twig", - "version": "v3.21.1", + "name": "symfony/expression-language", + "version": "v6.4.24", "source": { "type": "git", - "url": "https://github.com/twigphp/Twig.git", - "reference": "285123877d4dd97dd7c11842ac5fb7e86e60d81d" + "url": "https://github.com/symfony/expression-language.git", + "reference": "1ea0adaa53539ea7e70821ae9de49ebe03ae7091" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/twigphp/Twig/zipball/285123877d4dd97dd7c11842ac5fb7e86e60d81d", - "reference": "285123877d4dd97dd7c11842ac5fb7e86e60d81d", + "url": "https://api.github.com/repos/symfony/expression-language/zipball/1ea0adaa53539ea7e70821ae9de49ebe03ae7091", + "reference": "1ea0adaa53539ea7e70821ae9de49ebe03ae7091", "shasum": "" }, "require": { - "php": ">=8.1.0", + "php": ">=8.1", + "symfony/cache": "^5.4|^6.0|^7.0", "symfony/deprecation-contracts": "^2.5|^3", - "symfony/polyfill-ctype": "^1.8", - "symfony/polyfill-mbstring": "^1.3" - }, - "require-dev": { - "phpstan/phpstan": "^2.0", - "psr/container": "^1.0|^2.0", - "symfony/phpunit-bridge": "^5.4.9|^6.4|^7.0" + "symfony/service-contracts": "^2.5|^3" }, "type": "library", "autoload": { - "files": [ - "src/Resources/core.php", - "src/Resources/debug.php", - "src/Resources/escaper.php", - "src/Resources/string_loader.php" - ], "psr-4": { - "Twig\\": "src/" - } + "Symfony\\Component\\ExpressionLanguage\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] }, "notification-url": "https://packagist.org/downloads/", "license": [ - "BSD-3-Clause" + "MIT" ], "authors": [ { "name": "Fabien Potencier", - "email": "fabien@symfony.com", - "homepage": "http://fabien.potencier.org", - "role": "Lead Developer" - }, - { - "name": "Twig Team", - "role": "Contributors" + "email": "fabien@symfony.com" }, { - "name": "Armin Ronacher", - "email": "armin.ronacher@active-4.com", - "role": "Project Founder" + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" } ], - "description": "Twig, the flexible, fast, and secure template language for PHP", - "homepage": "https://twig.symfony.com", - "keywords": [ - "templating" - ], + "description": "Provides an engine that can compile and evaluate expressions", + "homepage": "https://symfony.com", "support": { - "issues": "https://github.com/twigphp/Twig/issues", - "source": "https://github.com/twigphp/Twig/tree/v3.21.1" + "source": "https://github.com/symfony/expression-language/tree/v6.4.24" }, "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, { "url": "https://github.com/fabpot", "type": "github" }, { - "url": "https://tidelift.com/funding/github/packagist/twig/twig", + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", "type": "tidelift" } ], - "time": "2025-05-03T07:21:55+00:00" + "time": "2025-07-10T08:14:14+00:00" }, { - "name": "webmozart/assert", - "version": "1.11.0", + "name": "symfony/filesystem", + "version": "v6.4.24", "source": { "type": "git", - "url": "https://github.com/webmozarts/assert.git", - "reference": "11cb2199493b2f8a3b53e7f19068fc6aac760991" + "url": "https://github.com/symfony/filesystem.git", + "reference": "75ae2edb7cdcc0c53766c30b0a2512b8df574bd8" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/webmozarts/assert/zipball/11cb2199493b2f8a3b53e7f19068fc6aac760991", - "reference": "11cb2199493b2f8a3b53e7f19068fc6aac760991", + "url": "https://api.github.com/repos/symfony/filesystem/zipball/75ae2edb7cdcc0c53766c30b0a2512b8df574bd8", + "reference": "75ae2edb7cdcc0c53766c30b0a2512b8df574bd8", "shasum": "" }, "require": { - "ext-ctype": "*", - "php": "^7.2 || ^8.0" - }, - "conflict": { - "phpstan/phpstan": "<0.12.20", - "vimeo/psalm": "<4.6.1 || 4.6.2" + "php": ">=8.1", + "symfony/polyfill-ctype": "~1.8", + "symfony/polyfill-mbstring": "~1.8" }, "require-dev": { - "phpunit/phpunit": "^8.5.13" + "symfony/process": "^5.4|^6.4|^7.0" }, "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.10-dev" - } - }, "autoload": { "psr-4": { - "Webmozart\\Assert\\": "src/" - } + "Symfony\\Component\\Filesystem\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -7037,74 +6848,67 @@ ], "authors": [ { - "name": "Bernhard Schussek", - "email": "bschussek@gmail.com" + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" } ], - "description": "Assertions to validate method input/output with nice error messages.", - "keywords": [ - "assert", - "check", - "validate" - ], + "description": "Provides basic utilities for the filesystem", + "homepage": "https://symfony.com", "support": { - "issues": "https://github.com/webmozarts/assert/issues", - "source": "https://github.com/webmozarts/assert/tree/1.11.0" + "source": "https://github.com/symfony/filesystem/tree/v6.4.24" }, - "time": "2022-06-03T18:03:27+00:00" - } - ], - "packages-dev": [ + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2025-07-10T08:14:14+00:00" + }, { - "name": "captainhook/captainhook", - "version": "5.25.6", + "name": "symfony/finder", + "version": "v6.4.27", "source": { "type": "git", - "url": "https://github.com/captainhook-git/captainhook.git", - "reference": "8d84101821228609d48f0f2439ed29c9915002e9" + "url": "https://github.com/symfony/finder.git", + "reference": "a1b6aa435d2fba50793b994a839c32b6064f063b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/captainhook-git/captainhook/zipball/8d84101821228609d48f0f2439ed29c9915002e9", - "reference": "8d84101821228609d48f0f2439ed29c9915002e9", + "url": "https://api.github.com/repos/symfony/finder/zipball/a1b6aa435d2fba50793b994a839c32b6064f063b", + "reference": "a1b6aa435d2fba50793b994a839c32b6064f063b", "shasum": "" }, "require": { - "captainhook/secrets": "^0.9.4", - "ext-json": "*", - "ext-spl": "*", - "ext-xml": "*", - "php": ">=8.0", - "sebastianfeldmann/camino": "^0.9.2", - "sebastianfeldmann/cli": "^3.3", - "sebastianfeldmann/git": "^3.14", - "symfony/console": "^2.7 || ^3.0 || ^4.0 || ^5.0 || ^6.0 || ^7.0", - "symfony/filesystem": "^2.7 || ^3.0 || ^4.0 || ^5.0 || ^6.0 || ^7.0", - "symfony/process": "^2.7 || ^3.0 || ^4.0 || ^5.0 || ^6.0 || ^7.0" - }, - "replace": { - "sebastianfeldmann/captainhook": "*" + "php": ">=8.1" }, "require-dev": { - "composer/composer": "~1 || ^2.0", - "mikey179/vfsstream": "~1" + "symfony/filesystem": "^6.0|^7.0" }, - "bin": [ - "bin/captainhook" - ], "type": "library", - "extra": { - "captainhook": { - "config": "captainhook.json" - }, - "branch-alias": { - "dev-main": "6.0.x-dev" - } - }, "autoload": { "psr-4": { - "CaptainHook\\App\\": "src/" - } + "Symfony\\Component\\Finder\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -7112,56 +6916,152 @@ ], "authors": [ { - "name": "Sebastian Feldmann", - "email": "sf@sebastian-feldmann.info" + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" } ], - "description": "PHP git hook manager", - "homepage": "http://php.captainhook.info/", - "keywords": [ - "commit-msg", - "git", - "hooks", - "post-merge", - "pre-commit", - "pre-push", - "prepare-commit-msg" - ], + "description": "Finds files and directories via an intuitive fluent interface", + "homepage": "https://symfony.com", "support": { - "issues": "https://github.com/captainhook-git/captainhook/issues", - "source": "https://github.com/captainhook-git/captainhook/tree/5.25.6" + "source": "https://github.com/symfony/finder/tree/v6.4.27" }, "funding": [ { - "url": "https://github.com/sponsors/sebastianfeldmann", + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://github.com/nicolas-grekas", "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" } ], - "time": "2025-07-02T22:06:49+00:00" + "time": "2025-10-15T18:32:00+00:00" }, { - "name": "captainhook/secrets", - "version": "0.9.7", + "name": "symfony/framework-bundle", + "version": "v6.4.27", "source": { "type": "git", - "url": "https://github.com/captainhook-git/secrets.git", - "reference": "d62c97f75f81ac98e22f1c282482bd35fa82f631" + "url": "https://github.com/symfony/framework-bundle.git", + "reference": "ee58c2a73218d8f4763824e1414c5f9b4519c91f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/captainhook-git/secrets/zipball/d62c97f75f81ac98e22f1c282482bd35fa82f631", - "reference": "d62c97f75f81ac98e22f1c282482bd35fa82f631", + "url": "https://api.github.com/repos/symfony/framework-bundle/zipball/ee58c2a73218d8f4763824e1414c5f9b4519c91f", + "reference": "ee58c2a73218d8f4763824e1414c5f9b4519c91f", "shasum": "" }, "require": { - "ext-mbstring": "*", - "php": ">=8.0" + "composer-runtime-api": ">=2.1", + "ext-xml": "*", + "php": ">=8.1", + "symfony/cache": "^5.4|^6.0|^7.0", + "symfony/config": "^6.1|^7.0", + "symfony/dependency-injection": "^6.4.12|^7.0", + "symfony/deprecation-contracts": "^2.5|^3", + "symfony/error-handler": "^6.1|^7.0", + "symfony/event-dispatcher": "^5.4|^6.0|^7.0", + "symfony/filesystem": "^5.4|^6.0|^7.0", + "symfony/finder": "^5.4|^6.0|^7.0", + "symfony/http-foundation": "^6.4|^7.0", + "symfony/http-kernel": "^6.4", + "symfony/polyfill-mbstring": "~1.0", + "symfony/routing": "^6.4|^7.0" }, - "type": "library", + "conflict": { + "doctrine/annotations": "<1.13.1", + "doctrine/persistence": "<1.3", + "phpdocumentor/reflection-docblock": "<3.2.2", + "phpdocumentor/type-resolver": "<1.4.0", + "symfony/asset": "<5.4", + "symfony/asset-mapper": "<6.4", + "symfony/clock": "<6.3", + "symfony/console": "<5.4|>=7.0", + "symfony/dom-crawler": "<6.4", + "symfony/dotenv": "<5.4", + "symfony/form": "<5.4", + "symfony/http-client": "<6.3", + "symfony/lock": "<5.4", + "symfony/mailer": "<5.4", + "symfony/messenger": "<6.3", + "symfony/mime": "<6.4", + "symfony/property-access": "<5.4", + "symfony/property-info": "<5.4", + "symfony/runtime": "<5.4.45|>=6.0,<6.4.13|>=7.0,<7.1.6", + "symfony/scheduler": "<6.4.4|>=7.0.0,<7.0.4", + "symfony/security-core": "<5.4", + "symfony/security-csrf": "<5.4", + "symfony/serializer": "<6.4", + "symfony/stopwatch": "<5.4", + "symfony/translation": "<6.4", + "symfony/twig-bridge": "<5.4", + "symfony/twig-bundle": "<5.4", + "symfony/validator": "<6.4", + "symfony/web-profiler-bundle": "<6.4", + "symfony/workflow": "<6.4" + }, + "require-dev": { + "doctrine/annotations": "^1.13.1|^2", + "doctrine/persistence": "^1.3|^2|^3", + "dragonmantank/cron-expression": "^3.1", + "phpdocumentor/reflection-docblock": "^3.0|^4.0|^5.0", + "seld/jsonlint": "^1.10", + "symfony/asset": "^5.4|^6.0|^7.0", + "symfony/asset-mapper": "^6.4|^7.0", + "symfony/browser-kit": "^5.4|^6.0|^7.0", + "symfony/clock": "^6.2|^7.0", + "symfony/console": "^5.4.9|^6.0.9|^7.0", + "symfony/css-selector": "^5.4|^6.0|^7.0", + "symfony/dom-crawler": "^6.4|^7.0", + "symfony/dotenv": "^5.4|^6.0|^7.0", + "symfony/expression-language": "^5.4|^6.0|^7.0", + "symfony/form": "^5.4|^6.0|^7.0", + "symfony/html-sanitizer": "^6.1|^7.0", + "symfony/http-client": "^6.3|^7.0", + "symfony/lock": "^5.4|^6.0|^7.0", + "symfony/mailer": "^5.4|^6.0|^7.0", + "symfony/messenger": "^6.3|^7.0", + "symfony/mime": "^6.4|^7.0", + "symfony/notifier": "^5.4|^6.0|^7.0", + "symfony/polyfill-intl-icu": "~1.0", + "symfony/process": "^5.4|^6.0|^7.0", + "symfony/property-info": "^5.4|^6.0|^7.0", + "symfony/rate-limiter": "^5.4|^6.0|^7.0", + "symfony/scheduler": "^6.4.4|^7.0.4", + "symfony/security-bundle": "^5.4|^6.0|^7.0", + "symfony/semaphore": "^5.4|^6.0|^7.0", + "symfony/serializer": "^6.4|^7.0", + "symfony/stopwatch": "^5.4|^6.0|^7.0", + "symfony/string": "^5.4|^6.0|^7.0", + "symfony/translation": "^6.4|^7.0", + "symfony/twig-bundle": "^5.4|^6.0|^7.0", + "symfony/uid": "^5.4|^6.0|^7.0", + "symfony/validator": "^6.4|^7.0", + "symfony/web-link": "^5.4|^6.0|^7.0", + "symfony/workflow": "^6.4|^7.0", + "symfony/yaml": "^5.4|^6.0|^7.0", + "twig/twig": "^2.10|^3.0.4" + }, + "type": "symfony-bundle", "autoload": { "psr-4": { - "CaptainHook\\Secrets\\": "src/" - } + "Symfony\\Bundle\\FrameworkBundle\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -7169,59 +7069,80 @@ ], "authors": [ { - "name": "Sebastian Feldmann", - "email": "sf@sebastian-feldmann.info" + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" } ], - "description": "Utility classes to detect secrets", - "keywords": [ - "commit-msg", - "keys", - "passwords", - "post-merge", - "prepare-commit-msg", - "secrets", - "tokens" - ], + "description": "Provides a tight integration between Symfony components and the Symfony full-stack framework", + "homepage": "https://symfony.com", "support": { - "issues": "https://github.com/captainhook-git/secrets/issues", - "source": "https://github.com/captainhook-git/secrets/tree/0.9.7" + "source": "https://github.com/symfony/framework-bundle/tree/v6.4.27" }, "funding": [ { - "url": "https://github.com/sponsors/sebastianfeldmann", + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://github.com/nicolas-grekas", "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" } ], - "time": "2025-04-08T07:10:48+00:00" + "time": "2025-10-15T17:35:09+00:00" }, { - "name": "clue/ndjson-react", - "version": "v1.3.0", + "name": "symfony/http-foundation", + "version": "v6.4.29", "source": { "type": "git", - "url": "https://github.com/clue/reactphp-ndjson.git", - "reference": "392dc165fce93b5bb5c637b67e59619223c931b0" + "url": "https://github.com/symfony/http-foundation.git", + "reference": "b03d11e015552a315714c127d8d1e0f9e970ec88" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/clue/reactphp-ndjson/zipball/392dc165fce93b5bb5c637b67e59619223c931b0", - "reference": "392dc165fce93b5bb5c637b67e59619223c931b0", + "url": "https://api.github.com/repos/symfony/http-foundation/zipball/b03d11e015552a315714c127d8d1e0f9e970ec88", + "reference": "b03d11e015552a315714c127d8d1e0f9e970ec88", "shasum": "" }, "require": { - "php": ">=5.3", - "react/stream": "^1.2" + "php": ">=8.1", + "symfony/deprecation-contracts": "^2.5|^3", + "symfony/polyfill-mbstring": "~1.1", + "symfony/polyfill-php83": "^1.27" + }, + "conflict": { + "symfony/cache": "<6.4.12|>=7.0,<7.1.5" }, "require-dev": { - "phpunit/phpunit": "^9.5 || ^5.7 || ^4.8.35", - "react/event-loop": "^1.2" + "doctrine/dbal": "^2.13.1|^3|^4", + "predis/predis": "^1.1|^2.0", + "symfony/cache": "^6.4.12|^7.1.5", + "symfony/dependency-injection": "^5.4|^6.0|^7.0", + "symfony/expression-language": "^5.4|^6.0|^7.0", + "symfony/http-kernel": "^5.4.12|^6.0.12|^6.1.4|^7.0", + "symfony/mime": "^5.4|^6.0|^7.0", + "symfony/rate-limiter": "^5.4|^6.0|^7.0" }, "type": "library", "autoload": { "psr-4": { - "Clue\\React\\NDJson\\": "src/" - } + "Symfony\\Component\\HttpFoundation\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -7229,67 +7150,117 @@ ], "authors": [ { - "name": "Christian Lück", - "email": "christian@clue.engineering" + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" } ], - "description": "Streaming newline-delimited JSON (NDJSON) parser and encoder for ReactPHP.", - "homepage": "https://github.com/clue/reactphp-ndjson", - "keywords": [ - "NDJSON", - "json", - "jsonlines", - "newline", - "reactphp", - "streaming" - ], + "description": "Defines an object-oriented layer for the HTTP specification", + "homepage": "https://symfony.com", "support": { - "issues": "https://github.com/clue/reactphp-ndjson/issues", - "source": "https://github.com/clue/reactphp-ndjson/tree/v1.3.0" + "source": "https://github.com/symfony/http-foundation/tree/v6.4.29" }, "funding": [ { - "url": "https://clue.engineering/support", + "url": "https://symfony.com/sponsor", "type": "custom" }, { - "url": "https://github.com/clue", + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://github.com/nicolas-grekas", "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" } ], - "time": "2022-12-23T10:58:28+00:00" + "time": "2025-11-08T16:40:12+00:00" }, { - "name": "composer/semver", - "version": "3.4.3", + "name": "symfony/http-kernel", + "version": "v6.4.29", "source": { "type": "git", - "url": "https://github.com/composer/semver.git", - "reference": "4313d26ada5e0c4edfbd1dc481a92ff7bff91f12" + "url": "https://github.com/symfony/http-kernel.git", + "reference": "18818b48f54c1d2bd92b41d82d8345af50b15658" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/composer/semver/zipball/4313d26ada5e0c4edfbd1dc481a92ff7bff91f12", - "reference": "4313d26ada5e0c4edfbd1dc481a92ff7bff91f12", + "url": "https://api.github.com/repos/symfony/http-kernel/zipball/18818b48f54c1d2bd92b41d82d8345af50b15658", + "reference": "18818b48f54c1d2bd92b41d82d8345af50b15658", "shasum": "" }, "require": { - "php": "^5.3.2 || ^7.0 || ^8.0" + "php": ">=8.1", + "psr/log": "^1|^2|^3", + "symfony/deprecation-contracts": "^2.5|^3", + "symfony/error-handler": "^6.4|^7.0", + "symfony/event-dispatcher": "^5.4|^6.0|^7.0", + "symfony/http-foundation": "^6.4|^7.0", + "symfony/polyfill-ctype": "^1.8" + }, + "conflict": { + "symfony/browser-kit": "<5.4", + "symfony/cache": "<5.4", + "symfony/config": "<6.1", + "symfony/console": "<5.4", + "symfony/dependency-injection": "<6.4", + "symfony/doctrine-bridge": "<5.4", + "symfony/form": "<5.4", + "symfony/http-client": "<5.4", + "symfony/http-client-contracts": "<2.5", + "symfony/mailer": "<5.4", + "symfony/messenger": "<5.4", + "symfony/translation": "<5.4", + "symfony/translation-contracts": "<2.5", + "symfony/twig-bridge": "<5.4", + "symfony/validator": "<6.4", + "symfony/var-dumper": "<6.3", + "twig/twig": "<2.13" + }, + "provide": { + "psr/log-implementation": "1.0|2.0|3.0" }, "require-dev": { - "phpstan/phpstan": "^1.11", - "symfony/phpunit-bridge": "^3 || ^7" + "psr/cache": "^1.0|^2.0|^3.0", + "symfony/browser-kit": "^5.4|^6.0|^7.0", + "symfony/clock": "^6.2|^7.0", + "symfony/config": "^6.1|^7.0", + "symfony/console": "^5.4|^6.0|^7.0", + "symfony/css-selector": "^5.4|^6.0|^7.0", + "symfony/dependency-injection": "^6.4|^7.0", + "symfony/dom-crawler": "^5.4|^6.0|^7.0", + "symfony/expression-language": "^5.4|^6.0|^7.0", + "symfony/finder": "^5.4|^6.0|^7.0", + "symfony/http-client-contracts": "^2.5|^3", + "symfony/process": "^5.4|^6.0|^7.0", + "symfony/property-access": "^5.4.5|^6.0.5|^7.0", + "symfony/routing": "^5.4|^6.0|^7.0", + "symfony/serializer": "^6.4.4|^7.0.4", + "symfony/stopwatch": "^5.4|^6.0|^7.0", + "symfony/translation": "^5.4|^6.0|^7.0", + "symfony/translation-contracts": "^2.5|^3", + "symfony/uid": "^5.4|^6.0|^7.0", + "symfony/validator": "^6.4|^7.0", + "symfony/var-dumper": "^5.4|^6.4|^7.0", + "symfony/var-exporter": "^6.2|^7.0", + "twig/twig": "^2.13|^3.0.4" }, "type": "library", - "extra": { - "branch-alias": { - "dev-main": "3.x-dev" - } - }, "autoload": { "psr-4": { - "Composer\\Semver\\": "src" - } + "Symfony\\Component\\HttpKernel\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -7297,78 +7268,70 @@ ], "authors": [ { - "name": "Nils Adermann", - "email": "naderman@naderman.de", - "homepage": "http://www.naderman.de" - }, - { - "name": "Jordi Boggiano", - "email": "j.boggiano@seld.be", - "homepage": "http://seld.be" + "name": "Fabien Potencier", + "email": "fabien@symfony.com" }, { - "name": "Rob Bast", - "email": "rob.bast@gmail.com", - "homepage": "http://robbast.nl" + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" } ], - "description": "Semver library that offers utilities, version constraint parsing and validation.", - "keywords": [ - "semantic", - "semver", - "validation", - "versioning" - ], + "description": "Provides a structured process for converting a Request into a Response", + "homepage": "https://symfony.com", "support": { - "irc": "ircs://irc.libera.chat:6697/composer", - "issues": "https://github.com/composer/semver/issues", - "source": "https://github.com/composer/semver/tree/3.4.3" + "source": "https://github.com/symfony/http-kernel/tree/v6.4.29" }, "funding": [ { - "url": "https://packagist.com", + "url": "https://symfony.com/sponsor", "type": "custom" }, { - "url": "https://github.com/composer", + "url": "https://github.com/fabpot", "type": "github" }, { - "url": "https://tidelift.com/funding/github/packagist/composer/composer", + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", "type": "tidelift" } ], - "time": "2024-09-19T14:15:21+00:00" + "time": "2025-11-12T11:22:59+00:00" }, { - "name": "composer/xdebug-handler", - "version": "3.0.5", + "name": "symfony/intl", + "version": "v6.4.27", "source": { "type": "git", - "url": "https://github.com/composer/xdebug-handler.git", - "reference": "6c1925561632e83d60a44492e0b344cf48ab85ef" + "url": "https://github.com/symfony/intl.git", + "reference": "ccc52824610e7de72424cf516e52d4fb39e3bfa5" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/composer/xdebug-handler/zipball/6c1925561632e83d60a44492e0b344cf48ab85ef", - "reference": "6c1925561632e83d60a44492e0b344cf48ab85ef", + "url": "https://api.github.com/repos/symfony/intl/zipball/ccc52824610e7de72424cf516e52d4fb39e3bfa5", + "reference": "ccc52824610e7de72424cf516e52d4fb39e3bfa5", "shasum": "" }, "require": { - "composer/pcre": "^1 || ^2 || ^3", - "php": "^7.2.5 || ^8.0", - "psr/log": "^1 || ^2 || ^3" + "php": ">=8.1" }, "require-dev": { - "phpstan/phpstan": "^1.0", - "phpstan/phpstan-strict-rules": "^1.1", - "phpunit/phpunit": "^8.5 || ^9.6 || ^10.5" + "symfony/filesystem": "^5.4|^6.0|^7.0", + "symfony/finder": "^5.4|^6.0|^7.0", + "symfony/var-exporter": "^5.4|^6.0|^7.0" }, "type": "library", "autoload": { "psr-4": { - "Composer\\XdebugHandler\\": "src" - } + "Symfony\\Component\\Intl\\": "" + }, + "exclude-from-classmap": [ + "/Tests/", + "/Resources/data/" + ] }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -7376,61 +7339,87 @@ ], "authors": [ { - "name": "John Stevenson", - "email": "john-stevenson@blueyonder.co.uk" + "name": "Bernhard Schussek", + "email": "bschussek@gmail.com" + }, + { + "name": "Eriksen Costa", + "email": "eriksen.costa@infranology.com.br" + }, + { + "name": "Igor Wiedler", + "email": "igor@wiedler.ch" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" } ], - "description": "Restarts a process without Xdebug.", + "description": "Provides access to the localization data of the ICU library", + "homepage": "https://symfony.com", "keywords": [ - "Xdebug", - "performance" + "i18n", + "icu", + "internationalization", + "intl", + "l10n", + "localization" ], "support": { - "irc": "ircs://irc.libera.chat:6697/composer", - "issues": "https://github.com/composer/xdebug-handler/issues", - "source": "https://github.com/composer/xdebug-handler/tree/3.0.5" + "source": "https://github.com/symfony/intl/tree/v6.4.27" }, "funding": [ { - "url": "https://packagist.com", + "url": "https://symfony.com/sponsor", "type": "custom" }, { - "url": "https://github.com/composer", + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://github.com/nicolas-grekas", "type": "github" }, { - "url": "https://tidelift.com/funding/github/packagist/composer/composer", + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", "type": "tidelift" } ], - "time": "2024-05-06T16:37:16+00:00" + "time": "2025-10-01T06:01:44+00:00" }, { - "name": "evenement/evenement", - "version": "v3.0.2", + "name": "symfony/password-hasher", + "version": "v6.4.24", "source": { "type": "git", - "url": "https://github.com/igorw/evenement.git", - "reference": "0a16b0d71ab13284339abb99d9d2bd813640efbc" + "url": "https://github.com/symfony/password-hasher.git", + "reference": "dcab5ac87450aaed26483ba49c2ce86808da7557" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/igorw/evenement/zipball/0a16b0d71ab13284339abb99d9d2bd813640efbc", - "reference": "0a16b0d71ab13284339abb99d9d2bd813640efbc", + "url": "https://api.github.com/repos/symfony/password-hasher/zipball/dcab5ac87450aaed26483ba49c2ce86808da7557", + "reference": "dcab5ac87450aaed26483ba49c2ce86808da7557", "shasum": "" }, "require": { - "php": ">=7.0" + "php": ">=8.1" + }, + "conflict": { + "symfony/security-core": "<5.4" }, "require-dev": { - "phpunit/phpunit": "^9 || ^6" + "symfony/console": "^5.4|^6.0|^7.0", + "symfony/security-core": "^5.4|^6.0|^7.0" }, "type": "library", "autoload": { "psr-4": { - "Evenement\\": "src/" - } + "Symfony\\Component\\PasswordHasher\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -7438,53 +7427,79 @@ ], "authors": [ { - "name": "Igor Wiedler", - "email": "igor@wiedler.ch" + "name": "Robin Chalas", + "email": "robin.chalas@gmail.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" } ], - "description": "Événement is a very simple event dispatching library for PHP", + "description": "Provides password hashing utilities", + "homepage": "https://symfony.com", "keywords": [ - "event-dispatcher", - "event-emitter" + "hashing", + "password" ], "support": { - "issues": "https://github.com/igorw/evenement/issues", - "source": "https://github.com/igorw/evenement/tree/v3.0.2" + "source": "https://github.com/symfony/password-hasher/tree/v6.4.24" }, - "time": "2023-08-08T05:53:35+00:00" + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2025-07-10T08:14:14+00:00" }, { - "name": "fidry/cpu-core-counter", - "version": "1.2.0", + "name": "symfony/polyfill-ctype", + "version": "v1.33.0", "source": { "type": "git", - "url": "https://github.com/theofidry/cpu-core-counter.git", - "reference": "8520451a140d3f46ac33042715115e290cf5785f" + "url": "https://github.com/symfony/polyfill-ctype.git", + "reference": "a3cc8b044a6ea513310cbd48ef7333b384945638" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/theofidry/cpu-core-counter/zipball/8520451a140d3f46ac33042715115e290cf5785f", - "reference": "8520451a140d3f46ac33042715115e290cf5785f", + "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/a3cc8b044a6ea513310cbd48ef7333b384945638", + "reference": "a3cc8b044a6ea513310cbd48ef7333b384945638", "shasum": "" }, "require": { - "php": "^7.2 || ^8.0" + "php": ">=7.2" }, - "require-dev": { - "fidry/makefile": "^0.2.0", - "fidry/php-cs-fixer-config": "^1.1.2", - "phpstan/extension-installer": "^1.2.0", - "phpstan/phpstan": "^1.9.2", - "phpstan/phpstan-deprecation-rules": "^1.0.0", - "phpstan/phpstan-phpunit": "^1.2.2", - "phpstan/phpstan-strict-rules": "^1.4.4", - "phpunit/phpunit": "^8.5.31 || ^9.5.26", - "webmozarts/strict-phpunit": "^7.5" + "provide": { + "ext-ctype": "*" + }, + "suggest": { + "ext-ctype": "For best performance" }, "type": "library", + "extra": { + "thanks": { + "url": "https://github.com/symfony/polyfill", + "name": "symfony/polyfill" + } + }, "autoload": { + "files": [ + "bootstrap.php" + ], "psr-4": { - "Fidry\\CpuCoreCounter\\": "src/" + "Symfony\\Polyfill\\Ctype\\": "" } }, "notification-url": "https://packagist.org/downloads/", @@ -7493,98 +7508,79 @@ ], "authors": [ { - "name": "Théo FIDRY", - "email": "theo.fidry@gmail.com" + "name": "Gert de Pagter", + "email": "BackEndTea@gmail.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" } ], - "description": "Tiny utility to get the number of CPU cores.", + "description": "Symfony polyfill for ctype functions", + "homepage": "https://symfony.com", "keywords": [ - "CPU", - "core" + "compatibility", + "ctype", + "polyfill", + "portable" ], "support": { - "issues": "https://github.com/theofidry/cpu-core-counter/issues", - "source": "https://github.com/theofidry/cpu-core-counter/tree/1.2.0" + "source": "https://github.com/symfony/polyfill-ctype/tree/v1.33.0" }, "funding": [ { - "url": "https://github.com/theofidry", + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://github.com/nicolas-grekas", "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" } ], - "time": "2024-08-06T10:04:20+00:00" + "time": "2024-09-09T11:45:10+00:00" }, { - "name": "friendsofphp/php-cs-fixer", - "version": "v3.82.1", + "name": "symfony/polyfill-intl-grapheme", + "version": "v1.33.0", "source": { "type": "git", - "url": "https://github.com/PHP-CS-Fixer/PHP-CS-Fixer.git", - "reference": "240f67bbf812ab8ac097c3097e7e65d43f9a0079" + "url": "https://github.com/symfony/polyfill-intl-grapheme.git", + "reference": "380872130d3a5dd3ace2f4010d95125fde5d5c70" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/PHP-CS-Fixer/PHP-CS-Fixer/zipball/240f67bbf812ab8ac097c3097e7e65d43f9a0079", - "reference": "240f67bbf812ab8ac097c3097e7e65d43f9a0079", + "url": "https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/380872130d3a5dd3ace2f4010d95125fde5d5c70", + "reference": "380872130d3a5dd3ace2f4010d95125fde5d5c70", "shasum": "" }, "require": { - "clue/ndjson-react": "^1.0", - "composer/semver": "^3.4", - "composer/xdebug-handler": "^3.0.5", - "ext-filter": "*", - "ext-hash": "*", - "ext-json": "*", - "ext-tokenizer": "*", - "fidry/cpu-core-counter": "^1.2", - "php": "^7.4 || ^8.0", - "react/child-process": "^0.6.6", - "react/event-loop": "^1.0", - "react/promise": "^2.11 || ^3.0", - "react/socket": "^1.0", - "react/stream": "^1.0", - "sebastian/diff": "^4.0.6 || ^5.1.1 || ^6.0.2 || ^7.0", - "symfony/console": "^5.4.45 || ^6.4.13 || ^7.0", - "symfony/event-dispatcher": "^5.4.45 || ^6.4.13 || ^7.0", - "symfony/filesystem": "^5.4.45 || ^6.4.13 || ^7.0", - "symfony/finder": "^5.4.45 || ^6.4.17 || ^7.0", - "symfony/options-resolver": "^5.4.45 || ^6.4.16 || ^7.0", - "symfony/polyfill-mbstring": "^1.32", - "symfony/polyfill-php80": "^1.32", - "symfony/polyfill-php81": "^1.32", - "symfony/process": "^5.4.47 || ^6.4.20 || ^7.2", - "symfony/stopwatch": "^5.4.45 || ^6.4.19 || ^7.0" - }, - "require-dev": { - "facile-it/paraunit": "^1.3.1 || ^2.6", - "infection/infection": "^0.29.14", - "justinrainbow/json-schema": "^5.3 || ^6.4", - "keradus/cli-executor": "^2.2", - "mikey179/vfsstream": "^1.6.12", - "php-coveralls/php-coveralls": "^2.8", - "php-cs-fixer/accessible-object": "^1.1", - "php-cs-fixer/phpunit-constraint-isidenticalstring": "^1.6", - "php-cs-fixer/phpunit-constraint-xmlmatchesxsd": "^1.6", - "phpunit/phpunit": "^9.6.23 || ^10.5.47 || ^11.5.25", - "symfony/polyfill-php84": "^1.32", - "symfony/var-dumper": "^5.4.48 || ^6.4.23 || ^7.3.1", - "symfony/yaml": "^5.4.45 || ^6.4.23 || ^7.3.1" + "php": ">=7.2" }, "suggest": { - "ext-dom": "For handling output formats in XML", - "ext-mbstring": "For handling non-UTF8 characters." + "ext-intl": "For best performance" + }, + "type": "library", + "extra": { + "thanks": { + "url": "https://github.com/symfony/polyfill", + "name": "symfony/polyfill" + } }, - "bin": [ - "php-cs-fixer" - ], - "type": "application", "autoload": { + "files": [ + "bootstrap.php" + ], "psr-4": { - "PhpCsFixer\\": "src/" - }, - "exclude-from-classmap": [ - "src/Fixer/Internal/*" - ] + "Symfony\\Polyfill\\Intl\\Grapheme\\": "" + } }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -7592,849 +7588,1127 @@ ], "authors": [ { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" + "name": "Nicolas Grekas", + "email": "p@tchwork.com" }, { - "name": "Dariusz Rumiński", - "email": "dariusz.ruminski@gmail.com" + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" } ], - "description": "A tool to automatically fix PHP code style", + "description": "Symfony polyfill for intl's grapheme_* functions", + "homepage": "https://symfony.com", "keywords": [ - "Static code analysis", - "fixer", - "standards", - "static analysis" + "compatibility", + "grapheme", + "intl", + "polyfill", + "portable", + "shim" ], "support": { - "issues": "https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues", - "source": "https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/tree/v3.82.1" + "source": "https://github.com/symfony/polyfill-intl-grapheme/tree/v1.33.0" }, "funding": [ { - "url": "https://github.com/keradus", + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://github.com/nicolas-grekas", "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" } ], - "time": "2025-07-08T10:18:50+00:00" + "time": "2025-06-27T09:58:17+00:00" }, { - "name": "mikey179/vfsstream", - "version": "v1.6.12", + "name": "symfony/polyfill-intl-icu", + "version": "v1.33.0", "source": { "type": "git", - "url": "https://github.com/bovigo/vfsStream.git", - "reference": "fe695ec993e0a55c3abdda10a9364eb31c6f1bf0" + "url": "https://github.com/symfony/polyfill-intl-icu.git", + "reference": "bfc8fa13dbaf21d69114b0efcd72ab700fb04d0c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/bovigo/vfsStream/zipball/fe695ec993e0a55c3abdda10a9364eb31c6f1bf0", - "reference": "fe695ec993e0a55c3abdda10a9364eb31c6f1bf0", + "url": "https://api.github.com/repos/symfony/polyfill-intl-icu/zipball/bfc8fa13dbaf21d69114b0efcd72ab700fb04d0c", + "reference": "bfc8fa13dbaf21d69114b0efcd72ab700fb04d0c", "shasum": "" }, "require": { - "php": ">=7.1.0" + "php": ">=7.2" }, - "require-dev": { - "phpunit/phpunit": "^7.5||^8.5||^9.6", - "yoast/phpunit-polyfills": "^2.0" + "suggest": { + "ext-intl": "For best performance and support of other locales than \"en\"" }, "type": "library", "extra": { - "branch-alias": { - "dev-master": "1.6.x-dev" + "thanks": { + "url": "https://github.com/symfony/polyfill", + "name": "symfony/polyfill" } }, "autoload": { - "psr-0": { - "org\\bovigo\\vfs\\": "src/main/php" - } + "files": [ + "bootstrap.php" + ], + "psr-4": { + "Symfony\\Polyfill\\Intl\\Icu\\": "" + }, + "classmap": [ + "Resources/stubs" + ], + "exclude-from-classmap": [ + "/Tests/" + ] }, "notification-url": "https://packagist.org/downloads/", "license": [ - "BSD-3-Clause" + "MIT" ], "authors": [ { - "name": "Frank Kleine", - "homepage": "http://frankkleine.de/", - "role": "Developer" + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" } ], - "description": "Virtual file system to mock the real file system in unit tests.", - "homepage": "http://vfs.bovigo.org/", + "description": "Symfony polyfill for intl's ICU-related data and classes", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "icu", + "intl", + "polyfill", + "portable", + "shim" + ], "support": { - "issues": "https://github.com/bovigo/vfsStream/issues", - "source": "https://github.com/bovigo/vfsStream/tree/master", - "wiki": "https://github.com/bovigo/vfsStream/wiki" + "source": "https://github.com/symfony/polyfill-intl-icu/tree/v1.33.0" }, - "time": "2024-08-29T18:43:31+00:00" + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2025-06-20T22:24:30+00:00" }, { - "name": "myclabs/deep-copy", - "version": "1.13.3", + "name": "symfony/polyfill-intl-normalizer", + "version": "v1.33.0", "source": { "type": "git", - "url": "https://github.com/myclabs/DeepCopy.git", - "reference": "faed855a7b5f4d4637717c2b3863e277116beb36" + "url": "https://github.com/symfony/polyfill-intl-normalizer.git", + "reference": "3833d7255cc303546435cb650316bff708a1c75c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/faed855a7b5f4d4637717c2b3863e277116beb36", - "reference": "faed855a7b5f4d4637717c2b3863e277116beb36", + "url": "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/3833d7255cc303546435cb650316bff708a1c75c", + "reference": "3833d7255cc303546435cb650316bff708a1c75c", "shasum": "" }, "require": { - "php": "^7.1 || ^8.0" - }, - "conflict": { - "doctrine/collections": "<1.6.8", - "doctrine/common": "<2.13.3 || >=3 <3.2.2" + "php": ">=7.2" }, - "require-dev": { - "doctrine/collections": "^1.6.8", - "doctrine/common": "^2.13.3 || ^3.2.2", - "phpspec/prophecy": "^1.10", - "phpunit/phpunit": "^7.5.20 || ^8.5.23 || ^9.5.13" + "suggest": { + "ext-intl": "For best performance" }, "type": "library", + "extra": { + "thanks": { + "url": "https://github.com/symfony/polyfill", + "name": "symfony/polyfill" + } + }, "autoload": { "files": [ - "src/DeepCopy/deep_copy.php" + "bootstrap.php" ], "psr-4": { - "DeepCopy\\": "src/DeepCopy/" - } + "Symfony\\Polyfill\\Intl\\Normalizer\\": "" + }, + "classmap": [ + "Resources/stubs" + ] }, "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], - "description": "Create deep copies (clones) of your objects", + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill for intl's Normalizer class and related functions", + "homepage": "https://symfony.com", "keywords": [ - "clone", - "copy", - "duplicate", - "object", - "object graph" + "compatibility", + "intl", + "normalizer", + "polyfill", + "portable", + "shim" ], "support": { - "issues": "https://github.com/myclabs/DeepCopy/issues", - "source": "https://github.com/myclabs/DeepCopy/tree/1.13.3" + "source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.33.0" }, "funding": [ { - "url": "https://tidelift.com/funding/github/packagist/myclabs/deep-copy", + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", "type": "tidelift" } ], - "time": "2025-07-05T12:25:42+00:00" + "time": "2024-09-09T11:45:10+00:00" }, { - "name": "nikic/php-parser", - "version": "v5.5.0", + "name": "symfony/polyfill-mbstring", + "version": "v1.33.0", "source": { "type": "git", - "url": "https://github.com/nikic/PHP-Parser.git", - "reference": "ae59794362fe85e051a58ad36b289443f57be7a9" + "url": "https://github.com/symfony/polyfill-mbstring.git", + "reference": "6d857f4d76bd4b343eac26d6b539585d2bc56493" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/ae59794362fe85e051a58ad36b289443f57be7a9", - "reference": "ae59794362fe85e051a58ad36b289443f57be7a9", + "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/6d857f4d76bd4b343eac26d6b539585d2bc56493", + "reference": "6d857f4d76bd4b343eac26d6b539585d2bc56493", "shasum": "" }, "require": { - "ext-ctype": "*", - "ext-json": "*", - "ext-tokenizer": "*", - "php": ">=7.4" + "ext-iconv": "*", + "php": ">=7.2" }, - "require-dev": { - "ircmaxell/php-yacc": "^0.0.7", - "phpunit/phpunit": "^9.0" + "provide": { + "ext-mbstring": "*" + }, + "suggest": { + "ext-mbstring": "For best performance" }, - "bin": [ - "bin/php-parse" - ], "type": "library", "extra": { - "branch-alias": { - "dev-master": "5.0-dev" + "thanks": { + "url": "https://github.com/symfony/polyfill", + "name": "symfony/polyfill" } }, "autoload": { + "files": [ + "bootstrap.php" + ], "psr-4": { - "PhpParser\\": "lib/PhpParser" + "Symfony\\Polyfill\\Mbstring\\": "" } }, "notification-url": "https://packagist.org/downloads/", "license": [ - "BSD-3-Clause" + "MIT" ], "authors": [ { - "name": "Nikita Popov" + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" } ], - "description": "A PHP parser written in PHP", + "description": "Symfony polyfill for the Mbstring extension", + "homepage": "https://symfony.com", "keywords": [ - "parser", - "php" + "compatibility", + "mbstring", + "polyfill", + "portable", + "shim" ], "support": { - "issues": "https://github.com/nikic/PHP-Parser/issues", - "source": "https://github.com/nikic/PHP-Parser/tree/v5.5.0" + "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.33.0" }, - "time": "2025-05-31T08:24:38+00:00" + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2024-12-23T08:48:59+00:00" }, { - "name": "phar-io/manifest", - "version": "2.0.4", + "name": "symfony/polyfill-php80", + "version": "v1.33.0", "source": { "type": "git", - "url": "https://github.com/phar-io/manifest.git", - "reference": "54750ef60c58e43759730615a392c31c80e23176" + "url": "https://github.com/symfony/polyfill-php80.git", + "reference": "0cc9dd0f17f61d8131e7df6b84bd344899fe2608" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phar-io/manifest/zipball/54750ef60c58e43759730615a392c31c80e23176", - "reference": "54750ef60c58e43759730615a392c31c80e23176", + "url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/0cc9dd0f17f61d8131e7df6b84bd344899fe2608", + "reference": "0cc9dd0f17f61d8131e7df6b84bd344899fe2608", "shasum": "" }, "require": { - "ext-dom": "*", - "ext-libxml": "*", - "ext-phar": "*", - "ext-xmlwriter": "*", - "phar-io/version": "^3.0.1", - "php": "^7.2 || ^8.0" + "php": ">=7.2" }, "type": "library", "extra": { - "branch-alias": { - "dev-master": "2.0.x-dev" + "thanks": { + "url": "https://github.com/symfony/polyfill", + "name": "symfony/polyfill" } }, "autoload": { + "files": [ + "bootstrap.php" + ], + "psr-4": { + "Symfony\\Polyfill\\Php80\\": "" + }, "classmap": [ - "src/" + "Resources/stubs" ] }, "notification-url": "https://packagist.org/downloads/", "license": [ - "BSD-3-Clause" + "MIT" ], "authors": [ { - "name": "Arne Blankerts", - "email": "arne@blankerts.de", - "role": "Developer" + "name": "Ion Bazan", + "email": "ion.bazan@gmail.com" }, { - "name": "Sebastian Heuer", - "email": "sebastian@phpeople.de", - "role": "Developer" + "name": "Nicolas Grekas", + "email": "p@tchwork.com" }, { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "Developer" + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" } ], - "description": "Component for reading phar.io manifest information from a PHP Archive (PHAR)", + "description": "Symfony polyfill backporting some PHP 8.0+ features to lower PHP versions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "polyfill", + "portable", + "shim" + ], "support": { - "issues": "https://github.com/phar-io/manifest/issues", - "source": "https://github.com/phar-io/manifest/tree/2.0.4" + "source": "https://github.com/symfony/polyfill-php80/tree/v1.33.0" }, "funding": [ { - "url": "https://github.com/theseer", + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://github.com/nicolas-grekas", "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" } ], - "time": "2024-03-03T12:33:53+00:00" + "time": "2025-01-02T08:10:11+00:00" }, { - "name": "phar-io/version", - "version": "3.2.1", + "name": "symfony/polyfill-php83", + "version": "v1.33.0", "source": { "type": "git", - "url": "https://github.com/phar-io/version.git", - "reference": "4f7fd7836c6f332bb2933569e566a0d6c4cbed74" + "url": "https://github.com/symfony/polyfill-php83.git", + "reference": "17f6f9a6b1735c0f163024d959f700cfbc5155e5" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phar-io/version/zipball/4f7fd7836c6f332bb2933569e566a0d6c4cbed74", - "reference": "4f7fd7836c6f332bb2933569e566a0d6c4cbed74", + "url": "https://api.github.com/repos/symfony/polyfill-php83/zipball/17f6f9a6b1735c0f163024d959f700cfbc5155e5", + "reference": "17f6f9a6b1735c0f163024d959f700cfbc5155e5", "shasum": "" }, "require": { - "php": "^7.2 || ^8.0" + "php": ">=7.2" }, "type": "library", + "extra": { + "thanks": { + "url": "https://github.com/symfony/polyfill", + "name": "symfony/polyfill" + } + }, "autoload": { + "files": [ + "bootstrap.php" + ], + "psr-4": { + "Symfony\\Polyfill\\Php83\\": "" + }, "classmap": [ - "src/" + "Resources/stubs" ] }, "notification-url": "https://packagist.org/downloads/", "license": [ - "BSD-3-Clause" + "MIT" ], "authors": [ { - "name": "Arne Blankerts", - "email": "arne@blankerts.de", - "role": "Developer" - }, - { - "name": "Sebastian Heuer", - "email": "sebastian@phpeople.de", - "role": "Developer" + "name": "Nicolas Grekas", + "email": "p@tchwork.com" }, { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "Developer" + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" } ], - "description": "Library for handling version information and constraints", + "description": "Symfony polyfill backporting some PHP 8.3+ features to lower PHP versions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "polyfill", + "portable", + "shim" + ], "support": { - "issues": "https://github.com/phar-io/version/issues", - "source": "https://github.com/phar-io/version/tree/3.2.1" + "source": "https://github.com/symfony/polyfill-php83/tree/v1.33.0" }, - "time": "2022-02-21T01:04:05+00:00" + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2025-07-08T02:45:35+00:00" }, { - "name": "phpstan/phpstan", - "version": "2.1.17", + "name": "symfony/polyfill-php85", + "version": "v1.33.0", "source": { "type": "git", - "url": "https://github.com/phpstan/phpstan.git", - "reference": "89b5ef665716fa2a52ecd2633f21007a6a349053" + "url": "https://github.com/symfony/polyfill-php85.git", + "reference": "d4e5fcd4ab3d998ab16c0db48e6cbb9a01993f91" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpstan/phpstan/zipball/89b5ef665716fa2a52ecd2633f21007a6a349053", - "reference": "89b5ef665716fa2a52ecd2633f21007a6a349053", + "url": "https://api.github.com/repos/symfony/polyfill-php85/zipball/d4e5fcd4ab3d998ab16c0db48e6cbb9a01993f91", + "reference": "d4e5fcd4ab3d998ab16c0db48e6cbb9a01993f91", "shasum": "" }, "require": { - "php": "^7.4|^8.0" - }, - "conflict": { - "phpstan/phpstan-shim": "*" + "php": ">=7.2" }, - "bin": [ - "phpstan", - "phpstan.phar" - ], "type": "library", + "extra": { + "thanks": { + "url": "https://github.com/symfony/polyfill", + "name": "symfony/polyfill" + } + }, "autoload": { "files": [ "bootstrap.php" + ], + "psr-4": { + "Symfony\\Polyfill\\Php85\\": "" + }, + "classmap": [ + "Resources/stubs" ] }, "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], - "description": "PHPStan - PHP Static Analysis Tool", + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill backporting some PHP 8.5+ features to lower PHP versions", + "homepage": "https://symfony.com", "keywords": [ - "dev", - "static analysis" + "compatibility", + "polyfill", + "portable", + "shim" ], "support": { - "docs": "https://phpstan.org/user-guide/getting-started", - "forum": "https://github.com/phpstan/phpstan/discussions", - "issues": "https://github.com/phpstan/phpstan/issues", - "security": "https://github.com/phpstan/phpstan/security/policy", - "source": "https://github.com/phpstan/phpstan-src" + "source": "https://github.com/symfony/polyfill-php85/tree/v1.33.0" }, "funding": [ { - "url": "https://github.com/ondrejmirtes", + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", "type": "github" }, { - "url": "https://github.com/phpstan", + "url": "https://github.com/nicolas-grekas", "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" } ], - "time": "2025-05-21T20:55:28+00:00" + "time": "2025-06-23T16:12:55+00:00" }, { - "name": "phpunit/php-code-coverage", - "version": "11.0.10", + "name": "symfony/routing", + "version": "v6.4.28", "source": { "type": "git", - "url": "https://github.com/sebastianbergmann/php-code-coverage.git", - "reference": "1a800a7446add2d79cc6b3c01c45381810367d76" + "url": "https://github.com/symfony/routing.git", + "reference": "ae064a6d9cf39507f9797658465a2ca702965fa8" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/1a800a7446add2d79cc6b3c01c45381810367d76", - "reference": "1a800a7446add2d79cc6b3c01c45381810367d76", + "url": "https://api.github.com/repos/symfony/routing/zipball/ae064a6d9cf39507f9797658465a2ca702965fa8", + "reference": "ae064a6d9cf39507f9797658465a2ca702965fa8", "shasum": "" }, "require": { - "ext-dom": "*", - "ext-libxml": "*", - "ext-xmlwriter": "*", - "nikic/php-parser": "^5.4.0", - "php": ">=8.2", - "phpunit/php-file-iterator": "^5.1.0", - "phpunit/php-text-template": "^4.0.1", - "sebastian/code-unit-reverse-lookup": "^4.0.1", - "sebastian/complexity": "^4.0.1", - "sebastian/environment": "^7.2.0", - "sebastian/lines-of-code": "^3.0.1", - "sebastian/version": "^5.0.2", - "theseer/tokenizer": "^1.2.3" + "php": ">=8.1", + "symfony/deprecation-contracts": "^2.5|^3" }, - "require-dev": { - "phpunit/phpunit": "^11.5.2" + "conflict": { + "doctrine/annotations": "<1.12", + "symfony/config": "<6.2", + "symfony/dependency-injection": "<5.4", + "symfony/yaml": "<5.4" }, - "suggest": { - "ext-pcov": "PHP extension that provides line coverage", - "ext-xdebug": "PHP extension that provides line coverage as well as branch and path coverage" + "require-dev": { + "doctrine/annotations": "^1.12|^2", + "psr/log": "^1|^2|^3", + "symfony/config": "^6.2|^7.0", + "symfony/dependency-injection": "^5.4|^6.0|^7.0", + "symfony/expression-language": "^5.4|^6.0|^7.0", + "symfony/http-foundation": "^5.4|^6.0|^7.0", + "symfony/yaml": "^5.4|^6.0|^7.0" }, "type": "library", - "extra": { - "branch-alias": { - "dev-main": "11.0.x-dev" - } - }, "autoload": { - "classmap": [ - "src/" + "psr-4": { + "Symfony\\Component\\Routing\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" ] }, "notification-url": "https://packagist.org/downloads/", "license": [ - "BSD-3-Clause" + "MIT" ], "authors": [ { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" } ], - "description": "Library that provides collection, processing, and rendering functionality for PHP code coverage information.", - "homepage": "https://github.com/sebastianbergmann/php-code-coverage", + "description": "Maps an HTTP request to a set of configuration variables", + "homepage": "https://symfony.com", "keywords": [ - "coverage", - "testing", - "xunit" + "router", + "routing", + "uri", + "url" ], "support": { - "issues": "https://github.com/sebastianbergmann/php-code-coverage/issues", - "security": "https://github.com/sebastianbergmann/php-code-coverage/security/policy", - "source": "https://github.com/sebastianbergmann/php-code-coverage/tree/show" + "source": "https://github.com/symfony/routing/tree/v6.4.28" }, "funding": [ { - "url": "https://github.com/sebastianbergmann", - "type": "github" + "url": "https://symfony.com/sponsor", + "type": "custom" }, { - "url": "https://liberapay.com/sebastianbergmann", - "type": "liberapay" + "url": "https://github.com/fabpot", + "type": "github" }, { - "url": "https://thanks.dev/u/gh/sebastianbergmann", - "type": "thanks_dev" + "url": "https://github.com/nicolas-grekas", + "type": "github" }, { - "url": "https://tidelift.com/funding/github/packagist/phpunit/php-code-coverage", + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", "type": "tidelift" } ], - "time": "2025-06-18T08:56:18+00:00" + "time": "2025-10-31T16:43:05+00:00" }, { - "name": "phpunit/php-file-iterator", - "version": "5.1.0", + "name": "symfony/service-contracts", + "version": "v3.6.1", "source": { "type": "git", - "url": "https://github.com/sebastianbergmann/php-file-iterator.git", - "reference": "118cfaaa8bc5aef3287bf315b6060b1174754af6" + "url": "https://github.com/symfony/service-contracts.git", + "reference": "45112560a3ba2d715666a509a0bc9521d10b6c43" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/118cfaaa8bc5aef3287bf315b6060b1174754af6", - "reference": "118cfaaa8bc5aef3287bf315b6060b1174754af6", + "url": "https://api.github.com/repos/symfony/service-contracts/zipball/45112560a3ba2d715666a509a0bc9521d10b6c43", + "reference": "45112560a3ba2d715666a509a0bc9521d10b6c43", "shasum": "" }, "require": { - "php": ">=8.2" + "php": ">=8.1", + "psr/container": "^1.1|^2.0", + "symfony/deprecation-contracts": "^2.5|^3" }, - "require-dev": { - "phpunit/phpunit": "^11.0" + "conflict": { + "ext-psr": "<1.1|>=2" }, "type": "library", "extra": { + "thanks": { + "url": "https://github.com/symfony/contracts", + "name": "symfony/contracts" + }, "branch-alias": { - "dev-main": "5.0-dev" + "dev-main": "3.6-dev" } }, "autoload": { - "classmap": [ - "src/" + "psr-4": { + "Symfony\\Contracts\\Service\\": "" + }, + "exclude-from-classmap": [ + "/Test/" ] }, "notification-url": "https://packagist.org/downloads/", "license": [ - "BSD-3-Clause" + "MIT" ], "authors": [ { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" } ], - "description": "FilterIterator implementation that filters files based on a list of suffixes.", - "homepage": "https://github.com/sebastianbergmann/php-file-iterator/", + "description": "Generic abstractions related to writing services", + "homepage": "https://symfony.com", "keywords": [ - "filesystem", - "iterator" + "abstractions", + "contracts", + "decoupling", + "interfaces", + "interoperability", + "standards" ], "support": { - "issues": "https://github.com/sebastianbergmann/php-file-iterator/issues", - "security": "https://github.com/sebastianbergmann/php-file-iterator/security/policy", - "source": "https://github.com/sebastianbergmann/php-file-iterator/tree/5.1.0" + "source": "https://github.com/symfony/service-contracts/tree/v3.6.1" }, "funding": [ { - "url": "https://github.com/sebastianbergmann", + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://github.com/nicolas-grekas", "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" } ], - "time": "2024-08-27T05:02:59+00:00" + "time": "2025-07-15T11:30:57+00:00" }, { - "name": "phpunit/php-invoker", - "version": "5.0.1", + "name": "symfony/string", + "version": "v7.4.0", "source": { "type": "git", - "url": "https://github.com/sebastianbergmann/php-invoker.git", - "reference": "c1ca3814734c07492b3d4c5f794f4b0995333da2" + "url": "https://github.com/symfony/string.git", + "reference": "d50e862cb0a0e0886f73ca1f31b865efbb795003" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-invoker/zipball/c1ca3814734c07492b3d4c5f794f4b0995333da2", - "reference": "c1ca3814734c07492b3d4c5f794f4b0995333da2", + "url": "https://api.github.com/repos/symfony/string/zipball/d50e862cb0a0e0886f73ca1f31b865efbb795003", + "reference": "d50e862cb0a0e0886f73ca1f31b865efbb795003", "shasum": "" }, "require": { - "php": ">=8.2" + "php": ">=8.2", + "symfony/deprecation-contracts": "^2.5|^3.0", + "symfony/polyfill-ctype": "~1.8", + "symfony/polyfill-intl-grapheme": "~1.33", + "symfony/polyfill-intl-normalizer": "~1.0", + "symfony/polyfill-mbstring": "~1.0" }, - "require-dev": { - "ext-pcntl": "*", - "phpunit/phpunit": "^11.0" + "conflict": { + "symfony/translation-contracts": "<2.5" }, - "suggest": { - "ext-pcntl": "*" + "require-dev": { + "symfony/emoji": "^7.1|^8.0", + "symfony/http-client": "^6.4|^7.0|^8.0", + "symfony/intl": "^6.4|^7.0|^8.0", + "symfony/translation-contracts": "^2.5|^3.0", + "symfony/var-exporter": "^6.4|^7.0|^8.0" }, "type": "library", - "extra": { - "branch-alias": { - "dev-main": "5.0-dev" - } - }, "autoload": { - "classmap": [ - "src/" + "files": [ + "Resources/functions.php" + ], + "psr-4": { + "Symfony\\Component\\String\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" ] }, "notification-url": "https://packagist.org/downloads/", "license": [ - "BSD-3-Clause" + "MIT" ], "authors": [ { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" } ], - "description": "Invoke callables with a timeout", - "homepage": "https://github.com/sebastianbergmann/php-invoker/", + "description": "Provides an object-oriented API to strings and deals with bytes, UTF-8 code points and grapheme clusters in a unified way", + "homepage": "https://symfony.com", "keywords": [ - "process" + "grapheme", + "i18n", + "string", + "unicode", + "utf-8", + "utf8" ], "support": { - "issues": "https://github.com/sebastianbergmann/php-invoker/issues", - "security": "https://github.com/sebastianbergmann/php-invoker/security/policy", - "source": "https://github.com/sebastianbergmann/php-invoker/tree/5.0.1" + "source": "https://github.com/symfony/string/tree/v7.4.0" }, "funding": [ { - "url": "https://github.com/sebastianbergmann", + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", "type": "github" + }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" } ], - "time": "2024-07-03T05:07:44+00:00" + "time": "2025-11-27T13:27:24+00:00" }, { - "name": "phpunit/php-text-template", - "version": "4.0.1", + "name": "symfony/translation-contracts", + "version": "v3.6.1", "source": { "type": "git", - "url": "https://github.com/sebastianbergmann/php-text-template.git", - "reference": "3e0404dc6b300e6bf56415467ebcb3fe4f33e964" + "url": "https://github.com/symfony/translation-contracts.git", + "reference": "65a8bc82080447fae78373aa10f8d13b38338977" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/3e0404dc6b300e6bf56415467ebcb3fe4f33e964", - "reference": "3e0404dc6b300e6bf56415467ebcb3fe4f33e964", + "url": "https://api.github.com/repos/symfony/translation-contracts/zipball/65a8bc82080447fae78373aa10f8d13b38338977", + "reference": "65a8bc82080447fae78373aa10f8d13b38338977", "shasum": "" }, "require": { - "php": ">=8.2" - }, - "require-dev": { - "phpunit/phpunit": "^11.0" + "php": ">=8.1" }, "type": "library", "extra": { + "thanks": { + "url": "https://github.com/symfony/contracts", + "name": "symfony/contracts" + }, "branch-alias": { - "dev-main": "4.0-dev" + "dev-main": "3.6-dev" } }, "autoload": { - "classmap": [ - "src/" + "psr-4": { + "Symfony\\Contracts\\Translation\\": "" + }, + "exclude-from-classmap": [ + "/Test/" ] }, "notification-url": "https://packagist.org/downloads/", "license": [ - "BSD-3-Clause" + "MIT" ], "authors": [ { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" } ], - "description": "Simple template engine.", - "homepage": "https://github.com/sebastianbergmann/php-text-template/", + "description": "Generic abstractions related to translation", + "homepage": "https://symfony.com", "keywords": [ - "template" + "abstractions", + "contracts", + "decoupling", + "interfaces", + "interoperability", + "standards" ], "support": { - "issues": "https://github.com/sebastianbergmann/php-text-template/issues", - "security": "https://github.com/sebastianbergmann/php-text-template/security/policy", - "source": "https://github.com/sebastianbergmann/php-text-template/tree/4.0.1" + "source": "https://github.com/symfony/translation-contracts/tree/v3.6.1" }, "funding": [ { - "url": "https://github.com/sebastianbergmann", + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://github.com/nicolas-grekas", "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" } ], - "time": "2024-07-03T05:08:43+00:00" + "time": "2025-07-15T13:41:35+00:00" }, { - "name": "phpunit/php-timer", - "version": "7.0.1", + "name": "symfony/twig-bridge", + "version": "v6.4.25", "source": { "type": "git", - "url": "https://github.com/sebastianbergmann/php-timer.git", - "reference": "3b415def83fbcb41f991d9ebf16ae4ad8b7837b3" + "url": "https://github.com/symfony/twig-bridge.git", + "reference": "9d13e87591c9de3221c8d6f23cd9a2b5958607bf" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/3b415def83fbcb41f991d9ebf16ae4ad8b7837b3", - "reference": "3b415def83fbcb41f991d9ebf16ae4ad8b7837b3", + "url": "https://api.github.com/repos/symfony/twig-bridge/zipball/9d13e87591c9de3221c8d6f23cd9a2b5958607bf", + "reference": "9d13e87591c9de3221c8d6f23cd9a2b5958607bf", "shasum": "" }, "require": { - "php": ">=8.2" + "php": ">=8.1", + "symfony/deprecation-contracts": "^2.5|^3", + "symfony/translation-contracts": "^2.5|^3", + "twig/twig": "^2.13|^3.0.4" }, - "require-dev": { - "phpunit/phpunit": "^11.0" + "conflict": { + "phpdocumentor/reflection-docblock": "<3.2.2", + "phpdocumentor/type-resolver": "<1.4.0", + "symfony/console": "<5.4", + "symfony/form": "<6.3", + "symfony/http-foundation": "<5.4", + "symfony/http-kernel": "<6.4", + "symfony/mime": "<6.2", + "symfony/serializer": "<6.4", + "symfony/translation": "<5.4", + "symfony/workflow": "<5.4" }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "7.0-dev" - } + "require-dev": { + "egulias/email-validator": "^2.1.10|^3|^4", + "league/html-to-markdown": "^5.0", + "phpdocumentor/reflection-docblock": "^3.0|^4.0|^5.0", + "symfony/asset": "^5.4|^6.0|^7.0", + "symfony/asset-mapper": "^6.3|^7.0", + "symfony/console": "^5.4|^6.0|^7.0", + "symfony/dependency-injection": "^5.4|^6.0|^7.0", + "symfony/expression-language": "^5.4|^6.0|^7.0", + "symfony/finder": "^5.4|^6.0|^7.0", + "symfony/form": "^6.4.20|^7.2.5", + "symfony/html-sanitizer": "^6.1|^7.0", + "symfony/http-foundation": "^5.4|^6.0|^7.0", + "symfony/http-kernel": "^6.4|^7.0", + "symfony/intl": "^5.4|^6.0|^7.0", + "symfony/mime": "^6.2|^7.0", + "symfony/polyfill-intl-icu": "~1.0", + "symfony/property-info": "^5.4|^6.0|^7.0", + "symfony/routing": "^5.4|^6.0|^7.0", + "symfony/security-acl": "^2.8|^3.0", + "symfony/security-core": "^5.4|^6.0|^7.0", + "symfony/security-csrf": "^5.4|^6.0|^7.0", + "symfony/security-http": "^5.4|^6.0|^7.0", + "symfony/serializer": "^6.4.3|^7.0.3", + "symfony/stopwatch": "^5.4|^6.0|^7.0", + "symfony/translation": "^6.1|^7.0", + "symfony/web-link": "^5.4|^6.0|^7.0", + "symfony/workflow": "^5.4|^6.0|^7.0", + "symfony/yaml": "^5.4|^6.0|^7.0", + "twig/cssinliner-extra": "^2.12|^3", + "twig/inky-extra": "^2.12|^3", + "twig/markdown-extra": "^2.12|^3" }, + "type": "symfony-bridge", "autoload": { - "classmap": [ - "src/" + "psr-4": { + "Symfony\\Bridge\\Twig\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" ] }, "notification-url": "https://packagist.org/downloads/", "license": [ - "BSD-3-Clause" + "MIT" ], "authors": [ { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" - } - ], - "description": "Utility class for timing", - "homepage": "https://github.com/sebastianbergmann/php-timer/", - "keywords": [ - "timer" + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } ], + "description": "Provides integration for Twig with various Symfony components", + "homepage": "https://symfony.com", "support": { - "issues": "https://github.com/sebastianbergmann/php-timer/issues", - "security": "https://github.com/sebastianbergmann/php-timer/security/policy", - "source": "https://github.com/sebastianbergmann/php-timer/tree/7.0.1" + "source": "https://github.com/symfony/twig-bridge/tree/v6.4.25" }, "funding": [ { - "url": "https://github.com/sebastianbergmann", + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://github.com/nicolas-grekas", "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" } ], - "time": "2024-07-03T05:09:35+00:00" + "time": "2025-08-13T09:41:44+00:00" }, { - "name": "phpunit/phpunit", - "version": "11.5.26", + "name": "symfony/var-dumper", + "version": "v7.4.0", "source": { "type": "git", - "url": "https://github.com/sebastianbergmann/phpunit.git", - "reference": "4ad8fe263a0b55b54a8028c38a18e3c5bef312e0" + "url": "https://github.com/symfony/var-dumper.git", + "reference": "41fd6c4ae28c38b294b42af6db61446594a0dece" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/4ad8fe263a0b55b54a8028c38a18e3c5bef312e0", - "reference": "4ad8fe263a0b55b54a8028c38a18e3c5bef312e0", + "url": "https://api.github.com/repos/symfony/var-dumper/zipball/41fd6c4ae28c38b294b42af6db61446594a0dece", + "reference": "41fd6c4ae28c38b294b42af6db61446594a0dece", "shasum": "" }, "require": { - "ext-dom": "*", - "ext-json": "*", - "ext-libxml": "*", - "ext-mbstring": "*", - "ext-xml": "*", - "ext-xmlwriter": "*", - "myclabs/deep-copy": "^1.13.1", - "phar-io/manifest": "^2.0.4", - "phar-io/version": "^3.2.1", "php": ">=8.2", - "phpunit/php-code-coverage": "^11.0.10", - "phpunit/php-file-iterator": "^5.1.0", - "phpunit/php-invoker": "^5.0.1", - "phpunit/php-text-template": "^4.0.1", - "phpunit/php-timer": "^7.0.1", - "sebastian/cli-parser": "^3.0.2", - "sebastian/code-unit": "^3.0.3", - "sebastian/comparator": "^6.3.1", - "sebastian/diff": "^6.0.2", - "sebastian/environment": "^7.2.1", - "sebastian/exporter": "^6.3.0", - "sebastian/global-state": "^7.0.2", - "sebastian/object-enumerator": "^6.0.1", - "sebastian/type": "^5.1.2", - "sebastian/version": "^5.0.2", - "staabm/side-effects-detector": "^1.0.5" + "symfony/deprecation-contracts": "^2.5|^3", + "symfony/polyfill-mbstring": "~1.0" }, - "suggest": { - "ext-soap": "To be able to generate mocks based on WSDL files" + "conflict": { + "symfony/console": "<6.4" + }, + "require-dev": { + "symfony/console": "^6.4|^7.0|^8.0", + "symfony/http-kernel": "^6.4|^7.0|^8.0", + "symfony/process": "^6.4|^7.0|^8.0", + "symfony/uid": "^6.4|^7.0|^8.0", + "twig/twig": "^3.12" }, "bin": [ - "phpunit" + "Resources/bin/var-dump-server" ], "type": "library", - "extra": { - "branch-alias": { - "dev-main": "11.5-dev" - } - }, "autoload": { "files": [ - "src/Framework/Assert/Functions.php" + "Resources/functions/dump.php" ], - "classmap": [ - "src/" + "psr-4": { + "Symfony\\Component\\VarDumper\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" ] }, "notification-url": "https://packagist.org/downloads/", "license": [ - "BSD-3-Clause" + "MIT" ], "authors": [ { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" } ], - "description": "The PHP Unit Testing framework.", - "homepage": "https://phpunit.de/", + "description": "Provides mechanisms for walking through any arbitrary PHP variable", + "homepage": "https://symfony.com", "keywords": [ - "phpunit", - "testing", - "xunit" + "debug", + "dump" ], "support": { - "issues": "https://github.com/sebastianbergmann/phpunit/issues", - "security": "https://github.com/sebastianbergmann/phpunit/security/policy", - "source": "https://github.com/sebastianbergmann/phpunit/tree/11.5.26" + "source": "https://github.com/symfony/var-dumper/tree/v7.4.0" }, "funding": [ { - "url": "https://phpunit.de/sponsors.html", + "url": "https://symfony.com/sponsor", "type": "custom" }, { - "url": "https://github.com/sebastianbergmann", + "url": "https://github.com/fabpot", "type": "github" }, { - "url": "https://liberapay.com/sebastianbergmann", - "type": "liberapay" - }, - { - "url": "https://thanks.dev/u/gh/sebastianbergmann", - "type": "thanks_dev" + "url": "https://github.com/nicolas-grekas", + "type": "github" }, { - "url": "https://tidelift.com/funding/github/packagist/phpunit/phpunit", + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", "type": "tidelift" } ], - "time": "2025-07-04T05:58:21+00:00" + "time": "2025-10-27T20:36:44+00:00" }, { - "name": "react/cache", - "version": "v1.2.0", + "name": "symfony/var-exporter", + "version": "v6.4.26", "source": { "type": "git", - "url": "https://github.com/reactphp/cache.git", - "reference": "d47c472b64aa5608225f47965a484b75c7817d5b" + "url": "https://github.com/symfony/var-exporter.git", + "reference": "466fcac5fa2e871f83d31173f80e9c2684743bfc" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/reactphp/cache/zipball/d47c472b64aa5608225f47965a484b75c7817d5b", - "reference": "d47c472b64aa5608225f47965a484b75c7817d5b", + "url": "https://api.github.com/repos/symfony/var-exporter/zipball/466fcac5fa2e871f83d31173f80e9c2684743bfc", + "reference": "466fcac5fa2e871f83d31173f80e9c2684743bfc", "shasum": "" }, "require": { - "php": ">=5.3.0", - "react/promise": "^3.0 || ^2.0 || ^1.1" + "php": ">=8.1", + "symfony/deprecation-contracts": "^2.5|^3" }, "require-dev": { - "phpunit/phpunit": "^9.5 || ^5.7 || ^4.8.35" + "symfony/property-access": "^6.4|^7.0", + "symfony/serializer": "^6.4|^7.0", + "symfony/var-dumper": "^5.4|^6.0|^7.0" }, "type": "library", "autoload": { "psr-4": { - "React\\Cache\\": "src/" - } + "Symfony\\Component\\VarExporter\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -8442,75 +8716,85 @@ ], "authors": [ { - "name": "Christian Lück", - "email": "christian@clue.engineering", - "homepage": "https://clue.engineering/" - }, - { - "name": "Cees-Jan Kiewiet", - "email": "reactphp@ceesjankiewiet.nl", - "homepage": "https://wyrihaximus.net/" - }, - { - "name": "Jan Sorgalla", - "email": "jsorgalla@gmail.com", - "homepage": "https://sorgalla.com/" + "name": "Nicolas Grekas", + "email": "p@tchwork.com" }, { - "name": "Chris Boden", - "email": "cboden@gmail.com", - "homepage": "https://cboden.dev/" + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" } ], - "description": "Async, Promise-based cache interface for ReactPHP", + "description": "Allows exporting any serializable PHP data structure to plain PHP code", + "homepage": "https://symfony.com", "keywords": [ - "cache", - "caching", - "promise", - "reactphp" + "clone", + "construct", + "export", + "hydrate", + "instantiate", + "lazy-loading", + "proxy", + "serialize" ], "support": { - "issues": "https://github.com/reactphp/cache/issues", - "source": "https://github.com/reactphp/cache/tree/v1.2.0" + "source": "https://github.com/symfony/var-exporter/tree/v6.4.26" }, "funding": [ { - "url": "https://opencollective.com/reactphp", - "type": "open_collective" + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" } ], - "time": "2022-11-30T15:59:55+00:00" + "time": "2025-09-11T09:57:09+00:00" }, { - "name": "react/child-process", - "version": "v0.6.6", + "name": "symfony/yaml", + "version": "v6.4.26", "source": { "type": "git", - "url": "https://github.com/reactphp/child-process.git", - "reference": "1721e2b93d89b745664353b9cfc8f155ba8a6159" + "url": "https://github.com/symfony/yaml.git", + "reference": "0fc8b966fd0dcaab544ae59bfc3a433f048c17b0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/reactphp/child-process/zipball/1721e2b93d89b745664353b9cfc8f155ba8a6159", - "reference": "1721e2b93d89b745664353b9cfc8f155ba8a6159", + "url": "https://api.github.com/repos/symfony/yaml/zipball/0fc8b966fd0dcaab544ae59bfc3a433f048c17b0", + "reference": "0fc8b966fd0dcaab544ae59bfc3a433f048c17b0", "shasum": "" }, "require": { - "evenement/evenement": "^3.0 || ^2.0 || ^1.0", - "php": ">=5.3.0", - "react/event-loop": "^1.2", - "react/stream": "^1.4" + "php": ">=8.1", + "symfony/deprecation-contracts": "^2.5|^3", + "symfony/polyfill-ctype": "^1.8" + }, + "conflict": { + "symfony/console": "<5.4" }, "require-dev": { - "phpunit/phpunit": "^9.6 || ^5.7 || ^4.8.36", - "react/socket": "^1.16", - "sebastian/environment": "^5.0 || ^3.0 || ^2.0 || ^1.0" + "symfony/console": "^5.4|^6.0|^7.0" }, + "bin": [ + "Resources/bin/yaml-lint" + ], "type": "library", "autoload": { "psr-4": { - "React\\ChildProcess\\": "src/" - } + "Symfony\\Component\\Yaml\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -8518,148 +8802,119 @@ ], "authors": [ { - "name": "Christian Lück", - "email": "christian@clue.engineering", - "homepage": "https://clue.engineering/" - }, - { - "name": "Cees-Jan Kiewiet", - "email": "reactphp@ceesjankiewiet.nl", - "homepage": "https://wyrihaximus.net/" - }, - { - "name": "Jan Sorgalla", - "email": "jsorgalla@gmail.com", - "homepage": "https://sorgalla.com/" + "name": "Fabien Potencier", + "email": "fabien@symfony.com" }, { - "name": "Chris Boden", - "email": "cboden@gmail.com", - "homepage": "https://cboden.dev/" + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" } ], - "description": "Event-driven library for executing child processes with ReactPHP.", - "keywords": [ - "event-driven", - "process", - "reactphp" - ], + "description": "Loads and dumps YAML files", + "homepage": "https://symfony.com", "support": { - "issues": "https://github.com/reactphp/child-process/issues", - "source": "https://github.com/reactphp/child-process/tree/v0.6.6" + "source": "https://github.com/symfony/yaml/tree/v6.4.26" }, "funding": [ { - "url": "https://opencollective.com/reactphp", - "type": "open_collective" + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" } ], - "time": "2025-01-01T16:37:48+00:00" + "time": "2025-09-26T15:07:38+00:00" }, { - "name": "react/dns", - "version": "v1.13.0", + "name": "theseer/tokenizer", + "version": "1.3.1", "source": { "type": "git", - "url": "https://github.com/reactphp/dns.git", - "reference": "eb8ae001b5a455665c89c1df97f6fb682f8fb0f5" + "url": "https://github.com/theseer/tokenizer.git", + "reference": "b7489ce515e168639d17feec34b8847c326b0b3c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/reactphp/dns/zipball/eb8ae001b5a455665c89c1df97f6fb682f8fb0f5", - "reference": "eb8ae001b5a455665c89c1df97f6fb682f8fb0f5", + "url": "https://api.github.com/repos/theseer/tokenizer/zipball/b7489ce515e168639d17feec34b8847c326b0b3c", + "reference": "b7489ce515e168639d17feec34b8847c326b0b3c", "shasum": "" }, "require": { - "php": ">=5.3.0", - "react/cache": "^1.0 || ^0.6 || ^0.5", - "react/event-loop": "^1.2", - "react/promise": "^3.2 || ^2.7 || ^1.2.1" - }, - "require-dev": { - "phpunit/phpunit": "^9.6 || ^5.7 || ^4.8.36", - "react/async": "^4.3 || ^3 || ^2", - "react/promise-timer": "^1.11" + "ext-dom": "*", + "ext-tokenizer": "*", + "ext-xmlwriter": "*", + "php": "^7.2 || ^8.0" }, "type": "library", "autoload": { - "psr-4": { - "React\\Dns\\": "src/" - } + "classmap": [ + "src/" + ] }, "notification-url": "https://packagist.org/downloads/", "license": [ - "MIT" + "BSD-3-Clause" ], "authors": [ { - "name": "Christian Lück", - "email": "christian@clue.engineering", - "homepage": "https://clue.engineering/" - }, - { - "name": "Cees-Jan Kiewiet", - "email": "reactphp@ceesjankiewiet.nl", - "homepage": "https://wyrihaximus.net/" - }, - { - "name": "Jan Sorgalla", - "email": "jsorgalla@gmail.com", - "homepage": "https://sorgalla.com/" - }, - { - "name": "Chris Boden", - "email": "cboden@gmail.com", - "homepage": "https://cboden.dev/" + "name": "Arne Blankerts", + "email": "arne@blankerts.de", + "role": "Developer" } ], - "description": "Async DNS resolver for ReactPHP", - "keywords": [ - "async", - "dns", - "dns-resolver", - "reactphp" - ], + "description": "A small library for converting tokenized PHP source code into XML and potentially other formats", "support": { - "issues": "https://github.com/reactphp/dns/issues", - "source": "https://github.com/reactphp/dns/tree/v1.13.0" + "issues": "https://github.com/theseer/tokenizer/issues", + "source": "https://github.com/theseer/tokenizer/tree/1.3.1" }, "funding": [ { - "url": "https://opencollective.com/reactphp", - "type": "open_collective" + "url": "https://github.com/theseer", + "type": "github" } ], - "time": "2024-06-13T14:18:03+00:00" + "time": "2025-11-17T20:03:58+00:00" }, { - "name": "react/event-loop", - "version": "v1.5.0", + "name": "twig/intl-extra", + "version": "v3.22.1", "source": { "type": "git", - "url": "https://github.com/reactphp/event-loop.git", - "reference": "bbe0bd8c51ffc05ee43f1729087ed3bdf7d53354" + "url": "https://github.com/twigphp/intl-extra.git", + "reference": "93ac31e53cdd3f2e541f42690cd0c54ca8138ab1" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/reactphp/event-loop/zipball/bbe0bd8c51ffc05ee43f1729087ed3bdf7d53354", - "reference": "bbe0bd8c51ffc05ee43f1729087ed3bdf7d53354", + "url": "https://api.github.com/repos/twigphp/intl-extra/zipball/93ac31e53cdd3f2e541f42690cd0c54ca8138ab1", + "reference": "93ac31e53cdd3f2e541f42690cd0c54ca8138ab1", "shasum": "" }, "require": { - "php": ">=5.3.0" + "php": ">=8.1.0", + "symfony/intl": "^5.4|^6.4|^7.0|^8.0", + "twig/twig": "^3.13|^4.0" }, "require-dev": { - "phpunit/phpunit": "^9.6 || ^5.7 || ^4.8.36" - }, - "suggest": { - "ext-pcntl": "For signal handling support when using the StreamSelectLoop" + "symfony/phpunit-bridge": "^6.4|^7.0" }, "type": "library", "autoload": { "psr-4": { - "React\\EventLoop\\": "src/" - } + "Twig\\Extra\\Intl\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -8667,148 +8922,146 @@ ], "authors": [ { - "name": "Christian Lück", - "email": "christian@clue.engineering", - "homepage": "https://clue.engineering/" - }, - { - "name": "Cees-Jan Kiewiet", - "email": "reactphp@ceesjankiewiet.nl", - "homepage": "https://wyrihaximus.net/" - }, - { - "name": "Jan Sorgalla", - "email": "jsorgalla@gmail.com", - "homepage": "https://sorgalla.com/" - }, - { - "name": "Chris Boden", - "email": "cboden@gmail.com", - "homepage": "https://cboden.dev/" + "name": "Fabien Potencier", + "email": "fabien@symfony.com", + "homepage": "http://fabien.potencier.org", + "role": "Lead Developer" } ], - "description": "ReactPHP's core reactor event loop that libraries can use for evented I/O.", + "description": "A Twig extension for Intl", + "homepage": "https://twig.symfony.com", "keywords": [ - "asynchronous", - "event-loop" + "intl", + "twig" ], "support": { - "issues": "https://github.com/reactphp/event-loop/issues", - "source": "https://github.com/reactphp/event-loop/tree/v1.5.0" + "source": "https://github.com/twigphp/intl-extra/tree/v3.22.1" }, "funding": [ { - "url": "https://opencollective.com/reactphp", - "type": "open_collective" + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/twig/twig", + "type": "tidelift" } ], - "time": "2023-11-13T13:48:05+00:00" + "time": "2025-11-02T11:00:49+00:00" }, { - "name": "react/promise", - "version": "v3.2.0", + "name": "twig/twig", + "version": "v3.22.0", "source": { "type": "git", - "url": "https://github.com/reactphp/promise.git", - "reference": "8a164643313c71354582dc850b42b33fa12a4b63" + "url": "https://github.com/twigphp/Twig.git", + "reference": "4509984193026de413baf4ba80f68590a7f2c51d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/reactphp/promise/zipball/8a164643313c71354582dc850b42b33fa12a4b63", - "reference": "8a164643313c71354582dc850b42b33fa12a4b63", + "url": "https://api.github.com/repos/twigphp/Twig/zipball/4509984193026de413baf4ba80f68590a7f2c51d", + "reference": "4509984193026de413baf4ba80f68590a7f2c51d", "shasum": "" }, "require": { - "php": ">=7.1.0" + "php": ">=8.1.0", + "symfony/deprecation-contracts": "^2.5|^3", + "symfony/polyfill-ctype": "^1.8", + "symfony/polyfill-mbstring": "^1.3" }, "require-dev": { - "phpstan/phpstan": "1.10.39 || 1.4.10", - "phpunit/phpunit": "^9.6 || ^7.5" + "phpstan/phpstan": "^2.0", + "psr/container": "^1.0|^2.0", + "symfony/phpunit-bridge": "^5.4.9|^6.4|^7.0" }, "type": "library", "autoload": { "files": [ - "src/functions_include.php" + "src/Resources/core.php", + "src/Resources/debug.php", + "src/Resources/escaper.php", + "src/Resources/string_loader.php" ], "psr-4": { - "React\\Promise\\": "src/" + "Twig\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", "license": [ - "MIT" + "BSD-3-Clause" ], "authors": [ { - "name": "Jan Sorgalla", - "email": "jsorgalla@gmail.com", - "homepage": "https://sorgalla.com/" - }, - { - "name": "Christian Lück", - "email": "christian@clue.engineering", - "homepage": "https://clue.engineering/" + "name": "Fabien Potencier", + "email": "fabien@symfony.com", + "homepage": "http://fabien.potencier.org", + "role": "Lead Developer" }, { - "name": "Cees-Jan Kiewiet", - "email": "reactphp@ceesjankiewiet.nl", - "homepage": "https://wyrihaximus.net/" + "name": "Twig Team", + "role": "Contributors" }, { - "name": "Chris Boden", - "email": "cboden@gmail.com", - "homepage": "https://cboden.dev/" + "name": "Armin Ronacher", + "email": "armin.ronacher@active-4.com", + "role": "Project Founder" } ], - "description": "A lightweight implementation of CommonJS Promises/A for PHP", + "description": "Twig, the flexible, fast, and secure template language for PHP", + "homepage": "https://twig.symfony.com", "keywords": [ - "promise", - "promises" + "templating" ], "support": { - "issues": "https://github.com/reactphp/promise/issues", - "source": "https://github.com/reactphp/promise/tree/v3.2.0" + "issues": "https://github.com/twigphp/Twig/issues", + "source": "https://github.com/twigphp/Twig/tree/v3.22.0" }, "funding": [ { - "url": "https://opencollective.com/reactphp", - "type": "open_collective" + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/twig/twig", + "type": "tidelift" } ], - "time": "2024-05-24T10:39:05+00:00" + "time": "2025-10-29T15:56:47+00:00" }, { - "name": "react/socket", - "version": "v1.16.0", + "name": "webmozart/assert", + "version": "1.11.0", "source": { "type": "git", - "url": "https://github.com/reactphp/socket.git", - "reference": "23e4ff33ea3e160d2d1f59a0e6050e4b0fb0eac1" + "url": "https://github.com/webmozarts/assert.git", + "reference": "11cb2199493b2f8a3b53e7f19068fc6aac760991" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/reactphp/socket/zipball/23e4ff33ea3e160d2d1f59a0e6050e4b0fb0eac1", - "reference": "23e4ff33ea3e160d2d1f59a0e6050e4b0fb0eac1", + "url": "https://api.github.com/repos/webmozarts/assert/zipball/11cb2199493b2f8a3b53e7f19068fc6aac760991", + "reference": "11cb2199493b2f8a3b53e7f19068fc6aac760991", "shasum": "" }, "require": { - "evenement/evenement": "^3.0 || ^2.0 || ^1.0", - "php": ">=5.3.0", - "react/dns": "^1.13", - "react/event-loop": "^1.2", - "react/promise": "^3.2 || ^2.6 || ^1.2.1", - "react/stream": "^1.4" + "ext-ctype": "*", + "php": "^7.2 || ^8.0" + }, + "conflict": { + "phpstan/phpstan": "<0.12.20", + "vimeo/psalm": "<4.6.1 || 4.6.2" }, "require-dev": { - "phpunit/phpunit": "^9.6 || ^5.7 || ^4.8.36", - "react/async": "^4.3 || ^3.3 || ^2", - "react/promise-stream": "^1.4", - "react/promise-timer": "^1.11" + "phpunit/phpunit": "^8.5.13" }, "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.10-dev" + } + }, "autoload": { "psr-4": { - "React\\Socket\\": "src/" + "Webmozart\\Assert\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", @@ -8817,73 +9070,73 @@ ], "authors": [ { - "name": "Christian Lück", - "email": "christian@clue.engineering", - "homepage": "https://clue.engineering/" - }, - { - "name": "Cees-Jan Kiewiet", - "email": "reactphp@ceesjankiewiet.nl", - "homepage": "https://wyrihaximus.net/" - }, - { - "name": "Jan Sorgalla", - "email": "jsorgalla@gmail.com", - "homepage": "https://sorgalla.com/" - }, - { - "name": "Chris Boden", - "email": "cboden@gmail.com", - "homepage": "https://cboden.dev/" + "name": "Bernhard Schussek", + "email": "bschussek@gmail.com" } ], - "description": "Async, streaming plaintext TCP/IP and secure TLS socket server and client connections for ReactPHP", - "keywords": [ - "Connection", - "Socket", - "async", - "reactphp", - "stream" - ], - "support": { - "issues": "https://github.com/reactphp/socket/issues", - "source": "https://github.com/reactphp/socket/tree/v1.16.0" - }, - "funding": [ - { - "url": "https://opencollective.com/reactphp", - "type": "open_collective" - } + "description": "Assertions to validate method input/output with nice error messages.", + "keywords": [ + "assert", + "check", + "validate" ], - "time": "2024-07-26T10:38:09+00:00" - }, + "support": { + "issues": "https://github.com/webmozarts/assert/issues", + "source": "https://github.com/webmozarts/assert/tree/1.11.0" + }, + "time": "2022-06-03T18:03:27+00:00" + } + ], + "packages-dev": [ { - "name": "react/stream", - "version": "v1.4.0", + "name": "captainhook/captainhook", + "version": "5.27.3", "source": { "type": "git", - "url": "https://github.com/reactphp/stream.git", - "reference": "1e5b0acb8fe55143b5b426817155190eb6f5b18d" + "url": "https://github.com/captainhook-git/captainhook.git", + "reference": "a4f836f6185b87066ce3388f6c944883eb248022" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/reactphp/stream/zipball/1e5b0acb8fe55143b5b426817155190eb6f5b18d", - "reference": "1e5b0acb8fe55143b5b426817155190eb6f5b18d", + "url": "https://api.github.com/repos/captainhook-git/captainhook/zipball/a4f836f6185b87066ce3388f6c944883eb248022", + "reference": "a4f836f6185b87066ce3388f6c944883eb248022", "shasum": "" }, "require": { - "evenement/evenement": "^3.0 || ^2.0 || ^1.0", - "php": ">=5.3.8", - "react/event-loop": "^1.2" + "captainhook/secrets": "^0.9.4", + "ext-json": "*", + "ext-spl": "*", + "ext-xml": "*", + "php": ">=8.0", + "sebastianfeldmann/camino": "^0.9.2", + "sebastianfeldmann/cli": "^3.3", + "sebastianfeldmann/git": "^3.15.3", + "symfony/console": "^2.7 || ^3.0 || ^4.0 || ^5.0 || ^6.0 || ^7.0 || ^8.0", + "symfony/filesystem": "^2.7 || ^3.0 || ^4.0 || ^5.0 || ^6.0 || ^7.0 || ^8.0", + "symfony/process": "^2.7 || ^3.0 || ^4.0 || ^5.0 || ^6.0 || ^7.0 || ^8.0" + }, + "replace": { + "sebastianfeldmann/captainhook": "*" }, "require-dev": { - "clue/stream-filter": "~1.2", - "phpunit/phpunit": "^9.6 || ^5.7 || ^4.8.36" + "composer/composer": "~1 || ^2.0", + "mikey179/vfsstream": "~1" }, + "bin": [ + "bin/captainhook" + ], "type": "library", + "extra": { + "captainhook": { + "config": "captainhook.json" + }, + "branch-alias": { + "dev-main": "6.0.x-dev" + } + }, "autoload": { "psr-4": { - "React\\Stream\\": "src/" + "CaptainHook\\App\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", @@ -8892,532 +9145,538 @@ ], "authors": [ { - "name": "Christian Lück", - "email": "christian@clue.engineering", - "homepage": "https://clue.engineering/" - }, - { - "name": "Cees-Jan Kiewiet", - "email": "reactphp@ceesjankiewiet.nl", - "homepage": "https://wyrihaximus.net/" - }, - { - "name": "Jan Sorgalla", - "email": "jsorgalla@gmail.com", - "homepage": "https://sorgalla.com/" - }, - { - "name": "Chris Boden", - "email": "cboden@gmail.com", - "homepage": "https://cboden.dev/" + "name": "Sebastian Feldmann", + "email": "sf@sebastian-feldmann.info" } ], - "description": "Event-driven readable and writable streams for non-blocking I/O in ReactPHP", + "description": "PHP git hook manager", + "homepage": "https://php.captainhook.info/", "keywords": [ - "event-driven", - "io", - "non-blocking", - "pipe", - "reactphp", - "readable", - "stream", - "writable" + "commit-msg", + "git", + "hooks", + "post-merge", + "pre-commit", + "pre-push", + "prepare-commit-msg" ], "support": { - "issues": "https://github.com/reactphp/stream/issues", - "source": "https://github.com/reactphp/stream/tree/v1.4.0" + "issues": "https://github.com/captainhook-git/captainhook/issues", + "source": "https://github.com/captainhook-git/captainhook/tree/5.27.3" }, "funding": [ { - "url": "https://opencollective.com/reactphp", - "type": "open_collective" + "url": "https://github.com/sponsors/sebastianfeldmann", + "type": "github" } ], - "time": "2024-06-11T12:45:25+00:00" + "time": "2025-11-27T13:11:01+00:00" }, { - "name": "sebastian/cli-parser", - "version": "3.0.2", + "name": "captainhook/secrets", + "version": "0.9.7", "source": { "type": "git", - "url": "https://github.com/sebastianbergmann/cli-parser.git", - "reference": "15c5dd40dc4f38794d383bb95465193f5e0ae180" + "url": "https://github.com/captainhook-git/secrets.git", + "reference": "d62c97f75f81ac98e22f1c282482bd35fa82f631" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/cli-parser/zipball/15c5dd40dc4f38794d383bb95465193f5e0ae180", - "reference": "15c5dd40dc4f38794d383bb95465193f5e0ae180", + "url": "https://api.github.com/repos/captainhook-git/secrets/zipball/d62c97f75f81ac98e22f1c282482bd35fa82f631", + "reference": "d62c97f75f81ac98e22f1c282482bd35fa82f631", "shasum": "" }, "require": { - "php": ">=8.2" - }, - "require-dev": { - "phpunit/phpunit": "^11.0" + "ext-mbstring": "*", + "php": ">=8.0" }, "type": "library", - "extra": { - "branch-alias": { - "dev-main": "3.0-dev" - } - }, "autoload": { - "classmap": [ - "src/" - ] + "psr-4": { + "CaptainHook\\Secrets\\": "src/" + } }, "notification-url": "https://packagist.org/downloads/", "license": [ - "BSD-3-Clause" + "MIT" ], "authors": [ { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" + "name": "Sebastian Feldmann", + "email": "sf@sebastian-feldmann.info" } ], - "description": "Library for parsing CLI options", - "homepage": "https://github.com/sebastianbergmann/cli-parser", + "description": "Utility classes to detect secrets", + "keywords": [ + "commit-msg", + "keys", + "passwords", + "post-merge", + "prepare-commit-msg", + "secrets", + "tokens" + ], "support": { - "issues": "https://github.com/sebastianbergmann/cli-parser/issues", - "security": "https://github.com/sebastianbergmann/cli-parser/security/policy", - "source": "https://github.com/sebastianbergmann/cli-parser/tree/3.0.2" + "issues": "https://github.com/captainhook-git/secrets/issues", + "source": "https://github.com/captainhook-git/secrets/tree/0.9.7" }, "funding": [ { - "url": "https://github.com/sebastianbergmann", + "url": "https://github.com/sponsors/sebastianfeldmann", "type": "github" } ], - "time": "2024-07-03T04:41:36+00:00" + "time": "2025-04-08T07:10:48+00:00" }, { - "name": "sebastian/code-unit", - "version": "3.0.3", + "name": "clue/ndjson-react", + "version": "v1.3.0", "source": { "type": "git", - "url": "https://github.com/sebastianbergmann/code-unit.git", - "reference": "54391c61e4af8078e5b276ab082b6d3c54c9ad64" + "url": "https://github.com/clue/reactphp-ndjson.git", + "reference": "392dc165fce93b5bb5c637b67e59619223c931b0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/code-unit/zipball/54391c61e4af8078e5b276ab082b6d3c54c9ad64", - "reference": "54391c61e4af8078e5b276ab082b6d3c54c9ad64", + "url": "https://api.github.com/repos/clue/reactphp-ndjson/zipball/392dc165fce93b5bb5c637b67e59619223c931b0", + "reference": "392dc165fce93b5bb5c637b67e59619223c931b0", "shasum": "" }, "require": { - "php": ">=8.2" + "php": ">=5.3", + "react/stream": "^1.2" }, "require-dev": { - "phpunit/phpunit": "^11.5" + "phpunit/phpunit": "^9.5 || ^5.7 || ^4.8.35", + "react/event-loop": "^1.2" }, "type": "library", - "extra": { - "branch-alias": { - "dev-main": "3.0-dev" - } - }, "autoload": { - "classmap": [ - "src/" - ] + "psr-4": { + "Clue\\React\\NDJson\\": "src/" + } }, "notification-url": "https://packagist.org/downloads/", "license": [ - "BSD-3-Clause" + "MIT" ], "authors": [ { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" + "name": "Christian Lück", + "email": "christian@clue.engineering" } ], - "description": "Collection of value objects that represent the PHP code units", - "homepage": "https://github.com/sebastianbergmann/code-unit", + "description": "Streaming newline-delimited JSON (NDJSON) parser and encoder for ReactPHP.", + "homepage": "https://github.com/clue/reactphp-ndjson", + "keywords": [ + "NDJSON", + "json", + "jsonlines", + "newline", + "reactphp", + "streaming" + ], "support": { - "issues": "https://github.com/sebastianbergmann/code-unit/issues", - "security": "https://github.com/sebastianbergmann/code-unit/security/policy", - "source": "https://github.com/sebastianbergmann/code-unit/tree/3.0.3" + "issues": "https://github.com/clue/reactphp-ndjson/issues", + "source": "https://github.com/clue/reactphp-ndjson/tree/v1.3.0" }, "funding": [ { - "url": "https://github.com/sebastianbergmann", + "url": "https://clue.engineering/support", + "type": "custom" + }, + { + "url": "https://github.com/clue", "type": "github" } ], - "time": "2025-03-19T07:56:08+00:00" + "time": "2022-12-23T10:58:28+00:00" }, { - "name": "sebastian/code-unit-reverse-lookup", - "version": "4.0.1", + "name": "composer/semver", + "version": "3.4.4", "source": { "type": "git", - "url": "https://github.com/sebastianbergmann/code-unit-reverse-lookup.git", - "reference": "183a9b2632194febd219bb9246eee421dad8d45e" + "url": "https://github.com/composer/semver.git", + "reference": "198166618906cb2de69b95d7d47e5fa8aa1b2b95" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/code-unit-reverse-lookup/zipball/183a9b2632194febd219bb9246eee421dad8d45e", - "reference": "183a9b2632194febd219bb9246eee421dad8d45e", + "url": "https://api.github.com/repos/composer/semver/zipball/198166618906cb2de69b95d7d47e5fa8aa1b2b95", + "reference": "198166618906cb2de69b95d7d47e5fa8aa1b2b95", "shasum": "" }, "require": { - "php": ">=8.2" + "php": "^5.3.2 || ^7.0 || ^8.0" }, "require-dev": { - "phpunit/phpunit": "^11.0" + "phpstan/phpstan": "^1.11", + "symfony/phpunit-bridge": "^3 || ^7" }, "type": "library", "extra": { "branch-alias": { - "dev-main": "4.0-dev" + "dev-main": "3.x-dev" } }, "autoload": { - "classmap": [ - "src/" - ] + "psr-4": { + "Composer\\Semver\\": "src" + } }, "notification-url": "https://packagist.org/downloads/", "license": [ - "BSD-3-Clause" + "MIT" ], "authors": [ { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" + "name": "Nils Adermann", + "email": "naderman@naderman.de", + "homepage": "http://www.naderman.de" + }, + { + "name": "Jordi Boggiano", + "email": "j.boggiano@seld.be", + "homepage": "http://seld.be" + }, + { + "name": "Rob Bast", + "email": "rob.bast@gmail.com", + "homepage": "http://robbast.nl" } ], - "description": "Looks up which function or method a line of code belongs to", - "homepage": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/", + "description": "Semver library that offers utilities, version constraint parsing and validation.", + "keywords": [ + "semantic", + "semver", + "validation", + "versioning" + ], "support": { - "issues": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/issues", - "security": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/security/policy", - "source": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/tree/4.0.1" + "irc": "ircs://irc.libera.chat:6697/composer", + "issues": "https://github.com/composer/semver/issues", + "source": "https://github.com/composer/semver/tree/3.4.4" }, "funding": [ { - "url": "https://github.com/sebastianbergmann", + "url": "https://packagist.com", + "type": "custom" + }, + { + "url": "https://github.com/composer", "type": "github" } ], - "time": "2024-07-03T04:45:54+00:00" + "time": "2025-08-20T19:15:30+00:00" }, { - "name": "sebastian/comparator", - "version": "6.3.1", + "name": "composer/xdebug-handler", + "version": "3.0.5", "source": { "type": "git", - "url": "https://github.com/sebastianbergmann/comparator.git", - "reference": "24b8fbc2c8e201bb1308e7b05148d6ab393b6959" + "url": "https://github.com/composer/xdebug-handler.git", + "reference": "6c1925561632e83d60a44492e0b344cf48ab85ef" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/24b8fbc2c8e201bb1308e7b05148d6ab393b6959", - "reference": "24b8fbc2c8e201bb1308e7b05148d6ab393b6959", + "url": "https://api.github.com/repos/composer/xdebug-handler/zipball/6c1925561632e83d60a44492e0b344cf48ab85ef", + "reference": "6c1925561632e83d60a44492e0b344cf48ab85ef", "shasum": "" }, "require": { - "ext-dom": "*", - "ext-mbstring": "*", - "php": ">=8.2", - "sebastian/diff": "^6.0", - "sebastian/exporter": "^6.0" + "composer/pcre": "^1 || ^2 || ^3", + "php": "^7.2.5 || ^8.0", + "psr/log": "^1 || ^2 || ^3" }, "require-dev": { - "phpunit/phpunit": "^11.4" - }, - "suggest": { - "ext-bcmath": "For comparing BcMath\\Number objects" + "phpstan/phpstan": "^1.0", + "phpstan/phpstan-strict-rules": "^1.1", + "phpunit/phpunit": "^8.5 || ^9.6 || ^10.5" }, "type": "library", - "extra": { - "branch-alias": { - "dev-main": "6.3-dev" - } - }, "autoload": { - "classmap": [ - "src/" - ] + "psr-4": { + "Composer\\XdebugHandler\\": "src" + } }, "notification-url": "https://packagist.org/downloads/", "license": [ - "BSD-3-Clause" + "MIT" ], "authors": [ { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - }, - { - "name": "Jeff Welch", - "email": "whatthejeff@gmail.com" - }, - { - "name": "Volker Dusch", - "email": "github@wallbash.com" - }, - { - "name": "Bernhard Schussek", - "email": "bschussek@2bepublished.at" + "name": "John Stevenson", + "email": "john-stevenson@blueyonder.co.uk" } ], - "description": "Provides the functionality to compare PHP values for equality", - "homepage": "https://github.com/sebastianbergmann/comparator", + "description": "Restarts a process without Xdebug.", "keywords": [ - "comparator", - "compare", - "equality" + "Xdebug", + "performance" ], "support": { - "issues": "https://github.com/sebastianbergmann/comparator/issues", - "security": "https://github.com/sebastianbergmann/comparator/security/policy", - "source": "https://github.com/sebastianbergmann/comparator/tree/6.3.1" + "irc": "ircs://irc.libera.chat:6697/composer", + "issues": "https://github.com/composer/xdebug-handler/issues", + "source": "https://github.com/composer/xdebug-handler/tree/3.0.5" }, "funding": [ { - "url": "https://github.com/sebastianbergmann", + "url": "https://packagist.com", + "type": "custom" + }, + { + "url": "https://github.com/composer", "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/composer/composer", + "type": "tidelift" } ], - "time": "2025-03-07T06:57:01+00:00" + "time": "2024-05-06T16:37:16+00:00" }, { - "name": "sebastian/complexity", - "version": "4.0.1", + "name": "evenement/evenement", + "version": "v3.0.2", "source": { "type": "git", - "url": "https://github.com/sebastianbergmann/complexity.git", - "reference": "ee41d384ab1906c68852636b6de493846e13e5a0" + "url": "https://github.com/igorw/evenement.git", + "reference": "0a16b0d71ab13284339abb99d9d2bd813640efbc" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/complexity/zipball/ee41d384ab1906c68852636b6de493846e13e5a0", - "reference": "ee41d384ab1906c68852636b6de493846e13e5a0", + "url": "https://api.github.com/repos/igorw/evenement/zipball/0a16b0d71ab13284339abb99d9d2bd813640efbc", + "reference": "0a16b0d71ab13284339abb99d9d2bd813640efbc", "shasum": "" }, "require": { - "nikic/php-parser": "^5.0", - "php": ">=8.2" + "php": ">=7.0" }, "require-dev": { - "phpunit/phpunit": "^11.0" + "phpunit/phpunit": "^9 || ^6" }, "type": "library", - "extra": { - "branch-alias": { - "dev-main": "4.0-dev" - } - }, "autoload": { - "classmap": [ - "src/" - ] + "psr-4": { + "Evenement\\": "src/" + } }, "notification-url": "https://packagist.org/downloads/", "license": [ - "BSD-3-Clause" + "MIT" ], "authors": [ { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" + "name": "Igor Wiedler", + "email": "igor@wiedler.ch" } ], - "description": "Library for calculating the complexity of PHP code units", - "homepage": "https://github.com/sebastianbergmann/complexity", + "description": "Événement is a very simple event dispatching library for PHP", + "keywords": [ + "event-dispatcher", + "event-emitter" + ], "support": { - "issues": "https://github.com/sebastianbergmann/complexity/issues", - "security": "https://github.com/sebastianbergmann/complexity/security/policy", - "source": "https://github.com/sebastianbergmann/complexity/tree/4.0.1" + "issues": "https://github.com/igorw/evenement/issues", + "source": "https://github.com/igorw/evenement/tree/v3.0.2" }, - "funding": [ - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - } - ], - "time": "2024-07-03T04:49:50+00:00" + "time": "2023-08-08T05:53:35+00:00" }, { - "name": "sebastian/diff", - "version": "6.0.2", + "name": "fidry/cpu-core-counter", + "version": "1.3.0", "source": { "type": "git", - "url": "https://github.com/sebastianbergmann/diff.git", - "reference": "b4ccd857127db5d41a5b676f24b51371d76d8544" + "url": "https://github.com/theofidry/cpu-core-counter.git", + "reference": "db9508f7b1474469d9d3c53b86f817e344732678" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/b4ccd857127db5d41a5b676f24b51371d76d8544", - "reference": "b4ccd857127db5d41a5b676f24b51371d76d8544", + "url": "https://api.github.com/repos/theofidry/cpu-core-counter/zipball/db9508f7b1474469d9d3c53b86f817e344732678", + "reference": "db9508f7b1474469d9d3c53b86f817e344732678", "shasum": "" }, "require": { - "php": ">=8.2" + "php": "^7.2 || ^8.0" }, "require-dev": { - "phpunit/phpunit": "^11.0", - "symfony/process": "^4.2 || ^5" + "fidry/makefile": "^0.2.0", + "fidry/php-cs-fixer-config": "^1.1.2", + "phpstan/extension-installer": "^1.2.0", + "phpstan/phpstan": "^2.0", + "phpstan/phpstan-deprecation-rules": "^2.0.0", + "phpstan/phpstan-phpunit": "^2.0", + "phpstan/phpstan-strict-rules": "^2.0", + "phpunit/phpunit": "^8.5.31 || ^9.5.26", + "webmozarts/strict-phpunit": "^7.5" }, "type": "library", - "extra": { - "branch-alias": { - "dev-main": "6.0-dev" - } - }, "autoload": { - "classmap": [ - "src/" - ] + "psr-4": { + "Fidry\\CpuCoreCounter\\": "src/" + } }, "notification-url": "https://packagist.org/downloads/", "license": [ - "BSD-3-Clause" + "MIT" ], "authors": [ { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - }, - { - "name": "Kore Nordmann", - "email": "mail@kore-nordmann.de" + "name": "Théo FIDRY", + "email": "theo.fidry@gmail.com" } ], - "description": "Diff implementation", - "homepage": "https://github.com/sebastianbergmann/diff", + "description": "Tiny utility to get the number of CPU cores.", "keywords": [ - "diff", - "udiff", - "unidiff", - "unified diff" + "CPU", + "core" ], "support": { - "issues": "https://github.com/sebastianbergmann/diff/issues", - "security": "https://github.com/sebastianbergmann/diff/security/policy", - "source": "https://github.com/sebastianbergmann/diff/tree/6.0.2" + "issues": "https://github.com/theofidry/cpu-core-counter/issues", + "source": "https://github.com/theofidry/cpu-core-counter/tree/1.3.0" }, "funding": [ { - "url": "https://github.com/sebastianbergmann", + "url": "https://github.com/theofidry", "type": "github" } ], - "time": "2024-07-03T04:53:05+00:00" + "time": "2025-08-14T07:29:31+00:00" }, { - "name": "sebastian/environment", - "version": "7.2.1", + "name": "friendsofphp/php-cs-fixer", + "version": "v3.90.0", "source": { "type": "git", - "url": "https://github.com/sebastianbergmann/environment.git", - "reference": "a5c75038693ad2e8d4b6c15ba2403532647830c4" + "url": "https://github.com/PHP-CS-Fixer/PHP-CS-Fixer.git", + "reference": "ad732c2e9299c9743f9c55ae53cc0e7642ab1155" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/a5c75038693ad2e8d4b6c15ba2403532647830c4", - "reference": "a5c75038693ad2e8d4b6c15ba2403532647830c4", + "url": "https://api.github.com/repos/PHP-CS-Fixer/PHP-CS-Fixer/zipball/ad732c2e9299c9743f9c55ae53cc0e7642ab1155", + "reference": "ad732c2e9299c9743f9c55ae53cc0e7642ab1155", "shasum": "" }, "require": { - "php": ">=8.2" + "clue/ndjson-react": "^1.3", + "composer/semver": "^3.4", + "composer/xdebug-handler": "^3.0.5", + "ext-filter": "*", + "ext-hash": "*", + "ext-json": "*", + "ext-tokenizer": "*", + "fidry/cpu-core-counter": "^1.3", + "php": "^7.4 || ^8.0", + "react/child-process": "^0.6.6", + "react/event-loop": "^1.5", + "react/socket": "^1.16", + "react/stream": "^1.4", + "sebastian/diff": "^4.0.6 || ^5.1.1 || ^6.0.2 || ^7.0", + "symfony/console": "^5.4.47 || ^6.4.24 || ^7.0 || ^8.0", + "symfony/event-dispatcher": "^5.4.45 || ^6.4.24 || ^7.0 || ^8.0", + "symfony/filesystem": "^5.4.45 || ^6.4.24 || ^7.0 || ^8.0", + "symfony/finder": "^5.4.45 || ^6.4.24 || ^7.0 || ^8.0", + "symfony/options-resolver": "^5.4.45 || ^6.4.24 || ^7.0 || ^8.0", + "symfony/polyfill-mbstring": "^1.33", + "symfony/polyfill-php80": "^1.33", + "symfony/polyfill-php81": "^1.33", + "symfony/polyfill-php84": "^1.33", + "symfony/process": "^5.4.47 || ^6.4.24 || ^7.2 || ^8.0", + "symfony/stopwatch": "^5.4.45 || ^6.4.24 || ^7.0 || ^8.0" }, "require-dev": { - "phpunit/phpunit": "^11.3" + "facile-it/paraunit": "^1.3.1 || ^2.7", + "infection/infection": "^0.31.0", + "justinrainbow/json-schema": "^6.5", + "keradus/cli-executor": "^2.2", + "mikey179/vfsstream": "^1.6.12", + "php-coveralls/php-coveralls": "^2.9", + "php-cs-fixer/phpunit-constraint-isidenticalstring": "^1.6", + "php-cs-fixer/phpunit-constraint-xmlmatchesxsd": "^1.6", + "phpunit/phpunit": "^9.6.25 || ^10.5.53 || ^11.5.34", + "symfony/var-dumper": "^5.4.48 || ^6.4.24 || ^7.3.2 || ^8.0", + "symfony/yaml": "^5.4.45 || ^6.4.24 || ^7.3.2 || ^8.0" }, "suggest": { - "ext-posix": "*" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "7.2-dev" - } + "ext-dom": "For handling output formats in XML", + "ext-mbstring": "For handling non-UTF8 characters." }, + "bin": [ + "php-cs-fixer" + ], + "type": "application", "autoload": { - "classmap": [ - "src/" + "psr-4": { + "PhpCsFixer\\": "src/" + }, + "exclude-from-classmap": [ + "src/Fixer/Internal/*" ] }, "notification-url": "https://packagist.org/downloads/", "license": [ - "BSD-3-Clause" + "MIT" ], "authors": [ { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Dariusz Rumiński", + "email": "dariusz.ruminski@gmail.com" } ], - "description": "Provides functionality to handle HHVM/PHP environments", - "homepage": "https://github.com/sebastianbergmann/environment", + "description": "A tool to automatically fix PHP code style", "keywords": [ - "Xdebug", - "environment", - "hhvm" + "Static code analysis", + "fixer", + "standards", + "static analysis" ], "support": { - "issues": "https://github.com/sebastianbergmann/environment/issues", - "security": "https://github.com/sebastianbergmann/environment/security/policy", - "source": "https://github.com/sebastianbergmann/environment/tree/7.2.1" + "issues": "https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues", + "source": "https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/tree/v3.90.0" }, "funding": [ { - "url": "https://github.com/sebastianbergmann", + "url": "https://github.com/keradus", "type": "github" - }, - { - "url": "https://liberapay.com/sebastianbergmann", - "type": "liberapay" - }, - { - "url": "https://thanks.dev/u/gh/sebastianbergmann", - "type": "thanks_dev" - }, - { - "url": "https://tidelift.com/funding/github/packagist/sebastian/environment", - "type": "tidelift" } ], - "time": "2025-05-21T11:55:47+00:00" + "time": "2025-11-20T15:15:16+00:00" }, { - "name": "sebastian/exporter", - "version": "6.3.0", + "name": "mikey179/vfsstream", + "version": "v1.6.12", "source": { "type": "git", - "url": "https://github.com/sebastianbergmann/exporter.git", - "reference": "3473f61172093b2da7de1fb5782e1f24cc036dc3" + "url": "https://github.com/bovigo/vfsStream.git", + "reference": "fe695ec993e0a55c3abdda10a9364eb31c6f1bf0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/3473f61172093b2da7de1fb5782e1f24cc036dc3", - "reference": "3473f61172093b2da7de1fb5782e1f24cc036dc3", + "url": "https://api.github.com/repos/bovigo/vfsStream/zipball/fe695ec993e0a55c3abdda10a9364eb31c6f1bf0", + "reference": "fe695ec993e0a55c3abdda10a9364eb31c6f1bf0", "shasum": "" }, "require": { - "ext-mbstring": "*", - "php": ">=8.2", - "sebastian/recursion-context": "^6.0" + "php": ">=7.1.0" }, "require-dev": { - "phpunit/phpunit": "^11.3" + "phpunit/phpunit": "^7.5||^8.5||^9.6", + "yoast/phpunit-polyfills": "^2.0" }, "type": "library", "extra": { "branch-alias": { - "dev-main": "6.1-dev" + "dev-master": "1.6.x-dev" } }, "autoload": { - "classmap": [ - "src/" - ] + "psr-0": { + "org\\bovigo\\vfs\\": "src/main/php" + } }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -9425,453 +9684,598 @@ ], "authors": [ { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - }, - { - "name": "Jeff Welch", - "email": "whatthejeff@gmail.com" - }, - { - "name": "Volker Dusch", - "email": "github@wallbash.com" - }, - { - "name": "Adam Harvey", - "email": "aharvey@php.net" - }, - { - "name": "Bernhard Schussek", - "email": "bschussek@gmail.com" + "name": "Frank Kleine", + "homepage": "http://frankkleine.de/", + "role": "Developer" } ], - "description": "Provides the functionality to export PHP variables for visualization", - "homepage": "https://www.github.com/sebastianbergmann/exporter", + "description": "Virtual file system to mock the real file system in unit tests.", + "homepage": "http://vfs.bovigo.org/", + "support": { + "issues": "https://github.com/bovigo/vfsStream/issues", + "source": "https://github.com/bovigo/vfsStream/tree/master", + "wiki": "https://github.com/bovigo/vfsStream/wiki" + }, + "time": "2024-08-29T18:43:31+00:00" + }, + { + "name": "phpstan/phpstan", + "version": "2.1.32", + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/phpstan/phpstan/zipball/e126cad1e30a99b137b8ed75a85a676450ebb227", + "reference": "e126cad1e30a99b137b8ed75a85a676450ebb227", + "shasum": "" + }, + "require": { + "php": "^7.4|^8.0" + }, + "conflict": { + "phpstan/phpstan-shim": "*" + }, + "bin": [ + "phpstan", + "phpstan.phar" + ], + "type": "library", + "autoload": { + "files": [ + "bootstrap.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "PHPStan - PHP Static Analysis Tool", "keywords": [ - "export", - "exporter" + "dev", + "static analysis" ], "support": { - "issues": "https://github.com/sebastianbergmann/exporter/issues", - "security": "https://github.com/sebastianbergmann/exporter/security/policy", - "source": "https://github.com/sebastianbergmann/exporter/tree/6.3.0" + "docs": "https://phpstan.org/user-guide/getting-started", + "forum": "https://github.com/phpstan/phpstan/discussions", + "issues": "https://github.com/phpstan/phpstan/issues", + "security": "https://github.com/phpstan/phpstan/security/policy", + "source": "https://github.com/phpstan/phpstan-src" }, "funding": [ { - "url": "https://github.com/sebastianbergmann", + "url": "https://github.com/ondrejmirtes", + "type": "github" + }, + { + "url": "https://github.com/phpstan", "type": "github" } ], - "time": "2024-12-05T09:17:50+00:00" + "time": "2025-11-11T15:18:17+00:00" }, { - "name": "sebastian/global-state", - "version": "7.0.2", + "name": "react/cache", + "version": "v1.2.0", "source": { "type": "git", - "url": "https://github.com/sebastianbergmann/global-state.git", - "reference": "3be331570a721f9a4b5917f4209773de17f747d7" + "url": "https://github.com/reactphp/cache.git", + "reference": "d47c472b64aa5608225f47965a484b75c7817d5b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/3be331570a721f9a4b5917f4209773de17f747d7", - "reference": "3be331570a721f9a4b5917f4209773de17f747d7", + "url": "https://api.github.com/repos/reactphp/cache/zipball/d47c472b64aa5608225f47965a484b75c7817d5b", + "reference": "d47c472b64aa5608225f47965a484b75c7817d5b", "shasum": "" }, "require": { - "php": ">=8.2", - "sebastian/object-reflector": "^4.0", - "sebastian/recursion-context": "^6.0" + "php": ">=5.3.0", + "react/promise": "^3.0 || ^2.0 || ^1.1" }, "require-dev": { - "ext-dom": "*", - "phpunit/phpunit": "^11.0" + "phpunit/phpunit": "^9.5 || ^5.7 || ^4.8.35" }, "type": "library", - "extra": { - "branch-alias": { - "dev-main": "7.0-dev" - } - }, "autoload": { - "classmap": [ - "src/" - ] + "psr-4": { + "React\\Cache\\": "src/" + } }, "notification-url": "https://packagist.org/downloads/", "license": [ - "BSD-3-Clause" + "MIT" ], "authors": [ { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" + "name": "Christian Lück", + "email": "christian@clue.engineering", + "homepage": "https://clue.engineering/" + }, + { + "name": "Cees-Jan Kiewiet", + "email": "reactphp@ceesjankiewiet.nl", + "homepage": "https://wyrihaximus.net/" + }, + { + "name": "Jan Sorgalla", + "email": "jsorgalla@gmail.com", + "homepage": "https://sorgalla.com/" + }, + { + "name": "Chris Boden", + "email": "cboden@gmail.com", + "homepage": "https://cboden.dev/" } ], - "description": "Snapshotting of global state", - "homepage": "https://www.github.com/sebastianbergmann/global-state", + "description": "Async, Promise-based cache interface for ReactPHP", "keywords": [ - "global state" + "cache", + "caching", + "promise", + "reactphp" ], "support": { - "issues": "https://github.com/sebastianbergmann/global-state/issues", - "security": "https://github.com/sebastianbergmann/global-state/security/policy", - "source": "https://github.com/sebastianbergmann/global-state/tree/7.0.2" + "issues": "https://github.com/reactphp/cache/issues", + "source": "https://github.com/reactphp/cache/tree/v1.2.0" }, "funding": [ { - "url": "https://github.com/sebastianbergmann", - "type": "github" + "url": "https://opencollective.com/reactphp", + "type": "open_collective" } ], - "time": "2024-07-03T04:57:36+00:00" + "time": "2022-11-30T15:59:55+00:00" }, { - "name": "sebastian/lines-of-code", - "version": "3.0.1", + "name": "react/child-process", + "version": "v0.6.6", "source": { "type": "git", - "url": "https://github.com/sebastianbergmann/lines-of-code.git", - "reference": "d36ad0d782e5756913e42ad87cb2890f4ffe467a" + "url": "https://github.com/reactphp/child-process.git", + "reference": "1721e2b93d89b745664353b9cfc8f155ba8a6159" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/lines-of-code/zipball/d36ad0d782e5756913e42ad87cb2890f4ffe467a", - "reference": "d36ad0d782e5756913e42ad87cb2890f4ffe467a", + "url": "https://api.github.com/repos/reactphp/child-process/zipball/1721e2b93d89b745664353b9cfc8f155ba8a6159", + "reference": "1721e2b93d89b745664353b9cfc8f155ba8a6159", "shasum": "" }, "require": { - "nikic/php-parser": "^5.0", - "php": ">=8.2" + "evenement/evenement": "^3.0 || ^2.0 || ^1.0", + "php": ">=5.3.0", + "react/event-loop": "^1.2", + "react/stream": "^1.4" }, "require-dev": { - "phpunit/phpunit": "^11.0" + "phpunit/phpunit": "^9.6 || ^5.7 || ^4.8.36", + "react/socket": "^1.16", + "sebastian/environment": "^5.0 || ^3.0 || ^2.0 || ^1.0" }, "type": "library", - "extra": { - "branch-alias": { - "dev-main": "3.0-dev" - } - }, "autoload": { - "classmap": [ - "src/" - ] + "psr-4": { + "React\\ChildProcess\\": "src/" + } }, "notification-url": "https://packagist.org/downloads/", "license": [ - "BSD-3-Clause" + "MIT" ], "authors": [ { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" + "name": "Christian Lück", + "email": "christian@clue.engineering", + "homepage": "https://clue.engineering/" + }, + { + "name": "Cees-Jan Kiewiet", + "email": "reactphp@ceesjankiewiet.nl", + "homepage": "https://wyrihaximus.net/" + }, + { + "name": "Jan Sorgalla", + "email": "jsorgalla@gmail.com", + "homepage": "https://sorgalla.com/" + }, + { + "name": "Chris Boden", + "email": "cboden@gmail.com", + "homepage": "https://cboden.dev/" } ], - "description": "Library for counting the lines of code in PHP source code", - "homepage": "https://github.com/sebastianbergmann/lines-of-code", + "description": "Event-driven library for executing child processes with ReactPHP.", + "keywords": [ + "event-driven", + "process", + "reactphp" + ], "support": { - "issues": "https://github.com/sebastianbergmann/lines-of-code/issues", - "security": "https://github.com/sebastianbergmann/lines-of-code/security/policy", - "source": "https://github.com/sebastianbergmann/lines-of-code/tree/3.0.1" + "issues": "https://github.com/reactphp/child-process/issues", + "source": "https://github.com/reactphp/child-process/tree/v0.6.6" }, "funding": [ { - "url": "https://github.com/sebastianbergmann", - "type": "github" + "url": "https://opencollective.com/reactphp", + "type": "open_collective" } ], - "time": "2024-07-03T04:58:38+00:00" + "time": "2025-01-01T16:37:48+00:00" }, { - "name": "sebastian/object-enumerator", - "version": "6.0.1", + "name": "react/dns", + "version": "v1.14.0", "source": { "type": "git", - "url": "https://github.com/sebastianbergmann/object-enumerator.git", - "reference": "f5b498e631a74204185071eb41f33f38d64608aa" + "url": "https://github.com/reactphp/dns.git", + "reference": "7562c05391f42701c1fccf189c8225fece1cd7c3" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/object-enumerator/zipball/f5b498e631a74204185071eb41f33f38d64608aa", - "reference": "f5b498e631a74204185071eb41f33f38d64608aa", + "url": "https://api.github.com/repos/reactphp/dns/zipball/7562c05391f42701c1fccf189c8225fece1cd7c3", + "reference": "7562c05391f42701c1fccf189c8225fece1cd7c3", "shasum": "" }, "require": { - "php": ">=8.2", - "sebastian/object-reflector": "^4.0", - "sebastian/recursion-context": "^6.0" + "php": ">=5.3.0", + "react/cache": "^1.0 || ^0.6 || ^0.5", + "react/event-loop": "^1.2", + "react/promise": "^3.2 || ^2.7 || ^1.2.1" }, "require-dev": { - "phpunit/phpunit": "^11.0" + "phpunit/phpunit": "^9.6 || ^5.7 || ^4.8.36", + "react/async": "^4.3 || ^3 || ^2", + "react/promise-timer": "^1.11" }, "type": "library", - "extra": { - "branch-alias": { - "dev-main": "6.0-dev" - } - }, "autoload": { - "classmap": [ - "src/" - ] + "psr-4": { + "React\\Dns\\": "src/" + } }, "notification-url": "https://packagist.org/downloads/", "license": [ - "BSD-3-Clause" + "MIT" ], "authors": [ { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" + "name": "Christian Lück", + "email": "christian@clue.engineering", + "homepage": "https://clue.engineering/" + }, + { + "name": "Cees-Jan Kiewiet", + "email": "reactphp@ceesjankiewiet.nl", + "homepage": "https://wyrihaximus.net/" + }, + { + "name": "Jan Sorgalla", + "email": "jsorgalla@gmail.com", + "homepage": "https://sorgalla.com/" + }, + { + "name": "Chris Boden", + "email": "cboden@gmail.com", + "homepage": "https://cboden.dev/" } ], - "description": "Traverses array structures and object graphs to enumerate all referenced objects", - "homepage": "https://github.com/sebastianbergmann/object-enumerator/", + "description": "Async DNS resolver for ReactPHP", + "keywords": [ + "async", + "dns", + "dns-resolver", + "reactphp" + ], "support": { - "issues": "https://github.com/sebastianbergmann/object-enumerator/issues", - "security": "https://github.com/sebastianbergmann/object-enumerator/security/policy", - "source": "https://github.com/sebastianbergmann/object-enumerator/tree/6.0.1" + "issues": "https://github.com/reactphp/dns/issues", + "source": "https://github.com/reactphp/dns/tree/v1.14.0" }, "funding": [ { - "url": "https://github.com/sebastianbergmann", - "type": "github" + "url": "https://opencollective.com/reactphp", + "type": "open_collective" } ], - "time": "2024-07-03T05:00:13+00:00" + "time": "2025-11-18T19:34:28+00:00" }, { - "name": "sebastian/object-reflector", - "version": "4.0.1", + "name": "react/event-loop", + "version": "v1.6.0", "source": { "type": "git", - "url": "https://github.com/sebastianbergmann/object-reflector.git", - "reference": "6e1a43b411b2ad34146dee7524cb13a068bb35f9" + "url": "https://github.com/reactphp/event-loop.git", + "reference": "ba276bda6083df7e0050fd9b33f66ad7a4ac747a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/object-reflector/zipball/6e1a43b411b2ad34146dee7524cb13a068bb35f9", - "reference": "6e1a43b411b2ad34146dee7524cb13a068bb35f9", + "url": "https://api.github.com/repos/reactphp/event-loop/zipball/ba276bda6083df7e0050fd9b33f66ad7a4ac747a", + "reference": "ba276bda6083df7e0050fd9b33f66ad7a4ac747a", "shasum": "" }, "require": { - "php": ">=8.2" + "php": ">=5.3.0" }, "require-dev": { - "phpunit/phpunit": "^11.0" + "phpunit/phpunit": "^9.6 || ^5.7 || ^4.8.36" }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "4.0-dev" - } + "suggest": { + "ext-pcntl": "For signal handling support when using the StreamSelectLoop" }, + "type": "library", "autoload": { - "classmap": [ - "src/" - ] + "psr-4": { + "React\\EventLoop\\": "src/" + } }, "notification-url": "https://packagist.org/downloads/", "license": [ - "BSD-3-Clause" + "MIT" ], "authors": [ { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" + "name": "Christian Lück", + "email": "christian@clue.engineering", + "homepage": "https://clue.engineering/" + }, + { + "name": "Cees-Jan Kiewiet", + "email": "reactphp@ceesjankiewiet.nl", + "homepage": "https://wyrihaximus.net/" + }, + { + "name": "Jan Sorgalla", + "email": "jsorgalla@gmail.com", + "homepage": "https://sorgalla.com/" + }, + { + "name": "Chris Boden", + "email": "cboden@gmail.com", + "homepage": "https://cboden.dev/" } ], - "description": "Allows reflection of object attributes, including inherited and non-public ones", - "homepage": "https://github.com/sebastianbergmann/object-reflector/", + "description": "ReactPHP's core reactor event loop that libraries can use for evented I/O.", + "keywords": [ + "asynchronous", + "event-loop" + ], "support": { - "issues": "https://github.com/sebastianbergmann/object-reflector/issues", - "security": "https://github.com/sebastianbergmann/object-reflector/security/policy", - "source": "https://github.com/sebastianbergmann/object-reflector/tree/4.0.1" + "issues": "https://github.com/reactphp/event-loop/issues", + "source": "https://github.com/reactphp/event-loop/tree/v1.6.0" }, "funding": [ { - "url": "https://github.com/sebastianbergmann", - "type": "github" + "url": "https://opencollective.com/reactphp", + "type": "open_collective" } ], - "time": "2024-07-03T05:01:32+00:00" + "time": "2025-11-17T20:46:25+00:00" }, { - "name": "sebastian/recursion-context", - "version": "6.0.2", + "name": "react/promise", + "version": "v3.3.0", "source": { "type": "git", - "url": "https://github.com/sebastianbergmann/recursion-context.git", - "reference": "694d156164372abbd149a4b85ccda2e4670c0e16" + "url": "https://github.com/reactphp/promise.git", + "reference": "23444f53a813a3296c1368bb104793ce8d88f04a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/694d156164372abbd149a4b85ccda2e4670c0e16", - "reference": "694d156164372abbd149a4b85ccda2e4670c0e16", + "url": "https://api.github.com/repos/reactphp/promise/zipball/23444f53a813a3296c1368bb104793ce8d88f04a", + "reference": "23444f53a813a3296c1368bb104793ce8d88f04a", "shasum": "" }, "require": { - "php": ">=8.2" + "php": ">=7.1.0" }, "require-dev": { - "phpunit/phpunit": "^11.0" + "phpstan/phpstan": "1.12.28 || 1.4.10", + "phpunit/phpunit": "^9.6 || ^7.5" }, "type": "library", - "extra": { - "branch-alias": { - "dev-main": "6.0-dev" - } - }, "autoload": { - "classmap": [ - "src/" - ] + "files": [ + "src/functions_include.php" + ], + "psr-4": { + "React\\Promise\\": "src/" + } }, "notification-url": "https://packagist.org/downloads/", "license": [ - "BSD-3-Clause" + "MIT" ], "authors": [ { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" + "name": "Jan Sorgalla", + "email": "jsorgalla@gmail.com", + "homepage": "https://sorgalla.com/" }, { - "name": "Jeff Welch", - "email": "whatthejeff@gmail.com" + "name": "Christian Lück", + "email": "christian@clue.engineering", + "homepage": "https://clue.engineering/" }, { - "name": "Adam Harvey", - "email": "aharvey@php.net" + "name": "Cees-Jan Kiewiet", + "email": "reactphp@ceesjankiewiet.nl", + "homepage": "https://wyrihaximus.net/" + }, + { + "name": "Chris Boden", + "email": "cboden@gmail.com", + "homepage": "https://cboden.dev/" } ], - "description": "Provides functionality to recursively process PHP variables", - "homepage": "https://github.com/sebastianbergmann/recursion-context", + "description": "A lightweight implementation of CommonJS Promises/A for PHP", + "keywords": [ + "promise", + "promises" + ], "support": { - "issues": "https://github.com/sebastianbergmann/recursion-context/issues", - "security": "https://github.com/sebastianbergmann/recursion-context/security/policy", - "source": "https://github.com/sebastianbergmann/recursion-context/tree/6.0.2" + "issues": "https://github.com/reactphp/promise/issues", + "source": "https://github.com/reactphp/promise/tree/v3.3.0" }, "funding": [ { - "url": "https://github.com/sebastianbergmann", - "type": "github" + "url": "https://opencollective.com/reactphp", + "type": "open_collective" } ], - "time": "2024-07-03T05:10:34+00:00" + "time": "2025-08-19T18:57:03+00:00" }, { - "name": "sebastian/type", - "version": "5.1.2", + "name": "react/socket", + "version": "v1.17.0", "source": { "type": "git", - "url": "https://github.com/sebastianbergmann/type.git", - "reference": "a8a7e30534b0eb0c77cd9d07e82de1a114389f5e" + "url": "https://github.com/reactphp/socket.git", + "reference": "ef5b17b81f6f60504c539313f94f2d826c5faa08" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/type/zipball/a8a7e30534b0eb0c77cd9d07e82de1a114389f5e", - "reference": "a8a7e30534b0eb0c77cd9d07e82de1a114389f5e", + "url": "https://api.github.com/repos/reactphp/socket/zipball/ef5b17b81f6f60504c539313f94f2d826c5faa08", + "reference": "ef5b17b81f6f60504c539313f94f2d826c5faa08", "shasum": "" }, "require": { - "php": ">=8.2" + "evenement/evenement": "^3.0 || ^2.0 || ^1.0", + "php": ">=5.3.0", + "react/dns": "^1.13", + "react/event-loop": "^1.2", + "react/promise": "^3.2 || ^2.6 || ^1.2.1", + "react/stream": "^1.4" }, "require-dev": { - "phpunit/phpunit": "^11.3" + "phpunit/phpunit": "^9.6 || ^5.7 || ^4.8.36", + "react/async": "^4.3 || ^3.3 || ^2", + "react/promise-stream": "^1.4", + "react/promise-timer": "^1.11" }, "type": "library", - "extra": { - "branch-alias": { - "dev-main": "5.1-dev" - } - }, "autoload": { - "classmap": [ - "src/" - ] + "psr-4": { + "React\\Socket\\": "src/" + } }, "notification-url": "https://packagist.org/downloads/", "license": [ - "BSD-3-Clause" + "MIT" ], "authors": [ { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" + "name": "Christian Lück", + "email": "christian@clue.engineering", + "homepage": "https://clue.engineering/" + }, + { + "name": "Cees-Jan Kiewiet", + "email": "reactphp@ceesjankiewiet.nl", + "homepage": "https://wyrihaximus.net/" + }, + { + "name": "Jan Sorgalla", + "email": "jsorgalla@gmail.com", + "homepage": "https://sorgalla.com/" + }, + { + "name": "Chris Boden", + "email": "cboden@gmail.com", + "homepage": "https://cboden.dev/" } ], - "description": "Collection of value objects that represent the types of the PHP type system", - "homepage": "https://github.com/sebastianbergmann/type", + "description": "Async, streaming plaintext TCP/IP and secure TLS socket server and client connections for ReactPHP", + "keywords": [ + "Connection", + "Socket", + "async", + "reactphp", + "stream" + ], "support": { - "issues": "https://github.com/sebastianbergmann/type/issues", - "security": "https://github.com/sebastianbergmann/type/security/policy", - "source": "https://github.com/sebastianbergmann/type/tree/5.1.2" + "issues": "https://github.com/reactphp/socket/issues", + "source": "https://github.com/reactphp/socket/tree/v1.17.0" }, "funding": [ { - "url": "https://github.com/sebastianbergmann", - "type": "github" + "url": "https://opencollective.com/reactphp", + "type": "open_collective" } ], - "time": "2025-03-18T13:35:50+00:00" + "time": "2025-11-19T20:47:34+00:00" }, { - "name": "sebastian/version", - "version": "5.0.2", + "name": "react/stream", + "version": "v1.4.0", "source": { "type": "git", - "url": "https://github.com/sebastianbergmann/version.git", - "reference": "c687e3387b99f5b03b6caa64c74b63e2936ff874" + "url": "https://github.com/reactphp/stream.git", + "reference": "1e5b0acb8fe55143b5b426817155190eb6f5b18d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/version/zipball/c687e3387b99f5b03b6caa64c74b63e2936ff874", - "reference": "c687e3387b99f5b03b6caa64c74b63e2936ff874", + "url": "https://api.github.com/repos/reactphp/stream/zipball/1e5b0acb8fe55143b5b426817155190eb6f5b18d", + "reference": "1e5b0acb8fe55143b5b426817155190eb6f5b18d", "shasum": "" }, "require": { - "php": ">=8.2" + "evenement/evenement": "^3.0 || ^2.0 || ^1.0", + "php": ">=5.3.8", + "react/event-loop": "^1.2" }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "5.0-dev" - } + "require-dev": { + "clue/stream-filter": "~1.2", + "phpunit/phpunit": "^9.6 || ^5.7 || ^4.8.36" }, + "type": "library", "autoload": { - "classmap": [ - "src/" - ] + "psr-4": { + "React\\Stream\\": "src/" + } }, "notification-url": "https://packagist.org/downloads/", "license": [ - "BSD-3-Clause" + "MIT" ], "authors": [ { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" + "name": "Christian Lück", + "email": "christian@clue.engineering", + "homepage": "https://clue.engineering/" + }, + { + "name": "Cees-Jan Kiewiet", + "email": "reactphp@ceesjankiewiet.nl", + "homepage": "https://wyrihaximus.net/" + }, + { + "name": "Jan Sorgalla", + "email": "jsorgalla@gmail.com", + "homepage": "https://sorgalla.com/" + }, + { + "name": "Chris Boden", + "email": "cboden@gmail.com", + "homepage": "https://cboden.dev/" } ], - "description": "Library that helps with managing the version number of Git-hosted PHP projects", - "homepage": "https://github.com/sebastianbergmann/version", + "description": "Event-driven readable and writable streams for non-blocking I/O in ReactPHP", + "keywords": [ + "event-driven", + "io", + "non-blocking", + "pipe", + "reactphp", + "readable", + "stream", + "writable" + ], "support": { - "issues": "https://github.com/sebastianbergmann/version/issues", - "security": "https://github.com/sebastianbergmann/version/security/policy", - "source": "https://github.com/sebastianbergmann/version/tree/5.0.2" + "issues": "https://github.com/reactphp/stream/issues", + "source": "https://github.com/reactphp/stream/tree/v1.4.0" }, "funding": [ { - "url": "https://github.com/sebastianbergmann", - "type": "github" + "url": "https://opencollective.com/reactphp", + "type": "open_collective" } ], - "time": "2024-10-09T05:16:32+00:00" + "time": "2024-06-11T12:45:25+00:00" }, { "name": "sebastianfeldmann/camino", @@ -9989,16 +10393,16 @@ }, { "name": "sebastianfeldmann/git", - "version": "3.14.3", + "version": "3.15.3", "source": { "type": "git", "url": "https://github.com/sebastianfeldmann/git.git", - "reference": "22584df8df01d95b0700000cfd855779fae7d8ea" + "reference": "601fd0fbb7d1a784e009a4f8f40975e777ad334a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianfeldmann/git/zipball/22584df8df01d95b0700000cfd855779fae7d8ea", - "reference": "22584df8df01d95b0700000cfd855779fae7d8ea", + "url": "https://api.github.com/repos/sebastianfeldmann/git/zipball/601fd0fbb7d1a784e009a4f8f40975e777ad334a", + "reference": "601fd0fbb7d1a784e009a4f8f40975e777ad334a", "shasum": "" }, "require": { @@ -10039,7 +10443,7 @@ ], "support": { "issues": "https://github.com/sebastianfeldmann/git/issues", - "source": "https://github.com/sebastianfeldmann/git/tree/3.14.3" + "source": "https://github.com/sebastianfeldmann/git/tree/3.15.3" }, "funding": [ { @@ -10047,72 +10451,20 @@ "type": "github" } ], - "time": "2025-06-05T16:05:10+00:00" - }, - { - "name": "staabm/side-effects-detector", - "version": "1.0.5", - "source": { - "type": "git", - "url": "https://github.com/staabm/side-effects-detector.git", - "reference": "d8334211a140ce329c13726d4a715adbddd0a163" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/staabm/side-effects-detector/zipball/d8334211a140ce329c13726d4a715adbddd0a163", - "reference": "d8334211a140ce329c13726d4a715adbddd0a163", - "shasum": "" - }, - "require": { - "ext-tokenizer": "*", - "php": "^7.4 || ^8.0" - }, - "require-dev": { - "phpstan/extension-installer": "^1.4.3", - "phpstan/phpstan": "^1.12.6", - "phpunit/phpunit": "^9.6.21", - "symfony/var-dumper": "^5.4.43", - "tomasvotruba/type-coverage": "1.0.0", - "tomasvotruba/unused-public": "1.0.0" - }, - "type": "library", - "autoload": { - "classmap": [ - "lib/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "description": "A static analysis tool to detect side effects in PHP code", - "keywords": [ - "static analysis" - ], - "support": { - "issues": "https://github.com/staabm/side-effects-detector/issues", - "source": "https://github.com/staabm/side-effects-detector/tree/1.0.5" - }, - "funding": [ - { - "url": "https://github.com/staabm", - "type": "github" - } - ], - "time": "2024-10-20T05:08:20+00:00" + "time": "2025-11-20T21:33:45+00:00" }, { "name": "symfony/options-resolver", - "version": "v7.3.0", + "version": "v7.4.0", "source": { "type": "git", "url": "https://github.com/symfony/options-resolver.git", - "reference": "afb9a8038025e5dbc657378bfab9198d75f10fca" + "reference": "b38026df55197f9e39a44f3215788edf83187b80" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/options-resolver/zipball/afb9a8038025e5dbc657378bfab9198d75f10fca", - "reference": "afb9a8038025e5dbc657378bfab9198d75f10fca", + "url": "https://api.github.com/repos/symfony/options-resolver/zipball/b38026df55197f9e39a44f3215788edf83187b80", + "reference": "b38026df55197f9e39a44f3215788edf83187b80", "shasum": "" }, "require": { @@ -10150,7 +10502,7 @@ "options" ], "support": { - "source": "https://github.com/symfony/options-resolver/tree/v7.3.0" + "source": "https://github.com/symfony/options-resolver/tree/v7.4.0" }, "funding": [ { @@ -10161,16 +10513,20 @@ "url": "https://github.com/fabpot", "type": "github" }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, { "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", "type": "tidelift" } ], - "time": "2025-04-04T13:12:05+00:00" + "time": "2025-11-12T15:39:26+00:00" }, { "name": "symfony/polyfill-php81", - "version": "v1.32.0", + "version": "v1.33.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-php81.git", @@ -10226,7 +10582,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-php81/tree/v1.32.0" + "source": "https://github.com/symfony/polyfill-php81/tree/v1.33.0" }, "funding": [ { @@ -10237,6 +10593,10 @@ "url": "https://github.com/fabpot", "type": "github" }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, { "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", "type": "tidelift" @@ -10245,29 +10605,38 @@ "time": "2024-09-09T11:45:10+00:00" }, { - "name": "symfony/process", - "version": "v7.3.0", + "name": "symfony/polyfill-php84", + "version": "v1.33.0", "source": { "type": "git", - "url": "https://github.com/symfony/process.git", - "reference": "40c295f2deb408d5e9d2d32b8ba1dd61e36f05af" + "url": "https://github.com/symfony/polyfill-php84.git", + "reference": "d8ced4d875142b6a7426000426b8abc631d6b191" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/process/zipball/40c295f2deb408d5e9d2d32b8ba1dd61e36f05af", - "reference": "40c295f2deb408d5e9d2d32b8ba1dd61e36f05af", + "url": "https://api.github.com/repos/symfony/polyfill-php84/zipball/d8ced4d875142b6a7426000426b8abc631d6b191", + "reference": "d8ced4d875142b6a7426000426b8abc631d6b191", "shasum": "" }, "require": { - "php": ">=8.2" + "php": ">=7.2" }, "type": "library", + "extra": { + "thanks": { + "url": "https://github.com/symfony/polyfill", + "name": "symfony/polyfill" + } + }, "autoload": { + "files": [ + "bootstrap.php" + ], "psr-4": { - "Symfony\\Component\\Process\\": "" + "Symfony\\Polyfill\\Php84\\": "" }, - "exclude-from-classmap": [ - "/Tests/" + "classmap": [ + "Resources/stubs" ] }, "notification-url": "https://packagist.org/downloads/", @@ -10276,18 +10645,24 @@ ], "authors": [ { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" + "name": "Nicolas Grekas", + "email": "p@tchwork.com" }, { "name": "Symfony Community", "homepage": "https://symfony.com/contributors" } ], - "description": "Executes commands in sub-processes", + "description": "Symfony polyfill backporting some PHP 8.4+ features to lower PHP versions", "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "polyfill", + "portable", + "shim" + ], "support": { - "source": "https://github.com/symfony/process/tree/v7.3.0" + "source": "https://github.com/symfony/polyfill-php84/tree/v1.33.0" }, "funding": [ { @@ -10298,35 +10673,38 @@ "url": "https://github.com/fabpot", "type": "github" }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, { "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", "type": "tidelift" } ], - "time": "2025-04-17T09:11:12+00:00" + "time": "2025-06-24T13:30:11+00:00" }, { - "name": "symfony/stopwatch", - "version": "v7.3.0", + "name": "symfony/process", + "version": "v7.4.0", "source": { "type": "git", - "url": "https://github.com/symfony/stopwatch.git", - "reference": "5a49289e2b308214c8b9c2fda4ea454d8b8ad7cd" + "url": "https://github.com/symfony/process.git", + "reference": "7ca8dc2d0dcf4882658313aba8be5d9fd01026c8" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/stopwatch/zipball/5a49289e2b308214c8b9c2fda4ea454d8b8ad7cd", - "reference": "5a49289e2b308214c8b9c2fda4ea454d8b8ad7cd", + "url": "https://api.github.com/repos/symfony/process/zipball/7ca8dc2d0dcf4882658313aba8be5d9fd01026c8", + "reference": "7ca8dc2d0dcf4882658313aba8be5d9fd01026c8", "shasum": "" }, "require": { - "php": ">=8.2", - "symfony/service-contracts": "^2.5|^3" + "php": ">=8.2" }, "type": "library", "autoload": { "psr-4": { - "Symfony\\Component\\Stopwatch\\": "" + "Symfony\\Component\\Process\\": "" }, "exclude-from-classmap": [ "/Tests/" @@ -10346,10 +10724,10 @@ "homepage": "https://symfony.com/contributors" } ], - "description": "Provides a way to profile code", + "description": "Executes commands in sub-processes", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/stopwatch/tree/v7.3.0" + "source": "https://github.com/symfony/process/tree/v7.4.0" }, "funding": [ { @@ -10360,62 +10738,82 @@ "url": "https://github.com/fabpot", "type": "github" }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, { "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", "type": "tidelift" } ], - "time": "2025-02-24T10:49:57+00:00" + "time": "2025-10-16T11:21:06+00:00" }, { - "name": "theseer/tokenizer", - "version": "1.2.3", + "name": "symfony/stopwatch", + "version": "v7.4.0", "source": { "type": "git", - "url": "https://github.com/theseer/tokenizer.git", - "reference": "737eda637ed5e28c3413cb1ebe8bb52cbf1ca7a2" + "url": "https://github.com/symfony/stopwatch.git", + "reference": "8a24af0a2e8a872fb745047180649b8418303084" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/theseer/tokenizer/zipball/737eda637ed5e28c3413cb1ebe8bb52cbf1ca7a2", - "reference": "737eda637ed5e28c3413cb1ebe8bb52cbf1ca7a2", + "url": "https://api.github.com/repos/symfony/stopwatch/zipball/8a24af0a2e8a872fb745047180649b8418303084", + "reference": "8a24af0a2e8a872fb745047180649b8418303084", "shasum": "" }, "require": { - "ext-dom": "*", - "ext-tokenizer": "*", - "ext-xmlwriter": "*", - "php": "^7.2 || ^8.0" + "php": ">=8.2", + "symfony/service-contracts": "^2.5|^3" }, "type": "library", "autoload": { - "classmap": [ - "src/" + "psr-4": { + "Symfony\\Component\\Stopwatch\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" ] }, "notification-url": "https://packagist.org/downloads/", "license": [ - "BSD-3-Clause" + "MIT" ], "authors": [ { - "name": "Arne Blankerts", - "email": "arne@blankerts.de", - "role": "Developer" + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" } ], - "description": "A small library for converting tokenized PHP source code into XML and potentially other formats", + "description": "Provides a way to profile code", + "homepage": "https://symfony.com", "support": { - "issues": "https://github.com/theseer/tokenizer/issues", - "source": "https://github.com/theseer/tokenizer/tree/1.2.3" + "source": "https://github.com/symfony/stopwatch/tree/v7.4.0" }, "funding": [ { - "url": "https://github.com/theseer", + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", "type": "github" + }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" } ], - "time": "2024-03-03T12:36:25+00:00" + "time": "2025-08-04T07:05:15+00:00" } ], "aliases": [], @@ -10439,5 +10837,5 @@ "ext-imagick": "*" }, "platform-dev": {}, - "plugin-api-version": "2.6.0" + "plugin-api-version": "2.9.0" } From 06b9c48bf0f7a6a8a5e50ea0ddf0b6e4edd68c05 Mon Sep 17 00:00:00 2001 From: iszmais <45942348+iszmais@users.noreply.github.com> Date: Fri, 28 Nov 2025 12:01:41 +0100 Subject: [PATCH 058/865] dc remove old execption artifacts (#10560) --- .../exceptions/ilDclInputException.php | 50 +++---------------- lang/ilias_de.lang | 1 - lang/ilias_en.lang | 1 - 3 files changed, 8 insertions(+), 44 deletions(-) diff --git a/components/ILIAS/DataCollection/exceptions/ilDclInputException.php b/components/ILIAS/DataCollection/exceptions/ilDclInputException.php index 0d9d0a814f38..fcd778517e01 100644 --- a/components/ILIAS/DataCollection/exceptions/ilDclInputException.php +++ b/components/ILIAS/DataCollection/exceptions/ilDclInputException.php @@ -25,70 +25,36 @@ class ilDclInputException extends ilException public const REGEX_EXCEPTION = 2; public const UNIQUE_EXCEPTION = 3; public const NOT_URL = 4; - public const NOT_IMAGE = 5; - public const WRONG_FILE_TYPE = 6; - public const CUSTOM_MESSAGE = 7; public const REGEX_CONFIG_EXCEPTION = 8; protected ilLanguage $lng; - protected int $exception_type; - protected string $additional_text; - /** - * @param string $exception_type - */ - public function __construct(int $exception_type, $additional_text = "") + public function __construct(int $exception_type) { global $DIC; $this->lng = $DIC->language(); $this->exception_type = $exception_type; - $this->additional_text = $additional_text; parent::__construct($this->__toString(), $exception_type); } - public function getExceptionType(): int - { - return $this->exception_type; - } - public function __toString(): string { switch ($this->exception_type) { case self::TYPE_EXCEPTION: - $message = $this->lng->txt('dcl_wrong_input_type'); - break; + return $this->lng->txt('dcl_wrong_input_type'); case self::LENGTH_EXCEPTION: - $message = $this->lng->txt('dcl_wrong_length'); - break; + return $this->lng->txt('dcl_wrong_length'); case self::REGEX_EXCEPTION: - $message = $this->lng->txt('dcl_wrong_regex'); - break; + return $this->lng->txt('dcl_wrong_regex'); case self::REGEX_CONFIG_EXCEPTION: - $message = $this->lng->txt('dcl_invalid_regex_config'); - break; + return $this->lng->txt('dcl_invalid_regex_config'); case self::UNIQUE_EXCEPTION: - $message = $this->lng->txt('dcl_unique_exception'); - break; + return $this->lng->txt('dcl_unique_exception'); case self::NOT_URL: - $message = $this->lng->txt('dcl_noturl_exception'); - break; - case self::NOT_IMAGE: - $message = $this->lng->txt('dcl_notimage_exception'); - break; - case self::WRONG_FILE_TYPE: - $message = $this->lng->txt('dcl_not_supported_file_type'); - break; - case self::CUSTOM_MESSAGE: - return $this->additional_text; + return $this->lng->txt('dcl_noturl_exception'); default: - $message = $this->lng->txt('dcl_unknown_exception'); + return $this->lng->txt('dcl_unknown_exception'); } - - if (strlen($this->additional_text) > 0) { - $message .= " " . $this->additional_text; - } - - return $message; } } diff --git a/lang/ilias_de.lang b/lang/ilias_de.lang index 21036b4a7fcb..b1b3b1e5c4b0 100644 --- a/lang/ilias_de.lang +++ b/lang/ilias_de.lang @@ -8764,7 +8764,6 @@ dcl#:#dcl_notification_deactivate#:#Benachrichtigung deaktivieren dcl#:#dcl_notification_deactivated#:#Benachrichtigung inaktiv dcl#:#dcl_notification_info#:#Jede Person kann Benachrichtigungen für sich aktivieren. dcl#:#dcl_notification_settings#:#Benachrichtigungseinstellungen -dcl#:#dcl_notimage_exception#:#Die Datei muss ein Bild sein. dcl#:#dcl_noturl_exception#:#Bitte geben Sie einen Link (beginnend mit http:// oder www.) oder eine E-Mail-Adresse ein. dcl#:#dcl_number#:#Ganze Zahlen dcl#:#dcl_number_desc#:#Eingabe ganzer Zahlen mit bis zu 9 Ziffern. Nicht erlaubt sind Brüche und Dezimalzahlen. diff --git a/lang/ilias_en.lang b/lang/ilias_en.lang index 445d858fac0f..0680e381de58 100644 --- a/lang/ilias_en.lang +++ b/lang/ilias_en.lang @@ -8765,7 +8765,6 @@ dcl#:#dcl_notification_deactivate#:#Deactivate Notification for Data Collection dcl#:#dcl_notification_deactivated#:#Notification Deactivated dcl#:#dcl_notification_info#:#Users can choose for themselves if they wish to activate notifications for their accounts. dcl#:#dcl_notification_settings#:#Notification Settings -dcl#:#dcl_notimage_exception#:#The file has to be a picture. dcl#:#dcl_noturl_exception#:#Please enter a link (beginning with http:// or www.) or an e-mail address. dcl#:#dcl_number#:#Integer dcl#:#dcl_number_desc#:#Field for integer values (max. 9 digits). Decimals and fractions are not allowed. From 7c1274c3767172803e776f588dac6155fbc98576 Mon Sep 17 00:00:00 2001 From: Tim Schmitz Date: Fri, 28 Nov 2025 12:05:27 +0100 Subject: [PATCH 059/865] Course: fix table actions in membership limitation tables (46383) --- .../classes/Grouping/Table/AssignmentRetrieval.php | 2 +- .../classes/Grouping/Table/GroupingRetrieval.php | 4 ++-- .../Grouping/class.ilObjCourseGroupingGUI.php | 12 +++++++++++- 3 files changed, 14 insertions(+), 4 deletions(-) diff --git a/components/ILIAS/Course/classes/Grouping/Table/AssignmentRetrieval.php b/components/ILIAS/Course/classes/Grouping/Table/AssignmentRetrieval.php index c71f45b386de..522aa39aa1aa 100755 --- a/components/ILIAS/Course/classes/Grouping/Table/AssignmentRetrieval.php +++ b/components/ILIAS/Course/classes/Grouping/Table/AssignmentRetrieval.php @@ -137,7 +137,7 @@ protected function sortRecords(array $records, Order $order): array $ordering_callable_without_direction = match ($order_field) { AssignmentHandler::COL_TITLE, AssignmentHandler::COL_PATH => - fn($a, $b) => $a[$order_field] ?? '' <=> $b[$order_field] ?? '', + fn($a, $b) => ($a[$order_field] ?? '') <=> ($b[$order_field] ?? ''), AssignmentHandler::COL_ASSIGNED => fn($a, $b) => isset($a[$order_field]) <=> isset($b[$order_field]) }; diff --git a/components/ILIAS/Course/classes/Grouping/Table/GroupingRetrieval.php b/components/ILIAS/Course/classes/Grouping/Table/GroupingRetrieval.php index bbea0c1cb1ec..9febf2271eca 100755 --- a/components/ILIAS/Course/classes/Grouping/Table/GroupingRetrieval.php +++ b/components/ILIAS/Course/classes/Grouping/Table/GroupingRetrieval.php @@ -137,9 +137,9 @@ protected function sortRecords(array $records, Order $order): array $ordering_callable_without_direction = match ($order_field) { GroupingHandler::COL_TITLE, GroupingHandler::COL_DESCRIPTION, GroupingHandler::COL_UNIQUE_FIELD => - fn($a, $b) => $a[$order_field] ?? '' <=> $b[$order_field] ?? '', + fn($a, $b) => ($a[$order_field] ?? '') <=> ($b[$order_field] ?? ''), GroupingHandler::COL_SOURCE => - fn($a, $b) => $a[GroupingHandler::COL_SOURCE]?->getLabel() ?? '' <=> $b[GroupingHandler::COL_SOURCE]?->getLabel() ?? '', + fn($a, $b) => ($a[GroupingHandler::COL_SOURCE]?->getLabel() ?? '') <=> ($b[GroupingHandler::COL_SOURCE]?->getLabel() ?? ''), GroupingHandler::COL_ASSIGNED_OBJS => function ($a, $b) { $a_items = ($a[GroupingHandler::COL_ASSIGNED_OBJS] ?? null)?->getItems() ?? []; diff --git a/components/ILIAS/Course/classes/Grouping/class.ilObjCourseGroupingGUI.php b/components/ILIAS/Course/classes/Grouping/class.ilObjCourseGroupingGUI.php index c326f607b00b..34121a6c356b 100755 --- a/components/ILIAS/Course/classes/Grouping/class.ilObjCourseGroupingGUI.php +++ b/components/ILIAS/Course/classes/Grouping/class.ilObjCourseGroupingGUI.php @@ -323,7 +323,7 @@ public function update(): void $this->edit($form); } - public function selectCourse(): void + protected function showSelectCourse(): void { if (!$this->access->checkAccess('write', '', $this->content_obj->getRefId())) { $this->error->raiseError($this->lng->txt('permission_denied'), $this->error->MESSAGE); @@ -345,6 +345,16 @@ public function selectCourse(): void $this->tpl->setContent($this->ui_renderer->render($table)); } + public function selectCourse(): void + { + /* + * Since this is triggered from a form command button, + * the actual cmd in the URL is 'post', which is a problem + * for data table view control. This redirect solves this. + */ + $this->ctrl->redirect($this, 'showSelectCourse'); + } + public function handleAssignmentTableAction(): void { switch ($this->assignment_table_handler->getSelectedTableAction()) { From 77be3bbff3560992d8c4ba73a12e74b33ce46c9c Mon Sep 17 00:00:00 2001 From: Fabian Wolf Date: Wed, 26 Nov 2025 11:18:14 +0100 Subject: [PATCH 060/865] Restructure devguide. Unnecessary folder tutorial removed. --- .../devguide/{tutorial => }/01-community/01-interaction.md | 0 .../devguide/{tutorial => }/01-community/02-resources.md | 0 .../{tutorial => }/01-community/03-development-process.md | 0 .../devguide/{tutorial => }/01-community/04-type-of-docs.md | 0 .../devguide/{tutorial => }/02-tools/01-environment.md | 0 .../devguide/{tutorial => }/02-tools/02-dependencies.md | 0 docs/development/devguide/{tutorial => }/02-tools/03-setup.md | 0 .../devguide/{tutorial => }/02-tools/04-toolstack.md | 0 .../devguide/{tutorial => }/03-development/01-directories.md | 0 .../devguide/{tutorial => }/03-development/02-versioning.md | 0 .../devguide/{tutorial => }/03-development/03-endpoints.md | 0 .../devguide/{tutorial => }/04-coding/01-components.md | 0 .../devguide/{tutorial => }/04-coding/02-control.md | 0 .../devguide/{tutorial => }/04-coding/03-repository.md | 0 .../devguide/{tutorial => }/04-coding/04-ui-framework.md | 0 .../devguide/{tutorial => }/04-coding/05-ui-inputs.md | 0 .../devguide/{tutorial => }/04-coding/06-globalscreen.md | 0 .../devguide/{tutorial => }/04-coding/07-persistence.md | 0 .../devguide/{tutorial => }/04-coding/08-persistence-data.md | 0 .../{tutorial => }/04-coding/TodoExample/src/Setup/Agent.php | 0 .../04-coding/TodoExample/src/Setup/TodoDBUpdateSteps.php | 0 .../{tutorial => }/04-coding/TodoExample/src/TodoItem.php | 0 .../04-coding/TodoExample/src/TodoRepository.php | 0 .../devguide/{tutorial => }/05-contributing/01-bugfixes.md | 0 .../devguide/{tutorial => }/05-contributing/02-plugin.md | 0 .../devguide/{tutorial => }/05-contributing/03-ui-component.md | 0 .../{tutorial => }/05-contributing/04-core-component.md | 0 .../devguide/{tutorial => }/05-contributing/README.md | 0 .../devguide/{tutorial => }/06-extending/01-xml-handling.md | 0 .../devguide/{tutorial => }/06-extending/02-webservices.md | 0 docs/development/devguide/tutorial/README.md | 3 --- 31 files changed, 3 deletions(-) rename docs/development/devguide/{tutorial => }/01-community/01-interaction.md (100%) rename docs/development/devguide/{tutorial => }/01-community/02-resources.md (100%) rename docs/development/devguide/{tutorial => }/01-community/03-development-process.md (100%) rename docs/development/devguide/{tutorial => }/01-community/04-type-of-docs.md (100%) rename docs/development/devguide/{tutorial => }/02-tools/01-environment.md (100%) rename docs/development/devguide/{tutorial => }/02-tools/02-dependencies.md (100%) rename docs/development/devguide/{tutorial => }/02-tools/03-setup.md (100%) rename docs/development/devguide/{tutorial => }/02-tools/04-toolstack.md (100%) rename docs/development/devguide/{tutorial => }/03-development/01-directories.md (100%) rename docs/development/devguide/{tutorial => }/03-development/02-versioning.md (100%) rename docs/development/devguide/{tutorial => }/03-development/03-endpoints.md (100%) rename docs/development/devguide/{tutorial => }/04-coding/01-components.md (100%) rename docs/development/devguide/{tutorial => }/04-coding/02-control.md (100%) rename docs/development/devguide/{tutorial => }/04-coding/03-repository.md (100%) rename docs/development/devguide/{tutorial => }/04-coding/04-ui-framework.md (100%) rename docs/development/devguide/{tutorial => }/04-coding/05-ui-inputs.md (100%) rename docs/development/devguide/{tutorial => }/04-coding/06-globalscreen.md (100%) rename docs/development/devguide/{tutorial => }/04-coding/07-persistence.md (100%) rename docs/development/devguide/{tutorial => }/04-coding/08-persistence-data.md (100%) rename docs/development/devguide/{tutorial => }/04-coding/TodoExample/src/Setup/Agent.php (100%) rename docs/development/devguide/{tutorial => }/04-coding/TodoExample/src/Setup/TodoDBUpdateSteps.php (100%) rename docs/development/devguide/{tutorial => }/04-coding/TodoExample/src/TodoItem.php (100%) rename docs/development/devguide/{tutorial => }/04-coding/TodoExample/src/TodoRepository.php (100%) rename docs/development/devguide/{tutorial => }/05-contributing/01-bugfixes.md (100%) rename docs/development/devguide/{tutorial => }/05-contributing/02-plugin.md (100%) rename docs/development/devguide/{tutorial => }/05-contributing/03-ui-component.md (100%) rename docs/development/devguide/{tutorial => }/05-contributing/04-core-component.md (100%) rename docs/development/devguide/{tutorial => }/05-contributing/README.md (100%) rename docs/development/devguide/{tutorial => }/06-extending/01-xml-handling.md (100%) rename docs/development/devguide/{tutorial => }/06-extending/02-webservices.md (100%) delete mode 100644 docs/development/devguide/tutorial/README.md diff --git a/docs/development/devguide/tutorial/01-community/01-interaction.md b/docs/development/devguide/01-community/01-interaction.md similarity index 100% rename from docs/development/devguide/tutorial/01-community/01-interaction.md rename to docs/development/devguide/01-community/01-interaction.md diff --git a/docs/development/devguide/tutorial/01-community/02-resources.md b/docs/development/devguide/01-community/02-resources.md similarity index 100% rename from docs/development/devguide/tutorial/01-community/02-resources.md rename to docs/development/devguide/01-community/02-resources.md diff --git a/docs/development/devguide/tutorial/01-community/03-development-process.md b/docs/development/devguide/01-community/03-development-process.md similarity index 100% rename from docs/development/devguide/tutorial/01-community/03-development-process.md rename to docs/development/devguide/01-community/03-development-process.md diff --git a/docs/development/devguide/tutorial/01-community/04-type-of-docs.md b/docs/development/devguide/01-community/04-type-of-docs.md similarity index 100% rename from docs/development/devguide/tutorial/01-community/04-type-of-docs.md rename to docs/development/devguide/01-community/04-type-of-docs.md diff --git a/docs/development/devguide/tutorial/02-tools/01-environment.md b/docs/development/devguide/02-tools/01-environment.md similarity index 100% rename from docs/development/devguide/tutorial/02-tools/01-environment.md rename to docs/development/devguide/02-tools/01-environment.md diff --git a/docs/development/devguide/tutorial/02-tools/02-dependencies.md b/docs/development/devguide/02-tools/02-dependencies.md similarity index 100% rename from docs/development/devguide/tutorial/02-tools/02-dependencies.md rename to docs/development/devguide/02-tools/02-dependencies.md diff --git a/docs/development/devguide/tutorial/02-tools/03-setup.md b/docs/development/devguide/02-tools/03-setup.md similarity index 100% rename from docs/development/devguide/tutorial/02-tools/03-setup.md rename to docs/development/devguide/02-tools/03-setup.md diff --git a/docs/development/devguide/tutorial/02-tools/04-toolstack.md b/docs/development/devguide/02-tools/04-toolstack.md similarity index 100% rename from docs/development/devguide/tutorial/02-tools/04-toolstack.md rename to docs/development/devguide/02-tools/04-toolstack.md diff --git a/docs/development/devguide/tutorial/03-development/01-directories.md b/docs/development/devguide/03-development/01-directories.md similarity index 100% rename from docs/development/devguide/tutorial/03-development/01-directories.md rename to docs/development/devguide/03-development/01-directories.md diff --git a/docs/development/devguide/tutorial/03-development/02-versioning.md b/docs/development/devguide/03-development/02-versioning.md similarity index 100% rename from docs/development/devguide/tutorial/03-development/02-versioning.md rename to docs/development/devguide/03-development/02-versioning.md diff --git a/docs/development/devguide/tutorial/03-development/03-endpoints.md b/docs/development/devguide/03-development/03-endpoints.md similarity index 100% rename from docs/development/devguide/tutorial/03-development/03-endpoints.md rename to docs/development/devguide/03-development/03-endpoints.md diff --git a/docs/development/devguide/tutorial/04-coding/01-components.md b/docs/development/devguide/04-coding/01-components.md similarity index 100% rename from docs/development/devguide/tutorial/04-coding/01-components.md rename to docs/development/devguide/04-coding/01-components.md diff --git a/docs/development/devguide/tutorial/04-coding/02-control.md b/docs/development/devguide/04-coding/02-control.md similarity index 100% rename from docs/development/devguide/tutorial/04-coding/02-control.md rename to docs/development/devguide/04-coding/02-control.md diff --git a/docs/development/devguide/tutorial/04-coding/03-repository.md b/docs/development/devguide/04-coding/03-repository.md similarity index 100% rename from docs/development/devguide/tutorial/04-coding/03-repository.md rename to docs/development/devguide/04-coding/03-repository.md diff --git a/docs/development/devguide/tutorial/04-coding/04-ui-framework.md b/docs/development/devguide/04-coding/04-ui-framework.md similarity index 100% rename from docs/development/devguide/tutorial/04-coding/04-ui-framework.md rename to docs/development/devguide/04-coding/04-ui-framework.md diff --git a/docs/development/devguide/tutorial/04-coding/05-ui-inputs.md b/docs/development/devguide/04-coding/05-ui-inputs.md similarity index 100% rename from docs/development/devguide/tutorial/04-coding/05-ui-inputs.md rename to docs/development/devguide/04-coding/05-ui-inputs.md diff --git a/docs/development/devguide/tutorial/04-coding/06-globalscreen.md b/docs/development/devguide/04-coding/06-globalscreen.md similarity index 100% rename from docs/development/devguide/tutorial/04-coding/06-globalscreen.md rename to docs/development/devguide/04-coding/06-globalscreen.md diff --git a/docs/development/devguide/tutorial/04-coding/07-persistence.md b/docs/development/devguide/04-coding/07-persistence.md similarity index 100% rename from docs/development/devguide/tutorial/04-coding/07-persistence.md rename to docs/development/devguide/04-coding/07-persistence.md diff --git a/docs/development/devguide/tutorial/04-coding/08-persistence-data.md b/docs/development/devguide/04-coding/08-persistence-data.md similarity index 100% rename from docs/development/devguide/tutorial/04-coding/08-persistence-data.md rename to docs/development/devguide/04-coding/08-persistence-data.md diff --git a/docs/development/devguide/tutorial/04-coding/TodoExample/src/Setup/Agent.php b/docs/development/devguide/04-coding/TodoExample/src/Setup/Agent.php similarity index 100% rename from docs/development/devguide/tutorial/04-coding/TodoExample/src/Setup/Agent.php rename to docs/development/devguide/04-coding/TodoExample/src/Setup/Agent.php diff --git a/docs/development/devguide/tutorial/04-coding/TodoExample/src/Setup/TodoDBUpdateSteps.php b/docs/development/devguide/04-coding/TodoExample/src/Setup/TodoDBUpdateSteps.php similarity index 100% rename from docs/development/devguide/tutorial/04-coding/TodoExample/src/Setup/TodoDBUpdateSteps.php rename to docs/development/devguide/04-coding/TodoExample/src/Setup/TodoDBUpdateSteps.php diff --git a/docs/development/devguide/tutorial/04-coding/TodoExample/src/TodoItem.php b/docs/development/devguide/04-coding/TodoExample/src/TodoItem.php similarity index 100% rename from docs/development/devguide/tutorial/04-coding/TodoExample/src/TodoItem.php rename to docs/development/devguide/04-coding/TodoExample/src/TodoItem.php diff --git a/docs/development/devguide/tutorial/04-coding/TodoExample/src/TodoRepository.php b/docs/development/devguide/04-coding/TodoExample/src/TodoRepository.php similarity index 100% rename from docs/development/devguide/tutorial/04-coding/TodoExample/src/TodoRepository.php rename to docs/development/devguide/04-coding/TodoExample/src/TodoRepository.php diff --git a/docs/development/devguide/tutorial/05-contributing/01-bugfixes.md b/docs/development/devguide/05-contributing/01-bugfixes.md similarity index 100% rename from docs/development/devguide/tutorial/05-contributing/01-bugfixes.md rename to docs/development/devguide/05-contributing/01-bugfixes.md diff --git a/docs/development/devguide/tutorial/05-contributing/02-plugin.md b/docs/development/devguide/05-contributing/02-plugin.md similarity index 100% rename from docs/development/devguide/tutorial/05-contributing/02-plugin.md rename to docs/development/devguide/05-contributing/02-plugin.md diff --git a/docs/development/devguide/tutorial/05-contributing/03-ui-component.md b/docs/development/devguide/05-contributing/03-ui-component.md similarity index 100% rename from docs/development/devguide/tutorial/05-contributing/03-ui-component.md rename to docs/development/devguide/05-contributing/03-ui-component.md diff --git a/docs/development/devguide/tutorial/05-contributing/04-core-component.md b/docs/development/devguide/05-contributing/04-core-component.md similarity index 100% rename from docs/development/devguide/tutorial/05-contributing/04-core-component.md rename to docs/development/devguide/05-contributing/04-core-component.md diff --git a/docs/development/devguide/tutorial/05-contributing/README.md b/docs/development/devguide/05-contributing/README.md similarity index 100% rename from docs/development/devguide/tutorial/05-contributing/README.md rename to docs/development/devguide/05-contributing/README.md diff --git a/docs/development/devguide/tutorial/06-extending/01-xml-handling.md b/docs/development/devguide/06-extending/01-xml-handling.md similarity index 100% rename from docs/development/devguide/tutorial/06-extending/01-xml-handling.md rename to docs/development/devguide/06-extending/01-xml-handling.md diff --git a/docs/development/devguide/tutorial/06-extending/02-webservices.md b/docs/development/devguide/06-extending/02-webservices.md similarity index 100% rename from docs/development/devguide/tutorial/06-extending/02-webservices.md rename to docs/development/devguide/06-extending/02-webservices.md diff --git a/docs/development/devguide/tutorial/README.md b/docs/development/devguide/tutorial/README.md deleted file mode 100644 index 569149504e7d..000000000000 --- a/docs/development/devguide/tutorial/README.md +++ /dev/null @@ -1,3 +0,0 @@ -This file is stored here to show the tutorial's future structure. - -Its content is currently work in progress and will be available asap. \ No newline at end of file From 119f1b858b1ffb8def09507a1dad7bd6bd8d4418 Mon Sep 17 00:00:00 2001 From: Fabian Wolf Date: Fri, 28 Nov 2025 12:10:50 +0100 Subject: [PATCH 061/865] Rename devguide to tutorial --- .../{devguide => tutorial}/01-community/01-interaction.md | 0 .../{devguide => tutorial}/01-community/02-resources.md | 0 .../{devguide => tutorial}/01-community/03-development-process.md | 0 .../{devguide => tutorial}/01-community/04-type-of-docs.md | 0 .../development/{devguide => tutorial}/02-tools/01-environment.md | 0 .../{devguide => tutorial}/02-tools/02-dependencies.md | 0 docs/development/{devguide => tutorial}/02-tools/03-setup.md | 0 docs/development/{devguide => tutorial}/02-tools/04-toolstack.md | 0 .../{devguide => tutorial}/03-development/01-directories.md | 0 .../{devguide => tutorial}/03-development/02-versioning.md | 0 .../{devguide => tutorial}/03-development/03-endpoints.md | 0 .../development/{devguide => tutorial}/04-coding/01-components.md | 0 docs/development/{devguide => tutorial}/04-coding/02-control.md | 0 .../development/{devguide => tutorial}/04-coding/03-repository.md | 0 .../{devguide => tutorial}/04-coding/04-ui-framework.md | 0 docs/development/{devguide => tutorial}/04-coding/05-ui-inputs.md | 0 .../{devguide => tutorial}/04-coding/06-globalscreen.md | 0 .../{devguide => tutorial}/04-coding/07-persistence.md | 0 .../{devguide => tutorial}/04-coding/08-persistence-data.md | 0 .../04-coding/TodoExample/src/Setup/Agent.php | 0 .../04-coding/TodoExample/src/Setup/TodoDBUpdateSteps.php | 0 .../{devguide => tutorial}/04-coding/TodoExample/src/TodoItem.php | 0 .../04-coding/TodoExample/src/TodoRepository.php | 0 .../{devguide => tutorial}/05-contributing/01-bugfixes.md | 0 .../{devguide => tutorial}/05-contributing/02-plugin.md | 0 .../{devguide => tutorial}/05-contributing/03-ui-component.md | 0 .../{devguide => tutorial}/05-contributing/04-core-component.md | 0 docs/development/{devguide => tutorial}/05-contributing/README.md | 0 .../{devguide => tutorial}/06-extending/01-xml-handling.md | 0 .../{devguide => tutorial}/06-extending/02-webservices.md | 0 docs/development/{devguide => tutorial}/README.md | 0 .../{devguide => tutorial}/template-tutorial-article.md | 0 32 files changed, 0 insertions(+), 0 deletions(-) rename docs/development/{devguide => tutorial}/01-community/01-interaction.md (100%) rename docs/development/{devguide => tutorial}/01-community/02-resources.md (100%) rename docs/development/{devguide => tutorial}/01-community/03-development-process.md (100%) rename docs/development/{devguide => tutorial}/01-community/04-type-of-docs.md (100%) rename docs/development/{devguide => tutorial}/02-tools/01-environment.md (100%) rename docs/development/{devguide => tutorial}/02-tools/02-dependencies.md (100%) rename docs/development/{devguide => tutorial}/02-tools/03-setup.md (100%) rename docs/development/{devguide => tutorial}/02-tools/04-toolstack.md (100%) rename docs/development/{devguide => tutorial}/03-development/01-directories.md (100%) rename docs/development/{devguide => tutorial}/03-development/02-versioning.md (100%) rename docs/development/{devguide => tutorial}/03-development/03-endpoints.md (100%) rename docs/development/{devguide => tutorial}/04-coding/01-components.md (100%) rename docs/development/{devguide => tutorial}/04-coding/02-control.md (100%) rename docs/development/{devguide => tutorial}/04-coding/03-repository.md (100%) rename docs/development/{devguide => tutorial}/04-coding/04-ui-framework.md (100%) rename docs/development/{devguide => tutorial}/04-coding/05-ui-inputs.md (100%) rename docs/development/{devguide => tutorial}/04-coding/06-globalscreen.md (100%) rename docs/development/{devguide => tutorial}/04-coding/07-persistence.md (100%) rename docs/development/{devguide => tutorial}/04-coding/08-persistence-data.md (100%) rename docs/development/{devguide => tutorial}/04-coding/TodoExample/src/Setup/Agent.php (100%) rename docs/development/{devguide => tutorial}/04-coding/TodoExample/src/Setup/TodoDBUpdateSteps.php (100%) rename docs/development/{devguide => tutorial}/04-coding/TodoExample/src/TodoItem.php (100%) rename docs/development/{devguide => tutorial}/04-coding/TodoExample/src/TodoRepository.php (100%) rename docs/development/{devguide => tutorial}/05-contributing/01-bugfixes.md (100%) rename docs/development/{devguide => tutorial}/05-contributing/02-plugin.md (100%) rename docs/development/{devguide => tutorial}/05-contributing/03-ui-component.md (100%) rename docs/development/{devguide => tutorial}/05-contributing/04-core-component.md (100%) rename docs/development/{devguide => tutorial}/05-contributing/README.md (100%) rename docs/development/{devguide => tutorial}/06-extending/01-xml-handling.md (100%) rename docs/development/{devguide => tutorial}/06-extending/02-webservices.md (100%) rename docs/development/{devguide => tutorial}/README.md (100%) rename docs/development/{devguide => tutorial}/template-tutorial-article.md (100%) diff --git a/docs/development/devguide/01-community/01-interaction.md b/docs/development/tutorial/01-community/01-interaction.md similarity index 100% rename from docs/development/devguide/01-community/01-interaction.md rename to docs/development/tutorial/01-community/01-interaction.md diff --git a/docs/development/devguide/01-community/02-resources.md b/docs/development/tutorial/01-community/02-resources.md similarity index 100% rename from docs/development/devguide/01-community/02-resources.md rename to docs/development/tutorial/01-community/02-resources.md diff --git a/docs/development/devguide/01-community/03-development-process.md b/docs/development/tutorial/01-community/03-development-process.md similarity index 100% rename from docs/development/devguide/01-community/03-development-process.md rename to docs/development/tutorial/01-community/03-development-process.md diff --git a/docs/development/devguide/01-community/04-type-of-docs.md b/docs/development/tutorial/01-community/04-type-of-docs.md similarity index 100% rename from docs/development/devguide/01-community/04-type-of-docs.md rename to docs/development/tutorial/01-community/04-type-of-docs.md diff --git a/docs/development/devguide/02-tools/01-environment.md b/docs/development/tutorial/02-tools/01-environment.md similarity index 100% rename from docs/development/devguide/02-tools/01-environment.md rename to docs/development/tutorial/02-tools/01-environment.md diff --git a/docs/development/devguide/02-tools/02-dependencies.md b/docs/development/tutorial/02-tools/02-dependencies.md similarity index 100% rename from docs/development/devguide/02-tools/02-dependencies.md rename to docs/development/tutorial/02-tools/02-dependencies.md diff --git a/docs/development/devguide/02-tools/03-setup.md b/docs/development/tutorial/02-tools/03-setup.md similarity index 100% rename from docs/development/devguide/02-tools/03-setup.md rename to docs/development/tutorial/02-tools/03-setup.md diff --git a/docs/development/devguide/02-tools/04-toolstack.md b/docs/development/tutorial/02-tools/04-toolstack.md similarity index 100% rename from docs/development/devguide/02-tools/04-toolstack.md rename to docs/development/tutorial/02-tools/04-toolstack.md diff --git a/docs/development/devguide/03-development/01-directories.md b/docs/development/tutorial/03-development/01-directories.md similarity index 100% rename from docs/development/devguide/03-development/01-directories.md rename to docs/development/tutorial/03-development/01-directories.md diff --git a/docs/development/devguide/03-development/02-versioning.md b/docs/development/tutorial/03-development/02-versioning.md similarity index 100% rename from docs/development/devguide/03-development/02-versioning.md rename to docs/development/tutorial/03-development/02-versioning.md diff --git a/docs/development/devguide/03-development/03-endpoints.md b/docs/development/tutorial/03-development/03-endpoints.md similarity index 100% rename from docs/development/devguide/03-development/03-endpoints.md rename to docs/development/tutorial/03-development/03-endpoints.md diff --git a/docs/development/devguide/04-coding/01-components.md b/docs/development/tutorial/04-coding/01-components.md similarity index 100% rename from docs/development/devguide/04-coding/01-components.md rename to docs/development/tutorial/04-coding/01-components.md diff --git a/docs/development/devguide/04-coding/02-control.md b/docs/development/tutorial/04-coding/02-control.md similarity index 100% rename from docs/development/devguide/04-coding/02-control.md rename to docs/development/tutorial/04-coding/02-control.md diff --git a/docs/development/devguide/04-coding/03-repository.md b/docs/development/tutorial/04-coding/03-repository.md similarity index 100% rename from docs/development/devguide/04-coding/03-repository.md rename to docs/development/tutorial/04-coding/03-repository.md diff --git a/docs/development/devguide/04-coding/04-ui-framework.md b/docs/development/tutorial/04-coding/04-ui-framework.md similarity index 100% rename from docs/development/devguide/04-coding/04-ui-framework.md rename to docs/development/tutorial/04-coding/04-ui-framework.md diff --git a/docs/development/devguide/04-coding/05-ui-inputs.md b/docs/development/tutorial/04-coding/05-ui-inputs.md similarity index 100% rename from docs/development/devguide/04-coding/05-ui-inputs.md rename to docs/development/tutorial/04-coding/05-ui-inputs.md diff --git a/docs/development/devguide/04-coding/06-globalscreen.md b/docs/development/tutorial/04-coding/06-globalscreen.md similarity index 100% rename from docs/development/devguide/04-coding/06-globalscreen.md rename to docs/development/tutorial/04-coding/06-globalscreen.md diff --git a/docs/development/devguide/04-coding/07-persistence.md b/docs/development/tutorial/04-coding/07-persistence.md similarity index 100% rename from docs/development/devguide/04-coding/07-persistence.md rename to docs/development/tutorial/04-coding/07-persistence.md diff --git a/docs/development/devguide/04-coding/08-persistence-data.md b/docs/development/tutorial/04-coding/08-persistence-data.md similarity index 100% rename from docs/development/devguide/04-coding/08-persistence-data.md rename to docs/development/tutorial/04-coding/08-persistence-data.md diff --git a/docs/development/devguide/04-coding/TodoExample/src/Setup/Agent.php b/docs/development/tutorial/04-coding/TodoExample/src/Setup/Agent.php similarity index 100% rename from docs/development/devguide/04-coding/TodoExample/src/Setup/Agent.php rename to docs/development/tutorial/04-coding/TodoExample/src/Setup/Agent.php diff --git a/docs/development/devguide/04-coding/TodoExample/src/Setup/TodoDBUpdateSteps.php b/docs/development/tutorial/04-coding/TodoExample/src/Setup/TodoDBUpdateSteps.php similarity index 100% rename from docs/development/devguide/04-coding/TodoExample/src/Setup/TodoDBUpdateSteps.php rename to docs/development/tutorial/04-coding/TodoExample/src/Setup/TodoDBUpdateSteps.php diff --git a/docs/development/devguide/04-coding/TodoExample/src/TodoItem.php b/docs/development/tutorial/04-coding/TodoExample/src/TodoItem.php similarity index 100% rename from docs/development/devguide/04-coding/TodoExample/src/TodoItem.php rename to docs/development/tutorial/04-coding/TodoExample/src/TodoItem.php diff --git a/docs/development/devguide/04-coding/TodoExample/src/TodoRepository.php b/docs/development/tutorial/04-coding/TodoExample/src/TodoRepository.php similarity index 100% rename from docs/development/devguide/04-coding/TodoExample/src/TodoRepository.php rename to docs/development/tutorial/04-coding/TodoExample/src/TodoRepository.php diff --git a/docs/development/devguide/05-contributing/01-bugfixes.md b/docs/development/tutorial/05-contributing/01-bugfixes.md similarity index 100% rename from docs/development/devguide/05-contributing/01-bugfixes.md rename to docs/development/tutorial/05-contributing/01-bugfixes.md diff --git a/docs/development/devguide/05-contributing/02-plugin.md b/docs/development/tutorial/05-contributing/02-plugin.md similarity index 100% rename from docs/development/devguide/05-contributing/02-plugin.md rename to docs/development/tutorial/05-contributing/02-plugin.md diff --git a/docs/development/devguide/05-contributing/03-ui-component.md b/docs/development/tutorial/05-contributing/03-ui-component.md similarity index 100% rename from docs/development/devguide/05-contributing/03-ui-component.md rename to docs/development/tutorial/05-contributing/03-ui-component.md diff --git a/docs/development/devguide/05-contributing/04-core-component.md b/docs/development/tutorial/05-contributing/04-core-component.md similarity index 100% rename from docs/development/devguide/05-contributing/04-core-component.md rename to docs/development/tutorial/05-contributing/04-core-component.md diff --git a/docs/development/devguide/05-contributing/README.md b/docs/development/tutorial/05-contributing/README.md similarity index 100% rename from docs/development/devguide/05-contributing/README.md rename to docs/development/tutorial/05-contributing/README.md diff --git a/docs/development/devguide/06-extending/01-xml-handling.md b/docs/development/tutorial/06-extending/01-xml-handling.md similarity index 100% rename from docs/development/devguide/06-extending/01-xml-handling.md rename to docs/development/tutorial/06-extending/01-xml-handling.md diff --git a/docs/development/devguide/06-extending/02-webservices.md b/docs/development/tutorial/06-extending/02-webservices.md similarity index 100% rename from docs/development/devguide/06-extending/02-webservices.md rename to docs/development/tutorial/06-extending/02-webservices.md diff --git a/docs/development/devguide/README.md b/docs/development/tutorial/README.md similarity index 100% rename from docs/development/devguide/README.md rename to docs/development/tutorial/README.md diff --git a/docs/development/devguide/template-tutorial-article.md b/docs/development/tutorial/template-tutorial-article.md similarity index 100% rename from docs/development/devguide/template-tutorial-article.md rename to docs/development/tutorial/template-tutorial-article.md From b4c9a0813c364cf4b420d51e14587769bbb056f0 Mon Sep 17 00:00:00 2001 From: Tim Schmitz Date: Fri, 28 Nov 2025 12:29:39 +0100 Subject: [PATCH 062/865] Course: fix array access (46387) --- .../ILIAS/Course/classes/class.ilCourseParticipantsTableGUI.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/components/ILIAS/Course/classes/class.ilCourseParticipantsTableGUI.php b/components/ILIAS/Course/classes/class.ilCourseParticipantsTableGUI.php index 29d2b94bec95..dbaf41e7daec 100755 --- a/components/ILIAS/Course/classes/class.ilCourseParticipantsTableGUI.php +++ b/components/ILIAS/Course/classes/class.ilCourseParticipantsTableGUI.php @@ -235,7 +235,7 @@ protected function fillRow(array $a_set): void default: $this->tpl->setCurrentBlock('custom_fields'); - $this->tpl->setVariable('VAL_CUST', is_array($a_set[$field] ?? '') ? implode(', ', $a_set[$field]) : (string) $a_set[$field]); + $this->tpl->setVariable('VAL_CUST', is_array($a_set[$field] ?? '') ? implode(', ', $a_set[$field]) : (string) ($a_set[$field] ?? '')); $this->tpl->parseCurrentBlock(); break; } From 651731b8dac0fe02763f7bedd976947b6197a4f3 Mon Sep 17 00:00:00 2001 From: Tim Schmitz Date: Fri, 28 Nov 2025 12:53:48 +0100 Subject: [PATCH 063/865] Tracking: fix db column type for obj_id (46313) --- .../Setup/ProgressBlockUpdateSteps11.php | 23 +++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/components/ILIAS/Tracking/classes/Setup/ProgressBlockUpdateSteps11.php b/components/ILIAS/Tracking/classes/Setup/ProgressBlockUpdateSteps11.php index 282c3d1181f8..e5afef749a2d 100644 --- a/components/ILIAS/Tracking/classes/Setup/ProgressBlockUpdateSteps11.php +++ b/components/ILIAS/Tracking/classes/Setup/ProgressBlockUpdateSteps11.php @@ -57,4 +57,27 @@ public function step_1(): void ]); $this->db->addPrimaryKey('ut_progress_block', ['obj_id']); } + + /** + * Fix column types in progress block table + */ + public function step_2(): void + { + if ( + !$this->db->tableExists('ut_progress_block') || + !$this->db->tableColumnExists('ut_progress_block', 'obj_id') + ) { + return; + } + $this->db->modifyTableColumn( + 'ut_progress_block', + 'obj_id', + [ + 'type' => ilDBConstants::T_INTEGER, + 'length' => 4, + 'default' => 0, + 'notnull' => true + ] + ); + } } From 037116544a63f2f4ad4b56730e466623bac4f199 Mon Sep 17 00:00:00 2001 From: Fabian Wolf Date: Fri, 28 Nov 2025 13:31:52 +0100 Subject: [PATCH 064/865] Repair Italian language file by copying and synchronizing from release_10. --- lang/ilias_it.lang | 14313 ++++++++++++++++++++++--------------------- 1 file changed, 7160 insertions(+), 7153 deletions(-) diff --git a/lang/ilias_it.lang b/lang/ilias_it.lang index a2f94046bab9..c8d8b1de77b9 100644 --- a/lang/ilias_it.lang +++ b/lang/ilias_it.lang @@ -1,3 +1,4 @@ +/* Copyright (c) 1998-2020 ILIAS open source eLearning e.V., Extended GPL, see docs/LICENSE */ /** * This file is part of ILIAS, a powerful learning management system * published by ILIAS open source e-Learning e.V. @@ -12,14 +13,12 @@ * https://www.ilias.de * https://github.com/ILIAS-eLearning * -******************************************************************** -*/ /** * ILIAS language file * * @module language file Italian * @modulegroup language -* @author Roberto del Mastro +* @author OC Open Consulting srl * @version $Id$ */ // The language file starts beyond the HTML-comment below. DO NOT modify this line! @@ -29,70 +28,70 @@ // to the corresponding mode! // Language file names refer to ISO 639, see: http://www.oasis-open.org/cover/iso639a.html -acc#:#acc_add_document_btn_label#:#Add Document###07 02 2020 new variable -acc#:#acc_crit_type_usr_language#:#Profile Language###07 02 2020 new variable -acc#:#acc_criterion_assignment_must_be_unique_insert#:#You cannot attach this criterion with this value. There is already an identical criterion attached.###07 02 2020 new variable -acc#:#acc_criterion_assignment_must_be_unique_update#:#You cannot change the criterion as desired. There is already an identical criterion attached.###07 02 2020 new variable -acc#:#acc_ctrl_cpt_txt#:#Accessibility Control Concept###07 02 2020 new variable -acc#:#acc_deleted_documents_p#:#The documents have been deleted.###07 02 2020 new variable -acc#:#acc_deleted_documents_s#:#The document has been deleted.###07 02 2020 new variable -acc#:#acc_doc_crit_attached#:#The criterion has been attached.###07 02 2020 new variable -acc#:#acc_doc_crit_changed#:#The criterion has been changed.###07 02 2020 new variable -acc#:#acc_doc_crit_detached#:#The criterion has been detached.###07 02 2020 new variable -acc#:#acc_doc_delete#:#Delete Document###07 02 2020 new variable -acc#:#acc_doc_detach_crit_confirm_title#:#Detach Criterion###07 02 2020 new variable -acc#:#acc_doc_sure_detach_crit#:#Are your sure you want to detach the criterion?###07 02 2020 new variable -acc#:#acc_document#:#Document###07 02 2020 new variable -acc#:#acc_form_attach_criterion_head#:#Attach Criterion###07 02 2020 new variable -acc#:#acc_form_criterion#:#Criterion###07 02 2020 new variable -acc#:#acc_form_document#:#Document###07 02 2020 new variable -acc#:#acc_form_document_content_changed#:#The contents of the uploaded file was purified by ILIAS. Please check the result and upload a new file, if necessary.###07 02 2020 new variable -acc#:#acc_form_document_info#:#Please select a file from your local filesystem. You can either upload a plain text file, or a simple HTML file. HTML files will be purified, only the contents of the body element will be used.###07 02 2020 new variable -acc#:#acc_form_document_new#:#Change Content###07 02 2020 new variable -acc#:#acc_form_document_new_info#:#Please select a file from your local filesystem. You can either upload a plain text file, or a simple HTML file. HTML files will be purified, only the contents of the body element will be used. The existing contents will be replaced.###07 02 2020 new variable -acc#:#acc_form_document_title#:#Title###07 02 2020 new variable -acc#:#acc_form_document_title_info#:#Please enter a title for the document.###07 02 2020 new variable -acc#:#acc_form_edit_criterion_head#:#Edit Criterion Assignment###07 02 2020 new variable -acc#:#acc_form_edit_doc_head#:#Edit Document###07 02 2020 new variable -acc#:#acc_form_new_doc_head#:#Create Document###07 02 2020 new variable -acc#:#acc_forward_mail#:#Inoltro Mail +acc#:#acc_add_document_btn_label#:#Aggiungi Documento +acc#:#acc_crit_type_usr_language#:#Lingua del profilo +acc#:#acc_criterion_assignment_must_be_unique_insert#:#Non puoi allegare questo criterio con questo valore. C'è già un criterio identico allegato. +acc#:#acc_criterion_assignment_must_be_unique_update#:#Non è possibile cambiare il criterio come desiderato. C'è già un criterio identico allegato. +acc#:#acc_ctrl_cpt_txt#:#Controllo dell'accessibilità +acc#:#acc_deleted_documents_p#:#I documenti sono stati cancellati. +acc#:#acc_deleted_documents_s#:#I documenti sono stati cancellati. +acc#:#acc_doc_crit_attached#:#Il criterio è stato inserito. +acc#:#acc_doc_crit_changed#:#Il criterio è stato cambiato. +acc#:#acc_doc_crit_detached#:#Il criterio è stato rimosso. +acc#:#acc_doc_delete#:#Cancella documento +acc#:#acc_doc_detach_crit_confirm_title#:#Rimuovi criteri +acc#:#acc_doc_sure_detach_crit#:#Sei sicuro di voler rimuovere il criterio? +acc#:#acc_document#:#Documento +acc#:#acc_form_attach_criterion_head#:#Inserisci criterio +acc#:#acc_form_criterion#:#Criterio +acc#:#acc_form_document#:#Documento +acc#:#acc_form_document_content_changed#:#Il contenuto del file caricato è stato purificato da ILIAS. Per favore controlla il risultato e carica un nuovo file, se necessario. +acc#:#acc_form_document_info#:#Seleziona un file dal tuo filesystem locale. Puoi caricare un file di testo semplice o un semplice file HTML. I file HTML saranno purificati, solo il contenuto dell'elemento body sarà utilizzato. +acc#:#acc_form_document_new#:#Cambia il contenuto +acc#:#acc_form_document_new_info#:#Seleziona un file dal tuo filesystem locale. Puoi caricare un file di testo semplice o un semplice file HTML. I file HTML saranno purificati, solo il contenuto dell'elemento body sarà utilizzato. Il contenuto esistente sarà sostituito. +acc#:#acc_form_document_title#:#Titolo +acc#:#acc_form_document_title_info#:#Inserisci un titolo per il documento. +acc#:#acc_form_edit_criterion_head#:#modifica Criterio Assegnazione +acc#:#acc_form_edit_doc_head#:#modifica Documento +acc#:#acc_form_new_doc_head#:#Crea documento +acc#:#acc_forward_mail#:#Inoltra Mail acc#:#acc_function#:#Funzione -acc#:#acc_last_rep_visited#:#Repository/Ultima Visita -acc#:#acc_saved_sorting#:#The sorting has been saved.###07 02 2020 new variable -acc#:#acc_sure_delete_documents_p#:#Are you sure you want to delete the selected documents?###07 02 2020 new variable -acc#:#acc_sure_delete_documents_s#:#Are you sure you want to delete the document?###07 02 2020 new variable -acc#:#acc_tbl_docs_action_add_criterion#:#Add Criterion###07 02 2020 new variable -acc#:#acc_tbl_docs_cell_not_criterion#:#No criterion assigned###07 02 2020 new variable -acc#:#acc_tbl_docs_head_created#:#Creation Date###07 02 2020 new variable -acc#:#acc_tbl_docs_head_criteria#:#Criteria###07 02 2020 new variable -acc#:#acc_tbl_docs_head_last_change#:#Last Change###07 02 2020 new variable -acc#:#acc_tbl_docs_head_sorting#:#Sorting###07 02 2020 new variable -acc#:#acc_tbl_docs_head_title#:#Title###07 02 2020 new variable -acc#:#acc_tbl_docs_title#:#Documents###07 02 2020 new variable +acc#:#acc_last_rep_visited#:#Archivio/Ultima Visita +acc#:#acc_saved_sorting#:#L'ordinamento è stato salvato. +acc#:#acc_sure_delete_documents_p#:#Sei sicuro di voler cancellare i documenti selezionati? +acc#:#acc_sure_delete_documents_s#:#Sei sicuro di voler cancellare il documento? +acc#:#acc_tbl_docs_action_add_criterion#:#Aggiungi criterio +acc#:#acc_tbl_docs_cell_not_criterion#:#Nessun criterio assegnato +acc#:#acc_tbl_docs_head_created#:#Data di creazione +acc#:#acc_tbl_docs_head_criteria#:#Criteri +acc#:#acc_tbl_docs_head_last_change#:#Ultima modifica +acc#:#acc_tbl_docs_head_sorting#:#Ordinamento +acc#:#acc_tbl_docs_head_title#:#Titolo +acc#:#acc_tbl_docs_title#:#Documenti acc#:#acc_tree_off#:#Contrai albero acc#:#acc_tree_on#:#Espandi albero -adm#:#adm_acc_ctrl_cpt_desc#:#Display the link to your Accessibility document in the footer of your installation.###29 07 2022 new variable -adm#:#adm_acc_ctrl_cpt_enable#:#Accessibility Link in Footer###29 07 2022 new variable -adm#:#adm_accessibility_contacts#:#Accessibility Point of Contact###07 02 2020 new variable -adm#:#adm_accessibility_contacts_info#:#Contacts for reporting accessibility issues in the footer link. Comma separated list of account logins.###07 02 2020 new variable +adm#:#adm_acc_ctrl_cpt_desc#:#Se attivato, il collegamento per il concetto di controllo dell'accessibilità viene visualizzato nel piè di pagina. +adm#:#adm_acc_ctrl_cpt_enable#:#Abilita il concetto di controllo dell'accessibilità +adm#:#adm_accessibility_contacts#:#Punto di contatto Accessibilità +adm#:#adm_accessibility_contacts_info#:#Contatti per segnalare problemi di accessibilità nel collegamento a piè di pagina. Elenco separato da virgole di accessi all'account. adm#:#adm_awrn_support_contacts_info#:#Sono elencati tutti i contatti supporto tecnico. Gli utenti sono definiti come contatti di supporto tecnico nella sezione "Impostazioni generali"> "Informazione di contatto". adm#:#adm_support_contacts#:#Supporto tecnico adm#:#adm_support_contacts_info#:#Contatti di supporto utilizzati nel collegamento a piè di pagina e (se attivato) nello strumento “Chi è online?”. Elenco di account di accesso separato da virgole. -administration#:#adm_achievements#:#Achievements###07 02 2020 new variable +administration#:#adm_achievements#:#Risultati administration#:#adm_adm_role_protect#:#Proteggere il ruolo di Amministratore administration#:#adm_adm_role_protect_info#:#Se abilitato, solo l'amministratore è autorizzato a (de)assegnare gli utenti da/per il ruolo di amministratore. -administration#:#adm_auth_login#:#Authentication Login###29 07 2022 new variable -administration#:#adm_auth_reg#:#Authentication Registration###29 07 2022 new variable -administration#:#adm_communication#:#Communication###07 02 2020 new variable -administration#:#adm_extending_ilias#:#Extending ILIAS###07 02 2020 new variable +administration#:#adm_auth_login#:#Login di autenticazione +administration#:#adm_auth_reg#:#Registrazione di autenticazione +administration#:#adm_communication#:#Comunicazione +administration#:#adm_extending_ilias#:#Estendere ILIAS administration#:#adm_external_setting_edit#:#Modifica impostazioni administration#:#adm_hide#:#Nascosto nelle Impostazioni del Form administration#:#adm_hide_tabs#:#Tabelle nascoste administration#:#adm_https#:#HTTPS administration#:#adm_imprint#:#Imprimere administration#:#adm_imprint_inactive#:#L'imprinting non è attivo e gli utenti non sono in grado di accedervi. -administration#:#adm_layout_and_navigation#:#Layout and Navigation###07 02 2020 new variable -administration#:#adm_legal_regulations#:#Legal Regulations###26 08 2024 new variable +administration#:#adm_layout_and_navigation#:#Layout e Navigazione +administration#:#adm_legal_regulations#:#Legal Regulations###30 04 2024 new variable administration#:#adm_locale#:#Locale administration#:#adm_locale_info#:#Le impostazioni locali influenzano ad es. l'ordinamento nelle liste. Come esempio si veda nl_NL o de_DE. Localizzazioni multiple devono essere separate da una virgola. Sarà utilizzata la prima localizzazione valida. administration#:#adm_maintenance#:#Manutenzione @@ -100,7 +99,7 @@ administration#:#adm_missing_entries#:#Voci mancanti administration#:#adm_missing_entry_add#:#Aggiungi nuova voce administration#:#adm_missing_entry_add_action#:#Aggiungi administration#:#adm_nr_statements#:#Numero di affermazioni -administration#:#adm_personal_workspace#:#Personal Workspace###07 02 2020 new variable +administration#:#adm_personal_workspace#:#Scrivania Personale administration#:#adm_predefined_settings#:#Impostazioni Predefinite administration#:#adm_pub_section_domain_filter#:#Filtro per dominio administration#:#adm_pub_section_domain_filter_info#:#Filtri per dominio che consentono accesso anonimo. Immettere uno o più domini che consentono l’accesso anonimo. @@ -114,8 +113,8 @@ administration#:#adm_rep_tree_limit_grp_crs_info#:#Questo dipende da, ed automat administration#:#adm_rep_tree_only_cntr#:#Solo Container administration#:#adm_rep_tree_only_cntr_info#:#Sono elencate solo categorie, corsi e gruppi. administration#:#adm_rep_tree_presentation#:#Rappresentazione dell'albero delle Risorse -administration#:#adm_repository_and_objects#:#Repository and Objects###07 02 2020 new variable -administration#:#adm_search_and_find#:#Search and Find###07 02 2020 new variable +administration#:#adm_repository_and_objects#:#Repository e Oggetti +administration#:#adm_search_and_find#:#Ricerca / Trova administration#:#adm_show_comments_tagging_in_lists#:#Visualizza il numero di note, commenti e tag nella lista degli oggetti administration#:#adm_show_comments_tagging_in_lists_tags#:#Visualizzare i tag anziché il numero administration#:#adm_table#:#Tabella @@ -125,11 +124,11 @@ administration#:#adm_user_starting_point_info#:#Selezionare la pagina o l'oggett administration#:#adm_user_starting_point_inherit#:#Utilizza impostazioni standard administration#:#adm_user_starting_point_inherit_info#:#Verranno utilizzate completamente le impostazioni effettuate dall’amministratore della piattaforma. administration#:#adm_user_starting_point_invalid_info#:#Questa funzione non è ancora attiva. -administration#:#adm_user_starting_point_object#:#Oggetto repository +administration#:#adm_user_starting_point_object#:#Oggetto archivio administration#:#adm_user_starting_point_personal#:#Impostazioni personali administration#:#adm_user_starting_point_personal_info#:#Se attivato gli utenti possono selezionare la propria pagina iniziale. administration#:#adm_user_starting_point_ref_id#:#Id di riferimento -administration#:#adm_user_starting_point_ref_id_info#:#Open the object that you would like to use as Personal Starting Point. Please copy the number directly following "ref_id=" in the browser bar into the textinput field. +administration#:#adm_user_starting_point_ref_id_info#:#Apri l'oggetto che desideri utilizzare come punto di partenza personale. Si prega di copiare il numero direttamente dopo "ref_id=" nella barra del browser nel campo di immissione del testo. administration#:#adm_value#:#Valore prefefinito administration#:#allow_change_loginname#:#Permetti la modifica dei Nomi di Login nel 'Profilo Personale' administration#:#analysis_options#:#Opzioni di analisi @@ -163,7 +162,7 @@ administration#:#auth_auth_mode_determination#:#Controllo del metodo di Autentic administration#:#auth_automatic#:#Sequenza Fissa administration#:#auth_by_user#:#dall'Utente administration#:#auth_kind_determination#:#Tipo di Determinazione -administration#:#auth_mode_default_change_info#:#Changing the default authentication method affects all user accounts configured to use the default authentication method. If the selected default method (e.g., Shibboleth, SAML, SOAP, ...) does not support or is not configured to allow fallback to local ILIAS authentication, affected users may no longer be able to log in. To avoid this, please ensure that local fallback authentication is activated in the configuration of the selected method, or that the authentication method stored for affected user accounts is manually changed.###29 10 2025 new variable +administration#:#auth_mode_default_change_info#:#Changing the default authentication method affects all user accounts configured to use the default authentication method. If the selected default method (e.g., Shibboleth, SAML, SOAP, ...) does not support or is not configured to allow fallback to local ILIAS authentication, affected users may no longer be able to log in. To avoid this, please ensure that local fallback authentication is activated in the configuration of the selected method, or that the authentication method stored for affected user accounts is manually changed.###20 05 2025 new variable administration#:#auth_mode_determination_info#:#Scegliere se l'utente deve selezionare il metodo di autentificazione o se questo è gestito automaticamente (con sequenza fissa di metodi di autentificazione). administration#:#clean#:#Ripulisci administration#:#clean_desc#:#Elimina i riferimenti e le voci dell'albero non valide e compatta la struttura dell'albero. @@ -192,10 +191,10 @@ administration#:#language_default_entries#:#(Campi standard) administration#:#language_delete_local_additions#:#Cancella le integrazioni locali nel database administration#:#language_delete_local_additions_info#:#Elimina tutte le voci aggiunte localmente al database. administration#:#language_error_clear_local#:#I cambiamenti effettuati non sono stati cancellati dal database! -administration#:#language_error_delete_local#:#The local language file can't be deleted! -administration#:#language_error_local_missed#:#The local language file does not exist! +administration#:#language_error_delete_local#:#Il file della lingua locale non può essere cancellato! +administration#:#language_error_local_missed#:#Il file della lingua locale non esiste! administration#:#language_error_read_local#:#Il file lingua locale non esiste o non può essere letto! -administration#:#language_error_write_global#:#The global language file can't be written! +administration#:#language_error_write_global#:#Il file della lingua globale non può essere scritto! administration#:#language_export_file#:#Esportare il file lingua administration#:#language_file_imported#:#Il file lingua %s è stato importato. administration#:#language_file_scope#:#Estensione del file lingua @@ -204,18 +203,18 @@ administration#:#language_former_file_equal#:#Il file %s è identico al f administration#:#language_former_file_missing#:#Il file %s non esiste. administration#:#language_import_file#:#Importazione file lingua administration#:#language_load_local_changes#:#Caricare il file lingua locale nel database -administration#:#language_load_local_changes_info#:#Load the file lang/customizing/ilias_%s_lang.local to the database. New entries of this file are added to the database and existing entries are overwritten. +administration#:#language_load_local_changes_info#:#Carica il file Customizing/global/lang/ilias_%s_lang.local sul database. Nuovi campi su questo file verranno aggiunti al database e i campi esistenti verranno sovrascritti. administration#:#language_loaded_local#:#Il file lingua locale è stato caricato nel database. -administration#:#language_local_file_deleted#:#The local language file was deleted. +administration#:#language_local_file_deleted#:#Il file di lingua locale è stato cancellato. administration#:#language_maintain#:#Manutenzione administration#:#language_maintain_local_changes#:#Manutenzione delle modifiche locali administration#:#language_maintenance#:#Manutenzione Lingua -administration#:#language_merge_local_changes#:#Merge local changes into the global language file +administration#:#language_merge_local_changes#:#Unisci i cambiamenti locali al file di lingua locale administration#:#language_merge_local_changes_info#:#Unisci alfabeticamente tutti le modifiche e le integrazioni locali nel file di lingua standard lang/ilias_%s.lang. Il server web deve disporre dell'autorizzazione di scrittura per questo file. -administration#:#language_merged_global#:#The local changes were merged into the global language file. +administration#:#language_merged_global#:#I cambiamenti locali sono stati uniti al file di lingua globale administration#:#language_mode_existing#:#Campi esistenti administration#:#language_mode_existing_delete#:#Cancellare i dati precedentemente immessi -administration#:#language_mode_existing_delete_info#:#Delete all entries in the database before importing the file.
WARNING: The imported language file should be complete, otherwise there will be undefined language variables. If that happens, switch to the tab "Maintain" and choose "Clear local changes in the database". +administration#:#language_mode_existing_delete_info#:#Eliminare tutte le voci nel database prima di importare il file.
ATTENZIONE: il file di lingua importato deve essere completo, altrimenti ci saranno variabili di lingua non definite. Se ciò accade, passa alla scheda "Mantieni" e scegli "Cancella modifiche locali nel database". administration#:#language_mode_existing_keepall#:#Mantenere tutti i campi immessi administration#:#language_mode_existing_keepall_info#:#Importa solo le nuove voci che ancora non esistono nel database. administration#:#language_mode_existing_keepnew#:#Mantenere tutte le variazioni effettuate @@ -225,15 +224,15 @@ administration#:#language_mode_existing_replace_info#:#Importa nuove voci e sost administration#:#language_note_translation#:#La modalità traduzione pagina si attiva separatamente per ogni lingua. E' necessario che l'utente abbia i permessi di scrittura e lettura nella sezione lingue. administration#:#language_process_maintenance#:#Processo di manutenzione administration#:#language_remove_local_file#:#Cancella il file di lingua locale -administration#:#language_remove_local_file_info#:#Remove the file lang/customizing/ilias_%s_lang.local and change the language status from "Installed With Local" to "Installed". The changes in the database are not touched. +administration#:#language_remove_local_file_info#:#Rimuovere il file Customizing/global/lang/ilias_%s_lang.local e modificare lo stato della lingua da "Installato con locale" a "Installato". Le modifiche nel database non vengono toccate. administration#:#language_save_dist#:#Backup del file di lingua standard administration#:#language_save_dist_failed#:#Il backup del file di lingua ILIAS standard non può essere scritto. administration#:#language_save_dist_info#:#Creare un backup del file di lingua ILIAS standard nella directory dei dati ILIAS. Questo aiuta dopo un aggiornamento ILIAS per trovare contrasti di proprie modifiche con variabili linguistiche aggiornate. administration#:#language_save_local_changes#:#Salvare tutti i cambiamenti nel file lingua locale -administration#:#language_save_local_changes_info#:#Save all locally added or changed database entries to the file lang/customizing/ilias_%s_lang.local and set the language status to "Installed With Local". The web server must have write permission in this folder. Please note that this file is the same for all clients of this installation. +administration#:#language_save_local_changes_info#:#Salva tutte le voci del database aggiunte o modificate localmente nel file Customizing/global/lang/ilias_%s_lang.local e imposta lo stato della lingua su "Installato con locale". Il server Web deve disporre dell'autorizzazione di scrittura in questa cartella. Notare che questo file è lo stesso per tutti i client di questa installazione. administration#:#language_saved_dist#:#Il backup del file di lingua ILIAS standard è stato creato. administration#:#language_scope_added#:#Solo integrazioni locali -administration#:#language_scope_added_info#:#Export all entries that are locally added in the database. This can be used to backup additional development entries before local changes are deleted on the tab "Maintain". +administration#:#language_scope_added_info#:#Esporta tutte le voci aggiunte localmente nel database. Questo può essere utilizzato per eseguire il backup di voci di sviluppo aggiuntive prima che le modifiche locali vengano eliminate nella scheda "Mantieni". administration#:#language_scope_commented#:#Visualizza solo Con commenti dal Manager Lingue administration#:#language_scope_conflicts#:#Modifiche locali e di aggiornamento administration#:#language_scope_dbremarks#:#Mostra solo voci con commenti in file di lingua @@ -242,16 +241,16 @@ administration#:#language_scope_equal#:#Uguale alla lingua di comparazione administration#:#language_scope_global#:#Tutti i campi administration#:#language_scope_global_info#:#Esporta tutte le voci del database di questa lingua. Questo può essere utilizzato per scopi di backup. administration#:#language_scope_local#:#Solo modifiche locali -administration#:#language_scope_local_info#:#Export all entries that are locally added or changed in the database. This is similar to the saving of a local language file on the tab "Maintain". +administration#:#language_scope_local_info#:#Esporta tutte le voci aggiunte o modificate localmente nel database. Questo è simile al salvataggio di un file della lingua locale nella scheda "Mantieni". administration#:#language_scope_merged#:#Modifiche locali inserite nel file di lingua globale -administration#:#language_scope_merged_info#:#Export the standard ILIAS language file with all local changes merged in alphabetically by module and identifier. This can be used to update the global language file on the ILIAS SVN server. +administration#:#language_scope_merged_info#:#Esporta il file della lingua standard ILIAS con tutte le modifiche locali unite in ordine alfabetico per modulo e identificatore. Questo può essere usato per aggiornare il file della lingua globale sul server ILIAS SVN. administration#:#language_scope_unchanged#:#Solo campi non modificati -administration#:#language_scope_unchanged_info#:#Export all default language entries that are not changed in the database. This is the opposite to "Local changes only". Both together are a complete backup of the current language in the database. +administration#:#language_scope_unchanged_info#:#Esporta tutte le voci della lingua predefinita che non sono state modificate nel database. Questo è l'opposto di "Solo modifiche locali". Entrambi insieme sono un backup completo della lingua corrente nel database. administration#:#language_settings#:#Impostazioni lingua administration#:#language_statistics#:#Statistiche -administration#:#language_translation#:#Page translation###29 10 2025 new variable +administration#:#language_translation#:#Page translation###28 11 2025 new variable administration#:#language_translation_enabled#:#Traduzione pagina abilitata -administration#:#language_variables_saved#:#The changes to the language variables were saved successfully.###29 07 2022 new variable +administration#:#language_variables_saved#:#Le modifiche alle variabili della lingua sono state salvate con successo. administration#:#log_scan#:#Scrivi nel file di log i risultati administration#:#log_scan_desc#:#Scrive i risultati nel file 'scanlog.log' nella cartella del client. administration#:#loginname_change_blocking_time#:#Tempo di Blocco per la Modifica dei Nomi di Login @@ -266,10 +265,10 @@ administration#:#obj_blga_desc#:#Impostazioni globali del Blog administration#:#obj_chta_desc#:#Amministrazione Chat administration#:#obj_excs#:#Esercizio administration#:#obj_excs_desc#:#Impostazioni di esercizio globale -administration#:#obj_gsfo#:#Footer###29 10 2025 new variable -administration#:#obj_gsfo_desc#:#Administrate Footer Layout and Content###29 10 2025 new variable -administration#:#obj_impr#:#Legal Notice###26 08 2024 new variable -administration#:#obj_impr_desc#:#Deployment of Legal Notice###26 08 2024 new variable +administration#:#obj_gsfo#:#Footer###28 11 2025 new variable +administration#:#obj_gsfo_desc#:#Administrate Footer Layout and Content###28 11 2025 new variable +administration#:#obj_impr#:#Legal Notice###30 04 2024 new variable +administration#:#obj_impr_desc#:#Deployment of Legal Notice###30 04 2024 new variable administration#:#obj_mds#:#Metadati administration#:#obj_mds_desc#:#Configurazione MetaDati administration#:#obj_otpl#:#Oggetti Templates @@ -278,10 +277,10 @@ administration#:#obj_prfa#:#Portfolio administration#:#obj_prfa_desc#:#Impostazioni del Portfolio globale administration#:#obj_taxs#:#Tassonomia administration#:#obj_taxs_desc#:#Impostazioni di tassonomia globale -administration#:#org_op_edit_user_accounts#:#Edit User Accounts###07 02 2020 new variable +administration#:#org_op_edit_user_accounts#:#Edita gli account utente administration#:#output_options#:#Opzioni di uscita administration#:#path_to_mkisofs#:#Cartella di mkisofs -administration#:#prg_export#:#Visible in Study Programmes###26 08 2024 new variable +administration#:#prg_export#:#Visible in Study Programmes###30 04 2024 new variable administration#:#purge_age_limit#:#Età limite administration#:#purge_age_limit_desc#:#Se questo campo ha un valore, verranno eliminati solo gli oggetti cancellati prima del numero di giorni corrispondente. administration#:#purge_count_limit#:#Numero limite @@ -321,124 +320,124 @@ administration#:#searching_invalid_refs#:#Ricerca dei riferimenti non validi... administration#:#searching_invalid_rolfs#:#Ricerca delle cartelle non valide... administration#:#searching_missing_objs#:#Ricerca degli oggetti mancanti... administration#:#searching_unbound_objs#:#Ricerca degli oggetti scollegati... -administration#:#skipped#:#saltato +administration#:#skipped#:#Saltato administration#:#start_scan#:#Avvio! administration#:#svn_path#:#Percorso: %s administration#:#svn_revision_current#:#Revisione attuale: %s administration#:#svn_revision_last_change#:#Ultima revisione modificata: %s administration#:#svn_root#:#Radice: %s administration#:#system_check_no_owner#:#Oggetti senza proprietario -administration#:#system_folder_info#:#Please choose an item from the administration main menu.###29 10 2025 new variable +administration#:#system_folder_info#:#Please choose an item from the administration main menu.###28 11 2025 new variable administration#:#systemcheck#:#Verifica del sistema administration#:#tree_corrupt#:#L'albero è corrotto! Puoi vedere i dettagli nel file di log. administration#:#user_criteria#:#Criterio di utente unico administration#:#user_criteria_desc#:#Criterio utente unico che viene utilizzato per l'importazione dei risultati dell'importazione/esportazione. Ciò è necessario per identificare gli utenti identici su diversi sistemi ILIAS. administration#:#usr_loginname_history_info#:#L'utente ha cambiato il proprio login il %s. Il precedente login era: %s. -administration#:#vc_information#:#Version Control Information +administration#:#vc_information#:#Informazione di controllo versione administration#:#vc_information_not_determined#:#ILIAS non ha potuto determinare alcuna informazione sul controllo della versione. administration#:#view_last_log#:#Vedi l'ultimo log administration#:#view_log#:#Vedi dettagli -adn#:#action_confirm_delete#:#Delete Notifications###26 08 2024 new variable -adn#:#action_confirm_delete_msg#:#Would you like to delete the following notification(s)?###26 08 2024 new variable -adn#:#administrative_notification#:#Administrative Notifications###29 07 2022 new variable -adn#:#administrative_notification_description#:#Provide system-wide notifications in topbar of ILIAS###29 07 2022 new variable -adn#:#btn_cancel#:#Cancel###29 07 2022 new variable -adn#:#btn_delete#:#Delete###29 07 2022 new variable -adn#:#btn_delete_confirm#:#Would you like to delete this Notification?###29 07 2022 new variable -adn#:#btn_duplicate#:#Duplicate###26 08 2024 new variable -adn#:#btn_edit#:#Edit###29 07 2022 new variable -adn#:#btn_reset#:#Reset###29 07 2022 new variable -adn#:#btn_reset_confirm#:#Would you like to reset this Notification for all Users?###29 07 2022 new variable -adn#:#common_actions#:#Actions###29 07 2022 new variable -adn#:#common_add_msg#:#Add Notification###29 07 2022 new variable -adn#:#main#:#Notifications###29 07 2022 new variable -adn#:#msg_body#:#Body###29 07 2022 new variable -adn#:#msg_body_info#:#Body of the Notification###29 07 2022 new variable -adn#:#msg_dismissable#:#Dismissable###29 07 2022 new variable -adn#:#msg_dismissable_info#:#Notifications can be closed by the user. The user won't see this notification again.###29 07 2022 new variable -adn#:#msg_display_date_end#:#Displayed Until###29 07 2022 new variable -adn#:#msg_display_date_start#:#Displayed From###29 07 2022 new variable -adn#:#msg_error_false_date_configuration#:#Can't create a notification with this configuration of dates. The event must be within the display time.###29 07 2022 new variable -adn#:#msg_event_date_end#:#Event Ends###29 07 2022 new variable -adn#:#msg_event_date_start#:#Event Starts###29 07 2022 new variable -adn#:#msg_form_title#:#Notification###29 07 2022 new variable -adn#:#msg_has_language_limitation#:#Limited to selected languages###26 08 2024 new variable -adn#:#msg_has_language_limitation_info#:#Only selected languages will see the notification.###26 08 2024 new variable -adn#:#msg_languages#:#Languages###26 08 2024 new variable -adn#:#msg_limit_to_roles#:#Role-sensitive Presentation###29 07 2022 new variable -adn#:#msg_limit_to_roles_info#:#Only the selected roles will see the notification.###29 07 2022 new variable -adn#:#msg_limited_to_role_ids#:#Roles###29 07 2022 new variable -adn#:#msg_permanent#:#Display###29 07 2022 new variable -adn#:#msg_permanent_info#:#Display Notifications permanently or temporarily###29 07 2022 new variable -adn#:#msg_permanent_no#:#Show Temporarily###29 07 2022 new variable -adn#:#msg_permanent_yes#:#Show Permanently###29 07 2022 new variable -adn#:#msg_presentation#:#Presentation###26 08 2024 new variable -adn#:#msg_show_to_all_languages#:#Show to all languages###26 08 2024 new variable -adn#:#msg_show_to_all_roles#:#Show to all roles###26 08 2024 new variable -adn#:#msg_show_to_all_roles_info#:#All users even when not logged-in will see notification.###26 08 2024 new variable -adn#:#msg_success_created#:#Notification created###29 07 2022 new variable -adn#:#msg_success_deleted#:#Notification sucessfully deleted###29 07 2022 new variable -adn#:#msg_success_duplicated#:#Notification sucessfully duplicated###26 08 2024 new variable -adn#:#msg_success_reset#:#Notification reset###29 07 2022 new variable -adn#:#msg_success_updated#:#Notification updated###29 07 2022 new variable -adn#:#msg_table_title#:#Notifications###29 07 2022 new variable -adn#:#msg_title#:#Headline###29 07 2022 new variable -adn#:#msg_title_info#:#Short Headline of the Notification###29 07 2022 new variable -adn#:#msg_type#:#Importance###29 07 2022 new variable -adn#:#msg_type_0#:#Notice###29 07 2022 new variable -adn#:#msg_type_1#:#Notice###29 07 2022 new variable -adn#:#msg_type_2#:#Important###29 07 2022 new variable -adn#:#msg_type_3#:#Breaking News###29 07 2022 new variable -adn#:#msg_type_during_event#:#During Event###29 07 2022 new variable -adn#:#msg_type_info#:#the importance has an influence on the color representation of the notification###29 07 2022 new variable -adve#:#advanced_editing_excass_settings#:#Impostazioni di assegnazioni esercizio +adn#:#action_confirm_delete#:#Delete Notifications###28 11 2025 new variable +adn#:#action_confirm_delete_msg#:#Would you like to delete the following notification(s)?###28 11 2025 new variable +adn#:#administrative_notification#:#Administrative Notifications###30 04 2024 new variable +adn#:#administrative_notification_description#:#Fornisci notifiche a livello di sistema nella barra superiore di ILIAS +adn#:#btn_cancel#:#Annulla +adn#:#btn_delete#:#Cancella +adn#:#btn_delete_confirm#:#Vuoi eliminare questa notifica? +adn#:#btn_duplicate#:#Duplicate###30 04 2024 new variable +adn#:#btn_edit#:#Modifica +adn#:#btn_reset#:#Reset +adn#:#btn_reset_confirm#:#Vuoi reimpostare questa notifica per tutti gli utenti? +adn#:#common_actions#:#Azioni +adn#:#common_add_msg#:#Aggiungi Notifiche +adn#:#main#:#Notifiche +adn#:#msg_body#:#Corpo +adn#:#msg_body_info#:#Corpo Notifica +adn#:#msg_dismissable#:#Ignorabile +adn#:#msg_dismissable_info#:#Le notifiche possono essere chiuse dall'utente. L'utente non vedrà più questa notifica. +adn#:#msg_display_date_end#:#Visibile fino al +adn#:#msg_display_date_start#:#Visibile dal +adn#:#msg_error_false_date_configuration#:#Impossibile creare una notifica con questa configurazione di date. L'evento deve rientrare nel tempo di visualizzazione. +adn#:#msg_event_date_end#:#Termine Evento +adn#:#msg_event_date_start#:#Inizio Evento +adn#:#msg_form_title#:#Notifiche +adn#:#msg_has_language_limitation#:#Limited to selected languages###30 04 2024 new variable +adn#:#msg_has_language_limitation_info#:#Only selected languages will see the notification.###30 04 2024 new variable +adn#:#msg_languages#:#Languages###30 04 2024 new variable +adn#:#msg_limit_to_roles#:#Presentazione dipendente dal ruolo +adn#:#msg_limit_to_roles_info#:#Solo i ruoli selezionati vedranno la notifica. +adn#:#msg_limited_to_role_ids#:#Ruoli +adn#:#msg_permanent#:#Visualizza +adn#:#msg_permanent_info#:#Visualizza notifiche in modo permanente o temporaneo +adn#:#msg_permanent_no#:#Mostra temporaneamente +adn#:#msg_permanent_yes#:#Mostra permanentemente +adn#:#msg_presentation#:#Presentation###31 08 2022 new variable +adn#:#msg_show_to_all_languages#:#Show to all languages###30 04 2024 new variable +adn#:#msg_show_to_all_roles#:#Show to all roles###31 08 2022 new variable +adn#:#msg_show_to_all_roles_info#:#All users even when not logged-in will see notification.###31 08 2022 new variable +adn#:#msg_success_created#:#Notifica creata +adn#:#msg_success_deleted#:#Notifica cancellata +adn#:#msg_success_duplicated#:#Notification sucessfully duplicated###30 04 2024 new variable +adn#:#msg_success_reset#:#Notifica resettata +adn#:#msg_success_updated#:#Notifica aggiornata +adn#:#msg_table_title#:#Notifiche +adn#:#msg_title#:#Titolo +adn#:#msg_title_info#:#Breve titolo della notifica +adn#:#msg_type#:#Importanza +adn#:#msg_type_0#:#Avviso +adn#:#msg_type_1#:#Avviso +adn#:#msg_type_2#:#Importante +adn#:#msg_type_3#:#Breaking News +adn#:#msg_type_during_event#:#During Event +adn#:#msg_type_info#:#l'importanza ha un'influenza sulla rappresentazione del colore della notifica +adve#:#advanced_editing_excass_settings#:#Impostazioni esercizi (consegna testi) adve#:#advanced_editing_tst_editing#:#Editor di pagina per ulteriori contenuti delle domande -adve#:#advanced_editing_tst_editing_desc#:#Aktivates ILIAS Page Eidotr for feedback and hint text editing. +adve#:#advanced_editing_tst_editing_desc#:#Attiva ILIAS Page Editor per il feedback e la modifica del testo dei suggerimenti. adve#:#adve_activation#:#Attivazione adve#:#adve_auto_url_linking#:#URL collegamento automatico -adve#:#adve_auto_url_linking_info#:#Cerca di identificare gli URL come "http://.." nei paragrafi del testo e crea automaticamente i link intorno a loro. -adve#:#adve_autosave#:#Automatic Saving Intervall###29 07 2022 new variable -adve#:#adve_autosave_info#:#Auto-save for text content. With shorter intervals, the server load increases and the performance of the system decreases.###29 07 2022 new variable -adve#:#adve_autosave_info_min_10#:#Please choose a value of minimal 10 seconds if you activated this feature.###29 07 2022 new variable -adve#:#adve_blocking_mode#:#Modifica blocco -adve#:#adve_excass_settings#:#Assegnazioni di esercizio -adve#:#adve_grp_copa#:#Content Pages -adve#:#adve_grp_frm#:#Forums###29 07 2022 new variable +adve#:#adve_auto_url_linking_info#:#ILIAS analizza il testo e identifica gli URL (p.es. "http://..") creando automaticamente i collegamenti ipertestuali (link). +adve#:#adve_autosave#:#Intervallo di salvataggio automatico +adve#:#adve_autosave_info#:#Salvataggio automatico per il contenuto di testo. Con intervalli più brevi, il carico del server aumenta e le prestazioni del sistema diminuiscono. +adve#:#adve_autosave_info_min_10#:#Scegli un valore minimo di 10 secondi se hai attivato questa funzione. +adve#:#adve_blocking_mode#:#Blocco modifiche +adve#:#adve_excass_settings#:#Unità esercizi +adve#:#adve_grp_copa#:#Pagine Contenuto +adve#:#adve_grp_frm#:#Forums###31 03 2023 new variable adve#:#adve_grp_glo#:#Glossari -adve#:#adve_grp_lm#:#ILIAS Moduli E-learning -adve#:#adve_grp_rep#:#Pagine del Repository -adve#:#adve_grp_scorm#:#Editing SCORM +adve#:#adve_grp_lm#:#Moduli E-learning ILIAS +adve#:#adve_grp_rep#:#Pagine dell'Archivio +adve#:#adve_grp_scorm#:#Moduli SCORM adve#:#adve_grp_test#:#Test e Valutazione adve#:#adve_grp_wiki#:#Wiki adve#:#adve_minutes#:#Minuti -adve#:#adve_minutes_info#:#Minuti di inattività prima della scadenza di un blocco di modifica e una pagina può essere modificata da un altro utente. -adve#:#adve_page_editor_settings#:#ILIAS Impostazioni Editor di Pagina -adve#:#adve_pe_general#:#Generale +adve#:#adve_minutes_info#:#Minuti di inattività prima della scadenza di un blocco di modifica, successivamente la pagina può essere modificata da un altro utente. +adve#:#adve_page_editor_settings#:#Impostazioni Editor di Pagina ILIAS +adve#:#adve_pe_general#:#Impostazioni adve#:#adve_rte_settings#:#Impostazioni Rich Text Editor adve#:#adve_text_content_features#:#Menu contenuto del testo -adve#:#adve_use_physical#:#Utilizzare b/i/u invece di str/emp/imp +adve#:#adve_use_physical#:#Utilizzare B|I|U invece di str|emp|imp adve#:#adve_use_physical_info#:#Questa impostazione sostituisce i semantici pulsanti di stile "strong", "emphatic" e "important" con "b" (grassetto), "i" (corsivo) e "u" (sottolineato). Si prega di notare, che questo potrebbe causare incoerenze se l'editor di stile è utilizzato e altri attributi fisici sono assegnati alle classi di stile strong/emphatic/important. adve#:#adve_use_tiny_mce#:#Abilita TinyMCE come Editor WYSIWYG (What You See Is What You Get) -assessment#:#activate_logging#:#Attiva il logging del Test e Valutazione -assessment#:#activate_manual_scoring#:#Enable Manual Scoring###28 10 2024 new variable -assessment#:#activate_manual_scoring_desc#:#Enables manual Scoring for all question types.###28 10 2024 new variable -assessment#:#addSuggestedSolution#:#Aggiungi soluzione suggerita -assessment#:#add_answers#:#Add Antworten -assessment#:#add_circle#:#Aggiungi area circolare -assessment#:#add_gap#:#Aggiungi testo vuoto +assessment#:#activate_logging#:#Activate Test and Assessment Logging###28 11 2025 new variable +assessment#:#activate_manual_scoring#:#Enable Manual Scoring###28 11 2025 new variable +assessment#:#activate_manual_scoring_desc#:#Enables manual Scoring for all question types.###28 11 2025 new variable +assessment#:#addSuggestedSolution#:#Contenuti per il ripasso +assessment#:#add_answers#:#Aggiungi risposte +assessment#:#add_circle#:#Aggiungi cerchio +assessment#:#add_gap#:#Aggiungi lacuna di testo assessment#:#add_imagemap#:#Importa immagine Mappa assessment#:#add_poly#:#Aggiungi area poligonale assessment#:#add_rect#:#Aggiungi area rettangolare -assessment#:#add_users#:#Add Users###28 10 2024 new variable +assessment#:#add_users#:#Add Users###28 11 2025 new variable assessment#:#additional_rating_info#:#Si prega di notare che i valori indicati qui sono espressi in percentuali e questi devono aggiungere fino a 100. assessment#:#advanced_rating#:#Classificazione avanzata -assessment#:#advanced_rating_info#:#The advanced rating is only available if a unit is assigned to the result. +assessment#:#advanced_rating_info#:#La classificazione avanzata è disponibile solo se al risultato è assegnata un'unità. assessment#:#all_available_question_pools#:#Tutti le raccolte di domande disponibili assessment#:#all_participants#:#Tutti i partecipanti assessment#:#allow_images#:#Supporto immagine di risposte assessment#:#allowedextensions#:#Estensioni di file ammessi assessment#:#allowedextensions_info#:#Inserisci una lista di estensioni di file separate da una virgola, se vuoi restringere il caricamento ad un insieme di estensioni (ad esempio odt,xls,doc). -assessment#:#already_added_extra_time#:#already added: %s min###28 10 2024 new variable +assessment#:#already_added_extra_time#:#already added: %s min###28 11 2025 new variable assessment#:#analyze_errortext#:#Analisi del testo di errore assessment#:#answer#:#Risposta assessment#:#answer_characters#:#caratteri consentiti, immesso il numero di caratteri: @@ -446,7 +445,7 @@ assessment#:#answer_image#:#Immagine di risposta assessment#:#answer_is_not_correct_but_positive#:#Hai ricevuto dei punti per la tua risposta che non è quella esatta ma è accettabile. assessment#:#answer_is_right#:#La soluzione è corretta. assessment#:#answer_is_wrong#:#La soluzione è sbagliata. -assessment#:#answer_of#:#Answer of###07 02 2020 new variable +assessment#:#answer_of#:#Risposta di assessment#:#answer_options#:#Opzioni di risposte: assessment#:#answer_question#:#Risposta domanda assessment#:#answer_text#:#Testo della risposta @@ -478,25 +477,25 @@ assessment#:#assQuestions#:#Domande assessment#:#assSingleChoice#:#Domanda a risposta singola assessment#:#assTextQuestion#:#Domanda a risposta libera assessment#:#assTextSubset#:#Domanda a sottoinsieme di testo -assessment#:#ass_cloze_fb_mode#:#Feedback Mode -assessment#:#ass_cloze_fb_mode_gap_answ#:#Answer specific Feedback -assessment#:#ass_cloze_fb_mode_gap_answ_info#:#For every gap separate feedbacks can be configured for different answers. -assessment#:#ass_cloze_fb_mode_gap_qst#:#Feedback per Gap -assessment#:#ass_cloze_fb_mode_gap_qst_info#:#For every gap a single feedback can be configured. -assessment#:#ass_cloze_gap_fb_gap_label#:#Gap %s: %s -assessment#:#ass_cloze_gap_fb_num_empty_label#:#Gap %s - No Input -assessment#:#ass_cloze_gap_fb_num_rangehit_label#:#Gap %s - Range Hit -assessment#:#ass_cloze_gap_fb_num_toohigh_label#:#Gap %s - Value too High -assessment#:#ass_cloze_gap_fb_num_toolow_label#:#Gap %s - Value too Low -assessment#:#ass_cloze_gap_fb_num_valuehit_label#:#Gap %s - Value Hit -assessment#:#ass_cloze_gap_fb_sel_empty_label#:#Gap %s - No Selection -assessment#:#ass_cloze_gap_fb_sel_opt_label#:#Gap %s - Select Option: %s -assessment#:#ass_cloze_gap_fb_txt_empty_label#:#Gap %s - No Input -assessment#:#ass_cloze_gap_fb_txt_match_label#:#Gap %s - Given Answer: %s -assessment#:#ass_cloze_gap_fb_txt_nomatch_label#:#Gap %s - Wrong Answer -assessment#:#ass_commented_questions_only#:#Only Commented Questions -assessment#:#ass_comments#:#Comments -assessment#:#ass_competence_respect_level_ordering#:#Si prega di notare che i limiti di competenza devono essere definiti in ordine ascendente in base ai livelli disponibili. +assessment#:#ass_cloze_fb_mode#:#Modalità Feedback +assessment#:#ass_cloze_fb_mode_gap_answ#:#Rispondi un Feedack specifico +assessment#:#ass_cloze_fb_mode_gap_answ_info#:#Per ogni intervallo possono essere definiti differenti Feedback per le varie risposte. +assessment#:#ass_cloze_fb_mode_gap_qst#:#Ordina Feedack per per intervallo. +assessment#:#ass_cloze_fb_mode_gap_qst_info#:#Per ogni intervallo un singolo Feedback può essere configurato. +assessment#:#ass_cloze_gap_fb_gap_label#:#Intervallo %s: %s +assessment#:#ass_cloze_gap_fb_num_empty_label#:#Gap %s - Nessun imput +assessment#:#ass_cloze_gap_fb_num_rangehit_label#:#Gap %s - Range selezionato +assessment#:#ass_cloze_gap_fb_num_toohigh_label#:#Gap %s - Valore troppo alto +assessment#:#ass_cloze_gap_fb_num_toolow_label#:#Gap %s - Valore troppo basso +assessment#:#ass_cloze_gap_fb_num_valuehit_label#:#Gap %s - Valore selezionato +assessment#:#ass_cloze_gap_fb_sel_empty_label#:#Gap %s - Nessuna selezione +assessment#:#ass_cloze_gap_fb_sel_opt_label#:#Gap %s - Opzioni selezionate: %s +assessment#:#ass_cloze_gap_fb_txt_empty_label#:#Gap %s - Nessun imput +assessment#:#ass_cloze_gap_fb_txt_match_label#:#Gap %s - Risposta data: %s +assessment#:#ass_cloze_gap_fb_txt_nomatch_label#:#Gap %s - Risposta sbagliata +assessment#:#ass_commented_questions_only#:#Solo domande commentate +assessment#:#ass_comments#:#Commenti +assessment#:#ass_competence_respect_level_ordering#:#Si prega di notare che i limiti di competenze devono essere definiti in ordine ascendente in base ai livelli disponibili. assessment#:#ass_completion_by_submission#:#Completato da presentazione assessment#:#ass_completion_by_submission_info#:#Se abilitato, la presentazione di almeno un file causa il completamento di questa domanda garantendo il punteggio massimo per questa domanda. Il punteggio può essere modificato manualmente in seguito. In cambiamento di questa impostazione non effetto sulle domande già presentate. assessment#:#ass_create_export_file_with_results#:#Crea file di esportazione dei test (inclusi i risultati dei partecipanti) @@ -514,7 +513,7 @@ assessment#:#ass_mc_sel_lim_exhausted_hint#:#Non selezionare più di %s delle %s assessment#:#ass_mc_sel_lim_hint#:#Selezionare %s di %s risposte! assessment#:#ass_mc_sel_lim_setting#:#Limitazione della risposta assessment#:#ass_mc_sel_lim_setting_desc#:#Con questa impostazione il numero di risposte scelte dai partecipanti può essere limitato. -assessment#:#ass_process_lock#:#Use Lockings during Test Passes +assessment#:#ass_process_lock#:#Utilizzare i blocchi durante i test assessment#:#ass_process_lock_desc#:#Senza l'uso di alcun meccanismo di bloccaggio, sono possibili le condizioni di gara. Questo può portare a risultati di test incoerenti. assessment#:#ass_process_lock_mode#:#Modalità di blocco durante un passaggio del test assessment#:#ass_process_lock_mode_db#:#Utilizza i blocchi tabella database @@ -531,23 +530,23 @@ assessment#:#assessment_pool_selection#:#Selezione libreria assessment#:#assessment_scoring_adjust#:#Abilita correzioni assessment#:#assessment_scoring_adjust_desc#:#Abilita la funzione di correzione per consentire modifiche alle domande in un test. assessment#:#autocomplete_error#:#Il tuo numero di completamento automatico è di grandi dimensioni, avrai risposte che hanno meno caratteri in modo che non verranno mai visualizzate. -assessment#:#autoparticipants_subtab#:#Participants###07 02 2020 new variable +assessment#:#autoparticipants_subtab#:#Partecipanti assessment#:#autosave#:#Salvataggio automatico assessment#:#autosave_failed#:#Autosalvataggio fallito! assessment#:#autosave_info#:#Se selezionato, le risposte vengono salvate in intervalli, senza interazione da parte dell'utente al fine di evitare la perdita di dati. (Vale solo per le domande selezionate.) assessment#:#autosave_ival#:#Intervallo assessment#:#autosave_success#:#Autosalvataggio avvenuto con successo... -assessment#:#autosavecontent#:#Autosave Content###29 07 2022 new variable +assessment#:#autosavecontent#:#Autosave Content assessment#:#average_reached_points#:#Punteggio medio raggiunto assessment#:#back_to_objective_container#:#Vai a corso -assessment#:#backtocallingpage#:#Back to the question page###29 07 2022 new variable -assessment#:#backtocallingpool#:#Back to the question pool###29 07 2022 new variable +assessment#:#backtocallingpage#:#Back to the question page###29 06 2022 new variable +assessment#:#backtocallingpool#:#Back to the question pool###29 06 2022 new variable assessment#:#backtocallingtest#:#Torna al test assessment#:#baseunit#:#Unità base -assessment#:#broken_test#:#Broken Test###29 10 2025 new variable -assessment#:#bulkedit_author#:#Set Author###28 10 2024 new variable -assessment#:#bulkedit_lifecycle#:#Set Lifecycle###28 10 2024 new variable -assessment#:#bulkedit_taxonomies#:#Set Taxonomies###28 10 2024 new variable +assessment#:#broken_test#:#Broken Test###28 11 2025 new variable +assessment#:#bulkedit_author#:#Set Author###28 11 2025 new variable +assessment#:#bulkedit_lifecycle#:#Set Lifecycle###28 11 2025 new variable +assessment#:#bulkedit_taxonomies#:#Set Taxonomies###28 11 2025 new variable assessment#:#cancel_test#:#Sospendi il test assessment#:#cannot_edit_marks#:#Ci sono utenti che hanno gia' eseguito il test. E' possibile solamente modificare i voti se la data del report e' stata abilitata ma non e' ancora stata raggiunta. assessment#:#cannot_edit_test#:#Non hai l'autorizzazione per modificare il test! @@ -562,15 +561,15 @@ assessment#:#change_adm_categories_not_allowed#:#Non hai il permesso riguardo qu assessment#:#checkbox_checked#:#Selezionato assessment#:#checkbox_unchecked#:#Non selezionato assessment#:#circle#:#Circonferenza -assessment#:#circle_click_center#:#Per favore clicca al centro dell& -assessment#:#circle_click_circle#:#Per favore clicca nel punto esterno della circonferenza dell& -assessment#:#client_ip_range#:#Client IP Range###28 10 2024 new variable +assessment#:#circle_click_center#:#Fare clic sul centro dell'area desiderata. +assessment#:#circle_click_circle#:#Fare clic su un punto circolare dell'area desiderata. +assessment#:#client_ip_range#:#Client IP Range###28 11 2025 new variable assessment#:#clientip#:#IP cliente -assessment#:#close_text_hint#:#Puoi definire uno spazio vuoto inserendo i tag [gap][/gap] nella posizione che desideri. Premi il pulsante & -assessment#:#cloze_answer_text_info#:#Spaces preceding or following the answer text will be deleted when the form is saved.###26 08 2024 new variable +assessment#:#close_text_hint#:#Per aggiungere un nuovo spazio, imposta il cursore sulla posizione desiderata e utilizza il menu a discesa "Spazio vuoto". Le sezioni di modifica corrispondenti verranno visualizzate di seguito. Puoi anche modificare gli spazi facendo clic sugli spazi all'interno del testo degli spazi. +assessment#:#cloze_answer_text_info#:#Spaces preceding or following the answer text will be deleted when the form is saved.###28 11 2023 new variable assessment#:#cloze_fixed_textlength#:#Lunghezza del campo di testo assessment#:#cloze_fixed_textlength_description#:#Se si inserisce un valore maggiore di 0 tutte le mancanze di testo e di numero avranno quella lunghezza. -assessment#:#cloze_gap_size_info#:#If you enter a value greater than 0, this gap text field will be created with the fixed length of this value. If you do not enter a value the gap text fiel will be created with the value of the global fixed length. +assessment#:#cloze_gap_size_info#:#Se si immette un valore maggiore di 0, questo campo di testo spazio verrà creato con la lunghezza fissa di questo valore. Se non si immette un valore, il campo di testo del gap verrà creato con il valore della lunghezza fissa globale. assessment#:#cloze_text#:#Testo corrispondente assessment#:#cloze_textgap_case_insensitive#:#No Maiuscole/minuscole assessment#:#cloze_textgap_case_sensitive#:#Maiuscole/minuscole @@ -579,17 +578,17 @@ assessment#:#code#:#Codice assessment#:#codebase#:#Base dei codici assessment#:#concatenation#:#Concatenazione assessment#:#conf_delete_pass#:#Vuoi davvero cancellare il passaggio? -assessment#:#confirm_log_deletion#:#Are you sure, you want to delete the selected log entries? You will not be able to recover the deleted entries.###26 08 2024 new variable -assessment#:#confirm_sync_questions#:#La domanda, che & +assessment#:#confirm_log_deletion#:#Are you sure, you want to delete the selected log entries? You will not be able to recover the deleted entries.###28 11 2025 new variable +assessment#:#confirm_sync_questions#:#La domanda che hai modificato è una copia che è stata creata per l'uso con il test attivo. Vuoi cambiare anche l'originale della domanda? assessment#:#coordinates#:#Coordinate assessment#:#copy_and_link_to_questionpool#:#Copiare e collegare alla libreria di domande assessment#:#copy_no_questions_selected#:#Per favore selezionare almeno una domanda da copiare. assessment#:#copy_questions_success#:#Tutte le domande sono state copiate. -assessment#:#correct_answers#:#Correggi risposte +assessment#:#correct_answers#:#Correggi risposte: assessment#:#counter#:#Contatore assessment#:#create_gaps#:#Crea uno spazio vuoto assessment#:#create_new#:#Crea nuova -assessment#:#created#:#Created###28 10 2024 new variable +assessment#:#created#:#Created###28 11 2025 new variable assessment#:#customstyle#:#Stile personalizzato assessment#:#dashboard_tab#:#Dashboard assessment#:#definition#:#Definizione @@ -600,15 +599,15 @@ assessment#:#deleteSuggestedSolution#:#Rimuovere la soluzione proposta assessment#:#delete_all_user_data_confirmation#:#Vuoi cancellare i dati di test di tutti gli utenti? assessment#:#delete_image_header#:#Cancella immagine assessment#:#delete_image_question#:#Vuoi davvero cancellare l'immagine? -assessment#:#delete_mark_confirmation#:#Are you sure you want to delete the following mark?###29 10 2025 new variable -assessment#:#delete_participants_no_valid_participants_selected#:#Test results already exist for the selected participant(s). They therefore cannot be removed.###29 10 2025 new variable -assessment#:#delete_result_no_valid_participants_selected#:#There are no test results for the selected participants, so they cannot be removed.###29 10 2025 new variable -assessment#:#delete_selected_user_data_confirmation#:#Sei sicuro di voler eliminare tutti i dati del test degli utenti selezionati? +assessment#:#delete_mark_confirmation#:#Are you sure you want to delete the following mark?###28 11 2025 new variable +assessment#:#delete_participants_no_valid_participants_selected#:#Test results already exist for the selected participants, so they cannot be removed.###28 11 2025 new variable +assessment#:#delete_result_no_valid_participants_selected#:#There are no test results for the selected participants, so they cannot be removed.###28 11 2025 new variable +assessment#:#delete_selected_user_data_confirmation#:#Are you sure you want to remove the test data of the selected users?###28 11 2025 new variable assessment#:#delete_user_data#:#Elimina del test tutti i dati degli utenti selezionati assessment#:#description_maxchars#:#Se in questo campo testo non viene inserito un valore, non ci sara' limite alle dimensioni della risposta. -assessment#:#detail_ending_time_reached#:#Il tempo disponibile per l& -assessment#:#detail_max_processing_time_reached#:#Hai raggiunto il tempo massimo consentito per l& -assessment#:#detail_starting_time_not_reached#:#Non & +assessment#:#detail_ending_time_reached#:#Il tempo assegnato per questo test è finito. Il test non era disponibile da %s +assessment#:#detail_max_processing_time_reached#:#Hai raggiunto il tempo di elaborazione massimo consentito del test! +assessment#:#detail_starting_time_not_reached#:#Non hai raggiunto l'ora di inizio del test. Il test sarà disponibile su %s assessment#:#detailed_evaluation#:#Statistica dettagliata assessment#:#detailed_evaluation_for#:#Statistica dettagliata per %s assessment#:#detailed_evaluation_missing_active_id#:#Devi richiamare la statistica di un determinato partecipante! @@ -616,46 +615,46 @@ assessment#:#detailed_evaluation_show#:#Mostra la valutazione dettagliata assessment#:#detailed_output_printview#:#Output in dettaglio con visione domande in formato stampa assessment#:#detailed_output_solutions#:#Output in dettaglio con visione risposte assessment#:#direct_feedback#:#Controlla la soluzione -assessment#:#discard_answer#:#Discard Answer -assessment#:#discard_answer_confirmation#:#Your answer will be finally and completly discarded. The question keeps as unanswered until you submit another answer.

Would you really like to discard your answer? +assessment#:#discard_answer#:#Elimina risposta +assessment#:#discard_answer_confirmation#:#La tua risposta verrà infine e completamente scartata. La domanda rimane senza risposta fino a quando non si invia un'altra risposta.

Vuoi davvero scartare la tua risposta? assessment#:#dont_use_questionpool#:#Non inserire le domande in una libreria (disponibile sono in questo test) -assessment#:#download_all_files#:#Download All Files###28 10 2024 new variable +assessment#:#download_all_files#:#Download All Files###28 11 2025 new variable assessment#:#duplicate#:#Duplica assessment#:#duplicate_matching_values_selected#:#Hai scelto due volte la stessa risposta! assessment#:#duplicate_order_values_entered#:#Hai inserito due volte lo stesso valore! assessment#:#edit_answer#:#Modifica risposta -assessment#:#edit_concluding_remarks#:#Edit Concluding Remarks###26 08 2024 new variable -assessment#:#edit_introduction#:#Edit Introduction###26 08 2024 new variable +assessment#:#edit_concluding_remarks#:#Edit Concluding Remarks###30 04 2024 new variable +assessment#:#edit_introduction#:#Edit Introduction###30 04 2024 new variable assessment#:#edit_question#:#Modifica domanda -assessment#:#edit_score#:#Edit Score###29 10 2025 new variable +assessment#:#edit_score#:#Edit Score###28 11 2025 new variable assessment#:#edit_test_questions#:#Editing domande assessment#:#element_height#:#Altezza minima assessment#:#element_height_info#:#Questa e' la minima altezza, in pixel, dell'output di testo relativo a termini e definizioni - immagini.
-assessment#:#enable_examview#:#Enable Exam View -assessment#:#enable_examview_desc#:#Enables the view of the test in the shape of an exam at the end of the pass, prior to submission. +assessment#:#enable_examview#:#Abilita vista esame +assessment#:#enable_examview_desc#:#Abilita la visualizzazione del test sotto forma di esame alla fine del passaggio, prima dell'invio. assessment#:#end_tag#:#Tag di fine assessment#:#enlarge#:#Allargare assessment#:#enter_anonymous_code#:#Inserire codice accesso anonimo assessment#:#enter_enough_positive_points#:#Il punteggio massimo della domanda deve essere maggiore di 0! Per favore aggiungi abbastanza punteggi positivi per le risposte! -assessment#:#enter_enough_positive_points_checked#:#At least one answer needs to score. Please enter a positive score for the selection of an answer.###07 02 2020 new variable +assessment#:#enter_enough_positive_points_checked#:#Almeno una risposta deve essere valutata. Per favore inserisci un punteggio positivo per una delle risposte selezionate. assessment#:#enter_valid_values#:#Si prega di inserire un valore valido. I caratteri saranno valutati come errati! assessment#:#errFormulaQuestion#:#Una formula di domanda contiene informazioni errate!! assessment#:#errRecursionInResult#:#La formula contiene una ricorsione infinita. assessment#:#err_category_in_use#:#Non è possibile eliminare alcuna categoria. Una o più unità di categoria sono ancora in uso. -assessment#:#err_divider_too_big#:#The divider of one of the variables in this question is too big.###29 07 2022 new variable -assessment#:#err_divider_too_big_specific#:#The divider of this variable is too big.###29 10 2025 new variable -assessment#:#err_division#:#The value you chose would make it impossible to generate a valid value for the variable.###29 07 2022 new variable +assessment#:#err_divider_too_big#:#The divider of one of the variables in this question is too big.###09 03 2022 new variable +assessment#:#err_divider_too_big_specific#:#The divider of this variable is too big.###04 11 2025 new variable +assessment#:#err_division#:#This value has to be smaller than the maximum range.###09 03 2022 new variable assessment#:#err_duplicate_results#:#È stata utilizzata una variabile di risultato più di una volta. Questo non è consentito nel testo della domanda. assessment#:#err_no_formula#:#Devi digitare una formula assessment#:#err_no_numeric_value#:#Per favore inserisci un valore numerico assessment#:#err_range#:#La portata massima deve essere maggiore dell’intervallo minimo assessment#:#err_rating_advanced_not_allowed#:#Non è consentita un’altra valutazione da semplice poiché si offrono più unità di risultato con un’unità base identica. -assessment#:#err_unit_in_results#:#The unit cannot be deleted. It is aleady in use in one or more test questions. -assessment#:#err_unit_in_variables#:#The unit cannot be deleted. It is aleady in use in one or more test questions. +assessment#:#err_unit_in_results#:#L'unità non può essere eliminata. È già in uso in una o più domande di prova. +assessment#:#err_unit_in_variables#:#L'unità non può essere eliminata. È già in uso in una o più domande di prova. assessment#:#err_unit_is_baseunit#:#L’unità non può essere eliminata. Viene utilizzato come unità di base da altre unità. assessment#:#err_wrong_categoryname#:#La categoria esiste già. assessment#:#err_wrong_rating_advanced#:#Si prega di assicurarsi che l’aggiunta delle impostazioni di valutazione avanzate sia pari al 100 per cento -assessment#:#error_creating_certificate_zip_empty#:#No data for export.###26 08 2024 new variable +assessment#:#error_creating_certificate_zip_empty#:#No data for export.###30 04 2024 new variable assessment#:#error_importing_question#:#Si è verificato un errore nell'importazione delle domande dal file che hai selezionato! assessment#:#error_open_image_file#:#Errore nell'apertura dell'immagine! assessment#:#error_random_question_generation#:#Un errore fatale si è verificato durante la generazione delle domande casuali per il vostro test.
Si prega contattare l'amministratore con la seguente informazione: The system could not create an active ID for user ID %s and test ID %s. @@ -674,38 +673,38 @@ assessment#:#essay_scoring_mode_without_keywords#:#Nessun punteggio automatico assessment#:#essay_scoring_mode_without_keywords_desc#:#Non viene assegnato alcun punteggio a meno che non si tratti del punteggio del manuale del tutor. assessment#:#eval_all_users#:#Valutazione per tutti gli utenti assessment#:#eval_legend_link#:#Per il significato dei simboli nella testata, vedi la legenda. -assessment#:#evaluated_users#:#Evaluated Users###07 02 2020 new variable -assessment#:#exam_id#:#Exam Id: -assessment#:#exam_id_label#:#Exam Id###29 07 2022 new variable -assessment#:#exam_id_of_attempt#:#ID of Attempt###28 10 2024 new variable -assessment#:#examid_in_test_pass#:#Display Testpass ID -assessment#:#examid_in_test_pass_desc#:#A testpass ID is diplayed in the test. A new ID is generated for every testpass. -assessment#:#examid_in_test_res#:#ILIAS Testpass ID -assessment#:#examid_in_test_res_desc#:#The ILIAS Testpass ID will be included in the test results. -assessment#:#exp_all_test_runs#:#All test attempts###26 08 2024 new variable +assessment#:#evaluated_users#:#Utenti valutati +assessment#:#exam_id#:#Numero identificativo esame: +assessment#:#exam_id_label#:#Identificatore dell'Esame +assessment#:#exam_id_of_attempt#:#ID of Attempt###28 11 2025 new variable +assessment#:#examid_in_test_pass#:#Mostra numero identificativo esame (ID) +assessment#:#examid_in_test_pass_desc#:#Nel test viene visualizzato un ID dell'esame. Viene generato un nuovo ID per ogni esame sostenuto. +assessment#:#examid_in_test_res#:#Mostra numero identificativo esame (ID) +assessment#:#examid_in_test_res_desc#:#L'ID dell'esame ILIAS verrà incluso nei risultati del test. +assessment#:#exp_all_test_runs#:#All test attempts###30 04 2024 new variable assessment#:#exp_eval_data#:#Esporta i dati con le valutazioni in formato -assessment#:#exp_file_created#:#Esporta file creato. -assessment#:#exp_grammar_as#:#as###26 08 2024 new variable -assessment#:#exp_scored_test_attempt#:#Scored Test Attempt###28 10 2024 new variable +assessment#:#exp_file_created#:#Creato file da esportare. +assessment#:#exp_grammar_as#:#as###30 04 2024 new variable +assessment#:#exp_scored_test_attempt#:#Scored Test Attempt###28 11 2025 new variable assessment#:#exp_type_certificate#:#Certificato (PDF) -assessment#:#exp_type_excel#:#MS Excel +assessment#:#exp_type_excel#:#Microsoft Excel assessment#:#exp_type_spss#:#Valori separati da una virgola (CSV) assessment#:#expected_result_type#:#Tipo di risultato previsto -assessment#:#export_cert_failed_for_users_p#:#No certificate file could be generated and added for the following %s accounts: %s. Please contact an administrator to check the log file.###26 08 2024 new variable -assessment#:#export_cert_failed_for_users_s#:#No certificate file could be generated and added to the archive for the following account: %s. Please contact an administrator to check the log file.###26 08 2024 new variable -assessment#:#export_cert_ignored_for_users_p#:#The following %s accounts did not achieve a certificate, or the certificate service is not enabled/activate: %s###26 08 2024 new variable -assessment#:#export_cert_ignored_for_users_s#:#The following account did not achieve a certificate, or the certificate service is not enabled/activate: %s###26 08 2024 new variable -assessment#:#export_cert_no_users#:#A certificate archive cannot be created due to missing test participants.###26 08 2024 new variable +assessment#:#export_cert_failed_for_users_p#:#No certificate file could be generated and added for the following %s accounts: %s. Please contact an administrator to check the log file.###30 04 2024 new variable +assessment#:#export_cert_failed_for_users_s#:#No certificate file could be generated and added to the archive for the following account: %s. Please contact an administrator to check the log file.###30 04 2024 new variable +assessment#:#export_cert_ignored_for_users_p#:#The following %s accounts did not achieve a certificate, or the certificate service is not enabled/activate: %s###30 04 2024 new variable +assessment#:#export_cert_ignored_for_users_s#:#The following account did not achieve a certificate, or the certificate service is not enabled/activate: %s###30 04 2024 new variable +assessment#:#export_cert_no_users#:#A certificate archive cannot be created due to missing test participants.###30 04 2024 new variable assessment#:#export_essay_qst_with_html#:#Esporta le domande con il codice HTML assessment#:#export_essay_qst_with_html_desc#:#Se attivato, è possibile esportare le domande in Excel con HTML. -assessment#:#export_legacy_logs#:#Legacy Log-Daten exportieren###26 08 2024 new variable -assessment#:#extra_time_byline#:#Put in extra time in minutes. Already entered extra time is added up.###28 10 2024 new variable -assessment#:#extra_time_for_all_participants#:#You are adding some extra time to all participants.###28 10 2024 new variable -assessment#:#extra_time_for_selected_participants#:#You are adding extra time to the selected participants.###28 10 2024 new variable -assessment#:#extra_time_for_selected_participants_different#:#You have selected participants with different additional times.###28 10 2024 new variable -assessment#:#extra_time_for_single_participant#:#Your are adding extra time to the following participant:###28 10 2024 new variable +assessment#:#export_legacy_logs#:#Export Legacy Log Data###28 11 2025 new variable +assessment#:#extra_time_byline#:#Put in extra time in minutes. Already entered extra time is added up.###28 11 2025 new variable +assessment#:#extra_time_for_all_participants#:#You are adding some extra time to all participants.###28 11 2025 new variable +assessment#:#extra_time_for_selected_participants#:#You are adding extra time to the selected participants.###28 11 2025 new variable +assessment#:#extra_time_for_selected_participants_different#:#You have selected participants with different additional times.###28 11 2025 new variable +assessment#:#extra_time_for_single_participant#:#Your are adding extra time to the following participant:###28 11 2025 new variable assessment#:#extratime#:#Tempo supplementare -assessment#:#extratime_added#:#The extra time has been added to the selected participants.###28 10 2024 new variable +assessment#:#extratime_added#:#The extra time has been added to the selected participants.###28 11 2025 new variable assessment#:#factor#:#Fattore assessment#:#failed_official#:#Respinto assessment#:#failed_short#:#Respinto @@ -728,83 +727,83 @@ assessment#:#filter_show_question_types#:#Filtra in base al tipo domande assessment#:#filter_show_questionpools#:#Filtra in base ai pool domande assessment#:#final_statement#:#Giudizio finale assessment#:#final_statement_show_desc#:#Se selezionato, il giudizio finale verrà mostrato subito dopo il test prima della presentazione del risultato.
-assessment#:#finalized_by#:#Completed by###07 02 2020 new variable -assessment#:#finalized_evaluation#:#Scoring completed###07 02 2020 new variable -assessment#:#finalized_on#:#Completed at###07 02 2020 new variable +assessment#:#finalized_by#:#Valutazione completata da +assessment#:#finalized_evaluation#:#Valutazione completata +assessment#:#finalized_on#:#Valutazione completata il assessment#:#finish_all_user_passes#:#Termina tutti i passaggi del test assessment#:#finish_pass_for_all_users#:#Sei sicuro di voler terminare questi passaggi del test per tutti gli utenti? -assessment#:#finish_pass_for_multiple_users_in_processing_time#:#You cannot finish the passes of all users together, because for at least one user the processing time is not over yet.###26 08 2024 new variable +assessment#:#finish_pass_for_multiple_users_in_processing_time#:#You cannot finish the passes of the selected users together, because for at least one selected user the processing time is not over yet.###28 11 2025 new variable assessment#:#finish_pass_for_user_confirmation#:#Sei sicuro di voler terminare questo passaggio del test? -assessment#:#finish_pass_for_user_in_processing_time#:#WARNING: the processing time for this user is not over yet! You should only end the test run if there is a compelling reason (e.g. exclusion from the test).###26 08 2024 new variable +assessment#:#finish_pass_for_user_in_processing_time#:#WARNING: the processing time for this user is not over yet! You should only end the test run if there is a compelling reason (e.g. exclusion from the test).###09 03 2022 new variable assessment#:#finish_test#:#Finisci il test -assessment#:#finish_test_all#:#Are you sure you want to finish the test attempts for all users?###28 10 2024 new variable -assessment#:#finish_test_more_than_one_selected#:#Only a single participant may be selected to finish the pass if the test allows only one pass.###29 10 2025 new variable -assessment#:#finish_test_multiple#:#Are you sure you want to finish the test attempts for the following participants?###28 10 2024 new variable -assessment#:#finish_test_no_valid_participants_selected#:#There are no active test runs for the selected participants, so they cannot be completed.###29 10 2025 new variable -assessment#:#finish_test_single#:#Are you sure you want to finish the test attempt for the participant "%s"?###28 10 2024 new variable +assessment#:#finish_test_all#:#Are you sure you want to finish the test attempts for all users?###28 11 2025 new variable +assessment#:#finish_test_more_than_one_selected#:#Only a single participant may be selected to finish the pass if the test allows only one pass.###28 11 2025 new variable +assessment#:#finish_test_multiple#:#Are you sure you want to finish the test attempts for the following participants?###28 11 2025 new variable +assessment#:#finish_test_no_valid_participants_selected#:#There are no active test runs for the selected participants, so they cannot be completed.###28 11 2025 new variable +assessment#:#finish_test_single#:#Are you sure you want to finish the test attempt for the participant "%s"?###28 11 2025 new variable assessment#:#finish_unfinished_passes#:#Termina passaggi aperti assessment#:#finish_unfinished_passes_desc#:#I passaggi che hanno un tempo di finitura o un limite di durata configurato verranno chiusi da questo cron job. -assessment#:#finished_by_administrator#:#Finished by Administrator###28 10 2024 new variable -assessment#:#finished_by_cronjob#:#Finished by Cronjob###28 10 2024 new variable -assessment#:#finished_by_duration#:#Finished by time limit###28 10 2024 new variable -assessment#:#finished_by_participant#:#Finished by Participant###28 10 2024 new variable -assessment#:#finished_by_unknown#:#Finished by Unknown###28 10 2024 new variable +assessment#:#finished_by_administrator#:#Finished by Administrator###28 11 2025 new variable +assessment#:#finished_by_cronjob#:#Finished by Cronjob###28 11 2025 new variable +assessment#:#finished_by_duration#:#Finished by time limit###28 11 2025 new variable +assessment#:#finished_by_participant#:#Finished by Participant###28 11 2025 new variable +assessment#:#finished_by_unknown#:#Finished by Unknown###28 11 2025 new variable assessment#:#fixed_participants_hint#:#Questo test è disponibile solo per determinato numero di partecipanti indicato qui sotto. Puoi cambiare questa impostazione cambiando il numero dei partecipanti nel seguente %s menù. -assessment#:#fixedparticipants_subtab#:#Manually Selected Participants +assessment#:#fixedparticipants_subtab#:#Partecipanti selezionati manualmente assessment#:#flashfile#:#File Flash assessment#:#for#:#per assessment#:#forcejs#:#Forza l'output JavaScript per questa domanda -assessment#:#form_msg_area_missing_points#:#Ti preghiamo di inserire punti per tutti i settori. +assessment#:#form_msg_area_missing_points#:#Suggerimenti per inserire punti per tutti i settori. assessment#:#formula#:#Formula -assessment#:#fq_formula_desc#:#You may enter predefined variables ($v1 to $vn), defined results (e.g. $r1), braces for expressions, mathematical operators + (addition), - (subtraction), * (multiplication), / (division), ^ (nth power), the constants 'pi' for pi and 'e‘ for euler's constant, as well as the functions 'sin', 'sinh', 'arcsin', 'asin', 'arcsinh', 'asinh', 'cos', 'cosh', 'arccos', 'acos', 'arccosh', 'acosh', 'tan', 'tanh', 'arctan', 'atan', 'arctanh', 'atanh', 'sqrt', 'abs', 'ln' and 'log'. +assessment#:#fq_formula_desc#:#È possibile inserire variabili predefinite (da $ v1 a $ vn), risultati definiti (ad esempio $ r1), parentesi graffe per le espressioni, operatori matematici + (addizione), - (sottrazione), * (moltiplicazione), / (divisione), ^ (nth potere), le costanti 'pi' per pi ed 'e' per la costante di Eulero, così come le funzioni 'sin', 'sinh', 'arcsin', 'asin', 'arcsinh', 'asinh', 'cos' , 'cosh', 'arccos', 'acos', 'arccosh', 'acosh', 'tan', 'tanh', 'arctan', 'atan', 'arctanh', 'atanh', 'sqrt', ' abs ',' ln 'e' log '. assessment#:#fq_no_restriction_info#:#Entrambi i decimali e le frazioni sono accettati come input. assessment#:#fq_precision_info#:#Digita il numero delle posizioni decimali desiderate. -assessment#:#fq_question_desc#:#You can define variables by inserting $v1, $v2 ... $vn, results by inserting $r1, $r2 .... $rn at the desired position in the question text. Click on the button "Parse Question" to create editing forms for variables and results. +assessment#:#fq_question_desc#:#È possibile definire le variabili inserendo $ v1, $ v2 ... $ vn, i risultati inserendo $ r1, $ r2 .... $ rn nella posizione desiderata nel testo della domanda. Fare clic sul pulsante "Analizza domanda" per creare moduli di modifica per variabili e risultati. assessment#:#gap#:#Spazio vuoto assessment#:#gap_combination#:#Combinazione di Gap -assessment#:#gaps#:#Gaps###29 10 2025 new variable +assessment#:#gaps#:#Gaps###28 11 2025 new variable assessment#:#glossary_term#:#Voce del glossario -assessment#:#goto_first_question#:#Show First Question###29 10 2025 new variable -assessment#:#grading_mark_msg#:#Your resulting mark is: "[mark]" +assessment#:#goto_first_question#:#Show first question###28 11 2025 new variable +assessment#:#grading_mark_msg#:#Il tuo punteggio risultante è: "[mark]" assessment#:#grading_status_failed_msg#:#Spiacente, non hai superato il test. assessment#:#grading_status_passed_msg#:#Congratulazioni, hai superato il test. -assessment#:#hide_best_solution#:#Hide best solution###28 10 2024 new variable +assessment#:#hide_best_solution#:#Hide best solution###28 11 2025 new variable assessment#:#identical_scoring#:#Punteggio identico assessment#:#identical_scoring_desc#:#Se selezionate, le mancanze con soluzioni identiche verranno valutate secondo le impostazioni vigenti anche se sono state scelte due volte. Se il quadratino non è stato spuntato verrà valutata solo la prima risposta uguale. assessment#:#imagemap#:#Mappa immagine -assessment#:#imap_line_color#:#Imagemap Line Color +assessment#:#imap_line_color#:#Image Map Line Color###28 11 2025 new variable assessment#:#import_question#:#Importa domande -assessment#:#in_range#:#Within range###26 08 2024 new variable -assessment#:#in_trash#:#In Trash###26 08 2024 new variable +assessment#:#in_range#:#Within range###30 04 2024 new variable +assessment#:#in_trash#:#In Trash###28 11 2025 new variable assessment#:#info_answer_type_change#:#La domanda contiene già delle immagini. Non puoi modificare il tipo di risposta in risposte multilinea. -assessment#:#info_text_upload#:#Choose an answer file to upload +assessment#:#info_text_upload#:#Scegli un file di risposte da caricare assessment#:#insert_after#:#Inserisci dopo assessment#:#insert_before#:#Inserisci prima assessment#:#insert_gap#:#Inserisci Gap -assessment#:#interaction_type#:#Interaction Type###26 08 2024 new variable +assessment#:#interaction_type#:#Interaction Type###28 11 2025 new variable assessment#:#internal_links#:#Link interni assessment#:#intprecision#:#Divisibile per -assessment#:#intprecision_info#:#"Divisible by" affects only the creation of variables, if the value for the precision is 0. In this case, you define for "Divisible by" an integer value, which must be divisible by with the created variable. A value of 10 thus generates only integers that are divisible by 10. A value of 5 produces integers that are divisible by 5, etc. For a precision of 0, "Divisible by" is a mandatory field and must contain a positive integer. The default value is 1 for any integers. -assessment#:#invalid_ip#:#Invalid IP###26 08 2024 new variable -assessment#:#ip_range_byline#:#Only IP addresses within the defined range can start the test. You can either use IPv4 OR IPv6 addresses.###28 10 2024 new variable -assessment#:#ip_range_for_all_participants#:#You are changing the IP Range of all participants###28 10 2024 new variable -assessment#:#ip_range_for_selected_participants#:#You are changing the IP Range of the following participant.###28 10 2024 new variable -assessment#:#ip_range_for_single_participant#:#You are changing the IP Range of the selected participants.###28 10 2024 new variable -assessment#:#ip_range_info#:#Only clients with an IP in the provided range will be able to access the test.###26 08 2024 new variable -assessment#:#ip_range_label#:#IP Range###26 08 2024 new variable -assessment#:#ip_range_updated#:#The IP-Range has been update for the selected participants.###28 10 2024 new variable -assessment#:#kiosk#:#Modalità Kiosk +assessment#:#intprecision_info#:#"Divisibile per" influenza solo la creazione di variabili, se il valore per la precisione è 0. In questo caso, si definisce per "Divisibile per" un valore intero, che deve essere divisibile per la variabile creata. Un valore di 10 genera quindi solo numeri interi che sono divisibili per 10. Un valore di 5 produce numeri interi che sono divisibili per 5, ecc. Per una precisione di 0, "Divisibile per" è un campo obbligatorio e deve contenere un numero intero positivo. Il valore predefinito è 1 per qualsiasi numero intero. +assessment#:#invalid_ip#:#Invalid IP###28 11 2025 new variable +assessment#:#ip_range_byline#:#Only IP addresses within the defined range can start the test. You can either use IPv4 OR IPv6 addresses.###28 11 2025 new variable +assessment#:#ip_range_for_all_participants#:#You are changing the IP Range of all participants###28 11 2025 new variable +assessment#:#ip_range_for_selected_participants#:#You are changing the IP Range of the following participant.###28 11 2025 new variable +assessment#:#ip_range_for_single_participant#:#You are changing the IP Range of the selected participants.###28 11 2025 new variable +assessment#:#ip_range_info#:#Only clients with an IP in the provided range will be able to access the test.###28 11 2025 new variable +assessment#:#ip_range_label#:#IP Range###28 11 2025 new variable +assessment#:#ip_range_updated#:#The IP-Range has been update for the selected participants.###28 11 2025 new variable +assessment#:#kiosk#:#Visione esame assessment#:#kiosk_description#:#Fai partire il test in Kiosk Mode. Tutti gli elementi che non fanno parte di questo test verranno nascosti per evitare che gli utenti abbandonino il test. -assessment#:#kiosk_options#:#Opzioni Modalità Kiosk +assessment#:#kiosk_options#:#Informazioni mostrate assessment#:#kiosk_options_desc#:#Seleziona se il titolo del test e/o il nome dei partecipanti attuali durante il Kiosk Mode debbano essere visibili in testa alla pagina. assessment#:#kiosk_show_participant#:#Mostra il nome del partecipante assessment#:#kiosk_show_title#:#Mostra il titolo del test -assessment#:#kprim_answers_info#:#The multiple choice question type "four times decision right/wrong" (Type K', also known as Kprim) gives four answers or additions to a question or an incomplete statement. A decision about the correctness is to be done on all four answers/additions. The maximum points are granted only, if all decisions are correct. +assessment#:#kprim_answers_info#:#Il tipo di domanda a scelta multipla "decisione quattro volte giusto / sbagliato" (tipo K ', noto anche come Kprim) fornisce quattro risposte o aggiunte a una domanda o un'istruzione incompleta. Una decisione sulla correttezza deve essere presa su tutte e quattro le risposte / aggiunte. Il punteggio massimo viene concesso solo se tutte le decisioni sono corrette. assessment#:#kprim_instruction_text#:#Dovete decidere su ogni affermazione: [%s] o [%s] assessment#:#lacex_assClozeTest_NumberOfResultExpression_d#:#La quarta opzione di risposta è uno spazio selezionato ed è stata selezionata la seconda opzione assessment#:#lacex_assClozeTest_NumberOfResultExpression_e#:#R[4] = +2+ assessment#:#lacex_assClozeTest_NumericResultExpression_d#:#La seconda opzione di risposta è un spazio numerico ed è stato risolto con valore numerico di 5 -assessment#:#lacex_assClozeTest_NumericResultExpression_e#:#R[2] = +assessment#:#lacex_assClozeTest_NumericResultExpression_e#:#R[2] = #5# assessment#:#lacex_assClozeTest_StringResultExpression_1_d#:#La prima opzione di risposta è una spazio di testo ed è stato risolto con “Lunedì” assessment#:#lacex_assClozeTest_StringResultExpression_1_e#:#R[1] = ~Lunedì~ assessment#:#lacex_assClozeTest_StringResultExpression_2_d#:#La quarta opzione di risposta è uno spazio selezionato ed è stata selezionata l’etichetta opzionale come “Verde” @@ -814,19 +813,19 @@ assessment#:#lacex_assErrorText_ExclusiveResultExpression_e#:#R = *1,3,4* assessment#:#lacex_assErrorText_NumberOfResultExpression_d#:#Rispondendo alla domanda è stata scelta la seconda opzione di risposta assessment#:#lacex_assErrorText_NumberOfResultExpression_e#:#R = +2+ assessment#:#lacex_assFormulaQuestion_NumericResultExpression_d#:#La prima opzione di risposta è stata risolta con il valore numerico di 3.14159 -assessment#:#lacex_assFormulaQuestion_NumericResultExpression_e#:#R[1] = +assessment#:#lacex_assFormulaQuestion_NumericResultExpression_e#:#R[1] = #3.14159# assessment#:#lacex_assImagemapQuestion_ExclusiveResultExpression_d#:#Esattamente le opzioni di risposta 1, 3 e 4 sono state scelte durante la risposta alla domanda assessment#:#lacex_assImagemapQuestion_ExclusiveResultExpression_e#:#R = *1,3,4* assessment#:#lacex_assImagemapQuestion_NumberOfResultExpression_d#:#Rispondendo alla domanda è stata scelta la seconda opzione di risposta assessment#:#lacex_assImagemapQuestion_NumberOfResultExpression_e#:#R = +2+ -assessment#:#lacex_assMatchingQuestion_MatchingResultExpression_d#:#The question's terms were assigned to defintions as follows: 1 => 2 and 2 => 3 and 3 => 1 +assessment#:#lacex_assMatchingQuestion_MatchingResultExpression_d#:#I termini della domanda sono stati assegnati alle definizioni come segue: 1 => 2 e 2 => 3 e 3 => 1 assessment#:#lacex_assMatchingQuestion_MatchingResultExpression_e#:#R = ;1:2; & R = ;2:3; & R = ;3:1; assessment#:#lacex_assMultipleChoice_ExclusiveResultExpression_d#:#Esattamente le opzioni di risposta 1, 3 e 4 sono state scelte durante la risposta alla domanda assessment#:#lacex_assMultipleChoice_ExclusiveResultExpression_e#:#R = *1,3,4* assessment#:#lacex_assMultipleChoice_NumberOfResultExpression_d#:#Rispondendo alla domanda è stata scelta la seconda opzione di risposta assessment#:#lacex_assMultipleChoice_NumberOfResultExpression_e#:#R = +2+ assessment#:#lacex_assNumeric_NumericResultExpression_d#:#La domanda è stata risolta con il valore numerico di 4.7 -assessment#:#lacex_assNumeric_NumericResultExpression_e#:#R = +assessment#:#lacex_assNumeric_NumericResultExpression_e#:#R = #4.7# assessment#:#lacex_assOrderingHorizontal_OrderingResultExpression_d#:#Gli elementi della domanda sono stati ordinati come segue: 2, 5, 1, 4, 3 assessment#:#lacex_assOrderingHorizontal_OrderingResultExpression_e#:#R = $2,5,1,4,3$ assessment#:#lacex_assOrderingQuestion_OrderingResultExpression_d#:#Gli elementi della domanda sono stati ordinati come segue: 2, 5, 1, 4, 3 @@ -840,61 +839,61 @@ assessment#:#lacex_assSingleChoice_NumberOfResultExpression_e#:#R = +2+ assessment#:#lacex_assTextSubset_StringResultExpression_d#:#Per la seconda opzione di risposta è stata inserita la risposta "cloruro di sodio" assessment#:#lacex_assTextSubset_StringResultExpression_e#:#R [2] = ~ cloruro di sodio ~ assessment#:#lacex_example_header#:#Esempi -assessment#:#list_of_participants#:#Participants###28 10 2024 new variable +assessment#:#list_of_participants#:#Participants###28 11 2025 new variable assessment#:#locked#:#Bloccato -assessment#:#log_deletion_not_allowed#:#You don't have the necessary permissions to delete log entries.###26 08 2024 new variable -assessment#:#log_entry_type#:#Log Entry Type###26 08 2024 new variable -assessment#:#log_ip#:#Log IP###26 08 2024 new variable -assessment#:#log_ip_info#:#The IP of Participants is Logged for each interaction with a test. Disabling it does not delete existing IP records.###26 08 2024 new variable -assessment#:#log_participant_data_delete_warning#:#This test contains log data for participant interactions that will be deleted when changing the test to a test without names.###26 08 2024 new variable -assessment#:#log_text#:#Messaggio del report +assessment#:#log_deletion_not_allowed#:#You don't have the necessary permissions to delete log entries.###28 11 2025 new variable +assessment#:#log_entry_type#:#Log Entry Type###28 11 2025 new variable +assessment#:#log_ip#:#Log IP###28 11 2025 new variable +assessment#:#log_ip_info#:#The IP of Participants is Logged for each interaction with a test. Disabling it does not delete existing IP records.###28 11 2025 new variable +assessment#:#log_participant_data_delete_warning#:#This test contains log data for participant interactions that will be deleted when changing the test to a test without names.###28 11 2025 new variable +assessment#:#log_text#:#Log message###28 11 2025 new variable assessment#:#log_user_solution_willingly_deleted#:#L’utente ha eliminato la risposta. -assessment#:#logging_settings#:#Registrazione -assessment#:#logs_answer_deleted#:#Answer deleted###26 08 2024 new variable -assessment#:#logs_answer_submitted#:#Answer Submitted###26 08 2024 new variable -assessment#:#logs_deleted#:#I dati di registro per i testi selezionati sono stati eliminati -assessment#:#logs_error_on_participant_interaction#:#Error on Participant Interaction###26 08 2024 new variable -assessment#:#logs_error_on_question_administration_interaction#:#Error on Question Administration Interaction###26 08 2024 new variable -assessment#:#logs_error_on_scoring_interaction#:#Error on Scoring Interaction###26 08 2024 new variable -assessment#:#logs_error_on_test_administration_interaction#:#Error on Test Administration Interaction###26 08 2024 new variable -assessment#:#logs_error_on_undefined_interaction#:#Error on Undefined Interaction###26 08 2024 new variable -assessment#:#logs_extra_time_added#:#Extra Time Added###26 08 2024 new variable -assessment#:#logs_main_settings_modified#:#Main Settings Modified###26 08 2024 new variable -assessment#:#logs_mark_schema_modified#:#Mark Schema Modified###26 08 2024 new variable -assessment#:#logs_mark_schema_reset#:#Mark Schema Reset###26 08 2024 new variable -assessment#:#logs_new_test_created#:#New Test Created###26 08 2024 new variable -assessment#:#logs_output#:#Output dei dati di registro -assessment#:#logs_participant_data_removed#:#Participant Data Removed###26 08 2024 new variable -assessment#:#logs_pi#:#Participant Interaction###26 08 2024 new variable -assessment#:#logs_qai#:#Question Administration Interaction###26 08 2024 new variable -assessment#:#logs_question_added#:#Question Added###26 08 2024 new variable -assessment#:#logs_question_graded#:#Question Graded###26 08 2024 new variable -assessment#:#logs_question_grading_reset#:#Grading Reset###26 08 2024 new variable -assessment#:#logs_question_modified#:#Question Modified###26 08 2024 new variable -assessment#:#logs_question_modified_in_corrections#:#Question Modified in Corrections###26 08 2024 new variable -assessment#:#logs_question_moved#:#Question Moved###26 08 2024 new variable -assessment#:#logs_question_removed#:#Question Removed###26 08 2024 new variable -assessment#:#logs_question_removed_in_corrections#:#Question Removed in Corrections###26 08 2024 new variable -assessment#:#logs_question_selection_criteria_modified#:#Question Selection Criteria Modified###26 08 2024 new variable -assessment#:#logs_question_shown#:#Question Shown###26 08 2024 new variable -assessment#:#logs_question_skipped#:#Question Skipped###26 08 2024 new variable -assessment#:#logs_question_synchronisation_reset#:#Question Synchronisation Reset###26 08 2024 new variable -assessment#:#logs_questions_synchronised#:#Questions Synchonised###26 08 2024 new variable -assessment#:#logs_scoring_settings_modified#:#Scoring Settings Modified###26 08 2024 new variable -assessment#:#logs_si#:#Scoring Interaction###26 08 2024 new variable -assessment#:#logs_tai#:#Test Administration Interaction###26 08 2024 new variable -assessment#:#logs_te#:#Error###26 08 2024 new variable -assessment#:#logs_test_deleted#:#Test Deleted###26 08 2024 new variable -assessment#:#logs_test_run_finished#:#Test Run Finished###26 08 2024 new variable -assessment#:#logs_test_run_of_participant_closed#:#Run of Participant Closed###26 08 2024 new variable -assessment#:#logs_test_run_started#:#Test Run Started###26 08 2024 new variable -assessment#:#logs_wrong_test_password_provided#:#Il partecipante ha inserito una password sbagliata del test. -assessment#:#longmenu#:#Longmenu -assessment#:#longmenu_answeroptions_differ#:#This question does not work correctly, as there are not the same amount of gaps in the text as in the correction options.###26 08 2024 new variable -assessment#:#longmenu_text#:#Testo menu lungo -assessment#:#mainbar_button_label_questionlist#:#Questionlist###26 08 2024 new variable +assessment#:#logging_settings#:#Logging###28 11 2025 new variable +assessment#:#logs_answer_deleted#:#Answer deleted###28 11 2025 new variable +assessment#:#logs_answer_submitted#:#Answer Submitted###28 11 2025 new variable +assessment#:#logs_deleted#:#The selected Log Data has been deleted.###28 11 2025 new variable +assessment#:#logs_error_on_participant_interaction#:#Error on Participant Interaction###28 11 2025 new variable +assessment#:#logs_error_on_question_administration_interaction#:#Error on Question Administration Interaction###28 11 2025 new variable +assessment#:#logs_error_on_scoring_interaction#:#Error on Scoring Interaction###28 11 2025 new variable +assessment#:#logs_error_on_test_administration_interaction#:#Error on Test Administration Interaction###28 11 2025 new variable +assessment#:#logs_error_on_undefined_interaction#:#Error on Undefined Interaction###28 11 2025 new variable +assessment#:#logs_extra_time_added#:#Extra Time Added###28 11 2025 new variable +assessment#:#logs_main_settings_modified#:#Main Settings Modified###28 11 2025 new variable +assessment#:#logs_mark_schema_modified#:#Mark Schema Modified###28 11 2025 new variable +assessment#:#logs_mark_schema_reset#:#Mark Schema Reset###28 11 2025 new variable +assessment#:#logs_new_test_created#:#New Test Created###28 11 2025 new variable +assessment#:#logs_output#:#Log Data Output###28 11 2025 new variable +assessment#:#logs_participant_data_removed#:#Participant Data Removed###28 11 2025 new variable +assessment#:#logs_pi#:#Participant Interaction###28 11 2025 new variable +assessment#:#logs_qai#:#Question Administration Interaction###28 11 2025 new variable +assessment#:#logs_question_added#:#Question Added###28 11 2025 new variable +assessment#:#logs_question_graded#:#Question Graded###28 11 2025 new variable +assessment#:#logs_question_grading_reset#:#Grading Reset###28 11 2025 new variable +assessment#:#logs_question_modified#:#Question Modified###28 11 2025 new variable +assessment#:#logs_question_modified_in_corrections#:#Question Modified in Corrections###28 11 2025 new variable +assessment#:#logs_question_moved#:#Question Moved###28 11 2025 new variable +assessment#:#logs_question_removed#:#Question Removed###28 11 2025 new variable +assessment#:#logs_question_removed_in_corrections#:#Question Removed in Corrections###28 11 2025 new variable +assessment#:#logs_question_selection_criteria_modified#:#Question Selection Criteria Modified###28 11 2025 new variable +assessment#:#logs_question_shown#:#Question Shown###28 11 2025 new variable +assessment#:#logs_question_skipped#:#Question Skipped###28 11 2025 new variable +assessment#:#logs_question_synchronisation_reset#:#Question Synchronisation Reset###28 11 2025 new variable +assessment#:#logs_questions_synchronised#:#Questions Synchonised###28 11 2025 new variable +assessment#:#logs_scoring_settings_modified#:#Scoring Settings Modified###28 11 2025 new variable +assessment#:#logs_si#:#Scoring Interaction###28 11 2025 new variable +assessment#:#logs_tai#:#Test Administration Interaction###28 11 2025 new variable +assessment#:#logs_te#:#Error###28 11 2025 new variable +assessment#:#logs_test_deleted#:#Test Deleted###28 11 2025 new variable +assessment#:#logs_test_run_finished#:#Test Run Finished###28 11 2025 new variable +assessment#:#logs_test_run_of_participant_closed#:#Run of Participant Closed###28 11 2025 new variable +assessment#:#logs_test_run_started#:#Test Run Started###28 11 2025 new variable +assessment#:#logs_wrong_test_password_provided#:#Participant entered wrong test password.###28 11 2025 new variable +assessment#:#longmenu#:#Menù esteso +assessment#:#longmenu_answeroptions_differ#:#This question does not work correctly, as there are not the same amount of gaps in the text as in the correction options.###28 07 2023 new variable +assessment#:#longmenu_text#:#Testo menu esteso +assessment#:#mainbar_button_label_questionlist#:#Questionlist###30 04 2024 new variable assessment#:#maintenance#:#Manutenzione -assessment#:#manscoring#:#Impostazione manuale +assessment#:#manscoring#:#Punteggio manuale assessment#:#manscoring_done#:#Partecipanti Valutati assessment#:#manscoring_hint#:#Hai inserito almeno una domanda che necessita del punteggio manuale. Per garantire un test valido si raccomanda l'accesso ai risultati solo dopo un certo giorno/ora. assessment#:#manscoring_none#:#Partecipanti non valutati @@ -902,7 +901,7 @@ assessment#:#manscoring_not_allowed#:#Il punteggio manuale non è stato attivato assessment#:#manscoring_questions_not_found#:#Questo test contiene domande che non possono essere valutate manualmente. assessment#:#manscoring_results_pass#:#Impostazione manuale delle domande per uno svolgimento del test del %s assessment#:#manual_editing#:#Modifica manuale -assessment#:#manual_entry#:#Manual Entry###28 10 2024 new variable +assessment#:#manual_entry#:#Manual Entry###28 11 2025 new variable assessment#:#mark_schema#:#Schema voti assessment#:#mark_schema_invalid#:#Lo schema dei voti non è valido. Si prega di creare uno schema corretto. assessment#:#matches#:#corrisponde @@ -913,59 +912,59 @@ assessment#:#matching_shuffle_terms_definitions#:#Entrambi (Termini e Definizion assessment#:#matching_type#:#Sottogruppo di domande corrispondenti assessment#:#material#:#Materiale assessment#:#material_file#:#File di materiale -assessment#:#max_ip_label#:#Highest IP With Access###26 08 2024 new variable +assessment#:#max_ip_label#:#Highest IP With Access###28 11 2025 new variable assessment#:#maxchars#:#Numero massimo di caratteri -assessment#:#maximum_nr_of_tries_reached#:#Hai raggiunto il numero massimo di tentativi per questo test. Il test non pu& +assessment#:#maximum_nr_of_tries_reached#:#Hai raggiunto il numero massimo di passaggi per questo test. Il test non può essere inserito! assessment#:#maximum_points#:#Punteggio massimo disponibile assessment#:#maxsize#:#massima dimensione file di upload assessment#:#maxsize_info#:#Inserire la massima dimensione in, bytes, dei files da caricare. Se il campo è lasciato in bianco, la dimensione sarà definita dal sistema. assessment#:#min_auto_complete#:#Completamento automatico -assessment#:#min_ip_label#:#Lowest IP With Access###26 08 2024 new variable +assessment#:#min_ip_label#:#Lowest IP With Access###28 11 2025 new variable assessment#:#min_percentage_ne_0#:#Devi raggiungere la percentuale minima dello 0 percento! Lo schema voti non e' stato salvato. assessment#:#misc#:#Opzioni varie -assessment#:#mode_allatonce#:#All###29 10 2025 new variable -assessment#:#mode_onebyone#:#One by One###29 10 2025 new variable -assessment#:#mode_question#:#Question oriented###29 10 2025 new variable -assessment#:#mode_user#:#Participant oriented###29 10 2025 new variable +assessment#:#mode_allatonce#:#All###28 11 2025 new variable +assessment#:#mode_onebyone#:#One by One###28 11 2025 new variable +assessment#:#mode_question#:#Question oriented###28 11 2025 new variable +assessment#:#mode_user#:#Participant oriented###28 11 2025 new variable assessment#:#msg_circle_added#:#Circonferenza aggiunta -assessment#:#msg_no_questions_selected#:#No questions were selected.###26 08 2024 new variable +assessment#:#msg_no_questions_selected#:#No questions were selected.###30 04 2024 new variable assessment#:#msg_number_of_terms_too_low#:#Il numero dei termini deve essere maggiore o uguale al numero delle definizioni assessment#:#msg_poly_added#:#Aggiunto poligono assessment#:#msg_questions_moved#:#Domanda(e) spostata(e) assessment#:#msg_rect_added#:#Aggiunto rettangolo -assessment#:#msg_score_settings_modified_and_recalc#:#Your changes were saved and the results recalculated correspondingly.###26 08 2024 new variable -assessment#:#msg_score_settings_not_modified#:#Your changes were not saved.###26 08 2024 new variable +assessment#:#msg_score_settings_modified_and_recalc#:#Your changes were saved and the results recalculated correspondingly.###14 02 2024 new variable +assessment#:#msg_score_settings_not_modified#:#Your changes were not saved.###14 02 2024 new variable assessment#:#msg_selected_for_move#:#Domanda(e) selezionata(e) per lo spostamento assessment#:#new_category#:#Nuova categoria di unità assessment#:#new_unit#:#Nuova unità assessment#:#next_question#:#Domanda successiva assessment#:#next_question_rows#:#Domande %d - %d di %d >> -assessment#:#no_manual_feedback_export_info#:#Manual feedbacks will not be exported.###26 08 2024 new variable -assessment#:#no_passed_after_failed#:#Failing marks cannot have a higher minimum level than any passing mark.###29 10 2025 new variable +assessment#:#no_manual_feedback_export_info#:#Manual feedbacks will not be exported.###13 09 2023 new variable +assessment#:#no_passed_after_failed#:#Failing marks cannot have a higher minimum level than any passing mark.###28 11 2025 new variable assessment#:#no_passed_mark#:#Devi scegliere almeno un voto come SUPERATO! Lo schema voti non e' stato salvato. assessment#:#no_question_selected_for_move#:#Per favore seleziona almeno una domanda da spostare! assessment#:#no_questions_available#:#Non ci sono domande disponibili! -assessment#:#no_result_type#:#Select No Result Type +assessment#:#no_result_type#:#Seleziona Nessun tipo di risultato assessment#:#no_selection#:#--- Nessuna Selezione --- assessment#:#no_selection_for_move#:#Nessuna domanda selezionata per lo spostamento assessment#:#no_target_selected_for_move#:#Devi selezionare la posizione d'inserimento! assessment#:#no_user_or_group_selected#:#Per favore indica in che campo (utenti e/o gruppi) far partire la ricerca! -assessment#:#no_valid_participant_selection#:#No valid Participants selected.###28 10 2024 new variable -assessment#:#not_evaluated_users#:#Not Yet Evaluated User###07 02 2020 new variable -assessment#:#not_started#:#Not started yet###28 10 2024 new variable +assessment#:#no_valid_participant_selection#:#No valid Participants selected.###28 11 2025 new variable +assessment#:#not_evaluated_users#:#Utente non ancora valutato +assessment#:#not_started#:#Not started yet###28 11 2025 new variable assessment#:#not_yet_accessed#:#Nessun accesso per il momento assessment#:#nr_of_correct_answers#:#Numero di risposte volute assessment#:#number_of_answers#:#Numero di risposte assessment#:#numeric_gap#:#Mancanza numerica -assessment#:#old_mark_default_not_applied#:#The marks from your personal settings could not be applied as they use an old format. All other settings have been updated.###29 10 2025 new variable +assessment#:#old_mark_default_not_applied#:#The marks from your personal settings could not be applied as they use an old format. All other settings have been updated.###28 11 2025 new variable assessment#:#option_label#:#Etichette opzionali assessment#:#option_label_adequate#:#adatto assessment#:#option_label_adequate_or_not#:#adatto / non adatto assessment#:#option_label_applicable#:#applicabile assessment#:#option_label_applicable_or_not#:#applicabile / non applicabile assessment#:#option_label_custom#:#Etichette definite dall’utente -assessment#:#option_label_custom_false#:#Label for "FALSE" -assessment#:#option_label_custom_true#:#Label for "TRUE" +assessment#:#option_label_custom_false#:#Etichetta per "FALSO" +assessment#:#option_label_custom_true#:#Etichetta per "VERO" assessment#:#option_label_info#:#Le frasi configurate verranno utilizzate come etichetta per le opzioni selezionabili dal partecipante. assessment#:#option_label_minus#:#- assessment#:#option_label_not_adequate#:#non adatto @@ -983,7 +982,7 @@ assessment#:#oq_btn_use_order_pictures#:#Utilizza le immagini di risposta assessment#:#oq_btn_use_order_terms#:#Utilizza i termini di risposta assessment#:#oq_header_ordering_elements#:#Ordine degli elementi assessment#:#or#:#o -assessment#:#order#:#Order###26 08 2024 new variable +assessment#:#order#:#Order###09 11 2022 new variable assessment#:#ordering_answer_sequence_info#:#La sequenza di risposte che definisci qui sara' presa come sequenza di risposte corrette. assessment#:#ordertext#:#Ordinando il testo assessment#:#ordertext_info#:#Per favore, inserisci il testo che dovrebbe essere ordinato orizzontalmente. Il testo ordinato sarà separato da spazi vuoti. Se c'e' bisogno di una differente spaziatura, si può usare il separatore %s per separare il testo.
@@ -995,7 +994,7 @@ assessment#:#part_received_a_of_b_points#:#I partecipanti hanno ricevuto %s di % assessment#:#participants#:#Partecipanti assessment#:#participants_invitation#:#Partecipanti fissi assessment#:#participants_invitation_description#:#Sei in grado di rendere questo test accessibile solo per un ristretto gruppo di utenti ILIAS. Se vuoi cambaire questa impostazione, per favore attiva la casella in basso e clicca su Salva. -assessment#:#participants_results_subtab#:#All Participants +assessment#:#participants_results_subtab#:#Tutti i partecipanti assessment#:#pass#:#Superare assessment#:#pass_finished#:#risposta corretta assessment#:#passed_official#:#Superato @@ -1004,36 +1003,36 @@ assessment#:#passed_short#:#Superato assessment#:#passed_status#:#Stato superato assessment#:#passes_finished#:#risposte corrette assessment#:#percentage#:#Percentuale -assessment#:#percentage_points_achieved#:#Reached Points###28 10 2024 new variable +assessment#:#percentage_points_achieved#:#Reached Points###28 11 2025 new variable assessment#:#percentile#:#Percentuale -assessment#:#personal_settings_apply#:#Apply Settings Template###29 10 2025 new variable -assessment#:#personal_settings_apply_changed_confirmation#:#The current test settings will be overwritten with the settings from the selected template. This also overwrites the Selection of Test Questions. The process cannot be undone!###29 10 2025 new variable -assessment#:#personal_settings_apply_confirmation#:#The current test settings will be overwritten with the settings from the selected template. This process cannot be undone!###29 10 2025 new variable -assessment#:#personal_settings_apply_description#:#This template overrides all settings of test '%s'.###29 10 2025 new variable -assessment#:#personal_settings_apply_not_possible#:#ILIAS could not apply the selected template to this test! Maybe this test already contains participant data sets.###29 10 2025 new variable -assessment#:#personal_settings_apply_success#:#Personal Test Settings have been applied successfully.###29 10 2025 new variable -assessment#:#personal_settings_author#:#Created by###29 10 2025 new variable -assessment#:#personal_settings_create#:#Add New Setting Template###29 10 2025 new variable -assessment#:#personal_settings_delete_confirmation#:#The selected template(s) will be permanently deleted. This cannot be undone.###29 10 2025 new variable -assessment#:#personal_settings_delete_success#:#The selected template(s) have been deleted.###29 10 2025 new variable -assessment#:#personal_settings_description#:#Template Description###29 10 2025 new variable -assessment#:#personal_settings_explanation#:#ILIAS will store the settings of the current test in a template. This template can be used to transfer the settings to another test.###29 10 2025 new variable -assessment#:#personal_settings_export#:#Export Settings Template###29 10 2025 new variable -assessment#:#personal_settings_import#:#Import Setting Templates###29 10 2025 new variable -assessment#:#personal_settings_import_success#:#The template was imported successfully.###29 10 2025 new variable -assessment#:#personal_settings_invalid_selection#:#Please select one template.###29 10 2025 new variable -assessment#:#personal_settings_name#:#Template Title###29 10 2025 new variable -assessment#:#personal_settings_required_author#:#Please enter an author for your template.###29 10 2025 new variable -assessment#:#personal_settings_required_title#:#Please enter a title for your template.###29 10 2025 new variable -assessment#:#personal_settings_save#:#Save New Setting Template###29 10 2025 new variable -assessment#:#personal_settings_show#:#Show Template Details###29 10 2025 new variable -assessment#:#personal_settings_templates_available#:#Personal Test Settings Templates###29 10 2025 new variable -assessment#:#personal_settings_timestamp#:#Creation Date###29 10 2025 new variable +assessment#:#personal_settings_apply#:#Apply Settings Template###28 11 2025 new variable +assessment#:#personal_settings_apply_changed_confirmation#:#The current test settings will be overwritten with the settings from the selected template. This also overwrites the Selection of Test Questions. The process cannot be undone!###28 11 2025 new variable +assessment#:#personal_settings_apply_confirmation#:#The current test settings will be overwritten with the settings from the selected template. This process cannot be undone!###28 11 2025 new variable +assessment#:#personal_settings_apply_description#:#This template overrides all settings of test '%s'.###28 11 2025 new variable +assessment#:#personal_settings_apply_not_possible#:#ILIAS could not apply the selected template to this test! Maybe this test already contains participant data sets.###28 11 2025 new variable +assessment#:#personal_settings_apply_success#:#Personal Test Settings have been applied successfully.###28 11 2025 new variable +assessment#:#personal_settings_author#:#Created by###28 11 2025 new variable +assessment#:#personal_settings_create#:#Add New Setting Template###28 11 2025 new variable +assessment#:#personal_settings_delete_confirmation#:#The selected template(s) will be permanently deleted. This cannot be undone.###28 11 2025 new variable +assessment#:#personal_settings_delete_success#:#The selected template(s) have been deleted.###28 11 2025 new variable +assessment#:#personal_settings_description#:#Template Description###28 11 2025 new variable +assessment#:#personal_settings_explanation#:#ILIAS will store the settings of the current test in a template. This template can be used to transfer the settings to another test.###28 11 2025 new variable +assessment#:#personal_settings_export#:#Export Settings Template###28 11 2025 new variable +assessment#:#personal_settings_import#:#Import Setting Templates###28 11 2025 new variable +assessment#:#personal_settings_import_success#:#The template was imported successfully.###28 11 2025 new variable +assessment#:#personal_settings_invalid_selection#:#Please select one template.###28 11 2025 new variable +assessment#:#personal_settings_name#:#Template Title###28 11 2025 new variable +assessment#:#personal_settings_required_author#:#Please enter an author for your template.###28 11 2025 new variable +assessment#:#personal_settings_required_title#:#Please enter a title for your template.###28 11 2025 new variable +assessment#:#personal_settings_save#:#Save New Setting Template###28 11 2025 new variable +assessment#:#personal_settings_show#:#Show Template Details###28 11 2025 new variable +assessment#:#personal_settings_templates_available#:#Personal Test Settings Templates###28 11 2025 new variable +assessment#:#personal_settings_timestamp#:#Creation Date###28 11 2025 new variable assessment#:#picture#:#Immagine assessment#:#point#:#Punto assessment#:#points#:#Punti assessment#:#points_checked#:#Punti (selezionati) -assessment#:#points_non_numeric_or_negative_msg#:#Inputs for points only accept positive numeric values.###26 08 2024 new variable +assessment#:#points_non_numeric_or_negative_msg#:#Inputs for points only accept positive numeric values.###30 04 2024 new variable assessment#:#points_short#:#Pt. assessment#:#points_unchecked#:#Punti (non selezionati) assessment#:#points_wrong#:#Selezioni sbagliate @@ -1048,13 +1047,13 @@ assessment#:#postponed#:#Non eseguita assessment#:#precision#:#Precisione assessment#:#previous_question#:#Domanda precedente assessment#:#previous_question_rows#:#<< Domande %d - %d di %d -assessment#:#print_answers#:#Print Answers###28 10 2024 new variable -assessment#:#qpl_assessment_no_assessment_of_questions#:#Non esiste una valutazione statistica per la domanda selezionata. La domanda non & +assessment#:#print_answers#:#Print Answers###28 11 2025 new variable +assessment#:#qpl_assessment_no_assessment_of_questions#:#Non è disponibile una valutazione delle domande per la domanda selezionata. La domanda non è stata ancora utilizzata in un test. assessment#:#qpl_assessment_total_of_answers#:#Totale delle risposte assessment#:#qpl_assessment_total_of_right_answers#:#Percentuale totale di risposte giuste (percentuale con il punteggio massimo) -assessment#:#qpl_bulk_save_add#:#Add###28 10 2024 new variable -assessment#:#qpl_bulk_save_overwrite#:#Overwrite###28 10 2024 new variable -assessment#:#qpl_bulkedit_success#:#Modifications saved.###28 10 2024 new variable +assessment#:#qpl_bulk_save_add#:#Add###28 11 2025 new variable +assessment#:#qpl_bulk_save_overwrite#:#Overwrite###28 11 2025 new variable +assessment#:#qpl_bulkedit_success#:#Modifications saved.###28 11 2025 new variable assessment#:#qpl_cancel_skill_assigns_update#:#Annulla assessment#:#qpl_confirm_delete_questions#:#Sei sicuro di voler eliminare le seguenti domande? Se cancelli le domande bloccate, anche i risultati dei test che le contengono verranno cancellati. assessment#:#qpl_copy_insert_clipboard#:#Le domande selezionate sono state copiate negli appunti @@ -1063,14 +1062,14 @@ assessment#:#qpl_delete_rbac_error#:#Non hai l'autorizzazione per eliminare ques assessment#:#qpl_delete_select_none#:#Seleziona la raccolta di domande da eliminare assessment#:#qpl_export_excel#:#File MS Excel assessment#:#qpl_export_select_none#:#Seleziona la raccolta di domande da esportare -assessment#:#qpl_export_xml#:#file QTI XML +assessment#:#qpl_export_xml#:#File QTI XML assessment#:#qpl_form_general_settings#:#Impostazioni generali assessment#:#qpl_imagemap_preview_missing#:#ILIAS non puo' creare il file temporaneo contenente la mappa immagine. Viene mostrata quindi l'immagine originale. Questo puo'; essere dovuto ad ImageMagick non correttamente configurato o alla mancanza di autorizzazione per scrivere nella cartella temporanea! Contatta l'amministratore di sistema. assessment#:#qpl_import_create_new_qpl#:#Importa le domande in una nuova raccolta assessment#:#qpl_import_no_items#:#Si e'verificato un errore: il file scelto non contiene domande! assessment#:#qpl_import_non_ilias_files#:#Si e' verificato un errore: il file scelto non e' stato creato con Ilias. Contatta il team di Ilias per avere un filtro di import per il formato del tuo file QTI. assessment#:#qpl_import_verify_found_questions#:#ILIAS ha trovato le seguenti domande nel file indicato. Scegli quelle che vuoi importare. -assessment#:#qpl_lac_desc_brackets#:#Sostegni +assessment#:#qpl_lac_desc_brackets#:#Parentesi assessment#:#qpl_lac_desc_compare_answer_exist#:#Confronta se c'è una risposta per una domanda/uno spazio assessment#:#qpl_lac_desc_compare_with_answer_n#:#Confronta il risultato con la n-esima risposta della domanda assessment#:#qpl_lac_desc_compare_with_assignment#:#Confronta il risultato con la corrispondenza n:m @@ -1079,8 +1078,8 @@ assessment#:#qpl_lac_desc_compare_with_number#:#Confronta il risultato con il nu assessment#:#qpl_lac_desc_compare_with_quest_res#:#Confronta il risultato con i punti raggiunti in percentuale assessment#:#qpl_lac_desc_compare_with_sequence#:#Confronta il risultato con la sequenza di risposte ($a,..,z $) assessment#:#qpl_lac_desc_compare_with_text#:#Confronta il risultato con il testo TESTO -assessment#:#qpl_lac_desc_logical_and#:#AND logico -assessment#:#qpl_lac_desc_logical_or#:#OR logico +assessment#:#qpl_lac_desc_logical_and#:#'E' logico +assessment#:#qpl_lac_desc_logical_or#:#'Oppure' logico assessment#:#qpl_lac_desc_negation#:#Negazione assessment#:#qpl_lac_desc_res_of_answ_m_of_cur_quest#:#Risultato di m-esimo risposta della domanda attuale assessment#:#qpl_lac_desc_res_of_cur_quest#:#Risultato della domanda attuale @@ -1090,9 +1089,9 @@ assessment#:#qpl_lac_legend_label_operators#:#Operatori assessment#:#qpl_maxchars_info_numeric_question#:#Se si immette un valore, il campo per la risposta numerica verrà creato con una lunghezza fissa di questo valore, per cui non è possibile immettere più caratteri di quelli consentiti. Notare che per i gap numerici il separatore decimale viene conteggiato come carattere regolare. assessment#:#qpl_move_insert_clipboard#:#Le domande selezionate sono state evidenziate per lo spostamento. assessment#:#qpl_move_select_none#:#Seleziona almeno una domanda se vuoi spostarla -assessment#:#qpl_numeric_lower_needs_valid_lower_alert#:#The lower bound needs to be valid numerical value lower than the upper bound.###07 02 2020 new variable -assessment#:#qpl_numeric_upper_needs_valid_upper_alert#:#The upper bound needs to be valid numerical value greater than the lower bound.###07 02 2020 new variable -assessment#:#qpl_paste_error#:#At least one question could not pe pasted into the question pool. Possible reason: You tried to move the question into the same question pool. +assessment#:#qpl_numeric_lower_needs_valid_lower_alert#:#Il limite inferiore deve essere un valore numerico minore del limite superirore. +assessment#:#qpl_numeric_upper_needs_valid_upper_alert#:#Il limite superiore deve essere un valore numerico maggiore del limite inferiore. +assessment#:#qpl_paste_error#:#Almeno una domanda non può essere incollata nel pool di domande. Possibile motivo: hai provato a spostare la domanda nello stesso pool di domande. assessment#:#qpl_paste_no_objects#:#Non ci sono domande negli appunti. Per favore, copia o sposta almeno una domanda negli appunti. assessment#:#qpl_paste_success#:#Le domande sono state incollate nella raccolta di domande assessment#:#qpl_qst_edit_form_taxonomy#:#Tassonomia "%s" @@ -1101,52 +1100,52 @@ assessment#:#qpl_qst_inp_matching_mode#:#Modalità di abbinamento assessment#:#qpl_qst_inp_matching_mode_all_on_all#:#Uno o più termini corrispondono a una o più definizioni (n:n) assessment#:#qpl_qst_inp_matching_mode_one_on_one#:#Un termine corrisponde a una definizione (1:1) assessment#:#qpl_qst_skl_assign_properties_modified#:#Le proprietà di assegnazione sono state modificate. -assessment#:#qpl_qst_skl_assign_synced_to_orig#:#Le assegnazioni di competenza sono state sincronizzate alle domande originali. -assessment#:#qpl_qst_skl_assigns_updated#:#Le assegnazioni di competenza sono state aggiornate. -assessment#:#qpl_qst_skl_selection_for_question_header#:#Assegnazioni di competenza per la domanda: %s +assessment#:#qpl_qst_skl_assign_synced_to_orig#:#Le assegnazioni di competenze sono state sincronizzate alle domande originali. +assessment#:#qpl_qst_skl_assigns_updated#:#Le assegnazioni di competenze sono state aggiornate. +assessment#:#qpl_qst_skl_selection_for_question_header#:#Assegnazioni di competenze per la domanda: %s assessment#:#qpl_qst_skl_usg_numq_col#:#Numero delle domande in gruppo che affrontano queste competenze -assessment#:#qpl_qst_skl_usg_skill_col#:#Competenza -assessment#:#qpl_qst_skl_usg_sklpnt_col#:#Somma totale di punti di competenza per competenza +assessment#:#qpl_qst_skl_usg_skill_col#:#competenze +assessment#:#qpl_qst_skl_usg_sklpnt_col#:#Somma totale di punti di competenze per competenze assessment#:#qpl_question_is_in_use#:#La domanda che stai per modificare è inserita in un %s dei test. Se modifichi la domanda, NON verranno modificate le domande nei test, perchè il sistema crea una copia delle domande quando queste vengono inserite in un test! assessment#:#qpl_questions_deleted#:#Domande eliminate assessment#:#qpl_reset_preview#:#Ripristina anteprima -assessment#:#qpl_save_skill_assigns_update#:#Salva assegnazioni della competenza -assessment#:#qpl_settings_availability#:#Availability###26 08 2024 new variable -assessment#:#qpl_settings_general_form_prop_show_tax_desc#:#When enabled, possibly created taxonomies are shown for filtering. +assessment#:#qpl_save_skill_assigns_update#:#Salva assegnazioni della competenze +assessment#:#qpl_settings_availability#:#Availability###30 04 2024 new variable +assessment#:#qpl_settings_general_form_prop_show_tax_desc#:#Se abilitato, le tassonomie eventualmente create vengono mostrate per il filtro. assessment#:#qpl_settings_general_form_property_nav_taxonomy#:#Filtro tassonomia come Albero di navigazione assessment#:#qpl_settings_general_form_property_nav_taxonomy_description#:#Quando viene selezionata una tassonomia, viene presentata come un albero di navigazione invece di elemento filtro tabella. assessment#:#qpl_settings_general_form_property_opt_notax_selected#:#Utilizza nessun filtro albero di navigazione assessment#:#qpl_settings_general_form_property_show_taxonomies#:#Mostra tassonomie assessment#:#qpl_settings_subtab_general#:#Impostazioni generali assessment#:#qpl_settings_subtab_taxonomies#:#Tassonomie -assessment#:#qpl_skill_point_eval_by_quest_result#:#Valutazione dei punti di competenza per risultato della domanda -assessment#:#qpl_skill_point_eval_by_solution_compare#:#Valutazione dei punti di competenza per confronto delle soluzioni +assessment#:#qpl_skill_point_eval_by_quest_result#:#Valutazione dei punti di competenze per risultato della domanda +assessment#:#qpl_skill_point_eval_by_solution_compare#:#Valutazione dei punti di competenze per confronto delle soluzioni assessment#:#qpl_skill_point_eval_mode_quest_result#:#Risultato della domanda assessment#:#qpl_skill_point_eval_mode_solution_compare#:#Confronta soluzioni -assessment#:#qpl_skl_all_questions#:#All questions###29 10 2025 new variable -assessment#:#qpl_skl_assigned_questions#:#Questions with assignment###29 10 2025 new variable -assessment#:#qpl_skl_assignment_for_question#:#Competence assignments for question „%s“###29 10 2025 new variable -assessment#:#qpl_skl_sub_tab_quest_assign#:#Assegnazione della domanda/competenza +assessment#:#qpl_skl_all_questions#:#All questions###28 11 2025 new variable +assessment#:#qpl_skl_assigned_questions#:#Questions with assignment###28 11 2025 new variable +assessment#:#qpl_skl_assignment_for_question#:#Competence assignments for question „%s“###28 11 2025 new variable +assessment#:#qpl_skl_sub_tab_quest_assign#:#Assegnazione della domanda/competenze assessment#:#qpl_skl_sub_tab_usages#:#Frequenza assegnazione -assessment#:#qpl_skl_unassigned_questions#:#Questions without assignment###29 10 2025 new variable -assessment#:#qpl_skl_view_control_mode_aria:#:#View control mode###29 10 2025 new variable -assessment#:#qpl_sync_quest_skl_assigns_confirmation#:#La domanda è stata inserita da un altro oggetto del repository. L’originale della domanda deve essere aggiornato con l’attuale configurazione delle assegnazioni di competenza? +assessment#:#qpl_skl_unassigned_questions#:#Questions without assignment###28 11 2025 new variable +assessment#:#qpl_skl_view_control_mode_aria:#:#View control mode###28 11 2025 new variable +assessment#:#qpl_sync_quest_skl_assigns_confirmation#:#La domanda è stata inserita da un altro oggetto del repository. L’originale della domanda deve essere aggiornato con l’attuale configurazione delle assegnazioni di competenze? assessment#:#qpl_tab_competences#:#Competenze -assessment#:#qpl_taxonomy_tab_info_message#:#Taxonomies in question pools can be used to filter the questions. After activating the function in the "Settings" tab, they are displayed in the filter in the "Questions" tab.###26 08 2024 new variable -assessment#:#qst_error_text_too_long#:#One or more text elements marked as erroneous are too long. The maximum size for a text element marked as erroneous is 150 characters:###26 08 2024 new variable -assessment#:#qst_essay_allready_written_words#:#Already entered words:###07 02 2020 new variable -assessment#:#qst_essay_chars_remaining#:#Remaining characters:###07 02 2020 new variable -assessment#:#qst_essay_wordcounter_enabled#:#Count Words###07 02 2020 new variable -assessment#:#qst_essay_wordcounter_enabled_info#:#The entered words are counted. The number of written words is shown to the participants below the text input field.###07 02 2020 new variable -assessment#:#qst_essay_written_words#:#Number of entered words:###07 02 2020 new variable -assessment#:#qst_lifecycle#:#Lifecycle###07 02 2020 new variable -assessment#:#qst_lifecycle_draft#:#Draft###07 02 2020 new variable -assessment#:#qst_lifecycle_filter_all#:#All Lifecycles###07 02 2020 new variable -assessment#:#qst_lifecycle_final#:#Final###07 02 2020 new variable -assessment#:#qst_lifecycle_outdated#:#Outdated###07 02 2020 new variable -assessment#:#qst_lifecycle_rejected#:#Rejected###07 02 2020 new variable -assessment#:#qst_lifecycle_review#:#To be Reviewed###07 02 2020 new variable -assessment#:#qst_lifecycle_sharable#:#Sharable###07 02 2020 new variable +assessment#:#qpl_taxonomy_tab_info_message#:#Taxonomies in question pools can be used to filter the questions. After activating the function in the "Settings" tab, they are displayed in the filter in the "Questions" tab.###30 07 2024 new variable +assessment#:#qst_error_text_too_long#:#One or more text elements marked as erroneous are too long. The maximum size for a text element marked as erroneous is 150 characters:###21 06 2023 new variable +assessment#:#qst_essay_allready_written_words#:#Parole già inserite: +assessment#:#qst_essay_chars_remaining#:#Caratteri rimanenti: +assessment#:#qst_essay_wordcounter_enabled#:#Conta parole +assessment#:#qst_essay_wordcounter_enabled_info#:#Le parole inserite vengono contate. Il numero di parole scritte viene mostrato ai partecipanti sotto il campo di immissione del testo. +assessment#:#qst_essay_written_words#:#Numero di parole inserite: +assessment#:#qst_lifecycle#:#Ciclo vitale +assessment#:#qst_lifecycle_draft#:#Bozza +assessment#:#qst_lifecycle_filter_all#:#Tutti i cicli di vita +assessment#:#qst_lifecycle_final#:#Finale +assessment#:#qst_lifecycle_outdated#:#Obsoleto +assessment#:#qst_lifecycle_rejected#:#Respinto +assessment#:#qst_lifecycle_review#:#Da rivedere +assessment#:#qst_lifecycle_sharable#:#Condivisibile assessment#:#qst_nested_nested_answers_off#:#No indents, just order###29 07 2022 new variable assessment#:#qst_nested_nested_answers_on#:#Use indents in anwers###29 07 2022 new variable assessment#:#qst_nr_of_tries#:#Numero di tentativi @@ -1154,23 +1153,23 @@ assessment#:#qst_preview_reset_msg#:#L’anteprima è stata ripristinata. assessment#:#qst_use_nested_answers#:#Nested answers###29 07 2022 new variable assessment#:#que_contains_unused_var#:#Il testo della domanda contiene una variabile, che non viene utilizzata in nessuna formula di risultato! assessment#:#question_browse_area_info#:#Si prega di selezionare un oggetto da cui si desidera importare le domande. -assessment#:#question_complete_title#:#Complete###26 08 2024 new variable +assessment#:#question_complete_title#:#Complete###28 11 2025 new variable assessment#:#question_cumulated_statistics#:#Statistica delle domande cumulativa assessment#:#question_id#:#ID domanda assessment#:#question_id_short#:#ID assessment#:#question_instances_title#:#Questa domanda è usata nel seguente test -assessment#:#question_is_part_of_running_test#:#Question is part of a running test and may not be edited.###29 07 2022 new variable +assessment#:#question_is_part_of_running_test#:#Question is part of a running test and may not be edited.###29 06 2022 new variable assessment#:#question_marking#:#Mostra i voti relativi alle domande -assessment#:#question_marking_description#:#Se selezionato, ogni partecipante ha la possibilità di inserire una nota memo a lato della domanda (es. prova ancora, risposto, non risposto).
Le note sono visibili anche nella lista delle domande (se disponibile).
+assessment#:#question_marking_description#:#Se selezionato, ogni partecipante ha la possibilità di inserire una nota memo a lato della domanda (es. prova ancora, risposto, non risposto).Le note sono visibili anche nella lista delle domande (se disponibile). assessment#:#question_not_answered#:#Non è stato risposto a questa domanda assessment#:#question_saved_for_upload#:#La domanda è stata salvata automaticamente in modo da lasciare spazio sul disco per l'upload del file. Se vuoi eliminare il form, stai attento perchè devi eliminare la domanda dall'elenco nel caso tu non la voglia piu' tenere! assessment#:#question_summary#:#Elenco delle domande -assessment#:#question_summary_btn#:#Processing Status +assessment#:#question_summary_btn#:#Stato di elaborazione assessment#:#question_title#:#Titolo della domanda assessment#:#question_type#:#Tipo di domanda assessment#:#questionpool_not_entered#:#Per favore inserisci il nome della raccolta di domande! -assessment#:#questionpool_not_selected#:#Please select a question pool!###07 02 2020 new variable -assessment#:#questions#:#Questions###26 08 2024 new variable +assessment#:#questionpool_not_selected#:#Please select a question pool! +assessment#:#questions#:#Questions###30 04 2024 new variable assessment#:#questions_from#:#domande da assessment#:#questions_per_page_view#:#Visualizza pagina assessment#:#random_accept_sample#:#Accetta esempio @@ -1194,21 +1193,21 @@ assessment#:#rectangle_click_br_corner#:#Per favore clicca sull'angolo inferiore assessment#:#rectangle_click_tl_corner#:#Per favore clicca sull'angolo superiore sinistro dell'area desiderata. assessment#:#redirectAfterSave#:#È stata raggiunto il tempo massimo su questo test, la tua risposta è stata salvata automaticamente. In pochi secondo verrà reindirizzato... assessment#:#redirect_after_finishing_rule#:#Reindirizza -assessment#:#redirect_after_finishing_tst#:#Redirect after finishing the test +assessment#:#redirect_after_finishing_tst#:#Reindirizzare dopo aver terminato il test assessment#:#redirect_after_finishing_tst_desc#:#Dopo il completamento del test, ogni partecipante viene reindirizzato automaticamente a una pagina Web definita. Questo è possibile solo se i partecipanti non hanno accesso ai propri risultati del test. assessment#:#redirect_always#:#sempre alla pagine web definita -assessment#:#redirect_always_to_logout#:#Always to the logout screen###29 10 2025 new variable -assessment#:#redirect_in_kiosk_mode#:#Redirect only in kiosk mode -assessment#:#redirect_url_invalid#:#Please enter a valid url of the target webpage.###29 10 2025 new variable -assessment#:#redirect_url_required_for_rule#:#The url of the webpage is required when "%s" is selected.###29 10 2025 new variable -assessment#:#redirection_url#:#Redirection target +assessment#:#redirect_always_to_logout#:#Always to the logout screen###04 11 2025 new variable +assessment#:#redirect_in_kiosk_mode#:#Reindirizzamento solo in modalità esame +assessment#:#redirect_url_invalid#:#Please enter a valid url of the target webpage.###04 11 2025 new variable +assessment#:#redirect_url_required_for_rule#:#The url of the webpage is required when "%s" is selected.###04 11 2025 new variable +assessment#:#redirection_url#:#Target di reindirizzamento assessment#:#region#:#Regione -assessment#:#remaining_duration#:#Remaining Duration###28 10 2024 new variable +assessment#:#remaining_duration#:#Remaining Duration###28 11 2025 new variable assessment#:#remove_gap#:#Rimuovi spazio -assessment#:#remove_participants#:#Rimuovere tutti i partecipanti fissi +assessment#:#remove_participants#:#Remove Participant(s)###28 11 2025 new variable assessment#:#remove_question#:#Rimuovi -assessment#:#remove_selected_participants_confirmation#:#Are you sure you want to remove the selected participants from the test?###28 10 2024 new variable -assessment#:#remove_selected_templates_confirmation#:#Are you sure you want to permanently remove the selected personal test settings templates?###29 10 2025 new variable +assessment#:#remove_selected_participants_confirmation#:#Are you sure you want to remove the selected participants from the test?###28 11 2025 new variable +assessment#:#remove_selected_templates_confirmation#:#Are you sure you want to permanently remove the selected personal test settings templates?###28 11 2025 new variable assessment#:#remove_solution#:#Rimuovi la soluzione suggerita assessment#:#res_contains_undef_res#:#Una formula di risultato contiene un risultato non definito! assessment#:#res_contains_undef_var#:#Una formula di risultato contiene una variabile non definita! @@ -1223,19 +1222,19 @@ assessment#:#result_dec_info#:#I risultati valido sono cioè: 2,3 e 2.3 assessment#:#result_frac#:#Frazione assessment#:#result_frac_info#:#ovvero: 1/3 e 2/6 sono risultati validi assessment#:#result_type_selection#:#Selezione tipo di risultato -assessment#:#result_unit_info#:#Please note that, the selected result unit must also be activated in the "available units." +assessment#:#result_unit_info#:#Si noti che anche l'unità di risultato selezionata deve essere attivata nelle "unità disponibili". assessment#:#result_units#:#Unità disponibili assessment#:#result_units_info#:#Le unità selezionate vengono proposte all’allievo come parte della risposta. L’allievo deve scegliere una unità. assessment#:#result_x#:#Risultato %s assessment#:#results#:#Risultati -assessment#:#results_tab#:#Results -assessment#:#resulttable_all#:#All###26 08 2024 new variable -assessment#:#resulttable_correct#:#Correct###26 08 2024 new variable -assessment#:#resulttable_incorrect#:#Incorrect/Incomplete###26 08 2024 new variable -assessment#:#resulttable_vc_sort_iooa#:#in order of appearance###26 08 2024 new variable -assessment#:#resulttable_vc_sort_posscore#:#highest possible score first###26 08 2024 new variable +assessment#:#results_tab#:#Risultati +assessment#:#resulttable_all#:#All###30 04 2024 new variable +assessment#:#resulttable_correct#:#Correct###30 04 2024 new variable +assessment#:#resulttable_incorrect#:#Incorrect/Incomplete###30 04 2024 new variable +assessment#:#resulttable_vc_sort_iooa#:#in order of appearance###30 04 2024 new variable +assessment#:#resulttable_vc_sort_posscore#:#highest possible score first###30 04 2024 new variable assessment#:#review_view#:#Controlla -assessment#:#running#:#Running###28 10 2024 new variable +assessment#:#running#:#Running###28 11 2025 new variable assessment#:#saveOrder#:#Ordine di salvataggio assessment#:#saveOrderAndObligations#:#Salva Ordine e Obblighi assessment#:#save_and_next#:#Salva e continua @@ -1244,113 +1243,113 @@ assessment#:#save_on_navigation_confirmation#:#Le tue risposte modificate verran assessment#:#save_on_navigation_forced_feedback_hint#:#Prima bisogna ottenere un feedback sulla risposta data. assessment#:#save_on_navigation_locked_confirmation#:#Le tue risposte cambiate verranno automaticamente salvate e bloccate quando navighi. assessment#:#saved_adjustment#:#Modifiche salvate. -assessment#:#score_anon#:#Score anonymously###29 10 2025 new variable -assessment#:#score_partsol_enabled#:#Score Partial Solutions +assessment#:#score_anon#:#Score anonymously###28 11 2025 new variable +assessment#:#score_partsol_enabled#:#Punteggio soluzioni parziali assessment#:#score_partsol_enabled_info#:#Solitamente i partecipanti devono rispondere alla domanda in modo completamente corretto per ottenere i punti configurati. Con questa opzione il partecipante ottiene la metà dei punti configurati con almeno tre scelte corrette. -assessment#:#scored_by#:#Scored BY###29 10 2025 new variable +assessment#:#scored_by#:#Scored BY###28 11 2025 new variable assessment#:#scored_pass#:#Punteggio passato assessment#:#scoring#:#Punteggio e risultati assessment#:#scoringadjust#:#Correzioni assessment#:#search_groups#:#Ricerca gruppi assessment#:#search_roles#:#Ricerca ruoli assessment#:#search_term#:#Ricerca termini -assessment#:#select_at_least_one_feedback_type_and_trigger#:#Please Select at least one type of feedback and a trigger.###26 08 2024 new variable -assessment#:#select_at_least_one_lock_answer_type#:#Please select at least one type of answer lock.###29 10 2025 new variable +assessment#:#select_at_least_one_feedback_type_and_trigger#:#Please Select at least one type of feedback and a trigger.###30 04 2024 new variable +assessment#:#select_at_least_one_lock_answer_type#:#Please select at least one type of answer lock.###28 11 2025 new variable assessment#:#select_gap#:#Seleziona spazio assessment#:#select_max_one_item#:#Per favore scegli un solo elemento assessment#:#select_one_user#:#Seleziona almeno un utente -assessment#:#select_question#:#Select a Question###28 10 2024 new variable -assessment#:#select_target_position_for_move_question#:#Per favore, seleziona la destinazione nella quale vuoi spostare la domanda e premi il pulsante & +assessment#:#select_question#:#Select a Question###28 11 2025 new variable +assessment#:#select_target_position_for_move_question#:#Seleziona una posizione target per spostare le domande e premi uno dei pulsanti Inserisci! assessment#:#select_unit#:#--- Seleziona unità --- assessment#:#selected_category#:#Categoria selezionata: %s assessment#:#selection#:#Selezione assessment#:#set_edit_mode#:#Imposta la modalità di edit assessment#:#set_filter#:#Filtra assessment#:#set_manscoring_done#:#Segna questo partecipante come "Partecipante Valutato" -assessment#:#set_manscoring_open#:#Remove 'scoring complete' flag###29 10 2025 new variable +assessment#:#set_manscoring_open#:#Remove 'scoring complete' flag###28 11 2025 new variable assessment#:#set_manual_feedback#:#Imposta il feedback manuale assessment#:#shape#:#Forma assessment#:#showSuggestedSolution#:#Soluzione proposta -assessment#:#show_all_test_properties_on_info_page#:#Mostra la Information Page completa -assessment#:#show_all_test_properties_on_info_page_byline#:#Se selezionato, la Pagina Info Test viene mostrata (incluse le proprietà del test). Se non selezionato, solo il testo di introduzione (se disponibile) e le proprietà richieste verranno mostrate sulla Pagina Info Test.
+assessment#:#show_all_test_properties_on_info_page#:#Show all Test Properties###30 04 2024 new variable +assessment#:#show_all_test_properties_on_info_page_byline#:#Users will be presented with a complete list of test properties in the ‘Info’ tab, i.e. information on scoring and reporting.###30 04 2024 new variable assessment#:#show_answer_overview#:#Mostra panoramica risposte -assessment#:#show_best_solution#:#Show best solution###28 10 2024 new variable +assessment#:#show_best_solution#:#Show best solution###28 11 2025 new variable assessment#:#show_detailed_results#:#Mostra i risultati dettagliati del test (svolgimento del test valutato) -assessment#:#show_examview_html#:#Show exam view on the test submission page. -assessment#:#show_hide_best_solution#:#Show or hide best solution###28 10 2024 new variable -assessment#:#show_old_concluding_remarks#:#Show old conlcuding remarks###26 08 2024 new variable -assessment#:#show_old_introduction#:#Show old introduction###26 08 2024 new variable +assessment#:#show_examview_html#:#Mostra la vista dell'esame nella pagina di invio del test. +assessment#:#show_hide_best_solution#:#Show or hide best solution###28 11 2025 new variable +assessment#:#show_old_concluding_remarks#:#Show old concluding remarks###30 04 2024 new variable +assessment#:#show_old_introduction#:#Show old introduction###30 04 2024 new variable assessment#:#show_pass_overview#:#Mostra il sommario dei voti -assessment#:#show_results#:#Show Results###28 10 2024 new variable +assessment#:#show_results#:#Show Results###28 11 2025 new variable assessment#:#show_user_answers#:#Mostra le risposte valutate degli utenti assessment#:#shuffle_answers#:#Mescola le risposte assessment#:#skip_question#:#Non rispondere e Avanti -assessment#:#solution#:#Solution###28 10 2024 new variable +assessment#:#solution#:#Solution###28 11 2025 new variable assessment#:#solutionText#:#testo -assessment#:#solution_contain_keywords#:#Score is granted based on the occurence of the following keywords: +assessment#:#solution_contain_keywords#:#Il punteggio è concesso in base al verificarsi delle seguenti parole chiave: assessment#:#solution_hint#:#Mostra la soluzione -assessment#:#solutions#:#Solutions###28 10 2024 new variable -assessment#:#start_tag#:#Inizio tag +assessment#:#solutions#:#Solutions###28 11 2025 new variable +assessment#:#start_tag#:#Segno d'inizio assessment#:#statistical_data#:#Dati statistici assessment#:#statistics#:#Statistiche -assessment#:#status_of_attempt#:#Status of Attempt###28 10 2024 new variable -assessment#:#submit_and_check#:#Submit and Check Answer -assessment#:#submit_answer#:#Submit Answer +assessment#:#status_of_attempt#:#Status of Attempt###28 11 2025 new variable +assessment#:#submit_and_check#:#Invia e controlla la risposta +assessment#:#submit_answer#:#Inviare risposta assessment#:#suggest_range#:#Suggerisci intervallo assessment#:#suggestedSolutionType#:#Tipo di soluzione proposta assessment#:#suggested_solution#:#Contenuto per la ricapitolazione assessment#:#suggested_solution_added_successfully#:#Hai risposto correttamente! -assessment#:#sync_question_to_pool#:#Synchronize Question###26 08 2024 new variable -assessment#:#ta_resulttable_vc_mode_aria#:#switch question mode###26 08 2024 new variable +assessment#:#sync_question_to_pool#:#Synchronize Question###28 11 2025 new variable +assessment#:#ta_resulttable_vc_mode_aria#:#switch question mode###30 04 2024 new variable assessment#:#tab_nest_answers#:#Nesting###29 07 2022 new variable -assessment#:#tax_filter#:#Taxonomy###26 08 2024 new variable -assessment#:#tax_filter_notax#:#Questions without assigned Taxonomy###26 08 2024 new variable -assessment#:#taxonomy_node_title#:#Taxonomy Node Title###28 10 2024 new variable -assessment#:#taxonomy_title#:#Taxonomy Title###28 10 2024 new variable +assessment#:#tax_filter#:#Taxonomy###30 04 2024 new variable +assessment#:#tax_filter_notax#:#Questions without assigned Taxonomy###30 04 2024 new variable +assessment#:#taxonomy_node_title#:#Taxonomy Node Title###28 11 2025 new variable +assessment#:#taxonomy_title#:#Taxonomy Title###28 11 2025 new variable assessment#:#term#:#Termine assessment#:#term_image#:#Immagine di termine -assessment#:#term_text#:#Testo di termine +assessment#:#term_text#:#Testo del termine assessment#:#terms#:#Termini -assessment#:#test_attempts_finished#:#The test pass has been finished for the selected participants.###28 10 2024 new variable +assessment#:#test_attempts_finished#:#The test pass has been finished for the selected participants.###28 11 2025 new variable assessment#:#test_confirm_template_reset#:#Sei sicuro/a che non vuoi più usare il template? assessment#:#test_delete_page#:#Cancella domanda assessment#:#test_edit_settings#:#Modifica impostazioni -assessment#:#test_enable_archiving#:#Enable Archiving. -assessment#:#test_has_datasets_warning_page_view#:#Il test contiene gia' datasets. Non puoi modigicare le domande del test finchè non rimuovi quei datasets. -assessment#:#test_has_datasets_warning_page_view_link#:#Modifica partecipanti +assessment#:#test_enable_archiving#:#Abilita l'archiviazione +assessment#:#test_has_datasets_warning_page_view#:#Il test contiene gia' datasets. Non puoi modificare le domande del test finchè non rimuovi quei datasets. +assessment#:#test_has_datasets_warning_page_view_link#:#Risultati dei partecipanti assessment#:#test_is_offline#:#Non puoi iniziare il test! Il test è offline. assessment#:#test_jump_to#:#Salta alla domanda -assessment#:#test_move_page#:#Sposta domanda +assessment#:#test_move_page#:#Sposta la domanda assessment#:#test_next_question#:#Prossima domanda assessment#:#test_prev_question#:#Domanda precedente -assessment#:#test_question_set_type#:#Selection of Test Questions###29 07 2022 new variable -assessment#:#test_question_set_type_fixed#:#Use of a fixed set of questions###29 07 2022 new variable -assessment#:#test_question_set_type_fixed_info#:#All testees see the same questions.
You can create questions directly in the test as well as reuse questions from a Question Pool. If you create new questions you can decide to save them in a Question Pool.###29 07 2022 new variable -assessment#:#test_question_set_type_random#:#Use of a random set of questions###29 07 2022 new variable -assessment#:#test_question_set_type_random_info#:#Every testee will see an individually generated set of questions. The questions are drawn from one or more Question Pools.###29 07 2022 new variable -assessment#:#test_results#:#Results Options -assessment#:#test_scoring#:#Opzioni di punteggio +assessment#:#test_question_set_type#:#Selection of Test Questions###31 03 2023 new variable +assessment#:#test_question_set_type_fixed#:#Fixed Questions###31 03 2023 new variable +assessment#:#test_question_set_type_fixed_info#:#All test participants see the same questions.
You can create questions directly in the test as well as use questions from a Question Pool. If you create new questions, you can decide to save them in a Question Pool.###31 03 2023 new variable +assessment#:#test_question_set_type_random#:#Random Questions###31 03 2023 new variable +assessment#:#test_question_set_type_random_info#:#Each test participant will see an individually generated set of questions. The questions are drawn from one or more Question Pools.###31 03 2023 new variable +assessment#:#test_results#:#Risultati dei test +assessment#:#test_scoring#:#Punteggio dei test assessment#:#test_template_reset#:#Il template è stato rimosso. -assessment#:#test_title#:#Test Title###28 10 2024 new variable +assessment#:#test_title#:#Test Title###28 11 2025 new variable assessment#:#test_using_template#:#Questo test usa il template %s. Se non vuoi usare un template e accedere a tutte le impostazioni, per favore clicca qui: %s. -assessment#:#test_using_template_link#:#Non usare più template +assessment#:#test_using_template_link#:#Non usare più il template assessment#:#text_correct#:#Testo corretto assessment#:#text_gap#:#Spazio vuoto -assessment#:#text_maximum_chars_allowed#:#Il numero massimo di caratteri consentiti & +assessment#:#text_maximum_chars_allowed#:#Non inserire più di un massimo di %s caratteri. Gli inserimenti in eccedenza non verranno tagliati, ma potrebbero essere considerati per la valutazione. assessment#:#text_rating#:#Metodo per il confronto del testo assessment#:#text_wrong#:#Testo sbagliato assessment#:#textsize#:#Dimensione del testo -assessment#:#textsize_errortext_info#:#Immettere le dimensioni del testo di errore in percentuale se si desidera un altro formato che non sia il 100 per cento. -assessment#:#textsize_info#:#Inserire la dimensione del testo in percentuale, se si desidera una dimensione diversa dal 100 per cento.
+assessment#:#textsize_errortext_info#:#Immettere le dimensioni del testo in percentuale relativamente alla grandezza normale. Se non verrà immesso nessun valore verrà usata una grandezza del 100 per cento. +assessment#:#textsize_info#:#Inserisci la dimensione del testo da disporre come percentuale della dimensione normale. Se non si specifica un valore, viene utilizzata la dimensione normale (100 percento). assessment#:#thumb_size#:#Misure della miniatura (thumbnail) -assessment#:#thumb_size_info#:#La miniatura dell'immagine verrà creata con valori massimi di altezza e larghezza, dati dal sistema, preservando l'aspetto. +assessment#:#thumb_size_info#:#Immettere un valore in pixel per la dimensione massima dell'anteprima della grafica. A seconda delle proporzioni, l'anteprima viene convertita in altezza o in larghezza nella dimensione massima dell'anteprima. assessment#:#thumb_size_unit_pixel#:#Pixel assessment#:#time_format#:#HH MM SS assessment#:#timing#:#Tempo supplementare assessment#:#tolerance#:#Tolleranza (%) assessment#:#tolerance_info#:#La tolleranza determina una deviazione percentuale consentita dal valore del risultato. Con una tolleranza di 0, solo il valore esatto del risultato viene valutato come corretto. -assessment#:#too_many_targets_selected_for_move#:#Devi selezionare esattamente una posizione obiettivo! -assessment#:#toplist_by_score#:#Punteggio più alto in base al punteggio +assessment#:#too_many_targets_selected_for_move#:#Devi selezionare esattamente una posizione di destinazione! +assessment#:#toplist_by_score#:#Posizionamento da punteggio assessment#:#toplist_by_time#:#Punteggio più alto in base al tempo di lavoro assessment#:#toplist_col_achieved#:#Data assessment#:#toplist_col_participant#:#Participante @@ -1358,210 +1357,210 @@ assessment#:#toplist_col_percentage#:#Percentuale assessment#:#toplist_col_rank#:#Classifica assessment#:#toplist_col_score#:#Punteggio assessment#:#toplist_col_wtime#:#Tempo di lavoro -assessment#:#total_attempts#:#Total Attempts###28 10 2024 new variable -assessment#:#total_duration#:#Total Duration###28 10 2024 new variable -assessment#:#total_max_points_cannot_be_negative#:#The maximum amount of reachable points cannot be negative.###29 10 2025 new variable +assessment#:#total_attempts#:#Total Attempts###28 11 2025 new variable +assessment#:#total_duration#:#Total Duration###28 11 2025 new variable +assessment#:#total_max_points_cannot_be_negative#:#The maximum amount of reachable points cannot be negative.###01 04 2025 new variable assessment#:#true#:#Vero assessment#:#tst_access_code_created#:#Per renderti accessibile sempre il test ed offrirti la possibilità di rivederlo, è stato creato un codice unico. Per favore scrivitelo per usarlo in futuro. -assessment#:#tst_activate_skill_service#:#Activate Competence Service -assessment#:#tst_activate_skill_service_desc#:#A new tab 'Competences' will be displayed. In this tab questions are assigned to competences, then thresholds are ascribed for reaching a specific level of a competence. -assessment#:#tst_activation_limited_visibility_info#:#Before and after the period during which the test is available, the test's title will be displayed, but participants won’t be able to take the test. Access, including to tests already in progress, will be prevented once the period of availability has ended.###29 10 2025 new variable +assessment#:#tst_activate_skill_service#:#Attiva il servizio competenze +assessment#:#tst_activate_skill_service_desc#:#Verrà visualizzata una nuova scheda "Competenze". In questa scheda le domande vengono assegnate alle competenze, quindi vengono assegnate le soglie per raggiungere uno specifico livello di competenze. +assessment#:#tst_activation_limited_visibility_info#:#Se scelto, il test è visibile anche all'esterno della disponibilità data. assessment#:#tst_activation_online_info#:#Se non in linea, solo gli amministratori possono visualizzare e modificare il test. -assessment#:#tst_add_quest_cont_edit_mode#:#Editing Mode for additional Question Content -assessment#:#tst_add_quest_cont_edit_mode_IPE#:#Additional Content Editing with Page Object Editor -assessment#:#tst_add_quest_cont_edit_mode_IPE_info#:#No formatting of text in question and answers. No use of LaTex either. But feedback and hints can be reused when question is embedded in ILIAS learning module.###29 07 2022 new variable -assessment#:#tst_add_quest_cont_edit_mode_RTE#:#Default Editing Mode for Additional Question Content -assessment#:#tst_add_quest_cont_edit_mode_RTE_info#:#Allows text formatting of questions, answers, feedbacks and hints. But feedback and hints cannot be reused when question is embedded in ILIAS learning module.###29 07 2022 new variable -assessment#:#tst_add_quest_cont_edit_mode_plain#:#Use plain text###29 10 2025 new variable -assessment#:#tst_add_quest_cont_edit_mode_plain_info#:#No formatting of text in question, answers and feedback.###29 10 2025 new variable -assessment#:#tst_addit_passes_blocked_after_passed_msg#:#You have passed the test. The test cannot be started again.###07 02 2020 new variable +assessment#:#tst_add_quest_cont_edit_mode#:#Editor per feedback e suggerimenti sulla soluzione +assessment#:#tst_add_quest_cont_edit_mode_IPE#:#Modifica del contenuto aggiuntivo con l'editor degli oggetti di pagina +assessment#:#tst_add_quest_cont_edit_mode_IPE_info#:#Nessuna formattazione del testo in domanda e risposte. Nessun uso di LaTex. Feedback e suggerimenti possono essere riutilizzati quando la domanda è incorporata nel modulo ILIAS. +assessment#:#tst_add_quest_cont_edit_mode_RTE#:#Modalità di modifica predefinita per contenuti di domande aggiuntive +assessment#:#tst_add_quest_cont_edit_mode_RTE_info#:#Consente la formattazione del testo di domande, risposte, feedback e suggerimenti. Feedback e suggerimenti non possono essere riutilizzati quando la domanda è incorporata nel modulo ILIAS. +assessment#:#tst_add_quest_cont_edit_mode_plain#:#Use plain text###10 12 2024 new variable +assessment#:#tst_add_quest_cont_edit_mode_plain_info#:#No formatting of text in question, answers, feedback, and hints.###10 12 2024 new variable +assessment#:#tst_addit_passes_blocked_after_passed_msg#:#Hai superato il test. Il test non può essere riavviato. assessment#:#tst_all_test_competences#:#Tutte le competenze di test -assessment#:#tst_all_user_data_deleted#:#Tutti i dati di questo test sono stati cancellati! -assessment#:#tst_already_passed_cannot_retake#:#Test already passed. You cannot start the test again.###26 08 2024 new variable +assessment#:#tst_all_user_data_deleted#:#Tutti i dati dei partecipanti a questo test sono stati cancellati! +assessment#:#tst_already_passed_cannot_retake#:#Test already passed. You cannot start the test again.###30 04 2024 new variable assessment#:#tst_already_submitted#:#Il test è gia' stato eseguito e inviato. assessment#:#tst_analysis#:#Analisi assessment#:#tst_anonymity#:#Anonimato assessment#:#tst_anonymity_anonymous_test#:#Test anonimo -assessment#:#tst_anonymity_no_anonymization#:#Nessuna forma anonima -assessment#:#tst_answer_aggr_answer_header#:#Answer -assessment#:#tst_answer_aggr_frequency_header#:#Frequency +assessment#:#tst_anonymity_no_anonymization#:#Risultati del test per nome +assessment#:#tst_answer_aggr_answer_header#:#Risposta +assessment#:#tst_answer_aggr_frequency_header#:#Frequenza assessment#:#tst_answer_details#:#Dettagli risposta -assessment#:#tst_answer_fixation#:#Lock Answers###29 10 2025 new variable -assessment#:#tst_answer_fixation_handling#:#Participant Answers -assessment#:#tst_answer_fixation_none#:#Do not Lock Participants Answers during Test Passes -assessment#:#tst_answer_fixation_none_desc#:#As long as a test pass was not finished, participants can change their answers at any time. -assessment#:#tst_answer_fixation_on_followup_question#:#Lock Answers with the Presentation of Follow-Up Questions -assessment#:#tst_answer_fixation_on_followup_question_desc#:#Showing the follow-up question will lock participant answers for the previous question, participants cannot change these answers any longer. -assessment#:#tst_answer_fixation_on_instant_feedback#:#Lock Answers with the Presentation of Feedback -assessment#:#tst_answer_fixation_on_instant_feedback_desc#:#After the feedback for a question is shown participant answers are locked, participants cannot change these answers any longer. -assessment#:#tst_answer_fixation_on_instantfb_or_followupqst#:#Lock Answers with the Presentation of Feedback or Follow-Up Questions -assessment#:#tst_answer_fixation_on_instantfb_or_followupqst_desc#:#Participant Answers for a question will be locked either with the presentation of the questions's feedback or when the follow-up question is shown. +assessment#:#tst_answer_fixation#:#Lock Answers###28 11 2025 new variable +assessment#:#tst_answer_fixation_handling#:#Risposte dei partecipanti +assessment#:#tst_answer_fixation_none#:#Non bloccare le risposte durante le fasi del test +assessment#:#tst_answer_fixation_none_desc#:#Fino a che un un test non è concluso in tutte le sue fasi, il partecipanti possono cambiare le loro risposte in ogni momento. +assessment#:#tst_answer_fixation_on_followup_question#:#Blocca le risposte nelle domande di Presentazione e di Follow-Up +assessment#:#tst_answer_fixation_on_followup_question_desc#:#Mostrando le domande di follow-up i partecipanti non potranno più modificare le risposte date nei precedenti test. +assessment#:#tst_answer_fixation_on_instant_feedback#:#Blocca le risposte nelle domande di presentazione di Feedback +assessment#:#tst_answer_fixation_on_instant_feedback_desc#:#Dopo che viene dato un feedaback a una domanda, non è più possibile per l'utente cambiare la risposta data. +assessment#:#tst_answer_fixation_on_instantfb_or_followupqst#:#Blocca le risposte durante la presentazione delle risposte correte o delle domande di follow-up. +assessment#:#tst_answer_fixation_on_instantfb_or_followupqst_desc#:#Le risposte dei partecipanti riguardo a una domanda saranno bloccate durante la presentazione delle risposte corrette o mentre il follow-up è in corso. assessment#:#tst_answer_status_answered#:#Risposto -assessment#:#tst_answer_status_editing#:# (editing ... ) +assessment#:#tst_answer_status_editing#:# (in corso) assessment#:#tst_answer_status_not_answered#:#Non risposto assessment#:#tst_answered_questions#:#Domande già risposte -assessment#:#tst_answered_questions_of_total#:#%s of %s###07 02 2020 new variable -assessment#:#tst_answered_questions_test#:#Risposte relative a questo test +assessment#:#tst_answered_questions_of_total#:#%s di %s +assessment#:#tst_answered_questions_test#:#Domande risposte in questo test assessment#:#tst_attached_xls_file#:#Puoi trovare il risultato del test per questo partecipante nel file Excel allegato. assessment#:#tst_attempt#:#Tentativo -assessment#:#tst_attempt_limit_message#:#Your limit of test attempts is %s.###26 08 2024 new variable -assessment#:#tst_attempt_started#:#Test Iniziato +assessment#:#tst_attempt_limit_message#:#Your limit of test attempts is %s.###30 04 2024 new variable +assessment#:#tst_attempt_started#:#Attempt Started###28 11 2025 new variable assessment#:#tst_back_to_pass_details#:#Torna ai dettagli del passaggio assessment#:#tst_back_to_question_list#:#Torna all’elenco domande assessment#:#tst_back_to_top#:#Torna all’inizio -assessment#:#tst_back_to_virtual_pass#:#Back to Questionoverview +assessment#:#tst_back_to_virtual_pass#:#Torna alla panoramica delle domande assessment#:#tst_best_solution_is#:#La soluzione migliore è -assessment#:#tst_block_passes_after_passed#:#Block Additional Passes After Test is Passed###07 02 2020 new variable -assessment#:#tst_block_passes_after_passed_info#:#After a participant has passed the test, no further test passes are allowed to the participant with this option.###07 02 2020 new variable -assessment#:#tst_browse_for_qpl_questions#:#Aggiungi da gruppo -assessment#:#tst_browse_for_tst_questions#:#Aggiungi da altro gruppo +assessment#:#tst_block_passes_after_passed#:#Blocca passaggi aggiuntivi dopo che il test è stato superato +assessment#:#tst_block_passes_after_passed_info#:#Dopo che un partecipante ha superato il test, non sono consentiti ulteriori passaggi di test al partecipante con questa opzione. +assessment#:#tst_browse_for_qpl_questions#:#Aggiungi da una raccolta +assessment#:#tst_browse_for_tst_questions#:#Aggiungi da altro test assessment#:#tst_btn_hide_best_solutions#:#Nascondi soluzioni migliori -assessment#:#tst_btn_rebuild_random_question_stage#:#Synchronize Quesitons from Pool -assessment#:#tst_btn_reset_pool_sync#:#Edit/Cancel Synchronisation###29 07 2022 new variable +assessment#:#tst_btn_rebuild_random_question_stage#:#Sincronizza le domande dalla raccolta +assessment#:#tst_btn_reset_pool_sync#:#Edit/Cancel Synchronisation###29 06 2022 new variable assessment#:#tst_btn_show_best_solutions#:#Mostra soluzioni migliori assessment#:#tst_cannot_online_due_to_switched_quest_set_type_setting#:#Il test non può essere impostato su online perché l’impostazione della modalità del test è stata cambiata. È necessario impostare una nuova modalità di test relativa alla configurazione della domanda prima che il test possa essere impostato su online. -assessment#:#tst_change_dyn_test_question_selection#:#Change Current Question Selection +assessment#:#tst_change_dyn_test_question_selection#:#Modifica selezione domanda corrente assessment#:#tst_change_points_for_question#:#Cambia il punteggio delle risposte -assessment#:#tst_change_quest_set_type_from_old_to_new_with_conflict#:#You are about to change the test mode from %s to %s, although a questions/questionpool configuration dependent on the current test mode already exists.
This already existing configuration will be lost. +assessment#:#tst_change_quest_set_type_from_old_to_new_with_conflict#:#Stai per cambiare la modalità di test da %s a %s, anche se esiste già una configurazione di domande / domande che dipende dalla modalità di test corrente.
Questo già la configurazione esistente andrà persa. assessment#:#tst_change_workingtime#:#Aggiungi tempo supplementare per partecipante assessment#:#tst_comp_eval_mode#:#Valutazione da -assessment#:#tst_comp_points#:#Punti di competenza -assessment#:#tst_competence#:#Competenza -assessment#:#tst_competence_tree#:#Competence tree###29 10 2025 new variable -assessment#:#tst_conditions_checkbox_enabled#:#Exam Conditions###26 08 2024 new variable -assessment#:#tst_conditions_checkbox_enabled_desc#:#Participants must select a checkbox to start the test. Please use the introductory message to present the exam to the participants.###26 08 2024 new variable +assessment#:#tst_comp_points#:#Punti di competenze +assessment#:#tst_competence#:#Competenze +assessment#:#tst_competence_tree#:#Competence tree###28 11 2025 new variable +assessment#:#tst_conditions_checkbox_enabled#:#Exam Conditions###30 04 2024 new variable +assessment#:#tst_conditions_checkbox_enabled_desc#:#Participants must select a checkbox to start the test. Please use the introductory message to present the exam to the participants.###30 04 2024 new variable assessment#:#tst_confirm_submit_answers#:#Per favore conferma l'invio della soluzione. Non sarai piu' in grado di correggere le risposte dopo aver premuto 'Invia'. Se vuoi stampare le risposte utilizza il menu 'Stampa' del tuo Browser. -assessment#:#tst_conflicting_setting#:#This setting does conflict with another setting. +assessment#:#tst_conflicting_setting#:#Questa impostazione è in conflitto con un'altra impostazione. assessment#:#tst_copy#:#Copia test -assessment#:#tst_corr_add_as_answer_btn#:#Add as Correct Answer -assessment#:#tst_corr_answ_stat_tbl_header_answer#:#Answer -assessment#:#tst_corr_answ_stat_tbl_header_frequency#:#Frequency -assessment#:#tst_corrections_answers_tbl#:#Statistics -assessment#:#tst_corrections_answers_tbl_subindex#:#Statistics for %s -assessment#:#tst_corrections_incompatible_question_set_type#:#Corrections are only possible if the test uses a fixed set of questions.###29 07 2022 new variable -assessment#:#tst_corrections_manscore_reset_warning#:#There are %s manual scorings that have been done for the question "%s (ID: %s)". All manual scorings will be reset when saving the question.###07 02 2020 new variable -assessment#:#tst_corrections_qst_form#:#Correction of Points -assessment#:#tst_corrections_tab_question#:#Question -assessment#:#tst_corrections_tab_solution#:#Solution -assessment#:#tst_corrections_tab_statistics#:#Statistics -assessment#:#tst_count_correct_solutions#:#Conta solo i test completati. -assessment#:#tst_count_correct_solutions_desc#:#Participants score either the maximum number of points for a fully correct and complete answer or 0 points in every other case. +assessment#:#tst_corr_add_as_answer_btn#:#Aggiungi come risposta corretta +assessment#:#tst_corr_answ_stat_tbl_header_answer#:#Risposta +assessment#:#tst_corr_answ_stat_tbl_header_frequency#:#Frequenza +assessment#:#tst_corrections_answers_tbl#:#Statistiche delle risposte +assessment#:#tst_corrections_answers_tbl_subindex#:#Statistiche per %s +assessment#:#tst_corrections_incompatible_question_set_type#:#Corrections are only possible if the test uses a fixed set of questions.###09 03 2022 new variable +assessment#:#tst_corrections_manscore_reset_warning#:#Sono stati eseguiti i punteggi manuali di %s per la domanda "%s (ID: %s)". Tutti i punteggi manuali verranno ripristinati quando si salva la domanda. +assessment#:#tst_corrections_qst_form#:#Correzione dei punti +assessment#:#tst_corrections_tab_question#:#Domanda +assessment#:#tst_corrections_tab_solution#:#Soluzione +assessment#:#tst_corrections_tab_statistics#:#Statistiche della risposta +assessment#:#tst_count_correct_solutions#:#Solo le risposte corrette e complete ottengono punti +assessment#:#tst_count_correct_solutions_desc#:#I partecipanti ottengono il numero massimo di punti per una risposta completamente corretta e completa o 0 punti in ogni altro caso. assessment#:#tst_count_partial_solutions#:#Conta anche i test risolti parzialmente. -assessment#:#tst_count_partial_solutions_desc#:#Points for correctly provided partial answers are added up: Participants can score points for incomplete or partly wrong answers. -assessment#:#tst_current_run_no_longer_valid#:#Your current test run is no longer valid.
It was probably completed already or finished by a tutor.###26 08 2024 new variable -assessment#:#tst_delete_missing_mark#:#Per favore, scegli almeno un voto se vuoi eliminarlo! -assessment#:#tst_derive_new_pool#:#Ricava nuovo gruppo di domande -assessment#:#tst_derive_new_pools#:#Ricava nuovi gruppi di domande -assessment#:#tst_dont_show_msg_again_in_current_session#:#Don't show this message again in my current session. +assessment#:#tst_count_partial_solutions_desc#:#Vengono aggiunti punti per le risposte parziali fornite correttamente: i partecipanti possono ottenere punti per risposte incomplete o parzialmente errate. +assessment#:#tst_current_run_no_longer_valid#:#Your current test run is no longer valid.
It was probably completed already or finished by a tutor.###16 03 2023 new variable +assessment#:#tst_delete_missing_mark#:#Per favore, scegli almeno un voto da eliminare! +assessment#:#tst_derive_new_pool#:#Ricava nuova raccolta di domande +assessment#:#tst_derive_new_pools#:#Ricava nuova raccolta di domande +assessment#:#tst_dont_show_msg_again_in_current_session#:#Non mostrare più questo messaggio nella mia sessione corrente. assessment#:#tst_dont_use_previous_answers#:#La tua risposta precedente non verrà usata come risposta di default per test successivi assessment#:#tst_edit_competence_assign#:#Modifica delle proprietà di assegnazione assessment#:#tst_edit_scoring#:#Modifica il punteggio -assessment#:#tst_enable_questionlist#:#Show 'List of Questions’###26 08 2024 new variable -assessment#:#tst_enable_questionlist_description#:#Participants can switch on a list of the test questions on the left of the actual question.###26 08 2024 new variable +assessment#:#tst_enable_questionlist#:#Show 'List of Questions’###30 04 2024 new variable +assessment#:#tst_enable_questionlist_description#:#Participants can switch on a list of the test questions on the left of the actual question.###30 04 2024 new variable assessment#:#tst_ending_time#:#Ora di fine -assessment#:#tst_ending_time_before_starting_time#:#Please enter a date for the end of the test that is after the start date.###26 08 2024 new variable -assessment#:#tst_ending_time_desc#:#Punto nel tempo durante il quale il test terminerà: I partecipanti non devono più rispondere alle domande, il test è terminato tramite ILIAS. +assessment#:#tst_ending_time_before_starting_time#:#Please enter a date for the end of the test that is after the start date.###31 08 2022 new variable +assessment#:#tst_ending_time_desc#:#Punto nel tempo durante il quale il test terminerà: I partecipanti non possono più rispondere alle domande, il test è terminato da ILIAS. assessment#:#tst_enter_questionpool#:#Per favore inserisci il nome della raccolta di domande nella quale verra' inserita la domanda assessment#:#tst_eval_question_points#:#Risultati per test %s -assessment#:#tst_eval_results_by_pass#:#Risultati delle domande in dettaglio +assessment#:#tst_eval_results_by_pass#:#Risultati dettagliati del test per l'esecuzione del test %s assessment#:#tst_eval_results_by_pass_lo#:#Elenco di risposte per tentativo %s -assessment#:#tst_eval_results_lo#:#Elenco di risposte +assessment#:#tst_eval_results_lo#:#Risultati del test in dettaglio assessment#:#tst_eval_show_answer#:#Mostra la risposta -assessment#:#tst_eval_total_finished#:#Test di valutazione completati -assessment#:#tst_eval_total_finished_average_time#:#Tempo medio di esecuzione per i test completati +assessment#:#tst_eval_total_finished#:#Numero totale di tutti i test completati (utenti che hanno completato il numero massimo di esecuzioni di test). +assessment#:#tst_eval_total_finished_average_time#:#Tempo medio di esecuzione per tutti i test assessment#:#tst_eval_total_passed#:#Test totali passati assessment#:#tst_eval_total_passed_average_points#:#Punteggio medio dei test passati -assessment#:#tst_eval_total_passed_average_time#:#Tempo medio di esecuzione di tutti i test positivi
-assessment#:#tst_eval_total_persons#:#Numero totale delle persone che hanno conseguito il test -assessment#:#tst_exam_access_code#:#Access Code###26 08 2024 new variable -assessment#:#tst_exam_access_code_label#:#Enter access code to continue your already started test.###26 08 2024 new variable -assessment#:#tst_exam_conditions#:#Exam Conditions###26 08 2024 new variable -assessment#:#tst_exam_conditions_label#:#Check to accept the conditions.###26 08 2024 new variable -assessment#:#tst_exam_conditions_not_checked_message#:#You need to accept the exam conditions!###26 08 2024 new variable -assessment#:#tst_exam_ending_time_message#:#The test cannot be started after %s.###26 08 2024 new variable -assessment#:#tst_exam_modal_message_conditions#:#Please confirm the conditions to start the test.###26 08 2024 new variable -assessment#:#tst_exam_modal_message_conditions_and_password#:#Please confirm the conditions and enter the password to start the test.###26 08 2024 new variable -assessment#:#tst_exam_modal_message_password#:#Please enter the password to start the test.###26 08 2024 new variable -assessment#:#tst_exam_not_assigned_participant_disclaimer#:#You cannot start this test, as you are not an assigned participant.###26 08 2024 new variable -assessment#:#tst_exam_password#:#Test Password###26 08 2024 new variable -assessment#:#tst_exam_password_invalid_message#:#The given password is not valid!###26 08 2024 new variable -assessment#:#tst_exam_password_label#:#Password###26 08 2024 new variable -assessment#:#tst_exam_required_fields_not_filled_message#:#You need to fill out all required fields!###26 08 2024 new variable -assessment#:#tst_exam_start#:#Start Test###26 08 2024 new variable -assessment#:#tst_exam_use_previous_answers#:#Previous Answers###26 08 2024 new variable -assessment#:#tst_exam_use_previous_answers_label#:#If enabled answers from previous tests will be prefilled.###26 08 2024 new variable +assessment#:#tst_eval_total_passed_average_time#:#Tempo medio di esecuzione di tutti i test positivi +assessment#:#tst_eval_total_persons#:#Numero totale delle persone che hanno iniziato il test +assessment#:#tst_exam_access_code#:#Access Code###30 04 2024 new variable +assessment#:#tst_exam_access_code_label#:#Enter access code to continue your already started test.###30 04 2024 new variable +assessment#:#tst_exam_conditions#:#Exam Conditions###30 04 2024 new variable +assessment#:#tst_exam_conditions_label#:#Check to accept the conditions.###30 04 2024 new variable +assessment#:#tst_exam_conditions_not_checked_message#:#You need to accept the exam conditions!###30 04 2024 new variable +assessment#:#tst_exam_ending_time_message#:#The test cannot be started after %s.###30 04 2024 new variable +assessment#:#tst_exam_modal_message_conditions#:#Please confirm the conditions to start the test.###30 04 2024 new variable +assessment#:#tst_exam_modal_message_conditions_and_password#:#Please confirm the conditions and enter the password to start the test.###30 04 2024 new variable +assessment#:#tst_exam_modal_message_password#:#Please enter the password to start the test.###30 04 2024 new variable +assessment#:#tst_exam_not_assigned_participant_disclaimer#:#You cannot start this test, as you are not an assigned participant.###30 04 2024 new variable +assessment#:#tst_exam_password#:#Test Password###30 04 2024 new variable +assessment#:#tst_exam_password_invalid_message#:#The given password is not valid!###30 04 2024 new variable +assessment#:#tst_exam_password_label#:#Password###30 04 2024 new variable +assessment#:#tst_exam_required_fields_not_filled_message#:#You need to fill out all required fields!###30 04 2024 new variable +assessment#:#tst_exam_start#:#Start Test###30 04 2024 new variable +assessment#:#tst_exam_use_previous_answers#:#Previous Answers###30 04 2024 new variable +assessment#:#tst_exam_use_previous_answers_label#:#If enabled answers from previous tests will be prefilled.###30 04 2024 new variable assessment#:#tst_extratime_added#:#L'orario di lavoro del partecipante è stato aumentato di %s minuti. -assessment#:#tst_extratime_info#:#Se si desidera aggiungere l'orario di lavoro più volte per lo stesso partecipante, inserire la quantità totale di tempo che si desidera aggiungere. +assessment#:#tst_extratime_info#:#Se il tempo di elaborazione di un partecipante al test viene prolungato più volte, inserire qui il totale di tutte le sue estensioni di tempo. assessment#:#tst_extratime_notavailable#:#Il tempo supplementare può essere aggiunto solo per i test con un passaggio e un tempo di elaborazione massimo. -assessment#:#tst_failed#:#Failed###07 02 2020 new variable -assessment#:#tst_failed_imp_qst_skl_assign#:#The question's assignments to the following competences could not be created. The accoring competences could not be identified within the local system. +assessment#:#tst_failed#:#Fallito +assessment#:#tst_failed_imp_qst_skl_assign#:#Non è stato possibile creare le assegnazioni delle domande alle seguenti competenze. Le competenze corrispondenti non possono essere identificate all'interno del sistema locale. assessment#:#tst_failed_imp_skl_thresholds#:#L’importazione dei limiti per le seguenti competenze è stata ignorata, perché le competenze concesse all’interno del sistema locale sono configurate con una diversa lista di livelli. assessment#:#tst_feedback#:#Feedback -assessment#:#tst_feedback_is_given_inline#:#The feedback will be displayed along with your answer.###26 08 2024 new variable -assessment#:#tst_feedback_not_available_for_answer#:#There is no feedback available for your answer.###26 08 2024 new variable -assessment#:#tst_filter_lifecycle_enabled#:#Use Lifecycle as Filter###07 02 2020 new variable +assessment#:#tst_feedback_is_given_inline#:#The feedback will be displayed along with your answer.###31 03 2023 new variable +assessment#:#tst_feedback_not_available_for_answer#:#There is no feedback available for your answer.###31 03 2023 new variable +assessment#:#tst_filter_lifecycle_enabled#:#Usa ciclo di vita come filtro assessment#:#tst_filter_question_type#:#Tipo di domanda assessment#:#tst_filter_question_type_enabled#:#Utilizza Tipo di domanda come filtro assessment#:#tst_filter_tax_node#:#Nodo tassonomia -assessment#:#tst_filter_taxonomy#:#Filter Taxonomy -assessment#:#tst_final_information#:#Finishing the Test: Information Before Submission +assessment#:#tst_filter_taxonomy#:#Tassonomia del filtro +assessment#:#tst_final_information#:#Termine del test: informazioni prima dell'invio assessment#:#tst_finish_confirm_button#:#Sì, voglio finire il test assessment#:#tst_finish_confirm_cancel_button#:#No, torna alla risposta precedente assessment#:#tst_finish_confirmation_question#:#Stai per finire il test e stai raggiungendo il numero massimo di tentativi disponibili. Non potrai rifare il test e cambaire le tue risposte. Sei sicuro di voler finire il test? -assessment#:#tst_finish_confirmation_question_no_attempts_left#:#You are going to finish this test and reach the maximum number of allowed test attempts. You won’t be able to enter this test again to change your answers. Do you really want to finish the test?###26 08 2024 new variable +assessment#:#tst_finish_confirmation_question_no_attempts_left#:#You are going to finish this test and reach the maximum number of allowed test attempts. You won’t be able to enter this test again to change your answers. Do you really want to finish the test?###30 04 2024 new variable assessment#:#tst_finish_notification_no#:#Nessun email assessment#:#tst_finished#:#Finito assessment#:#tst_form_dynamic_question_set_config#:#Selezione continua di domande assessment#:#tst_gap_analysis#:#Analisi gap -assessment#:#tst_general_properties#:#Impostazioni generali -assessment#:#tst_header_participant#:#Result: -assessment#:#tst_header_participant_no_answer#:#Question - not answered###26 08 2024 new variable -assessment#:#tst_header_solution#:#Correct solution: -assessment#:#tst_hide_info_tab#:#Hide Info Tab###26 08 2024 new variable -assessment#:#tst_hide_info_tab_desc#:#Hides the tab ‘Info’ of the test.###26 08 2024 new variable -assessment#:#tst_hide_pagecontents#:#Hide page content###26 08 2024 new variable -assessment#:#tst_hide_pagecontents_desc#:#ILIAS content placed before and after the actual question text via the "Edit Page" button will not be displayed in the result views and print output.###26 08 2024 new variable +assessment#:#tst_general_properties#:#Impostazioni generali del test +assessment#:#tst_header_participant#:#La tua risposta: +assessment#:#tst_header_participant_no_answer#:#Question - not answered###14 02 2024 new variable +assessment#:#tst_header_solution#:#Migliore soluzione possibile: +assessment#:#tst_hide_info_tab#:#Hide Info Tab###30 04 2024 new variable +assessment#:#tst_hide_info_tab_desc#:#Hides the tab ‘Info’ of the test.###30 04 2024 new variable +assessment#:#tst_hide_pagecontents#:#Hide page content###31 03 2023 new variable +assessment#:#tst_hide_pagecontents_desc#:#ILIAS content placed before and after the actual question text via the "Edit Page" button will not be displayed in the result views and print output.###31 03 2023 new variable assessment#:#tst_hide_side_list#:#Nascondi la lista di domande assessment#:#tst_highscore_achieved_ts#:#Mostra data del test -assessment#:#tst_highscore_achieved_ts_description#:#Controlli, se una colonna con la data di prova deve essere visualizzata. -assessment#:#tst_highscore_all_tables#:#All Rankings -assessment#:#tst_highscore_all_tables_description#:#If selected, the test provides both ranking tables. +assessment#:#tst_highscore_achieved_ts_description#:#Viene visualizzata una colonna aggiuntiva con l'ora del test. +assessment#:#tst_highscore_all_tables#:#Proprio grado e classifica +assessment#:#tst_highscore_all_tables_description#:#Mostra sia una tabella con il proprio posizionamento che una tabella con i migliori posizionamenti. assessment#:#tst_highscore_anon#:#Anonimizzazione delle voci. -assessment#:#tst_highscore_anon_description#:#Controlli, se i nomi sono anonimi nei punteggi. Questa opzione potrebbe essere sovrascritta dal cambiamento del testo anonimo. -assessment#:#tst_highscore_description#:#Dovrebbe essere disponibile la visualizzazione dei punteggi più alti? +assessment#:#tst_highscore_anon_description#:#I posizionamenti degli altri partecipanti vengono visualizzati senza specificare i loro nomi. Ciò accade comunque con i test resi anonimi. +assessment#:#tst_highscore_description#:#Nella scheda "Risultati", i partecipanti vedranno una sottoscheda "Posizionamento". Dopo aver cliccato, ai partecipanti verrà mostrata una tabella che mostra le prestazioni dei vari partecipanti al test. È necessario abilitare l'opzione "I partecipanti vedranno i risultati del test" per utilizzare questa funzione. assessment#:#tst_highscore_enabled#:#Visualizzazione dei punteggi piu' alti attivata assessment#:#tst_highscore_mode#:#Modalità assessment#:#tst_highscore_own_table#:#Mostra tabella 'punteggi personali' -assessment#:#tst_highscore_own_table_description#:#Controlli, se la tabella 'Punteggi personali' dovrebbe essere mostrata. +assessment#:#tst_highscore_own_table_description#:#Ai partecipanti viene mostrata una tabella con la loro posizione in tutti i posizionamenti. assessment#:#tst_highscore_percentage#:#Mostra percentuale -assessment#:#tst_highscore_percentage_description#:#Controlli, se una colonna con la percentuale dei test dovrebbe essere mostrata. +assessment#:#tst_highscore_percentage_description#:#Viene visualizzata un'ulteriore colonna con l'indicazione del valore percentuale raggiunto. assessment#:#tst_highscore_score#:#Mostra punteggio -assessment#:#tst_highscore_score_description#:#Controlli, se una colonna con il punteggio dovrebbe essere mostrata. -assessment#:#tst_highscore_top_num#:#Numero dei punteggi -assessment#:#tst_highscore_top_num_description#:#Controlli, quanti punteggi dovrebbero essere inclusi nella tabella dei punteggi più alti. -assessment#:#tst_highscore_top_num_unit#:#voci -assessment#:#tst_highscore_top_table#:#Mostra tabella 'classifica' -assessment#:#tst_highscore_top_table_description#:#Controlli, se la tabella 'classifica top' deve essere visualizzata. -assessment#:#tst_highscore_wtime#:#Mostra il tempo di lavoro -assessment#:#tst_highscore_wtime_description#:#Controlli, se una colonna con le prove di lavoro a tempo deve essere visualizzata. -assessment#:#tst_imap_qst_mode#:#Modalità +assessment#:#tst_highscore_score_description#:#Viene visualizzata una colonna aggiuntiva con il dettaglio dei punti ottenuti. +assessment#:#tst_highscore_top_num#:#Lunghezza della classifica +assessment#:#tst_highscore_top_num_description#:#Determina il numero di voci visualizzate nella classifica. +assessment#:#tst_highscore_top_num_unit#:#Posizionamenti +assessment#:#tst_highscore_top_table#:#Classifica dei migliori +assessment#:#tst_highscore_top_table_description#:#I partecipanti vedranno una tabella con le prime classifiche. +assessment#:#tst_highscore_wtime#:#Tempo di elaborazione +assessment#:#tst_highscore_wtime_description#:#Viene visualizzata una colonna aggiuntiva con il tempo di elaborazione. +assessment#:#tst_imap_qst_mode#:#Modalità di risposta assessment#:#tst_imap_qst_mode_mc#:#Scelta multipla assessment#:#tst_imap_qst_mode_sc#:#Scelta singola assessment#:#tst_import_non_ilias_zip#:#Errore: Il nome del file di importazione caricato non corrisponde al formato previsto. assessment#:#tst_import_verify_found_questions#:#ILIAS ha trovato nel file da importare le seguenti domande: scegli quelle che vuoi inserire nel test. -assessment#:#tst_inp_all_quest_points_equal_per_pool#:#Require Pools with Homogeneous Scored Questions -assessment#:#tst_inp_all_quest_points_equal_per_pool_desc#:#If enabled, only question pools with homogeneous scored questions will be offered. The test will have an equal number of maximum points for all participating users and thus the test results will be better comparable. It is recommended to choose this selection mode. +assessment#:#tst_inp_all_quest_points_equal_per_pool#:#Solo raccolta di domande con punteggio omogeneo +assessment#:#tst_inp_all_quest_points_equal_per_pool_desc#:#Se abilitato, verranno offerti solo gruppi di domande con domande con punteggio omogeneo. Il test avrà un numero uguale di punti massimi per tutti gli utenti partecipanti e quindi i risultati del test saranno comparabili meglio. Si consiglia di scegliere questa modalità di selezione. assessment#:#tst_inp_dyn_quest_set_quest_ordering_by_date_desc#:#L'ordine di presentazione delle domande si basa sull'ultima data di modifica della domanda. assessment#:#tst_inp_dyn_quest_set_quest_ordering_by_tax_desc#:#L'ordine di presentazione delle domande si basa sulle assegnazioni della domanda in una tassonomia. assessment#:#tst_inp_no_available_tax_hint#:#Nessuna tassonomia per il gruppo di domande selezionato -assessment#:#tst_inp_quest_amount_cfg_mode#:#Question Amount -assessment#:#tst_inp_quest_amount_cfg_mode_pool#:#Configuration of the Question Amount per Selected Question Pools -assessment#:#tst_inp_quest_amount_cfg_mode_test#:#Configuration of the Question Amount per Test +assessment#:#tst_inp_quest_amount_cfg_mode#:#Quantità di domande +assessment#:#tst_inp_quest_amount_cfg_mode_pool#:#Configurazione della quantità di domande per gruppi di domande selezionati +assessment#:#tst_inp_quest_amount_cfg_mode_test#:#Configurazione del numero domande per test assessment#:#tst_inp_quest_amount_per_source_pool#:#Quantità di domande assessment#:#tst_inp_quest_amount_per_test#:#Numero di domande per l’intero test assessment#:#tst_inp_source_pool_filter_tax#:#Filtro tassonomia assessment#:#tst_inp_source_pool_filter_tax_x#:#Utilizza Tassonomia "%s" come filtro -assessment#:#tst_inp_source_pool_label#:#Source Question Pool +assessment#:#tst_inp_source_pool_label#:#Pool di domande di origine assessment#:#tst_inp_source_pool_no_tax_filter#:#Utilizza nessun filtro basato su tassonomia assessment#:#tst_input_dyn_quest_set_answer_status_filter_enabled#:#Fornisci Filtro stato risposta assessment#:#tst_input_dynamic_question_set_ordering_tax#:#Ordinare tassonomia @@ -1569,38 +1568,38 @@ assessment#:#tst_input_dynamic_question_set_ordering_tax_description#:#Le domand assessment#:#tst_input_dynamic_question_set_question_ordering#:#Domanda di ordinazione assessment#:#tst_input_dynamic_question_set_question_ordering_by_date#:#Ordina le domande per data assessment#:#tst_input_dynamic_question_set_question_ordering_by_tax#:#Ordina le domande per tassonomia -assessment#:#tst_input_dynamic_question_set_source_questionpool#:#Gruppo di domande di origine +assessment#:#tst_input_dynamic_question_set_source_questionpool#:#Raccolta di domande assessment#:#tst_input_dynamic_question_set_taxonomie_filter_enabled#:#Fornisci Filtro tassonomia -assessment#:#tst_insert_in_test#:#Insert in Test###28 10 2024 new variable +assessment#:#tst_insert_in_test#:#Insert in Test###28 11 2025 new variable assessment#:#tst_insert_missing_question#:#Per favore, scegli almeno una domanda da inserire nel test! assessment#:#tst_insert_questions#:#Sei sicuro di voler inserire le seguenti domande nel test? assessment#:#tst_instant_feedback#:#Feedback istantaneo - Queste informazioni vengono mostrate subito dopo l'avvenuta risposta ad una domanda -assessment#:#tst_instant_feedback_answer_generic#:#Mostra valutazione generica ("Corretto/Sbagliato") -assessment#:#tst_instant_feedback_answer_generic_desc#:#The generic feedback prints a simple "right" or "wrong" feedback according to configuration of the question. +assessment#:#tst_instant_feedback_answer_generic#:#Feedback sulla soluzione corretta +assessment#:#tst_instant_feedback_answer_generic_desc#:#Il feedback generico stampa un semplice feedback "giusto" o "sbagliato" in base alla configurazione della domanda. assessment#:#tst_instant_feedback_answer_specific#:#Mostra la valutazione delle specifiche delle risposte -assessment#:#tst_instant_feedback_answer_specific_desc#:#If answer-specific feedback is selected, the predefined feedback will be shown, depending on the answers of the participant (if supported by the question type). -assessment#:#tst_instant_feedback_contents#:#Included Contents -assessment#:#tst_instant_feedback_desc#:#When questions are configured with feedback it is provided to participants during the test pass. +assessment#:#tst_instant_feedback_answer_specific_desc#:#Se viene selezionato un feedback specifico per la risposta, verrà visualizzato il feedback predefinito, a seconda delle risposte del partecipante (se supportato dal tipo di domanda). +assessment#:#tst_instant_feedback_contents#:#Contenuto del feedback +assessment#:#tst_instant_feedback_desc#:#Quando le domande sono configurate con feedback, vengono fornite ai partecipanti durante il superamento del test. assessment#:#tst_instant_feedback_results#:#Mostra il risultato (in punti) -assessment#:#tst_instant_feedback_results_desc#:#If results (in points) are selected, the reached points will be shown. -assessment#:#tst_instant_feedback_solution#:#Mostra soluzione -assessment#:#tst_instant_feedback_solution_desc#:#If solutions are selected, the correct solution will be shown too. -assessment#:#tst_instant_feedback_trigger#:#Feedback Trigger -assessment#:#tst_instant_feedback_trigger_forced#:#The Feedback is Triggered by Answering Questions -assessment#:#tst_instant_feedback_trigger_forced_desc#:#The presentation of feedback is forced to all participants with answering a question. -assessment#:#tst_instant_feedback_trigger_manual#:#Participants can Trigger the Feedback Manually -assessment#:#tst_instant_feedback_trigger_manual_desc#:#The feedback is availble but will only be shown when a participant triggers the presentation manually. +assessment#:#tst_instant_feedback_results_desc#:#Se vengono selezionati i risultati (in punti), verranno visualizzati i punti raggiunti. +assessment#:#tst_instant_feedback_solution#:#Mostra la soluzione migliore +assessment#:#tst_instant_feedback_solution_desc#:#Se vengono selezionate le soluzioni, verrà mostrata anche la soluzione corretta. +assessment#:#tst_instant_feedback_trigger#:#Causa del riscontro +assessment#:#tst_instant_feedback_trigger_forced#:#Il feedback viene attivato dalle risposta alle domande +assessment#:#tst_instant_feedback_trigger_forced_desc#:# La presentazione del feedback è forzata a tutti i partecipanti con la risposta alla domanda. +assessment#:#tst_instant_feedback_trigger_manual#:#I partecipanti possono attivare manualmente il feedback +assessment#:#tst_instant_feedback_trigger_manual_desc#:#Il feedback è disponibile ma verrà mostrato solo quando un partecipante attiva manualmente la presentazione. assessment#:#tst_introduction#:#Introduzione -assessment#:#tst_introduction_desc#:#Shows an introductory message on the tab 'Info' of the test. This text is accessible already before the test can be started. +assessment#:#tst_introduction_desc#:#Mostra un messaggio introduttivo nella scheda "Informazioni" del test. Questo testo è accessibile già prima di poter avviare il test. assessment#:#tst_introduction_text#:#Messaggio iniziale assessment#:#tst_invited_nobody#:#Non è stato aggiunta nessuna persona, gruppo o ruolo come partecipante assessment#:#tst_invited_selected_users#:#Gli utenti selezionati sono stati aggiunti come partecipanti fissi -assessment#:#tst_launcher_button_label_passes_limit_reached#:#You have reached the limit of possible test passes###26 08 2024 new variable -assessment#:#tst_launcher_status_message_conditions#:#You will be asked for your approval of the exam conditions when you start the test.###26 08 2024 new variable -assessment#:#tst_launcher_status_message_conditions_and_password#:#You will be asked for the password and your approval of the exam conditions when you start the test.###26 08 2024 new variable -assessment#:#tst_launcher_status_message_password#:#You will be asked for the password when you start the test.###26 08 2024 new variable -assessment#:#tst_level#:#Livello di competenza -assessment#:#tst_limit_nr_of_tries#:#Maximum Number of Test Passes +assessment#:#tst_launcher_button_label_passes_limit_reached#:#You have reached the limit of possible test passes###30 04 2024 new variable +assessment#:#tst_launcher_status_message_conditions#:#You will be asked for your approval of the exam conditions when you start the test.###30 04 2024 new variable +assessment#:#tst_launcher_status_message_conditions_and_password#:#You will be asked for the password and your approval of the exam conditions when you start the test.###30 04 2024 new variable +assessment#:#tst_launcher_status_message_password#:#You will be asked for the password when you start the test.###30 04 2024 new variable +assessment#:#tst_level#:#Livello di competenze +assessment#:#tst_limit_nr_of_tries#:#Numero massimo di passaggi di prova assessment#:#tst_link_only_unassigned#:#Hai selezionato almeno una domanda che è già collegata a un gruppo di domande. Solo le domande non assegnate possono essere aggiunte al gruppo di domande. assessment#:#tst_list_answer_details#:#Mostra nell’elenco seguente assessment#:#tst_list_of_answers#:#Lista di risposte @@ -1608,67 +1607,67 @@ assessment#:#tst_list_of_answers_show#:#Mostra la lista delle risposte assessment#:#tst_list_of_questions_end#:#Mostra la lista delle domande prima che un partecipante finisca il test assessment#:#tst_list_of_questions_start#:#Mostra la lista delle domande prima della prima domanda assessment#:#tst_list_of_questions_with_description#:#Mostra la descrizione delle domande durante la visione generale -assessment#:#tst_man_scoring_answered_hide#:#Hide answered questions###29 10 2025 new variable -assessment#:#tst_man_scoring_answered_only#:#Show only answered questions###29 10 2025 new variable +assessment#:#tst_man_scoring_answered_hide#:#Hide answered questions###28 11 2025 new variable +assessment#:#tst_man_scoring_answered_only#:#Show only answered questions###28 11 2025 new variable assessment#:#tst_man_scoring_by_part#:#Punteggio per partecipante assessment#:#tst_man_scoring_by_qst#:#Punteggio per domanda -assessment#:#tst_man_scoring_finalized#:#Show finalized gradings###29 10 2025 new variable -assessment#:#tst_man_scoring_finalized_hide#:#Hide finalized gradings###29 10 2025 new variable -assessment#:#tst_man_scoring_finalized_only#:#Show only finalized gradings###29 10 2025 new variable -assessment#:#tst_man_scoring_only_answered#:#Only answered###29 07 2022 new variable -assessment#:#tst_man_scoring_questionselection#:#Questions###29 10 2025 new variable -assessment#:#tst_man_scoring_userselection#:#Participants###29 10 2025 new variable -assessment#:#tst_manage_competence_assigns#:#Gestione delle assegnazioni della competenza -assessment#:#tst_manage_competence_select_skills#:#Select Competences###29 10 2025 new variable +assessment#:#tst_man_scoring_finalized#:#Show finalized gradings###28 11 2025 new variable +assessment#:#tst_man_scoring_finalized_hide#:#Hide finalized gradings###28 11 2025 new variable +assessment#:#tst_man_scoring_finalized_only#:#Show only finalized gradings###28 11 2025 new variable +assessment#:#tst_man_scoring_only_answered#:#Only answered###29 06 2022 new variable +assessment#:#tst_man_scoring_questionselection#:#Questions###28 11 2025 new variable +assessment#:#tst_man_scoring_userselection#:#Participants###28 11 2025 new variable +assessment#:#tst_manage_competence_assigns#:#Gestione delle assegnazioni della competenze +assessment#:#tst_manage_competence_select_skills#:#Select Competences###28 11 2025 new variable assessment#:#tst_manscoring_input_max_points_for_question#:#Punti massimi per domanda -assessment#:#tst_manscoring_input_of_max#:#of###29 10 2025 new variable +assessment#:#tst_manscoring_input_of_max#:#of###28 11 2025 new variable assessment#:#tst_manscoring_input_question_and_user_solution#:#Domanda e soluzione utente assessment#:#tst_manscoring_maxpoints_exceeded_input_alert#:#Il massimo dei %s punti è superato! -assessment#:#tst_manscoring_no_feedback#:#No written feedback has been given yet.###29 10 2025 new variable +assessment#:#tst_manscoring_no_feedback#:#No written feedback has been given yet.###28 11 2025 new variable assessment#:#tst_manscoring_question_section_header#:#Domanda: %s assessment#:#tst_manscoring_user_notification#:#Invia notifica assessment#:#tst_mark#:#Voto assessment#:#tst_mark_create_new_mark_step#:#Crea un nuovo voto assessment#:#tst_mark_minimum_level#:#Livello minimo (in %) -assessment#:#tst_mark_minimum_level_invalid#:#Minimum Level must be between 0 and 100.###26 08 2024 new variable +assessment#:#tst_mark_minimum_level_invalid#:#Minimum Level must be between 0 and 100.###28 11 2025 new variable assessment#:#tst_mark_official_form#:#Form ufficiale assessment#:#tst_mark_passed#:#Superato assessment#:#tst_mark_reset_to_simple_mark_schema#:#Crea uno schema voti -assessment#:#tst_mark_reset_to_simple_mark_schema_confirmation#:#If you proceed the current mark schema set for this test will be replaced by a simple mark schema thus deleting all local changes.###26 08 2024 new variable +assessment#:#tst_mark_reset_to_simple_mark_schema_confirmation#:#If you proceed the current mark schema set for this test will be replaced by a simple mark schema thus deleting all local changes.###28 11 2023 new variable assessment#:#tst_mark_short_form#:#Form ridotto -assessment#:#tst_max_comp_points#:#Punti di massima competenza +assessment#:#tst_max_comp_points#:#Punti di massima competenze assessment#:#tst_maximum_points#:#Punteggi massimi assessment#:#tst_mc_label_none_above#:#Nessuna delle risposte in alto -assessment#:#tst_median_mark_panel#:#Mark of Median +assessment#:#tst_median_mark_panel#:#Identifica la mediana assessment#:#tst_msg_cannot_modify_dynamic_question_set_conf_due_to_part#:#La configurazione continua della selezione di domande non può essere modificata a causa dei dati dei partecipanti esistenti. assessment#:#tst_msg_cannot_modify_random_question_set_conf_due_to_part#:#La configurazione dell’insieme di domande casuali non può essere modificata a causa dei dati dei partecipanti esistenti. assessment#:#tst_msg_dynamic_question_set_config_modified#:#La configurazione continua della selezione di domande è stata modificata. assessment#:#tst_msg_rand_quest_set_change_quest_amount_here#:#Si può cambiare la quantità di domande qui: %s -assessment#:#tst_msg_rand_quest_set_incomplete_quest_amount_cfg#:#Without a correctly defined question amount, the generation of random test passes for participants is not possible. -assessment#:#tst_msg_rand_quest_set_lost_pools#:#La configurazione della selezione delle domande del test è stata bloccata, poiché i seguenti gruppi di domande coinvolti nella configurazione, non sono più disponibili:
%s +assessment#:#tst_msg_rand_quest_set_incomplete_quest_amount_cfg#:#Senza una quantità di domande correttamente definita, non è possibile generare passaggi di test casuali per i partecipanti. +assessment#:#tst_msg_rand_quest_set_lost_pools#:#La configurazione della selezione delle domande del test è stata bloccata, poiché i seguenti gruppi di domande coinvolti nella configurazione, non sono più disponibili: %s assessment#:#tst_msg_rand_quest_set_lost_pools_link#:#Nella sottoscheda %s i gruppi di domande non disponibili possono essere ricavati nuovamente. assessment#:#tst_msg_rand_quest_set_no_pools_available#:#Attualmente non è disponibile aggiungere nuove regole per la selezione di domande poiché non sono disponibili gruppi di domande. -assessment#:#tst_msg_rand_quest_set_no_src_pool_defs#:#Without the definition of source question pools, the generation of random test passes for participants is not possible. +assessment#:#tst_msg_rand_quest_set_no_src_pool_defs#:#Senza la definizione di pool di domande di origine, la generazione di passaggi di test casuali per i partecipanti non è possibile. assessment#:#tst_msg_rand_quest_set_not_sync#:#Le regole per una selezione casuale di domande sono state appena create o modificate. Le domande dei gruppi devono essere sincronizzate nel test prima di poter essere utilizzate. Questo controlla anche se è possibile un test casuale con l’insieme di regole fornite. assessment#:#tst_msg_rand_quest_set_pass_buildable#:#È possibile effettuare un test con una serie casuale di domande attraverso l’attuale configurazione. -assessment#:#tst_msg_rand_quest_set_pass_not_buildable#:#The generation of random test passes for participants is not possible with the current configuration of source question pools and question amount(s). +assessment#:#tst_msg_rand_quest_set_pass_not_buildable#:#La generazione di passaggi di test casuali per i partecipanti non è possibile con l'attuale configurazione di pool di domande di origine e quantità di domande. assessment#:#tst_msg_rand_quest_set_rule_label#:#Regola %s assessment#:#tst_msg_rand_quest_set_rule_not_satisfied_missing#:#Regola %s richiede %s domande, ma ci sono solo %s domande fornite. assessment#:#tst_msg_rand_quest_set_rule_not_satisfied_missing_shared#:#Inoltre, da queste domande ci sono %s domande fornite anche per le seguenti altre regole: %s assessment#:#tst_msg_rand_quest_set_rule_not_satisfied_reserved#:#Regola %s richiede %s domande e ci sono %s domande fornite. assessment#:#tst_msg_rand_quest_set_rule_not_satisfied_reserved_shared#:#Ma ci sono solo %s delle domande disponibili fornite garantite, a causa di intersezioni con le seguenti altre regole: %s -assessment#:#tst_msg_rand_quest_set_stage_pool_last_sync#:#The generation of random test passes for participants is possible with the current configuration.
The moment of the last synchronisation of the selected source question pools was: %s +assessment#:#tst_msg_rand_quest_set_stage_pool_last_sync#:#Data dell'ultima sincronizzazione dei pool di domande selezionati: %s assessment#:#tst_msg_random_qsc_modified_add_new_rule#:#La configurazione per la serie casuale di domande è stata modificata con successo. Adesso si può aggiungere una nuova regola. -assessment#:#tst_msg_random_question_set_config_modified#:#The configuration for the random test was successfully modified. +assessment#:#tst_msg_random_question_set_config_modified#:#La configurazione per il test casuale è stata modificata con successo. assessment#:#tst_msg_random_question_set_synced#:#Le domande per l’attuale configurazione sono state sincronizzate con successo. -assessment#:#tst_msg_skl_lvl_thresholds_saved#:#I limiti di competenza sono stati salvati. -assessment#:#tst_msg_skl_qst_assign_points_not_saved#:#I punti di competenza non sono stati salvati. Controllare il proprio ingresso. -assessment#:#tst_msg_skl_qst_assign_points_saved#:#The competence points has been saved. -assessment#:#tst_msg_source_pool_definitions_deleted#:#The source question pool definition has been deleted successfully. -assessment#:#tst_nav_next_locks_current_answer_confirm#:#When you navigate to the next question your answer to the current question will be locked and cannot be changed any longer. -assessment#:#tst_nav_next_locks_current_answer_header#:#Navigation to Next Question -assessment#:#tst_nav_next_locks_empty_answer_confirm#:#You did not answer the current question. An empty solution will be saved and locked as answer. This answer cannot be changed later on. -assessment#:#tst_nav_next_locks_empty_answer_header#:#Navigation Without Answer +assessment#:#tst_msg_skl_lvl_thresholds_saved#:#I limiti delle competenze sono stati salvati. +assessment#:#tst_msg_skl_qst_assign_points_not_saved#:#I punti di competenze non sono stati salvati. Controllare il proprio ingresso. +assessment#:#tst_msg_skl_qst_assign_points_saved#:#I punti delle competenze sono stati salvati. +assessment#:#tst_msg_source_pool_definitions_deleted#:#La definizione della raccolta di domande è stata eliminata correttamente. +assessment#:#tst_nav_next_locks_current_answer_confirm#:#Quando si passa alla domanda successiva, la risposta alla domanda corrente verrà bloccata e non sarà più possibile modificarla. +assessment#:#tst_nav_next_locks_current_answer_header#:#Navigazione alla domanda successiva +assessment#:#tst_nav_next_locks_empty_answer_confirm#:#Non hai risposto alla domanda attuale. Una soluzione vuota verrà salvata e bloccata come risposta. Questa risposta non può essere modificata in seguito. +assessment#:#tst_nav_next_locks_empty_answer_header#:#Navigazione senza risposta assessment#:#tst_nav_while_edit_modal_cancel_btn#:#Annulla assessment#:#tst_nav_while_edit_modal_header#:#Decisione sulle risposte assessment#:#tst_nav_while_edit_modal_nosave_btn#:#Non salvare @@ -1678,83 +1677,83 @@ assessment#:#tst_no_evaluation_data#:#Non sono ancora disponibili dati relativi assessment#:#tst_no_marks_defined#:#Non sono stati definiti i voti. Per favore, crea almeno uno schema per i voti! assessment#:#tst_no_question_selected_for_moving_to_qpl#:#Si prega di scegliere almeno uno domanda da aggiungere al gruppo di domande! assessment#:#tst_no_question_selected_for_removal#:#Per favore, scegli almeno una domanda da eliminare! -assessment#:#tst_no_scorable_qst_available#:#No scorable question available -assessment#:#tst_non_avail_pool_msg_status_lost#:#Il gruppo di domande non è più disponibile. La sincronizzazione del domande da questo gruppo non è più possibile. È possibile ricavare un nuovo gruppo di domande dalle domande contenute in questo test. +assessment#:#tst_no_scorable_qst_available#:#Nessuna domanda valutabile disponibile +assessment#:#tst_non_avail_pool_msg_status_lost#:#la raccolta di domande non è più disponibile. La sincronizzazione del domande da questa raccolta non è più possibile. È possibile ricavare una nuova raccolta di domande dalle domande contenute in questo test. assessment#:#tst_non_avail_pool_msg_status_trashed#:#Questo gruppo di domande è cestinato, quando viene rimosso in modo permanente dal sistema, il test non è più in grado di sincronizzare le domande da esso. -assessment#:#tst_non_avail_pools_table#:#Gruppi di domande non disponibili +assessment#:#tst_non_avail_pools_table#:#Raccolte di domande non disponibili assessment#:#tst_non_available_pool_newly_derived#:#Il/I nuovo/i gruppo/i di domande è/sono stato/i creato/i con successo. assessment#:#tst_nonpool_questions_get_lost_warning#:#La modalità di test corrente include le domande nella configurazione che non sono assegnate a un gruppo di domande. Se si modifica la modalità di test, queste domande verranno perse definitivamente. assessment#:#tst_notification_explanation_admin#:#Ricevi questa mail da ILIAS perché hai attivato la notifica. assessment#:#tst_notify_manscoring_done_body_msg_reason#:#Hai ricevuto questa notifica perchè hai partecipato a questo test. -assessment#:#tst_notify_manscoring_done_body_msg_subject#:#Manual Scoring for Test "%s" comitted +assessment#:#tst_notify_manscoring_done_body_msg_subject#:#Punteggio manuale per il test "%s" impegnato assessment#:#tst_notify_manscoring_done_body_msg_topic#:#il punteggio manuale per la prova seguente è stato eseguito: assessment#:#tst_nr_of_passes#:#Numero dei test passati assessment#:#tst_nr_of_tries#:#Numero massimo di tentativi assessment#:#tst_nr_of_tries_desc#:#Numero massimo di tentativi che il partecipante può fare. assessment#:#tst_num_all_questions#:#Numero di tutte le domande -assessment#:#tst_num_correct_answered_questions#:#Correct Answered Questions -assessment#:#tst_num_non_answered_questions_notseen#:#Non Answered Questions (never seen) -assessment#:#tst_num_non_answered_questions_skipped#:#Non Answered Questions (skipped) +assessment#:#tst_num_correct_answered_questions#:#Domande con risposta corretta +assessment#:#tst_num_non_answered_questions_notseen#:#Domande senza risposta (mai viste) +assessment#:#tst_num_non_answered_questions_skipped#:#Domande senza risposta (saltate) assessment#:#tst_num_questions#:#Numero delle domande assessment#:#tst_num_selected_questions#:#Numero delle domande selezionate -assessment#:#tst_num_wrong_answered_questions#:#Wrong Answered Questions +assessment#:#tst_num_wrong_answered_questions#:#Domande con risposta errata assessment#:#tst_objective_oriented_test_pass_without_questions#:#Il passaggio avviato per il test "%s" non contiene alcuna domanda. assessment#:#tst_objective_progress_header#:#Progresso dell’obiettivo di apprendimento assessment#:#tst_objectives_progress_header#:#Progresso degli obiettivi di apprendimento -assessment#:#tst_old_style_rnd_quest_set_broken#:#Questo test casuale è in uno stato irreparabile perché uno o più gruppi di domande sono stati eliminati. Pertanto i partecipanti non possono più effettuare i test. -assessment#:#tst_optional_questions_confirmation_non_fixed_test#:#Question related to allready passed learning objectives are optional.

You want to navigate to a question, that relates to an allready passed learning objective.
You can choose:

I you proceed, you can work on these questions. Your answers from previous attempts were not adopted, since new random questions were selected for this attempt. With working on this questions you can also degrade your learning objective result.

If you decide to not work on these questions, you can go back. In this case these questions won't be considered in the evaluation. -assessment#:#tst_out_of_time_message#:#You have reached the maximum allowed processing time of the test!###26 08 2024 new variable +assessment#:#tst_old_style_rnd_quest_set_broken#:#Questo test casuale è in uno stato irreparabile perché una o più raccolte di domande sono state eliminate. Pertanto i partecipanti non possono più effettuare i test. +assessment#:#tst_optional_questions_confirmation_non_fixed_test#:# La domanda relativa agli obiettivi di apprendimento già superati è facoltativa.

Desideri passare a una domanda relativa a un obiettivo di apprendimento già superato.
Puoi scegliere:

se procedi, puoi lavorare su queste domande. Le tue risposte da precedenti tentativi non sono state adottate, poiché per questo tentativo sono state selezionate nuove domande casuali. Lavorando su queste domande puoi anche peggiorare il risultato del tuo obiettivo di apprendimento.

Se decidi di non lavorare su queste domande, puoi tornare indietro. In questo caso queste domande non saranno prese in considerazione nella valutazione. +assessment#:#tst_out_of_time_message#:#You have reached the maximum allowed processing time of the test!###30 04 2024 new variable assessment#:#tst_participant#:#Participante assessment#:#tst_participant_fullname_pattern#:#%2$s, %1$s assessment#:#tst_participant_status#:#Stato del partecipante assessment#:#tst_participating_users#:#Utenti partecipanti assessment#:#tst_pass_best_pass#:#Punteggio della miglior prova dell'utente assessment#:#tst_pass_best_pass_desc#:#Verrà segnato il passaggio meglio eseguito dal partecipante. Questa impostazione si applica solo quando è possibile superare più di un test. -assessment#:#tst_pass_deletion#:#Passaggi precedenti +assessment#:#tst_pass_deletion#:#Cancellare i passaggi precedenti assessment#:#tst_pass_deletion_allowed#:#L’eliminazione dei passaggi precedenti è consentita assessment#:#tst_pass_details#:#Mostra i dettagli -assessment#:#tst_pass_details_header_lo_initial#:#Risultati dei test iniziali per gli obiettivi di apprendimento
%s - %s -assessment#:#tst_pass_details_header_lo_qualifying#:#Risultati dei test qualificativi per gli obiettivi di apprendimento
%s - %s -assessment#:#tst_pass_details_overview_table_title#:#Panoramica dettagliata per il passaggio %s -assessment#:#tst_pass_finished#:#Test attempt finished###26 08 2024 new variable -assessment#:#tst_pass_finished_on#:#Testo superato finito su +assessment#:#tst_pass_details_header_lo_initial#:#Risultati dei test iniziali per gli obiettivi di apprendimento %s - %s +assessment#:#tst_pass_details_header_lo_qualifying#:#Risultati dei test qualificativi per gli obiettivi di apprendimento %s - %s +assessment#:#tst_pass_details_overview_table_title#:#Risultati dettagliati del test per l'esecuzione del test %s +assessment#:#tst_pass_finished#:#Test pass finished###24 11 2022 new variable +assessment#:#tst_pass_finished_on#:#Testo superato finito il assessment#:#tst_pass_last_pass#:#Punteggio dell'ultimo tentativo dell'utente assessment#:#tst_pass_last_pass_desc#:#Verrà segnato l’ultimo passaggio di un partecipante. assessment#:#tst_pass_overview_for_participant#:#Test superati per il partecipante: %s -assessment#:#tst_pass_overview_header_lo_initial_all_objectives#:#Risultati dei test iniziali
per gli obiettivi di apprendimento all’interno del corso %s -assessment#:#tst_pass_overview_header_lo_initial_per_objective#:#Risultati dei test iniziali
per gli obiettivi di apprendimento %s all’interno del corso %s -assessment#:#tst_pass_overview_header_lo_qualifying_all_objectives#:#Risultati dei test qualificativi
per gli obiettivi di apprendimento all’interno del corso %s -assessment#:#tst_pass_overview_header_lo_qualifying_per_objective#:#Risultati dei test qualificativi
per gli obiettivi di apprendimento %s all’interno del corso %s +assessment#:#tst_pass_overview_header_lo_initial_all_objectives#:#Risultati dei test iniziali per gli obiettivi di apprendimento all’interno del corso %s +assessment#:#tst_pass_overview_header_lo_initial_per_objective#:#Risultati dei test iniziali per gli obiettivi di apprendimento %s all’interno del corso %s +assessment#:#tst_pass_overview_header_lo_qualifying_all_objectives#:#Risultati dei test qualificativi per gli obiettivi di apprendimento all’interno del corso %s +assessment#:#tst_pass_overview_header_lo_qualifying_per_objective#:#Risultati dei test qualificativi per gli obiettivi di apprendimento %s all’interno del corso %s assessment#:#tst_pass_scoring#:#Punteggio per tentativi multipli -assessment#:#tst_pass_scoring_best#:#Best Test Attempt###26 08 2024 new variable -assessment#:#tst_pass_scoring_last#:#Last Test Attempt###26 08 2024 new variable +assessment#:#tst_pass_scoring_best#:#Best Test Attempt###30 04 2024 new variable +assessment#:#tst_pass_scoring_last#:#Last Test Attempt###30 04 2024 new variable assessment#:#tst_pass_waiting_enabled#:#Forza tempo di attesa tra i passaggi assessment#:#tst_pass_waiting_info#:#Con questa opzione aggiuntiva i passaggi non possono essere avviati prima che il tempo definito sia scaduto in relazione all’ultimo passaggio terminato. assessment#:#tst_pass_waiting_time#:#Tempo di attesa -assessment#:#tst_passed#:#Passed###07 02 2020 new variable -assessment#:#tst_passes#:#Svolgimento del test +assessment#:#tst_passed#:#Ammesso +assessment#:#tst_passes#:#Test eseguiti assessment#:#tst_password#:#Password del test assessment#:#tst_password_details#:#Se viene definita una password per fare il test tutti i partecipanti dovranno inserirla per iniziarlo. -assessment#:#tst_password_enter#:#Password di accesso +assessment#:#tst_password_enter#:#Inserire la password di accesso assessment#:#tst_password_entered_wrong_password#:#Non puoi iniziare il test perchè hai inserito la password sbagliata! assessment#:#tst_password_form#:#Password di accesso del test assessment#:#tst_password_introduction#:#Questo test può essere fatto solo dopo l'inserimento di una password. Inseriscila qui per favore. assessment#:#tst_percent_solved#:#Percentuale risolta -assessment#:#tst_player_answer_saved_and_locked#:#Answer is saved and locked and can no longer be changed###26 08 2024 new variable -assessment#:#tst_please_select_source_pool#:#Please select a question pool.###26 08 2024 new variable +assessment#:#tst_player_answer_saved_and_locked#:#Answer is saved and locked and can no longer be changed###21 12 2022 new variable +assessment#:#tst_please_select_source_pool#:#Please select a question pool.###13 09 2023 new variable assessment#:#tst_please_select_target_for_pool_derives#:#Selezionare un contenitore di destinazione. assessment#:#tst_position#:#Domanda %s di %s assessment#:#tst_position_without_total#:#Domanda %s assessment#:#tst_postpone#:#Domande posticipate -assessment#:#tst_postpone_off#:#Not answered questions will not be postponed -assessment#:#tst_postpone_off_desc#:#Not answered questions will be kept at their position. -assessment#:#tst_postpone_on#:#Not answered questions will be postponed -assessment#:#tst_postpone_on_desc#:#Not answered questions will be postponed to the end of the test. +assessment#:#tst_postpone_off#:#Le domande senza risposta non verranno posticipate +assessment#:#tst_postpone_off_desc#:#Le domande senza risposta verranno mantenute nella loro posizione. +assessment#:#tst_postpone_on#:#Le domande senza risposta verranno posticipate +assessment#:#tst_postpone_on_desc#:#Le domande senza risposta verranno posticipate alla fine del test. assessment#:#tst_presentation_properties#:#Impostazioni della presentazione -assessment#:#tst_presentation_settings_section#:#Presentation -assessment#:#tst_previous_access_code_not_available#:#No previous code available!###26 08 2024 new variable +assessment#:#tst_presentation_settings_section#:#Presentazione +assessment#:#tst_previous_access_code_not_available#:#No previous code available!###30 04 2024 new variable assessment#:#tst_print#:#Test e valutazione - Anteprima di stampa -assessment#:#tst_proceed#:#Proceed +assessment#:#tst_proceed#:#Procedere assessment#:#tst_processing_time#:#Tempo massimo di esecuzione assessment#:#tst_processing_time_desc#:#Il conteggio del tempo massimo di elaborazione inizia nel momento in cui un utente avvia un test per la prima volta e termina dopo la scadenza del periodo di tempo immesso. Se si utilizza questa opzione, la possibilità di sospendere il test deve essere disattivato (vedere "Impostazioni di sequenza"), in quanto la sospensione della prova non ferma il conto alla rovescia del tempo di elaborazione massimo. assessment#:#tst_processing_time_duration#:#Durata massima del test @@ -1763,102 +1762,102 @@ assessment#:#tst_qbt_filter_question_title#:#Titolo della domanda assessment#:#tst_qst_added_to_pool_p#:#Domande aggiunte con successo al gruppo selezionato. assessment#:#tst_qst_added_to_pool_s#:#Domanda aggiunta con successo al gruppo selezionato. assessment#:#tst_qst_order#:#Ordine -assessment#:#tst_qst_skl_cfg_in_pool_hint_dynquestset#:#L’assegnazione delle domande di competenza per i test con modalità "%s" deve essere effettuata nel gruppo di domande corrispondente:
%s

La configurazione dei valori limite deve essere effettuata nel test. -assessment#:#tst_qst_skl_cfg_in_pool_hint_rndquestset#:#L’assegnazione delle domande di competenza per i test con modalità "%s" deve essere eseguita nel/nei gruppo/i di domande corrispondente/i:
%s

La configurazione dei valori limite deve essere effettuata nel test. +assessment#:#tst_qst_skl_cfg_in_pool_hint_dynquestset#:#L’assegnazione delle domande di competenze per i test con modalità "%s" deve essere effettuata nel gruppo di domande corrispondente: %s La configurazione dei valori limite deve essere effettuata nel test. +assessment#:#tst_qst_skl_cfg_in_pool_hint_rndquestset#:#L’assegnazione delle domande di competenze per i test con modalità "%s" deve essere eseguita nel/nei gruppo/i di domande corrispondente/i: %s La configurazione dei valori limite deve essere effettuata nel test. assessment#:#tst_question#:#Domanda assessment#:#tst_question_amount#:#Quantità di domande -assessment#:#tst_question_answer_status#:#Answer Status -assessment#:#tst_question_answer_status_all_non_correct#:#All Questions (Except Correct Answered Ones) +assessment#:#tst_question_answer_status#:#Stato risposta +assessment#:#tst_question_answer_status_all_non_correct#:#Tutte le domande (tranne quelle con risposta corretta) assessment#:#tst_question_answer_status_non_answered#:#Domande non risposte -assessment#:#tst_question_answer_status_wrong_answered#:#Wrong Answered Questions +assessment#:#tst_question_answer_status_wrong_answered#:#Domande con risposta errata assessment#:#tst_question_feedback_back_to_feedback_form#:#Torna alla domanda di chiamata assessment#:#tst_question_feedback_edit_page#:#Modifica contenuto assessment#:#tst_question_mark#:#Segna questa domanda assessment#:#tst_question_marked#:#Hai selezionato la domanda -assessment#:#tst_question_marker#:#Marcatura +assessment#:#tst_question_marker#:#Marcata assessment#:#tst_question_no#:#Ordine -assessment#:#tst_question_not_from_pool_info#:#Nessun gruppo +assessment#:#tst_question_not_from_pool_info#:#Nessuna raccolta assessment#:#tst_question_not_marked#:#La domanda non è segnata assessment#:#tst_question_offer#:#Va bene questo esempio o ne vuoi un altro? -assessment#:#tst_question_set_type#:#Test Mode -assessment#:#tst_question_set_type_dynamic#:#Continuous Testing -assessment#:#tst_question_set_type_dynamic_desc#:#With this mode exactly one question pool is to be selected. The test is taken in a never ending pass by the participants and the questions are selected individually and on demand for each participant. -assessment#:#tst_question_set_type_fixed#:#Testing with Fixed Set of Questions -assessment#:#tst_question_set_type_fixed_desc#:#With this mode a fixed set of questions is to be selected and is used for all participants. Depending on the detailed test configuration the participants can take one or more test passes. -assessment#:#tst_question_set_type_random#:#Testing with Random Set of Questions -assessment#:#tst_question_set_type_random_desc#:#With this mode one or more question pools are to be selected from which an individual random set of questions is selected for each participant. Depending on the detailed test configuration the participants can take one or more test passes. -assessment#:#tst_question_title#:#Titolo +assessment#:#tst_question_set_type#:#Scelta delle domande di prova +assessment#:#tst_question_set_type_dynamic#:#Test continui - tutte le domande di una raccolta di domande +assessment#:#tst_question_set_type_dynamic_desc#:#Con questa modalità è necessario selezionare esattamente una raccolta di domande. Il test viene svolto in un passaggio senza fine dai partecipanti e le domande vengono selezionate individualmente e su richiesta per ciascun partecipante. +assessment#:#tst_question_set_type_fixed#:#Test con set di domande fisso +assessment#:#tst_question_set_type_fixed_desc#:#Con questa modalità è necessario selezionare una serie fissa di domande da utilizzare per tutti i partecipanti. A seconda della configurazione dettagliata del test, i partecipanti possono effettuare uno o più passaggi del test. +assessment#:#tst_question_set_type_random#:#Test con una serie casuale di domande +assessment#:#tst_question_set_type_random_desc#:#Con questa modalità è necessario selezionare uno o più gruppi di domande da cui viene selezionato un singolo insieme casuale di domande per ciascun partecipante. A seconda della configurazione dettagliata del test, i partecipanti possono effettuare uno o più passaggi del test. +assessment#:#tst_question_title#:#Titolo della domanda assessment#:#tst_question_type#:#Tipo di domanda assessment#:#tst_questions_inserted#:#Domande inserite! assessment#:#tst_questions_removed#:#Domande cancellate! assessment#:#tst_random_nr_of_questions#:#Quante domande vuoi inserire? -assessment#:#tst_random_question_set_source_questionpool_summary_string#:#%s (Percorso: %s) [%s Domande] +assessment#:#tst_random_question_set_source_questionpool_summary_string#:#%s (Path: %s) [%s Questions]###30 04 2024 new variable assessment#:#tst_random_select_questionpool#:#Seleziona la raccolta dalla quale verranno prese le domande assessment#:#tst_reached_points#:#Punteggio raggiunto -assessment#:#tst_reached_points_of_max#:#%s of %s###07 02 2020 new variable +assessment#:#tst_reached_points_of_max#:#%s di %s assessment#:#tst_remove_mark#:#Rimuovi questo voto assessment#:#tst_remove_question#:#Sei sicuro di voler eliminare la domanda seguente dal test? assessment#:#tst_remove_questions#:#Sei sicuro di voler eliminare le seguenti domande dal test? assessment#:#tst_remove_questions_and_results#:#Questo test è gia' stato eseguito da %s utente(i). Se vengono tolte domande dal test, verrano cancellati tutti i risultati precedenti degli utenti al test. Sei sicuro di voler rimuovere le seguenti domande dal test? assessment#:#tst_report_after_date#:#Dopo una data prefissata -assessment#:#tst_report_after_first_question#:#Offrire il risultato del test subito dopo l'inizio dello stesso

Offer score reporting when the test has been started -assessment#:#tst_report_after_passed#:#Offer test results when the test has been passed +assessment#:#tst_report_after_first_question#:#Offrire il risultato del test subito dopo l'inizio dello stesso +assessment#:#tst_report_after_passed#:#Offri i risultati del test quando il test è stato superato assessment#:#tst_report_after_test#:#Esegui un rapporto con il punteggio al termine del test assessment#:#tst_report_never#:#Nessun risultato del test disponibile assessment#:#tst_reporting_date#:#Data -assessment#:#tst_res_jump_to_participant_btn#:#Passa -assessment#:#tst_res_jump_to_participant_hint_opt#:#Passa al partecipante +assessment#:#tst_res_jump_to_participant_btn#:#Salta +assessment#:#tst_res_jump_to_participant_hint_opt#:#--Salta al partecipante-- assessment#:#tst_res_lo_objectives_header#:#Obiettivi di apprendimento pertinenti assessment#:#tst_res_lo_try_header#:#Tentativo -assessment#:#tst_res_lo_try_n#:#Tentativo %s -assessment#:#tst_res_tab_msg_no_lp_access#:#You are currently not allowed to access your Learning Progress, as you are not allowed to see your test results.###29 10 2025 new variable -assessment#:#tst_res_tab_msg_res_after_date#:#You test results will be offered here on the following date: %s -assessment#:#tst_res_tab_msg_res_after_date_no_res#:#When you take the test your results will be offered here on the following date: %s -assessment#:#tst_res_tab_msg_res_after_finish_test#:#After finishing the test your results will be offered here. -assessment#:#tst_res_tab_msg_res_after_taking_test#:#After taking the test your results will be offered here. -assessment#:#tst_res_tab_msg_res_after_test_passed#:#After passing the test your results will be offered here. +assessment#:#tst_res_lo_try_n#:#Tentativo %s. +assessment#:#tst_res_tab_msg_no_lp_access#:#You are currently not allowed to access your Learning Progress, as you are not allowed to see your test results.###01 04 2025 new variable +assessment#:#tst_res_tab_msg_res_after_date#:#I risultati del test verranno offerti qui alla seguente data: %s +assessment#:#tst_res_tab_msg_res_after_date_no_res#:#Quando si esegue il test, i risultati verranno offerti qui alla data seguente: %s +assessment#:#tst_res_tab_msg_res_after_finish_test#:#Dopo aver terminato il test, i risultati verranno offerti qui. +assessment#:#tst_res_tab_msg_res_after_taking_test#:#Dopo aver effettuato il test, i risultati verranno offerti qui. +assessment#:#tst_res_tab_msg_res_after_test_passed#:#Dopo aver superato il test, i risultati verranno offerti qui. assessment#:#tst_reset_processing_time#:#Resettare la durata massima del test -assessment#:#tst_reset_processing_time_desc#:#Se selezionato, il tempo limite di esecuzione verrà riportato al massimo non appena è stato superato un test.
Questo settaggio funziona solo con l'abilitazione del tempo limite di esecuzione e l'esecuzione di più test.
+assessment#:#tst_reset_processing_time_desc#:#Se selezionato, il tempo limite di esecuzione verrà riportato al massimo non appena è stato superato un test. Questo settaggio funziona solo con l'abilitazione del tempo limite di esecuzione e l'esecuzione di più test. assessment#:#tst_result#:#Risultato del test assessment#:#tst_result_pass#:#Risultato del superamento del test assessment#:#tst_result_user_name#:#Risultati del test di %s assessment#:#tst_result_user_name_pass#:#Risultati del test %s per %s assessment#:#tst_results#:#Risultati del test -assessment#:#tst_results_access_always#:#Sempre -assessment#:#tst_results_access_always_desc#:#Participants can access their results on the 'Info'-tab immediately after starting the test pass and while still taking the test. Additionally ILIAS will present them with their test results immediately after finishing the test. -assessment#:#tst_results_access_date#:#Data -assessment#:#tst_results_access_date_desc#:#Participants get access to their test results on the 'Info'-tab after the defined date. +assessment#:#tst_results_access_always#:#Immediatamente +assessment#:#tst_results_access_always_desc#:#I partecipanti possono accedere ai loro risultati nella scheda "Informazioni" immediatamente dopo aver iniziato il superamento del test e continuando a sostenere il test. Inoltre ILIAS presenterà loro i risultati dei test immediatamente dopo aver terminato il test. +assessment#:#tst_results_access_date#:#Dalla data seguente +assessment#:#tst_results_access_date_desc#:#I partecipanti ottengono l'accesso ai risultati del test nella scheda "Informazioni" dopo la data definita. assessment#:#tst_results_access_enabled#:#Accedi ai risultati del test -assessment#:#tst_results_access_enabled_desc#:#A button 'Show Test Results' will be displayed to participants on the 'Info'-tab. Options in this and the following sections below configure what information is to be included into the report and when it will be accessible. +assessment#:#tst_results_access_enabled_desc#:#Un pulsante "Mostra risultati del test" verrà visualizzato ai partecipanti nella scheda "Informazioni". Le opzioni presenti in questa e nelle seguenti sezioni configurano quali informazioni devono essere incluse nel report e quando saranno accessibili. assessment#:#tst_results_access_finished#:#Dopo il termine del test -assessment#:#tst_results_access_finished_desc#:#ILIAS displays the test results after the test pass is finished. After finishing the test pass participants can access their test results on the 'Info'-tab at any time. -assessment#:#tst_results_access_passed#:#After Test has been Passed -assessment#:#tst_results_access_passed_desc#:#ILIAS displays the test results after the participant has passed the test. After passing the test participants can access their test results within the 'Results'-tab at any time. +assessment#:#tst_results_access_finished_desc#:#ILIAS visualizza i risultati del test al termine del test. Dopo aver terminato il test, i partecipanti possono accedere ai risultati del test nella scheda "Informazioni" in qualsiasi momento. +assessment#:#tst_results_access_passed#:#Dopo che i test sono stati superati +assessment#:#tst_results_access_passed_desc#:#ILIAS mostra il risultati dei test dopo che i partecipanti li hanno superati. Dopo aver completato il test, i partecipanti potranno accedere ai risultati dalla tab 'Risultati' in ogni momento. assessment#:#tst_results_access_setting#:#Punto nel tempo assessment#:#tst_results_aggregated#:#Risultati aggregati del test assessment#:#tst_results_back_introduction#:#Torna indietro alla introduzione assessment#:#tst_results_back_overview#:#Torna indietro ai risultati assessment#:#tst_results_details_options#:#Ulteriori dettagli da includere nei risultati del test -assessment#:#tst_results_gamification#:#Gamification###26 08 2024 new variable -assessment#:#tst_results_grading_opt_show_details#:#Show detailed test results###26 08 2024 new variable -assessment#:#tst_results_grading_opt_show_details_desc#:#In addition to the summary test result, a "Detailed Results" action is provided. The "Detailed test results" table shows the titles of the questions and the points achieved for each run. The content of the table can be further supplemented in the "Further options" section.###26 08 2024 new variable -assessment#:#tst_results_grading_opt_show_mark#:#Show Resulting Mark only -assessment#:#tst_results_grading_opt_show_mark_desc#:#The resulting mark will be appended to the summary test result. Participants can access their test results on the 'Info'-tab. -assessment#:#tst_results_grading_opt_show_status#:#Show Passed/Failed Status only -assessment#:#tst_results_grading_opt_show_status_desc#:#Information on the "Passed" / "Failed" Status will be appended to the summary test result. Participants can access their test results on the 'Info'-tab.
+assessment#:#tst_results_gamification#:#Gamification###31 03 2023 new variable +assessment#:#tst_results_grading_opt_show_details#:#Show detailed test results###31 03 2023 new variable +assessment#:#tst_results_grading_opt_show_details_desc#:#In addition to the summary test result, a "Detailed Results" action is provided. The "Detailed test results" table shows the titles of the questions and the points achieved for each run. The content of the table can be further supplemented in the "Further options" section.###31 03 2023 new variable +assessment#:#tst_results_grading_opt_show_mark#:#Mostra solo il voto risultante +assessment#:#tst_results_grading_opt_show_mark_desc#:#Il voto risultante verrà aggiunto al risultato del test di riepilogo. I partecipanti possono accedere ai risultati dei test nella scheda "Informazioni". +assessment#:#tst_results_grading_opt_show_status#:#Mostra solo stato "superato" / "non riuscito" +assessment#:#tst_results_grading_opt_show_status_desc#:#Le informazioni sullo stato "Superato" / "Non riuscito" verranno aggiunte al risultato del test di riepilogo. I partecipanti possono accedere ai risultati dei test nella scheda "Informazioni". assessment#:#tst_results_overview#:#Supervisione dei test assessment#:#tst_results_print_best_solution#:#Soluzione migliore nei risultati del test assessment#:#tst_results_print_best_solution_info#:#Se attivato e accessibile dal partecipante, la soluzione migliore appare nel riepilogo dei risultati del test. assessment#:#tst_resume_test#:#Riprendi il test assessment#:#tst_revert_changes#:#Annulla modifica -assessment#:#tst_rnd_quest_cfg_tab_general#:#General Config -assessment#:#tst_rnd_quest_cfg_tab_pool#:#Source Question Pools -assessment#:#tst_rnd_quest_set_cfg_general_form#:#Random Question Selection Config -assessment#:#tst_rnd_quest_set_cfg_pool_form#:#Source Question Pool Definition -assessment#:#tst_rnd_quest_set_tb_add_pool_btn#:#Add New Source Question Pool Definition +assessment#:#tst_rnd_quest_cfg_tab_general#:#Configurazione generale della scelta delle domande +assessment#:#tst_rnd_quest_cfg_tab_pool#:#Raccolte di domande scelte +assessment#:#tst_rnd_quest_set_cfg_general_form#:#Configurazione della selezione domande casuali +assessment#:#tst_rnd_quest_set_cfg_pool_form#:#Definizione della raccolta di domande di origine +assessment#:#tst_rnd_quest_set_tb_add_pool_btn#:#Aggiungi nuova definizione pool di domande sorgente assessment#:#tst_save_and_create_new_rule#:#Salva e aggiungi nuova regola assessment#:#tst_save_and_proceed#:#Salva e procedi -assessment#:#tst_save_comp_points#:#Salva punti di competenza +assessment#:#tst_save_comp_points#:#Salva punti di competenze assessment#:#tst_save_manscoring_failed#:#Il salvataggio del punteggio manuale per il superamento del test %s non è riuscito. assessment#:#tst_save_thresholds#:#Salva limiti assessment#:#tst_saved_manscoring_by_question_successfully#:#Il punteggio manuale per la domanda %s per il superamento del test %s è stato salvato con successo. @@ -1868,60 +1867,60 @@ assessment#:#tst_score_cut_question_desc#:#I partecipanti possono ottenere risul assessment#:#tst_score_cut_test#:#Tagliare i punti negativi dalla somma dei risultati di tutte le domande.
assessment#:#tst_score_cut_test_desc#:#I partecipanti potrebbero ottenere punti negativi nelle domande. Vengono sommati i punti ottenuti in tutte le domande. Solo se il risultato complessivo del test è negativo, questo risultato complessivo sarà impostato su 0 punti. Con questa impostazione i punti negativi hanno molta importanza. assessment#:#tst_score_cutting#:#Tagliare i punti negativi -assessment#:#tst_search_users#:#Aggiungi un numero fisso di partecipanti +assessment#:#tst_search_users#:#Trova partecipanti assessment#:#tst_select_questionpool#:#Per favore, seleziona la raccolta alla quale verra' aggiunta la domanda assessment#:#tst_selected_user_data_deleted#:#I dati del test degli utenti selezionati sono stati eliminati con successo. -assessment#:#tst_sequence_properties#:#Proprieta' della sequenza +assessment#:#tst_sequence_properties#:#Esecuzione: Funzioni per i partecipanti assessment#:#tst_set_offline_due_to_switched_question_set_type_setting#:#Il test deve essere impostato su offline perché l’impostazione della modalità è stata modificata. È necessario impostare una nuova modalità di test relativa alla configurazione della domanda prima che il test possa essere impostato nuovamente online. -assessment#:#tst_settings_conflict_postpone_and_lock#:#"Unanswered questions will be enqueued" cannot be used together with "Lock Answers After Moving to Next Question".###26 08 2024 new variable -assessment#:#tst_settings_conflict_shuffle_and_lock#:#"Shuffle Questions" cannot be used together with "Lock Answers After Moving to Next Question".###26 08 2024 new variable -assessment#:#tst_settings_form_reload_needed#:#The form needed to be reloaded to avoid data loss as the available settings have changed due to the removal of all results of participants.###29 10 2025 new variable -assessment#:#tst_settings_header_additional#:#Additional Features###26 08 2024 new variable -assessment#:#tst_settings_header_execution#:#Gestire il test: Accesso +assessment#:#tst_settings_conflict_postpone_and_lock#:#"Unanswered questions will be enqueued" cannot be used together with "Lock Answers After Moving to Next Question".###30 04 2024 new variable +assessment#:#tst_settings_conflict_shuffle_and_lock#:#"Shuffle Questions" cannot be used together with "Lock Answers After Moving to Next Question".###30 04 2024 new variable +assessment#:#tst_settings_form_reload_needed#:#The form needed to be reloaded to avoid data loss as the available settings have changed due to the removal of all results of participants.###23 09 2025 new variable +assessment#:#tst_settings_header_additional#:#Additional Features###30 04 2024 new variable +assessment#:#tst_settings_header_execution#:#Esecuzione: Accesso assessment#:#tst_settings_header_intro#:#Informazioni prima di iniziare il test -assessment#:#tst_settings_header_test_run#:#Administering the Test: Testrun -assessment#:#tst_settings_not_found#:#Missing Test Settings###29 10 2025 new variable -assessment#:#tst_settings_not_found_msg#:#Test Settings could not found. This may be due to a missing migration step. Please contact your system administrator.###29 10 2025 new variable +assessment#:#tst_settings_header_test_run#:#Esecuzione: controllo esecuzione test +assessment#:#tst_settings_not_found#:#Missing Test Settings###28 11 2025 new variable +assessment#:#tst_settings_not_found_msg#:#Test Settings could not found. This may be due to a missing migration step. Please contact your system administrator.###28 11 2025 new variable assessment#:#tst_show_answer_sheet#:#Mostra le risposte assessment#:#tst_show_cancel#:#Mostra le opzioni di sospensione del test assessment#:#tst_show_cancel_description#:#Se selezionato, un pulsante per sospendere il test è mostrato durante l'esecuzione. -assessment#:#tst_show_comp_results#:#Mostra risultati di competenza +assessment#:#tst_show_comp_results#:#Mostra risultati di competenze assessment#:#tst_show_results#:#Mostra i risultati del test assessment#:#tst_show_side_list#:#Mostra la lista delle domande a lato assessment#:#tst_show_solution_answers_only#:#Stampa dei risultati (solo le risposte) -assessment#:#tst_show_solution_answers_only_desc#:#If is selected, the ILIAS content you place around a question using the "Edit content" tab page will not be visible in a print-out. If you want to save some paper space, select this option. -assessment#:#tst_show_solution_compare#:#Compare Answer with Solution in List of Answers -assessment#:#tst_show_solution_compare_desc#:#Participants are presented with an overview comparing their own answers with the best solutions. Please note that this view will be displayed in the ‘Detailed Results’ that can be accessed via the ‘Show Test Results‘-button on the ‘Info’-tab. It will not be displayed in the printable ‘List of Answers’ even though the setting is made here. +assessment#:#tst_show_solution_answers_only_desc#:#Se è selezionato, il contenuto ILIAS inserito in una domanda utilizzando la scheda "Modifica contenuto" non sarà visibile in una stampa. Se si desidera risparmiare spazio carta, selezionare questa opzione. +assessment#:#tst_show_solution_compare#:#Confronta la risposta con la soluzione nell'elenco delle risposte +assessment#:#tst_show_solution_compare_desc#:#Ai partecipanti viene presentata una panoramica che confronta le proprie risposte con le migliori soluzioni. Si noti che questa vista verrà visualizzata nei "Risultati dettagliati" a cui è possibile accedere tramite il pulsante "Mostra risultati del test" nella scheda "Informazioni". Non verrà visualizzato nell '"Elenco di risposte" stampabile anche se l'impostazione viene effettuata qui. assessment#:#tst_show_solution_details#:#Mostra le soluzioni al momento dei risultati -assessment#:#tst_show_solution_details_desc#:#If selected, the detailed question solution is available to participants in the test results presentation. This includes the exact scoring of every answer, otherwise only an overview with the question titles and the reached points is shown. -assessment#:#tst_show_solution_details_singlepage#:#Scored Answers on single pages###26 08 2024 new variable -assessment#:#tst_show_solution_details_singlepage_desc#:#Participants can access each question individually and see if their answers were correct and how many points they scored.###26 08 2024 new variable +assessment#:#tst_show_solution_details_desc#:#Se selezionata, la soluzione dettagliata della domanda è disponibile per i partecipanti alla presentazione dei risultati del test. Ciò include il punteggio esatto di ogni risposta, altrimenti viene mostrata solo una panoramica con i titoli delle domande e i punti raggiunti. +assessment#:#tst_show_solution_details_singlepage#:#Scored Answers on single pages###31 03 2023 new variable +assessment#:#tst_show_solution_details_singlepage_desc#:#Participants can access each question individually and see if their answers were correct and how many points they scored.###31 03 2023 new variable assessment#:#tst_show_solution_feedback#:#Mostra il feedback delle specifiche delle risposte nei risultati del test -assessment#:#tst_show_solution_feedback_desc#:#If is selected, the answer specific feedback will be shown in the test results next to the questions. -assessment#:#tst_show_solution_printview#:#Mostra la lista delle risposte -assessment#:#tst_show_solution_printview_desc#:#If selected, an overview of all questions with the answers of the participant is generated. This list will be offered on the Info Page and at the end of a test prior to the final submission. -assessment#:#tst_show_solution_signature#:#Mostra Segnalibro -assessment#:#tst_show_solution_signature_desc#:#If is selected, a signature placeholder will be shown for printout. +assessment#:#tst_show_solution_feedback_desc#:#Se è selezionato, il feedback specifico della risposta verrà mostrato nei risultati del test accanto alle domande. +assessment#:#tst_show_solution_printview#:#Mostra la lista delle risposte stampabili +assessment#:#tst_show_solution_printview_desc#:#Se selezionato, viene generata una panoramica di tutte le domande con le risposte del partecipante. Questo elenco verrà offerto nella pagina delle informazioni e alla fine di un test prima dell'invio finale. +assessment#:#tst_show_solution_signature#:#Mostra Segnaposto per la Firma +assessment#:#tst_show_solution_signature_desc#:#Se è selezionato, verrà mostrato un segnaposto della firma per la stampa. assessment#:#tst_show_solution_suggested#:#Mostra la soluzione proposta -assessment#:#tst_show_solution_suggested_desc#:#If is selected, the suggested solutions of questions (if existent) will be shown in the test results overview. +assessment#:#tst_show_solution_suggested_desc#:#Se è selezionato, le soluzioni suggerite di domande (se esistenti) verranno mostrate nella panoramica dei risultati del test. assessment#:#tst_show_summary#:#Mostra il sommario delle domande -assessment#:#tst_show_summary_description#:#Offre ai partecipanti una visuale sulle domande proposte nel test -assessment#:#tst_show_toplist#:#Mostra punteggi piu' alti +assessment#:#tst_show_summary_description#:#I partecipanti possono visualizzare un elenco di domande a sinistra delle domande del test. Con il pulsante "Stato di elaborazione" i partecipanti richiamano una panoramica che mostra quali domande hanno già elaborato o contrassegnato. È possibile configurare ulteriormente il comportamento della panoramica "Stato di elaborazione": +assessment#:#tst_show_toplist#:#Mostra posizionamento assessment#:#tst_shuffle_questions#:#Mischia le domande assessment#:#tst_shuffle_questions_description#:#Mischia l'ordine delle domande durante il test assessment#:#tst_signature#:#Firma assessment#:#tst_single_answer_details#:#Mostra risposta singola -assessment#:#tst_skill_triggerings_num_req_answers#:#Quantità richiesta di risposte per i trigger di competenza -assessment#:#tst_skill_triggerings_num_req_answers_desc#:#Le competenze non vengono attivate prima che questa quantità di risposte alle domande contribuisca al calcolo del livello di competenza. -assessment#:#tst_skill_triggerings_num_req_answers_not_reached_warn#:#Almeno una delle competenze affrontate da questo test non è attivata dalla quantità minima richiesta di domande.
La quantità richiesta di domande: %s -assessment#:#tst_skl_level_thresholds_link#:#Configure Competence-Thresholds +assessment#:#tst_skill_triggerings_num_req_answers#:#Quantità richiesta di risposte per i trigger di competenze +assessment#:#tst_skill_triggerings_num_req_answers_desc#:#Le competenze non vengono attivate prima che questa quantità di risposte alle domande contribuisca al calcolo del livello di competenze. +assessment#:#tst_skill_triggerings_num_req_answers_not_reached_warn#:#Almeno una delle competenze affrontate da questo test non è attivata dalla quantità minima richiesta di domande. La quantità richiesta di domande: %s +assessment#:#tst_skl_level_thresholds_link#:#Configurare le soglie di competenze assessment#:#tst_skl_level_thresholds_missing#:#Ci sono livelli mancanti per le competenze pertinenti! -assessment#:#tst_skl_res_interpretation_hint_msg#:#Si prega di considerare che i risultati di competenza da un singolo test hanno rilevanza limitata. Più informazioni vengono raccolte per competenza, più sarà valido il significa. Nel caso in cui esistano singole competenze senza alcuna entrata, ci saranno meno informazioni raccolte. -assessment#:#tst_skl_sub_tab_thresholds#:#Limiti di competenza +assessment#:#tst_skl_res_interpretation_hint_msg#:#Si prega di considerare che i risultati di competenze da un singolo test hanno rilevanza limitata. Più informazioni vengono raccolte per competenze, più sarà valido il significa. Nel caso in cui esistano singole competenze senza alcuna entrata, ci saranno meno informazioni raccolte. +assessment#:#tst_skl_sub_tab_thresholds#:#Limiti di competenze assessment#:#tst_sol_comp_expressions#:#Espressioni di confronto assessment#:#tst_solution_compare_cfg#:#Configurazione per confronto soluzioni -assessment#:#tst_source_question_pool#:#Source Question Pool -assessment#:#tst_src_quest_pool_def_list_table#:#Source Question Pool Definitions +assessment#:#tst_source_question_pool#:#Raccolta di domande di origine +assessment#:#tst_src_quest_pool_def_list_table#:#Definizioni della raccolta di domande di origine assessment#:#tst_start_dyn_test_with_cur_quest_sel#:#Inizia il test con la selezione delle attuali domande assessment#:#tst_start_new_test_pass#:#Inizia un nuovo test assessment#:#tst_start_test#:#Inizia il test @@ -1939,41 +1938,41 @@ assessment#:#tst_stat_result_rank_median#:#Classifica media assessment#:#tst_stat_result_rank_participant#:#Classifica dei partecipanti assessment#:#tst_stat_result_resultsmarks#:#Risultati dei test in voti assessment#:#tst_stat_result_resultspoints#:#Risultati dei test in punti -assessment#:#tst_stat_result_timeontask#:#Tempo di esecuzione +assessment#:#tst_stat_result_timeontask#:#Time on Task###28 11 2025 new variable assessment#:#tst_stat_result_total_participants#:#Numero totale dei partecipanti -assessment#:#tst_stat_result_total_timeontask#:#Total Time On Task (All Test Attempts)###28 10 2024 new variable +assessment#:#tst_stat_result_total_timeontask#:#Total Time On Task (All Test Attempts)###28 11 2025 new variable assessment#:#tst_submit_results#:#Sì, confermo l'invio. assessment#:#tst_tab_competences#:#Competenze assessment#:#tst_tab_results_objective_oriented#:#Risultati per obiettivi di apprendimento assessment#:#tst_tab_results_pass_oriented#:#Risultati per tentativi -assessment#:#tst_tbl_col_answered_questions#:#Answered Questions###07 02 2020 new variable -assessment#:#tst_tbl_col_final_mark#:#Mark###07 02 2020 new variable -assessment#:#tst_tbl_col_finished_passes#:#Finished Passes###26 08 2024 new variable -assessment#:#tst_tbl_col_finished_passes_num_of#:#%s of %s###26 08 2024 new variable -assessment#:#tst_tbl_col_last_scored_access#:#Last Scored Access###26 08 2024 new variable -assessment#:#tst_tbl_col_pass_finished#:#Pass Finished###07 02 2020 new variable -assessment#:#tst_tbl_col_passed_status#:#Grading###07 02 2020 new variable -assessment#:#tst_tbl_col_percent_result#:#Percent Solved###07 02 2020 new variable -assessment#:#tst_tbl_col_reached_points#:#Reached Points###07 02 2020 new variable -assessment#:#tst_tbl_col_scored_pass#:#Scored Pass###07 02 2020 new variable -assessment#:#tst_tbl_col_started_passes#:#Started Passes###26 08 2024 new variable -assessment#:#tst_tbl_invited_users#:#Manually Selected Participants -assessment#:#tst_tbl_participants#:#Participants###07 02 2020 new variable -assessment#:#tst_tbl_results_grades#:#Results and Grades +assessment#:#tst_tbl_col_answered_questions#:#Domande con risposta +assessment#:#tst_tbl_col_final_mark#:#Voto +assessment#:#tst_tbl_col_finished_passes#:#Finished Passes###31 08 2022 new variable +assessment#:#tst_tbl_col_finished_passes_num_of#:#%s of %s###31 08 2022 new variable +assessment#:#tst_tbl_col_last_scored_access#:#Last Scored Access###31 08 2022 new variable +assessment#:#tst_tbl_col_pass_finished#:#Passaggio finito +assessment#:#tst_tbl_col_passed_status#:#Votazione +assessment#:#tst_tbl_col_percent_result#:#Risultato in percentuale +assessment#:#tst_tbl_col_reached_points#:#Punti raggiunti +assessment#:#tst_tbl_col_scored_pass#:#Passaggio segnato +assessment#:#tst_tbl_col_started_passes#:#Started Passes###31 08 2022 new variable +assessment#:#tst_tbl_invited_users#:#Partecipanti selezionati manualmente +assessment#:#tst_tbl_participants#:#Partecipanti +assessment#:#tst_tbl_results_grades#:#Risultati e voti assessment#:#tst_test_result#:#Risultato del test -assessment#:#tst_text_count_system#:#Modalità di punteggio -assessment#:#tst_threshold#:#Thresholds -assessment#:#tst_time_already_spent#:#Tempo trascorso dall& -assessment#:#tst_time_already_spent_left#:#Ti rimane ancora %s . -assessment#:#tst_time_limit_message#:#You will have %s minutes to answer all questions.###26 08 2024 new variable -assessment#:#tst_title_output#:#Output dei titoli delle domande -assessment#:#tst_title_output_full#:#Mostra il titolo del test ed il punteggio disponibile -assessment#:#tst_title_output_hide_points#:#Mostra solo il titolo del test -assessment#:#tst_title_output_info#:#Set which combination of question titles and/or points available should be visible to participants while they are taking the test and within the test attempt overview (see below).###29 10 2025 new variable +assessment#:#tst_text_count_system#:#Modalità di valutazione +assessment#:#tst_threshold#:#soglie (in %) +assessment#:#tst_time_already_spent#:#Hai iniziato il test a:%s. Il tempo di elaborazione massimo è %s. +assessment#:#tst_time_already_spent_left#:#Ti rimane ancora %s. +assessment#:#tst_time_limit_message#:#You will have %s minutes to answer all questions.###30 04 2024 new variable +assessment#:#tst_title_output#:#Visualizzazione dei titoli delle domande +assessment#:#tst_title_output_full#:#Mostra il titolo della domanda ed il punteggio raggiungibile +assessment#:#tst_title_output_hide_points#:#Mostra solo il titolo della domanda +assessment#:#tst_title_output_info#:#Set which combination of question titles and/or points available should be visible to participants while they are taking the test and within the test attempt overview (see below).###28 11 2025 new variable assessment#:#tst_title_output_no_title#:#Non mostrare il Titolo della domanda ed il Punteggio -assessment#:#tst_title_output_only_points#:#Only Available Points###26 08 2024 new variable +assessment#:#tst_title_output_only_points#:#Only Available Points###30 04 2024 new variable assessment#:#tst_trigger_result_refreshing#:#I risultati devono essere ricalcolati. Questo potrebbe richiedere un po’ di tempo. -assessment#:#tst_type#:#Tipo del test +assessment#:#tst_type#:#Tipo di test assessment#:#tst_unchanged_answer_is_correct#:#La risposta predefinita è corretta assessment#:#tst_unchanged_order_is_correct#:#L’ordine predefinito è corretto assessment#:#tst_use_previous_answers#:#Usa la risposta precedente @@ -1981,11 +1980,11 @@ assessment#:#tst_use_previous_answers_description#:#Se selezionato, la precedent assessment#:#tst_use_previous_answers_user#:#Usa la mia risposta ad un test precedente come risposta di default assessment#:#tst_user_finished_test#:#L'utente ha finito il test (%s) assessment#:#tst_view_competence_assign#:#Visualizza proprietà di assegnazione -assessment#:#tst_virtual_pass_header_lo_initial#:#Initial Test Results for the Learning Objectives
%s -assessment#:#tst_virtual_pass_header_lo_qualifying#:#Qualifying Test Results for the Learning Objectives
%s +assessment#:#tst_virtual_pass_header_lo_initial#:#Risultati dei test iniziali per gli obiettivi di apprendimento %s +assessment#:#tst_virtual_pass_header_lo_qualifying#:#Risultati dei test qualificanti per gli obiettivi di apprendimento %s assessment#:#tst_wf_info_answer_adopted_from_prev_pass#:#È stata adottata la risposta di un precedente tentativo. -assessment#:#tst_wf_info_answer_not_adopted#:#There was no answer from previous attempts adopted, so you have to workthru this question, because otherwise your learning objective result will be degraded. -assessment#:#tst_wf_info_optional_question#:#This question relates to an allready passed learning objective. +assessment#:#tst_wf_info_answer_not_adopted#:#Non vi è stata alcuna risposta da precedenti tentativi adottati, quindi è necessario elaborare questa domanda, perché altrimenti il risultato dell'obiettivo di apprendimento sarà degradato. +assessment#:#tst_wf_info_optional_question#:#Questa domanda riguarda un obiettivo di apprendimento già superato. assessment#:#tst_your_answer_was#:#La tua risposta era assessment#:#tst_your_answers#:#Queste sono le risposte che hai dato alle seguenti domande. assessment#:#un_add_category#:#Aggiungi categoria @@ -2020,43 +2019,43 @@ assessment#:#unit_placeholder#:#** Nuova unità ** assessment#:#units#:#Unità assessment#:#unlimited#:#illimitato assessment#:#unlock#:#Sbloccato -assessment#:#updated#:#Updated###28 10 2024 new variable +assessment#:#updated#:#Updated###28 11 2025 new variable assessment#:#uploaded_material#:#Materiale salvato assessment#:#use_previous_solution#:#Usa soluzione precedente assessment#:#use_previous_solution_advice#:#La soluzione mostrata per la domanda è quella che avete dato precedentemente. Bisogna confermare la soluzione adottata se si desidera utilizzarla senza modifiche. assessment#:#user_has_finished_a_test#:#Un partecipante ha terminato il test. -assessment#:#user_ip_outside_range#:#You are not allowed to access the test from this IP.###26 08 2024 new variable +assessment#:#user_ip_outside_range#:#You are not allowed to access the test from this IP.###28 11 2025 new variable assessment#:#user_not_invited#:#Non sei ammesso ad eseguire questo test. -assessment#:#usr_manscoring_complete#:#Marke as 'scored'###29 10 2025 new variable +assessment#:#usr_manscoring_complete#:#Marke as 'scored'###28 11 2025 new variable assessment#:#value_between_x_and_y#:#Il valore deve essere tra %s e %s assessment#:#values#:#Valori -assessment#:#variable#:#Variable###26 08 2024 new variable +assessment#:#variable#:#Variable###28 11 2025 new variable assessment#:#variable_x#:#Variabile %s assessment#:#variables#:#Variabili assessment#:#wait_for_next_pass_hint_msg#:#Il passaggio aggiuntivo è possibile in tempo: %s -assessment#:#warning_question_not_complete#:#La domanda non & +assessment#:#warning_question_not_complete#:#La domanda non è completa! assessment#:#width#:#Larghezza -assessment#:#with_solution#:#Participants with solution###28 10 2024 new variable +assessment#:#with_solution#:#Participants with solution###28 11 2025 new variable assessment#:#with_solutions_participants#:#Partecipanti con soluzioni -assessment#:#without_solution#:#Participants without solution###28 10 2024 new variable +assessment#:#without_solution#:#Participants without solution###28 11 2025 new variable assessment#:#without_solutions_participants#:#Partecipanti senza soluzioni assessment#:#worked_through#:#Risposto assessment#:#working_time#:#Tempo di esecuzione assessment#:#you_received_a_of_b_points#:#Hai ricevuto %s dei %s punti a disposizione -assessment#:#your_results#:#Your Results###28 10 2024 new variable +assessment#:#your_results#:#My Results###28 11 2025 new variable auth#:#auth_account_code#:#Codice -auth#:#auth_account_code_info#:#To re-activate your account you can use a ILIAS account code. +auth#:#auth_account_code_info#:#Per riattivare il tuo account puoi utilizzare un codice account ILIAS. auth#:#auth_account_code_title#:#Codice account auth#:#auth_account_code_used#:#Il tuo account è stato riattivato. Si prega si accedere nuovamente per motivi di sicurezza. -auth#:#auth_account_migration#:#Nuovo account ILIAS +auth#:#auth_account_migration#:#Nuovo account utente ILIAS auth#:#auth_account_migration_keep#:#Migra un account esistente auth#:#auth_account_migration_name#:#Migrazione auth#:#auth_account_migration_new#:#Crea un nuovo Account Utente auth#:#auth_activation_code_success#:#Il tuo account è stato riattivato. Adesso puoi collegarti a ILIAS. auth#:#auth_allow_local_info#:#Se è ancora possibile abilitare un'autenticazione locale contro il database ILIAS (con un accesso/password locale) per quegli account utente la cui modalità di autenticazione è impostata su SAML. auth#:#auth_auth_settings#:#Impostazioni -auth#:#auth_cron_destroy_expired_sessions#:#Deletion of Expired Sessions###26 08 2024 new variable -auth#:#auth_cron_destroy_expired_sessions_desc#:#This job deletes expires sessions.###26 08 2024 new variable +auth#:#auth_cron_destroy_expired_sessions#:#Deletion of Expired Sessions###30 04 2024 new variable +auth#:#auth_cron_destroy_expired_sessions_desc#:#This job deletes expires sessions.###30 04 2024 new variable auth#:#auth_err_expired#:#La tua sessione è stata disattivata a causa della inattività. auth#:#auth_err_invalid_user_account#:#L’autenticazione è fallita a causa di un guasto interno. auth#:#auth_err_ldap_exception#:#L’autenticazione è fallita a causa di un guasto interno di autenticazione (LDAP). @@ -2064,69 +2063,69 @@ auth#:#auth_info_add#:#Scegli questa opzione se non sei registrato su ILIAS. Ver auth#:#auth_info_migrate#:#Se hai già un account ILIAS, inserisci per favore username e password per accedere ai tuoi dati personali (mail, risultati dei test, ...). auth#:#auth_ldap_server_ds#:#Server LDAP auth#:#auth_login_editor#:#Editor della schermata di accesso -auth#:#auth_odic_scope_info#:#In this mask, the standard claims are displayed as a suggestion for a profile data assignment based on the OpenID Connect scopes configured %s. You can adopt this suggestion as an effective profile data assignment by clicking on "%s" or make your own adjustments by changing the text fields.###28 10 2024 new variable -auth#:#auth_odic_scope_tab_info#:#In this mask you can assign OpenID Connect claims to ILIAS profile data. To do this, enter the scope from which the information should be taken over upon successful authentication in the corresponding text fields for the respective profile date. Activate the corresponding checkbox if the data should also be transferred to an existing ILIAS user account. You can view a list of standard claims %s.###28 10 2024 new variable +auth#:#auth_odic_scope_info#:#In this mask, the standard claims are displayed as a suggestion for a profile data assignment based on the OpenID Connect scopes configured %s. You can adopt this suggestion as an effective profile data assignment by clicking on "%s" or make your own adjustments by changing the text fields.###28 11 2025 new variable +auth#:#auth_odic_scope_tab_info#:#In this mask you can assign OpenID Connect claims to ILIAS profile data. To do this, enter the scope from which the information should be taken over upon successful authentication in the corresponding text fields for the respective profile date. Activate the corresponding checkbox if the data should also be transferred to an existing ILIAS user account. You can view a list of standard claims %s.###28 11 2025 new variable auth#:#auth_oidc#:#OpenId Connect -auth#:#auth_oidc_configured_scopes#:#Pre-fill Scope-based Mapping###28 10 2024 new variable -auth#:#auth_oidc_discover_scopes#:#Perform Scope Auto Discovery###28 10 2024 new variable -auth#:#auth_oidc_discover_scopes_info#:#The automatic scope discovery was performed. Scopes are added to the field "Additional Scopes" in the form below. Please define your relevant scopes and save the form afterwards.###28 10 2024 new variable -auth#:#auth_oidc_failed#:#Login via OpenID Connect failed###26 08 2024 new variable -auth#:#auth_oidc_here#:#here###28 10 2024 new variable -auth#:#auth_oidc_login_element_info#:#Login to ILIAS via OpenID Connect###29 07 2022 new variable -auth#:#auth_oidc_mapping_table#:#Zuordnung von ILIAS-Benutzerdaten zu OpenId Connect Attributen -auth#:#auth_oidc_profile#:#Zuordnung der Profildaten -auth#:#auth_oidc_role_info#:#OpenID Connect Attribute::Value (e.g: "roles::employee").###07 02 2020 new variable -auth#:#auth_oidc_role_mapping_table#:#Zurodnung von ILIAS-Rollen zu OpenId Connect Attributen -auth#:#auth_oidc_roles#:#Rollenzuordnung -auth#:#auth_oidc_saved_values#:#Effective Attribute Mapping###28 10 2024 new variable -auth#:#auth_oidc_scopes#:#Scopes###28 10 2024 new variable -auth#:#auth_oidc_settings#:#Server-Einstellungen -auth#:#auth_oidc_settings_activation#:#OpenID Connect aktivieren -auth#:#auth_oidc_settings_additional_scopes#:#Additional Scopes###29 07 2022 new variable -auth#:#auth_oidc_settings_additional_scopes_info#:#Standard scopes: address, email, phone, profile###28 10 2024 new variable +auth#:#auth_oidc_configured_scopes#:#Pre-fill Scope-based Mapping###28 11 2025 new variable +auth#:#auth_oidc_discover_scopes#:#Perform Scope Auto Discovery###28 11 2025 new variable +auth#:#auth_oidc_discover_scopes_info#:#The automatic scope discovery was performed. Scopes are added to the field "Additional Scopes" in the form below. Please define your relevant scopes and save the form afterwards.###28 11 2025 new variable +auth#:#auth_oidc_failed#:#Login via OpenID Connect failed###16 03 2023 new variable +auth#:#auth_oidc_here#:#here###28 11 2025 new variable +auth#:#auth_oidc_login_element_info#:#Login a ILIAS via OpenID +auth#:#auth_oidc_mapping_table#:#Mappatura attributi utente ILIAS su attributi OpenID Connect +auth#:#auth_oidc_profile#:#Mappatura attributi utente +auth#:#auth_oidc_role_info#:#Attributo di connessione OpenID Connect Attribute::Value (per es: "roles::employee"). +auth#:#auth_oidc_role_mapping_table#:#Mappatura ruoli ILIAS su attributi OpenID Connect +auth#:#auth_oidc_roles#:#Mappatura Ruoli +auth#:#auth_oidc_saved_values#:#Effective Attribute Mapping###28 11 2025 new variable +auth#:#auth_oidc_scopes#:#Scopes###28 11 2025 new variable +auth#:#auth_oidc_settings#:#Impostazioni Server +auth#:#auth_oidc_settings_activation#:#Abilita autenticazione OpenID Connect +auth#:#auth_oidc_settings_additional_scopes#:#Parametri Scope Addizionali +auth#:#auth_oidc_settings_additional_scopes_info#:#Standard scopes: address, email, phone, profile###28 11 2025 new variable auth#:#auth_oidc_settings_client_id#:#Client-ID -auth#:#auth_oidc_settings_custom_session_duration#:#Sitzungsdauer -auth#:#auth_oidc_settings_custom_session_duration_option#:#Eigene Sitzungsdauer -auth#:#auth_oidc_settings_custom_session_duration_type#:#Einstellungen zur Sitzungsdauer -auth#:#auth_oidc_settings_default_role#:#Rollenzuordnung -auth#:#auth_oidc_settings_default_role_info#:#Bitte wählen Sie eine globale Rolle für neu anzulegende ILIAS-Benutzer -auth#:#auth_oidc_settings_default_scopes#:#Default Scope###28 10 2024 new variable -auth#:#auth_oidc_settings_discovery_error#:#Retrieving the Discovery URL failed with: %s###26 08 2024 new variable -auth#:#auth_oidc_settings_discovery_url#:#Discovery URL of the provider###26 08 2024 new variable -auth#:#auth_oidc_settings_img#:#Bild -auth#:#auth_oidc_settings_img_file_info#:#Laden Sie ein Bild hoch das auf der Anmeldeseite angezeigt werden soll. Das Bild verlinkt automatisch auf das OpenId Connect Anmeldeskript. -auth#:#auth_oidc_settings_invalid_scopes#:#The following values are not valid Scopes: %s###29 07 2022 new variable -auth#:#auth_oidc_settings_le#:#Darstellung Anmeldeseite -auth#:#auth_oidc_settings_login_option_default#:#Anmeldung nicht erzwingen -auth#:#auth_oidc_settings_login_option_default_info#:#Eine Anmeldung beim OpenId Connect Server ist nicht notwendig, wenn bereits eine gültige Sitzung vorliegt. -auth#:#auth_oidc_settings_login_option_enforce#:#Anmeldung erzwingen -auth#:#auth_oidc_settings_login_option_enforce_info#:#Eine Anmeldung beim OpenId Connect Server ist in jedem Fall notwendig - auch wenn bereits eine gültige Sitzung vorliegt. -auth#:#auth_oidc_settings_login_options#:#Anmeldeoptionen -auth#:#auth_oidc_settings_logout_scope#:#Verhalten beim Abmelden -auth#:#auth_oidc_settings_logout_scope_global#:#Global abmelden -auth#:#auth_oidc_settings_logout_scope_global_info#:#Wenn aktiviert, wird beim Abmelden sowohl die OpenId Connect Sitzung als auch die ILIAS-Sitzung beendet. -auth#:#auth_oidc_settings_logout_scope_local#:#nur bei ILIAS abmelden -auth#:#auth_oidc_settings_logout_scope_local_info#:#Wenn aktiviert, wird beim Abmelden nur die ILIAS-Sitzung beendet. +auth#:#auth_oidc_settings_custom_session_duration#:#Durata della sessione +auth#:#auth_oidc_settings_custom_session_duration_option#:#Durata sessione personalizzata +auth#:#auth_oidc_settings_custom_session_duration_type#:#Impostazioone della durata della sessione +auth#:#auth_oidc_settings_default_role#:#Ruolo predefinito utenti +auth#:#auth_oidc_settings_default_role_info#:#Selezionare un ruolo globale per i nuovi utenti creati +auth#:#auth_oidc_settings_default_scopes#:#Default Scope###28 11 2025 new variable +auth#:#auth_oidc_settings_discovery_error#:#Retrieving the Discovery URL failed with: %s###16 03 2023 new variable +auth#:#auth_oidc_settings_discovery_url#:#Discovery URL of the provider###16 03 2023 new variable +auth#:#auth_oidc_settings_img#:#Immagine +auth#:#auth_oidc_settings_img_file_info#:#Caricare un immagine da visualizzare nella pagine di login. L'immagine viene inserita nello script di login OpenID Connect. +auth#:#auth_oidc_settings_invalid_scopes#:#I seguenti valori non sono parametri Scope validi: %s +auth#:#auth_oidc_settings_le#:#Tipo di elemento al login +auth#:#auth_oidc_settings_login_option_default#:#Non forzare la registrazione +auth#:#auth_oidc_settings_login_option_default_info#:#Non è necessaria una registrazione con OpenId Connect Server se esiste già una sessione valida. +auth#:#auth_oidc_settings_login_option_enforce#:#Forza sempre la registrazione +auth#:#auth_oidc_settings_login_option_enforce_info#:#La registrazione con OpenId Connect Server è sempre necessaria, anche se esiste già una sessione valida. +auth#:#auth_oidc_settings_login_options#:#Opzioni di sessione +auth#:#auth_oidc_settings_logout_scope#:#Opzioni di disconnessione +auth#:#auth_oidc_settings_logout_scope_global#:#Disconnetti al livello globale +auth#:#auth_oidc_settings_logout_scope_global_info#:#Se attivato, sia la sessione OpenId Connect che la sessione ILIAS vengono terminate al momento della disconnessione. +auth#:#auth_oidc_settings_logout_scope_local#:#Disconnetti solo da ILIAS +auth#:#auth_oidc_settings_logout_scope_local_info#:#Se attivato, viene automaticamente creato un nuovo account utente per gli utenti che si sono autenticati correttamente con Open ID Connect ma non dispongono di un account utente ILIAS. auth#:#auth_oidc_settings_provider#:#Provider-Url -auth#:#auth_oidc_settings_secret#:#Client-Schlüssel -auth#:#auth_oidc_settings_section_user_sync#:#Einstellungen zur Benutzersynchronisierung -auth#:#auth_oidc_settings_session_duration#:#Dauer -auth#:#auth_oidc_settings_title#:#OpenID Connect Authentifizierung konfigurieren -auth#:#auth_oidc_settings_txt#:#Text -auth#:#auth_oidc_settings_txt_val_info#:#Tragen Sie einen Text ein der auf der Anmeldeseite angezeigt werden soll. Der Text verlinkt automatisch auf das OpenId Connect Anmeldeskript. -auth#:#auth_oidc_settings_user_attr#:#Attributname der Benutzerzugänge -auth#:#auth_oidc_settings_user_sync#:#Automatische Synchronisierung -auth#:#auth_oidc_settings_user_sync_info#:#Wenn aktiviert, wird für Benutzer, die sich erfolgreich gegen Open ID Connect authentifiziert haben aber kein ILIAS-Benutzerkonto besitzen, automatisch ein neues Benutzerkonto erzeugt. -auth#:#auth_oidc_settings_validate_scope_custom#:#Use custom OpenID Connect Discovery url###26 08 2024 new variable -auth#:#auth_oidc_settings_validate_scope_default#:#Use :Provider-URL:/.well-known/openid-configuration###26 08 2024 new variable -auth#:#auth_oidc_settings_validate_scope_none#:#Do not validate Scopes on saving###26 08 2024 new variable -auth#:#auth_oidc_settings_validate_scopes#:#Validate Scopes upon saving###26 08 2024 new variable -auth#:#auth_oidc_update_field_info#:#Automatisch aktualisieren -auth#:#auth_oidc_update_role_info#:#Nur bei Erstanmeldung (automatische Synchronisierung) anwenden +auth#:#auth_oidc_settings_secret#:#Chiave segreta +auth#:#auth_oidc_settings_section_user_sync#:#Impostazioni di sincronizzazione dell'utente +auth#:#auth_oidc_settings_session_duration#:#Durata +auth#:#auth_oidc_settings_title#:#Configurare autenticazione con OpenID Connect +auth#:#auth_oidc_settings_txt#:#Testo +auth#:#auth_oidc_settings_txt_val_info#:#Immettere un testo da visualizzare nella pagina di registrazione. Il testo si collega automaticamente allo script di accesso OpenId Connect. +auth#:#auth_oidc_settings_user_attr#:#Nome attributo da sincronizzare +auth#:#auth_oidc_settings_user_sync#:#Sincronizzazione automatica +auth#:#auth_oidc_settings_user_sync_info#:#Se attivato, viene automaticamente creato un nuovo account utente per gli utenti che si sono autenticati correttamente con Open ID Connect ma non dispongono di un account utente ILIAS. +auth#:#auth_oidc_settings_validate_scope_custom#:#Use custom OpenID Connect Discovery url###16 03 2023 new variable +auth#:#auth_oidc_settings_validate_scope_default#:#Use :Provider-URL:/.well-known/openid-configuration###16 03 2023 new variable +auth#:#auth_oidc_settings_validate_scope_none#:#Do not validate Scopes on saving###16 03 2023 new variable +auth#:#auth_oidc_settings_validate_scopes#:#Validate Scopes upon saving###16 03 2023 new variable +auth#:#auth_oidc_update_field_info#:#Aggiornamento automatico +auth#:#auth_oidc_update_role_info#:#Utilizzare solo quando ci si registra per la prima volta (sincronizzazione automatica) auth#:#auth_oidconnect#:#OpenID Connect -auth#:#auth_page_type_auth#:#Login Page###29 07 2022 new variable -auth#:#auth_required_password#:#Please enter a password.###29 10 2025 new variable -auth#:#auth_required_username#:#Please enter a username.###29 10 2025 new variable +auth#:#auth_page_type_auth#:#Pagina di Login +auth#:#auth_required_password#:#Please enter a password.###10 12 2024 new variable +auth#:#auth_required_username#:#Please enter a username.###10 12 2024 new variable auth#:#auth_saml_add_idp_btn#:#Aggiungi nuovo provider di identità auth#:#auth_saml_add_idp_md_error#:#Il valore fornito non è un documento XML valido. Assicurarsi che il codice XML contenga un provider di identità valido. auth#:#auth_saml_add_idp_md_info#:#Immettere i metadati formattati in XML per il provider di identità. @@ -2135,13 +2134,13 @@ auth#:#auth_saml_configure#:#Configura autenticazione SAML auth#:#auth_saml_configure_idp#:#Configura SAML IDP: %s auth#:#auth_saml_deleted_idp#:#Il provider di identità è stato eliminato. auth#:#auth_saml_enable#:#Abilita supporto SAML -auth#:#auth_saml_err_sqlite_driver#:#The SAML authentication requires the SQLite driver for PHP. Please install the SQLite package and try again.###29 07 2022 new variable +auth#:#auth_saml_err_sqlite_driver#:#L'autenticazione SAML richiede il driver SQLite per PHP. Installa il pacchetto SQLite e riprova. auth#:#auth_saml_idp#:#IDP auth#:#auth_saml_idp_selection_table_desc#:#Si prega di scegliere il provider di identità per registrarsi. auth#:#auth_saml_idp_selection_table_title#:#Selezione provider di identità auth#:#auth_saml_idp_settings#:#Impostazioni IDP auth#:#auth_saml_idps#:#Elenco SAML IDP -auth#:#auth_saml_idps_info#:#Please check and edit the SimpleSAMLphp configuration in '%s' and '%s' (external data directory). Please read the manual for further explanations %s. +auth#:#auth_saml_idps_info#:#Controlla e modifica la configurazione SimpleSAMLphp in '%s' e '%s' (directory di dati esterni). Non dimenticare di aggiungere i percorsi alla chiave privata e al certificato nel file authsources.php. Leggere il manuale per ulteriori spiegazioni%s.
URL metadati federali: %s auth#:#auth_saml_login_form#:#Pulsante sulla pagina accesso auth#:#auth_saml_login_form_info#:#Se attivato e c'è almeno un IDP attivo, viene visualizzato un pulsante nella pagina di accesso. Un clic su questo pulsante avvia una richiesta SAML. auth#:#auth_saml_migration#:#Migrazione account: @@ -2158,39 +2157,39 @@ auth#:#auth_saml_user_mapping#:#Mappatura profilo utente auth#:#auth_saml_username_claim#:#Attributo per il nome utente auth#:#auth_saml_username_claim_info#:#Definire l'attributo che ILIAS utilizza per generare il nome utente che sarà visibile in ILIAS. auth#:#auth_sync#:#Sincronizzazione utente -auth#:#destination_after_logout#:#Destination After Logout###28 10 2024 new variable -auth#:#destination_external_ressource#:#Show External Ressource###28 10 2024 new variable -auth#:#destination_external_ressource_url#:#External URL###28 10 2024 new variable -auth#:#destination_internal_ressource#:#Show Internal Ressource###28 10 2024 new variable -auth#:#destination_internal_ressource_ref_id#:#Internal Reference Id###28 10 2024 new variable -auth#:#destination_login_screen#:#Show Login Screen###28 10 2024 new variable -auth#:#destination_login_screen_info#:#Make sure that, for example, an SSO is not addressed that leads to immediate login.###28 10 2024 new variable -auth#:#destination_logout_screen#:#Show Logout Screen###28 10 2024 new variable -auth#:#err_auth_ldap_failed#:#Authentication failed. Please contact your ILIAS administrator.###29 07 2022 new variable +auth#:#destination_after_logout#:#Destination After Logout###28 11 2025 new variable +auth#:#destination_external_ressource#:#Show External Ressource###28 11 2025 new variable +auth#:#destination_external_ressource_url#:#External URL###28 11 2025 new variable +auth#:#destination_internal_ressource#:#Show Internal Ressource###28 11 2025 new variable +auth#:#destination_internal_ressource_ref_id#:#Internal Reference Id###28 11 2025 new variable +auth#:#destination_login_screen#:#Show Login Screen###28 11 2025 new variable +auth#:#destination_login_screen_info#:#Make sure that, for example, an SSO is not addressed that leads to immediate login.###28 11 2025 new variable +auth#:#destination_logout_screen#:#Show Logout Screen###28 11 2025 new variable +auth#:#err_auth_ldap_failed#:#Authentication failed. Please contact your ILIAS administrator.###09 03 2022 new variable auth#:#err_auth_saml_failed#:#Autenticazione fallita. Si prega di contattare il proprio amministratore di sistema. auth#:#err_auth_saml_no_ilias_user#:#Autenticazione fallita. Si prega di contattare il proprio amministratore di sistema. -auth#:#language_does_not_exist#:#The selected language does not exist.###26 08 2024 new variable -auth#:#login_page#:#Language of Login-Page###26 08 2024 new variable -auth#:#login_pages#:#Login-Pages###26 08 2024 new variable -auth#:#logout_behaviour#:#Logout Behaviour###28 10 2024 new variable -auth#:#logout_behaviour_invalid_ref_id#:#Please make sure the internal resource id exists and is not in trash###28 10 2024 new variable -auth#:#logout_behaviour_invalid_url#:#The external ressource given is not a valid URL.###28 10 2024 new variable -auth#:#logout_behaviour_ref_id_no_access#:#Please make sure the "Anonymous" user has access to the defined ressource.###28 10 2024 new variable -auth#:#logout_behaviour_ref_id_valid_status_changed#:#The configured internal resource is no longer valid. If the resource has been deleted or access for the "Anonymous" user has been restricted, please configure a new valid internal resource. Without a valid configuration, the user will be redirected to the logout screen by default.###28 10 2024 new variable -auth#:#logout_behaviour_settings#:#Logout Behaviour Settings###28 10 2024 new variable -auth#:#logout_editor#:#Design Logout-Page###26 08 2024 new variable -auth#:#logout_page#:#Language of Logout-Page###26 08 2024 new variable -auth#:#logout_pages#:#Logout-Pages###26 08 2024 new variable +auth#:#language_does_not_exist#:#The selected language does not exist.###28 11 2025 new variable +auth#:#login_page#:#Language of Login-Page###28 11 2025 new variable +auth#:#login_pages#:#Login-Pages###28 11 2025 new variable +auth#:#logout_behaviour#:#Logout Behaviour###28 11 2025 new variable +auth#:#logout_behaviour_invalid_ref_id#:#Please make sure the internal resource id exists and is not in trash###28 11 2025 new variable +auth#:#logout_behaviour_invalid_url#:#The external ressource given is not a valid URL.###28 11 2025 new variable +auth#:#logout_behaviour_ref_id_no_access#:#Please make sure the "Anonymous" user has access to the defined ressource.###28 11 2025 new variable +auth#:#logout_behaviour_ref_id_valid_status_changed#:#The configured internal resource is no longer valid. If the resource has been deleted or access for the "Anonymous" user has been restricted, please configure a new valid internal resource. Without a valid configuration, the user will be redirected to the logout screen by default.###28 11 2025 new variable +auth#:#logout_behaviour_settings#:#Logout Behaviour Settings###28 11 2025 new variable +auth#:#logout_editor#:#Design Logout-Page###28 11 2025 new variable +auth#:#logout_page#:#Language of Logout-Page###28 11 2025 new variable +auth#:#logout_pages#:#Logout-Pages###28 11 2025 new variable auth#:#lti_consumer_inactive#:#Il consumatore dello strumento LTI è disabilitato. -auth#:#page_design_activate#:#Activate Page Design###26 08 2024 new variable -auth#:#page_design_deactivate#:#Deactivate Page Design###26 08 2024 new variable +auth#:#page_design_activate#:#Activate Page Design###28 11 2025 new variable +auth#:#page_design_deactivate#:#Deactivate Page Design###28 11 2025 new variable auth#:#saml_tab_head_idp#:#IDP awrn#:#awareness_now_online#:#Adesso online awrn#:#awareness_settings#:#Impostazioni awrn#:#awrn_caching_period#:#Periodo di memorizzazione nella cache awrn#:#awrn_caching_period_info#:#Il tempo di attesa prima che il numero degli utenti nella barra superiore venga aggiornato e i nuovi utenti online siano determinati. awrn#:#awrn_enable#:#Consenti strumento “Chi è online?” -awrn#:#awrn_filter#:#User Filter###29 07 2022 new variable +awrn#:#awrn_filter#:#Filtro Utente awrn#:#awrn_hide_from_awareness#:#Nascondimi dallo strumento “Chi è online?” awrn#:#awrn_hide_from_awareness_info#:#Lo strumento “Chi è online?” si trova nella barra superiore ed elenca tutti gli utenti selezionati (per esempio, contatti dei membri dei tuoi corsi). awrn#:#awrn_inactive#:#Non elencato @@ -2198,57 +2197,57 @@ awrn#:#awrn_incl_offline#:#Online e Offline awrn#:#awrn_max_inactivity#:#Periodo massimo di inattività awrn#:#awrn_max_inactivity_info#:#Dopo questo periodo gli utenti sono considerati offline. Se nulla è impostato, verrà utilizzato il tempo di sessione. awrn#:#awrn_max_nr_entries#:#Numero massimo di voci -awrn#:#awrn_max_nr_entries_info#:#Maximum number of items in the ‘Who is online?’ list. +awrn#:#awrn_max_nr_entries_info#:#Numero massimo di elementi nell'elenco "Chi è online?". awrn#:#awrn_minutes#:#min awrn#:#awrn_online#:#Online awrn#:#awrn_online_only#:#Solo online -awrn#:#awrn_seconds#:#sec -awrn#:#awrn_use_osd#:#Utenti popup online +awrn#:#awrn_seconds#:#sec. +awrn#:#awrn_use_osd#:#Popup utenti online awrn#:#awrn_use_osd_info#:#Mostra a popup per indicare nuovi utenti online nell’elenco “Chi è online?”. -awrn#:#awrn_user_show#:#Show Your Account in "Who-Is-Online?"###29 07 2022 new variable -awrn#:#awrn_user_show_default#:#Default Value for the Visibility in "Who-Is-Online?"###29 10 2025 new variable -awrn#:#awrn_user_show_default_info#:#Defines the default value for the visibility of the status of a user in "Who-Is-Online?".###29 10 2025 new variable -awrn#:#user_awrn_default#:#Default###29 07 2022 new variable -awrn#:#user_awrn_hide#:#Hide my status###29 07 2022 new variable -awrn#:#user_awrn_show#:#Show my status###29 07 2022 new variable +awrn#:#awrn_user_show#:#Mostra il tuo stato in "Chi è online?" +awrn#:#awrn_user_show_default#:#Default Value for the Visibility in "Who-Is-Online?"###28 11 2025 new variable +awrn#:#awrn_user_show_default_info#:#Defines the default value for the visibility of the status of a user in "Who-Is-Online?".###28 11 2025 new variable +awrn#:#user_awrn_default#:#Predefinito +awrn#:#user_awrn_hide#:#Nascondi +awrn#:#user_awrn_show#:#Mostra background_tasks#:#abort#:#Interrompi background_tasks#:#background_tasks#:#Attività in background -background_tasks#:#background_tasks_running#:#Running Tasks +background_tasks#:#background_tasks_running#:#Attività in background background_tasks#:#completed#:#Completato background_tasks#:#proceed_job#:#Procedi background_tasks#:#scheduled#:#Programmato -background_tasks#:#task_might_be_failed#:#Questa attività non ha risposto per un po', è possibile uscire se necessario. -background_tasks#:#ui_msg_files_violate_maxsize#:#The total download size violates the global limit. The download will be aborted.###07 02 2020 new variable -background_tasks#:#ui_msg_no_files_found#:#No files have been found. The download will be aborted.###07 02 2020 new variable -background_tasks#:#ui_msg_num_files#:#%s file(-s) were detected for download, do you want to continue?###07 02 2020 new variable -background_tasks#:#ui_msg_sum_file_sizes#:#The total download size before creating the zip-folder is %s. Do you want to continue?###07 02 2020 new variable +background_tasks#:#task_might_be_failed#:#Questa attività non ha risposto per un po', è possibile chiuderla se necessario. +background_tasks#:#ui_msg_files_violate_maxsize#:#La dimensione del download supera il limite globale. Il download verrà interrotto. +background_tasks#:#ui_msg_no_files_found#:#Nessun file trovato. Il download verrà interrotto. +background_tasks#:#ui_msg_num_files#:#%s file(-s) trovati per il download. Vuoi continuare? +background_tasks#:#ui_msg_sum_file_sizes#:#La dimensione totale prima della compressione zip è di %s. Vuoi continuare? background_tasks#:#waiting#:#Attendi -badge#:#awarded_by#:#Awarded by###26 08 2024 new variable +badge#:#awarded_by#:#Awarded by###30 04 2024 new variable badge#:#badge_activity_badges#:#Attività di badge badge#:#badge_add_template#:#Aggiungi modello badge#:#badge_add_to_profile#:#Aggiungi al profilo badge#:#badge_assignment_deletion_confirmation#:#Sei sicuro di voler rimuovere le seguenti assegnazioni per "%s"? badge#:#badge_award_badge#:#Assegnazione badge -badge#:#badge_award_revoke#:#Award/Revoke Badge###29 10 2025 new variable +badge#:#badge_award_revoke#:#Award/Revoke Badge###28 11 2025 new variable badge#:#badge_badge#:#Badge badge#:#badge_course_lp#:#Corso LP badge#:#badge_course_lp_invalid#:#I seguenti oggetti hanno una modalità LP che non è supportata: %s. -badge#:#badge_create#:#Create Badge###26 08 2024 new variable -badge#:#badge_create_image_processing_failed#:#The badge could not be created, an error occurred while processing the image.###26 08 2024 new variable +badge#:#badge_create#:#Create Badge###30 04 2024 new variable +badge#:#badge_create_image_processing_failed#:#The badge could not be created, an error occurred while processing the image.###30 04 2024 new variable badge#:#badge_criteria#:#Criteri badge#:#badge_crs_merit#:#Merit -badge#:#badge_deletion#:#Badge successfully deleted.###28 10 2024 new variable -badge#:#badge_deletion_confirmation#:#Sei sicuro di voler eliminare i seguenti badge e tutte le rispettive assegnazioni? +badge#:#badge_deletion#:#Badge successfully deleted.###28 11 2025 new variable +badge#:#badge_deletion_confirmation#:#Sei sicuro di voler eliminare i seguenti badges e tutte le rispettive assegnazioni? badge#:#badge_image_from_template#:#Utilizza modello badge#:#badge_image_from_upload#:#Carica immagine badge#:#badge_image_template_form#:#Modello di immagine badge#:#badge_image_templates#:#Modelli di immagine badge#:#badge_in_profile#:#Nel profilo badge#:#badge_issued_on#:#Emesso il -badge#:#badge_lhist_badge_completed#:#Badge $3$ was awarded. -badge#:#badge_lhist_badge_completed_in#:#Badge $3$ was awarded in $1$. +badge#:#badge_lhist_badge_completed#:#Badge $3$ è stato premiato. +badge#:#badge_lhist_badge_completed_in#:#Badge $3$ è stato premiato con $1$. badge#:#badge_manual#:#Assegnazione manuale -badge#:#badge_new_badges#:#You have %1 new badge(s).###07 02 2020 new variable +badge#:#badge_new_badges#:#Hai ottenuto %1 nuovo/i badge! badge#:#badge_no_valid_types_for_obj#:#Attualmente non ci sono tipi di badge attivi. Non puoi creare nuovi badge. Si prega di contattare il proprio amministratore. badge#:#badge_notification_badges#:#Nuovi badge badge#:#badge_notification_badges_goto#:#Ai tuoi badge @@ -2263,18 +2262,18 @@ badge#:#badge_profile_less#:#Mostra meno badge#:#badge_profile_more#:#Mostra tutto badge#:#badge_remove_badge#:#Ritira badge badge#:#badge_remove_from_profile#:#Rimuovi dal profilo -badge#:#badge_select_one#:#You have to select at least one badge###28 10 2024 new variable +badge#:#badge_select_one#:#You have to select at least one badge###28 11 2025 new variable badge#:#badge_service_activate#:#Attiva il servizio badge#:#badge_service_activate_info#:#Attiva il servizio per rendere il badge disponibile badge#:#badge_settings#:#Impostazioni badge -badge#:#badge_sort_active_badges_first#:#Active Badges First###29 10 2025 new variable -badge#:#badge_sort_active_badges_last#:#Active Badges Last###29 10 2025 new variable -badge#:#badge_sort_activity_badges_first#:#Activity Badges First###29 10 2025 new variable -badge#:#badge_sort_activity_badges_last#:#Activity Badges Last###29 10 2025 new variable -badge#:#badge_sort_added_to_profile_last#:#Added To Profile First###29 10 2025 new variable -badge#:#badge_sort_excluded_from_profile_first#:#Excluded From Profile First###29 10 2025 new variable -badge#:#badge_sort_manual_awarding_first#:#Badges mit manueller Vergabe zuerst###29 10 2025 new variable -badge#:#badge_sort_manual_awarding_last#:#Badges mit manueller Vergabe zuletzt###29 10 2025 new variable +badge#:#badge_sort_active_badges_first#:#Active Badges First###28 11 2025 new variable +badge#:#badge_sort_active_badges_last#:#Active Badges Last###28 11 2025 new variable +badge#:#badge_sort_activity_badges_first#:#Activity Badges First###28 11 2025 new variable +badge#:#badge_sort_activity_badges_last#:#Activity Badges Last###28 11 2025 new variable +badge#:#badge_sort_added_to_profile_last#:#Added To Profile First###28 11 2025 new variable +badge#:#badge_sort_excluded_from_profile_first#:#Excluded From Profile First###28 11 2025 new variable +badge#:#badge_sort_manual_awarding_first#:#Badges mit manueller Vergabe zuerst###28 11 2025 new variable +badge#:#badge_sort_manual_awarding_last#:#Badges mit manueller Vergabe zuletzt###28 11 2025 new variable badge#:#badge_subtype_auto#:#automatico badge#:#badge_subtype_manual#:#manuale badge#:#badge_template_deletion_confirmation#:#Sei sicuro di voler eliminare i seguenti modelli di immagine? @@ -2282,32 +2281,32 @@ badge#:#badge_template_types#:#Tipi validi badge#:#badge_template_types_all#:#Tutti badge#:#badge_template_types_specific#:#Specifico badge#:#badge_types#:#Tipi -badge#:#badge_update_image_processing_failed#:#The badge could not be updated, an error occurred while processing the image.###26 08 2024 new variable -badge#:#badge_uploaded_image_file_not_found#:#No uploaded image for the badge could be found.###26 08 2024 new variable +badge#:#badge_update_image_processing_failed#:#The badge could not be updated, an error occurred while processing the image.###30 04 2024 new variable +badge#:#badge_uploaded_image_file_not_found#:#No uploaded image for the badge could be found.###30 04 2024 new variable badge#:#badge_user_profile#:#Profilo utente badge#:#badge_valid#:#Valida fino a -badge#:#criteria#:#Criteria###26 08 2024 new variable -badge#:#endless#:#Always###26 08 2024 new variable -badge#:#issued_on#:#Issued on###26 08 2024 new variable -badge#:#position_updated#:#Profil assignment updated.###26 08 2024 new variable -badge#:#sort_by_date_asc#:#Sort by Date Ascending###26 08 2024 new variable -badge#:#sort_by_date_desc#:#Sort by Date Descending###26 08 2024 new variable -badge#:#sort_by_title_asc#:#Sort by Title Ascending###26 08 2024 new variable -badge#:#sort_by_title_desc#:#Sort by Title Descending###26 08 2024 new variable -badge#:#table_view#:#Table View###26 08 2024 new variable -badge#:#tile_view#:#Tile View###26 08 2024 new variable -badge#:#valid_until#:#Valid until###26 08 2024 new variable -benchmark#:#adm_activate_db_benchmark#:#Activate Benchmarking###29 10 2025 new variable -benchmark#:#adm_activate_db_benchmark_desc#:#Benchmarking will be automatically disabled after one request.###29 10 2025 new variable -benchmark#:#adm_db_bench_by_first_table#:#Aggregated by First Table in SQL###29 10 2025 new variable -benchmark#:#adm_db_bench_chronological#:#Chronological###29 10 2025 new variable -benchmark#:#adm_db_bench_slowest_first#:#Slowest First###29 10 2025 new variable -benchmark#:#adm_db_bench_sorted_by_sql#:#Sorted by SQL###29 10 2025 new variable -benchmark#:#adm_db_benchmark#:#DB Benchmark###29 10 2025 new variable -benchmark#:#adm_db_benchmark_user#:#User Account Name###29 10 2025 new variable -benchmark#:#adm_db_benchmark_user_desc#:#Measurements will be made for this user only. The username entered should not belong to the user initiating the benchmarking.###29 10 2025 new variable -benchmark#:#adm_sql#:#SQL###29 10 2025 new variable -benchmark#:#adm_time#:#Time###29 10 2025 new variable +badge#:#criteria#:#Criteria###30 04 2024 new variable +badge#:#endless#:#Always###30 04 2024 new variable +badge#:#issued_on#:#Issued on###30 04 2024 new variable +badge#:#position_updated#:#Profil assignment updated.###30 04 2024 new variable +badge#:#sort_by_date_asc#:#Sort by Date Ascending###30 04 2024 new variable +badge#:#sort_by_date_desc#:#Sort by Date Descending###30 04 2024 new variable +badge#:#sort_by_title_asc#:#Sort by Title Ascending###30 04 2024 new variable +badge#:#sort_by_title_desc#:#Sort by Title Descending###30 04 2024 new variable +badge#:#table_view#:#Table View###30 04 2024 new variable +badge#:#tile_view#:#Tile View###30 04 2024 new variable +badge#:#valid_until#:#Valid until###30 04 2024 new variable +benchmark#:#adm_activate_db_benchmark#:#Activate Benchmarking###28 11 2025 new variable +benchmark#:#adm_activate_db_benchmark_desc#:#Benchmarking will be automatically disabled after one request.###28 11 2025 new variable +benchmark#:#adm_db_bench_by_first_table#:#Aggregated by First Table in SQL###28 11 2025 new variable +benchmark#:#adm_db_bench_chronological#:#Chronological###28 11 2025 new variable +benchmark#:#adm_db_bench_slowest_first#:#Slowest First###28 11 2025 new variable +benchmark#:#adm_db_bench_sorted_by_sql#:#Sorted by SQL###28 11 2025 new variable +benchmark#:#adm_db_benchmark#:#DB Benchmark###28 11 2025 new variable +benchmark#:#adm_db_benchmark_user#:#User Account Name###28 11 2025 new variable +benchmark#:#adm_db_benchmark_user_desc#:#Measurements will be made for this user only. The username entered should not belong to the user initiating the benchmarking.###28 11 2025 new variable +benchmark#:#adm_sql#:#SQL###28 11 2025 new variable +benchmark#:#adm_time#:#Time###28 11 2025 new variable bgtask#:#bgtask_blocked#:#Download simultaneo bgtask#:#bgtask_blocked_cancel_new#:#Annulla nuovo download bgtask#:#bgtask_blocked_cancel_old#:#Annulla download esistente @@ -2328,8 +2327,8 @@ bgtask#:#bgtask_setting_threshold_count_info#:#Se il numero di file supera quest bgtask#:#bgtask_setting_threshold_size#:#Grandezza minima bgtask#:#bgtask_setting_threshold_size_info#:#Se le grandezze dei file superano questo valore, il download sarà asincrono. bibl#:#Type#:#Tipo -bibl#:#add_filter#:#Add Filter -bibl#:#bib_default_abstract#:#Abstract +bibl#:#add_filter#:#Aggiungi filtro +bibl#:#bib_default_abstract#:#Riassunto bibl#:#bib_default_address#:#Indirizzo bibl#:#bib_default_author#:#Autore bibl#:#bib_default_cite#:#Bibliografia citazione @@ -2350,52 +2349,52 @@ bibl#:#bib_default_type#:#Tipo bibl#:#bib_default_url#:#URL bibl#:#bib_default_volume#:#Volume bibl#:#bib_default_year#:#Anno -bibl#:#bibl_copy#:#User can copy bibliography +bibl#:#bibl_copy#:#L'utente può copiare la bibliografia bibl#:#bibl_edit#:#Modifica bibliografia -bibl#:#bibl_filter#:#Filter +bibl#:#bibl_filter#:#Filtra bibl#:#bibl_import#:#Importa bibliografia bibl#:#bibl_library_img#:#URL di immagine bibl#:#bibl_library_name#:#Nome -bibl#:#bibl_library_show_in_list#:#Show link als in the list +bibl#:#bibl_library_show_in_list#:#Mostra come link nella lista bibl#:#bibl_library_url#:#URL di base bibl#:#bibl_link_online#:#Inventario di ricerca -bibl#:#bibl_msg_translations_deleted#:#Translations were deleted -bibl#:#bibl_msg_translations_saved#:#Translations were saved +bibl#:#bibl_msg_translations_deleted#:#Le traduzioni sono state cancellate +bibl#:#bibl_msg_translations_saved#:#Le traduzioni sono state salvate bibl#:#bibl_new#:#Nuova bibliografia bibl#:#bibl_settings_edit#:#Modifica biblioteca bibl#:#bibl_settings_libraries#:#Biblioteche bibl#:#bibl_settings_new#:#Aggiungi biblioteca -bibl#:#bibl_translation_desc#:#Description -bibl#:#bibl_translation_lang#:#Language -bibl#:#bibl_translation_trans#:#Translation +bibl#:#bibl_translation_desc#:#Descrizione +bibl#:#bibl_translation_lang#:#Linguaggio +bibl#:#bibl_translation_trans#:#Traduzione bibl#:#bibliography_file#:#Bibliography File bibl#:#bibtex#:#Bibtex -bibl#:#changes_saved#:#Changes were saved. -bibl#:#custom#:#Custom +bibl#:#changes_saved#:#Le modifiche sono state salvate. +bibl#:#custom#:#Personalizzato bibl#:#detail_view#:#Visualizzazione dettagliata -bibl#:#detailed_information#:#Detailed Information###28 10 2024 new variable +bibl#:#detailed_information#:#Detailed Information###28 11 2025 new variable bibl#:#download_original_file#:#Scarica file originale -bibl#:#field#:#Field +bibl#:#field#:#Campo bibl#:#fields#:#Fields -bibl#:#filter_deleted#:#The Filter was deleted. -bibl#:#filter_field_info#:#Please choose a field for which you want to add a filter. -bibl#:#filter_form_title#:#Add new filter -bibl#:#filter_type#:#Filter Type -bibl#:#filter_type_1#:#Textinput -bibl#:#filter_type_2#:#Selectinput +bibl#:#filter_deleted#:#Il filtro è stato cancellato. +bibl#:#filter_field_info#:#Scegli un campo per il quale desideri aggiungere un filtro. +bibl#:#filter_form_title#:#Aggiungi nuovo filtro +bibl#:#filter_type#:#Tipo di filtro +bibl#:#filter_type_1#:#L'immissione di testo +bibl#:#filter_type_2#:#Seleziona input bibl#:#filter_type_3#:#Multi-Selectinput -bibl#:#filter_type_info#:#Please choose a filter type for the field. -bibl#:#identifier#:#Identifier -bibl#:#msg_confirm_delete_filter#:#Do you like to delete the following filter? -bibl#:#msg_filter_info#:#Create a filter here that can be used in the "Contents" tab to limit the display of entries.###26 08 2024 new variable +bibl#:#filter_type_info#:#Scegli un tipo di filtro per il campo. +bibl#:#identifier#:#Identificatore +bibl#:#msg_confirm_delete_filter#:#Cancellare il seguente filtro? +bibl#:#msg_filter_info#:#Create a filter here that can be used in the "Contents" tab to limit the display of entries.###30 04 2024 new variable bibl#:#news_title_created#:#Nuova lista bibliografia aggiunta bibl#:#news_title_updated#:#Lista bibliografia aggiornata -bibl#:#not_yet_migrated#:#This Object has not et been migrated. Please contact the administrators of the platform.###29 07 2022 new variable +bibl#:#not_yet_migrated#:#This Object has not et been migrated. Please contact the administrators of the platform.###31 03 2023 new variable bibl#:#obj_bibl_duplicate#:#Duplica bibliografia -bibl#:#order#:#Order +bibl#:#order#:#Ordine bibl#:#override_entries#:#Sovrascrivi voci -bibl#:#replace_bibliography_file#:#Replace Bibliography File###26 08 2024 new variable -bibl#:#replace_bibliography_file_info#:#The current bibliography file will be replaced by the new file. All existing entries from the current file will be deleted.###26 08 2024 new variable +bibl#:#replace_bibliography_file#:#Replace Bibliography File###30 04 2024 new variable +bibl#:#replace_bibliography_file_info#:#The current bibliography file will be replaced by the new file. All existing entries from the current file will be deleted.###30 04 2024 new variable bibl#:#ris#:#Ris bibl#:#ris_default_a2#:#Posizione negli archivi bibl#:#ris_default_au#:#Autore @@ -2408,7 +2407,7 @@ bibl#:#ris_default_l3#:#Registrazioni correlate bibl#:#ris_default_m1#:#Numero bibl#:#ris_default_m3#:#Vari 3 bibl#:#ris_default_n1#:#Note -bibl#:#ris_default_n2#:#Abstract +bibl#:#ris_default_n2#:#Riassunto bibl#:#ris_default_pb#:#Editore bibl#:#ris_default_py#:#Anno di pubblicazione bibl#:#ris_default_sn#:#ISSN/ISBN/ASIN @@ -2421,18 +2420,18 @@ bibl#:#ris_default_u2#:#Definito dall’utente bibl#:#ris_default_ur#:#URL bibl#:#ris_default_vl#:#Volume bibl#:#ris_default_y1#:#Anno -bibl#:#sorting_1#:#By Title (Ascending)###28 10 2024 new variable -bibl#:#sorting_2#:#By Title (Descending)###28 10 2024 new variable -bibl#:#sorting_3#:#By Author (Ascending)###28 10 2024 new variable -bibl#:#sorting_4#:#By Author (Descending)###28 10 2024 new variable -bibl#:#sorting_5#:#By Year (Ascending)###28 10 2024 new variable -bibl#:#sorting_6#:#By Year (Descending)###28 10 2024 new variable +bibl#:#sorting_1#:#By Title (Ascending)###28 11 2025 new variable +bibl#:#sorting_2#:#By Title (Descending)###28 11 2025 new variable +bibl#:#sorting_3#:#By Author (Ascending)###28 11 2025 new variable +bibl#:#sorting_4#:#By Author (Descending)###28 11 2025 new variable +bibl#:#sorting_5#:#By Year (Ascending)###28 11 2025 new variable +bibl#:#sorting_6#:#By Year (Descending)###28 11 2025 new variable bibl#:#standard#:#Standard -bibl#:#translate#:#Translate +bibl#:#translate#:#Traduci bkm#:#bkm_fold_created#:#La cartella dei segnalibri è stata creata. -blog#:#blog_abstract_image#:#Aggiungi immagine all’abstract +blog#:#blog_abstract_image#:#Mostra la prima immagine blog#:#blog_abstract_image_height#:#Altezza -blog#:#blog_abstract_image_info#:#Le immagini più piccole non verranno utilizzate. +blog#:#blog_abstract_image_info#:#La prima immagine dell'articolo viene ridimensionata alle misure qui definite. Le immagini più piccole di tali misure non verranno mostrate. blog#:#blog_abstract_image_pixels#:#Px blog#:#blog_abstract_image_width#:#Larghezza blog#:#blog_abstract_shorten#:#Abbreviare abstract @@ -2443,25 +2442,25 @@ blog#:#blog_add_contributor#:#Aggiungi collaboratore blog#:#blog_add_posting#:#Aggiungi post blog#:#blog_admin_inactive_info#:#È possibile attivare la funzionalità blog nell’amministrazione del desktop personale. blog#:#blog_admin_toggle_info#:#È possibile disattivare completamente la funzionalità blog nell’amministrazione del desktop personale. -blog#:#blog_approve#:#Approve -blog#:#blog_author#:#Author +blog#:#blog_approve#:#Approvare +blog#:#blog_author#:#Autore blog#:#blog_authors#:#Autori blog#:#blog_back_to_blog_owner#:#Modifica blog blog#:#blog_change_notification_body_approve#:#i seguenti messaggi blog devono essere approvati. blog#:#blog_change_notification_body_comment#:#è stato commentato il seguente post pubblicato. -blog#:#blog_change_notification_body_new#:#the following blog posting was created -blog#:#blog_change_notification_body_update#:#the following blog posting has been updated -blog#:#blog_change_notification_link#:#URL -blog#:#blog_change_notification_reason#:#You are receiving this email because you activated notifications for the blog mentioned above. +blog#:#blog_change_notification_body_new#:#è stato creato il seguente post sul blog +blog#:#blog_change_notification_body_update#:#il seguente post sul blog è stato aggiornato +blog#:#blog_change_notification_link#:#Link al post del Blog +blog#:#blog_change_notification_reason#:#Ricevi questa email perché hai attivato le notifiche per il blog sopra menzionato. blog#:#blog_change_notification_subject#:#Blog "%s" è stato aggiornato blog#:#blog_comments#:#Commenti -blog#:#blog_confirm_delete_contributors#:#Sei sicuro di voler eliminare i seguenti contribuenti? -blog#:#blog_contribute_other_roles#:#The following roles give an active "contribute" permission: %s. -blog#:#blog_contributors#:#Contributors +blog#:#blog_confirm_delete_contributors#:#Sei sicuro di voler eliminare i seguenti contributori? +blog#:#blog_contribute_other_roles#:#I seguenti ruoli concedono un'autorizzazione "contributiva" attiva: %s. +blog#:#blog_contributors#:#Contributori blog#:#blog_copy#:#Copia blog -blog#:#blog_download_submission#:#Download Submission###07 02 2020 new variable +blog#:#blog_download_submission#:#Scarica l'invio blog#:#blog_draft#:#Bozza -blog#:#blog_draft_info#:#This posting draft is only visible for the author. +blog#:#blog_draft_info#:#Questa bozza di pubblicazione è visibile solo per l'autore. blog#:#blog_draft_info_contributors#:#Questa bozza di registrazione è visibile solo per i contributori. blog#:#blog_draft_text#:#Messaggio non pubblicato blog#:#blog_edit#:#Modifica blog @@ -2469,8 +2468,8 @@ blog#:#blog_edit_date#:#Modifica data blog#:#blog_edit_date_info#:#Lo stato della pubblicazione non dipende da questa data. blog#:#blog_edit_keywords#:#Modifica parole chiave blog#:#blog_edit_posting#:#Modifica messaggio -blog#:#blog_enable_approval#:#Approval -blog#:#blog_enable_approval_info#:#All postings need to be approved by an administrator before being published. +blog#:#blog_enable_approval#:#Approvazione +blog#:#blog_enable_approval_info#:#Tutte le pubblicazioni devono essere approvate da un amministratore prima di essere pubblicate. blog#:#blog_enable_keywords#:#Parole chiave blog#:#blog_enable_keywords_info#:#Le parole chiave possono essere impostate per le pubblicazioni. Cliccando su una parola chiave vengono mostrate tutte le pubblicazioni contrassegnate con questa parola chiave. blog#:#blog_enable_nav_authors#:#Autori @@ -2478,36 +2477,36 @@ blog#:#blog_enable_nav_authors_info#:#Viene visualizzato l’elenco degli autori blog#:#blog_enable_notes#:#Commenti pubblici blog#:#blog_enable_rss#:#Attiva RSS blog#:#blog_enable_rss_info#:#Il feed RSS è pubblico e indipendente dalla condivisione del blog o dalle autorizzazioni utente. -blog#:#blog_est_reading_time#:#Estimated Reading Time###29 07 2022 new variable -blog#:#blog_est_reading_time_info#:#For Blogs in the repository reading time can be determined and displayed.###29 07 2022 new variable -blog#:#blog_exercise_info#:#This blog is part of the assignment "%s" of the exercise "%s". -blog#:#blog_exercise_submitted_info#:#Your last submission was on %s, please check the export file: %s. +blog#:#blog_est_reading_time#:#Estimated Reading Time###31 03 2023 new variable +blog#:#blog_est_reading_time_info#:#For Blogs in the repository reading time can be determined and displayed.###31 03 2023 new variable +blog#:#blog_exercise_info#:#Questo blog fa parte del compito "%s" dell'esercizio "%s". +blog#:#blog_exercise_submitted_info#:#Il tuo ultimo invio è stato su %s, controlla il file di esportazione: %s. blog#:#blog_finalize_blog#:#Finalizza e invia blog blog#:#blog_finalized#:#Il blog è stato inviato. blog#:#blog_import#:#Importa blog -blog#:#blog_incl_comments#:#including comments###29 07 2022 new variable +blog#:#blog_incl_comments#:#inclusi i commenti blog#:#blog_keyword#:#Parola chiave -blog#:#blog_keyword_enter#:#Write a keyword and press Enter. +blog#:#blog_keyword_enter#:#Scrivi una parola chiave e premi Invio. blog#:#blog_keywords#:#Parole chiave blog#:#blog_latest_posting#:#Ultimi messaggi -blog#:#blog_link#:#Link###29 07 2022 new variable +blog#:#blog_link#:#Link###31 03 2023 new variable blog#:#blog_list_more#:#altro blog#:#blog_list_num_postings#:#Numero delle pubblicazioni blog#:#blog_list_num_postings_info#:#Queste impostazioni sono utilizzate se non viene selezionato un mese specifico. blog#:#blog_nav_mode#:#Messaggi blog#:#blog_nav_mode_month_list#:#Mostra lista mesi -blog#:#blog_nav_mode_month_list_info#:#All months with postings are listed in the 'Postings' block. -blog#:#blog_nav_mode_month_list_num_month#:#Number of listed months -blog#:#blog_nav_mode_month_list_num_month_info#:#Months above the limit will not be listed and related postings are not accessible. +blog#:#blog_nav_mode_month_list_info#:#Tutti i mesi con le pubblicazioni sono elencati nel blocco "Pubblicazioni". +blog#:#blog_nav_mode_month_list_num_month#:#Numero di mesi elencati +blog#:#blog_nav_mode_month_list_num_month_info#:#I mesi superiori al limite non verranno elencati e le pubblicazioni correlate non sono accessibili. blog#:#blog_nav_mode_month_list_num_month_with_post#:#Numero dei mesi con registrazioni elencate blog#:#blog_nav_mode_month_list_num_month_with_post_info#:#Questi mesi verranno mostrati con tutte le registrazione nel blocco di navigazione. blog#:#blog_nav_mode_month_single#:#Mostra mese selezionato -blog#:#blog_nav_mode_month_single_info#:#Only postings of the selected month are listed in the 'Postings' block. Month can be changed by dropdown. +blog#:#blog_nav_mode_month_single_info#:#Solo i post del mese selezionato sono elencati nel blocco "Postings". Il mese può essere modificato dal menu a discesa. blog#:#blog_nav_sortorder#:#Ordine dei blocchi blog#:#blog_navigation#:#Messaggi -blog#:#blog_needs_approval#:#Needs Approval +blog#:#blog_needs_approval#:#Necessità di Approvazione blog#:#blog_new#:#Crea nuovo blog -blog#:#blog_new_posting_info#:#The first text block is used as abstract in the posting list. +blog#:#blog_new_posting_info#:#Il primo blocco di testo viene utilizzato come astratto nell'elenco dei post. blog#:#blog_news_posting_authors#:#Autori contributori: %s blog#:#blog_news_posting_published#:#Un messaggio di blog è stato pubblicato da %s. blog#:#blog_news_posting_updated#:#Un messaggio di blog è stato aggiornato da %s. @@ -2516,13 +2515,13 @@ blog#:#blog_notification_activated#:#Notifica attivata blog#:#blog_notification_deactivated#:#Notifica disattivata blog#:#blog_notification_toggle_off#:#Disattiva notifica blog#:#blog_notification_toggle_on#:#Attiva notifica -blog#:#blog_number_users_notes_or_comments#:#Number of users that attached notes or comments to this entry +blog#:#blog_number_users_notes_or_comments#:#Numero di utenti che hanno allegato note o commenti a questa voce blog#:#blog_posting#:#Messaggi blog -blog#:#blog_posting_deleted#:#The entry has been deleted. -blog#:#blog_posting_deletion_confirmation#:#Are you sure you want to delete the following entry? +blog#:#blog_posting_deleted#:#La voce è stata cancellata +blog#:#blog_posting_deletion_confirmation#:#Sei sicuro di voler eliminare la seguente voce? blog#:#blog_posting_edit_approval_info#:#La pubblicazione resta da approvare da un tutor prima di essere pubblicata. blog#:#blog_posting_not_found#:#Questo messaggio del blog non è disponibile. -blog#:#blog_postings#:#Postings###29 07 2022 new variable +blog#:#blog_postings#:#Postings###31 03 2023 new variable blog#:#blog_presentation_frame#:#Presentazione blog blog#:#blog_presentation_overview#:#Panoramica iniziale blog#:#blog_preview#:#Anteprima @@ -2530,61 +2529,61 @@ blog#:#blog_profile_picture#:#Visualizza immagine del profilo blog#:#blog_profile_picture_repository_info#:#Le immagini del profilo degli autori vengono mostrate solo nelle pagine di pubblicazione, non nelle pagine di sommario. blog#:#blog_properties#:#Proprietà blog blog#:#blog_rename_posting#:#Rinomina post -blog#:#blog_selected_pages#:#Selected Postings###29 07 2022 new variable +blog#:#blog_selected_pages#:#Selected Postings###31 03 2023 new variable blog#:#blog_settings#:#Amministrazione blog blog#:#blog_settings_navigation#:#Colonna di navigazione blog#:#blog_show_latest#:#Mostra ultimi messaggi/bozze -blog#:#blog_show_print_view#:#Show Print View###29 07 2022 new variable -blog#:#blog_side_blocks#:#Side Blocks###28 10 2024 new variable -blog#:#blog_starting_page#:#Starting Page###26 08 2024 new variable -blog#:#blog_task_publishing_draft_title#:#Publishing of Draft "%s"###07 02 2020 new variable -blog#:#blog_toggle_draft#:#Save As Draft +blog#:#blog_show_print_view#:#Show Print View###31 03 2023 new variable +blog#:#blog_side_blocks#:#Side Blocks###28 11 2025 new variable +blog#:#blog_starting_page#:#Starting Page###28 11 2023 new variable +blog#:#blog_task_publishing_draft_title#:#Pubblicazione della Bozza "%s" +blog#:#blog_toggle_draft#:#Salva come bozza blog#:#blog_toggle_draft_admin#:#Disattiva messaggi blog blog#:#blog_toggle_final#:#Pubblica post -blog#:#blog_whole_blog#:#Whole Blog###29 07 2022 new variable -book#:#X_reservations_of#:#%s reservations of###29 07 2022 new variable +blog#:#blog_whole_blog#:#Whole Blog###31 03 2023 new variable +book#:#X_reservations_of#:#%s prenotazioni di book#:#book_add#:#Aggiungi da gruppo di prenotazione book#:#book_add_object#:#Aggiungi oggetto book#:#book_add_schedule#:#Aggiungi programma book#:#book_additional_info_file#:#Descrizione aggiuntiva book#:#book_all#:#Mostra tutto -book#:#book_all_pools_need_schedules#:#Settings not saved. All assigned pools need to have at least one schedule.###07 02 2020 new variable -book#:#book_all_users#:#All Participants###07 02 2020 new variable -book#:#book_assign#:#Assign -book#:#book_assign_object#:#Assign Booking Object -book#:#book_assign_participant#:#Assign to Participant +book#:#book_all_pools_need_schedules#:#Le modifiche non sono state salvate. Tutti i gruppi di prenotazione assegnati necessitano di un orario. +book#:#book_all_users#:#Tutti i partecipanti +book#:#book_assign#:#Assegnare +book#:#book_assign_object#:#Assegna oggetto prenotazione +book#:#book_assign_participant#:#Assegna al Partecipante book#:#book_back_to_list#:#Torna all’elenco book#:#book_bobj#:#Prenota oggetto book#:#book_book#:#Prenota -book#:#book_book_available#:#Book Available Dates###26 08 2024 new variable -book#:#book_book_recurrence#:#Book multiple dates###26 08 2024 new variable -book#:#book_booked_in#:#Booked in###07 02 2020 new variable -book#:#book_booking#:#Booking###26 08 2024 new variable +book#:#book_book_available#:#Book Available Dates###30 04 2024 new variable +book#:#book_book_recurrence#:#Book multiple dates###30 04 2024 new variable +book#:#book_booked_in#:#Prenotato in +book#:#book_booking#:#Booking###30 04 2024 new variable book#:#book_booking_information#:#Informazione -book#:#book_booking_objects#:#Booking Objects###29 07 2022 new variable -book#:#book_booking_reminders#:#Upcoming reservations -book#:#book_bookings_per_user#:#Bookings per User###29 07 2022 new variable -book#:#book_bulk_confirmation#:#Please check that all values are listed correctly.###26 08 2024 new variable -book#:#book_bulk_creation#:#Bulk Creation###26 08 2024 new variable -book#:#book_bulk_data#:#Item Data###26 08 2024 new variable +book#:#book_booking_objects#:#Booking Objects###31 03 2023 new variable +book#:#book_booking_reminders#:#Prossime prenotazioni +book#:#book_bookings_per_user#:#Bookings per User###31 03 2023 new variable +book#:#book_bulk_confirmation#:#Please check that all values are listed correctly.###30 04 2024 new variable +book#:#book_bulk_creation#:#Bulk Creation###30 04 2024 new variable +book#:#book_bulk_data#:#Item Data###30 04 2024 new variable book#:#book_cal_entry#:#Prenotazione di: book#:#book_confirm_booking#:#Conferma prenotazione -book#:#book_confirm_booking_for_users#:#Are you sure you want to book this item for the following user(s)?###29 10 2025 new variable +book#:#book_confirm_booking_for_users#:#Are you sure you want to book this item for the following user(s)?###28 11 2025 new variable book#:#book_confirm_booking_no_schedule#:#Sei sicuro di voler prenotare il seguente oggetto? book#:#book_confirm_booking_schedule_number_of_objects#:#Conferma prenotazione book#:#book_confirm_booking_schedule_number_of_objects_info#:#Si prega di indicare il numero di oggetti da prenotare. -book#:#book_confirm_cancel#:#Are you sure you want to cancel the following reservation? +book#:#book_confirm_cancel#:#Sei sicuro di voler cancellare la seguente prenotazione? book#:#book_confirm_cancel_aggregation#:#Numero di cancellazioni book#:#book_confirm_delete#:#Vuoi davvero eliminare i seguenti articoli? book#:#book_copy#:#Copia gruppo di prenotazione -book#:#book_create_objects#:#Create Items###26 08 2024 new variable +book#:#book_create_objects#:#Create Items###30 04 2024 new variable book#:#book_deadline#:#Scadenza book#:#book_deadline_hours#:#X ore prima del periodo di prenotazione book#:#book_deadline_info#:#Tempo minimo tra prenotazione e periodo prenotato book#:#book_deadline_options#:#Scadenza di prenotazione book#:#book_deadline_slot_end#:#Fino alla fine per periodo di prenotazione book#:#book_deadline_slot_start#:#Fino all’inizio del periodo di prenotazione -book#:#book_deassign#:#Deassign +book#:#book_deassign#:#Togli assegnazione book#:#book_download_info#:#Scarica descrizione aggiuntiva book#:#book_edit#:#Modifica gruppo di prenotazione book#:#book_edit_object#:#Modifica oggetto @@ -2593,70 +2592,70 @@ book#:#book_filter_past_reservations#:#Mostra prenotazioni passate book#:#book_fromto#:#Intervallo di tempo book#:#book_hours#:#Ore book#:#book_is_used#:#Usate -book#:#book_limit_objects_available#:#You can not assign %s participants to "%s" because it has only %s items available. -book#:#book_list#:#List###26 08 2024 new variable -book#:#book_log#:#Log -book#:#book_mail_permanent_link#:#Link to Booking Pool###26 08 2024 new variable -book#:#book_mail_to_booker#:#Mail to User###26 08 2024 new variable -book#:#book_message#:#Message###26 08 2024 new variable -book#:#book_message_info#:#You may enter a message for the booking organiser here.###26 08 2024 new variable -book#:#book_messages#:#Messages###26 08 2024 new variable -book#:#book_messages_info#:#Allow users to add a message when booking an item.###26 08 2024 new variable -book#:#book_missing_availability#:#It was not possible to book all items on all dates.###26 08 2024 new variable -book#:#book_missing_items#:#$1 missing item(s).###26 08 2024 new variable -book#:#book_new#:#Nuovo gruppo di prenotazione -book#:#book_no_bookings_for_you#:#No reservations have been performed for you.###07 02 2020 new variable -book#:#book_no_objects#:#No Assignment###07 02 2020 new variable +book#:#book_limit_objects_available#:#Non puoi assegnare %s partecipanti a "%s" perche' ha solo %s oggetti disponibili. +book#:#book_list#:#List###30 04 2024 new variable +book#:#book_log#:#Prenotazioni +book#:#book_mail_permanent_link#:#Link to Booking Pool###30 04 2024 new variable +book#:#book_mail_to_booker#:#Mail to User###30 04 2024 new variable +book#:#book_message#:#Message###30 04 2024 new variable +book#:#book_message_info#:#You may enter a message for the booking organiser here.###30 04 2024 new variable +book#:#book_messages#:#Messages###30 04 2024 new variable +book#:#book_messages_info#:#Allow users to add a message when booking an item.###30 04 2024 new variable +book#:#book_missing_availability#:#It was not possible to book all items on all dates.###30 04 2024 new variable +book#:#book_missing_items#:#$1 missing item(s).###30 04 2024 new variable +book#:#book_new#:#Crea nuovo gruppo di prenotazione +book#:#book_no_bookings_for_you#:#Non sono state finora effettuate prenotazioni per Lei. +book#:#book_no_objects#:#Nessuna assegnazione book#:#book_no_of_objects#:#Numero di oggetti -book#:#book_no_pools_selected#:#No booking pools have been assigned to this course. Booking pools can be assigned via the course's 'Resources' tab.###29 10 2025 new variable -book#:#book_no_preferences_for_you#:#No preferences have been stored for you.###07 02 2020 new variable -book#:#book_no_recurrence#:#Book only this date###26 08 2024 new variable +book#:#book_no_pools_selected#:#No booking pools have been assigned to this course. Booking pools can be assigned via the course's 'Resources' tab.###23 09 2025 new variable +book#:#book_no_preferences_for_you#:#Non ha salvato alcuna preferenza. +book#:#book_no_recurrence#:#Book only this date###30 04 2024 new variable book#:#book_not#:#No -book#:#book_not_enough_preferences#:#You selected not enough preferences. The preferences have not been saved.###07 02 2020 new variable -book#:#book_notification#:#Send Reservation Notifications -book#:#book_notification_cron_not_active#:#Note: The necessary cron job, 'Send Reservation Notifications', is currently not active.###26 08 2024 new variable -book#:#book_notification_info#:#Send a list of reservations of the next day to users (own reservations) and admins (if activated). -book#:#book_nr_of_preferences#:#Number of Preferences###07 02 2020 new variable -book#:#book_nr_of_preferences_info#:#Number of preferences each participant can indicate.###07 02 2020 new variable -book#:#book_nr_preferences#:#Prefences###29 07 2022 new variable -book#:#book_obj_select#:#Select###26 08 2024 new variable +book#:#book_not_enough_preferences#:#Non è stato selezionato un numero sufficiente di preferenze. Le preferenze non sono state salvate. +book#:#book_notification#:#Invia notifiche di prenotazione +book#:#book_notification_cron_not_active#:#Note: The corresponding cron job "Send Reservation Notifications" is currently not activated.###16 03 2023 new variable +book#:#book_notification_info#:#Invia un elenco di prenotazioni del giorno successivo agli utenti (proprie prenotazioni) e agli amministratori (se attivato). +book#:#book_nr_of_preferences#:#Numero preferenze +book#:#book_nr_of_preferences_info#:#Numero preferenze, che ogni partecipante può esprimere. +book#:#book_nr_preferences#:#Prefences###31 03 2023 new variable +book#:#book_obj_select#:#Select###30 04 2024 new variable book#:#book_object_added#:#È stato aggiunto un oggetto di prenotazione. book#:#book_object_deleted#:#L’oggetto di prenotazione è stato eliminato. -book#:#book_object_selection#:#Item Selection###26 08 2024 new variable +book#:#book_object_selection#:#Item Selection###30 04 2024 new variable book#:#book_object_updated#:#L’oggetto di prenotazione è stato aggiornato. -book#:#book_objects_available#:#Objects available %s +book#:#book_objects_available#:#Oggetti disponibili %s book#:#book_open#:#Apri gruppo di prenotazione book#:#book_overall_limit#:#Limita numero di prenotazioni book#:#book_overall_limit_warning#:#Hai raggiunto il numero massimo di prenotazioni. -book#:#book_participant_already_assigned#:#Participant(s) already assigned. -book#:#book_participant_assigned#:#Participant(s) assigned +book#:#book_participant_already_assigned#:#Partecipante/i già assegnato/i. +book#:#book_participant_assigned#:#Partecipante/i assegnato/i book#:#book_period#:#Periodo book#:#book_pool_added#:#È stato aggiunto un gruppo di prenotazione. -book#:#book_pool_selection#:#Booking Pool Selection###07 02 2020 new variable +book#:#book_pool_selection#:#Scelta del pool di prenotazione book#:#book_post_booking_file#:#File book#:#book_post_booking_information#:#Informazioni messaggio di prenotazione book#:#book_post_booking_text#:#Testo -book#:#book_post_booking_text_info#:#Use [PERIOD] and [OBJECT] to add booking details to the text. -book#:#book_pref_book_cron#:#Booking with Preferences###07 02 2020 new variable -book#:#book_pref_book_cron_info#:#Automatically book pools using preferences after the deadline###07 02 2020 new variable -book#:#book_pref_deadline#:#Deadline###07 02 2020 new variable -book#:#book_pref_deadline_info#:#Preferences can be given up to this point.###29 07 2022 new variable -book#:#book_pref_overview#:#Overview###07 02 2020 new variable -book#:#book_preference_info#:#Please select %1 preference(s) until %2. After the deadline bookings will be done automatically based on the preferences of all users.###07 02 2020 new variable -book#:#book_preferences#:#Preferences###07 02 2020 new variable -book#:#book_preferences_saved#:#The preferences have been saved.###07 02 2020 new variable +book#:#book_post_booking_text_info#:#Utilizzare [PERIODO] e [OGGETTO] per aggiungere i dettagli della prenotazione al testo. +book#:#book_pref_book_cron#:#Prenotazione con preferenze +book#:#book_pref_book_cron_info#:#Prenotazione automatica delle prenotazioni con preferenze oltre la scadenza. +book#:#book_pref_deadline#:#Scadenza +book#:#book_pref_deadline_info#:#Preferences can be given up to this point.###31 03 2023 new variable +book#:#book_pref_overview#:#Panoramica +book#:#book_preference_info#:#Si prega di selezionare %1 preferenza/e fino a %2. Dopo la scadenza, le assegnazioni vengono effettuate automaticamente in base alle preferenze di tutti i partecipanti. +book#:#book_preferences#:#Preferenze +book#:#book_preferences_saved#:#Le preferenze sono state salvate book#:#book_public_log#:#Prenotazioni pubbliche -book#:#book_public_log_info#:#The list of reservations can be viewed by all users. -book#:#book_recurrence#:#Recurrence###26 08 2024 new variable -book#:#book_refresh#:#Refresh###26 08 2024 new variable -book#:#book_rem_intro#:#This is an overview of upcoming reservations: -book#:#book_rem_reason#:#You are reciving these mails, because you are subscribed to notifications of the corresponding booking pools. -book#:#book_reminder_day#:#Before Reservation -book#:#book_reminder_day_info#:#Send list of own reservations to users and full list of reservations to admins. -book#:#book_reminder_days#:#Day(s) -book#:#book_reminder_setting#:#Reminder -book#:#book_rerun_assignments#:#Run Allocation Process###26 08 2024 new variable -book#:#book_rerun_confirmation#:#Attention. The process of allocating bookings according to preferences has already taken place. You may restart the process if any errors have occurred, e.g. no bookings have been saved. To prevent multiple allocations, please delete all existing bookings before restarting the process.###26 08 2024 new variable +book#:#book_public_log_info#:#L'elenco delle prenotazioni può essere visualizzato da tutti gli utenti. +book#:#book_recurrence#:#Recurrence###30 04 2024 new variable +book#:#book_refresh#:#Refresh###30 04 2024 new variable +book#:#book_rem_intro#:#Questa è una panoramica delle prossime prenotazioni: +book#:#book_rem_reason#:#Ricevi queste e-mail perché sei iscritto alle notifiche dei pool di prenotazione corrispondenti. +book#:#book_reminder_day#:#Prima della prenotazione +book#:#book_reminder_day_info#:#Invia l'elenco delle proprie prenotazioni agli utenti e l'elenco completo delle prenotazioni agli amministratori. +book#:#book_reminder_days#:#Giorno(i) +book#:#book_reminder_setting#:#Promemoria +book#:#book_rerun_assignments#:#Run Assignment Process###26 04 2023 new variable +book#:#book_rerun_confirmation#:#Attention. The assignments via preference process has already run. You may restart the process, if any errors have occured, e.g. no assignments have been saved. To prevent multiple assignments delete all reservations before restarting the process.###26 04 2023 new variable book#:#book_reservation_available#:#%s disponibile book#:#book_reservation_confirmed#:#La tua prenotazione è stata confermata. book#:#book_reservation_failed#:#La tua prenotazione è fallita. @@ -2664,7 +2663,7 @@ book#:#book_reservation_failed_overbooked#:#La prenotazione è fallita perché l book#:#book_reservation_filter_period#:#Periodo di tempo per la lista di prenotazione book#:#book_reservation_filter_period_info#:#Il valore predefinito per il filtro del periodo in giorni dalla data attuale. book#:#book_reservation_fix_info#:#La prenotazione più essere effettuata solo nelle ore stabilite. -book#:#book_reservation_overview#:#Reservation Overviews +book#:#book_reservation_overview#:#Panoramica delle prenotazioni book#:#book_reservation_status_5#:#Eliminata book#:#book_reservation_title#:#Prenota prenotazione per book#:#book_reservations_list#:#Prenotazioni @@ -2676,46 +2675,46 @@ book#:#book_schedule_deleted#:#Il programma di prenotazione è stato eliminato. book#:#book_schedule_slot#:#Fascia oraria book#:#book_schedule_type#:#Tipo book#:#book_schedule_type_fixed#:#Programma fisso -book#:#book_schedule_type_fixed_info#:#This type can be used for rooms, beamers and such +book#:#book_schedule_type_fixed_info#:#Questo tipo può essere usato per stanze, proiettori e simili book#:#book_schedule_type_none#:#Nessun programma -book#:#book_schedule_type_none_direct#:#No Schedule, Direct Booking###07 02 2020 new variable -book#:#book_schedule_type_none_direct_info#:#This type can be used for seminar papers, seminar places and such. Participants can book items directly.###07 02 2020 new variable -book#:#book_schedule_type_none_info#:#This type can be used for seminar papers, seminar places and such -book#:#book_schedule_type_none_preference#:#No Schedule, Using Preferences###07 02 2020 new variable -book#:#book_schedule_type_none_preference_info#:#This type can be used for seminar papers, seminar places and such. Participants will indicate their preferences. Items will be assigned automatically after the preferences deadline.###07 02 2020 new variable +book#:#book_schedule_type_none_direct#:#Prenotazione diretta, senza programma +book#:#book_schedule_type_none_direct_info#:#Questo tipo di prenotazione è adatto per gli argomenti delle relazioni, i posti dei seminari ecc. I partecipanti possono effettuare direttamente le prenotazioni. +book#:#book_schedule_type_none_info#:#Questo tipo può essere utilizzato per articoli per seminari, luoghi per seminari e simili +book#:#book_schedule_type_none_preference#:#Senza programma, con preference +book#:#book_schedule_type_none_preference_info#:#Questo tipo di prenotazione è adatto per gli argomenti delle relazioni, i posti dei seminari ecc.. I partecipanti possono esprimere le proprie preferenze. Al termine della scadenza le prenotazioni verranno eseguite automaticamente. book#:#book_schedule_updated#:#Il programma di prenotazione è stato aggiornato. -book#:#book_schedule_warning_edit#:#Currently, there is no schedule available. To use the booking pool you need to create a schedule for booking. +book#:#book_schedule_warning_edit#:#Attualmente non è disponibile alcun programma. Per utilizzare il pool di prenotazioni è necessario creare un programma per la prenotazione. book#:#book_schedules#:#Programmi -book#:#book_select_pool#:#Select Pool###07 02 2020 new variable +book#:#book_select_pool#:#Seleziona gruppo book#:#book_set_cancel#:#Cancella prenotazione -book#:#book_set_delete#:#Delete###29 07 2022 new variable -book#:#book_show_message#:#Show Message###26 08 2024 new variable -book#:#book_title_description_nr#:#Title; Description; Number of Units###26 08 2024 new variable -book#:#book_title_description_nr_info#:#Enter title, description and number of units separated by semicolon or TAB character (if importing from spreadsheet software). Use one line per item.###26 08 2024 new variable -book#:#book_too_many_preferences#:#You selected too many preferences. The preferences have not been saved.###07 02 2020 new variable +book#:#book_set_delete#:#Cancella +book#:#book_show_message#:#Show Message###30 04 2024 new variable +book#:#book_title_description_nr#:#Title; Description; Number of Units###30 04 2024 new variable +book#:#book_title_description_nr_info#:#Enter title, description and number of units separated by semicolon or TAB character (if importing from spreadsheet software). Use one line per item.###30 04 2024 new variable +book#:#book_too_many_preferences#:#Sono state selezionate troppe preferenze. Le preferenze non sono state salvate. book#:#book_type_warning#:#Attualmente non ci sono oggetti di prenotazione disponibili. Per utilizzare il gruppo di prenotazione è necessario creare oggetti di prenotazione. -book#:#book_week#:#Week###26 08 2024 new variable -book#:#book_your_bookings#:#Your Reservations###07 02 2020 new variable -book#:#book_your_preferences#:#Your Preferences###07 02 2020 new variable -book#:#book_your_reservations#:#Your Reservations -book#:#booking_multiple_succesfully#:#Bookings created successfully. +book#:#book_week#:#Week###30 04 2024 new variable +book#:#book_your_bookings#:#Le Sue prenotazioni +book#:#book_your_preferences#:#Le Sue preferenze +book#:#book_your_reservations#:#Le Sue prenotazioni +book#:#booking_multiple_succesfully#:#Prenotazioni create correttamente. book#:#booking_nr_of_items#:#Numero di elementi book#:#obj_book_duplicate#:#Copia gruppo di prenotazione -book#:#participants#:#Participants -book#:#reservation_deleted#:#Reservation deleted###29 07 2022 new variable +book#:#participants#:#Partecipanti +book#:#reservation_deleted#:#Prenotazione cancellata buddysystem#:#buddy_allow_to_contact_me#:#Consenti di contattarmi -buddysystem#:#buddy_allow_to_contact_me_default_info#:#Defines if users can send each other requests for getting into contact by default.###29 10 2025 new variable +buddysystem#:#buddy_allow_to_contact_me_default_info#:#Defines if users can send each other requests for getting into contact by default.###28 11 2025 new variable buddysystem#:#buddy_allow_to_contact_me_info#:#Se consentito, altri utenti possono inviare delle richieste per contattarmi. buddysystem#:#buddy_bs_act_btn_txt_ignored_request_to_linked#:#Conferma richiesta buddysystem#:#buddy_bs_act_btn_txt_ignored_request_to_unlinked#:#Elimina richiesta buddysystem#:#buddy_bs_act_btn_txt_linked_to_unlinked#:#Scollega -buddysystem#:#buddy_bs_act_btn_txt_requested_to_ignored_request#:#Ignore -buddysystem#:#buddy_bs_act_btn_txt_requested_to_linked#:#Confirm +buddysystem#:#buddy_bs_act_btn_txt_requested_to_ignored_request#:#Ignora +buddysystem#:#buddy_bs_act_btn_txt_requested_to_linked#:#Confermare buddysystem#:#buddy_bs_act_btn_txt_requested_to_unlinked#:#Elimina richiesta -buddysystem#:#buddy_bs_action_already_ignored#:#Already ignored user '%s'. -buddysystem#:#buddy_bs_action_already_linked#:#Already accepted the contact request from user '%s'. -buddysystem#:#buddy_bs_action_already_requested#:#Already requested user '%s'. -buddysystem#:#buddy_bs_action_already_unlinked#:#The contact state for user '%s' is already unlinked. +buddysystem#:#buddy_bs_action_already_ignored#:#Utente '%s' già ignorato. +buddysystem#:#buddy_bs_action_already_linked#:#Ho già accettato la richiesta di contatto dall'utente '%s'. +buddysystem#:#buddy_bs_action_already_requested#:#Utente già richiesto '%s'. +buddysystem#:#buddy_bs_action_already_unlinked#:#Lo stato del contatto per l'utente '%s' è già scollegato. buddysystem#:#buddy_bs_action_not_possible#:#Azione non possibile buddysystem#:#buddy_bs_btn_txt_ignored_request_a#:#Contatto richiesto buddysystem#:#buddy_bs_btn_txt_ignored_request_p#:#Richiesta ignorata @@ -2729,23 +2728,23 @@ buddysystem#:#buddy_bs_state_ignored_request_p#:#Ignorato buddysystem#:#buddy_bs_state_ignoredrequest#:#Ignorato buddysystem#:#buddy_bs_state_linked#:#Collegato buddysystem#:#buddy_bs_state_linked_a#:#Collegato -buddysystem#:#buddy_bs_state_linked_p#:#Linked###29 07 2022 new variable +buddysystem#:#buddy_bs_state_linked_p#:#Linked###27 04 2022 new variable buddysystem#:#buddy_bs_state_requested#:#Richiesti buddysystem#:#buddy_bs_state_requested_a#:#Richiesti -buddysystem#:#buddy_bs_state_requested_filter_a#:#Waiting for Reaction###29 07 2022 new variable -buddysystem#:#buddy_bs_state_requested_filter_p#:#Action Required###29 07 2022 new variable +buddysystem#:#buddy_bs_state_requested_filter_a#:#Waiting for Reaction###27 04 2022 new variable +buddysystem#:#buddy_bs_state_requested_filter_p#:#Action Required###27 04 2022 new variable buddysystem#:#buddy_bs_state_requested_p#:#Richiesti -buddysystem#:#buddy_bs_state_unlinked#:#Unlinked###29 07 2022 new variable +buddysystem#:#buddy_bs_state_unlinked#:#Unlinked###27 04 2022 new variable buddysystem#:#buddy_bs_state_unlinked_a#:#Scollegato -buddysystem#:#buddy_bs_state_unlinked_p#:#Unlinked###29 07 2022 new variable +buddysystem#:#buddy_bs_state_unlinked_p#:#Unlinked###27 04 2022 new variable buddysystem#:#buddy_enable#:#Attiva “Contatti” buddysystem#:#buddy_enable_info#:#Se consentito, gli utenti possono contattarsi a vicenda avviando richieste di contatto. Inoltre, c'è un'impostazione utente personale per consentire o impedire di essere contattato. buddysystem#:#buddy_handle_contact_request#:#Richiesta di contatto -buddysystem#:#buddy_noti_cr_profile_not_published#:#Profile not published###07 02 2020 new variable +buddysystem#:#buddy_noti_cr_profile_not_published#:#Profilo non reso pubblico buddysystem#:#buddy_notification_contact_request#:#Richiesta di contatto -buddysystem#:#buddy_notification_contact_request_ignore#:#Ignore Request###26 08 2024 new variable +buddysystem#:#buddy_notification_contact_request_ignore#:#Ignora richiesta: buddysystem#:#buddy_notification_contact_request_ignore_osd#:#Ignora richiesta -buddysystem#:#buddy_notification_contact_request_link#:#Approve Request###26 08 2024 new variable +buddysystem#:#buddy_notification_contact_request_link#:#Approva richiesta: buddysystem#:#buddy_notification_contact_request_link_osd#:#Approva richiesta buddysystem#:#buddy_notification_contact_request_long#:#[SALUTATION][BR][BR]l’utente "[REQUESTING_USER]" vuole aggiungerti alla sua lista degli amici.[BR][BR][APPROVE_REQUEST_TXT] [APPROVE_REQUEST][BR][IGNORE_REQUEST_TXT] [IGNORE_REQUEST] buddysystem#:#buddy_notification_contact_request_short#:#L’utente "[REQUESTING_USER]" vuole aggiungerti alla sua lista di amici.[BR][BR][APPROVE_REQUEST][BR][IGNORE_REQUEST] @@ -2753,56 +2752,56 @@ buddysystem#:#buddy_relation_requested#:#Una richiesta è stata inviata all’ut buddysystem#:#buddy_request_approved#:#Hai accetta il contatto con successo. buddysystem#:#buddy_request_ignored#:#Hai ignorato l’utente. buddysystem#:#buddy_tbl_filter_state#:#Stato -buddysystem#:#buddy_tbl_state_actions_col_label#:#State / Action###26 08 2024 new variable +buddysystem#:#buddy_tbl_state_actions_col_label#:#State / Action###31 03 2023 new variable buddysystem#:#buddy_tbl_title_relations#:#Relazioni con altri utenti buddysystem#:#buddy_use_osd#:#Richieste di contatto popup buddysystem#:#buddy_use_osd_info#:#Visualizza un popup per indicare che un utente vuole aggiungerti alle sue listi di amici. buddysystem#:#buddy_view_gallery#:#Galleria buddysystem#:#buddy_view_table#:#Lista cat#:#cat_copy#:#Copia categoria -cat#:#cat_hide_tax_in_side_block#:#Don't Present in Side Panel###26 08 2024 new variable +cat#:#cat_hide_tax_in_side_block#:#Don't Present in Side Panel###30 04 2024 new variable cat#:#cat_import#:#Importa categoria cat#:#cat_more_translations#:#Ulteriori traduzioni -cat#:#cat_show_tax_in_side_block#:#Present in Side Panel###26 08 2024 new variable -cert#:#cert_currently_no_certs#:#Currently you did not achieve any certificate, yet. -cert#:#cert_description_label#:#Description -cert#:#cert_download_label#:#Download -cert#:#cert_error_no_access#:#You have no access to this certificate. -cert#:#cert_issued_on_label#:#Issued On -cert#:#cert_object_label#:#Object -cert#:#cert_sortable_by_issue_date_asc#:#Nach Ausstellungsdatum aufsteigend -cert#:#cert_sortable_by_issue_date_desc#:#Nach Ausstellungsdatum absteigend -cert#:#cert_sortable_by_title_asc#:#Nach Titel aufsteigend -cert#:#cert_sortable_by_title_desc#:#Nach Titel absteigend -cert#:#certificate_achievement#:#%1$s achieved. -cert#:#certificate_achievement_sub_obj#:#Certificate for %1$s -cert#:#certificate_no_object_title#:#No object title available -cert#:#certificate_same_not_saved#:#No new version of certificate template was saved, because the values didn't change. -cert#:#error_creating_certificate_pdf#:#The certificate could not be created. Please contact the administrator to check the certificate server. -cert#:#user_certificates#:#Certificates -certificate#:#cert_cron_task_desc#:#This job's responsibility is the creation of persisting certificate data based on learning achievements of users. -certificate#:#cert_cron_task_title#:#Certificates -certificate#:#cert_form_sec_add_features#:#Additional Features -certificate#:#cert_form_sec_availability#:#Availability -certificate#:#cert_form_sec_layout#:#Layout and Text +cat#:#cat_show_tax_in_side_block#:#Present in Side Panel###30 04 2024 new variable +cert#:#cert_currently_no_certs#:#Al momento non hai ancora ottenuto alcun certificato. +cert#:#cert_description_label#:#Descrizione +cert#:#cert_download_label#:#Scarica +cert#:#cert_error_no_access#:#Non hai accesso a questo certificato. +cert#:#cert_issued_on_label#:#Rilasciato il +cert#:#cert_object_label#:#Oggetto +cert#:#cert_sortable_by_issue_date_asc#:#Crescente per data di rilascio +cert#:#cert_sortable_by_issue_date_desc#:#Discendente in base alla data di rilascio +cert#:#cert_sortable_by_title_asc#:#Crescente per titolo +cert#:#cert_sortable_by_title_desc#:#Decrescente per titolo +cert#:#certificate_achievement#:#%1$s raggiunto. +cert#:#certificate_achievement_sub_obj#:#Certificato per %1$s +cert#:#certificate_no_object_title#:#Nessun titolo di oggetto disponibile +cert#:#certificate_same_not_saved#:#Nessuna nuova versione del modello di certificato è stata salvata perché i valori non sono cambiati. +cert#:#error_creating_certificate_pdf#:#Non è stato possibile creare il certificato. Si prega di contattare l'amministratore per verificare il server dei certificati. +cert#:#user_certificates#:#Certificazioni +certificate#:#cert_cron_task_desc#:#La responsabilità di questo lavoro è la creazione di dati certificati permanenti basati sui risultati di apprendimento degli utenti. +certificate#:#cert_cron_task_title#:#Certificati +certificate#:#cert_form_sec_add_features#:#Caratteristiche aggiuntive +certificate#:#cert_form_sec_availability#:#Disponibilità +certificate#:#cert_form_sec_layout#:#Layout e testo certificate#:#certificate_a4#:#A4 (297 mm x 210 mm) certificate#:#certificate_a4_landscape#:#A4 Orizzontale (210 mm x 297 mm) certificate#:#certificate_a5#:#A5 (210 mm x 148 mm) certificate#:#certificate_a5_landscape#:#A5 Orizzontale (148 mm x 210 mm) certificate#:#certificate_background_image#:#Immagine di Sfondo -certificate#:#certificate_card_thumbnail_image#:#Card Thumbnail -certificate#:#certificate_change_active_status#:#The active state of the certificate has been changed +certificate#:#certificate_card_tile_image#:#Thumbnail Image###28 11 2025 new variable +certificate#:#certificate_change_active_status#:#Lo stato attivo del certificato è stato modificato certificate#:#certificate_confirm_deletion_text#:#Vuoi veramente cancellare il certificato e tutti i dati correlati? certificate#:#certificate_custom#:#Personalizza... certificate#:#certificate_edit#:#Crea/Edita un Template di Certificato -certificate#:#certificate_error_import#:#C'e'stato un errore durante l'importazione di un certificato +certificate#:#certificate_error_import#:#C'è stato un errore durante l'importazione di un certificato certificate#:#certificate_error_upload_bgimage#:#C'e' stato un errore durante il caricamento di un immagine di sfondo! certificate#:#certificate_export#:#Esporta Certificato certificate#:#certificate_failed#:#Fallito certificate#:#certificate_file_basename#:#Certificato -certificate#:#certificate_id#:#Certificate ID###26 08 2024 new variable -certificate#:#certificate_issue_date#:#Issue Date###26 08 2024 new variable -certificate#:#certificate_learning_progress_must_be_active#:#Only objects with an active Learning Progress can be selected. The Learning Progress is deactivated on the following objects: %s###07 02 2020 new variable +certificate#:#certificate_id#:#Certificate ID###28 11 2025 new variable +certificate#:#certificate_issue_date#:#Date of Issue###28 11 2025 new variable +certificate#:#certificate_learning_progress_must_be_active#:#Solo gli oggetti con un progresso di apprendimento attivo possono essere selezionati. Il progresso dell'apprendimento è disattivato sui seguenti oggetti: %s certificate#:#certificate_letter#:#Carta lettera USA (11 x 8,5 pollici) certificate#:#certificate_letter_landscape#:#Carta lettera USA orizzontale (8,5 x 11 pollici) certificate#:#certificate_margin_body#:#Margine Corpo @@ -2813,7 +2812,7 @@ certificate#:#certificate_pageheight#:#Altezza Pagina certificate#:#certificate_pagewidth#:#Larghezza Pagina certificate#:#certificate_passed#:#Riuscito certificate#:#certificate_ph_birthday#:#Giorno di nascita dell’utente -certificate#:#certificate_ph_cert_id#:#Unique Certificate ID###26 08 2024 new variable +certificate#:#certificate_ph_cert_id#:#Unique Certificate ID###28 11 2025 new variable certificate#:#certificate_ph_city#:#Citta' dell'utente certificate#:#certificate_ph_country#:#Nazione dell'Utente certificate#:#certificate_ph_date#:#Data odierna @@ -2854,7 +2853,7 @@ certificate#:#certificate_settings#:#Impostazione Certificato certificate#:#certificate_short_name#:#Titolo breve del file del certificato certificate#:#certificate_short_name_description#:#Si prega di inserire un titolo breve per il nome del certificato. Il titolo breve farà parte del nome del certificato: YYMMDD_[cognome]_[SHORT_TITLE]_certificato.pdf. certificate#:#certificate_text#:#Testo Certificato -certificate#:#certificate_text_info#:#Please enter the certificate text. If the WYSIWYG editor is disabled in the ILIAS administration, you can still use valid XHTML to format the text.###26 08 2024 new variable +certificate#:#certificate_text_info#:#Please enter the certificate text. If the WYSIWYG editor is disabled in the ILIAS administration, you can still use valid XHTML to format the text.###28 07 2023 new variable certificate#:#certificate_unit_description#:#Inserisci le unita' di misura come VALORE[cm|mm|in|pt|pc|px|em], per es. 10mm or 3in certificate#:#certificate_usage#:#Ricordare che l'uso dei certificati e' disponibile solo se il Server Java ILIAS funziona. La configurazione del Server Java e' disponibile solo sulla pagina principale dell'amministrazione di ILIAS nella sezione Webservices. certificate#:#certificate_var_max_points#:#46 @@ -2871,103 +2870,103 @@ certificate#:#certificate_var_user_firstname#:#Mario certificate#:#certificate_var_user_fullname#:#Dr. Mario Rossi certificate#:#certificate_var_user_institution#:#ILIAS Open Source certificate#:#certificate_var_user_lastname#:#Rossi -certificate#:#certificate_var_user_login#:#jdoe +certificate#:#certificate_var_user_login#:#rossi certificate#:#certificate_var_user_matriculation#:#12345 certificate#:#certificate_var_user_salutation#:#Sig.ra certificate#:#certificate_var_user_street#:#Via Garibaldi 100 certificate#:#certificate_var_user_title#:#Dott. certificate#:#certificate_var_user_zipcode#:#100 -certificate#:#cmix_cert_ph_object_description#:#Description###07 02 2020 new variable -certificate#:#cmix_cert_ph_object_title#:#Title of the xAPI/cmi5 Object###07 02 2020 new variable -certificate#:#cmix_cert_ph_reached_score#:#Reached score as percentage###07 02 2020 new variable -certificate#:#default_background_info#:#Questa immagine verra'utilizzata come immagine sfondo di default per tutti i certificati. Se avete bisogno di un altra immagine di sfondo, dovete caricarla nell'editor certificati +certificate#:#cmix_cert_ph_object_description#:#Descrizione +certificate#:#cmix_cert_ph_object_title#:#Titolo dell'oggetto xAPI/cmi5 +certificate#:#cmix_cert_ph_reached_score#:#Punteggio raggiunto in percentuale +certificate#:#default_background_info#:#Questa immagine verrà utilizzata come immagine sfondo di default per tutti i certificati. Se avete bisogno di un altra immagine di sfondo, dovete caricarla nell'editor certificati certificate#:#download_certificate#:#Scarica Certificato -certificate#:#learning_progress_deactivated#:#The Learning Progress for this object is deactivated. To edit the certificate template and achieve user certificates the learning progress for this object must be activated.###07 02 2020 new variable -certificate#:#lti_cert_ph_mastery_score#:#Mastery score as percentage###07 02 2020 new variable -certificate#:#lti_cert_ph_object_description#:#Description###07 02 2020 new variable -certificate#:#lti_cert_ph_object_title#:#Title of the LTI Consumer Object###07 02 2020 new variable -certificate#:#lti_cert_ph_reached_score#:#Reached score as percentage###07 02 2020 new variable -certificate#:#persistent_certificate_mode#:#User Certificate Creation###07 02 2020 new variable -certificate#:#persistent_certificate_mode_cron#:#Cron Job###07 02 2020 new variable -certificate#:#persistent_certificate_mode_cron_info#:#This option is recommended for systems with high user interaction.###07 02 2020 new variable -certificate#:#persistent_certificate_mode_instant#:#Instant###07 02 2020 new variable -certificate#:#persistent_certificate_mode_instant_info#:#This option is recommended for systems with low up to mediocre user interactions. Systems that tend to big loading times during creation for multiple user certificates should switch to the "Cron Job" option.###07 02 2020 new variable +certificate#:#learning_progress_deactivated#:#Il progresso di apprendimento per questo oggetto è disattivato. Per modificare il modello di certificato e ottenere i certificati utente, è necessario attivare l'avanzamento dell'apprendimento per questo oggetto. +certificate#:#lti_cert_ph_mastery_score#:#Punteggio master in percentuale +certificate#:#lti_cert_ph_object_description#:#Descrizione +certificate#:#lti_cert_ph_object_title#:#Titolo del LTI Consumer Object +certificate#:#lti_cert_ph_reached_score#:#Punteggio raggiunto in percentuale +certificate#:#persistent_certificate_mode#:#Creazione del certificato utente +certificate#:#persistent_certificate_mode_cron#:#Cron Job +certificate#:#persistent_certificate_mode_cron_info#:#Questa opzione è consigliata per i sistemi con elevata interazione dell'utente. +certificate#:#persistent_certificate_mode_instant#:#Immediato +certificate#:#persistent_certificate_mode_instant_info#:#Questa opzione è consigliata per i sistemi con interazioni utente da basse a mediocri. I sistemi che tendono a richiedere maggiori prestazioni durante la creazione di più certificati utente dovrebbero passare all'opzione "Cron Job". chatroom#:#allow_anonymous#:#Consenti accesso anonimo -chatroom#:#allow_custom_usernames#:#Allow custom usernames -chatroom#:#anonymous_hint#:#Make sure to set the proper permissions in the "Permissions" tab to allow anonymous user access to this repository item. -chatroom#:#auto_scroll#:#Scorri fino al pulsante -chatroom#:#autogen_usernames#:#Auto generated usernames -chatroom#:#autogen_usernames_info#:#Pattern for auto generated usernames. ' +chatroom#:#allow_custom_usernames#:#Consenti nomi utente personalizzati +chatroom#:#anonymous_hint#:#Assicurarsi di impostare le autorizzazioni appropriate nella scheda "Autorizzazioni" per consentire l'accesso degli utenti anonimi. +chatroom#:#auto_scroll#:#Scorri fino alla fine +chatroom#:#autogen_usernames#:#Nomi utente generati automaticamente +chatroom#:#autogen_usernames_info#:#Pattern per nomi utente generati automaticamente. chatroom#:#ban_question#:#Vuoi davvero bandire l’utente dall’attuale stanza? -chatroom#:#ban_table_title#:#Utenti vietati -chatroom#:#banned#:#You have been banned from this chat -chatroom#:#bans#:#Divieti +chatroom#:#ban_table_title#:#Utenti bannati +chatroom#:#banned#:#Sei stato bannato da questa chat +chatroom#:#bans#:#Utenti bannati chatroom#:#chat_address#:#Indirizzo chatroom#:#chat_anonymous_not_allowed#:#Si prega di accedere per utilizzare la chat. chatroom#:#chat_auth_token_info#:#Si prega di definire stringhe univoche utilizzate da ILIAS a scopo di autenticazione quando si inviano richieste al server di chat. Puoi creare automaticamente queste stringhe cliccando sul pulsante corrispondente. Si prega di notare che il server di chat può comunicare con più clienti ILIAS, ma ogni id cliente deve essere unico. chatroom#:#chat_ban#:#Divieto -chatroom#:#chat_broadcast_typing#:#Broadcast Typing###29 07 2022 new variable -chatroom#:#chat_broadcast_typing_default_info#:#If enabled, typing will be broadcasted to other participants of a conversation or chat room by default.###29 10 2025 new variable -chatroom#:#chat_broadcast_typing_info#:#If enabled, your typing will be broadcasted to other participants of a conversation or chat room.###29 07 2022 new variable -chatroom#:#chat_connection_disconnected#:#Disconnected -chatroom#:#chat_connection_established#:#Connection established +chatroom#:#chat_broadcast_typing#:#Broadcast Typing###31 03 2023 new variable +chatroom#:#chat_broadcast_typing_default_info#:#If enabled, typing will be broadcasted to other participants of a conversation or chat room by default.###28 11 2025 new variable +chatroom#:#chat_broadcast_typing_info#:#Allow participants in conversations or chatrooms to see when you are typing a message.###31 03 2023 new variable +chatroom#:#chat_connection_disconnected#:#Disconnesso +chatroom#:#chat_connection_established#:#Connessione stabilita chatroom#:#chat_deletion_disabled#:#Disabilita chatroom#:#chat_deletion_interval#:#Intervallo -chatroom#:#chat_deletion_interval_info#:#If chosen, messages in the repository chat on On-Screen-Chat conversations will be deleted after the defined threshold. -chatroom#:#chat_deletion_interval_run_at#:#Tempo +chatroom#:#chat_deletion_interval_info#:#Se scelti, i messaggi nella chat del repository nelle conversazioni su schermo sullo schermo verranno eliminati dopo la soglia definita. +chatroom#:#chat_deletion_interval_run_at#:#Orario chatroom#:#chat_deletion_interval_run_at_info#:#Si prega di definire il tempo (formato: HH:MM) quando il server deve elaborare l'eliminazione dei messaggi. chatroom#:#chat_deletion_interval_unit#:#Unità chatroom#:#chat_deletion_interval_value#:#Valore chatroom#:#chat_deletion_ival_max_val#:#Il valore massimo per l’unità scelta '%s' è: %s -chatroom#:#chat_deletion_section_head#:#Eliminazione dei messaggi datati -chatroom#:#chat_enable_history#:#Enable History###29 07 2022 new variable -chatroom#:#chat_enable_history_info#:#Everybody can read and export past public chat messages in the tab „History“. Messages from within private rooms are only accessible by invited users.###29 07 2022 new variable +chatroom#:#chat_deletion_section_head#:#Eliminazione dei vecchi messaggi +chatroom#:#chat_enable_history#:#Enable History###31 03 2023 new variable +chatroom#:#chat_enable_history_info#:#Everybody can read and export past public chat messages in the tab „History“. Messages from within private rooms are only accessible by invited users.###31 03 2023 new variable chatroom#:#chat_error_log_info#:#Si prega di definire un percorso server assoluto al file di log degli errori del server chat (ad es.: /var/www/ilias/data/chat_error.log). Se non si specifica un percorso, il server di chat creerà automaticamente un file che si trova nella directory del server di chat. -chatroom#:#chat_functions#:#Chat Functions###26 08 2024 new variable +chatroom#:#chat_functions#:#Chat Functions###30 04 2024 new variable chatroom#:#chat_https_cert_info#:#Si prega di definire un percorso server assoluto al file del certificato SSL (ad es.: /etc/ssl/certs/server.pem). chatroom#:#chat_https_dhparam_info#:#Si prega di definire un percorso server assoluto a un file (ad es.: /etc/ssl/private/dhparam.PEM), utilizzato per la negoziazione dei parametri Diffie Hellman (ad es. generati tramite: OpenSSL dhparam-out/etc/ssl/private/dhparam.pem 2048). chatroom#:#chat_https_key_info#:#Si prega di definire un percorso server assoluto al file di chiave privata (ad es.: /etc/ssl/private/server.key). -chatroom#:#chat_invitation#:#Invitation from -chatroom#:#chat_invitation_long#:#You have been invited from -chatroom#:#chat_invitation_nc_inv_x#:#You have %s chat invitations.###29 07 2022 new variable -chatroom#:#chat_invitation_nc_no_inv#:#You have no chat invitations.###29 07 2022 new variable -chatroom#:#chat_invitation_short#:#Please click the title link to enter the chatroom. -chatroom#:#chat_invitations#:#Chat invitations###29 07 2022 new variable +chatroom#:#chat_invitation#:#Invito da +chatroom#:#chat_invitation_long#:#Sei stato invitato da +chatroom#:#chat_invitation_nc_inv_x#:#You have %s chat invitations.###31 03 2023 new variable +chatroom#:#chat_invitation_nc_no_inv#:#You have no chat invitations.###31 03 2023 new variable +chatroom#:#chat_invitation_short#:#Fare clic sul collegamento del titolo per accedere alla chat room. +chatroom#:#chat_invitations#:#Chat invitations###31 03 2023 new variable chatroom#:#chat_invite#:#Invita chatroom#:#chat_join#:#Partecipa chatroom#:#chat_kick#:#Rimuovi chatroom#:#chat_log_info#:#Si prega di definire un percorso server assoluto al file di log del server di chat (ad es.: /var/www/ilias/data/chat.log). Se non si specifica un percorso, il server di chat creerà automaticamente un file che si trova nella directory del server di chat. -chatroom#:#chat_log_level#:#Log Level###29 07 2022 new variable +chatroom#:#chat_log_level#:#Log Level chatroom#:#chat_mainroom#:#Stanza principale chatroom#:#chat_message#:#Messaggio chatroom#:#chat_message_display#:#Opzioni chatroom#:#chat_message_options#:#Mostra -chatroom#:#chat_no_use_typing_broadcast#:#Typing will not be broadcasted###29 07 2022 new variable -chatroom#:#chat_not_use_osc#:#Not Using On-Screen-Chat###29 07 2022 new variable +chatroom#:#chat_no_use_typing_broadcast#:#Typing will not be broadcasted###31 03 2023 new variable +chatroom#:#chat_not_use_osc#:#non utilizzare On-Screen Chat chatroom#:#chat_osc_accept_msg#:#Consenti conversazioni chat su schermo -chatroom#:#chat_osc_accept_msg_default_info#:#If enabled, users are by default allowed to send each other messages using the on-screen chat system.###29 10 2025 new variable -chatroom#:#chat_osc_accept_msg_info#:#Se consentito, gli altri utenti possono avviare una conversazione con me. -chatroom#:#chat_osc_accept_msg_info_slate#:#To have private conversations, you must enable your setting "Allow On-Screen Chat Conversations".###26 08 2024 new variable -chatroom#:#chat_osc_accept_msg_info_slate_link_txt#:#Visibility (in Profile and Privacy)###26 08 2024 new variable -chatroom#:#chat_osc_accept_no_conv_info_slate#:#There are currently no minimzed conversations.###26 08 2024 new variable +chatroom#:#chat_osc_accept_msg_default_info#:#If enabled, users are by default allowed to send each other messages using the on-screen chat system.###28 11 2025 new variable +chatroom#:#chat_osc_accept_msg_info#:#Se consentito, gli altri utenti possono avviare una conversazione +chatroom#:#chat_osc_accept_msg_info_slate#:#To have private conversations, you must enable your setting "Allow On-Screen Chat Conversations".###31 03 2023 new variable +chatroom#:#chat_osc_accept_msg_info_slate_link_txt#:#Visibility (in Profile and Privacy)###31 03 2023 new variable +chatroom#:#chat_osc_accept_no_conv_info_slate#:#There are currently no minimzed conversations.###31 03 2023 new variable chatroom#:#chat_osc_accepts_messages_no#:#Non ricevi messaggi di chat chatroom#:#chat_osc_accepts_messages_yes#:#Ricevi messaggi di chat chatroom#:#chat_osc_add_user#:#Aggiungi ulteriori utenti chatroom#:#chat_osc_conversations#:#Conversazioni chatroom#:#chat_osc_doesnt_accept_msg#:#Conversazioni non possibili -chatroom#:#chat_osc_head_grp_x_persons#:#%s Users +chatroom#:#chat_osc_head_grp_x_persons#:#%s Utenti chatroom#:#chat_osc_invite_to_conversation#:#Aggiungi alla conversazione chatroom#:#chat_osc_leave_grp_conv#:#Abbandona conversazione -chatroom#:#chat_osc_minimize#:#Minimize###26 08 2024 new variable -chatroom#:#chat_osc_nc_conv_x_p#:#You have %s hidden conversations.###07 02 2020 new variable -chatroom#:#chat_osc_nc_conv_x_s#:#You have one hidden conversation.###07 02 2020 new variable -chatroom#:#chat_osc_nc_no_conv#:#No Conversations available###07 02 2020 new variable -chatroom#:#chat_osc_nc_prop_time#:#Time###07 02 2020 new variable +chatroom#:#chat_osc_minimize#:#Minimize###31 03 2023 new variable +chatroom#:#chat_osc_nc_conv_x_p#:#Ha %s conversazioni ridotte ad icona. +chatroom#:#chat_osc_nc_conv_x_s#:#Ha una conversazione ridotta ad icona +chatroom#:#chat_osc_nc_no_conv#:#Non sono presenti conversazioni. +chatroom#:#chat_osc_nc_prop_time#:#Orario chatroom#:#chat_osc_no_conv#:#Nessuna conversazione. -chatroom#:#chat_osc_no_sub_directory#:#Sotto-directory -chatroom#:#chat_osc_no_sub_directory_info#:#If the Chatserver is only reachable through a sub directory with an URL like "http(s)://[IP/Domain]/[PATH]" it is required to insert the [PATH] for this Chatserver. +chatroom#:#chat_osc_no_sub_directory#:#Percorso relativo +chatroom#:#chat_osc_no_sub_directory_info#:#Se il Chatserver è raggiungibile solo attraverso una sottodirectory con un URL come "http (s): // [IP / Domain] / [PATH]" è necessario inserire il [PATH] per questo Chatserver. chatroom#:#chat_osc_no_usr_found#:#Impossibile trovare qualsiasi utente corrispondente alla ricerca. -chatroom#:#chat_osc_search_modal_info#:#Here you can search for users you would like to add to a conversation. If the search dialogue was opened within a group chat, the new user will be added to this chat. If you started the search within a 1:1 chat, a new group chat window will be opened. +chatroom#:#chat_osc_search_modal_info#:#Cercare qui un utente che si desideri aggiungere alla conversazione. Se hai aperto la finestra di ricerca in una chat di gruppo, l'utente verrà aggiunto a questa. Se hai aperto la finestra di ricerca da una chat individuale, dopo l'aggiunta si aprirà una nuova finestra per la chat di gruppo. chatroom#:#chat_osc_self_rej_msgs#:#Al momento non è possibile partecipare a questa conversazione perché è stata eliminata la ricezione di messaggi nelle impostazioni. chatroom#:#chat_osc_send#:#Invia chatroom#:#chat_osc_start_conversation#:#Avvia conversazione @@ -2979,15 +2978,15 @@ chatroom#:#chat_osc_user_left_grp_conv#:#L’utente '%s' ha abbandonato la conve chatroom#:#chat_osc_write_a_msg#:#Scrivi un messaggio... chatroom#:#chat_select_room#:#Seleziona la stanza della chat chatroom#:#chat_settings#:#Impostazioni di chat -chatroom#:#chat_settings_functions_header#:#Chat Room Functions###29 07 2022 new variable -chatroom#:#chat_show_auto_messages#:#Show Status Messages###29 07 2022 new variable +chatroom#:#chat_settings_functions_header#:#Chat Room Functions###31 03 2023 new variable +chatroom#:#chat_show_auto_messages#:#Show Status Messages###31 03 2023 new variable chatroom#:#chat_to_mainroom#:#Alla stanza principale -chatroom#:#chat_use_osc#:#Using On-Screen-Chat###29 07 2022 new variable -chatroom#:#chat_use_typing_broadcast#:#Typing will be broadcasted###29 07 2022 new variable +chatroom#:#chat_use_osc#:#Utilizzare On-Screen-Chat +chatroom#:#chat_use_typing_broadcast#:#Typing will be broadcasted###31 03 2023 new variable chatroom#:#chat_user_action_invite_osd#:#Invita alla chat su schermo chatroom#:#chat_user_action_invite_public_room#:#Invita alla chat room pubblica -chatroom#:#chat_user_x_is_typing#:#User %s is typing ...###29 07 2022 new variable -chatroom#:#chat_users_are_typing#:#Multiple users are typing ...###29 07 2022 new variable +chatroom#:#chat_user_x_is_typing#:#User %s is typing ...###31 03 2023 new variable +chatroom#:#chat_users_are_typing#:#Multiple users are typing ...###31 03 2023 new variable chatroom#:#chat_whisper#:#Bisbiglia chatroom#:#chatroom_auth#:#Autenticazione chatroom#:#chatroom_auth_btn_txt#:#Genera chiavi @@ -2997,15 +2996,15 @@ chatroom#:#chatroom_client_name#:#Nome chatroom#:#chatroom_client_name_info#:#Si prega di digitare un nome per il cliente ILIAS. La stringa digitata deve essere globalmente unica. All’inizio questo valore viene impostato nell’id cliente del cliente ILIAS. Se modificato, il server di chat deve essere riavviato. chatroom#:#chatroom_enable_osc#:#Abilita chat su schermo chatroom#:#chatroom_enable_osc_info#:#Se attivata, la chat su schermo sarà disponibile per ogni utente. Ma ogni utente può decidere se lui/lei vorrebbe essere contattato da altri. La conversazione potrebbe iniziare nello strumento “Chi è online?”. -chatroom#:#chatroom_log#:#Chatserver Log###29 07 2022 new variable -chatroom#:#chatserver_address#:#IP-Adress of the Chatservers -chatroom#:#chatserver_port#:#Port of the Chatservers +chatroom#:#chatroom_log#:#Log-File del server di chat +chatroom#:#chatserver_address#:#Indirizzo IP dei server di chat +chatroom#:#chatserver_port#:#Porta del Chatserver chatroom#:#chtr_activation_limited_visibility_info#:#Se selezionato, il titolo della chat sarà visibile anche al di fuori della disponibilità specificata. La chat tuttavia non può essere letta. chatroom#:#chtr_activation_online_info#:#Imposta la chat online per renderlo visibile e disponibile ai partecipanti. In caso contrario, solo gli utenti con l’autorizzazione “Modifica impostazioni” avranno accesso a esso. -chatroom#:#chtr_add#:#Add Chatroom +chatroom#:#chtr_add#:#Aggiungi Chatroom chatroom#:#chtr_ban_actor_tbl_head#:#Partecipante -chatroom#:#chtr_ban_ts_tbl_head#:#Timestamp -chatroom#:#chtr_new#:#New Chatroom +chatroom#:#chtr_ban_ts_tbl_head#:#Orario +chatroom#:#chtr_new#:#Crea nuova Chatroom chatroom#:#chtr_server_status#:#Stato del server chatroom#:#clear_room_history#:#Cancella cronologia messaggi chatroom#:#clear_room_history_question#:#Vuoi davvero eliminare tutti i messaggi dall’attuale stanza? @@ -3018,10 +3017,10 @@ chatroom#:#display_past_msgs#:#Numero dei messaggi precedenti chatroom#:#duration_from#:#Da chatroom#:#duration_to#:#A chatroom#:#end_whisper#:#Annulla -chatroom#:#enter#:#Enter chatroom +chatroom#:#enter#:#Entra nella chatroom chatroom#:#error_log#:#Errore del registro chat server -chatroom#:#hint_display_past_msgs#:#Number of past messages to show, when the room is entered. A value of "0" disables this feature. -chatroom#:#history_byday_title#:#History by day +chatroom#:#hint_display_past_msgs#:#Numero di messaggi passati da mostrare quando si entra nella stanza. Un valore di "0" disabilita questa funzione. +chatroom#:#history_byday_title#:#Mostra discussioni del giorno chatroom#:#history_cleared#:#La cronologia dei messaggi è stata eliminata da un moderatore. chatroom#:#history_title_general#:#Conversazione nella chat room "%s" chatroom#:#ilias_chatserver_connection#:#Connessione ILIAS al server @@ -3031,340 +3030,340 @@ chatroom#:#invite_username#:#Nome utente chatroom#:#key#:#Chiave chatroom#:#kick_question#:#Vuoi davvero rimuovere l’utente dalla stanza attuale? chatroom#:#kicked#:#Sei stato rimosso da questa chat room -chatroom#:#lost_connection#:#The connection to the chatserver was interrupted. +chatroom#:#lost_connection#:#La connessione al server di chat è stata interrotta. chatroom#:#main#:#Stanza principale -chatroom#:#messages#:#Messages###26 08 2024 new variable +chatroom#:#messages#:#Messages###30 04 2024 new variable chatroom#:#no_further_users#:#Nessun altro utente presente chatroom#:#no_messages#:#Non ci sono messaggi salvati per il periodo fornito. chatroom#:#no_username_given#:#Si prega di scegliere un nome utente -chatroom#:#osc_browser_noti_no_permission_error#:#Please remove this domain from the list of blocked domains in the notification settings of your browser or operating system. Otherwise you will not be able to receive browser notifications.###07 02 2020 new variable -chatroom#:#osc_browser_noti_no_support_error#:#Browser notifications are not supported in your browser. Please ensure you are requesting ILIAS via HTTPS and use a supported browser.###07 02 2020 new variable -chatroom#:#osc_browser_noti_req_permission_error#:#The browser notifications could not be enabled because you did not grant access. Please remove this domain from the list of blocked domains in the notification settings of your browser or operating system.###07 02 2020 new variable -chatroom#:#osc_enable_browser_notifications_info#:#If enabled, a browser notification will be shown if you receive new messages and conversations when the ILIAS browser tab is in background, or if the browser is hidden. You will also receive a browser notification for new messages in a conversation after %s minute(s) of idling if the ILIAS tab is in foreground.###07 02 2020 new variable -chatroom#:#osc_enable_browser_notifications_label#:#Browser Notifications###07 02 2020 new variable -chatroom#:#osc_noti_title#:#New Chat Message###07 02 2020 new variable +chatroom#:#osc_browser_noti_no_permission_error#:#Si prega di rimuovere questo dominio dalla lista dei domini bloccati nelle impostazioni di notifica del tuo browser o sistema operativo. Altrimenti non sarai in grado di ricevere le notifiche del browser. +chatroom#:#osc_browser_noti_no_support_error#:#Le notifiche del browser non sono supportate nel tuo browser. Assicurati di richiedere ILIAS via HTTPS e di utilizzare un browser supportato. +chatroom#:#osc_browser_noti_req_permission_error#:#Non è stato possibile abilitare le notifiche del browser perché non hai concesso l'accesso. Per favore, rimuovi questo dominio dalla lista dei domini bloccati nelle impostazioni di notifica del tuo browser o sistema operativo. +chatroom#:#osc_enable_browser_notifications_info#:#Se abilitato, una notifica del browser sarà mostrata se ricevete nuovi messaggi e conversazioni quando la scheda del browser ILIAS è in background, o se il browser è nascosto. Riceverete anche una notifica del browser per i nuovi messaggi in una conversazione dopo %s minuti di inattività se la scheda ILIAS è in primo piano. +chatroom#:#osc_enable_browser_notifications_label#:#Notifiche del browser +chatroom#:#osc_noti_title#:#Nuovo messaggio di chat chatroom#:#period#:#Periodo chatroom#:#permissions#:#Autorizzazioni -chatroom#:#preferred_chatname#:#Preferred Name###29 07 2022 new variable -chatroom#:#public_chat_created#:#The public chat room has been added to the repository -chatroom#:#scope#:#Stanza/stanza privata +chatroom#:#preferred_chatname#:#Preferred Name###31 03 2023 new variable +chatroom#:#public_chat_created#:#La chat room pubblica è stata aggiunta al repository +chatroom#:#scope#:#Stanza / stanza privata chatroom#:#select_custom_username#:#Seleziona nome utente personalizzato chatroom#:#server_further_information#:#È possibile trovare maggiori informazioni sulla configurazione del server nel file Leggimi. -chatroom#:#server_readme_file_btn_label#:#Readme File###29 10 2025 new variable +chatroom#:#server_readme_file_btn_label#:#Readme File###28 11 2025 new variable chatroom#:#session#:#Sessione chatroom#:#settings_general#:#Generale chatroom#:#settings_title#:#Impostazioni -chatroom#:#start_private_chat#:#Start Private Chat###28 10 2024 new variable -chatroom#:#unable_to_connect#:#The connection to the chatserver could not be established. +chatroom#:#start_private_chat#:#Start Private Chat###28 11 2025 new variable +chatroom#:#unable_to_connect#:#Impossibile stabilire la connessione al server di chat. chatroom#:#unban#:#Consenti -chatroom#:#user_banned#:#The user #user# has been banned.###28 10 2024 new variable +chatroom#:#user_banned#:#The user #user# has been banned.###28 11 2025 new variable chatroom#:#user_in_ilias#:#Cerca e invita utenti da ILIAS -chatroom#:#user_in_room#:#Invite user from current chatroom -chatroom#:#user_invited#:#The user -chatroom#:#user_invited_self#:# -chatroom#:#user_kicked#:#L’utente +chatroom#:#user_in_room#:#Invita l'utente dalla chat room corrente +chatroom#:#user_invited#:#L'utente è stato invitato. +chatroom#:#user_invited_self#:##user# ti ha invitato nella chat room: #room#.
+chatroom#:#user_kicked#:#L'utente #user# è stato kickato. chatroom#:#users#:#Utenti -chatroom#:#welcome_to_chat#:#Welcome to the chatroom -chatroom#:#write_message#:#New Message###26 08 2024 new variable -chatroom_adm#:#chat_cannot_connect_to_server#:#ILIAS cannot build a socket connection to the chatserver. +chatroom#:#welcome_to_chat#:#Benvenuto nella chat room +chatroom#:#write_message#:#New Message###30 04 2024 new variable +chatroom_adm#:#chat_cannot_connect_to_server#:#ILIAS non è in grado di creare una connessione socket al server chats. chatroom_adm#:#chat_enabled#:#Chat attivata chatroom_adm#:#chatserver_settings_title#:#Impostazioni server chat -chatroom_adm#:#client_settings#:#Client settings +chatroom_adm#:#client_settings#:#Impostazioni generali chatroom_adm#:#general_settings_title#:#Impostazioni generali di chat chatroom_adm#:#https#:#HTTPS -chatroom_adm#:#osc_adm_browser_noti_info#:#If enabled, users may individually decide whether or not they want to receive browser notifications for new conversations and messages. Notifications are triggered if the user works in different browser tabs or the browser is hidden and ILIAS was put into the background. Users will also receive browser notifications after a certain idle time in a conversation if ILIAS is in the foreground.###07 02 2020 new variable -chatroom_adm#:#osc_adm_browser_noti_label#:#Browser Notifications###07 02 2020 new variable -chatroom_adm#:#osc_adm_conv_idle_state_threshold_info#:#Cut off notifications by given a minimum interval at which browser notifications are triggered for incoming chat messages..###07 02 2020 new variable -chatroom_adm#:#osc_adm_conv_idle_state_threshold_label#:#Time between Browser Notifications###07 02 2020 new variable +chatroom_adm#:#osc_adm_browser_noti_info#:#Se abilitato, gli utenti possono decidere individualmente se vogliono o meno ricevere le notifiche del browser per le nuove conversazioni e messaggi. Le notifiche vengono attivate se l'utente lavora in diverse schede del browser o se il browser è nascosto e ILIAS è stato messo in secondo piano. Gli utenti riceveranno anche le notifiche del browser dopo un certo tempo di inattività in una conversazione se ILIAS è in primo piano. +chatroom_adm#:#osc_adm_browser_noti_label#:#Notifiche del browser +chatroom_adm#:#osc_adm_conv_idle_state_threshold_info#:#Tagliare le notifiche dando un intervallo minimo in cui le notifiche del browser vengono attivate per i messaggi di chat in arrivo. +chatroom_adm#:#osc_adm_conv_idle_state_threshold_label#:#Tempo tra le notifiche del browser chatroom_adm#:#port_info#:#Le porte utilizzate raramente sono spesso bloccate da firewall o server proxy. Il browser dell'utente non sarà in grado di stabilire una connessione al server di chat se la porta definita è bloccata. chatroom_adm#:#protocol#:#Protocollo -chatroom_adm#:#public_chat_permissions#:#Public Chatroom Permissions -chatroom_adm#:#public_chat_settings#:#Public Chatroom Settings -chatroom_adm#:#server_settings#:#Server settings +chatroom_adm#:#public_chat_permissions#:#Autorizzazioni per chat pubblica +chatroom_adm#:#public_chat_settings#:#Impostazioni chat pubblica +chatroom_adm#:#server_settings#:#Impostazioni server chat chatroom_adm#:#settings_has_been_saved#:#Le impostazioni sono state salvate classification#:#clsfct_back_to_cat#:#Torna alla categoria classification#:#clsfct_block_info#:#La selezione filtra gli oggetti. classification#:#clsfct_block_title#:#Selezione per argomenti -classification#:#clsfct_content_no_match#:#No hits +classification#:#clsfct_content_no_match#:#Nessuna selezione classification#:#clsfct_content_title#:#Oggetti che corrispondono alla selezione classification#:#clsfct_selected_objects#:#Oggetti selezionati -cmix#:#achieved_info#:#Successfully bring about or reach a desired objective, level, or result by effort, skill, or courage.###29 07 2022 new variable -cmix#:#achieved_label#:#Statements with the verb 'achieved'###29 07 2022 new variable -cmix#:#activity_id#:#Activity-ID###07 02 2020 new variable -cmix#:#activity_id_info#:#This ID is primarily used for the display of data from the LRS. You receive this ID from the resource provider.###07 02 2020 new variable -cmix#:#answered_info#:#Indicates the actor replied to a question, where the object is generally an activity representing the question. The text of the answer will often be included in the response inside result.###29 07 2022 new variable -cmix#:#answered_label#:#Statements with the verb 'answered'###29 07 2022 new variable -cmix#:#btn_change_registration#:#Submit###07 02 2020 new variable -cmix#:#btn_create_lrs_type#:#Add LRS-Type###07 02 2020 new variable -cmix#:#btn_create_registration#:#Submit###07 02 2020 new variable -cmix#:#change_registration#:#E-Mail address for Registration###07 02 2020 new variable -cmix#:#cmix_add#:#Add xAPI/cmi5 Object###07 02 2020 new variable -cmix#:#cmix_add_cmi5_lm#:#cmi5 Learning Module###07 02 2020 new variable -cmix#:#cmix_add_cmi5_lm_info#:#This option should be used when the content is a cmi5 compliant learning module. Related features like suitable reportings are available without further configurations.###07 02 2020 new variable -cmix#:#cmix_add_lrs_type#:#LRS-Type###07 02 2020 new variable -cmix#:#cmix_add_source#:#Source###07 02 2020 new variable -cmix#:#cmix_add_source_external_app#:#Resource not launched by ILIAS###07 02 2020 new variable -cmix#:#cmix_add_source_external_app_info#:#Use this option for separately launched resources as e.g. apps or simulations. Users must agree to the fetching of data.###07 02 2020 new variable -cmix#:#cmix_add_source_local_dir#:#Local Directory###07 02 2020 new variable -cmix#:#cmix_add_source_local_dir_info#:#Use this option for content packages on your local device.###07 02 2020 new variable -cmix#:#cmix_add_source_upload_dir#:#Upload Directory###07 02 2020 new variable -cmix#:#cmix_add_source_upload_dir_info#:#Use this option for content packages already uploaded into the ILIAS upload directory which is also used for SCORM and HTML packages.###07 02 2020 new variable -cmix#:#cmix_add_source_upload_select#:#--- Please select ---###07 02 2020 new variable -cmix#:#cmix_add_source_url#:#Resource URL###07 02 2020 new variable -cmix#:#cmix_add_source_url_info#:#Use this option for an external resource.###07 02 2020 new variable -cmix#:#cmix_add_xapi_standard_object#:#xAPI Standard Object###07 02 2020 new variable -cmix#:#cmix_add_xapi_standard_object_info#:#Use this option to have a generic content module offering all features like different reportings. This option comes with the greatest possible flexibility but requires a more complex configuration.###07 02 2020 new variable -cmix#:#cmix_adlnetgov_expapi_verbs_answered#:#Answered###07 02 2020 new variable -cmix#:#cmix_adlnetgov_expapi_verbs_asked#:#Asked###07 02 2020 new variable -cmix#:#cmix_adlnetgov_expapi_verbs_attempted#:#Attempted###07 02 2020 new variable -cmix#:#cmix_adlnetgov_expapi_verbs_attended#:#Attended###07 02 2020 new variable -cmix#:#cmix_adlnetgov_expapi_verbs_commented#:#Commented###07 02 2020 new variable -cmix#:#cmix_adlnetgov_expapi_verbs_completed#:#Completed###07 02 2020 new variable -cmix#:#cmix_adlnetgov_expapi_verbs_exited#:#Exited###07 02 2020 new variable -cmix#:#cmix_adlnetgov_expapi_verbs_experienced#:#Experienced###07 02 2020 new variable -cmix#:#cmix_adlnetgov_expapi_verbs_failed#:#Failed###07 02 2020 new variable -cmix#:#cmix_adlnetgov_expapi_verbs_imported#:#Imported###07 02 2020 new variable -cmix#:#cmix_adlnetgov_expapi_verbs_initialized#:#Initialized###07 02 2020 new variable -cmix#:#cmix_adlnetgov_expapi_verbs_interacted#:#Interacted###07 02 2020 new variable -cmix#:#cmix_adlnetgov_expapi_verbs_launched#:#Launched###07 02 2020 new variable -cmix#:#cmix_adlnetgov_expapi_verbs_mastered#:#Mastered###07 02 2020 new variable -cmix#:#cmix_adlnetgov_expapi_verbs_passed#:#Passed###07 02 2020 new variable -cmix#:#cmix_adlnetgov_expapi_verbs_preferred#:#Preferred###07 02 2020 new variable -cmix#:#cmix_adlnetgov_expapi_verbs_progressed#:#Progressed###07 02 2020 new variable -cmix#:#cmix_adlnetgov_expapi_verbs_registered#:#Registered###07 02 2020 new variable -cmix#:#cmix_adlnetgov_expapi_verbs_responded#:#Responded###07 02 2020 new variable -cmix#:#cmix_adlnetgov_expapi_verbs_resumed#:#Resumed###07 02 2020 new variable -cmix#:#cmix_adlnetgov_expapi_verbs_scored#:#Scored###07 02 2020 new variable -cmix#:#cmix_adlnetgov_expapi_verbs_shared#:#Shared###07 02 2020 new variable -cmix#:#cmix_adlnetgov_expapi_verbs_suspended#:#Suspended###07 02 2020 new variable -cmix#:#cmix_adlnetgov_expapi_verbs_terminated#:#Terminated###07 02 2020 new variable -cmix#:#cmix_adlnetgov_expapi_verbs_voided#:#Voided###07 02 2020 new variable -cmix#:#cmix_all_verbs#:#All Verbs###07 02 2020 new variable -cmix#:#cmix_copy#:#Copy xAPI/cmi5 Object###07 02 2020 new variable -cmix#:#cmix_import#:#Import xAPI/cmi5 Object###07 02 2020 new variable -cmix#:#cmix_indication_to_user#:#Further Hints for this LRS###07 02 2020 new variable -cmix#:#cmix_info_external_lrs_info#:#This Learning Record Store is an external LRS. An external LRS is characterized by insufficient influence on the LRS by the operator of the ILIAS-Installation. This is the case e.g. if there are no rights to delete data.###07 02 2020 new variable -cmix#:#cmix_info_external_lrs_label#:#Additional Info about this LRS###07 02 2020 new variable -cmix#:#cmix_info_privacy_section#:#Info about personal data###07 02 2020 new variable -cmix#:#cmix_info_privacy_section_launch#:#Info about personal data transmitted at launch###07 02 2020 new variable -cmix#:#cmix_lrs_type#:#Learning Record Store (LRS)###07 02 2020 new variable -cmix#:#cmix_new#:#New xAPI/cmi5 Object###07 02 2020 new variable -cmix#:#completed_info#:#Indicates the actor finished or concluded the activity normally.###29 07 2022 new variable -cmix#:#completed_label#:#Statements with the verb 'completed'###29 07 2022 new variable -cmix#:#conf_availability#:#Availability###07 02 2020 new variable -cmix#:#conf_availability_0#:#Not available###07 02 2020 new variable -cmix#:#conf_availability_0_info#:#Existing xAPI/cmi5 objects that use this LRS type can no longer be used.###28 10 2024 new variable -cmix#:#conf_availability_1#:#Existing ones allowed###07 02 2020 new variable -cmix#:#conf_availability_1_info#:#This LRS type is not offered when creating new xAPI/cmi5 objects. Existing xAPI/cmi5 objects that use this type can continue to write or read data. Use this option to be able to delete data in the connected LRS at a later time.###28 10 2024 new variable -cmix#:#conf_availability_2#:#New producible###07 02 2020 new variable -cmix#:#conf_availability_2_info#:#This LRS type can be selected when creating xAPI/cmi5 objects.###28 10 2024 new variable -cmix#:#conf_bypass_proxy#:#Detection of Learning Progress###07 02 2020 new variable -cmix#:#conf_bypass_proxy_disabled#:#xAPI-Proxy to get immediately data###07 02 2020 new variable -cmix#:#conf_bypass_proxy_enabled#:#CronJob to check Learning Record Store###07 02 2020 new variable -cmix#:#conf_bypass_proxy_info#:#In most cases it is recommended to use the xAPI-Proxy. Use the CronJob in case of Limitations regarding Resource or Server.###07 02 2020 new variable -cmix#:#conf_cronjob_neccessary#:#CronJob necessary for Learning Progress###07 02 2020 new variable -cmix#:#conf_cronjob_neccessary_info#:#By activating this option, xAPI-Objects using this LRS-Type could not use the xAPI-Proxy to get immediately data for Detection of Learning Progress. Use only the CronJob in case of limitations regarding resources or server.###07 02 2020 new variable -cmix#:#conf_delete_data#:#Delete Data in LRS###28 10 2024 new variable -cmix#:#conf_delete_data_info#:#Deletion is currently only possible with the Learning Record Store (LRS) LearningLocker. Only use the options for deleting the user identification if the data has been pseudonymized in the LRS.###28 10 2024 new variable -cmix#:#conf_delete_data_opt0#:#Never###28 10 2024 new variable -cmix#:#conf_delete_data_opt1#:#Never - but if users are deleted and if xAPI/cmi objects are moved to the trash or deleted, data will no longer be assignable for ILIAS by deleting the - user identification###28 10 2024 new variable -cmix#:#conf_delete_data_opt11#:#When users are deleted and when xAPI/cmi objects are moved to the trash or deleted###28 10 2024 new variable -cmix#:#conf_delete_data_opt12#:#Additionally when users are removed from courses or groups###28 10 2024 new variable -cmix#:#conf_delete_data_opt2#:#Never - but additionally when users are removed from courses or groups, data will no longer be assignable for ILIAS by deleting the user identification###28 10 2024 new variable -cmix#:#conf_description#:#Description###07 02 2020 new variable -cmix#:#conf_external_lrs#:#External LRS###07 02 2020 new variable -cmix#:#conf_keep_lp#:#Keep Learning Progress###07 02 2020 new variable -cmix#:#conf_keep_lp_info#:#The ILIAS learning progress status completed would be freezed.###07 02 2020 new variable -cmix#:#conf_launch_mode#:#Launch Mode###07 02 2020 new variable -cmix#:#conf_launch_mode_browse#:#Browse###07 02 2020 new variable -cmix#:#conf_launch_mode_browse_info#:#This option should provide a user experience that allows the user to "look around" without judgement.###26 08 2024 new variable -cmix#:#conf_launch_mode_normal#:#Normal###07 02 2020 new variable -cmix#:#conf_launch_mode_normal_info#:#Data related to the learning progress should be recorded.###26 08 2024 new variable -cmix#:#conf_launch_mode_review#:#Review###07 02 2020 new variable -cmix#:#conf_launch_mode_review_info#:#This option should provide a user experience that allows the user to "revisit / review" already completed material.###26 08 2024 new variable -cmix#:#conf_lrs_endpoint#:#Endpoint###07 02 2020 new variable -cmix#:#conf_lrs_key#:#Key / Login###07 02 2020 new variable -cmix#:#conf_lrs_secret#:#Secret / Password###07 02 2020 new variable -cmix#:#conf_new_window#:#New Window###29 07 2022 new variable -cmix#:#conf_new_window_info#:#The content is opened in a new window. When leaving the content this window gets closed.###29 07 2022 new variable -cmix#:#conf_own_window#:#Own Window###07 02 2020 new variable -cmix#:#conf_own_window_info#:#The content is opened in the same window and replaces the ILIAS Screen. When leaving the content the user returns to ILIAS.###07 02 2020 new variable -cmix#:#conf_privacy_comment_default#:#Indication to user###07 02 2020 new variable -cmix#:#conf_privacy_ident#:#User identification###26 08 2024 new variable -cmix#:#conf_privacy_ident_il_uuid_ext_account#:#External User ID combined with a unique ILIAS platform id formatted as an E-Mail address###26 08 2024 new variable -cmix#:#conf_privacy_ident_il_uuid_ext_account_info#:#This is identical to each call, but may allow a direct conclusion about the user.###26 08 2024 new variable -cmix#:#conf_privacy_ident_il_uuid_login#:#ILIAS Login combined with a unique ILIAS platform id formatted as an E-Mail address###26 08 2024 new variable -cmix#:#conf_privacy_ident_il_uuid_login_info#:#Sends the login name. This is identical to each call, but may allow a direct conclusion about the ILIAS user.###26 08 2024 new variable -cmix#:#conf_privacy_ident_il_uuid_random#:#Random ID combined with a unique ILIAS platform ID formatted as an E-Mail address###26 08 2024 new variable -cmix#:#conf_privacy_ident_il_uuid_random_info#:#For each ILIAS object and ILIAS user a random ID is generated which remains identical for each call. Conclusions about a user are very limited because it is practically impossible to create user profiles across objects.###26 08 2024 new variable -cmix#:#conf_privacy_ident_il_uuid_sha256#:#Hash combined with a unique ILIAS platform id formatted as an E-Mail address###28 10 2024 new variable -cmix#:#conf_privacy_ident_il_uuid_sha256_info#:#This is identical to each call, but does not permit any direct conclusions about the ILIAS user.###28 10 2024 new variable -cmix#:#conf_privacy_ident_il_uuid_sha256url#:#Hash combined with the ILIAS Domain formatted as an E-Mail address###28 10 2024 new variable -cmix#:#conf_privacy_ident_il_uuid_sha256url_info#:#This is identical to each call, with with a maximum of 80 characters significantly shorter than the variant with the ILIAS platform ID and allows only very limited conclusions about the ILIAS user.###28 10 2024 new variable -cmix#:#conf_privacy_ident_il_uuid_user_id#:#ILIAS user id combined with a unique ILIAS platform id formatted as an E-Mail address###26 08 2024 new variable -cmix#:#conf_privacy_ident_il_uuid_user_id_info#:#Sends the internal numeric user id. This is identical to each call, but may allow conclusions about the ILIAS user.###26 08 2024 new variable -cmix#:#conf_privacy_ident_info#:#Standard is frequently the E-Mail address. The unique ILIAS platform id is:###26 08 2024 new variable -cmix#:#conf_privacy_ident_real_email#:#E-Mail Address###26 08 2024 new variable -cmix#:#conf_privacy_ident_real_email_info#:#Sends E-Mail Address of user as identification (Warning: an E-Mail Address might be used by multiple users!)###26 08 2024 new variable -cmix#:#conf_privacy_name#:#User name###26 08 2024 new variable -cmix#:#conf_privacy_name_firstname#:#First name###26 08 2024 new variable -cmix#:#conf_privacy_name_firstname_info#:#Sends the first name of the user name from ILIAS###26 08 2024 new variable -cmix#:#conf_privacy_name_fullname#:#Entire name###26 08 2024 new variable -cmix#:#conf_privacy_name_fullname_info#:#Sends title, first name and last name###26 08 2024 new variable -cmix#:#conf_privacy_name_info#:#Sending an user name is usually not required.###26 08 2024 new variable -cmix#:#conf_privacy_name_lastname#:#Title and last name###26 08 2024 new variable -cmix#:#conf_privacy_name_lastname_info#:#Sends Mister or Ms/Mrs. (unless otherwise specified) and the last name###26 08 2024 new variable -cmix#:#conf_privacy_name_none#:#No one###26 08 2024 new variable -cmix#:#conf_privacy_name_none_info#:#Sends '-' instead of a name###26 08 2024 new variable -cmix#:#conf_privacy_setting_conf#:#Configuration Options###07 02 2020 new variable -cmix#:#conf_privacy_setting_default#:#Default Settings, changeable for Objects###07 02 2020 new variable -cmix#:#conf_privacy_setting_force#:#Settings are not changeable for Objects###07 02 2020 new variable -cmix#:#conf_privacy_setting_info#:#Configuration Options for Privacy Settings###07 02 2020 new variable -cmix#:#conf_remarks#:#Internal comments###07 02 2020 new variable -cmix#:#conf_title#:#Title###07 02 2020 new variable -cmix#:#conf_use_proxy#:#xAPI-Proxy###28 10 2024 new variable -cmix#:#conf_use_proxy_info#:#The xAPI proxy provides real-time data to determine learning progress in ILIAS. The proxy reduces personal data in accordance with the selected data protection options. If the xAPI proxy is deactivated, the learning content writes the learning progress directly to the LRS. This data must then also be retrieved directly from the LRS. The cron job "xAPI/cmi5 get results" is required to determine the learning progress. The xAPI proxy is mandatory for cmi5 objects and is activated automatically.###28 10 2024 new variable -cmix#:#conf_use_proxy_info_cmi5#:#The xAPI proxy provides real-time data to determine learning progress in ILIAS. The proxy reduces personal data in accordance with the selected data protection options. The xAPI proxy is mandatory for cmi5 objects.###28 10 2024 new variable -cmix#:#conf_use_proxy_info_xapi#:#The xAPI proxy provides real-time data to determine learning progress in ILIAS. The proxy reduces personal data in accordance with the selected data protection options. If the xAPI proxy is deactivated, the learning content writes the learning progress directly to the LRS. This data must then also be retrieved directly from the LRS. The cron job "xAPI/cmi5 get results" is required to determine the learning progress.###28 10 2024 new variable -cmix#:#conf_user_ident#:#User identification###07 02 2020 new variable -cmix#:#conf_user_ident_il_uuid_ext_account#:#External User Id combined with a unique ILIAS platform id formated as an email adress.###07 02 2020 new variable -cmix#:#conf_user_ident_il_uuid_ext_account_info#:#This is identical to each call, but may allow a direct conclusion about the user.###07 02 2020 new variable -cmix#:#conf_user_ident_il_uuid_login#:#ILIAS Login combined with a unique ILIAS platform id formated as an email adress.###07 02 2020 new variable -cmix#:#conf_user_ident_il_uuid_login_info#:#This is identical to each call, but may allow a direct conclusion about the ILIAS user.###07 02 2020 new variable -cmix#:#conf_user_ident_il_uuid_random#:#Random ID combined with a unique ILIAS platform ID formatted as an E-Mail address###29 07 2022 new variable -cmix#:#conf_user_ident_il_uuid_random_info#:#For each ILIAS object and ILIAS user a random ID is generated which remains identical for each call. Conclusions about a user are very limited because it is practically impossible to create user profiles across objects.###29 07 2022 new variable -cmix#:#conf_user_ident_il_uuid_user_id#:#ILIAS user id combined with a unique ILIAS platform id formated as an email adress.###07 02 2020 new variable -cmix#:#conf_user_ident_il_uuid_user_id_info#:#This is identical to each call, but doesn't allow a direct conclusion about the ILIAS user.###07 02 2020 new variable -cmix#:#conf_user_ident_info#:#Standard is frequently the email address. The unique ILIAS platform id is:###07 02 2020 new variable -cmix#:#conf_user_ident_real_email#:#E-Mail Address###07 02 2020 new variable -cmix#:#conf_user_ident_real_email_info#:#Sends E-Mail Address of user as identification (Warning: an E-Mail Address might be used by multiple users!)###07 02 2020 new variable -cmix#:#conf_user_name#:#User name###07 02 2020 new variable -cmix#:#conf_user_name_firstname#:#First name###07 02 2020 new variable -cmix#:#conf_user_name_firstname_info#:#Sends the first name of the user name from ILIAS###07 02 2020 new variable -cmix#:#conf_user_name_fullname#:#Entire name###07 02 2020 new variable -cmix#:#conf_user_name_fullname_info#:#Sends title, first name and last name###07 02 2020 new variable -cmix#:#conf_user_name_info#:#Sending an user name is usually not required.###07 02 2020 new variable -cmix#:#conf_user_name_lastname#:#Title and last name###07 02 2020 new variable -cmix#:#conf_user_name_lastname_info#:#Sends Mister or Ms/Mrs. (unless otherwise specified) and the last name###07 02 2020 new variable -cmix#:#conf_user_name_none#:#No one###07 02 2020 new variable -cmix#:#conf_user_name_none_info#:#Sends '-' instead of a name###07 02 2020 new variable -cmix#:#conf_user_registered_mail#:#Registered E-Mail-Address###07 02 2020 new variable -cmix#:#content_privacy_ident#:#User identification for resource###07 02 2020 new variable -cmix#:#content_privacy_name#:#User name for resource###07 02 2020 new variable -cmix#:#create_lrs_type_form#:#New LRS-Type###07 02 2020 new variable -cmix#:#create_registration#:#Register your E-Mail address###07 02 2020 new variable -cmix#:#cron_xapi_del#:#Delete xAPI/cmi5 data in the Learning Record Store###29 10 2025 new variable -cmix#:#cron_xapi_del_desc#:#Data is deleted according to the settings of the xAPI/cmi5 objects.###29 10 2025 new variable -cmix#:#cron_xapi_results_evaluation#:#Fetch xAPI/cmi5 Results###07 02 2020 new variable -cmix#:#cron_xapi_results_evaluation_desc#:#Requests all xAPI results from learning record stores for objects not supporting the ILIAS xAPI proxy.###07 02 2020 new variable -cmix#:#description_info#:#The description will be shown below the title.###07 02 2020 new variable -cmix#:#download_certificate#:#Download Certificate###07 02 2020 new variable -cmix#:#duration_info#:#The duration can be entered e.g. for answering a task. The duration is set to the default value 0 seconds (PT00.000S) by this option.###29 07 2022 new variable -cmix#:#duration_label#:#Duration###29 07 2022 new variable -cmix#:#edit_lrs_type_form#:#LRS-Type###07 02 2020 new variable -cmix#:#failed_info#:#Indicates the actor did not successfully pass an activity to a level of predetermined satisfaction.###29 07 2022 new variable -cmix#:#failed_label#:#Statements with the verb 'failed'###29 07 2022 new variable -cmix#:#fetch_xapi_statements#:#Fetch results from Learning Record Store###07 02 2020 new variable -cmix#:#field_user_ident#:#E-Mail-Address###07 02 2020 new variable -cmix#:#field_user_ident_info#:#Enter the e-mail address used in the external application to identify you.###07 02 2020 new variable -cmix#:#form_change_registration#:#Registration###07 02 2020 new variable -cmix#:#form_create_registration#:#Registration###07 02 2020 new variable -cmix#:#hide_data_info#:#With this option which is only available for the ILIAS LRS proxy certain data is stored in statements with unrecognizable values in the Learning Record Store.###29 07 2022 new variable -cmix#:#hide_data_label#:#Blacken data###29 07 2022 new variable -cmix#:#highscore_achieved_ts#:#Date###07 02 2020 new variable -cmix#:#highscore_achieved_ts_description#:#A column containing the date will be included in the ranking.###07 02 2020 new variable -cmix#:#highscore_all_tables#:#Participant's Own Rank and Top Ranking###07 02 2020 new variable -cmix#:#highscore_all_tables_description#:#Participants get information about the top ranking and their own position in the ranking.###07 02 2020 new variable -cmix#:#highscore_description#:#The names of other users could be displayed if the right 'View learning experiences of other users' is set.###07 02 2020 new variable -cmix#:#highscore_enabled#:#Ranking###07 02 2020 new variable -cmix#:#highscore_mode#:#Mode###07 02 2020 new variable -cmix#:#highscore_own_table#:#Participant's Own Rank###07 02 2020 new variable -cmix#:#highscore_own_table_description#:#Participants are advised of their own position in the ranking.###07 02 2020 new variable -cmix#:#highscore_percentage#:#Percentage###07 02 2020 new variable -cmix#:#highscore_percentage_description#:#A column containing the score as percentage will be included in the ranking.###07 02 2020 new variable -cmix#:#highscore_score#:#Score###07 02 2020 new variable -cmix#:#highscore_score_description#:#A column containing the score will be included in the ranking.###07 02 2020 new variable -cmix#:#highscore_top_num#:#Length of Top Ranking###07 02 2020 new variable -cmix#:#highscore_top_num_description#:#Specify how many ranks are to be included in the top ranking list.###07 02 2020 new variable -cmix#:#highscore_top_num_unit#:#entries###07 02 2020 new variable -cmix#:#highscore_top_table#:#Top Ranking###07 02 2020 new variable -cmix#:#highscore_top_table_description#:#Participants are presented with a table containing the top rankings.###07 02 2020 new variable -cmix#:#highscore_wtime#:#Duration###07 02 2020 new variable -cmix#:#highscore_wtime_description#:#A column containing the duration will be included in the ranking.###07 02 2020 new variable -cmix#:#info_availability#:#Hereby you can operate the availability of the LRS-type within the magazine. All types can set on "allow existing ones" instead of being deleted.###07 02 2020 new variable -cmix#:#info_description#:#This description will be shown when choosing the type for new objects.###07 02 2020 new variable -cmix#:#info_external_lrs#:#A hint will be shown to users when dealing with an external LRS. An external LRS is characterized by insufficient influence on the LRS the by the operator of the ILIAS-installation. This is the case when there are no rights to delete.###07 02 2020 new variable -cmix#:#info_lrs_endpoint#:#URL of the endpoint without '/' at the end###07 02 2020 new variable -cmix#:#info_lrs_key#:#Key or login for access, i.e. 12345###07 02 2020 new variable -cmix#:#info_lrs_secret#:#Shared secret / Password, i.e. secret###07 02 2020 new variable -cmix#:#info_privacy_comment_default#:#Please insert, if required, an additional indication on data security when using this LRS.###07 02 2020 new variable -cmix#:#info_remarks#:#Place to write down your comments on this LRS-type here.###07 02 2020 new variable -cmix#:#info_title#:#This title will be shown when choosing the type for new objects.###07 02 2020 new variable -cmix#:#initialized_info#:#Indicates the activity provider has determined that the actor successfully started an activity.###29 07 2022 new variable -cmix#:#initialized_label#:#Statements with the verb 'initialized'###29 07 2022 new variable -cmix#:#launch_options#:#Options for Launch###07 02 2020 new variable -cmix#:#launch_url#:#URL of the resource###07 02 2020 new variable -cmix#:#launch_url_info#:#Insert here the Internet address by adding http:// or https:// . Options for data security are also relevant for remote resources.###07 02 2020 new variable -cmix#:#log_options#:#Options for the display of transmitted data###07 02 2020 new variable -cmix#:#lrs_authentication#:#Authentication###07 02 2020 new variable -cmix#:#no_substatements_info#:#With this option - which is only available for the ILIAS LRS proxy - the storage of subordinate statements can be suppressed. This can for example affect the answering of single tasks in a test. The content is informed that the statements would have been saved.###29 07 2022 new variable -cmix#:#no_substatements_label#:#Do not store substatements###29 07 2022 new variable -cmix#:#online_info#:#This makes the object visible and usable for the users.###07 02 2020 new variable -cmix#:#only_moveon_info#:#With this option, which is only available for the ILIAS LRS proxy, only statements with defined verbs are stored in the Learning Record Store (WhiteList). The content is informed that the statements would have been saved. This usually ensures the expiration date but should be discussed with the content provider.###29 07 2022 new variable -cmix#:#only_moveon_label#:#Save learning success data only###29 07 2022 new variable -cmix#:#passed_info#:#Indicates the actor successfully passed an activity to a level of predetermined satisfaction.###29 07 2022 new variable -cmix#:#passed_label#:#Statements with the verb 'passed'###29 07 2022 new variable -cmix#:#privacy_options#:#Options for data security###07 02 2020 new variable -cmix#:#progressed_info#:#Indicates a value of how much of an actor has advanced or moved through an activity.###29 07 2022 new variable -cmix#:#progressed_label#:#Statements with the verb 'progressed'###29 07 2022 new variable -cmix#:#registration_saved_successfully#:#Registration saved successfully###07 02 2020 new variable -cmix#:#satisfied_info#:#Indicates that the authority or activity provider determined the actor has fulfilled the criteria of the object or activity.###29 07 2022 new variable -cmix#:#satisfied_label#:#Statements with the verb 'satisfied'###29 07 2022 new variable -cmix#:#sect_learning_progress_options#:#Options for Learning Progress###07 02 2020 new variable -cmix#:#show_debug#:#Display Learning Experiences###07 02 2020 new variable -cmix#:#show_debug_info#:#The Learning Experiences of other users could be displayed if the right 'View learning experiences of other users' is set.###07 02 2020 new variable -cmix#:#tab_export#:#Export###07 02 2020 new variable -cmix#:#tab_info#:#Info###07 02 2020 new variable -cmix#:#tab_lrs_types#:#LRS-Types###07 02 2020 new variable -cmix#:#tab_scoring#:#Ranking###07 02 2020 new variable -cmix#:#tab_settings#:#Settings###07 02 2020 new variable -cmix#:#tab_statements#:#Learning Experiences###07 02 2020 new variable -cmix#:#tbl_action_raw_data#:#View Raw Data###07 02 2020 new variable -cmix#:#tbl_lrs_type_availability#:#Availability###07 02 2020 new variable -cmix#:#tbl_lrs_type_title#:#Title###07 02 2020 new variable -cmix#:#tbl_lrs_type_usages#:#Usages Count###07 02 2020 new variable -cmix#:#tbl_lrs_types_header#:#LRS-Types###07 02 2020 new variable -cmix#:#tbl_statements_actor#:#User###07 02 2020 new variable -cmix#:#tbl_statements_date#:#Date###07 02 2020 new variable -cmix#:#tbl_statements_object#:#Object###07 02 2020 new variable -cmix#:#tbl_statements_verb#:#Verb###07 02 2020 new variable -cmix#:#terminated_info#:#Indicates that the actor successfully ended an activity.###29 07 2022 new variable -cmix#:#terminated_label#:#Statements with the verb 'terminated'###29 07 2022 new variable -cmix#:#timestamp_info#:#The timestamp marks the time of an action indicated by the statement. The timestamp is set to the default value 01.01.1970 (1970-01-01T00:00:00.000Z) by this option. Please note that a Learning Record Store may automatically set a value for the stored date, which can be almost identical to the timestamp.###29 07 2022 new variable -cmix#:#timestamp_label#:#Timestamp###29 07 2022 new variable -cmix#:#title_info#:#Give the object a title.###07 02 2020 new variable -cmix#:#type_cmi5#:#cmi5 Learning Module###29 07 2022 new variable -cmix#:#type_generic#:#xAPI Standard Object###29 07 2022 new variable -cmix#:#use_fetch#:#Authorization through Fetch-URL###07 02 2020 new variable -cmix#:#use_fetch_info#:#As long as the resource supports this option, you should use this option to increase data security.###07 02 2020 new variable -cmix#:#xapi_statements_fetched_successfully#:#Results from Learning Record Store were fetched successfully###07 02 2020 new variable -cmix#:#xapi_statements_last_fetch_date#:#Last fetch of Results:###07 02 2020 new variable -cmix#:#xapi_statements_not_fetched_yet#:#Results from Learning Record Store are not fetched yet###07 02 2020 new variable +cmix#:#achieved_info#:#Realizzare o raggiungere con successo un obiettivo, un livello o un risultato desiderato attraverso lo sforzo, l'abilità o il coraggio. +cmix#:#achieved_label#:#Frasi con il verbo 'eseguito' +cmix#:#activity_id#:#Identificatore attività +cmix#:#activity_id_info#:#Questa ID viene utilizzata principalmente per la visualizzazione di dati dagli LRS. Lei riceve questa ID dal fornitore della risorsa/fonte. +cmix#:#answered_info#:#Indica che l'utente ha risposto a una domanda, dove l'oggetto è generalmente un'attività che rappresenta la domanda. Il testo della risposta sarà spesso incluso nella risposta all'interno del risultato. +cmix#:#answered_label#:#Frasi con il verbo 'risposto' +cmix#:#btn_change_registration#:#Invia +cmix#:#btn_create_lrs_type#:#Aggiungi tipo di LRS +cmix#:#btn_create_registration#:#Invia +cmix#:#change_registration#:#Indirizzo e-mail per la registrazione +cmix#:#cmix_add#:#aggiungi oggetto xAPI/cmi5 +cmix#:#cmix_add_cmi5_lm#:#Modulo didattico cmi5 +cmix#:#cmix_add_cmi5_lm_info#:#Quest'opzione dovrebbe essere usata, se il contenuto è conforme al modulo didattico cmi5. Funzioni relazionate come p.es. rapporti idonei sono disponibili senza ulteriori configurazioni. +cmix#:#cmix_add_lrs_type#:#Tipo di LRS +cmix#:#cmix_add_source#:#Fonte +cmix#:#cmix_add_source_external_app#:#Risorsa non avviata da ILIAS +cmix#:#cmix_add_source_external_app_info#:#Utilizzi questa opzione per risorse avviate separatamente come p.es. App o simulazioni. Gli utenti devono, attraverso l'indicazione dell'e-mail utilizzata, accettare la raccolta dei dati. +cmix#:#cmix_add_source_local_dir#:#Cartella locale +cmix#:#cmix_add_source_local_dir_info#:#Utilizzi questa opzione per pacchetti di contenuto sul Suo dispositivo locale. +cmix#:#cmix_add_source_upload_dir#:#indice upload +cmix#:#cmix_add_source_upload_dir_info#:#Utilizzi questa opzione per pacchetti di contenuto, che sono già caricati nell'indice7cartella ILIAS di upload, che viene già utilizzato per pacchetti SCORM- e HTML. +cmix#:#cmix_add_source_upload_select#:#--- Effettui una scelta --- +cmix#:#cmix_add_source_url#:#Link fonte +cmix#:#cmix_add_source_url_info#:#Utilizzi questa opzione in caso di fonti esterne. +cmix#:#cmix_add_xapi_standard_object#:#xAPI oggetto standard +cmix#:#cmix_add_xapi_standard_object_info#:#Utilizzi questa opzione per ottenere un modulo generale di contenuto, che offre tutte le funzioni, come p.es. diversi tipi di rapporto. Questa opzione offre la massima flessibilità possibile, richiede però una configurazione più complessa. +cmix#:#cmix_adlnetgov_expapi_verbs_answered#:#Risposto +cmix#:#cmix_adlnetgov_expapi_verbs_asked#:#Domandato +cmix#:#cmix_adlnetgov_expapi_verbs_attempted#:#Tentato +cmix#:#cmix_adlnetgov_expapi_verbs_attended#:#Frequentato +cmix#:#cmix_adlnetgov_expapi_verbs_commented#:#Commentato +cmix#:#cmix_adlnetgov_expapi_verbs_completed#:#Completato +cmix#:#cmix_adlnetgov_expapi_verbs_exited#:#Uscito +cmix#:#cmix_adlnetgov_expapi_verbs_experienced#:#Esperto/Vissuto +cmix#:#cmix_adlnetgov_expapi_verbs_failed#:#Non riuscito +cmix#:#cmix_adlnetgov_expapi_verbs_imported#:#Importato +cmix#:#cmix_adlnetgov_expapi_verbs_initialized#:#Inizializzato +cmix#:#cmix_adlnetgov_expapi_verbs_interacted#:#Interagito +cmix#:#cmix_adlnetgov_expapi_verbs_launched#:#Avviato +cmix#:#cmix_adlnetgov_expapi_verbs_mastered#:#Padroneggiato +cmix#:#cmix_adlnetgov_expapi_verbs_passed#:#Passato +cmix#:#cmix_adlnetgov_expapi_verbs_preferred#:#Preferito +cmix#:#cmix_adlnetgov_expapi_verbs_progressed#:#Progredito +cmix#:#cmix_adlnetgov_expapi_verbs_registered#:#Registrato +cmix#:#cmix_adlnetgov_expapi_verbs_responded#:#Risposto +cmix#:#cmix_adlnetgov_expapi_verbs_resumed#:#Ripreso +cmix#:#cmix_adlnetgov_expapi_verbs_scored#:#Segnato +cmix#:#cmix_adlnetgov_expapi_verbs_shared#:#Condiviso +cmix#:#cmix_adlnetgov_expapi_verbs_suspended#:#Sospeso +cmix#:#cmix_adlnetgov_expapi_verbs_terminated#:#Terminato +cmix#:#cmix_adlnetgov_expapi_verbs_voided#:#Invalidato +cmix#:#cmix_all_verbs#:#Tutti i verbi +cmix#:#cmix_copy#:#Copia oggetto xAPI/cmi5 +cmix#:#cmix_import#:#Importa oggetto xAPI/cmi5 +cmix#:#cmix_indication_to_user#:#Ulteriori indicazioni relative a questo LRS +cmix#:#cmix_info_external_lrs_info#:#Questo Learning Record Store è un LRS esterno. Un LRS esterno è caratterizzato da una limitata influenza di ILIAS su di esso. Ciò è il caso, se per es. non si hanno i diritti di eliminazione dei dati. +cmix#:#cmix_info_external_lrs_label#:#Informazioni aggiuntive riguardo questo LRS +cmix#:#cmix_info_privacy_section#:#Informazioni relative ai dati personali +cmix#:#cmix_info_privacy_section_launch#:#Informazioni relative ai dati personali trasmessi all'avvio +cmix#:#cmix_lrs_type#:#Learning Record Store (LRS) +cmix#:#cmix_new#:#Nuovo oggetto xAPI/cmi5 +cmix#:#completed_info#:#L'attività è terminata o completata normalmente. +cmix#:#completed_label#:#Frasi col verbo 'completato' +cmix#:#conf_availability#:#Disponibilità +cmix#:#conf_availability_0#:#Non disponibile +cmix#:#conf_availability_0_info#:#Existing xAPI/cmi5 objects that use this LRS type can no longer be used.###30 04 2024 new variable +cmix#:#conf_availability_1#:#Per oggetti esistenti +cmix#:#conf_availability_1_info#:#This LRS type is not offered when creating new xAPI/cmi5 objects. Existing xAPI/cmi5 objects that use this type can continue to write or read data. Use this option to be able to delete data in the connected LRS at a later time.###30 04 2024 new variable +cmix#:#conf_availability_2#:#Per oggetti nuovi ed esistenti +cmix#:#conf_availability_2_info#:#This LRS type can be selected when creating xAPI/cmi5 objects.###30 04 2024 new variable +cmix#:#conf_bypass_proxy#:#Individuazione del progresso didattico +cmix#:#conf_bypass_proxy_disabled#:#xAPI-Proxy, per ricevere subito i dati +cmix#:#conf_bypass_proxy_enabled#:#CronJob per consultare banca dati LRS +cmix#:#conf_bypass_proxy_info#:#Nella maggior parte dei casi è consigliato l'utilizzo del proxy xAPI. Utilizzi il CronJob in caso di limitazioni riguardanti risorse o server. +cmix#:#conf_cronjob_neccessary#:#CronJob necessario per il progresso didattico +cmix#:#conf_cronjob_neccessary_info#:#Attivando questa opzione gli oggetti xAPI, che utilizzano questo tipo di LRS, non potranno utilizzare il proxy xAPI per rilevare al contempo i dati per riconoscere il progresso didattico. Utilizzi il CronJob solamente per limitazioni riguardanti risorse o server. +cmix#:#conf_delete_data#:#Delete Data in LRS###30 04 2024 new variable +cmix#:#conf_delete_data_info#:#Deletion is currently only possible with the Learning Record Store (LRS) LearningLocker. Only use the options for deleting the user identification if the data has been pseudonymized in the LRS.###30 04 2024 new variable +cmix#:#conf_delete_data_opt0#:#never###30 04 2024 new variable +cmix#:#conf_delete_data_opt1#:#never - but if users are deleted and if xAPI/cmi objects are moved to the trash or deleted, data will no longer be assignable for ILIAS by deleting the - user identification###30 04 2024 new variable +cmix#:#conf_delete_data_opt11#:#when users are deleted and when xAPI/cmi objects are moved to the trash or deleted###30 04 2024 new variable +cmix#:#conf_delete_data_opt12#:#additionally when users are removed from courses or groups###30 04 2024 new variable +cmix#:#conf_delete_data_opt2#:#never - but additionally when users are removed from courses or groups, data will no longer be assignable for ILIAS by deleting the user identification###30 04 2024 new variable +cmix#:#conf_description#:#Descrizione +cmix#:#conf_external_lrs#:#LRS esterno +cmix#:#conf_keep_lp#:#Evitare il peggioramento del progresso didattico +cmix#:#conf_keep_lp_info#:#Lo stato di 'modificato' del progresso didattico ILIAS viene bloccato. +cmix#:#conf_launch_mode#:#Modalità di partenza +cmix#:#conf_launch_mode_browse#:#Solo anteprima / Preview ('browse') senza salvataggio del progresso didattico +cmix#:#conf_launch_mode_browse_info#:#This option should provide a user experience that allows the user to "look around" without judgement.###09 03 2022 new variable +cmix#:#conf_launch_mode_normal#:#Normale +cmix#:#conf_launch_mode_normal_info#:#Data related to the learning progress should be recorded.###09 03 2022 new variable +cmix#:#conf_launch_mode_review#:#Modalità di revisione senza salvataggio del progresso didattico +cmix#:#conf_launch_mode_review_info#:#This option should provide a user experience that allows the user to "revisit / review" already completed material.###09 03 2022 new variable +cmix#:#conf_lrs_endpoint#:#Punto di termine +cmix#:#conf_lrs_key#:#Key / Login +cmix#:#conf_lrs_secret#:#Secret / Password +cmix#:#conf_new_window#:#New Window###09 03 2022 new variable +cmix#:#conf_new_window_info#:#The content is opened in a new window. When leaving the content this window gets closed.###09 03 2022 new variable +cmix#:#conf_own_window#:#Stessa finestra +cmix#:#conf_own_window_info#:#Il contenuto viene aperto nella stessa finestra e sostituisce la schermata ILIAS. All'uscita dal contenuto l'utente torna su ILIAS. +cmix#:#conf_privacy_comment_default#:#Indicazione all'utente +cmix#:#conf_privacy_ident#:#Identificativo Utente +cmix#:#conf_privacy_ident_il_uuid_ext_account#:#ID utente esterno combinato con un identificativo di piattaforma ILIAS univoco, formattato come indirizzo email +cmix#:#conf_privacy_ident_il_uuid_ext_account_info#:#Questo è identico a ogni chiamata, ma può consentire di trarre conclusioni dirette sull'utente. +cmix#:#conf_privacy_ident_il_uuid_login#:#ID utente esterno combinato con un identificativo di piattaforma ILIAS univoco, formattato come indirizzo email +cmix#:#conf_privacy_ident_il_uuid_login_info#:#Questo è identico a ogni chiamata, ma può consentire di trarre conclusioni dirette sull'utente. +cmix#:#conf_privacy_ident_il_uuid_random#:#ID casuale combinato con un identificativo di piattaforma ILIAS univoco, che è formattato come un indirizzo email +cmix#:#conf_privacy_ident_il_uuid_random_info#:#Viene generato un ID casuale per ogni oggetto ILIAS e utente ILIAS e rimane identico ogni volta che viene chiamato. Le conclusioni su un utente sono molto limitate, poiché è praticamente impossibile creare profili utente. +cmix#:#conf_privacy_ident_il_uuid_sha256#:#Hash combined with a unique ILIAS platform id formatted as an E-Mail address###26 09 2022 new variable +cmix#:#conf_privacy_ident_il_uuid_sha256_info#:#This is identical to each call, but does not permit any direct conclusions about the ILIAS user.###26 09 2022 new variable +cmix#:#conf_privacy_ident_il_uuid_sha256url#:#Hash combined with the ILIAS Domain formatted as an E-Mail address###26 09 2022 new variable +cmix#:#conf_privacy_ident_il_uuid_sha256url_info#:#This is identical to each call, with with a maximum of 80 characters significantly shorter than the variant with the ILIAS platform ID and allows only very limited conclusions about the ILIAS user.###26 09 2022 new variable +cmix#:#conf_privacy_ident_il_uuid_user_id#:#ID utente ILIAS combinato con un identificativo di piattaforma ILIAS univoco, formattato come indirizzo email +cmix#:#conf_privacy_ident_il_uuid_user_id_info#:#Questo è identico a tutte le chiamate, ma non consente di trarre conclusioni dirette sull'utente ILIAS. +cmix#:#conf_privacy_ident_info#:#L'indirizzo e-mail è spesso lo standard. L'ID univoco della piattaforma ILIAS è: +cmix#:#conf_privacy_ident_real_email#:#Indirizzo E-Mail +cmix#:#conf_privacy_ident_real_email_info#:#Invia l'indirizzo e-mail dell'utente come identificativo (attenzione: un indirizzo e-mail può essere utilizzato da più utenti!) +cmix#:#conf_privacy_name#:#Nome utente +cmix#:#conf_privacy_name_firstname#:#Nome +cmix#:#conf_privacy_name_firstname_info#:#Invio del Nome +cmix#:#conf_privacy_name_fullname#:#Nome e Cognome +cmix#:#conf_privacy_name_fullname_info#:#Invio di titolo, Nome e Cognome +cmix#:#conf_privacy_name_info#:#Invio del nome utente solitamente non richiesto +cmix#:#conf_privacy_name_lastname#:#titolo e cognome +cmix#:#conf_privacy_name_lastname_info#:#Invia Sig. o Sig.ra (se non diversamente specificato) e il cognome. +cmix#:#conf_privacy_name_none#:#Nessuno +cmix#:#conf_privacy_name_none_info#:#Invia '-' invece del Nome +cmix#:#conf_privacy_setting_conf#:#Opzioni configurazione +cmix#:#conf_privacy_setting_default#:#Impostazioni predefinite, modificabili per oggetti +cmix#:#conf_privacy_setting_force#:#Le impostazioni non sono modificabili per oggetti. +cmix#:#conf_privacy_setting_info#:#Opzioni configurazione per la protezione dei dati +cmix#:#conf_remarks#:#Commenti interni +cmix#:#conf_title#:#Titolo +cmix#:#conf_use_proxy#:#xAPI-Proxy###30 04 2024 new variable +cmix#:#conf_use_proxy_info#:#The xAPI proxy provides real-time data to determine learning progress in ILIAS. The proxy reduces personal data in accordance with the selected data protection options. If the xAPI proxy is deactivated, the learning content writes the learning progress directly to the LRS. This data must then also be retrieved directly from the LRS. The cron job "xAPI/cmi5 get results" is required to determine the learning progress. The xAPI proxy is mandatory for cmi5 objects and is activated automatically.###30 04 2024 new variable +cmix#:#conf_use_proxy_info_cmi5#:#The xAPI proxy provides real-time data to determine learning progress in ILIAS. The proxy reduces personal data in accordance with the selected data protection options. The xAPI proxy is mandatory for cmi5 objects.###30 04 2024 new variable +cmix#:#conf_use_proxy_info_xapi#:#The xAPI proxy provides real-time data to determine learning progress in ILIAS. The proxy reduces personal data in accordance with the selected data protection options. If the xAPI proxy is deactivated, the learning content writes the learning progress directly to the LRS. This data must then also be retrieved directly from the LRS. The cron job "xAPI/cmi5 get results" is required to determine the learning progress.###30 04 2024 new variable +cmix#:#conf_user_ident#:#User identification###31 03 2023 new variable +cmix#:#conf_user_ident_il_uuid_ext_account#:#External User Id combined with a unique ILIAS platform id formatted as an E-Mail adress###31 03 2023 new variable +cmix#:#conf_user_ident_il_uuid_ext_account_info#:#This is identical to each call, but may allow a direct conclusion about the user.###31 03 2023 new variable +cmix#:#conf_user_ident_il_uuid_login#:#ILIAS Login as E-Mail Address, if necessary combined with a unique ILIAS platform id###31 03 2023 new variable +cmix#:#conf_user_ident_il_uuid_login_info#:#This is identical to each call, but may allow a direct conclusion about the ILIAS user.###31 03 2023 new variable +cmix#:#conf_user_ident_il_uuid_random#:#Random ID combined with a unique ILIAS platform ID formatted as an E-Mail address###31 03 2023 new variable +cmix#:#conf_user_ident_il_uuid_random_info#:#For each ILIAS object and ILIAS user a random ID is generated which remains identical for each call. Conclusions about a user are very limited because it is practically impossible to create user profiles across objects.###31 03 2023 new variable +cmix#:#conf_user_ident_il_uuid_user_id#:#ILIAS user id combined with a unique ILIAS platform id formatted as an E-Mail adress###31 03 2023 new variable +cmix#:#conf_user_ident_il_uuid_user_id_info#:#This is identical to each call, but doesn't allow a direct conclusion about the ILIAS user.###31 03 2023 new variable +cmix#:#conf_user_ident_info#:#Standard is frequently the email address. The unique ILIAS platform id is:###31 03 2023 new variable +cmix#:#conf_user_ident_real_email#:#E-Mail Address###31 03 2023 new variable +cmix#:#conf_user_ident_real_email_info#:#Sends E-Mail Address of user as identification (Warning: an E-Mail Address might be used by multiple users!)###31 03 2023 new variable +cmix#:#conf_user_name#:#User name###31 03 2023 new variable +cmix#:#conf_user_name_firstname#:#First name###31 03 2023 new variable +cmix#:#conf_user_name_firstname_info#:#Sends the first name of the user name from ILIAS###31 03 2023 new variable +cmix#:#conf_user_name_fullname#:#Entire name###31 03 2023 new variable +cmix#:#conf_user_name_fullname_info#:#Sends title, first name and last name###31 03 2023 new variable +cmix#:#conf_user_name_info#:#Sending an user name is usually not required.###31 03 2023 new variable +cmix#:#conf_user_name_lastname#:#Title and last name###31 03 2023 new variable +cmix#:#conf_user_name_lastname_info#:#Sends Mister or Ms/Mrs. (unless otherwise specified) and the last name###31 03 2023 new variable +cmix#:#conf_user_name_none#:#No one###31 03 2023 new variable +cmix#:#conf_user_name_none_info#:#Sends '-' instead of a name###31 03 2023 new variable +cmix#:#conf_user_registered_mail#:#Indirizzo e-mail registrato +cmix#:#content_privacy_ident#:#Identificazione utente +cmix#:#content_privacy_name#:#Nome utente +cmix#:#create_lrs_type_form#:#Nuovo tipo LRS +cmix#:#create_registration#:#Registri il Suo indirizzo e-mail +cmix#:#cron_xapi_del#:#Delete xAPI/cmi5 data in the Learning Record Store###30 04 2024 new variable +cmix#:#cron_xapi_del_desc#:#Data are deleted according to the settings of the xAPI/cmi5 objects.###30 04 2024 new variable +cmix#:#cron_xapi_results_evaluation#:#Recupera i risultati xAPI/cmi5 +cmix#:#cron_xapi_results_evaluation_desc#:#Richiede tutti i risultati xAPI dal learning record store per gli oggetti che non supportano il proxy ILIAS xAPI. +cmix#:#description_info#:#La descrizione verrà mostrata sotto al titolo. +cmix#:#download_certificate#:#Scarica certificato +cmix#:#duration_info#:#Il periodo di tempo può essere registrato, ad esempio, per rispondere a un compito. Questa opzione imposta la durata 'durata' al valore standard 0 secondi (PT00.000S). +cmix#:#duration_label#:#Durata +cmix#:#edit_lrs_type_form#:#Tipo LRS +cmix#:#failed_info#:#L'attività non è stata eseguita con successo e col livello di soddisfazione predeterminato. +cmix#:#failed_label#:#Frasi col verbo 'sbagliato' +cmix#:#fetch_xapi_statements#:#Recupera i risultati dal Learning Record Store +cmix#:#field_user_ident#:#Indirizzo e-mail +cmix#:#field_user_ident_info#:#Riporti l'indirizzo e-mail utilizzato nell'applicazione esterna per identificarla. +cmix#:#form_change_registration#:#Registrazione +cmix#:#form_create_registration#:#Registrazione +cmix#:#hide_data_info#:#Con questa opzione, disponibile solo per il proxy ILIAS-LRS, alcuni dati vengono archiviati in dichiarazioni con valori non riconoscibili nell'archivio dei record di apprendimento. +cmix#:#hide_data_label#:#Dati anneriti +cmix#:#highscore_achieved_ts#:#Data +cmix#:#highscore_achieved_ts_description#:#Una colonna contenente la data verrà inclusa nella graduatoria. +cmix#:#highscore_all_tables#:#Posizione raggiunta e l'elenco dei migliori +cmix#:#highscore_all_tables_description#:#Mostra sia una tabella per il proprio posizionamento in graduatoria, che una tabella dei migliori posizionamenti. +cmix#:#highscore_description#:#I nomi degli altri utenti possono essere mostrati, se è impostato il diritto 'Mostra esperienze didattiche degli altri utenti'. +cmix#:#highscore_enabled#:#Graduatoria +cmix#:#highscore_mode#:#Modalità +cmix#:#highscore_own_table#:#Posizionamento in classifica dell'utente +cmix#:#highscore_own_table_description#:#Ai partecipanti viene mostrata una tabella con il posizionamento raggiunto, all'interno di tutti i posizionamenti. +cmix#:#highscore_percentage#:#Percentuale +cmix#:#highscore_percentage_description#:#Una colonna contenente il punteggio in percentuale verrà aggiunto alla graduatoria. +cmix#:#highscore_score#:#Punteggio +cmix#:#highscore_score_description#:#Una colonna contenente il punteggio verrà aggiunto alla graduatoria. +cmix#:#highscore_top_num#:#Lunghezza della graduatoria +cmix#:#highscore_top_num_description#:#Specifichi quante voci devono essere mostrate nella classifica dei migliori posizionamenti. +cmix#:#highscore_top_num_unit#:#Posizionamenti +cmix#:#highscore_top_table#:#Migliori posizionamenti +cmix#:#highscore_top_table_description#:#Ai partecipanti verrà mostrata una tabella con i migliori posizionamenti. +cmix#:#highscore_wtime#:#Durata +cmix#:#highscore_wtime_description#:#Una colonna contenente la durata verrà inclusa nella graduatoria. +cmix#:#info_availability#:#Can la presente può gestire la disponibilità del tipo-LRS all'interno dell'archivio. Tutti i tipi possono essere fissati su "per oggetti esistenti", invece di essere eliminati. +cmix#:#info_description#:#Questa descrizione verrà mostrata alla definizione del tipo di un oggetto. +cmix#:#info_external_lrs#:#Un riferimento verrà mostrato agli utenti quando trattano con LRS esterni. Un LRS esterno è contraddistinto da un'influenza insufficiente sul LRS da parte del gestore di ILIAS. Ciò è il caso quando non ci sono i diritti all'eliminazione. +cmix#:#info_lrs_endpoint#:#URL del punto di termine senza '/' alla fine della pagina +cmix#:#info_lrs_key#:#Chiave o Login per l'accesso, p.es. 12345 +cmix#:#info_lrs_secret#:#Segreto generale / Password +cmix#:#info_privacy_comment_default#:#Per favore inserisca, se necessario, un'ulteriore indicazione sulla protezione dei dati in caso di utilizzo di questo LRS. +cmix#:#info_remarks#:#Qui può lasciare i Suoi commenti riguardqnti questo tipo di LRS. +cmix#:#info_title#:#Questo titolo viene mostrato alla scelta del tipo per nuovi oggetti. +cmix#:#initialized_info#:#L'attività è iniziata con successo +cmix#:#initialized_label#:#Frasi col verbo 'inizializzato' +cmix#:#launch_options#:#Opzioni di lancio +cmix#:#launch_url#:#URL della risorsa +cmix#:#launch_url_info#:#Inserisci qui l'indirizzo aggiungendo http:// o https:// .
Le opzioni per la sicurezza dati sono rilevanti anche per le risorse remote. +cmix#:#log_options#:#Opzioni per la visualizzazione dei dati trasmessi +cmix#:#lrs_authentication#:#Autenticazione +cmix#:#no_substatements_info#:#Con questa opzione, disponibile solo per il proxy ILIAS LRS, è possibile sopprimere la memorizzazione delle substatement. Ciò può, ad esempio, influenzare la risposta a singoli compiti in un test. Il contenuto viene informato che le dichiarazioni sono state salvate. +cmix#:#no_substatements_label#:#Non salvare le substatement +cmix#:#online_info#:#Questo rende l'oggetto visibile e utilizzabile per gli utenti. +cmix#:#only_moveon_info#:#Con questa opzione, disponibile solo per il proxy ILIAS-LRS, solo le statement con i verbi definiti vengono salvate nel Learning Record Store (WhiteList). Il contenuto viene informato che le dichiarazioni sono state salvate. Questo di solito garantisce l'eseguibilità, ma dovrebbe essere discusso con il fornitore di contenuti. +cmix#:#only_moveon_label#:#Salvare solo i dati che hanno esito positivo +cmix#:#passed_info#:#L'attività è stata trasferita con successo ad un livello di soddisfazione predeterminato. +cmix#:#passed_label#:#Frasi col verbo 'superato' +cmix#:#privacy_options#:#Opzioni per la sicurezza dei dati +cmix#:#progressed_info#:#Denota un valore che indica fino a che punto un utente è progredito in un'attività o si è spostato attraverso un'attività. +cmix#:#progressed_label#:#Frasi con il verbo 'progredito' +cmix#:#registration_saved_successfully#:#Registrazione salvata con successo +cmix#:#satisfied_info#:#Indica che i criteri dell'oggetto o dell'attività sono stati soddisfatti. +cmix#:#satisfied_label#:#Frasi con il verbo 'soddisfatto' +cmix#:#sect_learning_progress_options#:#Opzioni per il progresso didattico +cmix#:#show_debug#:#Mostra esperienze di apprendimento +cmix#:#show_debug_info#:#Le esperienze di apprendimento di altri utenti potrebbero essere visualizzate se è impostata correttamente "Visualizza esperienze di apprendimento di altri utenti". +cmix#:#tab_export#:#Esporta +cmix#:#tab_info#:#Info +cmix#:#tab_lrs_types#:#Tipi LRS +cmix#:#tab_scoring#:#Graduatoria +cmix#:#tab_settings#:#Impostazioni +cmix#:#tab_statements#:#Esperienze di apprendimento +cmix#:#tbl_action_raw_data#:#Visualizza dati grezzi +cmix#:#tbl_lrs_type_availability#:#Disponibilita' +cmix#:#tbl_lrs_type_title#:#Titolo +cmix#:#tbl_lrs_type_usages#:#Conteggio degli usi +cmix#:#tbl_lrs_types_header#:#Tipi LRS +cmix#:#tbl_statements_actor#:#Utente +cmix#:#tbl_statements_date#:#Data +cmix#:#tbl_statements_object#:#Oggetto +cmix#:#tbl_statements_verb#:#Verbo +cmix#:#terminated_info#:#L'attività è stata terminata con successo +cmix#:#terminated_label#:#Frasi con il verbo 'interrotto' +cmix#:#timestamp_info#:#Il timestamp indica l'ora di un'azione contrassegnata dall'istruzione. Questa opzione imposta il timestamp sul valore standard 01/01/1970 (1970-01-01T00: 00: 00.000Z). Tieni presente che un archivio di record di apprendimento può impostare automaticamente un valore per la data di archiviazione, che può essere quasi identico al timestamp. +cmix#:#timestamp_label#:#Timestamp +cmix#:#title_info#:#Dai un titolo all'oggetto +cmix#:#type_cmi5#:#cmi5 Learning Module###09 03 2022 new variable +cmix#:#type_generic#:#xAPI Standard Object###09 03 2022 new variable +cmix#:#use_fetch#:#Autorizzazione tramite Fetch-URL +cmix#:#use_fetch_info#:#Se la risorsa lo supporta, è consigliato utilizzare questa opzione per incrementare la sicurezza. +cmix#:#xapi_statements_fetched_successfully#:#I risultati del Learning Record Store sono stati recuperati correttamente +cmix#:#xapi_statements_last_fetch_date#:#Ultimo recupero dei risultati: +cmix#:#xapi_statements_not_fetched_yet#:#I risultati di Learning Record Store non sono ancora stati recuperati cmps#:#cmps_activate#:#Attivare cmps#:#cmps_active#:#Attivo cmps#:#cmps_add_new_rank#:#Posizione nel menù per Aggiungi-Nuovo-Oggetto cmps#:#cmps_available#:#Disponibile -cmps#:#cmps_available_version#:#Available Version###29 07 2022 new variable +cmps#:#cmps_available_version#:#Available Version###31 03 2023 new variable cmps#:#cmps_basic_files#:#File di base cmps#:#cmps_class_file#:#File classe -cmps#:#cmps_component#:#Componente +cmps#:#cmps_component#:#Componenti cmps#:#cmps_configure#:#Configura -cmps#:#cmps_current_db_version#:#Current DB-Version###29 07 2022 new variable +cmps#:#cmps_current_db_version#:#Current DB-Version###31 03 2023 new variable cmps#:#cmps_current_version#:#Versione attuale cmps#:#cmps_database#:#Database cmps#:#cmps_db_update#:#Script per l'attualizzazione della banca dati cmps#:#cmps_deactivate#:#Disattivato -cmps#:#cmps_detailed_information#:#Detailed Informationen###29 07 2022 new variable +cmps#:#cmps_detailed_information#:#Detailed Informationen###31 03 2023 new variable cmps#:#cmps_dir#:#Directory cmps#:#cmps_enable_creation#:#Consenti creazione cmps#:#cmps_file_version#:#Aggiornamento del file @@ -3374,8 +3373,8 @@ cmps#:#cmps_ilias_max_version#:#Versione max. di ILIAS cmps#:#cmps_ilias_min_version#:#Versione min. di ILIAS cmps#:#cmps_inactive#:#Inattivo cmps#:#cmps_install#:#Installa -cmps#:#cmps_is_active#:#Activated###29 07 2022 new variable -cmps#:#cmps_is_installed#:#Installed###29 07 2022 new variable +cmps#:#cmps_is_active#:#Activated###31 03 2023 new variable +cmps#:#cmps_is_installed#:#Installed###31 03 2023 new variable cmps#:#cmps_lang_files#:#File di lingua cmps#:#cmps_lang_prefix#:#Prefisso della variabile di testo cmps#:#cmps_languages#:#Lingue @@ -3384,7 +3383,7 @@ cmps#:#cmps_missing#:#Mancante cmps#:#cmps_module#:#Modulo cmps#:#cmps_must_installed#:#Il componente deve essere installato. cmps#:#cmps_name#:#Nome -cmps#:#cmps_needs_matching_ilias_version#:#This plugin does not work with your current ILIAS version.###29 07 2022 new variable +cmps#:#cmps_needs_matching_ilias_version#:#This plugin does not work with your current ILIAS version.###31 03 2023 new variable cmps#:#cmps_needs_newer_ilias_version#:#Questa versione del plugin funziona solo su una versione recente di ILIAS. Aggiornalo per favore. cmps#:#cmps_needs_newer_plugin_version#:#Questa versione di ILIAS necessita di un'aggiornamento del plugin. Procedi per favore. cmps#:#cmps_needs_update#:#Aggiornamento necessario @@ -3393,43 +3392,43 @@ cmps#:#cmps_no_db_update_file_available#:#Non è disponibile nessuno script per cmps#:#cmps_no_language_file_available#:#Nessun file di lingua disponibile cmps#:#cmps_plugin#:#Plug-in cmps#:#cmps_plugin_activated#:#Il plugin è stato attivato. -cmps#:#cmps_plugin_db_prefixes#:#Preffissi delle tabelle del DB +cmps#:#cmps_plugin_db_prefixes#:#Prefissi delle tabelle del DB cmps#:#cmps_plugin_deactivated#:#Il plugin è stato disattivato. -cmps#:#cmps_plugin_deinstalled#:#The plugin has been uninstalled###29 07 2022 new variable +cmps#:#cmps_plugin_deinstalled#:#The plugin has been uninstalled###31 03 2023 new variable cmps#:#cmps_plugin_file#:#File Plugin cmps#:#cmps_plugin_lang_prefixes#:#Plugin dei prefissi di lingua cmps#:#cmps_plugin_slot#:#Plug-in fascia oraria -cmps#:#cmps_plugin_uninstalled#:#The plugin has been uninstalled. -cmps#:#cmps_plugin_updated#:#The plugin has been updated###29 07 2022 new variable +cmps#:#cmps_plugin_uninstalled#:#Il plugin è stato disinstallato. +cmps#:#cmps_plugin_updated#:#The plugin has been updated###31 03 2023 new variable cmps#:#cmps_plugins#:#Plug-in cmps#:#cmps_refresh#:#Aggiorna -cmps#:#cmps_refresh_lng#:#Refresh language###29 07 2022 new variable +cmps#:#cmps_refresh_lng#:#Refresh language###31 03 2023 new variable cmps#:#cmps_rep_object#:#Oggetto del repository cmps#:#cmps_repository_object_types#:#Tipi di oggetto repository cmps#:#cmps_responsible#:#Responsabile -cmps#:#cmps_responsible_mail#:#Mail (Responsible)###29 07 2022 new variable +cmps#:#cmps_responsible_mail#:#Mail (Responsible)###31 03 2023 new variable cmps#:#cmps_save_options#:#Salva le opzioni cmps#:#cmps_service#:#Servizio cmps#:#cmps_show_details#:#Mostra i dettagli cmps#:#cmps_slots#:#Fasce orarie cmps#:#cmps_status#:#Stato -cmps#:#cmps_supports_cli_setup#:#Supports CLI-Setup###29 07 2022 new variable -cmps#:#cmps_supports_export#:#Supports export###29 07 2022 new variable -cmps#:#cmps_supports_learning_progress#:#Supports learning progress###29 07 2022 new variable +cmps#:#cmps_supports_cli_setup#:#Supports CLI-Setup###31 03 2023 new variable +cmps#:#cmps_supports_export#:#Supports export###31 03 2023 new variable +cmps#:#cmps_supports_learning_progress#:#Supports learning progress###31 03 2023 new variable cmps#:#cmps_uninstall#:#Disinstalla -cmps#:#cmps_uninstall_confirm#:#Are you sure you want to uninstall the plugin "%s"? +cmps#:#cmps_uninstall_confirm#:#Sei sicuro di voler disinstallare il plugin "%s"? cmps#:#cmps_uninstall_inactive_confirm#:#Il plug-in "%1$s" attualmente non può essere attivato ("%2$s"). In questo stato i plug-in non possono essere disinstallati completamente. Poiché solo l'integrazione di base viene ripristinata, i dati personalizzati del plug-in possono rimanere. Vuoi continuare con la disinstallazione parziale? cmps#:#cmps_update#:#Aggiornamento cmps#:#cmps_version#:#Versione cmps#:#database_is_uptodate#:#Il database è aggiornato. cmps#:#no_changes#:#Nessuna modifica -cmxv#:#cmxv_create#:#Create Certificate for xAPI/cmi5 Object###07 02 2020 new variable -cmxv#:#cmxv_create_info#:#Select a completed xAPI/cmi5 object to generate a certificate for it###07 02 2020 new variable +cmxv#:#cmxv_create#:#Crea certificato per l'oggetto xAPI/cmi5 +cmxv#:#cmxv_create_info#:#Seleziona un oggetto xAPI/cmi5 completato per generare un certificato relativo ad esso cntr#:#cntr_add_new_item#:#Aggiungi nuovo elemento cntr#:#cntr_adopt_content#:#Adotta il contenuto cntr#:#cntr_container_only_on_their_own#:#Categorie, corsi, gruppi o cartelle possono essere copiati come singoli oggetti. Si prega di selezionare una sola voce. cntr#:#cntr_copy_crs_grp#:#I miei corsi e gruppi -cntr#:#cntr_copy_repo_tree#:#Albero repository +cntr#:#cntr_copy_repo_tree#:#Albero archivio cntr#:#cntr_hide_title_and_icon#:#Nascondi titolo ed icona cntr#:#cntr_manage#:#Gestisci cntr#:#cntr_ordering#:#Ordinamento @@ -3438,10 +3437,10 @@ cntr#:#cntr_switch_to_new_editor_cmd#:#Visualizza il nuovo contenuto della pagin cntr#:#cntr_switch_to_new_editor_message#:#Questo è l'editor standard di ILIAS. Non è possibile trasferire contenuti dal vecchio editor. Inizia aggiungendo nuovi contenuti in basso. Se clicchi sul link che segue i nuovi contenuti saranno in uso. cntr#:#cntr_switched_editor#:#Nuovo contenuto visualizzato cntr#:#cntr_tax_none_available#:#Non ci sono tassonomie disponibili. -cntr#:#cntr_tax_settings_info#:#Taxonomies in categories classify and filter the objects contained in the category. After adding taxonomies, classifications can be made via the "Metadata" tabs and the "Taxonomy Assignment" sub-tabs of the respective objects. Taxonomies can additionally be displayed in the side block of the category's "Contents" tab to enable direct filtering of the assigned objects.###26 08 2024 new variable +cntr#:#cntr_tax_settings_info#:#Taxonomies in categories classify and filter the objects contained in the category. After adding taxonomies, classifications can be made via the "Metadata" tabs and the "Taxonomy Assignment" sub-tabs of the respective objects. Taxonomies can additionally be displayed in the side block of the category's "Contents" tab to enable direct filtering of the assigned objects.###30 04 2024 new variable cntr#:#cntr_taxonomy_definitions#:#Definizione tassonomia cntr#:#cntr_taxonomy_show_sideblock#:#Mostra tassonomie nel blocco laterale -cntr#:#cntr_taxonomy_sideblock_settings#:#Taxonomy Block Settings +cntr#:#cntr_taxonomy_sideblock_settings#:#Impostazioni blocco tassonomia cntr#:#cntr_text_media_editor#:#Text/Media Editor cntr#:#cntr_view_by_type#:#Visualizzazione per tipo cntr#:#cntr_view_info_by_type#:#Questa visualizzazione ordina tutti gli elementi a seconda del tipo. @@ -3452,7 +3451,7 @@ cntr#:#cntr_view_simple#:#Visualizzazione semplice cntr#:#container_import_zip_file_invalid#:#Il file caricato non è un file di esportazione ILIAS valido. Per caricare la struttura di directory si prega di utilizzare un oggetto file. cntr#:#edit_questions#:#Modifica domande cntr#:#exc_next_deadline_single#:#Scadenza -cntr#:#msg_no_downloadable_objects#:#No downloadable objects found. +cntr#:#msg_no_downloadable_objects#:#Nessun oggetto scaricabile trovato. cntr#:#objects_duplicated#:#Oggetti copiati cntr#:#prtf_create_portfolio_from_template#:#Crea portfolio dal modello cntr#:#sorting_new_items_at_bottom#:#Pulsante @@ -3463,10 +3462,10 @@ cntr#:#sorting_new_items_position#:#Posizione per i nuovi oggetti cntr#:#tab_back_to_repository#:#Torna al repository common#:#HH#:#HH:MM common#:#absolute_path#:#Percorso assoluto -common#:#accept_usr_agreement_btn#:#Accept###29 07 2022 new variable +common#:#accept_usr_agreement_btn#:#Accettare common#:#access#:#Accesso -common#:#accessFree#:#Remove limited Access -common#:#accessRestrict#:#Set limited Access +common#:#accessFree#:#Rimuovi accesso limitato +common#:#accessRestrict#:#Imposta accesso limitato common#:#access_expired#:#scadute common#:#access_free_granted#:#Imposta l’utente/gli utenti selezionato/i per l’accesso illimitato common#:#access_from#:#Accesso (da) @@ -3477,14 +3476,14 @@ common#:#access_unlimited#:#illimitato common#:#access_until#:#Accesso (fino a) common#:#access_users#:#Utenti registrati common#:#accesscount_registered_users#:#Lettura per numero di utenti distinti di ILIAS -common#:#accessibility_control_concept#:#Accessibility Control Concept###07 02 2020 new variable -common#:#account#:#My Account###07 02 2020 new variable -common#:#account_expires_body#:#La tua iscrizione & +common#:#accessibility_control_concept#:#Info Accessibilità +common#:#account#:#Il mio account +common#:#account_expires_body#:#Il tuo account è limitato, scadrà a: common#:#account_expires_subject#:#[ILIAS] La tua iscrizione scade common#:#action#:#Azione common#:#action_aborted#:#Esecuzione interrotta! common#:#actions#:#Azioni -common#:#actions_for#:#Actions for %s###29 07 2022 new variable +common#:#actions_for#:#Actions for %s###09 03 2022 new variable common#:#activate#:#Imposta Attivo common#:#activate_https#:#HTTPS attivato (Pagamento, Login) common#:#activate_tracking#:#Attivazione @@ -3494,12 +3493,12 @@ common#:#add#:#Aggiungi common#:#add_condition#:#Crea una condizione common#:#add_entry#:#Aggiungi/Modifica voce common#:#add_member#:#Aggiungi membro -common#:#add_member_role#:#Add Member Role###07 02 2020 new variable +common#:#add_member_role#:#Aggiungere Ruolo Utente
common#:#add_new_user_defined_field#:#Crea un nuovo campo per l'utente common#:#add_note#:#Aggiungi nota common#:#add_parameter#:#Nuovo parametro -common#:#add_remove_edit_entries_of_main_menu#:#Add, remove or edit entries of the main menu###07 02 2020 new variable -common#:#add_role#:#Add Role###07 02 2020 new variable +common#:#add_remove_edit_entries_of_main_menu#:#Aggiungi, rimuovi o modifica le voci del menu principale +common#:#add_role#:#Add Role common#:#add_translation#:#Aggiungi traduzione common#:#add_user#:#Aggiungi utenti locali common#:#add_user_defined_field#:#Crea un nuovo campo @@ -3508,7 +3507,7 @@ common#:#additional_info#:#Informazione aggiuntiva common#:#address#:#Indirizzo common#:#admin_force_noti#:#Notifica attiva common#:#administrate_users#:#Utenti locali -common#:#administrate_users_headline#:#Local ILIAS Accounts of this Category###26 08 2024 new variable +common#:#administrate_users_headline#:#Local ILIAS Accounts of this Category###31 03 2023 new variable common#:#administration#:#Amministrazione common#:#administrator#:#Amministratore common#:#adopt#:#Adotta @@ -3516,15 +3515,15 @@ common#:#advanced_editing_allow_html_tags#:#Consenti i tag HTML selezionati per common#:#advanced_editing_assessment_settings#:#Tag HTML consentiti per il tool di Test e Valutazione di ILIAS common#:#advanced_editing_frm_post_settings#:#Forum impostazioni dei post common#:#advanced_editing_rep_page_editing#:#Abilita il Content Editing nel Repository -common#:#advanced_editing_rep_page_editing_desc#:#This feature allows to add text/media to category, course, group and folder pages. +common#:#advanced_editing_rep_page_editing_desc#:#Questa funzione consente di aggiungere testo / media alle pagine di categorie, corsi, gruppi e cartelle. common#:#advanced_editing_required_tags#:#Sono richiesti i seguenti tag HTML: %s common#:#advanced_editing_survey_settings#:#Tag HTML consentiti per lo strumento per i sondaggi di ILIAS -common#:#adve_assessment_settings#:#Test&Assessment settings +common#:#adve_assessment_settings#:#Impostazioni di test e valutazione common#:#adve_frm_post_settings#:#Post sul forum common#:#adve_general_settings#:#Impostazioni Generali common#:#adve_survey_settings#:#Impostazioni di sondaggio -common#:#agree_date#:#Accettato il -common#:#all#:#All###07 02 2020 new variable +common#:#agree_date#:#Agreed on###27 08 2024 new variable +common#:#all#:#Tutto common#:#all_global_roles#:#Ruoli globali common#:#all_local_roles#:#Ruoli locali (tutti) common#:#all_objects#:#Tutti gli oggetti @@ -3535,16 +3534,16 @@ common#:#allow_assign_users#:#Consenti di assegnare gli utenti agli amministrato common#:#allow_override_alert#:#Regole per l’accesso .ht non vengono interpretate correttamente. common#:#allow_register#:#Disponibile nel form di registrazione per i nuovi utenti common#:#allow_user_toggle_noti#:#Il membro è autorizzato per disattivare la notifica -common#:#already_delivered_files#:#File gi& +common#:#already_delivered_files#:#File inviati common#:#and#:#E -common#:#angry#:#Angry +common#:#angry#:#Arrabbiato common#:#anonymous#:#Anonimo common#:#answers#:#Risposta common#:#any_language#:#Tutte le lingue common#:#apache_auth#:#Autenticazione apache common#:#application_completed#:#Richiesta completata common#:#application_date#:#Data della richiesta -common#:#applications#:#Applicationi +common#:#applications#:#Applicazioni common#:#apply#:#Conferma common#:#apply_filter#:#Applica il filtro common#:#appointment#:#Appuntamento @@ -3562,7 +3561,7 @@ common#:#assign_local_role#:#Assegna al ruolo locale common#:#assigned_members#:#Membri Assegnati common#:#assigned_roles#:#Ruoli assegnati common#:#associated_user#:#utente associato -common#:#astounded#:#Astounded +common#:#astounded#:#Sbalordito common#:#at_least_one_style#:#Almeno uno stile deve essere attivo. common#:#attachment#:#Allegato common#:#attachments#:#Allegati @@ -3579,26 +3578,26 @@ common#:#auth_ldap_enable#:#Abilita il supporto LDAP common#:#auth_ldap_migration#:#Migrazione account common#:#auth_ldap_migration_info#:#Attivare questa opzione per dare la possibilità ai nuovi utenti di migrare i loro account esistenti ILIAS nell’autenticazione LDAP. common#:#auth_local#:#Database ILIAS -common#:#auth_login_instructions#:#Instructions on Login Screen -common#:#auth_mode#:#Modalit& +common#:#auth_login_instructions#:#Istruzioni sulla schermata di accesso +common#:#auth_mode#:#Modalità di autenticazione common#:#auth_mode_not_changed#:#(Nessuna modifica) common#:#auth_mode_roles_changed#:#E' stata modificata la modalita' di autenticazione per questo Ruolo -common#:#auth_new_account_mail_desc#:#Send new account mail to user, if user is generated automatically. A password will only be generated, if "Allow Local Authentication" is also activated. +common#:#auth_new_account_mail_desc#:#Invia la nuova posta dell'account all'utente, se l'utente viene generato automaticamente. Una password verrà generata solo se è attivato anche "Consenti autenticazione locale". common#:#auth_per_default#:#Per impostazione predefinita -common#:#auth_remark_non_local_auth#:#Quando selezioni un& -common#:#auth_role_auth_mode#:#Modalit& +common#:#auth_remark_non_local_auth#:#Quando si seleziona un'altra modalità di autenticazione rispetto al database ILIAS, non è più possibile modificare il nome e la password di accesso dell'utente. +common#:#auth_role_auth_mode#:#Modalità di autenticazione common#:#auth_saml#:#SAML -common#:#auth_script#:#Personale -common#:#auth_select#:#Seleziona la modalit& -common#:#auth_selection#:#Login to +common#:#auth_script#:#Definito dall'utente +common#:#auth_select#:#Seleziona la modalità di autenticazione +common#:#auth_selection#:#Tipo autenticazione common#:#auth_settings#:#Impostazioni di autenticazione common#:#auth_shib#:#Shibboleth common#:#auth_shib_instructions#:#Assicurati di aver ben letto e compreso le istruzioni README su come configurare il supporto Shibboleth per ILIAS. -common#:#auth_shib_not_configured#:#Shibboleth non & +common#:#auth_shib_not_configured#:#Shibboleth non è ancora configurato common#:#auth_shibboleth#:#Shibboleth common#:#auth_soap#:#SOAP common#:#auth_soap_allow_local_desc#:#Ciò consente agli utenti SOAP di autenticarsi con il nome utente ILIAS e password locali. -common#:#auth_soap_auth#:#Configura SOAP Authentication +common#:#auth_soap_auth#:#Configura autenticazione SOAP common#:#auth_soap_auth_desc#:#Queste impostazioni riguardano solo l'autenticazione utente basata su SOAP, non con l'interfaccia SOAP di ILIAS. common#:#auth_soap_create_users_desc#:#Crea automaticamente un utente ILIAS per utenti che si sono autenticati con SOAP senza avere ancora un account ILIAS. common#:#auth_soap_namespace#:#Spazio dei nomi @@ -3611,16 +3610,16 @@ common#:#auth_soap_use_dotnet#:#Utilizza stile NOET SOAP common#:#auth_soap_use_https#:#Utilizza HTTPS common#:#auth_soap_user_default_role_desc#:#Questo ruolo viene assegnato agli utenti SOAP creati automaticamente. common#:#auth_user_default_role#:#Ruolo di default -common#:#authenticate_ilias#:#Login to ILIAS +common#:#authenticate_ilias#:#Login ILIAS common#:#authentication_settings#:#Autenticazione common#:#author#:#Autore common#:#authoring_mode#:#Modalità di authoring common#:#authors#:#Autori common#:#autocomplete_more#:#altro common#:#available#:#Presente -common#:#awra#:#Who is online?###07 02 2020 new variable +common#:#awra#:#Chi é online? common#:#back#:#Indietro -common#:#back_to_course#:#Back to Course###29 07 2022 new variable +common#:#back_to_course#:#Back to Course common#:#back_to_crs_content#:#Indietro al Contenuto del Corso common#:#back_to_fold_content#:#Indietro al Contenuto della Cartella common#:#back_to_grp_content#:#Indietro al Contenuto del Gruppo @@ -3630,7 +3629,7 @@ common#:#basic_settings#:#Impostazioni base common#:#before#:#prima common#:#behind#:#Dietro common#:#bib_data#:#Dati bibliografici -common#:#bibl_add#:#Add Bibliography###29 07 2022 new variable +common#:#bibl_add#:#Add Bibliography###31 03 2023 new variable common#:#birthday#:#Data di nascita common#:#bkm_import#:#Importa segnalibri common#:#bkm_import_ok#:#Importati con successo %d segnalibri e %d cartelle di segnalibri. @@ -3640,7 +3639,7 @@ common#:#bm#:#Segnalibro common#:#bm_add_to_ilias#:#Aggiungi ai segnalibri ILIAS common#:#bmf#:#Cartella dei segnalibri common#:#bold#:#Grassetto -common#:#bold_action#:#Insert Bold - Click to insert bold text.###26 08 2024 new variable +common#:#bold_action#:#Insert Bold - Click to insert bold text.###30 04 2024 new variable common#:#bookings#:#Prenotazioni common#:#bookmark_added#:#Il segnalibro è stato creato. common#:#bookmark_folder_new#:#Nuova cartella di segnalibri @@ -3649,8 +3648,8 @@ common#:#bookmark_target#:#Indirizzo common#:#bookmarks#:#Segnalibri common#:#bookmarks_of#:#Segnalibri di common#:#breadcrumb_navigation#:#Navigazione breadcrumb -common#:#breadcrumbs_aria_label#:#Breadcrumbs###29 07 2022 new variable -common#:#briefcase#:#Background Tasks###29 07 2022 new variable +common#:#breadcrumbs_aria_label#:#Breadcrumbs +common#:#briefcase#:#Processi in Background common#:#btn_add#:#Aggiungi common#:#btn_back#:#Indietro common#:#btn_next#:#Continua @@ -3660,7 +3659,7 @@ common#:#btn_undelete#:#Ripristina gli oggetti common#:#buddy_allow_to_contact_me_no#:#Non riceve richieste di contatto common#:#buddy_allow_to_contact_me_yes#:#Riceve richieste di contatto common#:#building_export_file#:#Creazione di file di esportazione... -common#:#bulletlist_action#:#Insert Bulletpoint-List - Click to insert a bulletpoint-list.###26 08 2024 new variable +common#:#bulletlist_action#:#Insert Bulletpoint-List - Click to insert a bulletpoint-list.###30 04 2024 new variable common#:#by#:#con common#:#bytes#:#Byte common#:#cal_from#:#Da: @@ -3669,37 +3668,37 @@ common#:#calendar#:#Agenda common#:#cancel#:#Annulla common#:#cancel_file_upload#:#Vuoi davvero eliminare tutti i caricamenti in sospeso? common#:#cannot_find_xml#:#Non ho trovato nessun file XML. -common#:#cannot_uninstall_language_in_use#:#Non è possibile rimuovere la lingua che & -common#:#cannot_uninstall_systemlanguage#:#Non & +common#:#cannot_uninstall_language_in_use#:#Non è possibile disinstallare la lingua attualmente in uso! +common#:#cannot_uninstall_systemlanguage#:#Non è possibile disinstallare la lingua del sistema! common#:#cannot_unzip_file#:#Non posso decomprimere il file. -common#:#cant_deactivate_if_users_assigned#:#Non pu& +common#:#cant_deactivate_if_users_assigned#:#Non puoi disattivare uno stile se ci sono ancora utenti assegnati ad esso. common#:#cat#:#Contesto common#:#cat_add#:#Aggiungi contesto common#:#cat_added#:#Contesto aggiunto common#:#cat_copy_threads_info#:#Si prega di decidere quali voci di categoria devono essere copiate, collegate o persino omesse. -common#:#cat_edit#:#Propriet& +common#:#cat_edit#:#Impostazioni categoria common#:#cat_new#:#Nuovo contesto common#:#cat_wizard_page#:#Copia Categoria (Passo 2/2) common#:#categories#:#Contesti common#:#categories_imported#:#Importazione contesti completata. common#:#catr#:#Categoria Reference -common#:#catr_add#:#Add Category Link###29 07 2022 new variable -common#:#catr_edit_info#:#Please choose one category, for creating a new reference. +common#:#catr_add#:#Add Category Link###31 03 2023 new variable +common#:#catr_edit_info#:#Scegli una categoria per creare un nuovo riferimento. common#:#catr_new#:#Creare Nuovo Riferimento di Categoria -common#:#catr_settings#:#Category Link Settings###29 07 2022 new variable +common#:#catr_settings#:#Category Link Settings###31 03 2023 new variable common#:#certificate#:#Certificato -common#:#certificate_file_already_exists_error#:#The certificate file already exists in the file system.###07 02 2020 new variable -common#:#certificate_file_input_output_error#:#The certificate file was found but couldn't be deleted because of internal errors. Please contact your administrator.###07 02 2020 new variable -common#:#certificate_file_not_found_error#:#The certificate file doesn't exist in the file system anymore. Die Zertikatsdatei wurde im Dateisystem nicht mehr gefunden.###07 02 2020 new variable -common#:#certificate_persistent_option#:#Certificates of Achievements###07 02 2020 new variable -common#:#certificate_selection#:#Origin of Certificates###07 02 2020 new variable -common#:#certificate_workspace_option#:#Certificates of Personal Resources###07 02 2020 new variable -common#:#certificates#:#Certificates###29 07 2022 new variable +common#:#certificate_file_already_exists_error#:#Il file del certificato esiste già nel file system. +common#:#certificate_file_input_output_error#:#Il file del certificato è stato trovato ma non è stato possibile eliminarlo a causa di errori interni. Si prega di contattare l'amministratore. +common#:#certificate_file_not_found_error#:#Il file del certificato non esiste più nel file system. Il file del certificato non è stato più trovato nel file system. +common#:#certificate_persistent_option#:#Certificati persistenti +common#:#certificate_selection#:#Origine dei certificati +common#:#certificate_workspace_option#:#Certificati dell'area di lavoro +common#:#certificates#:#Certificates###29 06 2022 new variable common#:#change#:#Modifica -common#:#change_assignment#:#Modifica l& -common#:#change_header_title#:#Modifica l& +common#:#change_assignment#:#Cambia incarico +common#:#change_header_title#:#Modifica titolo intestazione common#:#change_owner#:#Modifica il propritario -common#:#change_sort_direction#:#Modifica la direzione dell& +common#:#change_sort_direction#:#Cambia direzione di ordinamento common#:#changeable#:#Modificabile common#:#changed_to#:#modificata in common#:#changing_loginname_not_possible_info#:#Hai modificato il tuo nome di accesso almeno alle %s. La prossima modifica può essere effettuata alle %s. @@ -3715,7 +3714,7 @@ common#:#check_languages#:#Verifica le lingue common#:#check_link#:#Verifica i collegamenti common#:#check_link_desc#:#Se abilitato, tutti i link esterni presenti in ILIAS verranno verificati se sempre attivi. common#:#check_user_accounts#:#Verifica gli utenti -common#:#check_user_accounts_desc#:#Se i job nel cron sono attivi e questa opzione & +common#:#check_user_accounts_desc#:#Se abilitato, tutti gli utenti il cui account scade verranno informati via e-mail due settimane prima. Inoltre, tutti gli utenti che non hanno confermato il proprio account dopo una registrazione con conferma via e-mail verranno eliminati. common#:#check_web_resources#:#Controlla le risorse web common#:#check_web_resources_desc#:#Se selezionato verranno controllate tutte le risorse web attive. common#:#checked#:#Verificato @@ -3725,15 +3724,15 @@ common#:#chg_ilias_password#:#Modifica Password ILIAS common#:#chg_password#:#Cambia password common#:#choose_language#:#Scegli la lingua common#:#choose_only_one_language#:#Per favore, scegli una sola lingua. -common#:#chown_warning#:#Attenzione, potresti perdere i permessi di accesso sull& +common#:#chown_warning#:#Attenzione, potresti perdere le autorizzazioni di accesso a questo oggetto dopo aver cambiato il proprietario. common#:#chta_edit_permission#:#Impostazioni di modifica autorizzazione -common#:#chta_read#:#Read access to Chatroom Administration -common#:#chta_visible#:#Chatroom Administration is visible -common#:#chta_write#:#Edit Chatroom Administration -common#:#chtr_copy#:#Copy Chatroom +common#:#chta_read#:#Accesso in lettura a Chatroom Administration +common#:#chta_visible#:#L'amministrazione della chatroom è visibile +common#:#chta_write#:#Modifica amministrazione chatroom +common#:#chtr_copy#:#Copia chatroom common#:#chtr_import#:#Importa chat room -common#:#city#:#Citta' -common#:#cleaned_file#:#Il file & +common#:#city#:#Città +common#:#cleaned_file#:#Il file è stato pulito. common#:#cleaning_failed#:#Svuotamento del file fallito. common#:#clear#:#Annulla common#:#clear_clipboard#:#Cartella appunti vuota @@ -3749,17 +3748,17 @@ common#:#clientlist_public_access#:#Accesso pubblico common#:#clientlist_start_page#:#Inizio pagina common#:#clipboard#:#Cartella appunti common#:#close#:#Chiudi -common#:#cmix#:#Object xAPI/cmi5###26 08 2024 new variable +common#:#cmix#:#Object xAPI/cmi5###31 03 2023 new variable common#:#cnt_new#:#(%s Nuovo) common#:#collapse#:#Collasso common#:#collapse_all#:#Comprimi tutto -common#:#collapse_content#:#Collapse Content###29 07 2022 new variable +common#:#collapse_content#:#Collapse Content common#:#collapsed#:#Compresso -common#:#column_selection#:#Column Selection###28 10 2024 new variable +common#:#column_selection#:#Column Selection###28 11 2025 new variable common#:#columns#:#Colonne common#:#comma_separated#:#Separati da virgola common#:#comment#:#Commento -common#:#comments#:#Comments###29 07 2022 new variable +common#:#comments#:#Comments common#:#compose#:#Scrivi common#:#concurrent_uploads#:#Numero dei caricamenti attuali common#:#concurrent_uploads_info#:#Definisce il numero di file che possono essere caricati contemporaneamente per ogni processo di caricamento. @@ -3768,25 +3767,25 @@ common#:#cond_ref_shared#:#Condizioni preliminari condivise per tutti i collegam common#:#cond_ref_unique#:#Condizioni preliminari uniche per i collegamenti common#:#condition#:#Condizione common#:#condition_accredited_or_passed#:#Accreditato o superato -common#:#condition_already_assigned#:#L& -common#:#condition_circle_created#:#Questa associazione non & +common#:#condition_already_assigned#:#Oggetto già assegnato. +common#:#condition_circle_created#:#Questa associazione non è possibile, poiché gli oggetti sarebbero interdipendenti. common#:#condition_deleted#:#Condizione eliminata. common#:#condition_finished#:#Terminato common#:#condition_not_finished#:#Non terminato common#:#condition_passed#:#Superato common#:#condition_select_object#:#Per favore, scegli almeno un oggetto. common#:#conditions_updated#:#Condizioni salvate -common#:#configuration#:#Configuration###29 10 2025 new variable +common#:#configuration#:#Configuration###28 11 2025 new variable common#:#confirm#:#Conferma common#:#confirm_delete_parameter#:#Vuoi veramente CANCELLARE il parametro? common#:#confirmation#:#Conferma common#:#conflict_handling#:#Gestione conflitto -common#:#cont_iim_content_popups_info#:#Content popups appear, when the user clicks on interactive parts of the base image. On this screen you only define the popups. Their content can be edited on the main page editing screen. -common#:#cont_iim_create_info#:#Please upload the main underlying picuture for the interactive image. -common#:#cont_iim_overlay_info#:#Overlay images are used to alter (e.g. highlight) parts of the base image when the mouse hovers over them. After uploading the images, you can select them in the "Triggers" tab. +common#:#cont_iim_content_popups_info#:#Vengono visualizzati popup di contenuto quando l'utente fa clic su parti interattive dell'immagine di base. In questa schermata vengono definiti solo i popup. Il loro contenuto può essere modificato nella schermata di modifica della pagina principale. +common#:#cont_iim_create_info#:#Carica l'immagine principale sottostante per l'immagine interattiva. +common#:#cont_iim_overlay_info#:#Le immagini sovrapposte vengono utilizzate per modificare (ad esempio evidenziare) parti dell'immagine di base quando il mouse passa sopra di esse. Dopo aver caricato le immagini, puoi selezionarle nella scheda "Trigger". common#:#contact#:#Contatto common#:#contact_data#:#Dati personali -common#:#contact_sysadmin#:#Contact System Administration +common#:#contact_sysadmin#:#Contatta l'amministrazione del sistema common#:#container#:#Contenitore common#:#container_no_items#:#Nessun materiale disponibile common#:#content#:#Contenuto @@ -3796,7 +3795,7 @@ common#:#context#:#Contesto common#:#continue#:#continua common#:#continue_work#:#Continua common#:#contra#:#Contro -common#:#copa#:#Content Page###26 08 2024 new variable +common#:#copa#:#Content Page###30 04 2024 new variable common#:#copy#:#Copia common#:#copyChapter#:#Copia common#:#copyPage#:#Copia @@ -3804,13 +3803,13 @@ common#:#copy_all#:#Copia tutto common#:#copy_n_of_suffix#:#- Copia (%1$s) common#:#copy_of#:#Copia di common#:#copy_of_suffix#:#- Copia -common#:#copy_perma_link#:#Copy link to clipboard###29 10 2025 new variable +common#:#copy_perma_link#:#Copy link to clipboard###10 12 2024 new variable common#:#copy_selected_items#:#Copia common#:#count#:#Conta -common#:#counter_novelty#:#News###26 08 2024 new variable -common#:#counter_status#:#Status###26 08 2024 new variable +common#:#counter_novelty#:#News###30 04 2024 new variable +common#:#counter_status#:#Status###30 04 2024 new variable common#:#country#:#Nazione -common#:#country_free_text#:#Country (Free Text Input +common#:#country_free_text#:#Paese (inserimento di testo libero) common#:#country_selection#:#Paese (Selezione a discesa) common#:#course#:#Corso common#:#courses#:#Corsi @@ -3820,25 +3819,25 @@ common#:#create_export_file#:#Crea file di export common#:#create_stylesheet#:#Crea foglio di stile common#:#created#:#Data di creazione common#:#cron_forum_notification#:#Invia notifiche al forum -common#:#cron_forum_notification_crob_desc#:#If enabled, all users who have enabled forum notifications will get a daily mail about all new posts but no immediate notification for each submitted posting. -common#:#cron_forum_notification_disabled#:#Can't be disabled when the Cron Job is active.###26 08 2024 new variable +common#:#cron_forum_notification_crob_desc#:#Se abilitato, tutti gli utenti che hanno abilitato le notifiche del forum riceveranno una mail giornaliera su tutti i nuovi post ma nessuna notifica immediata per ogni post inviato. +common#:#cron_forum_notification_disabled#:#Can't be disabled when the Cron Job is active.###30 04 2024 new variable common#:#cron_jobs#:#Cron job common#:#cron_lucene_index#:#Aggiorna l'indice di ricerca di Lucene -common#:#cron_lucene_index_info#:#Se selezionato, l& -common#:#cron_mail_notification#:#Send Mail Notifications +common#:#cron_lucene_index_info#:#Se abilitato, l'indice di ricerca lucene verrà aggiornato. Configura il server lucene in "Amministrazione -> Cerca". +common#:#cron_mail_notification#:#Invia notifica email common#:#cron_mail_notification_cron#:#regolarmente per cron job common#:#cron_mail_notification_desc#:#Se abilitati, tutti gli altri che vogliono essere informati riguardo a nuove email otterranno notifiche via email esterna. common#:#cron_mail_notification_message#:#Invia notifiche mail con messaggi di posta common#:#cron_mail_notification_message_info#:#Se abilitato, tutti gli utenti ricevono notifiche con messaggio di posta elettronica completo tramite posta esterna. common#:#cron_mail_notification_never#:#mai -common#:#cron_users_without_login_del_create_date_thr#:#Thresholt###07 02 2020 new variable -common#:#cron_users_without_login_del_create_date_thr_info#:#All user accounts created before the defined threshold will be taken into consideration.###07 02 2020 new variable -common#:#cron_users_without_login_del_role_whitelist#:#Included Roles###07 02 2020 new variable -common#:#cron_users_without_login_del_role_whitelist_info#:#The deletion will only processed for users assigned to at least one of the selected roles###07 02 2020 new variable +common#:#cron_users_without_login_del_create_date_thr#:#Soglia +common#:#cron_users_without_login_del_create_date_thr_info#:#Tutti gli account utente la cui creazione è durata più a lungo del valore di soglia qui definito, vengono considerati per l'eliminazione. +common#:#cron_users_without_login_del_role_whitelist#:#Ruoli considerati +common#:#cron_users_without_login_del_role_whitelist_info#:#Verranno eliminati solo gli utenti con uno dei ruoli globali selezionati. Se un utente ha uno dei ruoli non selezionati, l'account utente permane. common#:#cronjob_last_start#:#Ultimo avvio del cron job common#:#cronjob_last_start_unknown#:#Indeterminato common#:#crs#:#Corso -common#:#crs_activation_start_invalid#:#The start and the end time is not valid. +common#:#crs_activation_start_invalid#:#L'inizio e l'ora di fine non sono validi. common#:#crs_add#:#Aggiungi corso common#:#crs_added#:#Corso aggiunto common#:#crs_archives#:#Corsi archiviati @@ -3861,39 +3860,39 @@ common#:#crs_status_blocked#:#[Accesso negato] common#:#crs_status_pending#:#[In attesa della registrazione] common#:#crs_subscribers_assigned#:#Nuovo utente iscritto common#:#crs_title#:#Titolo del Corso -common#:#crs_unsubscribe#:#Unsubscribe +common#:#crs_unsubscribe#:#Annulla l'iscrizione common#:#crs_wizard_page#:#Copia Corso (Passo 2/2) common#:#crsr#:#Riferimento al Corso -common#:#crsr_add#:#Add Course Link###29 07 2022 new variable -common#:#crsr_edit_info#:#Please choose one course, for creating a new reference. +common#:#crsr_add#:#Add Course Link###31 03 2023 new variable +common#:#crsr_edit_info#:#Scegli un corso per creare un nuovo riferimento. common#:#crsr_new#:#Creare Riferimento di Corso -common#:#crsr_settings#:#Course Link Settings###26 08 2024 new variable +common#:#crsr_settings#:#Course Link Settings###31 03 2023 new variable common#:#csv_export#:#Esportazione CSV common#:#current_ip#:#IP attuale: -common#:#current_ip_alert#:#Nota: se viene specificato un indirizzo ip errato, non sarai pi& +common#:#current_ip_alert#:#Avviso: se si inserisce un IP errato, non sarà più possibile accedere al sistema con questo profilo. common#:#current_password#:#Password attuale -common#:#current_user_avatar#:#Your User Avatar###29 07 2022 new variable +common#:#current_user_avatar#:#Il tuo Avatar common#:#currently_used_disk_space#:#Spazio sul disco attualmente utilizzato -common#:#customize_page#:#Customize Page###28 10 2024 new variable +common#:#customize_page#:#Customize Page###28 11 2025 new variable common#:#cut#:#Taglia common#:#cutPage#:#Taglia common#:#daily#:#giornaliero common#:#database#:#Database common#:#database_version#:#Versione attuale del database -common#:#dataset#:#Dataset +common#:#dataset#:#Iscrizione common#:#date#:#Data -common#:#date_time#:#Date and Time###29 10 2025 new variable +common#:#date_time#:#Date and Time###28 11 2025 new variable common#:#dateplaner#:#Agenda common#:#day#:#Giorno common#:#days#:#Giorni common#:#db_host#:#Macchina con il database common#:#db_name#:#Nome del database -common#:#db_need_update#:#Occorre aggiornare il database! +common#:#db_need_update#:#Database needs an update!###30 04 2024 new variable common#:#db_pass#:#Password del database common#:#db_type#:#Tipo del database common#:#db_user#:#Utente del database common#:#db_version#:#Versione database -common#:#dd_mm_yyyy#:#DD.MM.YYYY +common#:#dd_mm_yyyy#:#GG.MM.AAAA common#:#deactivate#:#Imposta inattivo common#:#decrease_attempts#:#Tentativi - 1 common#:#def_repository_view#:#Vista risorse predefinite @@ -3911,65 +3910,65 @@ common#:#defaults#:#Default common#:#delete#:#Elimina common#:#delete_existing_file#:#Cancella un file Esistente common#:#delete_inactivated_user_accounts#:#Elimina account utente disattivi -common#:#delete_inactivated_user_accounts_desc#:#If enabled, user accounts will be deleted depending on the date of inactivation. +common#:#delete_inactivated_user_accounts_desc#:#Se abilitato, gli account utente verranno eliminati in base alla data di inattivazione. common#:#delete_inactivated_user_accounts_include_roles#:#Ruoli inclusi common#:#delete_inactivated_user_accounts_include_roles_desc#:#Definisce i ruoli che parteciperanno all’eliminazione. -common#:#delete_inactivated_user_accounts_period#:#Days past since the inactivation -common#:#delete_inactivated_user_accounts_period_desc#:#Deletion will be executed if this period of time has past since the inactivation. -common#:#delete_inactive_user_accounts#:#Delete user accounts +common#:#delete_inactivated_user_accounts_period#:#Giorni trascorsi dall'inattivazione +common#:#delete_inactivated_user_accounts_period_desc#:#La cancellazione verrà eseguita se questo periodo di tempo è trascorso dall'inattivazione. +common#:#delete_inactive_user_accounts#:#Elimina account utente common#:#delete_inactive_user_accounts_desc#:#Se abilitato, gli account utente verranno eliminati a seconda della data dell'ultimo accesso. common#:#delete_inactive_user_accounts_include_roles#:#Ruoli inclusi -common#:#delete_inactive_user_accounts_include_roles_desc#:#Definisce i ruoli che parteciperanno all’eliminazione. -common#:#delete_inactive_user_accounts_period#:#Days past since the last login -common#:#delete_inactive_user_accounts_period_desc#:#Deletion will be executed if this period of time has past since the last login. -common#:#delete_parameter#:#Cancella Parameter +common#:#delete_inactive_user_accounts_include_roles_desc#:#Only ILIAS accounts assigned to one of the selected roles will be deleted.###30 04 2024 new variable +common#:#delete_inactive_user_accounts_period#:#Giorni trascorsi dall'ultimo accesso +common#:#delete_inactive_user_accounts_period_desc#:#La cancellazione verrà eseguita se questo periodo di tempo è trascorso dall'ultimo accesso. +common#:#delete_parameter#:#Cancella Parametro common#:#delete_selected_items#:#Elimina oggetti selezionati common#:#deleted#:#Eliminato -common#:#deleted_user#:#L& +common#:#deleted_user#:#L'utente è stato cancellato common#:#deleted_users#:#Utenti cancellati -common#:#deletion_notification#:#"%s" has canceled the attendance of session "%s".###07 02 2020 new variable -common#:#deliver#:#Invia l& -common#:#deny_usr_agreement#:#Do Not Accept Terms of Service?###29 07 2022 new variable -common#:#deny_usr_agreement_btn#:#Do Not Accept###29 07 2022 new variable +common#:#deletion_notification#:#"%s" has canceled the attendance of session "%s". +common#:#deliver#:#Spedire +common#:#deny_usr_agreement#:#Do not accept terms of service? +common#:#deny_usr_agreement_btn#:#Non Accettare common#:#department#:#Dipartimento common#:#desc#:#Descrizione common#:#description#:#Descrizione common#:#desired_password#:#Nuova password common#:#details#:#Dettagli -common#:#didactic_template#:#Didactic Template###29 07 2022 new variable +common#:#didactic_template#:#Didactic Template###31 03 2023 new variable common#:#disable#:#disabilita common#:#disable_check#:#Disabilita controllo common#:#disable_ext_lang_maint#:#Disabilita Manutenzione Estesa common#:#disable_hide_user_toggle#:#Il membro è autorizzato per disattivare common#:#disabled#:#Disabilitato -common#:#disclose#:#Disclose###29 07 2022 new variable -common#:#dislike#:#Dislike +common#:#disclose#:#Disclose +common#:#dislike#:#Non mi piace common#:#domain#:#Dominio -common#:#down#:#Gi& +common#:#down#:#Giù common#:#download#:#Scarica common#:#download_all_returned_files#:#Download di tutti i file restituiti common#:#download_link#:#Scarica collegamento common#:#download_multiple_objects#:#Scarica più oggetti common#:#download_selected_items#:#Scarica common#:#downloading_settings#:#Impostazioni per il download -common#:#dpro_accept_usr_agreement#:#Accept Declaration of Data Protection?###26 08 2024 new variable -common#:#dpro_accept_usr_agreement_intro#:#There is a new Declaration of Data Protection. You need to accept it before proceeding with the use of ILIAS. Read the following document carefully and give your consent or dissent at the bottom of the page.###26 08 2024 new variable -common#:#dpro_agreed_on#:#DoDP agreed to on###29 10 2025 new variable -common#:#dpro_force_accept_usr_agreement#:#You must accept the Declaration of Data Protection!###26 08 2024 new variable -common#:#dpro_no_agreement_description#:#There is currently no Declaration of Data Protection document available for this installation. Please contact the system administrator.###26 08 2024 new variable -common#:#dpro_refuse_acceptance#:#Refuse to Accept the Declaration of Data Protection###26 08 2024 new variable -common#:#dpro_usr_agreement#:#Declaration of Data Protection###26 08 2024 new variable -common#:#dpro_usr_agreement_footer_intro#:#You have declared your consent to this Declaration of Data Protection.###26 08 2024 new variable -common#:#dpro_withdraw_consent_description#:#Withdraw your consent to our Declaration of Data Protection here.###26 08 2024 new variable -common#:#dpro_withdraw_consent_description_external#:#Please return to your ILIAS installation and log in again to complete the process of withdrawing your consent to the Declaration of Data Protection.###26 08 2024 new variable -common#:#dpro_withdraw_consent_description_internal#:#Please log in again to complete the process of withdrawing your consent to the Declaration of Data Protection.###26 08 2024 new variable -common#:#dpro_withdraw_consent_header#:#Withdraw to Consent of Declaration of Data Protection###26 08 2024 new variable -common#:#dpro_withdraw_consent_info#:#Withdraw your consent to our Declaration of Data Protection.###26 08 2024 new variable -common#:#dpro_withdraw_consent_info_external#:#Please contact the administrator of your authentication system and inform them of your intention to withdraw your consent to the Declaration of Data Protection.###26 08 2024 new variable +common#:#dpro_accept_usr_agreement#:#Accept Declaration of Data Protection?###30 04 2024 new variable +common#:#dpro_accept_usr_agreement_intro#:#There is a new Declaration of Data Protection. You need to accept it before proceeding with the use of ILIAS. Read the following document carefully and give your consent or dissent at the bottom of the page.###30 04 2024 new variable +common#:#dpro_agreed_on#:#DoDP agreed to on###01 04 2025 new variable +common#:#dpro_force_accept_usr_agreement#:#You must accept the Declaration of Data Protection!###30 04 2024 new variable +common#:#dpro_no_agreement_description#:#There is currently no Declaration of Data Protection document available for this installation. Please contact the system administrator.###30 04 2024 new variable +common#:#dpro_refuse_acceptance#:#Refuse to Accept the Declaration of Data Protection###30 04 2024 new variable +common#:#dpro_usr_agreement#:#Declaration of Data Protection###30 04 2024 new variable +common#:#dpro_usr_agreement_footer_intro#:#You have declared your consent to this Declaration of Data Protection.###30 04 2024 new variable +common#:#dpro_withdraw_consent_description#:#Withdraw your consent to our Declaration of Data Protection here.###30 04 2024 new variable +common#:#dpro_withdraw_consent_description_external#:#Please return to your ILIAS installation and log in again to complete the process of withdrawing your consent to the Declaration of Data Protection.###30 04 2024 new variable +common#:#dpro_withdraw_consent_description_internal#:#Please log in again to complete the process of withdrawing your consent to the Declaration of Data Protection.###30 04 2024 new variable +common#:#dpro_withdraw_consent_header#:#Withdraw to Consent of Declaration of Data Protection###30 04 2024 new variable +common#:#dpro_withdraw_consent_info#:#Withdraw your consent to our Declaration of Data Protection.###30 04 2024 new variable +common#:#dpro_withdraw_consent_info_external#:#Please contact the administrator of your authentication system and inform them of your intention to withdraw your consent to the Declaration of Data Protection.###30 04 2024 new variable common#:#drafts#:#Bozze common#:#drag_file_here#:#Trascina e rilascia il tuo file qui common#:#drag_files_here#:#Trascina e rilascia i tuoi file qui -common#:#drag_handle#:#Draggable element###29 10 2025 new variable +common#:#drag_handle#:#Draggable element###28 11 2025 new variable common#:#drop_files_on_repo_obj_info#:#Sposta qui i file per caricali in quest’oggetto. common#:#edit#:#Modifica common#:#edit_assignments#:#Modifica assegnazioni @@ -3981,28 +3980,28 @@ common#:#edit_operations#:#Modifica le operazioni common#:#edit_page#:#Modifica Pagina common#:#edit_page_content#:#Modfiica il Contenuto della Pagina common#:#edit_page_meta#:#Modifica metadati pagina -common#:#edit_properties#:#Propriet& +common#:#edit_properties#:#Modifica proprietà common#:#edit_stylesheet#:#Modifica lo stile common#:#edited_on#:#Modificato su common#:#editor#:#Editor common#:#email#:#eMail -common#:#email_not_valid#:#L& +common#:#email_not_valid#:#L'indirizzo e-mail inserito non è valido! common#:#enable#:#Abilita common#:#enable_anonymous_fora#:#Consenti pubblicazione con pseudonimo -common#:#enable_anonymous_fora_desc#:#If this option is disabled, the feature "Posting with pseudonym" is not available in forums anymore. +common#:#enable_anonymous_fora_desc#:#Se questa opzione è disabilitata, la funzione "Pubblicazione con pseudonimo" non è più disponibile nei forum. common#:#enable_calendar#:#Abilita l'agenda -common#:#enable_comments_export#:#Enable Comments Export###29 07 2022 new variable +common#:#enable_comments_export#:#Enable Comments Export common#:#enable_course_group_notifications#:#Mail giornaliere per le novità sui gruppi e i corsi common#:#enable_course_group_notifications_desc#:#Se abilitato, i partecipanti possono sottoscrivere un riepilogo giornaliero delle novità. common#:#enable_custom_icons#:#Abilita icone personalizzate -common#:#enable_custom_icons_info#:#Questo consente di definire icone personalizzate per singole categorie, corsi e gruppi. Le sezioni con le propriet& +common#:#enable_custom_icons_info#:#Ciò consente di definire icone personalizzate per singole categorie, corsi e gruppi. La sezione delle proprietà di categorie, corsi e gruppi fornirà una finestra di caricamento delle immagini. common#:#enable_dnd_upload#:#Abilita il caricamento trascina e rilascia common#:#enable_dnd_upload_info#:#I file possono essere caricati con il trascinamento della sezione dal computer locale se abilitato. common#:#enable_download_folder#:#Abilita le cartelle per il download common#:#enable_download_folder_info#:#Consenti di scaricare una directory incluse le sottodirectory come zip file. -common#:#enable_export_scorm_desc#:#allow Export of User Data of SCORM-Learning Modules +common#:#enable_export_scorm_desc#:#consentire l'esportazione dei dati utente dei moduli di apprendimento SCORM common#:#enable_fora_statistics#:#Abilita le statistiche dei forum -common#:#enable_fora_statistics_desc#:#Se disabilitato, nessuno potr& +common#:#enable_fora_statistics_desc#:#Se disabilitato, nessuno è in grado di accedere alle statistiche del forum. common#:#enable_hide_user_toggle#:#Il membro non è autorizzato per disattivare common#:#enable_multi_download#:#Consenti “Scarica più oggetti” common#:#enable_multi_download_info#:#Consente di selezionare più cartelle/file per scaricarli come archivio zip. @@ -4012,66 +4011,66 @@ common#:#enable_preview_info#:#Consentire questa opzione per visualizzare le imm common#:#enable_repository_dnd_upload#:#Abilita nel repository common#:#enable_repository_dnd_upload_info#:#Consente di trascinare i file dal computer direttamente su un oggetto nel repository per avviare il caricamento dei file in questo oggetto. common#:#enable_sahs_protocol_data#:#Attivazione dei dati di protocollo -common#:#enable_sahs_protocol_data_desc#:#Show Protocol Data (SCORM/AICC) -common#:#enable_search_engine#:#Open Public Area for Internet Search Engines (e.g Google). +common#:#enable_sahs_protocol_data_desc#:#Mostra dati protocollo (SCORM / AICC) +common#:#enable_search_engine#:#Apri l'area pubblica per i motori di ricerca di Internet (ad esempio Google). common#:#enable_trash#:#Abilita il cestino common#:#enable_trash_info#:#Se abilitati, gli oggetti cancellati vengono spostati nel cestino e possono essere recuperati dopo. Quando si disattiva questa opzione gli Oggetti cancellati verranno rimossi definitivamente dal Sistema! common#:#enable_webdav#:#Abilita l'accesso WebDAV common#:#enable_webdav_info#:#Consenti ai client WebDAV di accedere al repository come webfolder. Gli utenti possono aprire i webfolders utilizzando l'azione "open as webfolder" nel repository, oppure inserende il seguente indirizzo nel client WebDAV: %1$s common#:#enabled#:#Abilitato -common#:#enlarge#:#Enlarge###28 10 2024 new variable +common#:#enlarge#:#Enlarge###28 11 2025 new variable common#:#enter_in_mb_desc#:#Inserisci un valore in MB. common#:#enter_new_name#:#Si prega di digitare un nome -common#:#entered_notification#:#"%s" has joined the session "%s".###07 02 2020 new variable -common#:#entry_status#:#Entry status###07 02 2020 new variable +common#:#entered_notification#:#"%s" è entrato nella sessione "%s". +common#:#entry_status#:#Status iscrizione common#:#err_1_param#:#Solo 1 parametro! common#:#err_2_param#:#Solo 2 parametri! -common#:#err_auth_apache_failed#:#The authentication has failed. Maybe you have no valid user certificate or your smartcard is not inserted. +common#:#err_auth_apache_failed#:#L'autenticazione non è riuscita. Forse non hai un certificato utente valido o la tua smart card non è inserita. common#:#err_auth_ldap_no_ilias_user#:#Accesso non riuscito. Autenticazione LDAP riuscita, ma non esiste alcun utente ILIAS corrispondente. Si prega di contattare il proprio amministratore di sistema. common#:#err_auth_mode_inactive#:#Il tuo metodo di autenticazione è disattivato. common#:#err_auth_soap_no_ilias_user#:#Accesso non riuscito. Autenticazione SOAP riuscita, ma non esiste alcun utente ILIAS corrispondente. Si prega di contattare il proprio amministratore di sistema. common#:#err_check_input#:#Le impostazioni non possono essere salvate. Controllare il proprio ingresso. common#:#err_count_param#:#Causa: errato numero dei parametri. -common#:#err_disabled#:#Account creation via Shibboleth has been disabled. Please contact the system administrator for further information.###28 10 2024 new variable -common#:#err_double_entries#:#Reason: Duplicate Entries###26 08 2024 new variable +common#:#err_disabled#:#Account creation via Shibboleth has been disabled. Please contact the system administrator for further information.###28 11 2025 new variable +common#:#err_double_entries#:#Reason: Duplicate Entries###28 11 2023 new variable common#:#err_in_line#:#Errore nella linea -common#:#err_inactive#:#Questo utente non & +common#:#err_inactive#:#Questo account non è stato attivato. Si prega di contattare l'amministratore di sistema per l'accesso. common#:#err_inactive_login_attempts#:#Il tuo account è stato disattivato a causa dei molti tentativi di accesso falliti. Clicca su “Contatta supporto tecnico” a piè di pagina per comunicare all’amministratore la necessità di riattivare il proprio account. common#:#err_invalid_port#:#Porta non valida -common#:#err_no_cookies#:#Verifica l& +common#:#err_no_cookies#:#Abilita i cookie di sessione nel tuo browser! common#:#err_no_langfile_found#:#Non ho trovato il file della lingua! common#:#err_no_param#:#Manca il parametro! common#:#err_over_3_param#:#Ci sono piu' di 3 parametri! common#:#err_role_not_assignable#:#Non puoi assegnare utenti a questo ruolo in questo caso -common#:#err_session_expired#:#La sessione & -common#:#err_valid_login_account_creation_disabled#:#Authentication succeeded, but the creation of new user accounts is currently disabled. Please contact your system administrator.###29 07 2022 new variable +common#:#err_session_expired#:#La tua sessione è scaduta! +common#:#err_valid_login_account_creation_disabled#:#L'autenticazione è andata a buon fine, ma la creazione di nuovi account utente non è attivata. Si prega di contattare l'amministratore di sistema. common#:#err_wrong_header#:#Causa: errata intestazione. common#:#err_wrong_login#:#Tentativo di accesso errato common#:#err_wrong_password#:#Password errata common#:#error#:#Errore common#:#error_empty_file_or_folder#:#La dimensione del file è 0 byte o è una cartella. -common#:#error_extraction_failed#:#The extraction of the archive and its directories failed. Probably because you don't have the rights to create folders or categories within this object. -common#:#error_parser#:#Errore nell& -common#:#error_upload_was_zero_bytes#:#The upload failed as this is a folder, the file size is 0 bytes or the file was renamed meanwhile. -common#:#etal_talks#:#Talks +common#:#error_extraction_failed#:#L'estrazione dell'archivio e delle sue directory non è riuscita. Probabilmente perché non hai i diritti per creare cartelle o categorie all'interno di questo oggetto. +common#:#error_parser#:#Errore durante l'avvio del parser. +common#:#error_upload_was_zero_bytes#:#Caricamento non riuscito poiché si tratta di una cartella, la dimensione del file è 0 byte o il file è stato rinominato nel frattempo. +common#:#etal_talks#:#Talks###31 03 2023 new variable common#:#event_ass_materials_prop#:#Materiali sessioni common#:#event_assign_files#:#Assegnazione file common#:#exc#:#Esercitazione common#:#exc_add#:#Aggiungi esercitazione common#:#exc_added#:#Esercitazione aggiunto -common#:#exc_date_not_valid#:#La data non & +common#:#exc_date_not_valid#:#La data non è valida common#:#exc_deassign_members#:#Rimuovi membro(i) common#:#exc_download_files#:#Scarica file common#:#exc_edit#:#Creata nuova esercitazione -common#:#exc_edit_exercise#:#Modifica l& +common#:#exc_edit_exercise#:#Modifica esercizio common#:#exc_edit_until#:#Data scadenza common#:#exc_exercise_sent#:#Invia esercizio -common#:#exc_files#:#Scegli il file +common#:#exc_files#:#File common#:#exc_files_returned#:#File restituiti -common#:#exc_instruction#:#Istruzioni per l& +common#:#exc_instruction#:#Istruzioni di lavoro common#:#exc_last_submission#:#Ultima presentazione -common#:#exc_member_of_crs_grp#:#Member in Course/Group###26 08 2024 new variable -common#:#exc_members_already_assigned#:#Questi utenti sono gi& +common#:#exc_member_of_crs_grp#:#Member in Course/Group###30 04 2024 new variable +common#:#exc_members_already_assigned#:#Questi utenti sono già assegnati al compito. common#:#exc_members_assigned#:#Membri aggiunti common#:#exc_members_comments_saved#:#I commenti dell'esercizio per l'utente selezionato sono stati salvati common#:#exc_new#:#Nuova esercitazione @@ -4080,20 +4079,20 @@ common#:#exc_obj#:#Esercitazione common#:#exc_save_changes#:#Salva common#:#exc_schedule#:#Programma common#:#exc_select_one_file#:#Per favore, scegli un file solamente. -common#:#exc_sent#:#L& -common#:#exc_sent_at#:#Sent at
%s +common#:#exc_sent#:#L'esercizio è stato inviato agli utenti selezionati +common#:#exc_sent_at#:#Inviato a
%s common#:#exc_status#:#Stato common#:#exc_status_saved#:#Esercitazione aggiornata common#:#exc_submission#:#Presentazione -common#:#exc_time_over_short#:#time is over +common#:#exc_time_over_short#:#il tempo è finito common#:#exc_time_to_send#:#Tempo di lavoro rimanente -common#:#exc_upload_error#:#Errore nell& +common#:#exc_upload_error#:#Errore durante il caricamento del file common#:#excs#:#Esercitazioni common#:#execute#:#Esegui -common#:#exercise_time_over#:#E& +common#:#exercise_time_over#:#Il tempo assegnato per il completamento di questo esercizio è finito. I file non possono più essere inviati! common#:#expand#:#Espandi common#:#expand_all#:#Espandi tutto -common#:#expand_content#:#Expand Content###29 07 2022 new variable +common#:#expand_content#:#Espandi contenuto common#:#expanded#:#Esteso common#:#export#:#Esporta common#:#export_format#:#Esporta formato @@ -4101,11 +4100,11 @@ common#:#export_html#:#Esporta come file html common#:#ext_cat_settings#:#Modifica Impostazioni per le Categorie Avanzate common#:#ext_link#:#Collegamento common#:#extracting#:#Estrazione... -common#:#eyeclosed#:#Eye Closed - Click to hide the input's contents###29 07 2022 new variable -common#:#eyeopened#:#Eye Open - Click to reveal the input's contents###29 07 2022 new variable +common#:#eyeclosed#:#Occhio chiuso: fai clic per nascondere il contenuto del campo di input +common#:#eyeopened#:#Occhio aperto: fai clic per mostrare il contenuto del campo di input common#:#failure_message#:#Messaggio di errore common#:#fax#:#Fax -common#:#feed#:#News Feed +common#:#feed#:#Feed Web common#:#feedback#:#Risposta common#:#field_name#:#Nome del campo common#:#field_type#:#Tipo del campo @@ -4119,29 +4118,29 @@ common#:#file_confirm_delete_versions#:#Sei sicuro di voler eliminare la seguent common#:#file_created#:#Un nuovo file e' stato aggiunto. common#:#file_edit#:#Modificare un file common#:#file_info#:#Informazioni sul file -common#:#file_is_infected#:#Il file & +common#:#file_is_infected#:#Il file è infetto da un virus. common#:#file_no_valid_file_type#:#Questo tipo di file non è consentito. common#:#file_not_found#:#File non trovato -common#:#file_not_found_sec#:#This file cannot be found in ILIAS or has been blocked due to security reasons.###29 07 2022 new variable +common#:#file_not_found_sec#:#This file cannot be found in ILIAS or has been blocked due to security reasons.###09 03 2022 new variable common#:#file_not_valid#:#File non valido! common#:#file_notice#:#Per favore, ricordati che la dimensione massima del file deve essere di -common#:#file_objects#:#File Objects###29 07 2022 new variable +common#:#file_objects#:#File Objects common#:#file_rollback#:#Rendi questa la versione attuale common#:#file_rollback_done#:#La versione file %s adesso è la versione attuale. common#:#file_rollback_select_exact_one#:#È possibile selezionare solo una versione del file per renderla la versione corrente. common#:#file_some_invalid_file_types_removed#:#Alcuni tipi di file non sono consentiti e devono essere rimossi. common#:#file_suffix_repl#:#Sostituzione del suffisso di caricamento dei file common#:#file_suffix_repl_info#:#I file terminano con questi suffissi (separati da virgole) saranno rinominati con il suffisso ".sec" se caricati su web. Cio' avviene di default per i seguenti suffissi: -common#:#file_system_clean_temp_dir_cron#:#Clean temp directory###29 07 2022 new variable -common#:#file_system_clean_temp_dir_cron_info#:#This job cleans the ILIAS temp-directory of files, which are older than 10 days. This counteracts the accumulation of unused files and therefore prevents an increased use of disk space by the temp directory.###29 07 2022 new variable +common#:#file_system_clean_temp_dir_cron#:#Clean temp directory###31 03 2023 new variable +common#:#file_system_clean_temp_dir_cron_info#:#This job cleans the ILIAS temp-directory of files, which are older than 10 days. This counteracts the accumulation of unused files and therefore prevents an increased use of disk space by the temp directory.###31 03 2023 new variable common#:#file_updated#:#Il file è stato aggiornato. common#:#file_upload_pending#:#File in attesa common#:#file_valid#:#File valido! common#:#file_version#:#Versione file common#:#file_version_create#:#Versione iniziale -common#:#file_version_intermediate_version#:#Intermediate Version###26 08 2024 new variable +common#:#file_version_intermediate_version#:#Intermediate Version###30 04 2024 new variable common#:#file_version_new_version#:#Nuova versione -common#:#file_version_published_version#:#Published Version###26 08 2024 new variable +common#:#file_version_published_version#:#Published Version###30 04 2024 new variable common#:#file_version_replace#:#Tutte le versioni sostituite common#:#file_version_rollback#:#Ripristino alla versione %s da %s common#:#file_versions_deleted#:#Le versioni dei file selezionati sono state eliminate correttamente. @@ -4149,12 +4148,12 @@ common#:#filename#:#Nome file common#:#filename_extension_missing#:#Manca l'estensione del Filename common#:#filename_hidden_backup_file#:#File di backup nascosto common#:#filename_hidden_unix_file#:#File Unix nascosto -common#:#filename_interoperability#:#Interoperabilità +common#:#filename_interoperability#:#Interopercompetenze common#:#filename_special_characters#:#Il carattere "/" non è accettato nel nome del file perche' non visibile nelle directory web common#:#filename_special_filename#:#oggetti con nome . e .. non sono visibile nelle cartelle common#:#filename_visibility#:#Visibilità common#:#filename_windows_empty_extension#:#A causa del punto alla fine del nome "." , questo oggetto non è visibile nella directory web di Windows -common#:#filename_windows_special_characters#:#\/:*?"<>| are not allowed in Windows filenames +common#:#filename_windows_special_characters#:#\/:*?"<>| non sono ammessi nei nomi di file di Windows common#:#filename_windows_webdav_issue#:#Il simbolo common#:#files#:#File common#:#filesize#:#Grandezza file @@ -4182,27 +4181,27 @@ common#:#forgot_password#:#Dimenticata la password? common#:#forgot_username#:#Hai dimenticato il tuo username? common#:#form_input_not_valid#:#Alcuni dati sono incompleti o non validi. Si prega di correggere l’input del modulo. common#:#forum#:#Forum -common#:#forum_direct_notification#:#Dir. Notifiche +common#:#forum_direct_notification#:#Notifiche common#:#forum_notify_me#:#Avvisami quando viene aggiunta una risposta -common#:#forum_post_replied#:#E& +common#:#forum_post_replied#:#La tua voce nel forum è stata risposta. common#:#forums#:#Forum common#:#forums_anonymized#:#Forum anonimo common#:#forums_anonymous#:#anonimo common#:#forums_articles#:#Articoli -common#:#forums_closed#:#closed###26 08 2024 new variable +common#:#forums_closed#:#closed###30 04 2024 new variable common#:#forums_disable_forum_notification#:#Disabilita le notifiche per questo forum common#:#forums_enable_forum_notification#:#Abilita le notifiche per questo forum common#:#forums_forum_notification_enabled#:#Riceverai una notifica in questo forum sui nuovi messaggi. common#:#forums_last_post#:#Ultimo articolo -common#:#forums_last_posting_asc#:#Last Post Ascending###26 08 2024 new variable -common#:#forums_last_posting_dsc#:#Last Post Descending###26 08 2024 new variable -common#:#forums_notification_settings#:#Forums Notification Setting -common#:#forums_rating_asc#:#Rating Ascending###26 08 2024 new variable -common#:#forums_rating_dsc#:#Rating Descending###26 08 2024 new variable -common#:#forums_thread_sorting_asc#:#Thread Title A→Z###26 08 2024 new variable -common#:#forums_thread_sorting_dsc#:#Thread Title Z→A###26 08 2024 new variable +common#:#forums_last_posting_asc#:#Last Posting Ascending###30 04 2024 new variable +common#:#forums_last_posting_dsc#:#Last Posting Descending###30 04 2024 new variable +common#:#forums_notification_settings#:#Impostazioni di notifica del forum +common#:#forums_rating_asc#:#Rating Ascending###30 04 2024 new variable +common#:#forums_rating_dsc#:#Rating Descending###30 04 2024 new variable +common#:#forums_thread_sorting_asc#:#Thread Title A→Z###30 04 2024 new variable +common#:#forums_thread_sorting_dsc#:#Thread Title Z→A###30 04 2024 new variable common#:#forums_threads#:#Argomenti -common#:#forums_use_alias#:#You may use this alias for your posting. If you leave this field blank, your posting will be marked as anonymous +common#:#forums_use_alias#:#È possibile utilizzare questo alias per la pubblicazione. Se si lascia vuoto questo campo, la pubblicazione verrà contrassegnata come anonima common#:#forums_your_name#:#Il tuo nome common#:#frm#:#Forum common#:#frm_add#:#Aggiungi forum @@ -4211,7 +4210,7 @@ common#:#frm_edit#:#Modifica forum common#:#frm_import#:#Importa forum common#:#frm_latest_postings#:#Ultimi articoli common#:#frm_new#:#Nuovo forum -common#:#frm_no_threads#:#There are no threads available at the moment.###26 08 2024 new variable +common#:#frm_no_threads#:#There are no threads available at the moment.###30 04 2024 new variable common#:#from#:#Da common#:#fullname#:#Nome completo common#:#functions#:#Funzioni @@ -4222,22 +4221,22 @@ common#:#gender#:#Sesso common#:#gender_f#:#Femminile common#:#gender_m#:#Maschile common#:#gender_n#:#Nessun saluto desiderato -common#:#general#:#General###26 08 2024 new variable +common#:#general#:#General###31 03 2023 new variable common#:#general_settings#:#Impostazioni generali common#:#generate#:#Generato -common#:#ghostscript_not_configured#:#Ghostscript non è configurato. Si prega di aprire la procedura per configurarlo. +common#:#ghostscript_not_configured#:#Ghostscript non è configurato. Si prega di aprire la procedura per configurarlo. common#:#glo#:#Glossario common#:#glo_add#:#Aggiungi glossario common#:#glo_added#:#Glossario aggiunto common#:#glo_import#:#Importa glossario -common#:#glo_mode#:#Modalit& -common#:#glo_mode_desc#:#Un glossario & +common#:#glo_mode#:#Modalità +common#:#glo_mode_desc#:#Un glossario virtuale funziona come un normale glossario. Inoltre contiene i termini di tutti i glossari che si trovano sullo stesso livello nel repository come il glossario virtuale (livello) rispettivamente da tutti i glossari che si trovano verso il basso nel repository dalla posizione del glossario virtuale (sottostruttura). common#:#glo_mode_normal#:#normale common#:#glo_new#:#Nuovo glossario common#:#global#:#Globale common#:#global_default#:#Impostazioni globali predefinite common#:#global_fixed#:#Impostazioni globali fissate -common#:#global_role_assignment#:#Globale Rollenzuweisung###29 07 2022 new variable +common#:#global_role_assignment#:#Assegnazione del ruolo globale common#:#global_settings#:#Impostazioni globali common#:#global_user#:#Utenti globali common#:#glossaries#:#Glossari @@ -4248,17 +4247,17 @@ common#:#group#:#Gruppo common#:#group_members#:#Membri del gruppo common#:#group_name#:#Nome del gruppo common#:#group_new_registrations#:#Nuove iscrizioni -common#:#group_password_registration_msg#:#Per poter entrare devi avere la password fornita dall& +common#:#group_password_registration_msg#:#Se conosci la password del gruppo, puoi unirti a questo gruppo. Si prega di contattare un amministratore di gruppo, se non si conosce la password. common#:#group_registration#:#Registrazione common#:#group_registration_mode#:#Autoiscrizione common#:#group_registration_time#:#Periodo di iscrizione common#:#group_req_direct#:#Iscrivi direttamente -common#:#group_req_registration_msg#:#Per appartenere a questo gruppo devi essere iscritto. Sar& +common#:#group_req_registration_msg#:#Devi richiedere l'iscrizione per accedere a questo gruppo. Descrivi il tuo interesse a diventare membro nel modulo del messaggio. Riceverai una notifica non appena un amministratore avrà accettato o rifiutato la tua richiesta. common#:#group_status#:#Stato del gruppo common#:#groupings#:#Limitazioni di appartenenza common#:#groupings_assigned_obj_crs#:#Corsi assegnati common#:#groupings_assigned_obj_grp#:#Gruppi Assegnati -common#:#groupings_source#:#Source###29 10 2025 new variable +common#:#groupings_source#:#Source###28 11 2025 new variable common#:#groups#:#Gruppi common#:#grp#:#Gruppo common#:#grp_add#:#Aggiungi gruppo @@ -4267,12 +4266,12 @@ common#:#grp_btn_unsubscribe#:#Annullare l’iscrizione al gruppo common#:#grp_cancel_waiting_list#:#Vuoi davvero eliminarti dalla lista di attesa del gruppo "%s"? common#:#grp_copy_threads_info#:#Si prega di decidere quali materiali devono essere copiati, collegati o persino omessi. common#:#grp_deleted_export_files#:#Elimina i file selezionati. -common#:#grp_dismiss_member#:#Sei sicuro di voler annullare l& +common#:#grp_dismiss_member#:#Sei sicuro di voler annullare l'iscrizione ai seguenti membri del gruppo? common#:#grp_dismiss_myself#:#Sei sicuro di voler annullare la tua iscrizione al gruppo? -common#:#grp_edit#:#Propriet& -common#:#grp_err_administrator_required#:#Questo membro non pu& +common#:#grp_edit#:#Modifica gruppo +common#:#grp_err_administrator_required#:#Il membro non può essere rimosso, è richiesto almeno un amministratore per gruppo! common#:#grp_header_edit_members#:#Modifica membri -common#:#grp_list_members#:#List members###07 02 2020 new variable +common#:#grp_list_members#:#List members common#:#grp_list_reg#:#Registrazione common#:#grp_list_reg_end#:#Fine registrazione common#:#grp_list_reg_limit_full#:#Nessun posto disponibile @@ -4293,20 +4292,20 @@ common#:#grp_registration_completed#:#Iscrizione completata common#:#grp_removed_from_waiting_list#:#Sei stato rimosso dalla lista di attesta del gruppo "%s". common#:#grp_select_one_file#:#Seleziona un file common#:#grp_wizard_page#:#Copia Gruppo (Passo 2/2) -common#:#grpr#:#Group Reference -common#:#grpr_add#:#Add Group Link###29 07 2022 new variable -common#:#grpr_edit#:#Edit Group Reference -common#:#grpr_edit_info#:#Please choose one group, for creating a new reference. -common#:#grpr_new#:#Create Group Reference -common#:#grpr_settings#:#Group Link Settings###26 08 2024 new variable -common#:#header_action#:#Insert Heading - Click to insert a heading.###26 08 2024 new variable +common#:#grpr#:#Riferimento di gruppo +common#:#grpr_add#:#Add Group Link###31 03 2023 new variable +common#:#grpr_edit#:#Modifica riferimento gruppo +common#:#grpr_edit_info#:#Scegli un gruppo per creare un nuovo riferimento. +common#:#grpr_new#:#Crea riferimento di gruppo +common#:#grpr_settings#:#Group Link Settings###31 03 2023 new variable +common#:#header_action#:#Insert Heading - Click to insert a heading.###30 04 2024 new variable common#:#header_searchable#:#Ricercabile common#:#header_title#:#Intestazione common#:#header_visible_registration#:#Visibile nella registrazione -common#:#header_zip#:#Upload Zip-Archive +common#:#header_zip#:#Carica più file utilizzando un archivio Zip common#:#height#:#Altezza common#:#help#:#Aiuto -common#:#hide#:#nascondi +common#:#hide#:#Nascondi common#:#hide_all_details#:#Nascondi tutti i dettagli common#:#hide_details#:#Nascondi dettagli common#:#hide_filter#:#Nascondi filtro @@ -4336,11 +4335,11 @@ common#:#identifier#:#Identificatore common#:#if_no_title_then_filename#:#Lascia vuoto se vuoi mostrare il nome del file common#:#ignore_on_conflict#:#Ignora i conflitti common#:#ignore_required_fields#:#Ignora campi richiesti -common#:#ignore_required_fields_info#:#If activated, mandatory fields are not validated anymore (if possible) after submitting this form. The concerned user has to complete his personal profile after the next login. +common#:#ignore_required_fields_info#:#Se attivo, potrai inviare questo form senza riempire tutti i campi obbligatori. L'utente dovrà inserirli manualmente al primo login. common#:#il_astpl_loc_initial#:#Test iniziale common#:#il_astpl_loc_qualified#:#Test di qualificazione -common#:#il_blog_contributor#:#Blog Contributor -common#:#il_blog_editor#:#Blog-Editor +common#:#il_blog_contributor#:#Autore del Blog +common#:#il_blog_editor#:#Editor del Blog common#:#il_chat_moderator#:#Moderatore Chat common#:#il_crs_admin#:#Amministratore common#:#il_crs_member#:#Membro @@ -4351,80 +4350,80 @@ common#:#il_grp_admin#:#Amministratore di gruppo common#:#il_grp_member#:#Membro di gruppo common#:#il_grp_status_closed#:#Gruppo chiuso common#:#il_grp_status_open#:#Gruppo aperto -common#:#il_iass_member#:#Participant###29 10 2025 new variable -common#:#il_lso_admin#:#Learning Sequence Admin -common#:#il_lso_member#:#Learning Sequence Member -common#:#il_lti_instructor#:#LTI Instructor###29 07 2022 new variable -common#:#il_lti_learner#:#LTI Learner###29 07 2022 new variable -common#:#il_lti_user#:#LTI User###29 10 2025 new variable +common#:#il_iass_member#:#Assegnazione individuale candidato +common#:#il_lso_admin#:#Admin della Sequenza Learning +common#:#il_lso_member#:#Membro della Sequenza Learning +common#:#il_lti_instructor#:#LTI Instructor###09 03 2022 new variable +common#:#il_lti_learner#:#LTI Learner###09 03 2022 new variable +common#:#il_lti_user#:#LTI User###28 11 2025 new variable common#:#il_orgu_employee#:#Dipendente common#:#il_orgu_superior#:#Superiore common#:#ilias_version#:#Versione ILIAS common#:#image#:#Immagine common#:#import#:#Importa common#:#import_cat_localrol#:#Crea un ruolo locale per tutte le categorie nuove -common#:#import_cat_table#:#La seguente tabella & +common#:#import_cat_table#:#La seguente tabella sarà rilevante solo se questa casella viene spuntata. common#:#import_categories#:#Importa contesto common#:#import_failure_log#:#Log di importazione: fallimenti common#:#import_file#:#Scegli il file -common#:#import_file_not_valid_here#:#Il file di import non & +common#:#import_file_not_valid_here#:#The import file is not valid or the contained object type cannot be imported here.###28 11 2025 new variable common#:#import_finished#:#Numero di messaggi importati. common#:#import_lm#:#Importa modulo common#:#import_qpl#:#Importa raccolta di domande per test common#:#import_questions_into_qpl#:#Importa domande nella raccolta common#:#import_sahs#:#Importa modulo SCORM/AICC -common#:#import_sahs_info#:#To correct typos or images, use the option to replace individual files via the file directory. Upload a SCORM export from your authoring tool here and not an ILIAS export file. Make sure that your authoring tool has retained the IDs in the manifest file. Attention: Even popular authoring tools cannot do this. SCORM learning modules of certain authoring tools discard learner data obtained if you change the number of answer options of questions or insert new questions. Check in a test installation whether learning statuses that have already been achieved are possible when learning modules that have already been started are called up again.###26 08 2024 new variable -common#:#import_sahs_new#:#Import New Version of SCORM Package###26 08 2024 new variable +common#:#import_sahs_info#:#To correct typos or images, use the option to replace individual files via the file directory. Upload a SCORM export from your authoring tool here and not an ILIAS export file. Make sure that your authoring tool has retained the IDs in the manifest file. Attention: Even popular authoring tools cannot do this. SCORM learning modules of certain authoring tools discard learner data obtained if you change the number of answer options of questions or insert new questions. Check in a test installation whether learning statuses that have already been achieved are possible when learning modules that have already been started are called up again.###30 04 2024 new variable +common#:#import_sahs_new#:#Import New Version of SCORM Package###30 04 2024 new variable common#:#import_svy#:#Importa sondaggio common#:#import_tst#:#Importa test common#:#import_users#:#Importa utenti common#:#import_warning_log#:#Log di importazione: avvisi common#:#important#:#Importante common#:#imported#:#importato -common#:#imprint#:#Imprint +common#:#imprint#:#Note Legali common#:#in#:#in common#:#in_use#:#Lingua utente common#:#in_use_by#:#In uso da common#:#inactive#:#Inattivo common#:#inbox#:#Posta in arrivo -common#:#include_local#:#include local +common#:#include_local#:#Includi un file custom di lingua quando aggiorni la lingua common#:#info#:#Informazioni -common#:#info_access_and_status_info#:#Informazioni sull& +common#:#info_access_and_status_info#:#Informazioni sull'accesso e stato common#:#info_access_permissions#:#Permessi di accesso common#:#info_activate_sure#:#Sei sicuro di voler approvare i(l) seguente(i) utente(i)? common#:#info_assign_sure#:#Sei sicuro di voler aggiungere i seguenti utenti? common#:#info_assigned#:#Assegnato common#:#info_available_roles#:#Ruoli disponibili -common#:#info_change_user_view#:#Modifica la vista dell& +common#:#info_change_user_view#:#Cambia Utente common#:#info_deactivate_sure#:#Sei sicuro di voler disapprovare i(l) seguente(i) utente(i)? common#:#info_delete_sure#:#Sei sicuro di voler eliminare i seguenti oggetti? common#:#info_delete_warning_no_trash#:#(ATTENZIONE: gli oggetti selezionati verranno definitivamente rimossi dal sistema e potrebbero NON essere ricreati!) common#:#info_deleted#:#Eliminazione eseguita -common#:#info_err_user_not_exist#:#L& +common#:#info_err_user_not_exist#:#L'utente con questo nome non esiste common#:#info_from_role#:#Fornito dal ruolo -common#:#info_is_member#:#L& -common#:#info_is_not_member#:#L& +common#:#info_is_member#:#L'utente è un membro +common#:#info_is_not_member#:#L'utente non è un membro common#:#info_message#:#Messaggio di informazione -common#:#info_not_assigned#:#non assignato -common#:#info_owner_of_object#:#Proprietario dell& +common#:#info_not_assigned#:#Non assegnato +common#:#info_owner_of_object#:#Proprietario dell'oggetto common#:#info_permission_origin#:#Posizione originale -common#:#info_permission_source#:#valido a partire dal +common#:#info_permission_source#:#Valido a partire dal* common#:#info_remark_interrupted#:#Il Ruolo si interrompe in questa posizione. Le impostazioni predefinite del ruolo sono localizzate in quella posizione. common#:#info_remove_sure#:#Sei sicuro di voler rimuovere la/e seguente/i voce/i? common#:#info_short#:#Info common#:#info_status_info#:#Informazioni sullo stato -common#:#info_view_of_user#:#Vista dell& +common#:#info_view_of_user#:#Vista dell'utente common#:#inform_user_mail#:#Invia una eMail per informare gli utenti dei cambiamenti common#:#inline_file_extensions#:#File abilitati per il web common#:#inline_file_extensions_info#:#I file le cui estensioni sono mostrate nella finestra del browser.
Per esempio: gif jpg mp3 pdf png
Tutti gli altri files disponibili per il download. common#:#insert#:#Aggiungi -common#:#insert_object_here#:#Inserisci qui l& -common#:#inst_id#:#ID dell& -common#:#inst_info#:#Informazioni sull& -common#:#inst_name#:#Nome dell& +common#:#insert_object_here#:#Inserisci qui +common#:#inst_id#:#ID dell'installazione +common#:#inst_info#:#Informazioni sull'installazione +common#:#inst_name#:#Nome dell'installazione common#:#install#:#Installa common#:#install_local#:#Installa localmente -common#:#installation_status#:#Installation Status###29 07 2022 new variable +common#:#installation_status#:#Stato dell'installazione common#:#installed#:#Installata common#:#installed_local#:#Installato localmente common#:#instant_messengers#:#Messaggi istantanei @@ -4434,8 +4433,8 @@ common#:#invalid_visible_required_options_selected#:#Tutti i campi impostati su common#:#invisible_block#:#Blocco invisibile common#:#invisible_block_mess#:#Non hai il permesso di visualizzare questo blocco. common#:#ip_address#:#Indirizzo IP -common#:#is_already_your#:#è gia' suo -common#:#italic_action#:#Insert Italic - Click to insert italic text.###26 08 2024 new variable +common#:#is_already_your#:#è già suo +common#:#italic_action#:#Insert Italic - Click to insert italic text.###30 04 2024 new variable common#:#item#:#voce common#:#itgr_add#:#Aggiungi gruppo di elementi common#:#itgr_new#:#Nuovo gruppo di elementi @@ -4443,16 +4442,16 @@ common#:#java_server#:#Server Java common#:#java_server_host#:#Host common#:#java_server_info#:#Se attivato, è possibile cercare nei file PDF, HTML e nelle unita' didattiche HTML. common#:#java_server_port#:#Porta -common#:#java_server_readme#:#Setup informations +common#:#java_server_readme#:#Informazioni sulla configurazione common#:#join#:#Iscriviti -common#:#join_session#:#Join +common#:#join_session#:#Entra nella sessione common#:#kb#:#KB common#:#keywords#:#Parole chiave -common#:#label_search_options#:#Search Area###29 07 2022 new variable +common#:#label_search_options#:#Area di Ricerca common#:#lang_dateformat#:#Y-m-d common#:#lang_path#:#Percorso lingue common#:#lang_refresh_confirm#:#Vuoi veramente aggiornare tutte le lingue? -common#:#lang_refresh_confirm_info#:#Extended language maintenance is currently activated. Refreshing the languages loads all language data from the ILIAS language files into the database. Local changes (in the database) may be overwritten, if not exported before. This does not affect any "*.lang.local" files in the Customizing directory. +common#:#lang_refresh_confirm_info#:#La manutenzione linguistica estesa è attualmente attivata. L'aggiornamento delle lingue carica tutti i dati di lingua dai file di lingua ILIAS nel database. Le modifiche locali (nel database) possono essere sovrascritte, se non esportate in precedenza. Ciò non influisce sui file "* .lang.local" nella directory di personalizzazione. common#:#lang_refresh_confirm_selected#:#Vuoi veramente aggiornare le lingue selezionate? common#:#lang_sep_decimal#:#, common#:#lang_sep_thousand#:#. @@ -4467,10 +4466,10 @@ common#:#lang_uninstall_changes_confirm#:#Vuoi davvero cancellare tutte le modif common#:#lang_uninstall_confirm#:#Vuoi davvero disinstallare le lingue selezionate? common#:#langfile_found#:#Trovato file common#:#language#:#Lingua -common#:#language_not_installed#:#Non & +common#:#language_not_installed#:#non è installata. Per favore installa questa lingua prima di procedere. common#:#languages#:#Lingue -common#:#languages_already_installed#:#Attenzione. La lingua scelta & -common#:#languages_already_uninstalled#:#Attenzione. La lingua scelta & +common#:#languages_already_installed#:#Le lingue selezionate sono già installate +common#:#languages_already_uninstalled#:#Le lingue selezionate sono già disinstallate common#:#languages_updated#:#Tutte le lingue installate sono state aggiornate. common#:#last_access#:#Ultimo accesso: common#:#last_change#:#Data ultima modifica @@ -4481,8 +4480,8 @@ common#:#last_reminder#:#Ultimo promemoria common#:#last_update#:#Data ultimo aggiornamento common#:#last_visited#:#Ultima visita common#:#lastname#:#Cognome -common#:#latex_edit_info#:#You can enter LaTeX code in the delimiters [tex] and [/tex].###29 10 2025 new variable -common#:#laugh#:#Laugh +common#:#latex_edit_info#:#You can enter LaTeX code in the delimiters [tex] and [/tex].###28 11 2025 new variable +common#:#laugh#:#Risata common#:#launch#:#Esegui common#:#ldap#:#LDAP common#:#ldap_basedn#:#LDAP DN di base @@ -4498,10 +4497,10 @@ common#:#leave_waiting_list#:#Abbandona lista di attesta common#:#legend#:#Legenda common#:#level#:#Livello common#:#link#:#Collega -common#:#link_action#:#Insert Link - Click to insert a link.###26 08 2024 new variable +common#:#link_action#:#Insert Link - Click to insert a link.###30 04 2024 new variable common#:#link_all#:#Collega tutti common#:#link_check#:#Verifica i collegamenti -common#:#link_check_message_b#:#Se selezionato, sarai informato sui collegamenti che non sono pi& +common#:#link_check_message_b#:#Se abilitato, verrai informato via e-mail sui collegamenti non validi. common#:#link_check_message_disabled#:#Mail disabilitata common#:#link_check_message_enabled#:#Mail abilitata common#:#link_check_subject#:#[ILIAS] verifica collegamenti @@ -4510,7 +4509,7 @@ common#:#link_selected_items#:#Collega gli oggetti selezionati common#:#links_add_param#:#Aggiungi parametro: common#:#links_dyn_parameter#:#Parametri dinamici common#:#links_dynamic#:#Parametri per collegamenti alla rete dinamici -common#:#links_dynamic_info#:#Se selezionato, & +common#:#links_dynamic_info#:#Se abilitato, è possibile aggiungere parametri dinamici ai collegamenti Web.
Ad es. l'ID utente ILIAS o il nome utente. common#:#links_existing_params#:#Parametri esistenti: common#:#links_name#:#Nome del parametro common#:#links_no_name_given#:#Seleziona un parametro. @@ -4523,56 +4522,56 @@ common#:#links_user_name#:#Nome utente ILIAS common#:#links_value#:#Valore common#:#list#:#Lista common#:#list_of_questions#:#Lista di domande -common#:#list_view#:#List View###28 10 2024 new variable -common#:#listaction_learning_progress_settings#:#Learning Progress Settings###26 08 2024 new variable +common#:#list_view#:#List View###28 11 2025 new variable +common#:#listaction_learning_progress_settings#:#Learning Progress Settings###30 04 2024 new variable common#:#lm#:#Modulo ILIAS common#:#lm_add#:#Aggiungi modulo ILIAS common#:#lm_added#:#Modulo aggiunto common#:#lm_new#:#Nuovo modulo ILIAS -common#:#lm_type_scorm#:#SCORM -common#:#lm_type_scorm2004#:#SCORM 2004 -common#:#lm_type_scorm2004_info#:#These are newer versions of SCORM with significantly enhanced functionality. The learning module is launched in an iFrame.###26 08 2024 new variable -common#:#lm_type_scorm_info#:#This is the most widely used version of SCORM. The learning module is launched in a frame.###26 08 2024 new variable +common#:#lm_type_scorm#:#SCORM 1.2 +common#:#lm_type_scorm2004#:#SCORM 2004 3a/4a Edizione +common#:#lm_type_scorm2004_info#:#These are newer versions of SCORM with significantly enhanced functionality. The learning module is launched in an iFrame.###30 04 2024 new variable +common#:#lm_type_scorm_info#:#This is the most widely used version of SCORM. The learning module is launched in a frame.###30 04 2024 new variable common#:#lng#:#Lingua common#:#lngf#:#Lingua -common#:#lo#:#Unit& +common#:#lo#:#Oggetto di apprendimento common#:#loaded_preview_renderers#:#Renderizzatori di anteprima caricati common#:#local#:#Locale common#:#local_language_file#:#file della lingua locale common#:#local_language_files#:#file della lingua locale -common#:#local_languages_already_installed#:#Le lingue locali selezionate sono gi& -common#:#local_role_assignment#:#Lokale Rollenzuweisung###29 07 2022 new variable -common#:#location#:#Posizione +common#:#local_languages_already_installed#:#I file della lingua personalizzata selezionati sono già installati +common#:#local_role_assignment#:#Lokale Rollenzuweisung +common#:#location#:#Località common#:#locator#:#Posizione: common#:#log_in#:#Accesso -common#:#log_out#:#Logout###29 07 2022 new variable +common#:#log_out#:#Logout common#:#logic_or#:#O common#:#login#:#Accesso common#:#login_as#:#Sei entrato come common#:#login_data#:#Dati per l'accesso -common#:#login_exists#:#Esiste gi& -common#:#login_invalid#:#L& +common#:#login_exists#:#C'è già un utente con questo nome di accesso! Per favore scegline un altro. +common#:#login_invalid#:#L'accesso scelto non è valido! Sono ammessi solo i seguenti caratteri (minimo 3 caratteri): A-Z a-z 0-9 _.-+*@!$%~ common#:#login_to_ilias#:#Entra in ILIAS -common#:#login_to_ilias_via_login_form#:#Login to ILIAS###29 10 2025 new variable +common#:#login_to_ilias_via_login_form#:#Login to ILIAS###20 05 2025 new variable common#:#login_to_ilias_via_saml#:#Accedi a ILIAS tramite l’autenticazione SAML common#:#login_to_ilias_via_shibboleth#:#Entra in ILIAS utilizzando Shibboleth common#:#loginname_already_exists#:#Questo nome di accesso esiste già. -common#:#loginname_settings#:#Loginname-Settings +common#:#loginname_settings#:#Settaggi Nome Login common#:#logout#:#Logout -common#:#logout_text#:#Sei uscito da ILIAS. La tua sessione & +common#:#logout_text#:#Ti sei disconnesso da ILIAS. La tua sessione è stata chiusa common#:#logs#:#Crea il report common#:#love#:#Love common#:#lres#:#Risorse formative -common#:#lso_add#:#Add Learning Sequence -common#:#lso_admin_form_byline#:#General Settings for Learning Sequences###29 07 2022 new variable -common#:#lso_admin_form_title#:#Settings###29 07 2022 new variable -common#:#lso_admin_interval_byline#:#Poll Learning Progress every x seconds. Be careful! A low value will increase server-requests and have an impact on overall system performance. Please choose highest value possible!###29 07 2022 new variable -common#:#lso_admin_interval_label#:#Learning Progress Polling Interval (seconds)###29 07 2022 new variable -common#:#lso_copy_threads_info#:#Please decide which elements of the Learning Sequence should be copied, linked or omitted. -common#:#lso_edit#:#Edit Learning Sequence -common#:#lso_import#:#Import Learning Sequence -common#:#lso_new#:#New Learning Sequence -common#:#lso_wizard_page#:#Copy Learning Sequence (Step 2/2)###07 02 2020 new variable +common#:#lso_add#:#Aggiungi sequenza E-Learning +common#:#lso_admin_form_byline#:#Opzioni Genearli per Sequenze E-Learning +common#:#lso_admin_form_title#:#Opzioni +common#:#lso_admin_interval_byline#:#Richiedi il Progresso Learning ogni x seconds. Attenzione! Un valore basso aumenterà le richieste server e potrebbe avere un impatto negativo sulla performance del sistema. Scegli il valore più alto possibile! +common#:#lso_admin_interval_label#:#Intervallo Richieste Progresso learning (secondi) +common#:#lso_copy_threads_info#:#Seleziona quali materiali della sequenza di apprendimento devono essere copiati, collegati o omessi durante il processo di copia. +common#:#lso_edit#:#Modifica sequenza di apprendimento +common#:#lso_import#:#Importa sequenza di apprendimento +common#:#lso_new#:#Nuova Sequenza di Apprendimento +common#:#lso_wizard_page#:#Copia sequenza di apprendimento (Step 2/2) common#:#lti_outcome#:#LTI Notifica progresso dell’apprendimento common#:#lti_outcome_info#:#Invia lo stato di progresso dell’apprendimento degli utenti LTI a Strumento del consumatore LTI. common#:#mail#:#Posta @@ -4581,39 +4580,40 @@ common#:#mail_at_the_ilias_installation#:#Riceverai una %1$s nuova mail durante common#:#mail_attachment#:#Allegato mail common#:#mail_b_inbox#:#Ricevute common#:#mail_c_trash#:#Eliminate -common#:#mail_cron_scheduled_mails#:#Send scheduled mails.###29 10 2025 new variable -common#:#mail_cron_scheduled_mails_desc#:#Sends scheduled user mails according to their defined delivery times###29 10 2025 new variable +common#:#mail_cron_scheduled_mails#:#Send scheduled mails.###28 11 2025 new variable +common#:#mail_cron_scheduled_mails_desc#:#Sends scheduled user mails according to their defined delivery times###28 11 2025 new variable common#:#mail_d_drafts#:#Bozze common#:#mail_delete_error#:#Errore nella cancellazione delle mail -common#:#mail_e_outbox#:#Outbox###29 10 2025 new variable +common#:#mail_e_outbox#:#Outbox###28 11 2025 new variable common#:#mail_e_sent#:#Inviate -common#:#mail_edit_permission#:#Modificare le impostazioni dei permessi -common#:#mail_f_sent#:#Sent###29 10 2025 new variable +common#:#mail_edit_permission#:#L'utente può cambiare le impostazioni dei permessi nell'amministrazione della posta +common#:#mail_f_sent#:#Sent###28 11 2025 new variable common#:#mail_folders#:#Cartelle di posta common#:#mail_import_file#:#File di importazione da ILIAS 2 common#:#mail_mails_of#:#Posta common#:#mail_maxsize_attach#:#Dimensione massima degli allegati common#:#mail_member#:#Mail per i membri common#:#mail_members#:#Invia una eMail ai membri -common#:#mail_message_scheduled#:#Scheduled mail###29 10 2025 new variable -common#:#mail_message_scheduled_info#:#Mails remain in the outbox until the scheduled sending time.###29 10 2025 new variable +common#:#mail_message_scheduled#:#Scheduled mail###28 11 2025 new variable +common#:#mail_message_scheduled_info#:#Mails remain in the outbox until the scheduled sending time.###28 11 2025 new variable common#:#mail_not_sent#:#eMail non inviata! -common#:#mail_schedule_error_no_datetime#:#To schedule a mail, a delivery date and time must be specified.###29 10 2025 new variable -common#:#mail_schedule_error_past_datetime#:#You cannot schedule emails in the past.###29 10 2025 new variable -common#:#mail_scheduled#:#Mail stored in outbox for later delivery.###29 10 2025 new variable +common#:#mail_schedule_error_no_datetime#:#To schedule a mail, a delivery date and time must be specified.###28 11 2025 new variable +common#:#mail_schedule_error_past_datetime#:#You cannot schedule emails in the past.###28 11 2025 new variable +common#:#mail_schedule_scheduled_datetime#:#Scheduled Send Time###28 11 2025 new variable +common#:#mail_scheduled#:#Mail stored in outbox for later delivery.###28 11 2025 new variable common#:#mail_search_no#:#Nessuna voce trovata common#:#mail_select_one#:#Devi scegliere una eMail. -common#:#mail_send_error#:#Errore nell& +common#:#mail_send_error#:#Errore durante l'invio della posta common#:#mail_sent#:#eMail inviata con successo! common#:#mail_settings#:#Impostazione mail -common#:#mail_to_global_roles_not_allowed#:#It is not allowed to send emails to global roles +common#:#mail_to_global_roles_not_allowed#:#Non è consentito inviare e-mail a ruoli globali common#:#mail_z_local#:#Cartelle utente common#:#mails#:#eMail common#:#mails_at_the_ilias_installation#:#Riceverai %1$s nuove mail durante l’installazione di ILIAS %2$s common#:#mails_pl#:#Mail common#:#main_menu#:#Menu principale -common#:#mainbar_aria_label#:#Mainbar###29 07 2022 new variable -common#:#mainbar_more_label#:#More###29 07 2022 new variable +common#:#mainbar_aria_label#:#Barra principale +common#:#mainbar_more_label#:#More common#:#manage_members#:#Gestisci membri common#:#marked_entries#:#Voci contrassegnate common#:#matriculation#:#Numero di matricola @@ -4637,7 +4637,7 @@ common#:#mem_reg_period#:#Periodo di registrazione common#:#mem_reg_type#:#Tipo di registrazione common#:#mem_start#:#Inizio registrazione: common#:#mem_unlimited#:#Illimitato -common#:#mem_view_activate#:#Activate Members View +common#:#mem_view_activate#:#Attiva vista membri common#:#mem_view_close#:#Chiudi visualizzazione membri common#:#mem_view_long#:#Visualizzazione membri common#:#mem_waiting_list#:#Utenti nella lista di attesta: @@ -4650,52 +4650,52 @@ common#:#mep#:#Libreria multimediale common#:#mep_add#:#Aggiungi libreria multimediale (Media Pool) common#:#mep_edit#:#Modificare un libreria multimediale common#:#mep_new#:#Nuova libreria multimediale -common#:#mep_not_insert_already_exist#:#Gli elementi seguenti non sono stati inseriti perch& +common#:#mep_not_insert_already_exist#:#I seguenti elementi non sono stati inseriti perché sono già nel pool di supporto common#:#message#:#Messaggio common#:#message_content#:#Contenuto common#:#message_no_delivered_files#:#Non hai ancora inviato il file! common#:#meta_data#:#MetaDati -common#:#metabar_aria_label#:#Metabar###29 07 2022 new variable +common#:#metabar_aria_label#:#Metabar common#:#mgs_objects_linked_to_the_following_folders_p#:#Gli oggetti erano collegati alla/e seguente/i cartella/e: %s common#:#mgs_objects_linked_to_the_following_folders_s#:#L’oggetto era collegato alla!e seguente/i cartella/ee: %s common#:#migrate#:#migrare -common#:#minimize#:#Minimize###29 07 2022 new variable +common#:#minimize#:#Minimize###31 03 2023 new variable common#:#minute#:#Minuto common#:#minutes#:#Minuti common#:#missing#:#Mancante common#:#missing_perm#:#Autorizzazione mancante common#:#missing_precondition#:#Precondizione mancante -common#:#mm_achievements#:#Achievements###07 02 2020 new variable -common#:#mm_administration#:#Administration###07 02 2020 new variable -common#:#mm_badges#:#Badges###07 02 2020 new variable -common#:#mm_calendar#:#Calendar###07 02 2020 new variable -common#:#mm_certificates#:#Certificates###07 02 2020 new variable -common#:#mm_comments#:#Comments###07 02 2020 new variable -common#:#mm_communication#:#Communication###07 02 2020 new variable -common#:#mm_contacts#:#Contacts###07 02 2020 new variable -common#:#mm_dashboard#:#Dashboard###07 02 2020 new variable -common#:#mm_enrolments#:#Enrolments###07 02 2020 new variable -common#:#mm_favorites#:#Favourites###07 02 2020 new variable -common#:#mm_learning_history#:#Learning History###07 02 2020 new variable -common#:#mm_learning_progress#:#Learning Progress###07 02 2020 new variable -common#:#mm_mail#:#Mail###07 02 2020 new variable -common#:#mm_news#:#News###07 02 2020 new variable -common#:#mm_notes#:#Notes###07 02 2020 new variable -common#:#mm_organisation#:#Organisation###07 02 2020 new variable -common#:#mm_personal_and_shared_r#:#Personal and Shared Resources###07 02 2020 new variable -common#:#mm_personal_workspace#:#Personal Workspace###07 02 2020 new variable -common#:#mm_portfolio#:#Portfolio###07 02 2020 new variable -common#:#mm_private_chats#:#Private Chats###29 07 2022 new variable -common#:#mm_repo_tree_view#:#Tree View###07 02 2020 new variable -common#:#mm_repo_tree_view_act#:#Activate Tree###07 02 2020 new variable -common#:#mm_repo_tree_view_deact#:#Deactivate Tree###07 02 2020 new variable -common#:#mm_repository#:#Repository###07 02 2020 new variable -common#:#mm_skills#:#Competences###07 02 2020 new variable -common#:#mm_staff_list#:#Staff List###07 02 2020 new variable -common#:#mm_tags#:#Tags###07 02 2020 new variable -common#:#mm_task_derived_tasks#:#Tasks###07 02 2020 new variable -common#:#mme_lost_item_reason#:#Item is no longer provided.###07 02 2020 new variable -common#:#mme_lost_item_title#:#No assignment###07 02 2020 new variable +common#:#mm_achievements#:#Risultati +common#:#mm_administration#:#Amministrazione +common#:#mm_badges#:#Badge +common#:#mm_calendar#:#Calendario +common#:#mm_certificates#:#Certificati +common#:#mm_comments#:#Commenti +common#:#mm_communication#:#Comunicazioni +common#:#mm_contacts#:#Contatti +common#:#mm_dashboard#:#Dashboard +common#:#mm_enrolments#:#Iscrizioni +common#:#mm_favorites#:#Preferiti +common#:#mm_learning_history#:#Percorso Didattico +common#:#mm_learning_progress#:#Progressi Didattici +common#:#mm_mail#:#Mail +common#:#mm_news#:#News +common#:#mm_notes#:#Notes +common#:#mm_organisation#:#Organizzazione +common#:#mm_personal_and_shared_r#:#Risorse personali e condivise +common#:#mm_personal_workspace#:#Spazio di lavoro personale +common#:#mm_portfolio#:#Portfolio +common#:#mm_private_chats#:#Private Chats###31 03 2023 new variable +common#:#mm_repo_tree_view#:#Vista dell'albero +common#:#mm_repo_tree_view_act#:#Attivare l'albero +common#:#mm_repo_tree_view_deact#:#Disattivare l'albero +common#:#mm_repository#:#Repository +common#:#mm_skills#:#Competenze +common#:#mm_staff_list#:#Elenco membri +common#:#mm_tags#:#Tags +common#:#mm_task_derived_tasks#:#Obiettivi +common#:#mme_lost_item_reason#:#L'articolo non è più fornito. +common#:#mme_lost_item_title#:#Nessun ordinamento common#:#mob#:#Oggetto multimediale common#:#moderators#:#Moderatori common#:#module#:#Modulo @@ -4704,11 +4704,11 @@ common#:#month#:#Mese common#:#month_01_long#:#Gennaio common#:#month_01_short#:#Gen common#:#month_02_long#:#Febbraio -common#:#month_02_short#:#Febbraio +common#:#month_02_short#:#Feb common#:#month_03_long#:#Marzo -common#:#month_03_short#:#Marzo +common#:#month_03_short#:#Mar common#:#month_04_long#:#Aprile -common#:#month_04_short#:#Aprile +common#:#month_04_short#:#Apr common#:#month_05_long#:#Maggio common#:#month_05_short#:#Mag common#:#month_06_long#:#Giugno @@ -4722,7 +4722,7 @@ common#:#month_09_short#:#Set common#:#month_10_long#:#Ottobre common#:#month_10_short#:#Ott common#:#month_11_long#:#Novembre -common#:#month_11_short#:#Novembre +common#:#month_11_short#:#Nov common#:#month_12_long#:#Dicembre common#:#month_12_short#:#Dic common#:#monthly#:#mensilmente @@ -4732,129 +4732,129 @@ common#:#move#:#Sposta common#:#moveChapter#:#Sposta common#:#movePage#:#Sposta common#:#move_selected_items#:#Sposta gli oggetti selezionati -common#:#msg_bt_download_started#:#ILIAS is generating a ZIP archive of all available files. You can download them from the Notification Center (bell icon) on top right.###07 02 2020 new variable +common#:#msg_bt_download_started#:#ILIAS sta generando un archivio ZIP di tutti i file disponibili. Puoi scaricarli dal Centro Notifiche (icona a forma di campana) in alto a destra. common#:#msg_cancel#:#Esecuzione annullata common#:#msg_clear_clipboard#:#Cancellazione eseguita common#:#msg_cloned#:#Gli oggetti selezionati sono stati copiati. -common#:#msg_copy_clipboard#:#Gli oggetti selezionati sono stati memorizzati negli appunti (Azione: copia). -common#:#msg_copy_clipboard_container#:#Now, please select the desired location, where the selected objects should be pasted into and click the button "Continue". -common#:#msg_copy_clipboard_source#:#Now, please select the desired course, whose content should be copied and click the button "Next". -common#:#msg_cut_clipboard#:#Gli oggetti selezionati sono stati memorizzati negli appunti (Azione: taglia). +common#:#msg_copy_clipboard#:#Ora, seleziona la posizione desiderata, dove gli oggetti selezionati dovrebbero essere incollati e clicca sul pulsante 'Paste'. +common#:#msg_copy_clipboard_container#:#Ora, seleziona la posizione desiderata, in cui incollare gli oggetti selezionati e fai clic sul pulsante "Continua". +common#:#msg_copy_clipboard_source#:#Ora, seleziona il corso desiderato, il cui contenuto deve essere copiato e fai clic sul pulsante "Avanti". +common#:#msg_cut_clipboard#:#Ora, seleziona la posizione desiderata, dove gli oggetti selezionati dovrebbero essere incollati e clicca sul pulsante 'Paste'. common#:#msg_cut_copied#:#Gli oggetti selezionati sono stati copiati. common#:#msg_deleted_export_files#:#Esporta file eliminato/i common#:#msg_deleted_role#:#Cancellazione eseguita common#:#msg_deleted_roles_rolts#:#Cancellazione eseguita common#:#msg_failed#:#Fallito common#:#msg_form_save_error#:#I dati del modulo non possono essere salvati. Si prega di controllare i campi di input per eventuali messaggi di errore. -common#:#msg_info_blacklisted#:#The files cannot be uploaded due to security reasons.###07 02 2020 new variable -common#:#msg_input_char_limit_max#:#You have entered more characters than allowed.###26 08 2024 new variable -common#:#msg_input_char_limit_min#:#You have to enter the minimum of characters specified.###26 08 2024 new variable +common#:#msg_info_blacklisted#:#I file non possono essere caricati per motivi di sicurezza. +common#:#msg_input_char_limit_max#:#You have entered more characters than allowed.###26 04 2023 new variable +common#:#msg_input_char_limit_min#:#You have to enter the minimum of characters specified.###26 04 2023 new variable common#:#msg_input_does_not_match_regexp#:#Si prega di fornire un valore valido. common#:#msg_input_is_required#:#Questo input è richiesto. Si prega di inserire un valore. -common#:#msg_invalid_value_css_rect_input#:#The entered value is incorrect, do not use any plus or minus symbols in combination with the entered integer. Please check your input.###29 10 2025 new variable +common#:#msg_invalid_value_css_rect_input#:#The entered value is incorrect, do not use any plus or minus symbols in combination with the entered integer. Please check your input.###28 11 2025 new variable common#:#msg_is_last_role#:#I seguenti utenti sono stati rimossi dal loro precedente ruolo -common#:#msg_last_role_for_registration#:#Deve essere disponibile almeno un ruolo nel form di registrazione dei nuovi utenti. Questo ruolo & +common#:#msg_last_role_for_registration#:#Almeno un ruolo deve essere disponibile nel modulo di registrazione per i nuovi utenti. Questo ruolo è attualmente l'unico disponibile. common#:#msg_link_clipboard_p#:#Ora, si prega di selezionare la posizione desiderata, dove gli oggetti selezionati devono essere collegati e fare clic sul pulsante Incolla. common#:#msg_link_clipboard_s#:#Ora, si prega di selezionare la posizione desiderata, dove gli oggetti selezionati devono essere collegati e fare clic sul pulsante Incolla. -common#:#msg_linked#:#Gli oggetti immagazzinati negli appunti sono stati collegati. +common#:#msg_linked#:#Gli oggetti selezionati sono stati collegati. common#:#msg_may_not_contain#:#Questo oggetto potrebbe non contenere oggetti di tipo: common#:#msg_min_one_role#:#Ogni utente deve avere almeno un ruolo! common#:#msg_multi_language_selected#:#Hai selezionato la stessa lingua per traduzioni differenti! -common#:#msg_no_default_language#:#Non & +common#:#msg_no_default_language#:#Nessuna lingua predefinita specificata! È necessario definire una traduzione come traduzione predefinita. common#:#msg_no_delete_yourself#:#Non puoi eliminare il tuo stesso utente. common#:#msg_no_file#:#Non hai scelto un file -common#:#msg_no_files_selected#:#No files selected###29 07 2022 new variable +common#:#msg_no_files_selected#:#No files selected###09 03 2022 new variable common#:#msg_no_language_selected#:#Nessuna lingua specificata! Devi definire una lingua per ogni traduzione. -common#:#msg_no_perm_assign_role_to_user#:#Non hai sufficienti diritti per assegnare il ruolo dell& -common#:#msg_no_perm_assign_user_to_role#:#Non hai sufficienti diritti per modificare l& +common#:#msg_no_perm_assign_role_to_user#:#Non sei autorizzato a modificare l'assegnazione del ruolo dell'utente +common#:#msg_no_perm_assign_user_to_role#:#Non sei autorizzato a modificare l'assegnazione dell'utente common#:#msg_no_perm_copy#:#Non hai i diritti per creare una copia dei seguenti oggetti: common#:#msg_no_perm_create_rolt#:#Non hai i diritti per aggiungere template di ruoli common#:#msg_no_perm_cut#:#Non hai i diritti per tagliare i seguenti oggetti: common#:#msg_no_perm_delete#:#Non hai i diritti per eliminare i seguenti oggetti: common#:#msg_no_perm_link#:#Non hai i diritti per creare dei collegamenti dai seguenti oggetti: common#:#msg_no_perm_modify_rolt#:#Non hai i diritti per modificare i template dei ruoli -common#:#msg_no_perm_modify_user#:#Non hai i diritti per modificare i dati dell& +common#:#msg_no_perm_modify_user#:#Non sei autorizzato a modificare i dati dell'utente common#:#msg_no_perm_paste#:#Non hai i diritti per incollare i seguenti oggetti: common#:#msg_no_perm_paste_object_in_folder#:#Non ha il permesso di incollare l’oggetto %s nella cartella %s. common#:#msg_no_perm_perm#:#Non hai i diritti per modificare le impostazioni dei permessi common#:#msg_no_perm_read#:#Non hai i diritti per accedere a questo oggetto. -common#:#msg_no_perm_read_item#:#You have no permission to access item '%s'. +common#:#msg_no_perm_read_item#:#Non sei autorizzato ad accedere all'elemento '%s'. common#:#msg_no_perm_read_lm#:#Non hai i diritti per accedere a questo modulo. -common#:#msg_no_perm_view_roles_of_user#:#You have no permission to view the role assignment of this user###29 10 2025 new variable +common#:#msg_no_perm_view_roles_of_user#:#You have no permission to view the role assignment of this user###26 08 2025 new variable common#:#msg_no_perm_write#:#Non hai i diritti di scrittura common#:#msg_no_search_result#:#Nessun risultato trovato common#:#msg_no_search_string#:#Per favore, inserisci il criterio di ricerca common#:#msg_no_title#:#Per favore inserisci un titolo. -common#:#msg_not_available_for_anon#:#La pagina che hai scelto & -common#:#msg_not_in_itself#:#Non & +common#:#msg_not_available_for_anon#:#La pagina che hai scelto è accessibile solo agli utenti registrati +common#:#msg_not_in_itself#:#Non è possibile incollare l'oggetto in sé common#:#msg_obj_already_deleted#:#L'oggetto è già stato eliminato. common#:#msg_obj_created#:#Oggetto creato. -common#:#msg_obj_exists#:#Questo oggetto esiste gi& +common#:#msg_obj_exists#:#Questo oggetto esiste già in questa cartella common#:#msg_obj_exists_in_folder#:#L’oggetto %s esiste ancora nella cartella %s. common#:#msg_obj_may_not_contain_objects_of_type#:#L’oggetto %s non può contenere oggetti di tipo: %s. common#:#msg_obj_modified#:#Modifiche salvate. common#:#msg_obj_no_download#:#non possono essere scaricati. -common#:#msg_obj_no_link#:#non possono essere collegati +common#:#msg_obj_no_link#:#Non è possibile collegare oggetti contenitore come categorie, corsi, gruppi o cartelle per ragioni tecniche. Si possono invece collegare diversi oggetti singoli all'interno di un tale contenitore ad altre aree o creare un link di categoria, un link di corso o un link di gruppo. common#:#msg_obj_perm_download#:#Non hai abbastanza diritti per scaricare i seguenti oggetti: -common#:#msg_paste_object_not_in_itself#:#It's not possible to paste the object %s in itself. +common#:#msg_paste_object_not_in_itself#:#Non è possibile incollare l'oggetto %s in se stesso. common#:#msg_perm_adopted_from1#:#Impostazione dei permessi adottata da -common#:#msg_perm_adopted_from2#:#(l& +common#:#msg_perm_adopted_from2#:#(Le impostazioni sono state salvate!) common#:#msg_perm_adopted_from_itself#:#Non puoi assegnare le impostazioni dei permessi del corrente ruolo/template di ruolo a se stesso. common#:#msg_removed#:#Oggetti cancellati dal sistema. -common#:#msg_role_reserved_prefix#:#Il prefisso & +common#:#msg_role_reserved_prefix#:#Il prefisso "il_" è riservato ai ruoli generati automaticamente. Scegli un altro nome common#:#msg_roleassignment_changed#:#Assegnamento del ruolo cambiato -common#:#msg_sysrole_not_deletable#:#Il ruolo di sistema non pu& -common#:#msg_sysrole_not_editable#:#Le impostazioni dei permessi del ruolo di amministratore non possono essere cambiate. Il ruolo di amministratore garantisce agli utenti a cui & -common#:#msg_to_many_files#:#Too many files selected, allowed amount of files:###29 07 2022 new variable +common#:#msg_sysrole_not_deletable#:#Il ruolo di sistema non può essere eliminato +common#:#msg_sysrole_not_editable#:#Le impostazioni di autorizzazione del ruolo di sistema non possono essere modificate. Il ruolo del sistema garantisce a tutti gli utenti assegnati un accesso illimitato a tutti gli oggetti e le funzioni. +common#:#msg_to_many_files#:#Too many files selected, allowed amount of files:###09 03 2022 new variable common#:#msg_trash_empty#:#Non ci sono oggetti cancellati common#:#msg_undeleted#:#Cancellazione annullata. common#:#msg_unit_is_required#:#Questo input richiede un’unità. Si prega di inserire un valore corretto. -common#:#msg_unknown_value#:#An unknown value has been passed.###29 07 2022 new variable +common#:#msg_unknown_value#:#È stato passato un valore sconosciuto. common#:#msg_user_last_role1#:#I seguenti utenti sono assegnati solamente a questo ruolo: common#:#msg_user_last_role2#:#Per favore, cancella gli utenti o assegna loro un altro ruolo se vuoi eliminare questo ruolo. common#:#msg_userassignment_changed#:#Cambiato assegnazione utente. -common#:#msg_wrong_filetypes#:#Allowed Files-Types:###07 02 2020 new variable +common#:#msg_wrong_filetypes#:#Tipi di file consentiti: common#:#msg_wrong_format#:#Il valore che hai inserito non è nel formato valido. common#:#my_bms#:#I miei segnalibri -common#:#my_certificates#:#My Certificates -common#:#my_contacts#:#My Contact +common#:#my_certificates#:#I miei certificati +common#:#my_contacts#:#Il mio contatto common#:#my_courses#:#I miei corsi -common#:#my_courses_groups#:#My Courses & Groups +common#:#my_courses_groups#:#I miei corsi e gruppi common#:#my_staff#:#Staff common#:#name#:#Nome -common#:#nc_contact_requests_headline#:#Contact Requests###07 02 2020 new variable -common#:#nc_contact_requests_number_p#:#You have %s Contact Requests.###07 02 2020 new variable -common#:#nc_contact_requests_number_s#:#You have %s Contact Request.###07 02 2020 new variable -common#:#nc_contact_requests_prop_time#:#Time###07 02 2020 new variable +common#:#nc_contact_requests_headline#:#Richieste di contatto +common#:#nc_contact_requests_number_p#:#Hai %s Richieste di contatto. +common#:#nc_contact_requests_number_s#:#Hai %s Richieste di contatto. +common#:#nc_contact_requests_prop_time#:#Tempo common#:#never#:#mai common#:#new#:#Nuovo common#:#new_language#:#Nuova lingua common#:#new_pass_equals_old_pass#:#La nuova password è uguale alla precedente. common#:#newline#:#Nuova riga -common#:#news#:#Novit& +common#:#news#:#Novità common#:#next#:#Successivo common#:#no#:#No common#:#no_access_item#:#Non puoi accedere a questo oggetto. common#:#no_access_item_public#:#Non puoi accedere a questo oggetto nella sezione pubblica. -common#:#no_accessibility_control_concept_description#:#There is currently no Accessibility Control Concept provided with this installation. Please contact the Accessibility Point of Contact.###07 02 2020 new variable +common#:#no_accessibility_control_concept_description#:#Attualmente non esiste un concetto di controllo dell'accessibilità fornito con questa installazione. Contatta il Punto di contatto per l'accessibilità. common#:#no_checkbox#:#Nesuna opzione selezionata! common#:#no_condition_selected#:#Seleziona una precondizione. common#:#no_date#:#Manca la data common#:#no_gallery_users_available#:#Attualmente non ci sono utenti nella galleria. common#:#no_global_role_left#:#Tutti gli utenti devono essere assegnati ad almeno un ruolo. -common#:#no_import_file_found#:#Non & -common#:#no_items#:#No Items +common#:#no_import_file_found#:#Nessun file di importazione trovato +common#:#no_items#:#Questo oggetto è vuoto e non contiene elementi. common#:#no_limit#:#Nessun limite common#:#no_mkisofs_configured#:#È necessario configurare l'utilità mkisofs nel Setup ILIAS per eseguire l'esportazione ISO -common#:#no_parent_access#:#Non & +common#:#no_parent_access#:#Nessun accesso a un oggetto coordinato! common#:#no_permission#:#Non hai sufficienti diritti -common#:#no_roles_user_can_be_assigned_to#:#Non ci sono ruoli globali ai quali l& +common#:#no_roles_user_can_be_assigned_to#:#Non ci sono ruoli globali a cui l'utente può essere assegnato. Pertanto non è consentito aggiungere utenti. common#:#no_start_file#:#Nessun file di avvio. common#:#no_title#:#Nessun titolo common#:#no_users_selected#:#Per favore seleziona un utente. -common#:#no_xml_file_found_in_zip#:#Non & -common#:#noc#:#Notification Center###07 02 2020 new variable -common#:#non_internal_local_roles_only#:#Ruoli locali (definiti dall& +common#:#no_xml_file_found_in_zip#:#File XML nel file zip non trovato: +common#:#noc#:#Centro Notifiche +common#:#non_internal_local_roles_only#:#Ruoli locali (solo definiti dall'utente) common#:#none#:#Nessuno common#:#normal#:#Normale common#:#not_available#:#Non è disponibile @@ -4869,34 +4869,34 @@ common#:#notifications#:#Notifiche common#:#nr_following_sessions#:#%1sessione/i seguente/i... common#:#num_of_selected_files#:#%s file selezionato/i common#:#num_users#:#Numero di utenti -common#:#numberedlist_action#:#Insert Numbered List - Click to insert a numbered list.###26 08 2024 new variable +common#:#numberedlist_action#:#Insert Numbered List - Click to insert a numbered list.###30 04 2024 new variable common#:#obj#:#Oggetto -common#:#obj_accs#:#Accessibilita' +common#:#obj_accs#:#Accessibilità common#:#obj_accs_desc#:#Impostazioni per le funzioni di accessibilità. common#:#obj_adm#:#Amministrazione common#:#obj_adm_desc#:#Questa sezione contiene tutte le schede che consentono di amministrare la tua installazione di ILIAS. -common#:#obj_adma#:#General Settings###29 10 2025 new variable -common#:#obj_adma_desc#:#Important settings for the whole installation###29 10 2025 new variable -common#:#obj_adn#:#Administrative Notifications###29 07 2022 new variable +common#:#obj_adma#:#General Settings###28 11 2025 new variable +common#:#obj_adma_desc#:#Important settings for the whole installation###28 11 2025 new variable +common#:#obj_adn#:#Annunci amministrativi common#:#obj_adve#:#Editing Avanzato common#:#obj_adve_desc#:#Impostazioni di amministrazioni per editing avanzato come Editors JavaScript, LaTeX support etc.. common#:#obj_ass#:#Risorsa common#:#obj_assf#:#Test&Valutazioni common#:#obj_assf_desc#:#Impostazioni del log di Test&Valutazioni common#:#obj_auth#:#Autenticazione -common#:#obj_auth_desc#:#Per configurare la modalit& +common#:#obj_auth_desc#:#Configura qui la tua modalità di autenticazione (locale, LDAP, ...) e le nuove impostazioni di registrazione dell'account. common#:#obj_awra#:#Strumento “Chi è online?” common#:#obj_awra_desc#:#Gestisci strumento “Chi è online?” common#:#obj_bdga#:#Badge common#:#obj_bdga_desc#:#Tipi amministrativi, modelli di immagine e badge di attività -common#:#obj_bgtk#:#Background Task###07 02 2020 new variable +common#:#obj_bgtk#:#Task in background common#:#obj_bibl#:#Bibliografia common#:#obj_bibs#:#Bibliografia common#:#obj_bibs_desc#:#Amministrazione Bibliografia common#:#obj_blog#:#Blog common#:#obj_blog_duplicate#:#Copia blog -common#:#obj_bnmk#:#Benchmarking###29 10 2025 new variable -common#:#obj_bnmk_desc#:#Recording and display of database query durations###29 10 2025 new variable +common#:#obj_bnmk#:#Benchmarking###28 11 2025 new variable +common#:#obj_bnmk_desc#:#Recording and display of database query durations###28 11 2025 new variable common#:#obj_book#:#Gruppo di prenotazione common#:#obj_cadm#:#Contatti common#:#obj_cadm_desc#:#Amministrazione contatti @@ -4908,22 +4908,22 @@ common#:#obj_catr#:#Categoria Reference common#:#obj_cert#:#Certificati common#:#obj_cert_desc#:#Impostazioni per i certificati common#:#obj_chap#:#Capitolo -common#:#obj_chta#:#Chatrooms +common#:#obj_chta#:#Chatroom common#:#obj_chtr#:#Chatroom -common#:#obj_chtr_duplicate#:#Copy Chat Room###29 07 2022 new variable -common#:#obj_cmis#:#xAPI/cmi5###07 02 2020 new variable -common#:#obj_cmis_desc#:#Learning Record Store Types Configuration###07 02 2020 new variable -common#:#obj_cmix#:#xAPI/cmi5###07 02 2020 new variable -common#:#obj_cmps#:#Modules, Services and Plugins +common#:#obj_chtr_duplicate#:#Copy Chat Room###09 03 2022 new variable +common#:#obj_cmis#:#xAPI/cmi5 +common#:#obj_cmis_desc#:#Configurazione dei Learning Record Store Types +common#:#obj_cmix#:#xAPI/cmi5 +common#:#obj_cmps#:#Moduli, servizi e plugin common#:#obj_cmps_desc#:#Impostazioni Generali per Moduli del repository Servizi e Plugin. -common#:#obj_coms#:#Comments###07 02 2020 new variable -common#:#obj_coms_desc#:#Comments settings###07 02 2020 new variable -common#:#obj_copa#:#Content Page -common#:#obj_cpad#:#Content Pages###29 07 2022 new variable -common#:#obj_cpad#_desc#:#Content Page Administration###29 07 2022 new variable -common#:#obj_cpad_desc#:#Content Page Administration###29 07 2022 new variable -common#:#obj_cron#:#Cron Jobs###29 10 2025 new variable -common#:#obj_cron_desc#:#List of all Cron Jobs###29 10 2025 new variable +common#:#obj_coms#:#Commenti +common#:#obj_coms_desc#:#Impostazioni dei commenti +common#:#obj_copa#:#Pagina dei contenuti +common#:#obj_cpad#:#Pagine dei contenuti +common#:#obj_cpad#_desc#:#Amministrazione delle pagine dei contenuti +common#:#obj_cpad_desc#:#Amministrazione delle pagine dei contenuti +common#:#obj_cron#:#Cron Jobs###28 11 2025 new variable +common#:#obj_cron_desc#:#List of all Cron Jobs###28 11 2025 new variable common#:#obj_crs#:#Corso common#:#obj_crs_duplicate#:#Copia Corso common#:#obj_crsr#:#Riferimento al Corso @@ -4933,25 +4933,25 @@ common#:#obj_crsv#:#Certificato del corso common#:#obj_dbk#:#Libro digitale common#:#obj_dcl#:#Raccolta dati common#:#obj_dcl_duplicate#:#Copia raccolta dati -common#:#obj_dpro#:#Declaration of Data Protection###26 08 2024 new variable -common#:#obj_dpro_desc#:#Declaration of Data Protection Settings###26 08 2024 new variable -common#:#obj_dshs#:#Dashboard###07 02 2020 new variable -common#:#obj_dshs_desc#:#Dashboard settings###07 02 2020 new variable +common#:#obj_dpro#:#Declaration of Data Protection###30 04 2024 new variable +common#:#obj_dpro_desc#:#Declaration of Data Protection Settings###30 04 2024 new variable +common#:#obj_dshs#:#Dashboard +common#:#obj_dshs_desc#:#Impostazioni Dashboard common#:#obj_ecss#:#ECS common#:#obj_ecss_desc#:#Impostazioni generali di ECS -common#:#obj_etal#:#Employee Talk +common#:#obj_etal#:#Employee Talk###31 03 2023 new variable common#:#obj_exc#:#Esercitazione common#:#obj_exc_duplicate#:#Copia esercizio common#:#obj_excv#:#Esercizio certificato common#:#obj_extt#:#Software di terze parti common#:#obj_extt_desc#:#La configurazione di software o servizi esterni che sono supportati da ILIAS -common#:#obj_facs#:#File Access +common#:#obj_facs#:#Accesso ai File common#:#obj_facs_desc#:#Configurazione accesso ai file e alle cartelle -common#:#obj_file#:#Scegli il file +common#:#obj_file#:#File common#:#obj_file_duplicate#:#File duplicato common#:#obj_file_inline#:#File modulo di apprendimento -common#:#obj_fils#:#File Services###29 07 2022 new variable -common#:#obj_fils_desc#:#Configuration of File Service Settings.###29 07 2022 new variable +common#:#obj_fils#:#File Services +common#:#obj_fils_desc#:#Configurazione delle impostazioni di servizio dei file common#:#obj_fold#:#Cartella common#:#obj_fold_duplicate#:#Copia cartella common#:#obj_frm#:#Forum @@ -4962,11 +4962,11 @@ common#:#obj_glo#:#Glossario common#:#obj_glo_duplicate#:#Copia glossario common#:#obj_grp#:#Gruppo common#:#obj_grp_duplicate#:#Copia Gruppo -common#:#obj_grpr#:#Group Reference +common#:#obj_grpr#:#Riferimento di gruppo common#:#obj_grps#:#Gruppo common#:#obj_grps_desc#:#Impostazioni generali per gruppi -common#:#obj_gsfo#:#Footer###29 10 2025 new variable -common#:#obj_gsfo_desc#:#Administrate Footer Layout and Content###29 10 2025 new variable +common#:#obj_gsfo#:#Footer###28 11 2025 new variable +common#:#obj_gsfo_desc#:#Administrate Footer Layout and Content###28 11 2025 new variable common#:#obj_hlps#:#Sistema di aiuto common#:#obj_hlps_desc#:#Impostazioni per la Guida in linea common#:#obj_htlm#:#Modulo HTML @@ -4976,8 +4976,8 @@ common#:#obj_iass_duplicate#:#Copia assegnazione individuale common#:#obj_iass_select#:#-- Si prega di selezionare un’assegnazione individuale -- common#:#obj_itgr#:#Voce gruppo common#:#obj_ldap_desc#:#Configura le impostazioni globali LDAP. -common#:#obj_lhts#:#Learning History###07 02 2020 new variable -common#:#obj_lhts_desc#:#Learning history settings###07 02 2020 new variable +common#:#obj_lhts#:#Storia del percorso di apprendimento +common#:#obj_lhts_desc#:#Impostazioni common#:#obj_lm#:#Modulo ILIAS common#:#obj_lm_duplicate#:#Copia il modulo di apprendimento common#:#obj_lng#:#Lingua @@ -4988,78 +4988,78 @@ common#:#obj_logs_desc#:#Impostazioni generali di registrazione common#:#obj_lrss#:#Risorse di apprendimento common#:#obj_lrss_desc#:#Configura tutti i moduli learning common#:#obj_lso#:#Learning Sequence -common#:#obj_lso_duplicate#:#Copy Learning Sequence -common#:#obj_lsos#:#Learning Sequences###29 07 2022 new variable -common#:#obj_lsos_desc#:#General settings for Learning Sequences###29 07 2022 new variable -common#:#obj_lti#:#LTI Consumer###07 02 2020 new variable +common#:#obj_lso_duplicate#:#Copia Learning Sequence +common#:#obj_lsos#:#Learning Sequences +common#:#obj_lsos_desc#:#Impostazioni generali delle Learning Sequence +common#:#obj_lti#:#Consumer LTI common#:#obj_ltis#:#LTI common#:#obj_ltis_desc#:#Interoperabilità degli strumenti di apprendimento common#:#obj_mail#:#Configurazione posta -common#:#obj_mail_desc#:#Per configurare le impostazioni globali della posta. -common#:#obj_mailr#:#Read Mail###28 10 2024 new variable -common#:#obj_mailu#:#Unread Mail###28 10 2024 new variable -common#:#obj_maps#:#Maps###29 10 2025 new variable +common#:#obj_mail_desc#:#Configura qui le impostazioni globali della posta. +common#:#obj_mailr#:#Read Mail###28 11 2025 new variable +common#:#obj_mailu#:#Unread Mail###28 11 2025 new variable +common#:#obj_maps#:#Maps###28 11 2025 new variable common#:#obj_mcst#:#MediaCast common#:#obj_mcst_duplicate#:#Copia Mediacast common#:#obj_mcts#:#Mediacast common#:#obj_mcts_desc#:#Impostazioni Generali per mediacast. common#:#obj_mep#:#Libreria multimediale common#:#obj_mep_duplicate#:#Copia gruppo di supporto -common#:#obj_mme#:#Main Menu +common#:#obj_mme#:#Menu principale common#:#obj_mob#:#Oggetto multimediale -common#:#obj_mobs#:#Media Objects/Pools +common#:#obj_mobs#:#Oggetti multimediali / Media Pool common#:#obj_mobs_desc#:#Impostazioni per oggetti multimediali e gruppi multimediali. common#:#obj_not_found#:#Oggetto non trovato -common#:#obj_nota#:#Notifications###29 07 2022 new variable -common#:#obj_nota_desc#:#Notification Administration###29 07 2022 new variable -common#:#obj_nots#:#Notes###07 02 2020 new variable -common#:#obj_nots_desc#:#Notes settings###07 02 2020 new variable -common#:#obj_nwss#:#News and Web Feeds Settings +common#:#obj_nota#:#Notifications###31 03 2023 new variable +common#:#obj_nota_desc#:#Notifications Administration###31 03 2023 new variable +common#:#obj_nots#:#Note +common#:#obj_nots_desc#:#Impostazioni Note +common#:#obj_nwss#:#Impostazioni notizie e feed Web common#:#obj_nwss_desc#:#Impostazioni per novità interne e feed web esterni. common#:#obj_objf#:#Gestione oggetti common#:#obj_objf_desc#:#Per configurare i tipi di oggetto ed i permessi sugli stessi (solo per utenti esperti!). common#:#obj_orgu#:#Unità organizzativa common#:#obj_orgu_description#:#Creazione e modifica della struttura organizzativa common#:#obj_page#:#Pagina -common#:#obj_peac#:#Accordion###29 07 2022 new variable -common#:#obj_peadl#:#Advanced List###29 07 2022 new variable -common#:#obj_peadt#:#Advanced Table###29 07 2022 new variable -common#:#obj_pecd#:#Code###29 07 2022 new variable -common#:#obj_pech#:#Consultation Hour###29 07 2022 new variable -common#:#obj_pecl#:#Column Layout###29 07 2022 new variable -common#:#obj_peclp#:#Clipboard###29 07 2022 new variable -common#:#obj_pecom#:#Competences###29 07 2022 new variable -common#:#obj_pecrs#:#Course###29 07 2022 new variable -common#:#obj_pecrt#:#Certificate###29 07 2022 new variable -common#:#obj_pecs#:#Content Snippet###29 07 2022 new variable -common#:#obj_pedt#:#Data Table###29 07 2022 new variable -common#:#obj_pefl#:#File List###29 07 2022 new variable -common#:#obj_peim#:#interactive Media###29 07 2022 new variable -common#:#obj_pelh#:#Learning History###29 07 2022 new variable -common#:#obj_pemed#:#Image/Audio/Video###29 07 2022 new variable -common#:#obj_pemp#:#Map###29 07 2022 new variable -common#:#obj_pepd#:#Personal Data###29 07 2022 new variable -common#:#obj_pepe#:#Plugin Element###29 07 2022 new variable -common#:#obj_pepl#:#Page List###29 07 2022 new variable -common#:#obj_peplh#:#Placeholder###29 07 2022 new variable -common#:#obj_pequ#:#Questions###29 07 2022 new variable -common#:#obj_perl#:#Ressource List###29 07 2022 new variable -common#:#obj_pesc#:#Section###29 07 2022 new variable -common#:#obj_petmp#:#Page Template###29 07 2022 new variable -common#:#obj_peusr#:#User###29 07 2022 new variable +common#:#obj_peac#:#Elenco a fisarmonica +common#:#obj_peadl#:#Lista avanzata +common#:#obj_peadt#:#Tabella Avanzata +common#:#obj_pecd#:#Codice +common#:#obj_pech#:#Orario colloquio +common#:#obj_pecl#:#Layout Colonna +common#:#obj_peclp#:#Appunti +common#:#obj_pecom#:#Competenze +common#:#obj_pecrs#:#Course +common#:#obj_pecrt#:#Certificato +common#:#obj_pecs#:#Frammento di contenuto +common#:#obj_pedt#:#Tabella Dati +common#:#obj_pefl#:#Lista File +common#:#obj_peim#:#Immagine interattiva +common#:#obj_pelh#:#Percorso di apprendimento +common#:#obj_pemed#:#Immagine/Audio/Video +common#:#obj_pemp#:#Mappa +common#:#obj_pepd#:#Dati personali +common#:#obj_pepe#:#Elemento Plugin +common#:#obj_pepl#:#Lista pagine +common#:#obj_peplh#:#Segnalibro +common#:#obj_pequ#:#Domande +common#:#obj_perl#:#Lista risorse +common#:#obj_pesc#:#Sezione +common#:#obj_petmp#:#Template di pagina +common#:#obj_peusr#:#Utente common#:#obj_pg#:#Pagina common#:#obj_poll#:#Gruppo -common#:#obj_poll_dupliate:#:#Copy Poll +common#:#obj_poll_dupliate:#:#Copia Sondaggio common#:#obj_poll_duplicate#:#Copia gruppo common#:#obj_prg#:#Programma di studio common#:#obj_prg_duplicate#:#Copia programma di studio common#:#obj_prg_select#:#-- Si prega di selezionare un programma di studio -- -common#:#obj_prgr#:#Link to Study Programme###07 02 2020 new variable -common#:#obj_prgrs#:#Links to Study Programmes###07 02 2020 new variable +common#:#obj_prgr#:#Link to Study Programme +common#:#obj_prgrs#:#Links to Study Programmes common#:#obj_prgs#:#Programmi di studio common#:#obj_prgs_desc#:#Amministrazione tipo di programma -common#:#obj_prss#:#Personal Resources###07 02 2020 new variable -common#:#obj_prss_desc#:#Personal resources settings###07 02 2020 new variable +common#:#obj_prss#:#Risorse personali +common#:#obj_prss_desc#:#Impostazioni delle risorse personali common#:#obj_prtf#:#Portfolio common#:#obj_prtt#:#Modello di portfolio common#:#obj_prtt_duplicate#:#Copia modello di portfolio @@ -5072,7 +5072,7 @@ common#:#obj_rcat#:#Categoria ESC common#:#obj_rcrs#:#Link-Corso common#:#obj_recf#:#Oggetti ripristinati common#:#obj_recf_desc#:#Contiene oggetti ripristinati dal sistema di controllo. -common#:#obj_rep#:#Repository###07 02 2020 new variable +common#:#obj_rep#:#Repository common#:#obj_reps#:#Repository common#:#obj_reps_desc#:#Impostazioni generali per il Repository common#:#obj_rfil#:#File ESC @@ -5085,7 +5085,7 @@ common#:#obj_rolf_desc#:#Per configurare i ruoli. common#:#obj_rolf_local#:#Ruoli locali common#:#obj_rolf_local_desc#:#Contiene ruoli locali degli oggetti no. common#:#obj_rolt#:#Template di Ruolo -common#:#obj_root#:#Root +common#:#obj_root#:#Repository - Home common#:#obj_rtst#:#Test ESC common#:#obj_rwik#:#ECS Wiki common#:#obj_sahs#:#Modulo SCORM/AICC @@ -5094,47 +5094,47 @@ common#:#obj_sco#:#SCO common#:#obj_scov#:#Certificato SCORM common#:#obj_seas#:#Configurazione ricerche common#:#obj_seas_desc#:#Imposta i criteri di ricerca qui. -common#:#obj_serv#:#Server###29 10 2025 new variable -common#:#obj_serv_desc#:#Settings of the sever###29 10 2025 new variable +common#:#obj_serv#:#Server###28 11 2025 new variable +common#:#obj_serv_desc#:#Settings of the sever###28 11 2025 new variable common#:#obj_sess#:#Sessione common#:#obj_sess_duplicate#:#Copia Sessione -common#:#obj_skmg#:#Skill Management -common#:#obj_skmg_desc#:#Manage skills and skill categories. +common#:#obj_skmg#:#Gestione Competenze +common#:#obj_skmg_desc#:#Gestire le competenze e le categorie di competenze. common#:#obj_spl#:#Raccolta di domande (per sondaggi) common#:#obj_spl_select#:#-- Seleziona una Raccolta di Domande (Question Pool) per un sondaggio -- common#:#obj_st#:#Capitolo -common#:#obj_stus#:#Shortlinks###29 10 2025 new variable -common#:#obj_stus_desc#:#Global Shortlinks Settings###29 10 2025 new variable +common#:#obj_stus#:#Shortlinks###28 11 2025 new variable +common#:#obj_stus_desc#:#Global Shortlinks Settings###28 11 2025 new variable common#:#obj_sty#:#Stile -common#:#obj_stys#:#Style and Layout +common#:#obj_stys#:#Stile e Layout common#:#obj_stys_desc#:#Gestisci qui le impostazioni di sistema di interfaccia e stile common#:#obj_svy#:#Sondaggio common#:#obj_svy_duplicate#:#Copia Sondaggio -common#:#obj_svyf#:#Sondaggio +common#:#obj_svyf#:#Sondaggi common#:#obj_svyf_desc#:#Impostazioni della piattaforma per lo strumento sondaggio common#:#obj_sysc#:#Controllo del sistema common#:#obj_sysc_desc#:#Controllo del sistema e strumenti di riparazione common#:#obj_tags#:#Etichettatura common#:#obj_tags_desc#:#Impostazioni per la funzione di etichettatura. -common#:#obj_tala#:#Talk Templates -common#:#obj_tala_desc#:#Talk Templates -common#:#obj_tals#:#Employee Talk Series -common#:#obj_talt#:#Talk Template -common#:#obj_task#:#Task###07 02 2020 new variable +common#:#obj_tala#:#Talk Templates###31 03 2023 new variable +common#:#obj_tala_desc#:#Talk Templates###31 03 2023 new variable +common#:#obj_tals#:#Employee Talk Series###31 03 2023 new variable +common#:#obj_talt#:#Talk Template###31 03 2023 new variable +common#:#obj_task#:#Da Fare common#:#obj_tax#:#Tassonomia common#:#obj_taxf#:#Tassonomie -common#:#obj_tool_setting_calendar#:#Show Calendar -common#:#obj_tool_setting_calendar_active#:#Calendar###29 07 2022 new variable -common#:#obj_tool_setting_calendar_active_info#:#A calendar is available.###29 07 2022 new variable -common#:#obj_tool_setting_calendar_info#:#The "Calendar" block will be displayed inside the "Content" tab. +common#:#obj_tool_setting_calendar#:#Mostra il calendario +common#:#obj_tool_setting_calendar_active#:#Calendario +common#:#obj_tool_setting_calendar_active_info#:#Un calendario è disponibile +common#:#obj_tool_setting_calendar_info#:#Il blocco "Calendario" verrà visualizzato nella scheda "Contenuto". common#:#obj_tool_setting_custom_metadata#:#Metadati personalizzati common#:#obj_tool_setting_custom_metadata_info#:#Se attivati, i metadati possono essere configurati. -common#:#obj_tool_setting_news#:#Show News -common#:#obj_tool_setting_news_info#:#The "News" block will be displayed inside the "Content" tab. +common#:#obj_tool_setting_news#:#Mostra News +common#:#obj_tool_setting_news_info#:#Il blocco "Notizie" verrà visualizzato nella scheda "Contenuto". common#:#obj_tos#:#Termini di servizio common#:#obj_tos_desc#:#Termini delle impostazioni di servizio common#:#obj_trac#:#Tracciamento utenti -common#:#obj_trac_desc#:#Per configurare la modalit& +common#:#obj_trac_desc#:#Statistiche e panoramica sui progressi e le impostazioni common#:#obj_tst#:#Test common#:#obj_tst_duplicate#:#Copia Test common#:#obj_tstv#:#Test certificato @@ -5143,8 +5143,8 @@ common#:#obj_user#:#Utente common#:#obj_usr#:#Utente common#:#obj_usrf#:#Gestione utenti common#:#obj_usrf_desc#:#Per amministrare gli utenti. -common#:#obj_wbdv#:#WebDAV###29 07 2022 new variable -common#:#obj_wbdv_desc#:#Configuration of WebDAV Settings.###29 07 2022 new variable +common#:#obj_wbdv#:#WebDAV +common#:#obj_wbdv_desc#:#Configurazione delle impostazioni WebDAV common#:#obj_wbrs#:#Collegamento web common#:#obj_wbrs_desc#:#Impostazioni generali per collegamenti web common#:#obj_webr#:#Risorsa web @@ -5160,7 +5160,7 @@ common#:#object_copy_in_progress#:#È stata avviata la copia. common#:#object_duplicated#:#Oggetto duplicato common#:#object_id#:#Id-oggetto common#:#object_imported#:#Oggetto importato -common#:#object_list#:#List of Objects###29 10 2025 new variable +common#:#object_list#:#List of Objects###28 11 2025 new variable common#:#objects#:#Oggetti common#:#objf#:#Oggetti common#:#objs_bibl#:#Bibliografie @@ -5169,33 +5169,33 @@ common#:#objs_book#:#Gruppi di prenotazione common#:#objs_cat#:#Contesti common#:#objs_catr#:#Categoria References common#:#objs_chtr#:#Chats -common#:#objs_cmix#:#Objects xAPI/cmi5###07 02 2020 new variable +common#:#objs_cmix#:#Objects xAPI/cmi5 common#:#objs_copa#:#Content Pages common#:#objs_crs#:#Corsi common#:#objs_crsr#:#Riferimenti Corsi common#:#objs_dcl#:#Raccolte dati -common#:#objs_etal#:#Employee Talks +common#:#objs_etal#:#Employee Talks###31 03 2023 new variable common#:#objs_exc#:#Esercitazioni common#:#objs_file#:#File common#:#objs_fold#:#Cartelle common#:#objs_frm#:#Forum common#:#objs_glo#:#Glossari common#:#objs_grp#:#Gruppi -common#:#objs_grpr#:#Group References +common#:#objs_grpr#:#Riferimenti di gruppo common#:#objs_htlm#:#Moduli HTML common#:#objs_iass#:#Assegnazioni individuali common#:#objs_itgr#:#Voce gruppi common#:#objs_lm#:#Moduli ILIAS common#:#objs_lres#:#Risorse di apprendimento -common#:#objs_lso#:#Learning Sequences -common#:#objs_lti#:#LTI Consumers###07 02 2020 new variable +common#:#objs_lso#:#Sequenze di apprendimento +common#:#objs_lti#:#Consumer LTI common#:#objs_mail#:#Mail common#:#objs_mcst#:#Mediacast common#:#objs_mep#:#Librerie multimediali -common#:#objs_orgu#:#Organisational Unit +common#:#objs_orgu#:#Unità organizzative common#:#objs_poll#:#Gruppi common#:#objs_prg#:#Programmi di studio -common#:#objs_prgr#:#Links to Study Programmes###29 07 2022 new variable +common#:#objs_prgr#:#Link al Programma di Studi common#:#objs_prtf#:#Portfolio common#:#objs_prtt#:#Modelli di portfolio common#:#objs_qpl#:#Raccolte di domande @@ -5207,23 +5207,23 @@ common#:#objs_rglo#:#Glossari ESC common#:#objs_rgrp#:#Gruppi ESC common#:#objs_rlm#:#Moduli di apprendimento ESC common#:#objs_role#:#Ruoli -common#:#objs_rolf#:#Role Folders###28 10 2024 new variable +common#:#objs_rolf#:#Role Folders###08 10 2024 new variable common#:#objs_rtst#:#Test ESC common#:#objs_rwik#:#ECS Wiki common#:#objs_sahs#:#Moduli SCORM/AICC common#:#objs_sess#:#Sessioni -common#:#objs_skee#:#Competence Trees###26 08 2024 new variable +common#:#objs_skee#:#Competence Trees###28 11 2023 new variable common#:#objs_spl#:#Raccolte di domande (per sondaggi) common#:#objs_st#:#Capitoli common#:#objs_svy#:#Sondaggi -common#:#objs_tala#:#Talk Templates -common#:#objs_talt#:#Talk Templates +common#:#objs_tala#:#Talk Templates###31 03 2023 new variable +common#:#objs_talt#:#Talk Templates###31 03 2023 new variable common#:#objs_tst#:#Test common#:#objs_webr#:#Risorse web common#:#objs_wiki#:#Wiki common#:#of#:#di common#:#offline#:#offline -common#:#offline_mode#:#Offline-Mode +common#:#offline_mode#:#Modo offline common#:#ok#:#OK common#:#old#:#Vecchio common#:#omit#:#Ometti @@ -5231,9 +5231,9 @@ common#:#omit_all#:#Ometti tutto common#:#on_waiting_list#:#Sei nella lista di attesa common#:#online#:#Online common#:#online_time#:#Tempo online (DD:HH:MM:SS) -common#:#only_active#:#Only Active###07 02 2020 new variable -common#:#only_inactive#:#Only Inactive###07 02 2020 new variable -common#:#open#:#Open +common#:#only_active#:#Solo attivo +common#:#only_inactive#:#Solo inattivo +common#:#open#:#Aperto common#:#operation#:#Operazione common#:#optimize#:#Ottimizza common#:#option#:#Opzioni @@ -5257,25 +5257,25 @@ common#:#page#:#Pagina common#:#page_count#:#Conteggio pagine common#:#page_layout#:#Layout pagina common#:#page_layouts#:#Layout pagina -common#:#pagination_label_x_of_y#:#Page %1$d of %2$d###07 02 2020 new variable +common#:#pagination_label_x_of_y#:#Pagina %1$d di %2$d common#:#parameter#:#Parametro common#:#parse#:#Analizza -common#:#participate#:#Subscribe###07 02 2020 new variable +common#:#participate#:#Sottoscrivi common#:#passed#:#Superato common#:#passwd#:#Password common#:#passwd_generation#:#Generazione password -common#:#passwd_invalid#:#La nuova password non & +common#:#passwd_invalid#:#La nuova password non è valida! Sono ammessi solo i seguenti caratteri (minimo 6 caratteri): A-Z a-z 0-9 _.- +? common#:#passwd_not_match#:#I valori della nuova password non sono uguali! Per favore, riscrivi la nuova password. -common#:#passwd_wrong#:#La password inserita & +common#:#passwd_wrong#:#La password inserita è errata! common#:#password#:#Password common#:#password_allow_chars#:#Caratteri consentiti: %s -common#:#password_assistance_info#:#Se il servizio di assistenza per la password & -common#:#password_change_on_first_login_demand#:#Your initial password have to be changed before you can start using ILIAS services +common#:#password_assistance_info#:#Se l'assistenza tramite password è abilitata, nella pagina di accesso di ILIAS viene visualizzato il link "Hai dimenticato la password?". Gli utenti possono utilizzare questo collegamento per definire una nuova password per il proprio account utente senza richiedere l'assistenza di un amministratore di sistema. +common#:#password_change_on_first_login_demand#:#La password iniziale deve essere modificata prima di poter iniziare a utilizzare i servizi ILIAS common#:#password_contains_invalid_chars#:#La password contiene caratteri non validi common#:#password_contains_parts_of_login_err#:#La password scelta contiene il tuo nome utente. Si prega di inserire una nuova password. -common#:#password_empty#:#The password must not be empty. -common#:#password_expired#:#Your password is expired and have to be changed, because the last change was %s day(s) ago. -common#:#password_multiple_errors#:#Multiple criterias are not satisfied: +common#:#password_empty#:#La password non deve essere vuota. +common#:#password_expired#:#La tua password è scaduta e deve essere cambiata, perché l'ultima modifica è stata %s giorno/i fa. +common#:#password_multiple_errors#:#Criteri multipli non sono soddisfatti: common#:#password_must_chars_and_numbers#:#La password deve contenere caratteri e numeri. common#:#password_must_contain_lcase_chars#:#La password deve contenere almeno %s lettere minuscole. common#:#password_must_contain_ucase_chars#:#La password deve contenere almeno %s lettere maiuscole. @@ -5298,7 +5298,7 @@ common#:#pd_items_news#:#Includi notizie di voci personali common#:#pdf_export#:#Esportazione PDF common#:#perm_settings#:#Permessi common#:#perma_link#:#Collegamento permanente -common#:#perma_link_copied#:#Link to this page has been copied to the clipboard.###29 10 2025 new variable +common#:#perma_link_copied#:#Link to this page has been copied to the clipboard.###10 12 2024 new variable common#:#permission#:#Permesso common#:#permission_denied#:#Permesso negato common#:#permission_settings#:#Permessi @@ -5306,9 +5306,9 @@ common#:#person_title#:#Titolo common#:#personal_data#:#Informazioni generali common#:#personal_picture#:#Immagine Personale common#:#personal_profile#:#Profilo personale -common#:#personal_resources#:#Personal Resources###07 02 2020 new variable -common#:#personal_settings#:#Personal Settings -common#:#personalise_date_time#:#Personalise Date and Time Settings###29 10 2025 new variable +common#:#personal_resources#:#Risorse Personali +common#:#personal_settings#:#Impostazioni personali +common#:#personalise_date_time#:#Personalise Date and Time Settings###28 11 2025 new variable common#:#persons#:#Persone common#:#pg_add#:#Aggiungi pagina common#:#pg_new#:#Nuova pagina @@ -5318,7 +5318,7 @@ common#:#phone_mobile#:#Telefono cellulare common#:#phone_office#:#Telefono ufficio common#:#phrase#:#Frase common#:#please_choose#:#-- Seleziona -- -common#:#please_enter_target#:#Per favore, specifica l& +common#:#please_enter_target#:#Per favore, inserisci un target common#:#please_enter_title#:#Per favore, inserisci un titolo. common#:#please_select#:#-- Seleziona -- common#:#please_select_a_delivered_file_to_delete#:#Devi scegliere almeno uno tra i file inviati per eliminarlo! @@ -5337,20 +5337,20 @@ common#:#precondition_not_accessible#:#Non hai abbastanza consenso per visualizz common#:#precondition_required_itemlist#:#Premessa richiesta common#:#precondition_toggle#:#Premesse che devono essere soddisfatte per accedere a questo oggetto common#:#preconditions#:#Condizioni preliminari -common#:#preconditions_obligatory_hint#:#Please edit the following preconditions -common#:#preconditions_optional_hint#:#Please edit one of the following preconditions +common#:#preconditions_obligatory_hint#:#Modifica i seguenti presupposti +common#:#preconditions_optional_hint#:#Modifica una delle seguenti condizioni preliminari common#:#predefined_template#:#Template di ruolo predefiniti -common#:#preferences#:#User-defined Preferences -common#:#presentation_table_more#:#more +common#:#preferences#:#Preferenze definite dall'utente +common#:#presentation_table_more#:#Di Più common#:#preview#:#Anteprima common#:#preview_create#:#Crea anteprima common#:#preview_delete#:#Elimina anteprima -common#:#preview_image_size#:#Size of Preview Images###26 08 2024 new variable +common#:#preview_image_size#:#Size of Preview Images###30 04 2024 new variable common#:#preview_learner_info#:#Se abilitati, Corsi e Gruppi amministrazione, hanno la possibilita' di visualizzare il contenuto dalla prospettiva dell'utente.

If enabled, Course and Group administrators have the possibility to view the content form the perspective of a learner. common#:#preview_loading#:#Caricamento anteprima... common#:#preview_none#:#Anteprima (non ancora creata) -common#:#preview_not_possible#:#Creation of Previews is currently not possible, please read the documentation in %s.###26 08 2024 new variable -common#:#preview_renderers#:#Preview Renderers###29 07 2022 new variable +common#:#preview_not_possible#:#Creation of Previews is currently not possible, please read the documentation in %s.###30 04 2024 new variable +common#:#preview_renderers#:#Preview Renderers common#:#preview_settings#:#Anteprima file common#:#preview_show#:#Mostra anteprima common#:#preview_status_creating#:#L’anteprima si sta creando. Questo potrebbe richiedere un po’ di tempo... @@ -5361,20 +5361,20 @@ common#:#preview_status_pending#:#L’anteprima non è stata ancora creata. Ripr common#:#previous#:#Precedente common#:#prg_copy_threads_info#:#Si prega di decidere quali componenti del corso devono essere copiati, collegati o persino omessi. common#:#prg_wizard_page#:#Copia programma di studio (Passaggio2/2) -common#:#prgr_add#:#Add Study Programme Link###29 07 2022 new variable -common#:#prgr_edit_info#:#Please choose one Study Programme for creating a new link.###29 07 2022 new variable -common#:#prgr_new#:#Create Study Programme Link###29 07 2022 new variable -common#:#prgr_settings#:#Settings of Study Programme Link###26 08 2024 new variable +common#:#prgr_add#:#Add Study Programme Link###31 03 2023 new variable +common#:#prgr_edit_info#:#Please choose one Study Programme for creating a new link.###09 03 2022 new variable +common#:#prgr_new#:#Create Study Programme Link###09 03 2022 new variable +common#:#prgr_settings#:#Settings of Study Programme Link###31 03 2023 new variable common#:#print#:#Stampa common#:#print_view#:#Visualizzazione stampa common#:#private_notes#:#Note personali common#:#pro#:#Pro common#:#proceed#:#Procedi common#:#profile#:#Profilo -common#:#profile_changed#:#Il tuo profilo & +common#:#profile_changed#:#E-learning ILIAS - Il tuo profilo è cambiato common#:#profile_incomplete#:#Il tuo profilo è incompleto. Si prega di compilare tutti i dati richiesti. common#:#profile_of#:#Profilo di -common#:#properties#:#Propriet& +common#:#properties#:#Proprietà common#:#proxy#:#Proxy common#:#proxy_connectable#:#Connessione stabilita. common#:#proxy_host#:#Host @@ -5385,7 +5385,7 @@ common#:#proxy_port_info#:#Si prega di inserire una porta tra 0 e 65535, per ese common#:#proxy_port_numeric#:#La porta inserita deve avere un valore numerico tra 0 e 65535 common#:#proxy_socket_error#:#Errore socket: %s common#:#proxy_status#:#Proxy -common#:#proxy_status_info#:#To use a proxy in ILIAS (e.g. for web feeds or to check weblinks) please activate the checkbox above. +common#:#proxy_status_info#:#Per utilizzare un proxy in ILIAS (ad es. Per feed Web o per controllare i collegamenti Web), attivare la casella sopra. common#:#ps_export_scorm#:#SCORM dei dati di tracking common#:#ps_password_lowercase_chars_num#:#Lettere minuscole common#:#ps_password_lowercase_chars_num_info#:#Si prega di inserire il numero di lettere minuscole che deve contenere una password. Immettere 0 per disabilitare questo requisito. @@ -5394,7 +5394,7 @@ common#:#ps_password_must_not_contain_loginame_info#:#Se attivata, la password n common#:#ps_password_uppercase_chars_num#:#Lettere maiuscole common#:#ps_password_uppercase_chars_num_info#:#Si prega di inserire il numero di lettere maiuscole che deve contenere una password. Immettere 0 per disabilitare questo requisito. common#:#pub_section#:#Sezione pubblica -common#:#pub_section_info#:#If enabled, parts of the system (e.g. repository, user profiles) can be made available to the internet without authentification. The permissions of the "Anonymous" role will control the access to repository resources. +common#:#pub_section_info#:#Se abilitato, parti del sistema (ad es. Repository, profili utente) possono essere rese disponibili su Internet senza autenticazione. Le autorizzazioni del ruolo "Anonimo" controlleranno l'accesso alle risorse del repository. common#:#public#:#pubblico common#:#public_notes#:#Note pubbliche common#:#public_profile#:#Profilo pubblico @@ -5421,17 +5421,17 @@ common#:#refuse#:#Rifiuta common#:#reg_account_confirmation_successful#:#Il tuo account utente è stato riattivato. common#:#reg_goto_parent_membership_info#:#Solo i membri possono accedere all’oggetto di destinazione. common#:#reg_mail_body_2_confirmation#:#Il link sarà utile solo per %s, dopo di che bisognerà provare nuovamente dall’inizio. -common#:#reg_mail_body_3_confirmation#:#If this email means nothing to you, then it is possible that somebody else has entered your email address either deliberately or accidentally, so please ignore this email +common#:#reg_mail_body_3_confirmation#:#Se questa e-mail non significa nulla per te, è possibile che qualcun altro abbia inserito il tuo indirizzo e-mail deliberatamente o accidentalmente, quindi ignora questa e-mail common#:#reg_mail_body_forgot_password_info#:#Per ottenere la password, utilizza la funziona “Password dimenticata? ” nella schermata di accesso per richiedere una nuova password per questo account. common#:#reg_mail_body_salutation#:#Ciao common#:#reg_mail_body_text1#:#Benvenuto in ILIAS eLearning! common#:#reg_mail_body_text2#:#Per accedere ad ILIAS utilizza i seguenti dati: common#:#reg_mail_body_text3#:#Ulteriori informazioni personali: -common#:#reg_mail_subject#:#ILIAS - I tuoi dati di accesso -common#:#reg_mail_subject_confirmation#:#Your Confirmationlink -common#:#reg_passwd_via_mail#:#La password verr& +common#:#reg_mail_subject#:#I tuoi dati di accesso +common#:#reg_mail_subject_confirmation#:#Link di Conferma +common#:#reg_passwd_via_mail#:#La password verrà inviata al tuo indirizzo e-mail indicato di seguito. common#:#register#:#Registrati -common#:#register_notification#:#"%s" has applied for session "%s".###07 02 2020 new variable +common#:#register_notification#:#"%s" ha fatto domanda per la sessione "%s". common#:#registered_since#:#Registrato dal common#:#registered_user#:#utente registrato common#:#registered_users#:#utenti registrati @@ -5445,15 +5445,15 @@ common#:#rename_file#:#Rinomina il file common#:#renderer_supported_file_types#:#Tipi di file supportati common#:#renderer_supported_repo_types#:#Oggetti ILIAS supportati common#:#renderer_type_builtin#:#Incorporato -common#:#rep_main_page#:#Main Page +common#:#rep_main_page#:#Pagina Principale common#:#repeat_scan#:#Ripetizione ricerca virus ... common#:#repeat_scan_failed#:#Ripetizione ricerca virus fallita. common#:#repeat_scan_succeded#:#Ripetizione ricerca virus eseguita. common#:#replace_file#:#Sosituisci il file common#:#reply#:#Rispondi -common#:#report_accessibility_issue#:#Report Accessibility Issue###07 02 2020 new variable -common#:#report_accessibility_link#:#Reported Link:###07 02 2020 new variable -common#:#report_accessibility_link_mailto#:#Reported%20Link:###29 07 2022 new variable +common#:#report_accessibility_issue#:#Segnala problema di accessibilità +common#:#report_accessibility_link#:#Link segnalato: +common#:#report_accessibility_link_mailto#:#Reported%20Link:###29 06 2022 new variable common#:#repository#:#Risorse common#:#repository_admin#:#Risorse, Cestino e Permessi common#:#repository_admin_desc#:#Puoi impostare i permessi degli oggetti che sono in Risorse e ripristinare/rimuovere gli oggetti nel Cestino. @@ -5474,7 +5474,7 @@ common#:#role#:#Ruolo common#:#role_add_user#:#Aggiungi utente(i) al ruolo common#:#role_added#:#Ruolo aggiunto common#:#role_assignment#:#Ruolo assegnato -common#:#role_assignment_updated#:#L& +common#:#role_assignment_updated#:#L'assegnazione dei ruoli è stata aggiornata. common#:#role_edit#:#Modifica ruolo common#:#role_mailto#:#email per tutti gli utenti assegnati common#:#role_new#:#Nuovo ruolo @@ -5494,7 +5494,7 @@ common#:#rolf_create_role#:#Creare un ruolo common#:#rolf_create_rolt#:#Creare un template di ruolo common#:#rolf_delete#:#Eliminare un ruolo o un template di ruolo common#:#rolf_edit_permission#:#Modificare le impostazioni dei permessi -common#:#rolf_edit_userassignment#:#Modificare l& +common#:#rolf_edit_userassignment#:#Modifica assegnazione utente dei ruoli common#:#rolf_read#:#Accedere in lettura ad un ruolo o ad un template di ruolo common#:#rolf_visible#:#Vedere un ruolo o un template di ruolo common#:#rolf_write#:#Modificare un ruolo o un template di ruolo @@ -5505,51 +5505,51 @@ common#:#rolt_new#:#Nuovo template di ruolo common#:#row#:#Riga common#:#rows#:#Righe common#:#rpc_pdf_font#:#Fonti -common#:#rpc_pdf_font_info#:#Additional fonts for the generation of PDF files. Other fonts than "Helvetica" and "unifont" must be installed on the ILIAS server. +common#:#rpc_pdf_font_info#:#Caratteri aggiuntivi per la generazione di file PDF. Font diversi da "Helvetica" e "unifont" devono essere installati sul server ILIAS. common#:#rpc_pdf_generation#:#Genera PDF -common#:#sad#:#Sad +common#:#sad#:#Triste common#:#sahs#:#Modulo SCORM/AICC common#:#sahs_added#:#Aggiunto modulo SCORM/AICC common#:#sahs_export_file#:#ILIAS ha esportato il file di archivio SCORM -common#:#sahs_export_file_info#:#Use this option for a ZIP file that was exported directly from ILIAS. The file typically has titles such as 1675257903__4105__sahs_132295.zip.###26 08 2024 new variable +common#:#sahs_export_file_info#:#Use this option for a ZIP file that was exported directly from ILIAS. The file typically has titles such as 1675257903__4105__sahs_132295.zip.###30 04 2024 new variable common#:#sahs_insert_chap_from_clip#:#Incolla Capitoli dagli Appunti common#:#sahs_insert_page_from_clip#:#Incolla Pagine dagli Appunti common#:#sahs_insert_sco_from_clip#:#Incolla SCO dagli Appunti -common#:#sahs_new#:#Create New Learning Module###26 08 2024 new variable +common#:#sahs_new#:#Create New Learning Module###28 11 2025 new variable common#:#salutation#:#Titolo common#:#salutation_f#:#Signora/Signorina common#:#salutation_m#:#Signore -common#:#salutation_n#:#No salutation desired +common#:#salutation_n#:#Nessun saluto desiderato common#:#saml_log_in#:#Accesso diretto common#:#saml_login_form_info_txt#:#È possibile accedere utilizzando il pulsante "Accesso diretto" senza dover inserire il nome utente o la password. common#:#saml_login_form_txt#:#Accedi a ILIAS tramite SAML common#:#save#:#Salva common#:#save_and_back#:#Salva e indietro common#:#save_message#:#Salva -common#:#save_params_for_cron#:#Save Parameter for Cronjob +common#:#save_params_for_cron#:#Salva parametro per Cronjob common#:#save_refresh#:#Salva e aggiorna common#:#save_return#:#Salva e invia common#:#save_settings#:#Salva le impostazioni common#:#save_user_related_data#:#Salva i dati relativi agli accessi degli utenti common#:#saved_successfully#:#Modifiche effettuate con successo common#:#saving#:#Salva... -common#:#scope#:#Scope###28 10 2024 new variable +common#:#scope#:#Scope###28 11 2025 new variable common#:#scorm_create_export_file_html#:#Crea file di esportazione (HTML) common#:#scorm_create_export_file_pdf#:#Crea file di esportazione (PDF) common#:#scorm_create_export_file_scrom12#:#Crea file di esportazione (SCORM 1.2) -common#:#scorm_create_export_file_scrom2004#:#Create Export File (SCORM 2004) +common#:#scorm_create_export_file_scrom2004#:#Crea file di esportazione (SCORM 2004) common#:#scorm_create_export_file_scrom2004_4th#:#Crea file di esportazione (SCORM 2004 quarta Edizione) -common#:#scorm_login_as_learner_id#:#SCORM 2004: set ILIAS User Name as cmi.learner_id -common#:#scorm_login_as_learner_id_info#:#If enabled, the User Name instead of the User ID is set for cmi.learner_id. -common#:#scorm_lp_auto_activate#:#default settings for learning progress -common#:#scorm_lp_auto_activate_info#:#If learning progress is activated in general, the settings for new SCORM learning modules are set to 'Collection of SCORM Items' and all SCOs are selected for learning progress determination. Adjustments are still possible for every SCORM learning module. -common#:#scorm_new#:#New SCORM/IACC Learning Module -common#:#scorm_without_session#:#SCORM 2004: enable storing data without session +common#:#scorm_login_as_learner_id#:#SCORM 2004: imposta il nome utente ILIAS come cmi.learner_id +common#:#scorm_login_as_learner_id_info#:#Se abilitato, il Nome utente anziché l'ID utente è impostato per cmi.learner_id. +common#:#scorm_lp_auto_activate#:#Impostazioni predefinite per l'avanzamento dell'apprendimento +common#:#scorm_lp_auto_activate_info#:#Se il progresso dell'apprendimento è attivato in generale, le impostazioni per i nuovi moduli di apprendimento SCORM sono impostate su "Raccolta di elementi SCORM" e tutti gli SCO sono selezionati per la determinazione del progresso dell'apprendimento. Le regolazioni sono ancora possibili per ogni modulo di apprendimento SCORM. +common#:#scorm_new#:#Nuovo modulo di apprendimento SCORM / IACC +common#:#scorm_without_session#:#SCORM 2004: abilita la memorizzazione dei dati senza sessione common#:#scorm_without_session_info#:#Ciò garantisce la memorizzazione dei dati di apprendimento SCORM anche se la sessione ILIAS è scaduta common#:#search#:#Ricerca common#:#search_active#:#Includi utenti attivi common#:#search_at_current_position#:#Nella posizione attuale -common#:#search_engine#:#Search Engines +common#:#search_engine#:#URL leggibili common#:#search_for#:#Ricerca common#:#search_globally#:#Totalmente common#:#search_in#:#Ricerca in @@ -5558,23 +5558,24 @@ common#:#search_new#:#Nuova ricerca common#:#search_result#:#Risultati ricerca common#:#search_results#:#Cerca risultati common#:#search_user#:#Ricerca utente -common#:#search_users#:#Look Up Users###29 10 2025 new variable +common#:#search_users#:#Look Up Users###28 11 2025 new variable common#:#seas_max_hits#:#Numero massimo di risultati common#:#seas_max_hits_info#:#Indica il numero massimo di risultati che vuoi visualizzare al termine della ricerca. common#:#seas_settings#:#Impostazioni per le ricerche common#:#second#:#Secondo -common#:#second_email#:#Second Email +common#:#second_email#:#Seconda email common#:#seconds#:#Secondi common#:#sel_country#:#Paese common#:#select#:#Seleziona common#:#select_all#:#Seleziona tutto common#:#select_at_least_one_object#:#Si prega di scegliere almeno un oggetto. common#:#select_file#:#Scegli il file -common#:#select_files_from_computer#:#Select the files from your computer +common#:#select_file_from_computer#:#Select File###28 11 2025 new variable +common#:#select_files_from_computer#:#Seleziona i file dal tuo computer common#:#select_max_one_item#:#Scegli un elemento solamente -common#:#select_object_to_link#:#Per favore seleziona l& -common#:#select_one#:#Selezionarne uno. -common#:#select_question_pool_info#:#As long as the import file contains questions, these questions will be imported to the selected questionpool as well.###07 02 2020 new variable +common#:#select_object_to_link#:#Seleziona l'oggetto che desideri collegare +common#:#select_one#:#Seleziona un elemento +common#:#select_question_pool_info#:#Finché il file di importazione contiene domande, queste domande verranno importate anche nel pool di domande selezionato. common#:#select_questionpool#:#Scegli la raccolta common#:#selected#:#Selezionati common#:#selected_files#:#File selezionati @@ -5582,7 +5583,7 @@ common#:#selected_items#:#Elementi selezionati common#:#selected_items_back#:#Indietro agli Elementi Personali common#:#selected_languages_updated#:#La lingua selezionata è stata aggiornata (se installata): common#:#send#:#Invia -common#:#send_mail#:#Send e-mail +common#:#send_mail#:#Invia Email common#:#sender#:#Mittente common#:#sent#:#Inviato common#:#sequence#:#Sequenza @@ -5595,15 +5596,15 @@ common#:#sess#:#Sessione common#:#sess_fixed_duration#:#Durata sessione fissa common#:#session_config#:#Impostazioni di sessione common#:#session_config_maintenance_disabled#:#Manutenzione da parte del cliente non consentita -common#:#session_mail_subject_deletion#:#Deregistration of user "%s" from session "%s"###07 02 2020 new variable -common#:#session_mail_subject_entered#:#Joining of user "%s" in session "%s"###07 02 2020 new variable -common#:#session_mail_subject_registered#:#Registration of user "%s" for session "%s"###07 02 2020 new variable +common#:#session_mail_subject_deletion#:#Annullamento della registrazione dell'utente "%s" dalla sessione "%s" +common#:#session_mail_subject_entered#:#Partecipazione dell'utente "%s" nella sessione "%s" +common#:#session_mail_subject_registered#:#Registrazione dell'utente "%s" per la sessione "%s" common#:#session_reminder#:#Promemoria di sessione -common#:#session_reminder_alert#:#Your session expires in 5 minutes. Please choose OK to continue your Session -common#:#session_reminder_default_lead_time_info#:#Please specify how many minutes before the expiration of a session a reminder should be shown.
The function is deactivated when the value is '%s'. The recommended value is %s.
The current length of a session is %s.###29 10 2025 new variable -common#:#session_reminder_input#:#Session Reminder (in Minutes)###28 10 2024 new variable +common#:#session_reminder_alert#:#La sessione scade tra 5 minuti. Scegli OK per continuare la sessione +common#:#session_reminder_default_lead_time_info#:#Please specify how many minutes before the expiration of a session a reminder should be shown.
The function is deactivated when the value is '%s'. The recommended value is %s.
The current length of a session is %s.###28 11 2025 new variable +common#:#session_reminder_input#:#Session Reminder (in Minutes)###28 11 2025 new variable common#:#session_reminder_lead_time#:#Tempo necessario -common#:#session_reminder_lead_time_info#:#Please specify, how much seconds before the session expires you want the session reminder to display a warning. The current value for a user session is %s. +common#:#session_reminder_lead_time_info#:#Specificare quanti secondi prima della scadenza della sessione si desidera che il promemoria della sessione visualizzi un avviso. Il valore corrente per una sessione utente è%s. common#:#session_reminder_session_duration#:#(Durata della sessione: %s). common#:#set#:#Imposta common#:#setSystemLanguage#:#Imposta come lingua di sistema @@ -5613,25 +5614,25 @@ common#:#set_online#:#Metti online common#:#set_skin_does_not_exist#:#Il tuo interfaccia selezionato non esiste più. Puoi modificare il tuo stile nelle impostazione personali o contatta il tuo amministratore. Selezione attuale: common#:#set_style_does_not_exist#:#Il tuo stile del sistema selezionato non esiste più. Puoi modificare il tuo stile nelle impostazione personali o contatta il tuo amministratore. Selezione attuale: common#:#settings#:#Impostazioni -common#:#settings_for_all_members#:#Global Setting for all Course/Group Members -common#:#settings_per_users#:#Settings per Course/Group Members -common#:#settings_presentation_header#:#Presentation###07 02 2020 new variable +common#:#settings_for_all_members#:#I membri riceveranno una notifica automatica +common#:#settings_per_users#:#Impostazioni per corso / membri del gruppo +common#:#settings_presentation_header#:#Presentazione common#:#settings_saved#:#Impostazioni salvate common#:#shib#:#Shibboleth common#:#shib_active#:#Abilita l'uso di Shibboleth -common#:#shib_city#:#Attributo per la citt& +common#:#shib_city#:#Attributo per la citta common#:#shib_country#:#Attributo per la nazione common#:#shib_data_conv#:#Percorso assoluto per le API di gestione dei dati -common#:#shib_data_conv_warning#:#Il file con le API per la gestione dei dati non pu& +common#:#shib_data_conv_warning#:#Il file API di manipolazione dei dati specificato non può essere letto common#:#shib_department#:#Attributo per il dipartimento -common#:#shib_email#:#Attributo per l& +common#:#shib_email#:#Attributo per indirizzo e-mail common#:#shib_federation_name#:#Nome della tua federazione Shibboleth common#:#shib_firstname#:#Attributo per il nome -common#:#shib_gender#:#Attributo per il sesso
(deve essere & +common#:#shib_gender#:#Attributo per il saluto (deve essere "m", "f" o "n") common#:#shib_general_login_instructions#:#Per accedere tramite %s, si prega di cliccare sul pulsante di accesso e scegliere la propria struttura nella pagina seguente.
Se ci sono domande inerenti a questo, si prega di chiedere a common#:#shib_general_wayf_login_instructions#:#Nel caso in cui non si è associati con le strutture proposte e si ha la necessità di accedere a un corso su questo server, si prega di contattare -common#:#shib_idp_list#:#Provide a list of Identity Providers to let the user choose from on the ILIAS login page.
On each line there must be a comma-separated tuple for providerID of IdP (see the Shibboleth metadata file) and Name of IdP as it shall be displayed in the drow-down list.
As an optional third parameter you can add the location of a Shibboleth session initiator that shall be used in case your ILIAS installation is part of a multi federation setup. -common#:#shib_institution#:#Attributo per l& +common#:#shib_idp_list#:#Fornisci un elenco di identità di provider per consentire all'utente di scegliere dalla pagina di accesso ILIAS.
Su ogni riga deve essere presente un campo separato da virgole per providerID di IdP (vedi il file di metadati di Shibboleth) e Nome dell'IDP come deve essere visualizzato nell'elenco a tendina.
Come terzo parametro facoltativo puoi aggiungere la posizione di un iniziatore di sessione Shibboleth che deve essere utilizzato nel caso in cui l'installazione ILIAS faccia parte di una configurazione multi-federazione. +common#:#shib_institution#:#Attributo per l'istitutzione common#:#shib_invalid_home_organization#:#Si prega di scegliere una struttura valida! common#:#shib_language#:#Attributo per la lingua common#:#shib_lastname#:#Attributo per i cognome @@ -5649,30 +5650,30 @@ common#:#shib_phone_mobile#:#Attributo per il numero del cellulare common#:#shib_phone_office#:#Attributo per il numero di telefono di ufficio common#:#shib_select_home_organization#:#Per autenticazione via %s, per cortesia seleziona la tua organizzazione dal menu a tendina. common#:#shib_settings_saved#:#Le impostazioni di Shibboleth sono state salvate. -common#:#shib_street#:#Attributo per l& +common#:#shib_street#:#Attributo per la strada common#:#shib_title#:#Attributo per il titolo common#:#shib_update#:#Aggiorna al login common#:#shib_user_default_role#:#Ruolo da assegnare agli utenti Shibboleth common#:#shib_zipcode#:#Attributo per il codice postale common#:#short_inst_name#:#Titolo breve -common#:#short_inst_name_info#:#This title will appear in the browser header title bar. If no value is entered, 'ILIAS' is used. +common#:#short_inst_name_info#:#Questo titolo verrà visualizzato nella barra del titolo dell'intestazione del browser. Se non viene inserito alcun valore, viene utilizzato "ILIAS". common#:#show#:#Mostra common#:#show_all_details#:#Mostra tutti i dettagli -common#:#show_content#:#Show Content###29 07 2022 new variable +common#:#show_content#:#Show Content###31 03 2023 new variable common#:#show_details#:#Mostra dettagli common#:#show_filter#:#Mostra filtro common#:#show_hidden_sections#:#Mostra maggiori informazioni » common#:#show_list#:#Mostra lista common#:#show_members#:#Mostra iscritti -common#:#show_more#:#Show More###29 07 2022 new variable -common#:#show_preview#:#Show Preview###26 08 2024 new variable +common#:#show_more#:#Mostra di più +common#:#show_preview#:#Show Preview###30 04 2024 new variable common#:#show_users_online#:#Mostra gli utenti -common#:#show_who_is_online#:#Show who is online###29 07 2022 new variable +common#:#show_who_is_online#:#Mostra chi è online common#:#side_frame#:#Struttura laterale common#:#signature#:#Firma common#:#size#:#Dimensione -common#:#skills#:#Skills -common#:#skin_style#:#Predefinito Skin / Stile +common#:#skills#:#competenze +common#:#skin_style#:#Tema / Stile di Default common#:#smtp#:#SMTP common#:#soap_connect_timeout#:#Timeout connessione common#:#soap_connect_timeout_info#:#Il tempo massimo in secondi fino a quando non viene interrotto un tentativo di servizio Web SOAP. @@ -5680,12 +5681,12 @@ common#:#soap_user_administration#:#Amministrazione utenti esterna (SOAP) common#:#soap_user_administration_desc#:#Se selezionato, tutti gli utenti potranno essere amministrati tramite un client SOAP esterno. common#:#soap_wsdl_path#:#Percorso WSDL common#:#soap_wsdl_path_info#:#Si prega di inserire il percorso del file ilias wsdl che deve essere utilizzato per il servizio Web. Se si lascia vuoto questo campo, verrà utilizzato il seguente percorso per impostazione predefinita:%s -common#:#sort#:#Sort###28 10 2024 new variable -common#:#sort_ascending#:#Sort Ascending###29 07 2022 new variable -common#:#sort_ascending_long#:#Change Sort Direction to Ascending###26 08 2024 new variable +common#:#sort#:#Sort###28 11 2025 new variable +common#:#sort_ascending#:#Ordinare in ordine crescente +common#:#sort_ascending_long#:#Change Sort Direction to Ascending###17 05 2023 new variable common#:#sort_by_this_column#:#Ordina secondo questa colonna -common#:#sort_descending#:#Sort Descending###29 07 2022 new variable -common#:#sort_descending_long#:#Change Sort Direction to Descending###26 08 2024 new variable +common#:#sort_descending#:#Ordinare in ordine decrescente +common#:#sort_descending_long#:#Change Sort Direction to Descending###17 05 2023 new variable common#:#sort_inherit_prefix#:#Impostazione predefinita common#:#sorting_asc#:#Ascendente common#:#sorting_creation_header#:#Da data di creazione @@ -5693,12 +5694,12 @@ common#:#sorting_creation_info#:#Gli elementi di contenuto vengono disposti auto common#:#sorting_desc#:#Discendente common#:#sorting_direction#:#Direzione di ordinamento common#:#sorting_header#:#Ordinamento degli elementi di contenuto -common#:#sorting_info_inherit#:#The sorting mode is adpated from a parent course. -common#:#sorting_info_manual#:#This mode offers you the possibility to sort items manually. +common#:#sorting_info_inherit#:#La modalità di ordinamento è adattata da un corso principale. +common#:#sorting_info_manual#:#Questa modalità ti offre la possibilità di ordinare gli oggetti manualmente. common#:#sorting_info_title#:#Scegli questa modalità per ordinare automaticamente gli elementi secondo il titolo. -common#:#sorting_manual_header#:#Sort Manually +common#:#sorting_manual_header#:#Ordina manualmente common#:#sorting_save#:#Salva ordinamento -common#:#sorting_title_header#:#Sort by Title +common#:#sorting_title_header#:#Ordina per titolo common#:#spacer#:#Spaziatore common#:#spl#:#Raccolta di domande (per sondaggi) common#:#spl_add#:#Aggiungi raccolta di domande @@ -5724,7 +5725,7 @@ common#:#subobjects#:#Sotto oggetto common#:#subscription#:#Iscrizione common#:#subtabs#:#Sottoschede common#:#success_message#:#Messaggio di successo -common#:#summary#:#Riassunto +common#:#summary#:#Sommario common#:#sure_delete_selected_users#:#Sei sicuro di voler eliminare gli utenti selezionati common#:#survey_defaults#:#Impostazioni di Default per i sondaggi common#:#survey_unlimited_invitation#:#Invito illimitato @@ -5735,46 +5736,46 @@ common#:#svy_new#:#Nuovo sondaggio common#:#svy_not_finished#:#non completato common#:#svy_not_started#:#non iniziato common#:#svy_run#:#Esegui -common#:#svy_warning_survey_not_complete#:#Il sondaggio non & -common#:#switch_language#:#Switch Language###29 07 2022 new variable +common#:#svy_warning_survey_not_complete#:#Il sondaggio è incompleto +common#:#switch_language#:#Cambia lingua common#:#system#:#Sistema common#:#system_check#:#Verifica del sistema common#:#system_information#:#Informazioni di sistema common#:#system_language#:#Lingua di sistema common#:#system_styles#:#Stili di sistema -common#:#systemcheck_cron#:#Process System Check in Cronjob +common#:#systemcheck_cron#:#Controllo del sistema di processo in Cronjob common#:#systemcheck_cronform#:#Attiva la verifica di sistema in Cronjob -common#:#table_mail_import#:#Importazione delle mail da ILIAS 2 +common#:#table_mail_import#:#Importazione delle mail common#:#tabs#:#Schede common#:#tagging_my_tags#:#I miei tag -common#:#tags#:#Tags###29 07 2022 new variable -common#:#take_over_structure#:#Adotta Struttura -common#:#take_over_structure_info#:#Se attivate, le directories nel file zip saranno mappate in categorie oppure, se utilizzate in gruppi o corsi, in cartelle. -common#:#tals_etal#:#Talk -common#:#talt_etal#:#Talk +common#:#tags#:#Tags +common#:#take_over_structure#:#Adotta struttura dello zip +common#:#take_over_structure_info#:#Se attivate, le directories nel file zip saranno mappate in categorie oppure in cartelle. +common#:#tals_etal#:#Talk###31 03 2023 new variable +common#:#talt_etal#:#Talk###31 03 2023 new variable common#:#target#:#Obiettivo common#:#tax#:#Tassonomia common#:#tax_add#:#Aggiungi tassonomia common#:#tax_new#:#Nuova tassonomia common#:#term#:#Termine common#:#test#:#Test -common#:#tests#:#Test +common#:#tests#:#Tests common#:#textbox#:#Casella di testo -common#:#thread#:#Discussione +common#:#thread#:#Thread common#:#thumbnail#:#Anteprima -common#:#tile_view#:#Tile View###28 10 2024 new variable +common#:#tile_view#:#Tile View###28 11 2025 new variable common#:#time#:#Ora common#:#time_limit#:#Scadenza -common#:#time_limit_add_time_limit_for_selected#:#Per favore specifica la data di scadenza dell& +common#:#time_limit_add_time_limit_for_selected#:#Inserisci un periodo di tempo per gli utenti selezionati common#:#time_limit_from#:#A partire da (limite di tempo) common#:#time_limit_message#:#Messaggio (limite di tempo) common#:#time_limit_no_users_selected#:#Per favore scegli un utente. -common#:#time_limit_not_valid#:#Il periodo non & -common#:#time_limit_reached#:#Il tuo periodo di accesso & +common#:#time_limit_not_valid#:#Il periodo non è valido +common#:#time_limit_reached#:#Il tuo account non è attivo. common#:#time_limit_unlimited#:#Illimitato (limite di tempo) common#:#time_limit_until#:#Fino a (limite di tempo) common#:#title#:#Titolo -common#:#title_required#:#Please insert a title +common#:#title_required#:#Si prega di inserire un titolo common#:#to#:#A common#:#to_client_list#:#Vai alla lista di Client common#:#today#:#Oggi @@ -5784,22 +5785,22 @@ common#:#toggle_dropdown#:#Attiva/disattiva il menu a tendina common#:#toggle_off#:#OFF### Don't translate this label to prevent rendering problems of the related Toggle Button! common#:#toggle_on#:#ON### Don't translate this label to prevent rendering problems of the related Toggle Button! common#:#tomorrow#:#Domani -common#:#toolbar_more_actions#:#More Actions###26 08 2024 new variable -common#:#tools#:#Tools###29 07 2022 new variable +common#:#toolbar_more_actions#:#More Actions###31 03 2023 new variable +common#:#tools#:#Tools common#:#top_of_page#:#Parte superiore della pagina -common#:#tos_accept_usr_agreement#:#Accept Terms of Service?###26 08 2024 new variable -common#:#tos_accept_usr_agreement_intro#:#There are new terms of service. You need to accept them before proceeding with the use of ILIAS. Read the following document carefully and give your consent or dissent at the bottom of the page.###26 08 2024 new variable -common#:#tos_force_accept_usr_agreement#:#You must accept the Terms of Service!###26 08 2024 new variable -common#:#tos_no_agreement_description#:#There is currently no Terms of Service document available for this installation. Please contact the system administrator.###26 08 2024 new variable -common#:#tos_refuse_acceptance#:#Refuse to Accept Terms of Service###26 08 2024 new variable -common#:#tos_usr_agreement#:#Terms of Service###26 08 2024 new variable -common#:#tos_usr_agreement_footer_intro#:#You have declared your consent to these terms of service.###26 08 2024 new variable -common#:#tos_withdraw_consent_description#:#Withdraw your consent to our Terms of Service here.###26 08 2024 new variable -common#:#tos_withdraw_consent_description_external#:#Please return to your ILIAS installation and log in again to complete the process of withdrawing your consent to the Terms of Service.###26 08 2024 new variable -common#:#tos_withdraw_consent_description_internal#:#Please log in again to complete the process of withdrawing your consent to the Terms of Service.###26 08 2024 new variable -common#:#tos_withdraw_consent_header#:#Withdraw Terms of Service Consent###26 08 2024 new variable -common#:#tos_withdraw_consent_info#:#Withdraw your consent to our Terms of Service.###26 08 2024 new variable -common#:#tos_withdraw_consent_info_external#:#Please contact the administrator of your authentication system and inform them of your intention to withdraw your consent to the Terms of Service.###26 08 2024 new variable +common#:#tos_accept_usr_agreement#:#Accept Terms of Service?###30 04 2024 new variable +common#:#tos_accept_usr_agreement_intro#:#There are new terms of service. You need to accept them before proceeding with the use of ILIAS. Read the following document carefully and give your consent or dissent at the bottom of the page.###30 04 2024 new variable +common#:#tos_force_accept_usr_agreement#:#You must accept the Terms of Service!###30 04 2024 new variable +common#:#tos_no_agreement_description#:#There is currently no Terms of Service document available for this installation. Please contact the system administrator.###30 04 2024 new variable +common#:#tos_refuse_acceptance#:#Refuse to Accept Terms of Service###30 04 2024 new variable +common#:#tos_usr_agreement#:#Terms of Service###30 04 2024 new variable +common#:#tos_usr_agreement_footer_intro#:#You have declared your consent to these terms of service.###30 04 2024 new variable +common#:#tos_withdraw_consent_description#:#Withdraw your consent to our Terms of Service here.###30 04 2024 new variable +common#:#tos_withdraw_consent_description_external#:#Please return to your ILIAS installation and log in again to complete the process of withdrawing your consent to the Terms of Service.###30 04 2024 new variable +common#:#tos_withdraw_consent_description_internal#:#Please log in again to complete the process of withdrawing your consent to the Terms of Service.###30 04 2024 new variable +common#:#tos_withdraw_consent_header#:#Withdraw Terms of Service Consent###30 04 2024 new variable +common#:#tos_withdraw_consent_info#:#Withdraw your consent to our Terms of Service.###30 04 2024 new variable +common#:#tos_withdraw_consent_info_external#:#Please contact the administrator of your authentication system and inform them of your intention to withdraw your consent to the Terms of Service.###30 04 2024 new variable common#:#total#:#Totale common#:#tracking_settings#:#Impostazioni del tracciamento common#:#translation#:#Traduzione @@ -5810,64 +5811,64 @@ common#:#treeview#:#Vista ad albero common#:#tst#:#Test common#:#tst_add#:#Aggiungi test common#:#tst_edit_questions#:#Modifica domande -common#:#tst_history_read#:#View History###26 08 2024 new variable +common#:#tst_history_read#:#View History###28 11 2025 new variable common#:#tst_new#:#Nuovo test -common#:#tst_results#:#Test Results +common#:#tst_results#:#Risultati del test common#:#tst_run#:#Esegui -common#:#tst_user_not_invited#:#Non sei iscritto a questo esame. -common#:#tst_warning_test_not_complete#:#Il test non & -common#:#tutors#:#Tutor +common#:#tst_user_not_invited#:#Non sei iscritto a questo esame online. +common#:#tst_warning_test_not_complete#:#Il test non è completo! +common#:#tutors#:#Tutori common#:#txt_registered#:#Ti sei registrato con successo a ILIAS. Per favore, utilizza il pulsante sotto per accedere ad ILIAS con il tuo utente. common#:#txt_registered_passw_gen#:#Ti sei registrato con successo a ILIAS. A breve riceverai una mail con la password generata. -common#:#txt_submitted#:#E& +common#:#txt_submitted#:#Hai inviato correttamente una richiesta di account a ILIAS. La richiesta dell'account verrà esaminata dagli amministratori di sistema e dovrebbe essere attivata entro 48 ore. Non sarai in grado di accedere fino a quando il tuo account non viene attivato. common#:#typ#:#Definizione del tipo di oggetto common#:#type#:#Tipo common#:#udf_added_field#:#Aggiunto nuovo campo. common#:#udf_delete_sure#:#Sei sicuro di voler eliminare questo campo e con esso tutti i valori corrispondenti inseriti dagli utenti? common#:#udf_duplicate_entries#:#I valori devono essere unici. common#:#udf_field_deleted#:#Campo eliminato. -common#:#udf_name_already_exists#:#Il nome di questo campo & -common#:#udf_required_requires_visib_reg#:#When field is set to "required", it must be set to "visible in registration" +common#:#udf_name_already_exists#:#Questo nome di campo esiste già. Scegli un nome diverso. +common#:#udf_required_requires_visib_reg#:#Quando il campo è impostato su "obbligatorio", deve essere impostato su "visibile in registrazione". common#:#udf_type_date#:#Campo Data common#:#udf_type_datetime#:#Data e Ora common#:#udf_type_select#:#Menu a tendina (valori fissati) common#:#udf_type_text#:#Campo testo (valori opzionali) -common#:#udf_type_textarea#:#Area di testo (WYSIWYG) +common#:#udf_type_textarea#:#Text Area###28 11 2025 new variable common#:#udf_update_select_field#:#Modifica menu a tendina common#:#udf_update_text_field#:#Modifica campo testo common#:#udf_update_wysiwyg_field#:#Area per la modifica del testo (WYSIWYG) -common#:#uid#:#uid -common#:#ums_create_new_account#:#Creare Nuovo Account +common#:#uid#:#UID (identificativo utente) +common#:#ums_create_new_account#:#Crea un Nuovo Account common#:#ums_explanation#:#Il tuo account esterno non può essere mappato in un account ILIAS. Ma ILIAS ha trovato un account con il tuo indirizzo email. Se questo è il tuo account, collegati con la tua password ILIAS. -common#:#ums_explanation_2#:#If this is not your account, please hit 'Create New Account'. +common#:#ums_explanation_2#:#Se questo non è il tuo account, fai clic su "Crea nuovo account". common#:#ums_explanation_3#:#Il tuo account esterno non può essere mappato in un account ILIAS. Ma ILIAS ha trovato diversi account con il tuo indirizzo email. Se uno di questi è il tuo account, collegati con la tua password ILIAS. -common#:#ums_explanation_4#:#Se nessuno di loro è il tuo account per cortesia digita 'Crea Nuovo Account'. +common#:#ums_explanation_4#:#Se nessuno di questi è il tuo account, seleziona 'Crea Nuovo Account'. common#:#unambiguousness#:#Riconoscimento basato su common#:#uncheck_all#:#Deseleziona tutto common#:#unchecked#:#Non verificato common#:#uninstall#:#Rimuovi common#:#uninstalled#:#Rimosso. common#:#unknown#:#Sconosciuto -common#:#unparticipate#:#Unsubscribe###07 02 2020 new variable +common#:#unparticipate#:#Annulla l'iscrizione common#:#unread#:#non lette common#:#unzip#:#Estrai common#:#up#:#Su common#:#update#:#Modifica common#:#update_applied#:#Aggiornamento effettuato -common#:#update_language#:#Lingua aggiornata +common#:#update_language#:#Aggiorna la lingua common#:#update_on_conflict#:#Modifica i conflitti common#:#update_orgunits#:#Aggiornare le unità organizzative assegnate common#:#update_orgunits_desc#:#Se abilitato, il campo 'Unità organizzative' verrà aggiornato per tutti gli account utente. common#:#upload#:#Importa -common#:#upload_error_file_not_found#:#Errore nell& -common#:#upload_ok#:#The upload was successful###29 10 2025 new variable +common#:#upload_error_file_not_found#:#Errore di caricamento: file non trovato. +common#:#upload_ok#:#The upload was successful###28 11 2025 new variable common#:#upload_pending#:#In sospeso -common#:#upload_settings#:#Uploading Settings -common#:#upload_svg_rejection_message#:#An uploaded SVG file contains possibily malicious code and cannot be processed.###26 08 2024 new variable -common#:#upload_svg_rejection_message_base64#:#The file contains base64 encoded content.###26 08 2024 new variable -common#:#upload_svg_rejection_message_elements#:#The file contains elements or attributes which are not allowed or known.###26 08 2024 new variable -common#:#upload_svg_rejection_message_script#:#The file contains script-Elements.###26 08 2024 new variable -common#:#uploaded_and_checked#:#E& +common#:#upload_settings#:#Caricamento delle impostazioni +common#:#upload_svg_rejection_message#:#An uploaded SVG file contains possibily malicious code and cannot be processed.###30 04 2024 new variable +common#:#upload_svg_rejection_message_base64#:#The file contains base64 encoded content.###30 04 2024 new variable +common#:#upload_svg_rejection_message_elements#:#The file contains elements or attributes which are not allowed or known.###30 04 2024 new variable +common#:#upload_svg_rejection_message_script#:#The file contains script-Elements.###30 04 2024 new variable +common#:#uploaded_and_checked#:#Il file è stato caricato e verificato, ora puoi iniziare a importarlo. common#:#uploading#:#Caricamento... common#:#uri#:#URI common#:#url#:#URL @@ -5878,32 +5879,32 @@ common#:#user#:#Utente common#:#user_activated#:#L’utente è stato approvato common#:#user_added#:#Utente aggiunto common#:#user_assignment#:#Utenti assegnati -common#:#user_avatar#:#User Avatar###29 07 2022 new variable -common#:#user_avatar_of#:#User Avatar of###29 07 2022 new variable -common#:#user_cant_receive_mail#:#l& +common#:#user_avatar#:#User Avatar +common#:#user_avatar_of#:#User Avatar of +common#:#user_cant_receive_mail#:# %1$s (l'utente non è autorizzato a utilizzare il sistema di posta) common#:#user_comment#:#Commento utente -common#:#user_deactivated#:#L’utente è stato disapprovato +common#:#user_deactivated#:#Gli utenti selezionati sono stati disattivati common#:#user_defined_fields#:#Campi definiti dall'utente -common#:#user_defined_list#:#Lista definita dall& +common#:#user_defined_list#:#Campi dati utente personalizzati common#:#user_deleted#:#Cancellazione eseguita common#:#user_detail#:#Dettagli dei dati common#:#user_ext_account#:#Account esterno -common#:#user_ext_account_desc#:#Account utilizzato per autenticazione esterna. (SOAP authentication) +common#:#user_ext_account_desc#:#Account utilizzato per autenticazione esterna. (CAS or SOAP authentication) common#:#user_image#:#Immagine utente common#:#user_import_failed#:#Importazione utenti fallita. common#:#user_imported#:#Importazione utenti completata. common#:#user_imported_with_warnings#:#Importazione utenti completata con alcuni warning. common#:#user_language#:#Lingua -common#:#user_never_logged_in#:#Delete user accounts without login###07 02 2020 new variable -common#:#user_never_logged_in_info#:#All user accounts without login at all be deleted.###07 02 2020 new variable -common#:#user_never_logged_in_info_threshold_err_num#:#Only positive non decimal numbers are accepted.###07 02 2020 new variable +common#:#user_never_logged_in#:#Cancella account utente senza login +common#:#user_never_logged_in_info#:#Tutti gli account utente senza login sono stati cancellati +common#:#user_never_logged_in_info_threshold_err_num#:#Sono accettati solo numeri interi positivi senza virgola. common#:#user_new_account_mail#:#Nuovo account mail -common#:#user_new_account_mail_desc#:#This mail can be sent when an ILIAS user is created by other means then self-registration. +common#:#user_new_account_mail_desc#:#Questa posta può essere inviata quando un utente ILIAS viene creato con altri mezzi, quindi con la registrazione automatica. common#:#user_not_found#:#Utente non trovato common#:#user_not_found_to_delete#:#Impossibile trovare un utente da eliminare. -common#:#user_not_known#:#Inserisci il nome di un utente valido. +common#:#user_not_known#:#Inserisci un nome utente valido. common#:#user_profile_other#:#Ulteriori informazioni -common#:#user_send_new_account_mail#:#Send new account mail +common#:#user_send_new_account_mail#:#Invia nuovo account email common#:#user_status#:#Stato utente common#:#user_toggle_noti#:#Il membro non è autorizzato per disattivare le notifiche common#:#userfolder_export_csv#:#Valori separati da punteggiatura (CSV) @@ -5913,7 +5914,7 @@ common#:#userfolder_export_file_size#:#Dimensioni file common#:#userfolder_export_files#:#File common#:#userfolder_export_xml#:#XML common#:#username#:#Login -common#:#username_assistance#:#Username Assistance###26 08 2024 new variable +common#:#username_assistance#:#Username Assistance###30 04 2024 new variable common#:#users#:#Utenti common#:#users_not_imported#:#I seguenti utenti non esistono, i loro messaggi non possono essere importati common#:#users_online#:#Utenti online @@ -5922,7 +5923,7 @@ common#:#usr_account_inactive#:#Disattiva account common#:#usr_active_only#:#Utenti attivi common#:#usr_add#:#Aggiungi utente common#:#usr_edit#:#Modifica utente -common#:#usr_field_change_components_listening#:#There is at least one component which is interested in the changed configuration. Would you like to confirm the changes with the consequences the component(s) announced below?###29 07 2022 new variable +common#:#usr_field_change_components_listening#:#There is at least one component which is interested in the changed configuration. Would you like to confirm the changes with the consequences the component(s) announced below?###31 03 2023 new variable common#:#usr_filter_coursemember#:#Membro del corso common#:#usr_filter_groupmember#:#Membro del gruppo common#:#usr_filter_lastlogin#:#Ultimo accesso dell’utente @@ -5931,8 +5932,8 @@ common#:#usr_inactive_only#:#Utenti non attivi common#:#usr_limited_access_only#:#Solo utenti con accesso limitato common#:#usr_name_undisclosed#:#Non rivelato common#:#usr_new#:#Nuovo utente -common#:#usr_settings_changeable_lua#:#Cambiare in amministrazione utenti locali -common#:#usr_settings_explanation_profile#:#Seleziona le opzioni corrispondenti per disabilitare o nascondere le impostazioni del profilo personale per tutti gli utenti indicati nella pagina & +common#:#usr_settings_changeable_lua#:#Impostazione modificabile in Amministrazione Utente Locale +common#:#usr_settings_explanation_profile#:#Seleziona "Visibile" per visualizzare i campi nel modulo di registrazione e i dati personali sul desktop personale. Seleziona "Modificabile" per consentire all'utente di modificare il valore nei dati personali. Si noti che i campi visibili possono sempre essere inseriti nel modulo di registrazione. I campi obbligatori sono richiesti nel modulo di registrazione e nei dati personali. Tutti i dati possono essere modificati nell'amministrazione utente indipendentemente da queste impostazioni. common#:#usr_settings_header_profile#:#Impostazioni profilo utenti common#:#usr_settings_saved#:#Impostazioni globali utente salvate con successo! common#:#usr_settings_visib_lua#:#Visibile in amministrazione utenti locali @@ -5942,25 +5943,25 @@ common#:#usrf#:#Cartella utenti common#:#usrf_profile_link#:#Collega a profilo utente common#:#usrimport_action_ignored#:#Operazione %1$s ignorata. common#:#usrimport_action_replaced#:#Sostituita operazione %1$s con %2$s. -common#:#usrimport_cant_delete#:#Non pu& -common#:#usrimport_cant_insert#:#Non pu& -common#:#usrimport_cant_update#:#Non pu& -common#:#usrimport_conflict_handling_info#:#Se & -common#:#usrimport_form_not_evaluabe#:#The form data couldn't be read.###29 07 2022 new variable -common#:#usrimport_global_role_for_action_required#:#Per l& +common#:#usrimport_cant_delete#:#Impossibile eseguire l'azione "Elimina". Nessun utente di questo tipo nel database. +common#:#usrimport_cant_insert#:#Impossibile eseguire l'azione "Elimina". Nessun utente di questo tipo nel database. +common#:#usrimport_cant_update#:#Impossibile eseguire l'azione "Elimina". Nessun utente di questo tipo nel database. +common#:#usrimport_conflict_handling_info#:#Quando si seleziona 'Ignora in conflitto', ILIAS ignora un'azione, se non può essere eseguita (ad es. Un'azione 'Inserisci' non viene eseguita, se nel database è già presente un utente con lo stesso accesso.) Quando si aggiorna in caso di conflitto ", ILIAS aggiorna il database se non è possibile eseguire un'azione. (ad esempio un'azione "Inserisci" è sostituita da un'azione "Aggiorna", se nel database esiste un utente con lo stesso accesso). +common#:#usrimport_form_not_evaluabe#:#Impossibile leggere i dati nel modulo. +common#:#usrimport_global_role_for_action_required#:#È necessario specificare almeno un ruolo globale per l'azione " %1$s". common#:#usrimport_ignore_role#:#Ignora il ruolo common#:#usrimport_login_is_not_unique#:#Login non unico. common#:#usrimport_no_insert_ext_account_exists#:#Non e' possibile eseguire l'azione di inserimento. Esistono già account esterni. common#:#usrimport_no_update_ext_account_exists#:#Non è possibile eseguire l'azione di "Update". Esistono già account esterni. -common#:#usrimport_with_specified_role_not_permitted#:#Non & -common#:#usrimport_wrong_file_count#:#Too many files in import-folder. Please try again.###29 07 2022 new variable -common#:#usrimport_xml_anonymous_or_root_not_allowed#:#Neither the system-account nor the anonymous account can be changed through the import.###26 08 2024 new variable -common#:#usrimport_xml_attribute_missing#:#L& -common#:#usrimport_xml_attribute_value_illegal#:#Il valore & -common#:#usrimport_xml_attribute_value_inapplicable#:#Il valore & -common#:#usrimport_xml_element_content_illegal#:#Il contenuto & -common#:#usrimport_xml_element_for_action_required#:#L& -common#:#usrimport_xml_element_inapplicable#:#L& +common#:#usrimport_with_specified_role_not_permitted#:#Importazione con ruolo specificato non consentita. +common#:#usrimport_wrong_file_count#:#La cartella import-folder contiene troppi elementi. Riprova. +common#:#usrimport_xml_anonymous_or_root_not_allowed#:#Neither the system-account nor the anonymous account can be changed through the import.###13 09 2023 new variable +common#:#usrimport_xml_attribute_missing#:#Attributo " %2$s" nell'elemento " %1$s" mancante. +common#:#usrimport_xml_attribute_value_illegal#:#Il valore " %3$s" dell'attributo " %2$s" nell'elemento " %1$s" non è consentito. +common#:#usrimport_xml_attribute_value_inapplicable#:#Il valore " %3$s" dell'attributo " %2$s" nell'elemento " %1$s" non è applicabile per l'azione " %4$s". +common#:#usrimport_xml_element_content_illegal#:#Il contenuto " %2$s" dell'elemento " %1$s" non è consentito. +common#:#usrimport_xml_element_for_action_required#:#L'elemento " %1$s" deve essere specificato per l'azione " %2$s". +common#:#usrimport_xml_element_inapplicable#:#L'elemento " %1$s" non è applicabile per l'azione " %2$s". common#:#valid#:#Valido common#:#validate#:#Valida common#:#value#:#Valore @@ -5975,45 +5976,45 @@ common#:#view#:#Visualizza common#:#view_content#:#Vedi il contenuto common#:#view_learning_progress#:#Visualizza il progresso dell'apprendimento common#:#view_learning_progress_rec#:#Visualizza il progresso dell'apprendimento delle unità incluse le sottounità -common#:#visible#:#Vedere +common#:#visible#:#Visibile common#:#visible_registration#:#Visibile nella registrazione common#:#visitor#:#Ospite common#:#visitors#:#Ospiti common#:#visits#:#Visite common#:#web_resources#:#Risorse web common#:#webdav#:#WebDAV -common#:#webdav_add_instructions_btn_label#:#Add Mount Instructions Document###07 02 2020 new variable -common#:#webdav_chosen_language_already_used#:#There already is another document associated with the chosen language###07 02 2020 new variable -common#:#webdav_doc_delete#:#Delete WebDav Mount Instructions###07 02 2020 new variable -common#:#webdav_docs_mount_instructions#:#Mount Instructions Documents###07 02 2020 new variable -common#:#webdav_duplicate_detected_title#:#Following objects could not be displayed, because an object with the same Title is already being shown:###07 02 2020 new variable -common#:#webdav_enable_versioning#:#File Versioning###07 02 2020 new variable -common#:#webdav_forbidden_chars_title#:#Following files cannot be displayed, because they contain one or more forbidden characters (\<>/:*?"|#):###07 02 2020 new variable -common#:#webdav_form_document#:#Instructions Document###07 02 2020 new variable -common#:#webdav_form_document_info#:#Upload a txt or an html file here. After the upload the file will be parsed and processed. For more information###07 02 2020 new variable -common#:#webdav_form_document_title#:#Title###07 02 2020 new variable -common#:#webdav_form_document_title_info#:#This title will be dislayed as the title of the modal when the Mount Instructions are opened###07 02 2020 new variable -common#:#webdav_form_edit_doc_head#:#Edit Mount Instructions Document###07 02 2020 new variable -common#:#webdav_form_new_doc_head#:#Create new Mount Instructions Document###07 02 2020 new variable -common#:#webdav_general_settings#:#General Settings###07 02 2020 new variable -common#:#webdav_missing_lang#:#There is no english version of the WebDAV Mount Instructions###07 02 2020 new variable -common#:#webdav_mount_instructions#:#Mount Instructions###07 02 2020 new variable -common#:#webdav_problem_free_container#:#There are no objects that cause problems in this container.###07 02 2020 new variable -common#:#webdav_problem_info_duplicate#:#There is a file with the same title as the info file.###07 02 2020 new variable -common#:#webdav_pwd_instruction#:#We suggest to create a local password for opening the repository as webfolder.
This password is only required for the webfolder functionalities. +common#:#webdav_add_instructions_btn_label#:#Aggiungere il documento con le istruzioni di montaggio +common#:#webdav_chosen_language_already_used#:#Esiste già un documento associato alla lingua selezionata +common#:#webdav_doc_delete#:#Elimina le istruzioni di montaggio di WebDav +common#:#webdav_docs_mount_instructions#:#Documenti di istruzioni di montaggio +common#:#webdav_duplicate_detected_title#:#I seguenti oggetti non possono essere mostrati, perchè esiste già un oggetto con lo stesso titolo: +common#:#webdav_enable_versioning#:#Versioning del File +common#:#webdav_forbidden_chars_title#:#I seguenti file non possono essere mostrati, perchè contengono uno o più caratteri non consentiti (\<>/:*?"|#): +common#:#webdav_form_document#:#Istruzioni Documento +common#:#webdav_form_document_info#:#Carica un file di testo o .html qui. Dopo il caricamento, il file verrà processato dopo l'upload. +common#:#webdav_form_document_title#:#Titolo +common#:#webdav_form_document_title_info#:#Questo titolo verrà mostrato come titolo del Modal quando le Istruzioni di Mount vengono aperte. +common#:#webdav_form_edit_doc_head#:#Modifica le Istruzioni di Mount del Documento. +common#:#webdav_form_new_doc_head#:#Crea un nuovo Documento di Istruzioni di Mount +common#:#webdav_general_settings#:#Opzioni Generali +common#:#webdav_missing_lang#:#Non è presente una versione inglese del Documento di Istruzioni di Mount +common#:#webdav_mount_instructions#:#Istruzioni di Mount +common#:#webdav_problem_free_container#:#Non ci sono oggetti che creano problemi in questo container. +common#:#webdav_problem_info_duplicate#:#Esiste già un file con lo stesso titolo del file di info. +common#:#webdav_pwd_instruction#:#Suggeriamo di creare una password locale per l'apertura del repository come cartella web.
Questa password è richiesta solo per le funzionalità della cartella web. common#:#webdav_pwd_instruction_success#:#È stata creata una nuova password locale. Adesso è possibile aprire il repository come cartella web. -common#:#webdav_sure_delete_documents_s#:#Are you sure you want to delete the Mount Instructions with the following title:###07 02 2020 new variable -common#:#webdav_tbl_docs_head_title#:#Dokument title###07 02 2020 new variable -common#:#webdav_tbl_docs_title#:#List of uploaded WebDAV Mount Instructions###07 02 2020 new variable -common#:#webdav_upload_instructions#:#Upload Instructions###07 02 2020 new variable -common#:#webdav_versioning_info#:#If enabled, already existing files will get a new version instead of beeing overwritten.###07 02 2020 new variable +common#:#webdav_sure_delete_documents_s#:#Siete sicuri di voler rimuovere le Istruzioni di Mount con il seguente titolo: +common#:#webdav_tbl_docs_head_title#:#Titolo Docuemnto: +common#:#webdav_tbl_docs_title#:#Lista di Istruzioni di Mount WebDAV caricati: +common#:#webdav_upload_instructions#:#Istruzioni di Upload +common#:#webdav_versioning_info#:#Se abilitata, i file esistenti riceveranno una nuova versione invece che essere sovrascritti. common#:#webfolder_dir_info#:#Sei qui perché il tuo browser non può aprire le cartelle web. Leggi le istruzioni per aprire le cartelle web. common#:#webfolder_index_of#:#Indice di %1$s common#:#webfolder_instructions#:#Istruzioni cartella web common#:#webfolder_instructions_info#:#Le istruzioni della cartella web sono mostrate sui browser, che non possono aprire direttamente una cartella web. È possibile utilizzare il codice HTML e i seguenti segnaposto: [WEBFOLDER_TITLE], [WEBFOLDER_URI], [WEBFOLDER_URI_IE], [WEBFOLDER_URI_KONQUEROR], [WEBFOLDER_URI_NAUTILUS], [ADMIN_MAIL], [IF_WINDOWS]...[/IF_WINDOWS], [IF_MAC]...[/IF_MAC], [IF_LINUX]...[/IF_LINUX]. Deselezionare il campo per ottenere le istruzioni predefinite. -common#:#webfolder_instructions_text#:#

Segui le istruzioni qui sotto per aprire [WEBFOLDER_TITLE] come cartella sul web:

[IF_WINDOWS]

Istruzioni per Windows XP con Internet Explorer

  1. Apri Internet Explorer
  2. Scegli nel menù 'File > Apri...'
  3. Nella casella Apri, inserisci il seguente indirizzo:
    [WEBFOLDER_URI_IE]
  4. Seleziona 'Apri come cartella web', e poi premi 'OK'.
  5. Inserisci il tuo username e la tua password, e seleziona 'OK'.

Istruzioni per Windows XP senza Internet Explorer

  1. Doppio click sull'icona 'I miei siti sul web' sul desktop.
  2. Clicca su 'Aggiungi sito' dal menù a sinistra della finestra.
  3. Si aprirà il wizard 'Aggiungi sito', clicca su 'Avanti'.
  4. Seleziona l'opzione 'Scegli un altro sito' e poi seleziona 'Avanti'.
  5. Nella casella 'indirizzo web' inserisci
    [WEBFOLDER_URI]
    e poi 'Avanti'.
  6. Inserisci il tuo username e la password, e seleziona 'OK'.
[/IF_WINDOWS][IF_MAC]

Istruzioni per Mac OS X

  1. Apri Cerca
  2. Choose the menu 'Go > Connect to server...'
  3. In the address field enter the following address:
    [WEBFOLDER_URI], and select 'Connect'.
  4. Enter your login and password, and select 'OK'.
[/IF_MAC][IF_LINUX]

Instructions for Linux with Konqueror

  1. Start the Konqueror browser
  2. In the address field enter the following address:
    [WEBFOLDER_URI_KONQUEROR]
  3. Press the Enter key.
  4. Enter your login and password, and select 'OK'.

Instructions for Linux with Nautilus

  1. Start the Nautilus browser
  2. In the address field enter the following address:
    [WEBFOLDER_URI_NAUTILUS]
  3. Press the Enter key.
  4. Enter your login and password, and select 'OK'.
[/IF_LINUX]

If opening the webfolder does not work, please contact [ADMIN_MAIL].

+common#:#webfolder_instructions_text#:#

Segui le istruzioni qui sotto per aprire [WEBFOLDER_TITLE] come cartella sul web:

[IF_WINDOWS]

Istruzioni per Windows XP con Internet Explorer

  1. Apri Internet Explorer
  2. Scegli nel menù 'File > Apri...'
  3. Nella casella Apri, inserisci il seguente indirizzo:
    [WEBFOLDER_URI_IE]
  4. Seleziona 'Apri come cartella web', e poi premi 'OK'.
  5. Inserisci il tuo username e la tua password, e seleziona 'OK'.

Istruzioni per Windows XP senza Internet Explorer

  1. Doppio click sull'icona 'I miei siti sul web' sul desktop.
  2. Clicca su 'Aggiungi sito' dal menù a sinistra della finestra.
  3. Si aprirà il wizard 'Aggiungi sito', clicca su 'Avanti'.
  4. Seleziona l'opzione 'Scegli un altro sito' e poi seleziona 'Avanti'.
  5. Nella casella 'indirizzo web' inserisci
    [WEBFOLDER_URI]
    e poi 'Avanti'.
  6. Inserisci il tuo username e la password, e seleziona 'OK'.
[/IF_WINDOWS][IF_MAC]

Istruzioni per Mac OS X

  1. Apri Cerca
  2. Scegli il Menu 'Vai > Connessione al server...'
  3. Nel campo dell'indirizzo inserire il seguente indirizzo:
    [WEBFOLDER_URI], e seleziona 'Connetti'.
  4. inserisci il tuo login e password, seleziona 'OK'.
[/IF_MAC][IF_LINUX]

Istruzioni per Linux con Konqueror

  1. Apri Konqueror browser
  2. Nel campo indirizzo inserire il seguente indirizzo:
    [WEBFOLDER_URI_KONQUEROR]
  3. Premi il tasto Invio.
  4. Inserisci il tuo login e password, e seleziona 'OK'.

Istruzioni per Linux con Nautilus

  1. Avvia Nautilus browser
  2. Nel campo indirizzo inserire il seguente indirizzo:
    [WEBFOLDER_URI_NAUTILUS]
  3. Press the Enter key.
  4. Inserisci il tuo login e password, e seleziona 'OK'.
[/IF_LINUX]

Se aprendo la cartella web non funziona, per favore contatta [ADMIN_MAIL].

common#:#webfolder_instructions_titletext#:#Apri %1$s come cartella web -common#:#webfolder_mount_dir_with#:#Open this page as a Webfolder with Internet Explorer, Konqueror, other Browser. +common#:#webfolder_mount_dir_with#:#Apri questa pagina come cartella Web con Internet Explorer , Konqueror , altro browser . common#:#webr#:#Risorsa web common#:#webr_active#:#Attivo common#:#webr_add#:#Aggiungi risorsa web @@ -6030,49 +6031,49 @@ common#:#wiki#:#Wiki common#:#wiki_add#:#Aggiungi Wiki common#:#wiki_new#:#Nuovo Wiki common#:#with#:#con -common#:#withdraw_consent#:#Withdraw Consent###29 07 2022 new variable -common#:#withdraw_consent_info_internal#:#If you click on ‘Withdraw Consent’, your account will be deleted.###29 07 2022 new variable -common#:#withdraw_usr_agreement#:#Withdraw Consent###29 07 2022 new variable -common#:#withdrawal_complete#:#Withdrawal of consent complete.###29 07 2022 new variable -common#:#withdrawal_complete_deleted#:#Withdrawal of consent complete, account deleted.###29 07 2022 new variable -common#:#withdrawal_complete_redirect#:#Withdrawal of consent complete. To have your account deleted, please contact your organisation.###29 07 2022 new variable -common#:#withdrawal_mail_info#:#The following email will be sent to an administrator after confirming the withdrawal of your consent:[BR][BR]###29 07 2022 new variable -common#:#withdrawal_mail_subject#:#Withdrawal of Consent to Terms of Service###29 07 2022 new variable -common#:#withdrawal_mail_text#:#Dear Sir/Madam,[BR][BR]I hereby withdraw my consent to your ILIAS installation’s Terms of Service. Please update/remove my account accordingly.[BR][BR]Name: %1$s[BR]Login: %2$s[BR]External Account: %3$s[BR][BR]Yours faithfully[BR]%1$s###29 07 2022 new variable -common#:#withdrawal_sure_account#:#Are you sure you want to confirm the withdrawal of your consent?###29 07 2022 new variable -common#:#withdrawal_sure_account_deletion#:#Are you sure you want to confirm the withdrawal of your consent? This will result in your user account being irrevocably deleted.###29 07 2022 new variable -common#:#withdrawal_sure_account_deletion_no_consent_yet#:#Are you sure that you do not want to accept the Terms of Service? This will result in your user account being irrevocably deleted.###29 07 2022 new variable -common#:#withdrawal_sure_account_no_consent_yet#:#Are you sure that you do not want to accept the Terms of Service?###29 07 2022 new variable -common#:#wizard_search_list#:#Your search produced the following hits. Please select one of them +common#:#withdraw_consent#:#Revoca il consenso +common#:#withdraw_consent_info_internal#:#Se confermi qui, il tuo account verrà eliminato. +common#:#withdraw_usr_agreement#:#Revoca +common#:#withdrawal_complete#:#Processo di revoca completato. +common#:#withdrawal_complete_deleted#:#Processo di revoca completato. Utente cancellato +common#:#withdrawal_complete_redirect#:#Processo di revoca completato. Per cancellare l'utente, contattare l'amministrazione +common#:#withdrawal_mail_info#:#Il seguente messaggio verrà inviato a tuo nome quando confermerai: [BR] [BR] +common#:#withdrawal_mail_subject#:#Revoca del consenso agli accordi di utilizzo +common#:#withdrawal_mail_text#:#Egregio Signore o Signora, [BR] [BR] Con la presente revoco il mio consenso al contratto di utilizzo per la vostra installazione ILIAS. Si prega di avviare le misure appropriate [BR] [BR] Nome: %1$s [BR] Nome utente: %2$s [BR] Account utente esterno: %3$s [BR] [BR] Cordiali saluti [BR] %1$s +common#:#withdrawal_sure_account#:#Sei sicuro di voler revocare il tuo consenso al contratto con l'utente? +common#:#withdrawal_sure_account_deletion#:#Sei sicuro di voler revocare il tuo consenso al contratto con l'utente? Di conseguenza, il tuo account utente verrà eliminato irrevocabilmente. +common#:#withdrawal_sure_account_deletion_no_consent_yet#:#Are you sure you do not want to accept the terms of service? Your user account will be irrevocably deleted.###09 03 2022 new variable +common#:#withdrawal_sure_account_no_consent_yet#:#Are you sure you do not want to accept the terms of service?###09 03 2022 new variable +common#:#wizard_search_list#:#La tua ricerca ha prodotto i seguenti risultati. Seleziona uno di questi common#:#wizard_title_info#:#Si prega di inserire il titolo dell’oggetto che si vuole duplicare. common#:#write#:#Scrivere common#:#year#:#Anno common#:#yearly#:#annuo common#:#years#:#Anni -common#:#yes#:#Si +common#:#yes#:#Sì common#:#yesterday#:#Ieri -common#:#zip#:#Codice postale -common#:#zip_structure_error#:#L'archivio contiene gli stessi nomi dei file. Caricamento non andato a buon fine. +common#:#zip#:#CAP +common#:#zip_structure_error#:#L'archivio contiene gli stessi nomi dei file. Caricamento annullato. common#:#zip_test_failed#:#Zip-test non riuscito. Si prega di contattare il proprio amministratore ILIAS. common#:#zipcode#:#Codice postale -cond#:#cond_under_parent_control#:#Preconditions are under the control of the parent object. -cont#:#cont_add_global_profile#:#Add Global Profile###29 07 2022 new variable -cont#:#cont_add_local_profile#:#Add Local Profile###29 07 2022 new variable -cont#:#cont_add_skill#:#Aggiungi competenza +cond#:#cond_under_parent_control#:#I presupposti vengono gestiti dall'oggetto genitore/superiore. +cont#:#cont_add_global_profile#:#Aggiungi Profilo Globale +cont#:#cont_add_local_profile#:#Aggiungi Profilo Locale +cont#:#cont_add_skill#:#Aggiungi competenze cont#:#cont_assign_competence#:#Assegna competenze ai membri cont#:#cont_assign_skills#:#Assegna competenze -cont#:#cont_block_limit#:#Limit Items per Block -cont#:#cont_block_limit_info#:#If a block contains more items, a "Show more" button will appear. +cont#:#cont_block_limit#:#Limita gli oggetti per Blocco +cont#:#cont_block_limit_info#:#Se un blocco contiene più elementi, verrà visualizzato il pulsante "Mostra altro". cont#:#cont_cont_skills#:#Competenze assegnate dei membri cont#:#cont_deassign_competence#:#Annulla assegnazioni -cont#:#cont_filter#:#Filter###07 02 2020 new variable -cont#:#cont_filter_field#:#Field###07 02 2020 new variable -cont#:#cont_filter_fields#:#Filter Fields###07 02 2020 new variable -cont#:#cont_filter_record#:#Record###07 02 2020 new variable -cont#:#cont_found_objects#:#Found Objects###07 02 2020 new variable -cont#:#cont_item_list#:#List -cont#:#cont_item_list_info#:#Objects located within this container are displayed in the form of a list.###26 08 2024 new variable -cont#:#cont_list_presentation#:#Item Presentation +cont#:#cont_filter#:#Filtro +cont#:#cont_filter_field#:#Campo +cont#:#cont_filter_fields#:#Campi di filtro +cont#:#cont_filter_record#:#Record +cont#:#cont_found_objects#:#Oggetti trovati +cont#:#cont_item_list#:#Lista +cont#:#cont_item_list_info#:#Display content objects in a list.###16 03 2023 new variable +cont#:#cont_list_presentation#:#Vista presentazione per contenuti cont#:#cont_mem_skills#:#Competenze cont#:#cont_news_edited#:#Modificato cont#:#cont_news_settings#:#Impostazioni delle notizie @@ -6083,101 +6084,101 @@ cont#:#cont_news_timeline_info#:#Attiva scheda calendario notizie cont#:#cont_news_timeline_landing_page#:#Pagina di destinazione cont#:#cont_news_timeline_landing_page_info#:#La pagina del calendario sarà la pagina di destinazione. cont#:#cont_news_timeline_tab#:#Calendario -cont#:#cont_no_title#:#Empty Title###26 08 2024 new variable -cont#:#cont_page_type_cont#:#Repository Page (Cours, Group, ...)###29 07 2022 new variable -cont#:#cont_page_type_cstr#:#Course Start Page (Learning Objectives View)###29 07 2022 new variable +cont#:#cont_no_title#:#Empty Title###30 07 2024 new variable +cont#:#cont_page_type_cont#:#Pagina Archivio (Corsi, Gruppi, ...) +cont#:#cont_page_type_cstr#:#Pagina iniziale del corso (visualizzazione degli obiettivi di apprendimento) cont#:#cont_path#:#Percorso cont#:#cont_publish_assignment#:#Pubblica assegnazioni cont#:#cont_published#:#Pubblicato cont#:#cont_really_deassign_skills#:#Vuoi davvero annullare le competenze da questi utenti? -cont#:#cont_really_remove_skill_from_course#:#Vuoi davvero rimuovere queste competenza dalla lista? -cont#:#cont_select_fields#:#Select Fields###07 02 2020 new variable -cont#:#cont_show_more#:#Show More -cont#:#cont_skill#:#Competenza -cont#:#cont_skill_ass_profiles#:#Assigned Profiles of Members###26 08 2024 new variable -cont#:#cont_skill_assigned_comp#:#Selezione competenza -cont#:#cont_skill_assigned_profiles#:#Profile Selection###29 07 2022 new variable -cont#:#cont_skill_deletion_not_possible#:#Deletion of global competence profiles is not possible. Please select only local competence profiles.###29 07 2022 new variable +cont#:#cont_really_remove_skill_from_course#:#Vuoi davvero rimuovere queste competenze dalla lista? +cont#:#cont_select_fields#:#Seleziona campi +cont#:#cont_show_more#:#Mostra altro +cont#:#cont_skill#:#Competenze +cont#:#cont_skill_ass_profiles#:#Assigned Profiles of Members###30 04 2024 new variable +cont#:#cont_skill_assigned_comp#:#Selezione competenze +cont#:#cont_skill_assigned_profiles#:#Selezione del profilo +cont#:#cont_skill_deletion_not_possible#:#Non è possibile eliminare i profili di competenza globale. Seleziona solo profili di competenza locale. cont#:#cont_skill_do_not_set#:#Non impostare cont#:#cont_skill_members#:#Membri -cont#:#cont_skill_no_profile_selected#:#Please select a profile.###29 07 2022 new variable +cont#:#cont_skill_no_profile_selected#:#Selezionare un profilo cont#:#cont_skill_no_skill#:#Nessun valore (Ripristina) -cont#:#cont_skill_no_skills_selected#:#No competences have been selected yet. Please add at least one competence first under "Competence Selection".###26 08 2024 new variable -cont#:#cont_skill_profile#:#Profile###29 07 2022 new variable -cont#:#cont_skill_profiles#:#Assigned Profiles of Members###29 07 2022 new variable +cont#:#cont_skill_no_skills_selected#:#No competences have been selected yet. Please add at least one competence first under "Competence Selection".###09 11 2022 new variable +cont#:#cont_skill_profile#:#Profilo +cont#:#cont_skill_profiles#:#Profilo dei membri cont#:#cont_skill_publish#:#Pubblica cont#:#cont_skill_publish_auto#:#Automatico cont#:#cont_skill_publish_auto_info#:#Le assegnazioni di competenze per i membri sono immediatamente visibili per i membri. cont#:#cont_skill_publish_manual#:#Manuale cont#:#cont_skill_publish_manual_info#:#Le assegnazioni di competenze per i membri devono essere pubblicate prima che diventino visibili per i membri. -cont#:#cont_skill_really_delete_profile_from_list#:#Do you really want to delete this profile?###29 07 2022 new variable -cont#:#cont_skill_really_delete_profiles_from_list#:#Do you really want to delete these profiles?###29 07 2022 new variable -cont#:#cont_skill_really_remove_profile_from_list#:#Do you really want to remove this profile from the list?###29 07 2022 new variable -cont#:#cont_skill_really_remove_profiles_from_list#:#Do you really want to remove these profiles from the list?###29 07 2022 new variable -cont#:#cont_skill_records#:#Competence Records###26 08 2024 new variable -cont#:#cont_skill_removal_not_possible#:#Removing of local competence profiles is not possible. Please select only global competence profiles.###29 07 2022 new variable -cont#:#cont_std_filter_title_1#:#Title###07 02 2020 new variable -cont#:#cont_std_filter_title_2#:#Description###07 02 2020 new variable -cont#:#cont_std_filter_title_3#:#Title/Description###07 02 2020 new variable -cont#:#cont_std_filter_title_4#:#Keyword###07 02 2020 new variable -cont#:#cont_std_filter_title_5#:#Author###07 02 2020 new variable -cont#:#cont_std_filter_title_6#:#Copyright###07 02 2020 new variable -cont#:#cont_std_filter_title_7#:#Tutorial Support###07 02 2020 new variable -cont#:#cont_std_filter_title_8#:#Object Type###07 02 2020 new variable -cont#:#cont_std_filter_title_9#:#Online/Offline###07 02 2020 new variable -cont#:#cont_std_record_title#:#Standard###07 02 2020 new variable -cont#:#cont_tile_size#:#Tile Size###29 07 2022 new variable -cont#:#cont_tile_size_0#:#normal (up to four tiles in a row)###29 07 2022 new variable -cont#:#cont_tile_size_1#:#small (up to six tiles in a row)###29 07 2022 new variable -cont#:#cont_tile_size_2#:#large (up to three tiles in a row)###29 07 2022 new variable -cont#:#cont_tile_size_3#:#extra large (up to two tiles in a row)###29 07 2022 new variable -cont#:#cont_tile_size_4#:#full (one tile in a row)###29 07 2022 new variable -cont#:#cont_tile_view#:#Tiles -cont#:#cont_tile_view_info#:#Objects located within this container are displayed in the form of thumbnail-style tiles. Images for these tiles can be uploaded in the settings of each individual object.###26 08 2024 new variable -cont#:#cont_trash_general_usage#:#If you want to remove a huge amount of old, deleted objects from the system it is highly advisable to start with non-container objects (i.e. Files, Glossaries, Tests,..) and thus removing all objects from the containers (Categories, Courses, Groups, Learning Sequences,...) . Using the filters "Type" and "Deleted on" helps this process. Then finally remove the containers.###28 10 2024 new variable -contact#:#contact_awrn_ap_contacts#:#Contatti approvati -contact#:#contact_awrn_ap_contacts_info#:#Sono elencati tutti i contatti approvati dall’utente. +cont#:#cont_skill_really_delete_profile_from_list#:#Sei sicuro di voler eliminare il profilo? +cont#:#cont_skill_really_delete_profiles_from_list#:#Sei sicuro di voler eliminare i profili? +cont#:#cont_skill_really_remove_profile_from_list#:#Sei sicuro di voler eliminare il profilo dalla lista? +cont#:#cont_skill_really_remove_profiles_from_list#:#Sei sicuro di voler eliminare i profili dalla lista? +cont#:#cont_skill_records#:#Competence Records###30 04 2024 new variable +cont#:#cont_skill_removal_not_possible#:#Non è possibile rimuovere i profili di competenza locale. Seleziona solo profili di competenza globale. +cont#:#cont_std_filter_title_1#:#Titolo +cont#:#cont_std_filter_title_2#:#Descrizione +cont#:#cont_std_filter_title_3#:#Titolo/Descrizione +cont#:#cont_std_filter_title_4#:#Parola chiave +cont#:#cont_std_filter_title_5#:#Autore +cont#:#cont_std_filter_title_6#:#Copyright +cont#:#cont_std_filter_title_7#:#Supporto Tutorial +cont#:#cont_std_filter_title_8#:#Tipo oggetto +cont#:#cont_std_filter_title_9#:#Online/Offline +cont#:#cont_std_record_title#:#Standard +cont#:#cont_tile_size#:#Tile Size###31 03 2023 new variable +cont#:#cont_tile_size_0#:#normal (up to four tiles per row)###31 03 2023 new variable +cont#:#cont_tile_size_1#:#small (up to six tiles per row)###31 03 2023 new variable +cont#:#cont_tile_size_2#:#large (up to three tiles per row)###31 03 2023 new variable +cont#:#cont_tile_size_3#:#extra large (up to two tiles per row)###31 03 2023 new variable +cont#:#cont_tile_size_4#:#full (one tile per row)###31 03 2023 new variable +cont#:#cont_tile_view#:#Mattonelle +cont#:#cont_tile_view_info#:#Display content objects as thumbnail-style tiles. Images for these tiles can be uploaded in the settings of each individual object.###16 03 2023 new variable +cont#:#cont_trash_general_usage#:#If you want to remove a huge amount of old, deleted objects from the system it is highly advisable to start with non-container objects (i.e. Files, Glossaries, Tests,..) and thus removing all objects from the containers (Categories, Courses, Groups, Learning Sequences,...) . Using the filters "Type" and "Deleted on" helps this process. Then finally remove the containers.###08 10 2024 new variable +contact#:#contact_awrn_ap_contacts#:#Contatti confermati +contact#:#contact_awrn_ap_contacts_info#:#Sono elencati tutti i contatti confermati dall’utente. contact#:#contact_awrn_req_contacts#:#Richieste di contatto contact#:#contact_awrn_req_contacts_info#:#Sono indicate tutte le richieste di contatto. content#:#Pages#:#Pagine content#:#add_menu_entry#:#Aggiungi voce nel menu >> -content#:#all_pages#:#l' intero modulo +content#:#all_pages#:#per l'intero modulo didattico content#:#citate#:#Cita content#:#citate_from#:#Cita da ... content#:#citate_page#:#Cita questa pagina -content#:#citate_to#:#Cita a ... +content#:#citate_to#:#Cita fino a ... content#:#cont_Additional#:#Informazioni Extra content#:#cont_AdvancedKnowledge#:#Conoscenza avanzata -content#:#cont_Attention#:#Attention###07 02 2020 new variable -content#:#cont_Background#:#Background###07 02 2020 new variable +content#:#cont_Attention#:#Attenzione +content#:#cont_Background#:#Sfondo content#:#cont_Block#:#Blocco -content#:#cont_Book#:#Book###29 07 2022 new variable +content#:#cont_Book#:#Libro content#:#cont_Circle#:#Cerchio content#:#cont_Citation#:#Citazione -content#:#cont_Confirmation#:#Confirmation###07 02 2020 new variable -content#:#cont_Example#:#Per es. -content#:#cont_Excursus#:#Excursus +content#:#cont_Confirmation#:#Conferma +content#:#cont_Example#:#Esempio +content#:#cont_Excursus#:#Digressione content#:#cont_FileListItem#:#Elemento del File (Standard) content#:#cont_Headline1#:#Intestazione 1 content#:#cont_Headline2#:#Intestazione 2 content#:#cont_Headline3#:#Intestazione 3 -content#:#cont_Information#:#Information###07 02 2020 new variable -content#:#cont_Interaction#:#Interaction###07 02 2020 new variable -content#:#cont_Link#:#Link###07 02 2020 new variable +content#:#cont_Information#:#Information +content#:#cont_Interaction#:#Interazione +content#:#cont_Link#:#Collegamento content#:#cont_List#:#Lista -content#:#cont_Literature#:#Literature###07 02 2020 new variable +content#:#cont_Literature#:#Literature content#:#cont_Media#:#Supporti (Standard) content#:#cont_Mnemonic#:#Mnemonico -content#:#cont_Numbers#:#Numbers###29 07 2022 new variable +content#:#cont_Numbers#:#Numbers content#:#cont_Poly#:#Poligono content#:#cont_Rect#:#Rettangolo content#:#cont_Remark#:#Osservazione -content#:#cont_Separator#:#Separator###07 02 2020 new variable +content#:#cont_Separator#:#Separatore content#:#cont_Special#:#Speciale -content#:#cont_StandardCenter#:#Standard Center###07 02 2020 new variable +content#:#cont_StandardCenter#:#Standard Center content#:#cont_StandardTable#:#Tabella Standard content#:#cont_TableContent#:#Tabella Contenuti -content#:#cont_Verse#:#Verse/Stanza###29 07 2022 new variable +content#:#cont_Verse#:#Verse/Stanza content#:#cont_WholePicture#:#Immagine intera content#:#cont_accented#:#Accentata content#:#cont_act_number#:#Numerazione capitoli @@ -6188,26 +6189,26 @@ content#:#cont_activate_page#:#Attiva Pagina content#:#cont_activated#:#Attivato content#:#cont_activation#:#Attivazione content#:#cont_active#:#Abilita menu -content#:#cont_active_areas#:#Trigger +content#:#cont_active_areas#:#Causa content#:#cont_active_from#:#Attivazione iniziata content#:#cont_active_to#:#Attivazione terminata content#:#cont_add_area#:#Aggiungi Area content#:#cont_add_cell#:#Aggiungi colonna content#:#cont_add_elements#:#Clicca sui segnalibri per aggiungere nuovi elementi. content#:#cont_add_file#:#Aggiungi File -content#:#cont_add_images#:#Aggiungi immagine +content#:#cont_add_images#:#Adatta immagine content#:#cont_add_popup#:#Aggiungi Popup -content#:#cont_add_tab#:#Aggiungi Tab -content#:#cont_add_url#:#Enter URL###29 07 2022 new variable -content#:#cont_added_cell#:#Column added +content#:#cont_add_tab#:#Aggiungi scomparto +content#:#cont_add_url#:#From URL +content#:#cont_added_cell#:#Colonna aggiunta content#:#cont_added_comment#:#Il commento e' stato aggiunto nella storia. -content#:#cont_added_tab#:#Tab created. +content#:#cont_added_tab#:#Scheda creata. content#:#cont_added_term#:#Termine aggiunto content#:#cont_adjust_size#:#Aggiusta Dimensioni -content#:#cont_advanced_settings#:#Advanced Settings###29 07 2022 new variable +content#:#cont_advanced_settings#:#Advanced Settings content#:#cont_align#:#Allineamento content#:#cont_alignment#:#Allineamento -content#:#cont_all_answers_correct#:#All answers correct +content#:#cont_all_answers_correct#:#Tutte le risposte sono corrette content#:#cont_all_closed#:#Chiuso tutto content#:#cont_all_languages#:#Tutte le lingue content#:#cont_all_pages#:#Tutte le pagine @@ -6225,22 +6226,22 @@ content#:#cont_assign_full#:#Imposta a tutto schermo content#:#cont_assign_std#:#Imposta standard content#:#cont_assign_to_parent#:#Assegna a principale content#:#cont_auto_glossaries#:#Glossari collegati automaticamente -content#:#cont_auto_last_visited#:#load last visited chapter (SCO/Asset) -content#:#cont_auto_last_visited_info#:#Opens the last visited SCO/Asset when the learner reenters the learning module. -content#:#cont_auto_suspend#:#Ensure getting tracking data from previous attempts -content#:#cont_auto_suspend_info#:#This option is for SCORM learning modules, which support SCORM 2004 in an inadequate way by not sending proper values for cmi.exit. +content#:#cont_auto_last_visited#:#carica l'ultimo capitolo visitato (SCO / Asset) +content#:#cont_auto_last_visited_info#:#Apre l'ultima SCO / risorsa visitata quando lo studente rientra nel modulo di apprendimento. +content#:#cont_auto_suspend#:#Assicurati di ottenere dati di tracciamento da tentativi precedenti +content#:#cont_auto_suspend_info#:#Questa opzione è per i moduli di apprendimento SCORM, che supportano SCORM 2004 in modo inadeguato non inviando i valori corretti per cmi.exit. content#:#cont_auto_time#:#Animazione automatica tempo di attesa content#:#cont_autoindent#:#Indentazione automatica content#:#cont_automatically_set_store_tries#:#L’opzione "$1" è stata attivata automaticamente poiché l’opzione "$2" è stata consentita. content#:#cont_autostart#:#Avvio automatico content#:#cont_back#:#Indietro -content#:#cont_base_image#:#Base Image +content#:#cont_base_image#:#Immagine di base content#:#cont_bb_tip#:#Consiglio: Gli Stili possono essere applicati rapidamente al testo selezionato. content#:#cont_behavior#:#Comportamento content#:#cont_biblio#:#Dati bibliografici content#:#cont_biblio_info#:#Consenti la funziona dati bibliografici content#:#cont_blist#:#Elenco puntato -content#:#cont_block_format#:#Section Format###29 07 2022 new variable +content#:#cont_block_format#:#Formato Sezione content#:#cont_blocked_users#:#Utenti bloccati content#:#cont_blocked_users_mail_link#:#Clicca sul seguente link per aprire il modello di apprendimento: content#:#cont_bottom#:#In fondo @@ -6251,24 +6252,24 @@ content#:#cont_cach_mode_automatic_info#:#Verranno pubblicate tutte le tue ore d content#:#cont_cach_mode_manual#:#Manuale content#:#cont_cach_mode_manual_info#:#Verranno pubblicate solo le ore di consultazione dei seguenti gruppi. content#:#cont_cant_copy_folders#:#Le cartelle non possono essere copiate negli appunti. -content#:#cont_cant_del_full#:#La cancellazione della modalit& -content#:#cont_cant_del_std#:#La cancellazione del modalit& +content#:#cont_cant_del_full#:#La cancellazione del file a schermo intero non è possibile. +content#:#cont_cant_del_std#:#La cancellazione del file di visualizzazione standard non è possibile. content#:#cont_caption#:#Didascalia -content#:#cont_caption_style#:#Caption Style Class###29 07 2022 new variable +content#:#cont_caption_style#:#Caption Style Class###31 03 2023 new variable content#:#cont_cc_emp#:#Enfatico content#:#cont_cc_imp#:#Importante content#:#cont_cc_str#:#Forte content#:#cont_cc_sub#:#Indice inferiore content#:#cont_cc_sup#:#Indice superiore -content#:#cont_cell_properties#:#Table Cell Properties###26 08 2024 new variable +content#:#cont_cell_properties#:#Table Cell Properties###30 04 2024 new variable content#:#cont_center#:#Centro -content#:#cont_change_alignment#:#Change Alignment###26 08 2024 new variable -content#:#cont_change_notification_salutation#:#Hello %s,###07 02 2020 new variable -content#:#cont_change_notification_subject_lm#:#Learning Module "%1$s" has been changed: %2$s###07 02 2020 new variable +content#:#cont_change_alignment#:#Change Alignment###30 04 2024 new variable +content#:#cont_change_notification_salutation#:#Ciao %s, +content#:#cont_change_notification_subject_lm#:#Il modulo didattico "%1$s" è stato cambiato: %2$s content#:#cont_change_object_reference#:#Cambia il riferimento dell'oggetto -content#:#cont_change_style#:#Change Style###26 08 2024 new variable +content#:#cont_change_style#:#Change Style###30 04 2024 new variable content#:#cont_change_type#:#Cambia il tipo -content#:#cont_change_width#:#Change Width###26 08 2024 new variable +content#:#cont_change_width#:#Change Width###30 04 2024 new variable content#:#cont_chap_and_pages#:#Capitoli e Pagine content#:#cont_chap_select_target_now#:#Capitolo selezionato per lo spostamento. Scegli adesso la destinazione. content#:#cont_chapters#:#Capitoli @@ -6281,40 +6282,40 @@ content#:#cont_char_style_code#:#Codice content#:#cont_char_style_com#:#Commento content#:#cont_char_style_quot#:#Quotazione content#:#cont_characteristic#:#Stile -content#:#cont_characteristic_table#:#Style Class###26 08 2024 new variable -content#:#cont_check_values#:#check values sent by SCO +content#:#cont_characteristic_table#:#Style Class###17 05 2024 new variable +content#:#cont_check_values#:#controlla i valori inviati da SCO content#:#cont_check_values_info#:#Lo strumento di test controllerà se i valori inviati dagli SCO aderiscono allo standard SCORM.
Lo standard SCORM è molto esigente per quanto riguarda il risparmio di valori. Non tutti i moduli di apprendimento soddisfano i requisiti dello standard. Questa opzione consente di verificare se il modulo aderisce allo standard o meno. Non controllare questa opzione se si desidera solo controllare se ILIAS può eseguire questo modulo o meno. content#:#cont_choose_characteristic#:#Scegli caratteristiche content#:#cont_choose_characteristic_section#:#Sezioni content#:#cont_choose_characteristic_text#:#Elementi di Testo -content#:#cont_choose_file_source#:#Source###07 02 2020 new variable -content#:#cont_choose_from_clipboard#:#Choose from Clipboard###29 07 2022 new variable -content#:#cont_choose_from_pool#:#Select from Media Pool###29 07 2022 new variable +content#:#cont_choose_file_source#:#Fonte +content#:#cont_choose_from_clipboard#:#Scegli dagli appunti +content#:#cont_choose_from_pool#:#Scegli dal Media Pool content#:#cont_choose_glo#:#Scegli il glossario content#:#cont_choose_lm#:#Scegli il modulo di apprendimento -content#:#cont_choose_local#:#Local directory###07 02 2020 new variable -content#:#cont_choose_media_pool#:#Select Pool###29 07 2022 new variable +content#:#cont_choose_local#:#Cartella locale +content#:#cont_choose_media_pool#:#Seleziona Pool content#:#cont_choose_mep#:#Scegli gruppo media content#:#cont_choose_pages_or_chapters_only#:#Seleziona solamente le pagine o i capitoli. -content#:#cont_choose_upload_dir#:#Upload directory###07 02 2020 new variable +content#:#cont_choose_upload_dir#:#Cartella di caricamento (upload) content#:#cont_choose_wiki#:#Scegli Wiki -content#:#cont_citation_selection_not_valid#:#Questa scelta non & -content#:#cont_click_br_corner#:#Per favore, clicca nell& -content#:#cont_click_center#:#Per favore, clicca nel centro dell& -content#:#cont_click_circle#:#Per favore, clicca in una circonferenza dell& -content#:#cont_click_edit#:#Click on elements to edit its properties.###29 07 2022 new variable -content#:#cont_click_multi_select#:#Click on elements to select or deselect them.###29 07 2022 new variable -content#:#cont_click_next_or_save#:#Per favore, clicca nel punto successivo del poligono oppure salva l& +content#:#cont_citation_selection_not_valid#:#La tua selezione non è valida +content#:#cont_click_br_corner#:#Fare clic sull'angolo in basso a destra dell'area desiderata. +content#:#cont_click_center#:#Fare clic sul centro dell'area desiderata. +content#:#cont_click_circle#:#Fare clic su un punto circolare dell'area desiderata. +content#:#cont_click_edit#:#Click on elements to edit its properties. +content#:#cont_click_multi_select#:#Click on elements to select or deselect them. +content#:#cont_click_next_or_save#:#Fare clic sul punto successivo del poligono o salvare l'area. (Non è necessario fare nuovamente clic sul punto iniziale di questo poligono!) content#:#cont_click_next_point#:#Per favore, clicca nel punto successivo del poligono. content#:#cont_click_starting_point#:#Per favore, clicca nel punto di partenza del poligono. -content#:#cont_click_tl_corner#:#Per favore, clicca nell& -content#:#cont_code_import_file#:#Import###26 08 2024 new variable -content#:#cont_code_manual_editing#:#Manuelle Eingabe###26 08 2024 new variable -content#:#cont_colspan#:#Span del col. -content#:#cont_commented_by#:#Commented by###07 02 2020 new variable -content#:#cont_comments#:#enable storage of comments +content#:#cont_click_tl_corner#:#Fare clic sull'angolo in alto a sinistra dell'area desiderata. +content#:#cont_code_import_file#:#Import###30 04 2024 new variable +content#:#cont_code_manual_editing#:#Manuelle Eingabe###30 04 2024 new variable +content#:#cont_colspan#:#Intervallo colonne +content#:#cont_commented_by#:#Commentato da +content#:#cont_comments#:#Abilitare la raccomandazione dei commenti content#:#cont_comments_info#:#Alcuni moduli di apprendimento SCROM 2004 consentono agli utenti di fornire commenti all’interno del modulo. Quest’opzione consente di salvare questi commenti. -content#:#cont_confirm_delete#:#conferma eliminazione? +content#:#cont_confirm_delete#:#Confermare eliminazione? content#:#cont_constrain_proportions#:#Vincola le proporzioni content#:#cont_content#:#Contenuto content#:#cont_content_popup#:#Popup dei contenuti @@ -6326,10 +6327,10 @@ content#:#cont_copy_to_clipboard#:#Copia negli appunti content#:#cont_correct_after_first#:#Primo tentativo corretto content#:#cont_correct_answer_also#:#È anche corretto: content#:#cont_correct_answers_also#:#Sono anche corretti: -content#:#cont_correct_answers_shown#:#Correct answers are shown abov +content#:#cont_correct_answers_shown#:#Le risposte corrette sono mostrate sopra content#:#cont_could_not_determine_resource_size#:#ILIAS non può calcolare automaticamente la grandezza della risorsa. -content#:#cont_could_not_save_duplicate_pc_ids#:#Page could not be saved (duplicate PC IDs).###29 07 2022 new variable -content#:#cont_cp_question_diff_formats_info#:#Please note that some formattings are not supported in content modules. +content#:#cont_could_not_save_duplicate_pc_ids#:#Purtroppo non è stato possibile salvare la pagina. (ID PC duplicati) +content#:#cont_cp_question_diff_formats_info#:#Si noti che alcune formattazioni non sono supportate nei moduli di contenuto. content#:#cont_create_link#:#Crea link content#:#cont_create_mob#:#Crea oggetto multimediale content#:#cont_credits#:#Ringraziamenti @@ -6352,9 +6353,9 @@ content#:#cont_deactivate_media#:#Disattiva media content#:#cont_deactivate_page#:#Disattiva pagina content#:#cont_deactivated#:#Disattivata content#:#cont_debug#:#Mostra menu di debug -content#:#cont_debug_deactivate#:#Hint: The test tool can be disabled for all learning modules. +content#:#cont_debug_deactivate#:#Suggerimento: lo strumento di test può essere disabilitato per tutti i moduli di apprendimento. content#:#cont_debug_deactivate12#:#Uno strumento di test verrà mostrato nella modalità di presentazione del modulo di apprendimento. Sulla base di dati forniti da questo, l’interazione del modulo di apprendimento e ILIAS possono essere calcolati. -content#:#cont_debug_deactivated#:#Hint: The test tool is disabled for all learning modules. +content#:#cont_debug_deactivated#:#Suggerimento: lo strumento di test è disabilitato per tutti i moduli di apprendimento. content#:#cont_debugging#:#Debugging content#:#cont_decimal#:#Decimale content#:#cont_def_feedb_activated#:#I testi di feedback predefiniti sono attualmente attivati nelle impostazioni del modulo di apprendimento. @@ -6365,9 +6366,9 @@ content#:#cont_def_map_areas#:#Area link di default content#:#cont_def_organization#:#Organizzazione predefinita content#:#cont_default#:#Impostazione predefinita content#:#cont_definition#:#Definizione -content#:#cont_delete_content#:#Delete Content###29 07 2022 new variable +content#:#cont_delete_content#:#Cancella Contenuti content#:#cont_delete_selected#:#Cancella -content#:#cont_delete_style#:#Cancella style +content#:#cont_delete_style#:#Cancella stile content#:#cont_delete_track_data#:#cancella dati di tracking content#:#cont_dependencies#:#Dipendenze content#:#cont_dir_created#:#Directory creata. @@ -6379,7 +6380,7 @@ content#:#cont_disable_def_feedback_info#:#Se disabilitato, le risposte alle dom content#:#cont_download#:#Scarica content#:#cont_download_title#:#Download titolo content#:#cont_drag_and_drop_elements#:#Copia/Incolla gli elementi del contenuto sui segnaposto (placeholders) per muovere gli elementi. -content#:#cont_drag_element_click_save#:#Drag and drop the element to the desired position. Then hit "Save". +content#:#cont_drag_element_click_save#:#Sposta l'elemento nella posizione desiderata, quindi fai clic su "Salva". content#:#cont_ed_align_center#:#allineam: centrato content#:#cont_ed_align_left#:#allineam: a sinistra content#:#cont_ed_align_left_float#:#allineam: a sinistra float @@ -6390,12 +6391,12 @@ content#:#cont_ed_cell_left#:#Sposta a sinistra content#:#cont_ed_cell_right#:#Sposta a destra content#:#cont_ed_class#:#Stile content#:#cont_ed_click_to_add_pg#:#Clicca qui per aggiungere contenuto. -content#:#cont_ed_col_left#:#sposta la colonna a sinistra -content#:#cont_ed_col_right#:#sposta la colonna a destra +content#:#cont_ed_col_left#:#Sposta la colonna a sinistra +content#:#cont_ed_col_right#:#Sposta la colonna a destra content#:#cont_ed_copy#:#Copia content#:#cont_ed_copy_clip#:#Copia nella clipboard content#:#cont_ed_cut#:#Taglia -content#:#cont_ed_delete#:#elimina +content#:#cont_ed_delete#:#Elimina content#:#cont_ed_delete_cell#:#Elimina colonna content#:#cont_ed_delete_col#:#elimina colonna content#:#cont_ed_delete_item#:#elimina elemento @@ -6405,45 +6406,45 @@ content#:#cont_ed_edit#:#modifica content#:#cont_ed_edit_data#:#Edita Dati content#:#cont_ed_edit_files#:#Edita Files content#:#cont_ed_edit_multiple#:#Modifica sequenza di paragrafi -content#:#cont_ed_edit_prop#:#modifica proprieta' +content#:#cont_ed_edit_prop#:#Proprietà content#:#cont_ed_enable#:#Abilita/Disabilita content#:#cont_ed_flist#:# Elenco file content#:#cont_ed_go#:#OK content#:#cont_ed_grid_col_width#:#Larghezza colonna -content#:#cont_ed_grid_col_width_info#:#Column width can span multiple 1/12 units of the row and depend on the overall screen size. Devices are given as examples. Their screen size determines the concrete behaviour. 12/12 equals to 100% width. -content#:#cont_ed_grid_col_widths#:#Larghezze colonna -content#:#cont_ed_insert_amdfrm#:#Insert Advanced Metadata###29 07 2022 new variable -content#:#cont_ed_insert_amdpl#:#Insert Page List###29 07 2022 new variable +content#:#cont_ed_grid_col_width_info#:#La larghezza della colonna può estendersi su più di 1/12 unità della riga e dipende dalla dimensione complessiva dello schermo. I dispositivi sono riportati come esempi. Le loro dimensioni dello schermo determinano il comportamento concreto. 12/12 corrisponde al 100% di larghezza. +content#:#cont_ed_grid_col_widths#:#Larghezze colonne +content#:#cont_ed_insert_amdfrm#:#Insert Advanced Metadata###31 03 2023 new variable +content#:#cont_ed_insert_amdpl#:#Inserisci lista di pagine content#:#cont_ed_insert_blog#:#Inserisci blog -content#:#cont_ed_insert_cach#:#Insert Consultation Hours###29 07 2022 new variable -content#:#cont_ed_insert_dtab#:#Insert Data Table###29 07 2022 new variable -content#:#cont_ed_insert_flst#:#Insert File List###29 07 2022 new variable +content#:#cont_ed_insert_cach#:#Inserisci orario colloqui +content#:#cont_ed_insert_dtab#:#Inserisci Tabella Dati +content#:#cont_ed_insert_flst#:#Inserisci lista file content#:#cont_ed_insert_grid#:#Inserisci layout colonna content#:#cont_ed_insert_grid_info#:#Aggiunge un layout di colonna reattivo basato su una griglia con 12 unità per riga. content#:#cont_ed_insert_iim#:#Inserisci immagine interattiva content#:#cont_ed_insert_incl#:#Inserisci frammento di contenuto -content#:#cont_ed_insert_lay#:#Insert Layout Template###26 08 2024 new variable -content#:#cont_ed_insert_lhist#:#Insert Learning History###29 07 2022 new variable +content#:#cont_ed_insert_lay#:#Insert Layout Template###30 04 2024 new variable +content#:#cont_ed_insert_lhist#:#Inserisci Storico progressi didattici content#:#cont_ed_insert_list#:#inserisci lista -content#:#cont_ed_insert_lpe#:#Insert Login Page Element###29 07 2022 new variable +content#:#cont_ed_insert_lpe#:#Inserisci elemento della pagina di login content#:#cont_ed_insert_map#:#Inserisci Mappa -content#:#cont_ed_insert_mcrs#:#Insert My Courses###29 07 2022 new variable +content#:#cont_ed_insert_mcrs#:#Inserisci i miei corsi content#:#cont_ed_insert_media#:#inserisci multimedia content#:#cont_ed_insert_par#:#inserisci paragrafo content#:#cont_ed_insert_pcqst#:#Inserisci domanda content#:#cont_ed_insert_plach#:#Inserisci segnaposto -content#:#cont_ed_insert_prof#:#Insert Personal Data###29 07 2022 new variable +content#:#cont_ed_insert_prof#:#Inserisci dati personali content#:#cont_ed_insert_qover#:#Inserisci panoramica domande content#:#cont_ed_insert_repobj#:#Inserisci Elenco Risorse -content#:#cont_ed_insert_sec#:#Insert Section###29 07 2022 new variable -content#:#cont_ed_insert_skills#:#Insert Skills -content#:#cont_ed_insert_src#:#Insert Code###29 07 2022 new variable -content#:#cont_ed_insert_tab#:#Insert Advanced Table###29 07 2022 new variable +content#:#cont_ed_insert_sec#:#Inserisci Sezione +content#:#cont_ed_insert_skills#:#Inserisci competenze +content#:#cont_ed_insert_src#:#Inserisci Codice +content#:#cont_ed_insert_tab#:#Inserisci Tabella Avanzata content#:#cont_ed_insert_tabs#:#Inserisci Tabs content#:#cont_ed_insert_templ#:#Inserisci modello di contenuto -content#:#cont_ed_insert_vrfc#:#Insert Certificate###29 07 2022 new variable +content#:#cont_ed_insert_vrfc#:#Insert Certificate content#:#cont_ed_item_down#:#sposta loggetto in basso -content#:#cont_ed_item_up#:#sposta l& +content#:#cont_ed_item_up#:#Sposta elemento in alto content#:#cont_ed_list#:# Lista avanzata content#:#cont_ed_moveafter#:#sposta dopo content#:#cont_ed_movebefore#:#sposta prima @@ -6453,8 +6454,8 @@ content#:#cont_ed_new_item_after#:#Nuovo elemento dopo content#:#cont_ed_new_item_before#:#Nuovo elemento prima content#:#cont_ed_new_row_after#:#Nuova riga dopo content#:#cont_ed_new_row_before#:#Nuova riga prima -content#:#cont_ed_nr_cols#:#Number of Columns###26 08 2024 new variable -content#:#cont_ed_nr_rows#:#Number of Rows###26 08 2024 new variable +content#:#cont_ed_nr_cols#:#Number of Columns###30 04 2024 new variable +content#:#cont_ed_nr_rows#:#Number of Rows###30 04 2024 new variable content#:#cont_ed_par#:#Testo content#:#cont_ed_paste#:#Incolla content#:#cont_ed_paste_clip#:#Incolla da clipboard @@ -6471,17 +6472,17 @@ content#:#cont_ed_split_page#:#Splittare su nuova pagina content#:#cont_ed_split_page_next#:#suddividi nella pagina successiva content#:#cont_ed_textitem#:# Elemento di testo content#:#cont_ed_width#:#Larghezza -content#:#cont_edit_base_image#:#Edit Base Image -content#:#cont_edit_comp#:#Editing###29 07 2022 new variable +content#:#cont_edit_base_image#:#Modifica immagine di base +content#:#cont_edit_comp#:#Editing content#:#cont_edit_definition#:#Modifica definizione -content#:#cont_edit_file_list_properties#:#Visualizza le propriet& +content#:#cont_edit_file_list_properties#:#Modifica proprietà elenco file content#:#cont_edit_language_version#:#Modifica versione content#:#cont_edit_lrs_settings#:#Edita Impostazioni content#:#cont_edit_marker_position#:#Modifica posizione indicatore content#:#cont_edit_mob#:#Modifica oggetto multimediale -content#:#cont_edit_mob_alias_prop#:#Modifica propriet& +content#:#cont_edit_mob_alias_prop#:#Modifica proprietà istanza oggetto multimediale content#:#cont_edit_mode#:#Modifica modalità -content#:#cont_edit_multi#:#Selection###29 07 2022 new variable +content#:#cont_edit_multi#:#Selezione Multipla content#:#cont_edit_overlay_position#:#Modifica posizione sovrapposizione content#:#cont_edit_par#:#Modifica paragrafo content#:#cont_edit_personal_data#:#Modifica dati personali @@ -6493,19 +6494,19 @@ content#:#cont_edit_shape_rectangle#:#Edita forma (Rettangolo) content#:#cont_edit_shape_whole_picture#:#Edita forma (Immagine intera) content#:#cont_edit_src#:#Modifica codice sorgente content#:#cont_edit_style#:#Edita Stile -content#:#cont_edit_table#:#Edit Table###26 08 2024 new variable +content#:#cont_edit_table#:#Edit Table###30 04 2024 new variable content#:#cont_edit_tabs#:#Proprietà content#:#cont_edit_term#:#Modifica termine -content#:#cont_edit_title#:#Change Title###26 08 2024 new variable +content#:#cont_edit_title#:#Change Title###30 04 2024 new variable content#:#cont_element_refers_removed_itgr#:#Questo elemento di contenuto fa riferimento a un gruppo di articoli che nel frattempo è stato rimosso. content#:#cont_empty_question#:#Modifica della domande non terminata. Si prega cliccare e modificare o eliminare domanda. content#:#cont_enable_page_history#:#Cronologia pagina -content#:#cont_enable_page_history_info#:#Stores older versions of pages and allows to roll back to older versions. +content#:#cont_enable_page_history_info#:#Memorizza le versioni precedenti delle pagine e consente di ripristinare le versioni precedenti. content#:#cont_enable_time_scheduled_page_activation#:#Attivazione Pagina non prevista content#:#cont_enable_time_scheduled_page_activation_info#:#Se abilitato, un periodo di attivazione (data/ora) puo'essere selezionato nell'editore di modulo per ogni pagina. content#:#cont_end#:#Fine content#:#cont_enough_answers_correct#:#Giusto, ma non è la soluzione migliore! -content#:#cont_enter_a_dir_name#:#Inserisci nome directory. +content#:#cont_enter_a_dir_name#:#Inserisci nome cartella. content#:#cont_enter_a_file#:#Seleziona un file. content#:#cont_error#:#Ha avuto luogo un errore content#:#cont_exp_id_used_multiple#:#ID di esportazione utilizzato diverse volte @@ -6517,101 +6518,101 @@ content#:#cont_export_id#:#Esporta ID content#:#cont_file#:#File content#:#cont_file_created#:#File creato. content#:#cont_file_deleted#:#File cancellato. -content#:#cont_file_from_repository#:#File dal Repository -content#:#cont_file_from_workspace#:#File From My Workspace +content#:#cont_file_from_repository#:#File dall'Archivio +content#:#cont_file_from_workspace#:#File dalle risorse personali content#:#cont_file_renamed#:#File rinominato. content#:#cont_file_unzipped#:#File dezippato. content#:#cont_files#:#File content#:#cont_finish_editing#:#Termina modifica -content#:#cont_finish_table_editing#:#Finish Data Table Editing###26 08 2024 new variable -content#:#cont_first_open#:#First Opened +content#:#cont_finish_table_editing#:#Finish Data Table Editing###30 04 2024 new variable +content#:#cont_first_open#:#In primo luogo aperto content#:#cont_first_page#:#Prima pagina content#:#cont_first_row_style#:#Stile della prima riga content#:#cont_fix_tree#:#Correggi la struttura ad albero (Fix Tree) -content#:#cont_fix_tree_confirm#:#Per favore, esegui questo comando solo se la struttura dell& +content#:#cont_fix_tree_confirm#:#Esegui questo comando solo se la struttura ad albero di questo modulo di apprendimento è corrotta, ad es. se si verificano elementi vuoti nella vista Explorer. content#:#cont_fn#:#Nota a piè di pagina content#:#cont_footer#:#Piè di pagina -content#:#cont_footnote#:#Footnote###29 07 2022 new variable +content#:#cont_footnote#:#Footnote content#:#cont_force_all_open#:#Forza tutta aperta content#:#cont_format#:#Formato -content#:#cont_format_cells#:#Format Cells###26 08 2024 new variable +content#:#cont_format_cells#:#Format Cells###30 04 2024 new variable content#:#cont_fourth_edition#:#SCORM 2004 quarta edizione -content#:#cont_fourth_edition_info#:#SCORM 2004 4th edition offers some advantages compared to the 3rd edition. Further data over SCO boundaries can be exchanged for example. These options are however rarely used and have a negative effect on the speed. +content#:#cont_fourth_edition_info#:#SCORM 2004 4th edition offre alcuni vantaggi rispetto alla 3a edizione. Ulteriori dati oltre i limiti SCO possono essere scambiati per esempio. Queste opzioni sono tuttavia utilizzate raramente e hanno un effetto negativo sulla velocità. content#:#cont_free_pages#:#Pagine libere -content#:#cont_full_is_in_dir#:#La cancellazione non & +content#:#cont_full_is_in_dir#:#Cancellazione impossibile. Il file a schermo intero è nella directory. content#:#cont_fullscreen#:#A tutto schermo content#:#cont_general_properties#:#Proprieta' generali content#:#cont_get_link#:#restituisci il collegamento content#:#cont_glo_assign#:#Assegna Glossario content#:#cont_glo_create#:#Crea Glossario content#:#cont_glo_detach#:#Separa Glossario -content#:#cont_glo_properties#:#Propriet& +content#:#cont_glo_properties#:#Proprietà del glossario content#:#cont_glossaries#:#Glossari -content#:#cont_got_lock_release#:#This page has been locked for your editing until %1. Please release the page after you have done all your changes. +content#:#cont_got_lock_release#:#La pagina è stata bloccata per permetterLe di modificarla fino a %1. Fino ad allora altri utenti non possono effettuare modifiche alla pagina. La preghiamo di sbloccarla al termine delle Sue modifiche. content#:#cont_grid_cell#:#Colonna content#:#cont_grid_cell_confirm_deletion#:#Vuoi davvero eliminare la/e colonna/e? content#:#cont_grid_nr_cells#:#Numero di colonne -content#:#cont_grid_t_main_side#:#Haupt- und Seitenblock###07 02 2020 new variable -content#:#cont_grid_t_main_side_info#:#Legt einen breite Spalte links und eine schmalere Spalte rechts daneben an. Wechselt in Mobilansicht (small) zu einem Ein-Spalten-Layout.###07 02 2020 new variable -content#:#cont_grid_t_manual#:#Manuell erstelltes Seitenlayout###07 02 2020 new variable -content#:#cont_grid_t_manual_info#:#Ermöglicht die freie Gestaltung von Spaltenanzahl und -breiten.###07 02 2020 new variable -content#:#cont_grid_t_three_column#:#Drei-Spalten-Layout###07 02 2020 new variable -content#:#cont_grid_t_three_column_info#:#Legt drei gleich breite Spalten nebeneinander an. Wechselt in Mobilansicht (small) zu einem Ein-Spalten-Layout.###07 02 2020 new variable -content#:#cont_grid_t_two_by_two#:#Zwei-mal-zwei-Box###07 02 2020 new variable -content#:#cont_grid_t_two_by_two_info#:#Legt zwei Zeilen mit zwei gleich breiten Spalten an. Wechselt in Mobilansicht (small) zu einem Ein-Spalten-Layout und auf extrabreiten Bildschirmen (extra large) in ein Vier-Spalten-Layout.###07 02 2020 new variable -content#:#cont_grid_t_two_column#:#Zwei-Spalten-Layout###07 02 2020 new variable -content#:#cont_grid_t_two_column_info#:#Legt zwei gleich breite Spalten nebeneinander an. Wechselt in Mobilansicht (small) zu einem Ein-Spalten-Layout.###07 02 2020 new variable +content#:#cont_grid_t_main_side#:#Blocco principale e secondario +content#:#cont_grid_t_main_side_info#:#Crea una colonna larga a sinistra e una colonna più stretta sulla destra. La visualizzazione passa ad una colonna nella modalità mobile (small). +content#:#cont_grid_t_manual#:#Layout di pagina creato manualmente +content#:#cont_grid_t_manual_info#:#Permette di impostare liberamente il numero e la larghezza delle colonne +content#:#cont_grid_t_three_column#:#Distribuzione a tre colonne +content#:#cont_grid_t_three_column_info#:#Crea tre colonne della stessa ampiezza. Su dispositivi cellulari la visualizzazione cambia ad una colonna (small). +content#:#cont_grid_t_two_by_two#:#Scatola due-per-due +content#:#cont_grid_t_two_by_two_info#:#Crea due righe con due colonne della stessa ampiezza. Passa ad una colonna in visualizzazione mobile (small) ed a quattro colonne su dispositivi con schermi molto larghi (extralarge). +content#:#cont_grid_t_two_column#:#Distribuzione a due colonne +content#:#cont_grid_t_two_column_info#:#Crea due colonne accostate della stessa ampiezza. Passa ad una colonna nella visualizzazione da dispositivi cellulari (small). content#:#cont_grid_width_l#:#Grande content#:#cont_grid_width_l_info#:#Per esempio desktop content#:#cont_grid_width_m#:#Medio -content#:#cont_grid_width_m_info#:#Per esempio tablet +content#:#cont_grid_width_m_info#:#p.es. tablet content#:#cont_grid_width_s#:#Piccolo -content#:#cont_grid_width_s_info#:#Per esempio smartphone -content#:#cont_grid_width_xl#:#Extra Large -content#:#cont_grid_width_xl_info#:#Per esempio desktop ampio -content#:#cont_hacc_needs_height#:#Please set a content height for horizontal accordions.###26 08 2024 new variable -content#:#cont_hacc_needs_width#:#Please set a content width for horizontal accordions.###26 08 2024 new variable -content#:#cont_has_row_header#:#Has a Header Row###26 08 2024 new variable +content#:#cont_grid_width_s_info#:#p.es. smartphone +content#:#cont_grid_width_xl#:#Molto grande (Extra Large) +content#:#cont_grid_width_xl_info#:#p.es. desktop ampio +content#:#cont_hacc_needs_height#:#Please set a content height for horizontal accordions.###26 04 2023 new variable +content#:#cont_hacc_needs_width#:#Please set a content width for horizontal accordions.###26 04 2023 new variable +content#:#cont_has_row_header#:#Has a Header Row###30 04 2024 new variable content#:#cont_header#:#Intestazione content#:#cont_height#:#Altezza content#:#cont_help_no_valid_tooltip_id#:#L’ID descrizione comando immesso non è valido. content#:#cont_hide_adv#:#Nascondi conoscenza avanzata content#:#cont_hide_head_foot_print#:#Nascondi intestazione personalizzata e piè di pagina nella visualizzazione stampa -content#:#cont_hidenavig#:#Nascondi Navigation-tree a sinistra -content#:#cont_hidenavig_info#:#The left navigation tree can be hidden, if the SCORM Learning module contains sufficient functionality to navigate the content or the top navigation bar is displayed. +content#:#cont_hidenavig#:#Nascondi albero a sinistra +content#:#cont_hidenavig_info#:#L'albero di navigazione a sinistra può essere nascosto se il modulo di apprendimento SCORM contiene funzionalità sufficienti per navigare nel contenuto o viene visualizzata la barra di navigazione in alto. content#:#cont_highlight_class#:#Evidenzia classe content#:#cont_highlight_mode#:#Evidenzia modalità content#:#cont_hover#:#Passaggio del mouse content#:#cont_href#:#href content#:#cont_html_export_ids#:#ID di esportazione HTML -content#:#cont_html_export_ids_info#:#Allows to maintain extra IDs for ILIAS learning modules, that are used for naming HTML files, when HTML export is done. +content#:#cont_html_export_ids_info#:#Consente di mantenere ID aggiuntivi per i moduli di apprendimento ILIAS, utilizzati per denominare i file HTML, al termine dell'esportazione HTML. content#:#cont_html_table#:#Tabella HTML content#:#cont_id_ref#:#identificatore ref content#:#cont_ie_compatibility#:#Internet Explorer 7 modalità compatibile -content#:#cont_ie_compatibility_info#:#Especially for older learning modules it can be helpful to activate the compatibility mode. Please note that the compatibility mode can be disabled in newer versions of Internet Explorer. -content#:#cont_ie_force_render#:#Force Internet Explorer to render again -content#:#cont_ie_force_render_info#:#Enable this option only if content of the learning module is not displayed correctly with Internet Explorer due to many frames or iframes. Additionally you have to set the option 'Display' to 'in new window'. -content#:#cont_iim_add_overlay#:#Add Overlay###26 08 2024 new variable -content#:#cont_iim_add_trigger#:#Add Trigger###26 08 2024 new variable -content#:#cont_iim_add_trigger_text#:#Please add a trigger. Afterwards edit size and position on the right screen.###26 08 2024 new variable -content#:#cont_iim_background_image#:#Background Image###26 08 2024 new variable -content#:#cont_iim_background_image_and_caption#:#Background Image and Caption###26 08 2024 new variable -content#:#cont_iim_edit#:#Edit Interactive Image###26 08 2024 new variable -content#:#cont_iim_edit_trigger#:#Edit Trigger###26 08 2024 new variable -content#:#cont_iim_finish_editing#:#Finish Editing Interactive Image###26 08 2024 new variable -content#:#cont_iim_horizontal#:#Horizontal###26 08 2024 new variable -content#:#cont_iim_lg#:#Large###26 08 2024 new variable -content#:#cont_iim_md#:#Medium###26 08 2024 new variable -content#:#cont_iim_no_overlay#:#No Overlay###26 08 2024 new variable -content#:#cont_iim_overview#:#Overview###26 08 2024 new variable -content#:#cont_iim_select_overlay#:#Select Overlay###26 08 2024 new variable -content#:#cont_iim_select_trigger#:#To edit an existing trigger, click it on the right screen.###26 08 2024 new variable -content#:#cont_iim_size#:#Size###26 08 2024 new variable -content#:#cont_iim_sm#:#Small###26 08 2024 new variable -content#:#cont_iim_tr_add_popup#:#Add Content-Popup###26 08 2024 new variable -content#:#cont_iim_tr_properties_info#:#The trigger will be presented on the right side. You may alter position and size using the mouse.###26 08 2024 new variable -content#:#cont_iim_trigger#:#Trigger###26 08 2024 new variable -content#:#cont_iim_vertical#:#Vertical###26 08 2024 new variable +content#:#cont_ie_compatibility_info#:#Soprattutto per i moduli di apprendimento più vecchi può essere utile attivare la modalità di compatibilità. Si noti che la modalità di compatibilità può essere disabilitata nelle versioni più recenti di Internet Explorer. +content#:#cont_ie_force_render#:#Forza il rendering di Internet Explorer +content#:#cont_ie_force_render_info#:#Abilita questa opzione solo se il contenuto del modulo di apprendimento non viene visualizzato correttamente con Internet Explorer a causa di molti frame o iframe. Inoltre, devi impostare l'opzione "Visualizza" su "in una nuova finestra". +content#:#cont_iim_add_overlay#:#Add Overlay###30 04 2024 new variable +content#:#cont_iim_add_trigger#:#Add Trigger###30 04 2024 new variable +content#:#cont_iim_add_trigger_text#:#Please add a trigger. Afterwards edit size and position on the right screen.###30 04 2024 new variable +content#:#cont_iim_background_image#:#Background Image###30 04 2024 new variable +content#:#cont_iim_background_image_and_caption#:#Background Image and Caption###30 04 2024 new variable +content#:#cont_iim_edit#:#Edit Interactive Image###30 04 2024 new variable +content#:#cont_iim_edit_trigger#:#Edit Trigger###30 04 2024 new variable +content#:#cont_iim_finish_editing#:#Finish Editing Interactive Image###30 04 2024 new variable +content#:#cont_iim_horizontal#:#Horizontal###30 04 2024 new variable +content#:#cont_iim_lg#:#Large###30 04 2024 new variable +content#:#cont_iim_md#:#Medium###30 04 2024 new variable +content#:#cont_iim_no_overlay#:#No Overlay###30 04 2024 new variable +content#:#cont_iim_overview#:#Overview###30 04 2024 new variable +content#:#cont_iim_select_overlay#:#Select Overlay###30 04 2024 new variable +content#:#cont_iim_select_trigger#:#To edit an existing trigger, click it on the right screen.###30 04 2024 new variable +content#:#cont_iim_size#:#Size###30 04 2024 new variable +content#:#cont_iim_sm#:#Small###30 04 2024 new variable +content#:#cont_iim_tr_add_popup#:#Add Content-Popup###30 04 2024 new variable +content#:#cont_iim_tr_properties_info#:#The trigger will be presented on the right side. You may alter position and size using the mouse.###30 04 2024 new variable +content#:#cont_iim_trigger#:#Trigger###30 04 2024 new variable +content#:#cont_iim_vertical#:#Vertical###30 04 2024 new variable content#:#cont_imagemap#:#Mappa Immagine content#:#cont_import#:#Importa content#:#cont_import_id#:#Identificatore @@ -6623,7 +6624,7 @@ content#:#cont_initial_attached_content#:#Contenuto aggiuntivo iniziale content#:#cont_insert_amd_page_list#:#Inserisci elenco pagina content#:#cont_insert_as_chapter#:#Inserisci come Capitolo content#:#cont_insert_as_subchapter#:#Inserisci come Sottocapitolo -content#:#cont_insert_blog#:#Add Blog +content#:#cont_insert_blog#:#Aggiungi Blog content#:#cont_insert_chapter#:#Inserisci Capitolo content#:#cont_insert_chapter_from_clip#:#Incolla i capitoli dagli appunti content#:#cont_insert_consultation_hours#:#Inserisci ore di consultazione @@ -6636,34 +6637,34 @@ content#:#cont_insert_mob#:#Nuovo oggetto multimediale content#:#cont_insert_my_courses#:#Inserisci Miei corsi content#:#cont_insert_page#:#Inserisci Pagina content#:#cont_insert_page_from_clip#:#Incolla le pagine dagli appunti -content#:#cont_insert_pagelayout#:#Insert Template Page###07 02 2020 new variable +content#:#cont_insert_pagelayout#:#Inserisci modello di pagina content#:#cont_insert_par#:#Inserisci paragrafo -content#:#cont_insert_profile#:#Add Personal Data +content#:#cont_insert_profile#:#Aggiungi dati personali content#:#cont_insert_resources#:#Inserisci Elenco Risorse content#:#cont_insert_section#:#Inserisci Sezione -content#:#cont_insert_skills#:#Insert Skill +content#:#cont_insert_skills#:#Inserisci competenze content#:#cont_insert_src#:#Inserisci codice sorgente content#:#cont_insert_subchapter#:#Inserisci Sottocapitolo content#:#cont_insert_subchapter_from_clip#:#Incolla i sottocapitoli dagli appunti content#:#cont_insert_table#:#Inserisci tabella -content#:#cont_insert_verification#:#Add Verification -content#:#cont_inst_map_areas#:#Instance Aree di link -content#:#cont_interactions#:#enable storage of results of interactions +content#:#cont_insert_verification#:#Aggiungi verifica +content#:#cont_inst_map_areas#:#Aree collegate dell'istanza +content#:#cont_interactions#:#consentire la memorizzazione dei risultati delle interazioni content#:#cont_interactions_info#:#Solitamente i risultati delle interazione nei moduli di apprendimento sono semplicemente archiviati senza essere nuovamente letti/caricati. Se si accerta che questo è il modo in cui il modulo di apprendimento funziona, questa opzione migliorerà la prestazione. content#:#cont_interactions_info_12#:#I risultati delle interazioni nei moduli di apprendimento SCORM 1,2 sono semplicemente archiviati. Questa opzione migliorerà la prestazione. content#:#cont_internal_link#:#Collegamento interno -content#:#cont_internal_links#:#Link Interni +content#:#cont_internal_links#:#Collegamenti interni content#:#cont_invalid_new_module#:#Modulo NON compatibile! Assicuratevi che il file imsmanifest.xml non sia cambiato content#:#cont_is_visible#:#e' visibile content#:#cont_item#:#Elemento -content#:#cont_keyword#:#Keyword###29 07 2022 new variable +content#:#cont_keyword#:#Keyword content#:#cont_language#:#Lingua content#:#cont_languages#:#Lingue content#:#cont_last_try#:#Ultimo tentativo -content#:#cont_last_update#:#Last Update###29 07 2022 new variable +content#:#cont_last_update#:#Last Update content#:#cont_last_visited_page#:#Ultima pagina visitata content#:#cont_latest_rev#:#Ultima revisione -content#:#cont_layout#:#Layout +content#:#cont_layout#:#Disposizione content#:#cont_layout_1window#:#Una finestra content#:#cont_layout_1window_desc#:#Contenuto nel frame principale. Link a media e glossario, e FAQ si aprono in un frame separato. content#:#cont_layout_2window#:#Due Finestre @@ -6672,21 +6673,21 @@ content#:#cont_layout_3window#:#Tre Finestre content#:#cont_layout_3window_desc#:#Contenuto del frame di sinistra. Link a media e FAQ si aprono le frame in alto a destra, i link al glossario in basso a destra. content#:#cont_layout_fullscreen#:#Schermo intero content#:#cont_layout_fullscreen_desc#:#Contenuto nel frame principale. Link a media e glossario, e FAQ si aprono in un frame separato. Non ci sono la barra di navigazione ed il menu' principale ILIAS. -content#:#cont_layout_per_page#:#Layout per pagina +content#:#cont_layout_per_page#:#Autorizzare disposizione per singola pagina content#:#cont_layout_per_page_info#:#Consente la definizione di layout specifici per ogni pagina. Attiva automaticamente anche il "Synchronize Frames". content#:#cont_layout_presentation#:#Presentazione content#:#cont_layout_presentation_desc#:#Contenuto nel frame principale. Link a media e glossario, e FAQ si aprono in un frame separato. Non c'è il menù principale ILIAS. content#:#cont_layout_template#:#Modello di layout content#:#cont_layout_toc2win#:#Tabella dei contenuti content#:#cont_layout_toc2win_desc#:#Table of contents a sinistra, contenuti a destra, Glossario, FAQ e media link si aprono dinamicamente in una finestra separata. -content#:#cont_layout_toc2windyn#:#Table of Contents Dinamica -content#:#cont_layout_toc2windyn_desc#:#Table of contents a sinistra, contenuti a destra, Glossario, FAQ e media link si aprono dinamicamente in un frame in basso a destra. +content#:#cont_layout_toc2windyn#:#Tabella dei contenuti, finestra dinamica +content#:#cont_layout_toc2windyn_desc#:#Tabella dei contenuti a sinistra, contenuti a destra, Glossario, FAQ e media link si aprono dinamicamente in un frame in basso a destra. content#:#cont_left#:#Sinistra content#:#cont_left_float#:#Sinistra, Floating -content#:#cont_license#:#Autorizzazione +content#:#cont_license#:#Licenza content#:#cont_license_info#:#Consenti la funzione di autorizzazione content#:#cont_light#:#Chiara -content#:#cont_link#:#Collegamento +content#:#cont_link#:#Link###09 03 2022 new variable content#:#cont_link_area#:#Collega area content#:#cont_link_ext#:#Link (esterno) content#:#cont_link_glo_in_lm#:#Tutti i termini del glossario dovrebbero essere collegati adesso al modulo di apprendimento? @@ -6695,14 +6696,14 @@ content#:#cont_link_no#:#Nessun collegamento content#:#cont_link_select#:#Collegamento interno content#:#cont_link_to_external#:#Collegamento al sito esterno content#:#cont_link_to_internal#:#Collegamento alla risorsa ILIAS -content#:#cont_link_to_wiki#:#Link to Wiki Page +content#:#cont_link_to_wiki#:#Link al Wiki Page content#:#cont_link_type#:#Tipo di collegamento -content#:#cont_link_user#:#User Profile###29 07 2022 new variable +content#:#cont_link_user#:#User Profile content#:#cont_linked_mobs#:#Oggetto multimediale collegato content#:#cont_links#:#Collegamenti content#:#cont_list_files#:#Elenco file content#:#cont_list_indent#:#Elenco rientro -content#:#cont_list_item_style#:#List Item Style###26 08 2024 new variable +content#:#cont_list_item_style#:#List Item Style###30 04 2024 new variable content#:#cont_list_outdent#:#Elenco rientro content#:#cont_list_properties#:#Elenca le proprieta' content#:#cont_lists#:#Liste @@ -6722,27 +6723,27 @@ content#:#cont_lm_comments_desc#:#Consente agli utenti di condividere commenti s content#:#cont_lm_default_layout#:#Layout di default del learning module content#:#cont_lm_mail_permanent_link#:#Clicca sul seguente link per accedere al modello di apprendimento: content#:#cont_lm_menu#:#Menu -content#:#cont_lm_properties#:#Propriet& +content#:#cont_lm_properties#:#Impostazioni del modulo di apprendimento content#:#cont_lm_starting_point#:#Punti di inizio per i moduli di apprendimento ILIAS content#:#cont_lm_starting_point_info#:#Pagina aperta quando si fa clicca su un titolo dei moduli di apprendimento. content#:#cont_localfile#:#File locale content#:#cont_localization#:#Localizzazione -content#:#cont_localization_info#:#Language used for predifined texts, e.g. "Previous" and "Next". +content#:#cont_localization_info#:#Lingua utilizzata per testi predefiniti, ad es. "Precedente" e "Successivo". content#:#cont_location#:#Posizione -content#:#cont_lpe_dpro_agreement_link#:#Declaration of Data Protection Link###26 08 2024 new variable +content#:#cont_lpe_dpro_agreement_link#:#Declaration of Data Protection Link###30 04 2024 new variable content#:#cont_lpe_language_selection#:#Selezione delle lingua content#:#cont_lpe_login_form#:#Modulo di accesso content#:#cont_lpe_openid_connect_login#:#OpenId Connect Login content#:#cont_lpe_openid_login_form#:#OpenId modulo di accesso content#:#cont_lpe_registration_link#:#Nuovo collegamento di registrazione -content#:#cont_lpe_saml_login#:#SAML Login###29 07 2022 new variable +content#:#cont_lpe_saml_login#:#SAML Login###09 03 2022 new variable content#:#cont_lpe_shib_login_form#:#Shibboleth modulo di accesso content#:#cont_lpe_user_agreement_link#:#Collegamento accordo utente content#:#cont_lrs_settings#:#Impostazioni content#:#cont_lvalue#:#Elemento dati content#:#cont_maintenance#:#Manutenzione content#:#cont_manifest#:#Manifesto -content#:#cont_manual_item_group#:#Manually Create Item Group###26 08 2024 new variable +content#:#cont_manual_item_group#:#Manually Create Item Group###30 04 2024 new variable content#:#cont_map_file_not_generated#:#Non è possibile generare la map file per l'editing. content#:#cont_marker#:#Indicatore content#:#cont_master_language_only#:#Lingua principale per traduzione @@ -6753,16 +6754,16 @@ content#:#cont_mastery_score_12_info#:#Se uno SCO non determina autonomamente un content#:#cont_mastery_score_2004#:#sovrascrivi punteggio_di passaggio_scalare content#:#cont_mastery_score_2004_info#:#Gli obiettivi dell’apprendimento principali di questo modulo di apprendimento vengono considerati superati se il punteggio ha raggiunto almeno un certo livello di punteggio_di passaggio_scalare. Questo valore-da affermare come valore percentuale-può essere sovrascritto qui ad esempio per ridurre il livello di necessità. Se il campo è vuoto, le informazioni nel manifesto SCORN sono valide. Ne file-manifesto vengono forniti tutti i seguenti valori: content#:#cont_max_time_allowed#:#tempo massimo consentito -content#:#cont_media#:#Images/Media###29 07 2022 new variable +content#:#cont_media#:#Images/Media###09 03 2022 new variable content#:#cont_media_placeh#:#Clicca e edita per inserire oggetto content#:#cont_media_placehl#:#Segnaposto Media content#:#cont_media_source#:#Sorgenti multimediali -content#:#cont_merge_cells#:#Merge Cells###26 08 2024 new variable -content#:#cont_missing_preconditions#:#Devi soddisfare i seguenti prerequisiti per poter accedere al capitolo & +content#:#cont_merge_cells#:#Merge Cells###30 04 2024 new variable +content#:#cont_missing_preconditions#:#È necessario soddisfare i seguenti presupposti per accedere al capitolo "%s". content#:#cont_missing_snippet#:#Frammento di contenuto mancante. Il frammento è stato eliminato. content#:#cont_mob_def_prop#:#Proprietà di default content#:#cont_mob_from_media_pool#:#Scegli dal media pool -content#:#cont_mob_inst_prop#:#Propriet& +content#:#cont_mob_inst_prop#:#Proprietà dell'istanza content#:#cont_mob_usages#:#Utilizzo content#:#cont_more_character_styles#:#...altri stili di caratteri content#:#cont_more_functions#:#Altro @@ -6790,37 +6791,37 @@ content#:#cont_new_trigger_area#:#Nuova area trigger content#:#cont_next_rev#:#Prossima revisione content#:#cont_nlist#:#Lista numerata content#:#cont_no_access#:#Accesso non consentito -content#:#cont_no_block#:#No Section###29 07 2022 new variable +content#:#cont_no_block#:#No Section content#:#cont_no_caption#:#Nessuna didascalia content#:#cont_no_glossary#:#Nessun glossario -content#:#cont_no_manifest#:#Non & -content#:#cont_no_page#:#Non & +content#:#cont_no_manifest#:#Nessun file imsmanifest.xml trovato nella directory principale. +content#:#cont_no_page#:#Nessuna pagina trovata. content#:#cont_no_page_access_unansw_q#:#È necessario rispondere correttamente a tutte le domande delle pagine precedenti per ottenere l'accesso a questa pagina. content#:#cont_no_page_in_chapter#:#Non c'è contenuto attivo in questo capitolo. content#:#cont_no_parameters#:#Nessun parametro -content#:#cont_no_read#:#No read permission###07 02 2020 new variable +content#:#cont_no_read#:#No read permission content#:#cont_no_subdir_in_zip#:#Comando di Zip fallito o file di import non valido.
Il file non contiene cartella/e. content#:#cont_no_text#:#Nessun testo content#:#cont_nomenu#:#Disabilita la Topnavigation-Bar content#:#cont_nomenu_info#:#La barra di navigazione in alto può essere nascosta, se il modulo di apprendimento SCORM contiene funzionalità sufficienti per sospendere, terminare e navigare il contenuto. content#:#cont_none#:#Nessuno content#:#cont_not_saved_edit_lock_expired#:#Spiacenti, ma nel frattempo un altro utente ha ottenuto il blocco di modifica per questa pagina. Puoi chiudere questo messaggio e copiare il contenuto nei tuoi appunti. -content#:#cont_notification_activate_lm#:#Activate Notification for Learning Module###07 02 2020 new variable -content#:#cont_notification_activate_page#:#Activate Notification for Page###07 02 2020 new variable -content#:#cont_notification_activated#:#Notification Activated (Whole LM)###07 02 2020 new variable -content#:#cont_notification_comment_lm#:#the following Learning Module Page has been commented###07 02 2020 new variable -content#:#cont_notification_comment_subject_lm#:#A comment was added to %s: %s###07 02 2020 new variable -content#:#cont_notification_deactivate_lm#:#Deactivate Notification for Learning Module###07 02 2020 new variable -content#:#cont_notification_deactivate_page#:#Deactivate Notification for Page###07 02 2020 new variable -content#:#cont_notification_deactivated#:#Notification Deactivated###07 02 2020 new variable -content#:#cont_notification_update_lm#:#the following Learning Module has been updated###07 02 2020 new variable +content#:#cont_notification_activate_lm#:#Activate Notification for Learning Module +content#:#cont_notification_activate_page#:#Activate Notification for Page +content#:#cont_notification_activated#:#Notification Activated (Whole LM) +content#:#cont_notification_comment_lm#:#the following Learning Module Page has been commented +content#:#cont_notification_comment_subject_lm#:#A comment was added to %s: %s +content#:#cont_notification_deactivate_lm#:#Deactivate Notification for Learning Module +content#:#cont_notification_deactivate_page#:#Deactivate Notification for Page +content#:#cont_notification_deactivated#:#Notification Deactivated +content#:#cont_notification_update_lm#:#the following Learning Module has been updated content#:#cont_notify_on_blocked_users#:#Notifiche sugli utenti bloccati content#:#cont_notify_on_blocked_users_info#:#Riceverai una notifica se gli utenti verranno bloccati quando avranno esaurito i tentativi. content#:#cont_nr_col_footer#:#Colonne a piè di pagina content#:#cont_nr_col_header#:#Colonne nell’intestazione content#:#cont_nr_cols#:#Numero di colonne content#:#cont_nr_items#:#Numero di elementi -content#:#cont_nr_of_tries_exceeded#:#Number of tries exceeded +content#:#cont_nr_of_tries_exceeded#:#Numero di tentativi superato content#:#cont_nr_row_footer#:#File a piè di pagina content#:#cont_nr_row_header#:#File nell’intestazione content#:#cont_nr_rows#:#Numero di righe @@ -6829,24 +6830,24 @@ content#:#cont_number_std#:#Standard content#:#cont_number_type#:#Tipo di numero content#:#cont_numbered_list#:#Lista numerata content#:#cont_obj_removed#:#Oggetti cancellati. -content#:#cont_objectives#:#enable storage of data concerning learning objectives +content#:#cont_objectives#:#consentire la memorizzazione dei dati relativi agli obiettivi di apprendimento content#:#cont_objectives_info#:#Se ci si assicura che questo modulo di apprendimento funziona bene, questa opzione migliora la prestazione. content#:#cont_online#:#Online content#:#cont_online_help_ids#:#Help IDs content#:#cont_online_info#:#Imposta online il modulo di apprendimento SCORM per renderlo visibile e disponibile per agli utenti. In caso contrario, solo gli utenti con l’autorizzazione 'Modifica' avranno accesso a esso. content#:#cont_open#:#Display -content#:#cont_open_clipboard#:#Open Clipboard###29 07 2022 new variable -content#:#cont_open_iframe#:#Opens in the same window, the ILIAS main menue is displayed -content#:#cont_open_iframe_info#:#The learning module starts in the same window (iFrame) next to the ILIAS main menu.###26 08 2024 new variable -content#:#cont_open_normal#:#in tab / new window with link -content#:#cont_open_normal_info#:#The learning module starts in a new tab or alternatively in a new window without the ILIAS main menu.###26 08 2024 new variable -content#:#cont_open_window#:#Definitely opens in a new window, without ILIAS main menue -content#:#cont_open_window_info#:#The learning module must start in a new window without the ILIAS main menu.###26 08 2024 new variable +content#:#cont_open_clipboard#:#Open Clipboard +content#:#cont_open_iframe#:#Si apre nella stessa finestra, viene visualizzato il menu principale di ILIAS +content#:#cont_open_iframe_info#:#The learning module starts in the same window (iFrame) next to the ILIAS main menu.###30 04 2024 new variable +content#:#cont_open_normal#:#nella scheda / nuova finestra con collegamento +content#:#cont_open_normal_info#:#The learning module starts in a new tab or alternatively in a new window without the ILIAS main menu.###30 04 2024 new variable +content#:#cont_open_window#:#Sicuramente si apre in una nuova finestra, senza il menu principale ILIAS +content#:#cont_open_window_info#:#The learning module must start in a new window without the ILIAS main menu.###30 04 2024 new variable content#:#cont_operation_not_allowed#:#Operazione non consentita content#:#cont_organization#:#Organizzazione content#:#cont_organizations#:#Organizzazioni content#:#cont_orig_size#:#Dimensioni originali -content#:#cont_other_resources#:#Content (Other Remaining Resources)###26 08 2024 new variable +content#:#cont_other_resources#:#Content (Other Remaining Resources)###30 04 2024 new variable content#:#cont_out_of_focus_message#:#Questa pagina non è più correlata al tuo attuale obiettivo di apprendimento. content#:#cont_out_of_focus_message_last_page#:#Questa è l’ultima pagina del contenuto correlato al tuo obiettivo dell’apprendimento. content#:#cont_ov_all_correct#:#Hai risposto correttamente a tutte le domande. @@ -6859,18 +6860,18 @@ content#:#cont_overlays_have_been_deleted#:#Le sovrapposizioni sono state elimin content#:#cont_page_activation#:#Attivazione Pagina content#:#cont_page_activation_on#:#Il contenuto verrà attivato su %s. content#:#cont_page_compare#:#Confronta le Versioni Selezionate -content#:#cont_page_created#:#Page created###07 02 2020 new variable +content#:#cont_page_created#:#Page created content#:#cont_page_currently_deactivated#:#Questa pagina è disattivata. content#:#cont_page_deactivated#:#La pagina è disattivata content#:#cont_page_deactivated_elements#:#La pagina contiene elementi disattivati. content#:#cont_page_header#:#Intestazione pagina content#:#cont_page_layout#:#Layout di pagina content#:#cont_page_lock_released#:#Modifica terminata. Il blocco della pagina è stato rilasciato. -content#:#cont_page_notification_activated#:#Notification Activated (Single Page)###07 02 2020 new variable -content#:#cont_page_template#:#Page Template###07 02 2020 new variable +content#:#cont_page_notification_activated#:#Notification Activated (Single Page) +content#:#cont_page_template#:#Page Template content#:#cont_page_toc#:#Panoramica della pagina -content#:#cont_page_translation_does_not_exist#:#The translation page does not exist yet and will be created -content#:#cont_page_usage#:#Page Usage###29 10 2025 new variable +content#:#cont_page_translation_does_not_exist#:#La pagina di traduzione non esiste ancora e verrà creata +content#:#cont_page_usage#:#Page Usage###28 11 2025 new variable content#:#cont_pages#:#Pagine content#:#cont_pages_and_subchapters#:#Pagine e Sottocapitoli content#:#cont_par_format#:#Paragrafo @@ -6878,7 +6879,7 @@ content#:#cont_paragraph_styles#:#Stili paragrafo content#:#cont_parameter#:#Parametro content#:#cont_parameters#:#Parametri content#:#cont_paste_from_clipboard#:#Incolla dagli appunti -content#:#cont_paste_from_spreadsheet#:#Paste From Spreadsheet###26 08 2024 new variable +content#:#cont_paste_from_spreadsheet#:#Paste From Spreadsheet###30 04 2024 new variable content#:#cont_paste_table#:#Incolla Tabella content#:#cont_pc_amdpl#:#Elenco pagina content#:#cont_pc_blog#:#Blog @@ -6891,35 +6892,35 @@ content#:#cont_pc_grid#:#Layout colonna content#:#cont_pc_hacc#:#Accordion (Orizzontale) content#:#cont_pc_iim#:#immagine interattiva content#:#cont_pc_incl#:#Frammento di contenuto -content#:#cont_pc_lay#:#Layout Template###26 08 2024 new variable +content#:#cont_pc_lay#:#Layout Template###30 04 2024 new variable content#:#cont_pc_list#:#Lista avanzata content#:#cont_pc_map#:#Mappa -content#:#cont_pc_media#:#Image/Media###29 07 2022 new variable +content#:#cont_pc_media#:#Image/Media###09 03 2022 new variable content#:#cont_pc_mob#:#Supporti content#:#cont_pc_modified#:#Contenuto modificato content#:#cont_pc_new#:#Nuovo contenuto content#:#cont_pc_par#:#Testo -content#:#cont_pc_plach#:#Placeholder###26 08 2024 new variable +content#:#cont_pc_plach#:#Placeholder###30 04 2024 new variable content#:#cont_pc_prof#:#Dati personali content#:#cont_pc_qover#:#Panoramica domande content#:#cont_pc_qst#:#Domanda -content#:#cont_pc_repobj#:#Item Group###26 08 2024 new variable +content#:#cont_pc_repobj#:#Item Group###30 04 2024 new variable content#:#cont_pc_res#:#Risorsa content#:#cont_pc_sec#:#Sezione -content#:#cont_pc_skills#:#Skill -content#:#cont_pc_src#:#Source Code###26 08 2024 new variable +content#:#cont_pc_skills#:#competenze +content#:#cont_pc_src#:#Source Code###30 04 2024 new variable content#:#cont_pc_tab#:#Tabella avanzata -content#:#cont_pc_tabs#:#Accordion/Carousel###26 08 2024 new variable +content#:#cont_pc_tabs#:#Accordion/Carousel###30 04 2024 new variable content#:#cont_pc_vacc#:#Accordion (Verticale) -content#:#cont_pc_vrfc#:#Verification -content#:#cont_permission_handling#:#Permission Handling###26 08 2024 new variable +content#:#cont_pc_vrfc#:#Verifica +content#:#cont_permission_handling#:#Permission Handling###30 04 2024 new variable content#:#cont_permission_object#:#Oggetto di permesso content#:#cont_permission_object_desc#:#La sezione verrà presentata solo per gli utenti che dispongono dell'autorizzazione specificata per l'oggetto di permesso. content#:#cont_personal_clipboard#:#Appunti personali content#:#cont_pg_title#:#Titolo pagina content#:#cont_please_enter_a_term#:#Inserisci un termine. content#:#cont_please_select#:#per favore scegli -content#:#cont_please_try_again#:#Please try again +content#:#cont_please_try_again#:#Per favore riprova content#:#cont_popups_have_been_deleted#:#I popup sono state eliminati. content#:#cont_position#:#Posizione content#:#cont_prereq_type#:#tipo di prerequisiti @@ -6934,12 +6935,12 @@ content#:#cont_print_view#:#Stampa content#:#cont_print_view_pre_glo#:#Prevenire le appendici al glossario nella visualizzazione di stampa content#:#cont_profile_mode#:#Modalità content#:#cont_profile_mode_inherit#:#Automatico -content#:#cont_profile_mode_inherit_info#:#Use your public profile settings +content#:#cont_profile_mode_inherit_info#:#Usa le tue impostazioni del profilo pubblico content#:#cont_profile_mode_manual#:#Manuale content#:#cont_profile_mode_manual_info#:#Utilizza i seguenti dati: content#:#cont_profile_mode_template_inherit_info#:#Utilizza impostazioni di profilo content#:#cont_progress_icons#:#Icone di progresso -content#:#cont_progress_icons_info#:#Show progress icons instead of chapter page icons in presentation mode. Please note that progress information is stored only with ILIAS 4.5 and higher. +content#:#cont_progress_icons_info#:#Mostra le icone di avanzamento anziché le icone della pagina del capitolo in modalità presentazione. Si noti che le informazioni sull'avanzamento vengono archiviate solo con ILIAS 4.5 e versioni successive. content#:#cont_prtf_page#:#Pagina portfolio content#:#cont_prtt_page#:#Pagina modello di portfolio content#:#cont_public_access#:#Accesso pubblico @@ -6947,17 +6948,17 @@ content#:#cont_purpose#:#Scopo content#:#cont_qover_list_wrong_q#:#Lista delle risposte sbagliate content#:#cont_qover_list_wrong_q_info#:#Verrà mostrata una lista delle risposte sbagliate o delle domande senza risposta. content#:#cont_qover_short_message#:#Messaggio di stato -content#:#cont_qover_short_message_info#:#A message "You have correctly answered C out of Y questions of this unit." will be displayed. +content#:#cont_qover_short_message_info#:#Sarà mostrato un messaggio "Hai risposto correttamente alle domande C su Y di questa unità." content#:#cont_qtries#:#Numero di tentativi per domanda content#:#cont_qtries_info#:#Valore predefinito per il numero di tentativi per le domande appena create. -content#:#cont_question#:#Question###29 10 2025 new variable -content#:#cont_question_page_usage#:#Questions on Pages###29 10 2025 new variable +content#:#cont_question#:#Question###28 11 2025 new variable +content#:#cont_question_page_usage#:#Questions on Pages###28 11 2025 new variable content#:#cont_question_placeh#:#Clicca e edita per inserire domanda content#:#cont_question_placehl#:#Segnalibro della domanda content#:#cont_question_stats#:#Statistiche content#:#cont_question_type#:#Tipo di domanda -content#:#cont_question_usage#:#Usages###29 10 2025 new variable -content#:#cont_quit_text_editing#:#Finish Text Editing###26 08 2024 new variable +content#:#cont_question_usage#:#Usages###28 11 2025 new variable +content#:#cont_quit_text_editing#:#Finish Text Editing###26 04 2023 new variable content#:#cont_rand_start#:#Avvio casuale content#:#cont_really_delete_overlays#:#Vuoi davvero eliminare le seguenti sovrapposizioni? content#:#cont_really_delete_popups#:#Vuoi davvero eliminare i seguenti popup? @@ -6973,7 +6974,7 @@ content#:#cont_repository_item#:#Risorsa content#:#cont_reset_nr_of_tries#:#Azzera numero di tentativi content#:#cont_resize_img#:#Ridimensiona immagine content#:#cont_resource#:#Risorsa -content#:#cont_resource_size#:#Resource Size +content#:#cont_resource_size#:#Dimensione della risorsa content#:#cont_resource_size_info#:#Without size declaration the size can be controlled by the content style. If neither a size is declared nor the content style contains a rule that determines the size, only images will be displayed in their default size. content#:#cont_resource_type#:#Tipo content#:#cont_resources#:#Risorse @@ -7003,15 +7004,15 @@ content#:#cont_saved_map_data#:#Mappa Dati salvata content#:#cont_saving#:#Salva... content#:#cont_sc_auto_continue#:#Auto-Continue content#:#cont_sc_auto_continue_info#:#Dopo aver terminato la loro ultima attività, gli utenti saranno automaticamente reindirizzati al prossimo SCO. La funzione non è supportata da tutti i moduli di apprendimento SCORM 1.2. -content#:#cont_sc_auto_review_2004#:#Automatic Review Mode -content#:#cont_sc_auto_review_completed#:#if completed -content#:#cont_sc_auto_review_completed_and_passed#:#if completed and passed -content#:#cont_sc_auto_review_completed_not_failed_or_passed#:#if completed or passed, but not failed (recommended for Automatic Review Mode) -content#:#cont_sc_auto_review_completed_or_passed#:#if completed or passed -content#:#cont_sc_auto_review_info_2004#:#If the automatic review mode is enabled, then the tracking data for a chapter (SCO) of the learning module are not stored when one of these options apply. In the rare case however, that the learning module makes use of Sequencing & Navigation according to SCORM 2004, this option should not be enabled. +content#:#cont_sc_auto_review_2004#:#Modalità di revisione automatica +content#:#cont_sc_auto_review_completed#:#se completato +content#:#cont_sc_auto_review_completed_and_passed#:#se completato e superato +content#:#cont_sc_auto_review_completed_not_failed_or_passed#:#se completato o superato, ma non fallito (consigliato per la modalità di revisione automatica) +content#:#cont_sc_auto_review_completed_or_passed#:#se completato o superato +content#:#cont_sc_auto_review_info_2004#:#Se la modalità di revisione automatica è abilitata, i dati di tracciamento per un capitolo (SCO) del modulo di apprendimento non vengono memorizzati quando si applica una di queste opzioni. Nel raro caso, tuttavia, che il modulo di apprendimento utilizzi Sequencing & Navigation secondo SCORM 2004, questa opzione non dovrebbe essere abilitata. content#:#cont_sc_auto_review_no#:#disabled -content#:#cont_sc_auto_review_passed#:#if passed -content#:#cont_sc_auto_review_passed_or_failed#:#if passed or failed +content#:#cont_sc_auto_review_passed#:#se superato +content#:#cont_sc_auto_review_passed_or_failed#:#se superato o fallito content#:#cont_sc_id_setting#:#id_studente in base a SCORM 1.2 content#:#cont_sc_id_setting_2004#:#id_allievo in base a SCORM 2004 content#:#cont_sc_id_setting_info#:#Nel caso in cui un id numerico per l’id_studente (SCORM 1.2) o per l’id_allievo (SCORM 2004) crea problemi per il modulo di apprendimento, utilizzare l’opzione 'Nome utente ILIAS'. L'aggiunta di RefId o ObjId può essere utile per i moduli di apprendimento che si connettono a un server esterno. @@ -7022,9 +7023,9 @@ content#:#cont_sc_id_setting_user_login#:#Nome accesso ILIAS content#:#cont_sc_id_setting_user_login_plus_obj_id#:#Nome accesso ILIAS più Objld del modulo di apprendimento content#:#cont_sc_id_setting_user_login_plus_ref_id#:#Nome accesso ILIAS più Refld del modulo di apprendimento content#:#cont_sc_less_mode_browse#:#Lettura -content#:#cont_sc_less_mode_browse_info#:#The SCORM mode is set to "browse".###26 08 2024 new variable +content#:#cont_sc_less_mode_browse_info#:#The SCORM mode is set to "browse".###30 04 2024 new variable content#:#cont_sc_less_mode_normal#:#Normale -content#:#cont_sc_less_mode_normal_info#:#The SCORM mode is set to "normal".###26 08 2024 new variable +content#:#cont_sc_less_mode_normal_info#:#The SCORM mode is set to "normal".###30 04 2024 new variable content#:#cont_sc_max_attempt_exceed#:#E'stato raggiunto il numero massimo di tentativi. content#:#cont_sc_name_setting#:#nome_studente in base a SCORM 1.2 content#:#cont_sc_name_setting_2004#:#nome_allievo in base a SCORM 2004 @@ -7046,28 +7047,28 @@ content#:#cont_sc_stat_passed#:#Superato content#:#cont_sc_stat_running#:#In esecuzione content#:#cont_sc_store_if_previous_score_was_lower#:#mantenere i dati di tracciamento se il punteggio raggiunto nel tentativo precedente era maggiore o uguale content#:#cont_sc_title#:#Titolo -content#:#cont_sc_usession#:#Unlimited Session Timeout -content#:#cont_sc_usession_info#:#This setting activates periodical requests to the server to keep the session alive. +content#:#cont_sc_usession#:#Timeout sessione illimitato +content#:#cont_sc_usession_info#:#Questa impostazione attiva richieste periodiche al server per mantenere attiva la sessione. content#:#cont_sc_version#:#Versione SC -content#:#cont_sc_version_info#:#The version management will automatically insert the correct version number. +content#:#cont_sc_version_info#:#La gestione della versione inserirà automaticamente il numero di versione corretto. content#:#cont_scheduled_activation#:#Attivazione programmata content#:#cont_sco_glossary#:#Unità glossario content#:#cont_score#:#Punteggio -content#:#cont_scorm_ed_properties#:#Learning Module Properties / Glossary +content#:#cont_scorm_ed_properties#:#Proprietà / Glossario del modulo di apprendimento content#:#cont_scorm_options#:#Opzioni SCORM content#:#cont_scorm_type#:#tipo di SCORM content#:#cont_screen_ids#:#Screen IDs -content#:#cont_sec_protected#:#Protected###29 07 2022 new variable -content#:#cont_sec_protected_text#:#The following section is protected and can not be edited.###29 07 2022 new variable +content#:#cont_sec_protected#:#Protected###31 03 2023 new variable +content#:#cont_sec_protected_text#:#The following section is protected and can not be edited.###31 03 2023 new variable content#:#cont_second#:#Secondo -content#:#cont_sel_el_use_paste#:#Selected elements are now in the clipboard. Please click the desired target placeholder and select ‘Paste’.###29 07 2022 new variable +content#:#cont_sel_el_use_paste#:#Selected elements are now in the clipboard. Please click the desired target placeholder and select ‘Paste’. content#:#cont_select#:#Seleziona content#:#cont_select_file#:#Seleziona File content#:#cont_select_from_upload_dir#:#-- Seleziona dalla directory di upload -- content#:#cont_select_item#:#Seleziona almeno un elemento. content#:#cont_select_max_one_item#:#Per favore, scegli solo un elemento content#:#cont_select_media_pool#:#Seleziona Media Pool -content#:#cont_select_none#:#Clear Selection###29 07 2022 new variable +content#:#cont_select_none#:#Clear Selection content#:#cont_select_other_qpool#:#Seleziona altro gruppo content#:#cont_select_par_or_section#:#Seleziona almeno un paragrafo o una sezione content#:#cont_selected_items_have_been_copied#:#Gli elementi selezionati sono stati copiati negli appunti. Clicca sui segnalibri per incollarli nel learning module. @@ -7077,19 +7078,19 @@ content#:#cont_selected_terms#:#Termini selezionati content#:#cont_selected_topic#:#Argomento selezionato content#:#cont_selection#:#Selezione content#:#cont_self_assessment#:#Autovalutazione -content#:#cont_sequencing#:#enable Sequencing & Navigation according to settings by learning module -content#:#cont_sequencing_info#:#Enable the sequencing and navigation behaviour as defined by the learning module. +content#:#cont_sequencing#:#Sequenziamento e navigazione +content#:#cont_sequencing_info#:#Abilita il comportamento di sequenziamento e navigazione come definito dal modulo di apprendimento. content#:#cont_set_alignment#:#Allineamento set content#:#cont_set_layout#:#Imposta layout content#:#cont_set_link#:#Imposta il collegamento -content#:#cont_set_manuall#:#Set Manually###26 08 2024 new variable -content#:#cont_set_properties#:#Set Properties###26 08 2024 new variable +content#:#cont_set_manuall#:#Set Manually###30 04 2024 new variable +content#:#cont_set_properties#:#Set Properties###30 04 2024 new variable content#:#cont_set_start_file#:#Imposta file di partenza content#:#cont_set_styles#:#Stile set content#:#cont_set_tab_style_info#:#Per fissare lo styel spunta le caselle nelle celle di tabella content#:#cont_settings#:#Impostazioni per i moduli di apprendimento content#:#cont_shape#:#Forma -content#:#cont_shift_click_to_select#:#Shift-click on an element to select it and switch to selection mode.###29 07 2022 new variable +content#:#cont_shift_click_to_select#:#Shift-click on elements will select them and switch to the selection mode. content#:#cont_short_title#:#Titolo breve content#:#cont_short_title_info#:#I titoli brevi vengono utilizzati nella presentazione dell'albero a sinistra e per le etichette nella navigazione precedente/successiva. content#:#cont_short_titles#:#Titoli brevi @@ -7097,7 +7098,7 @@ content#:#cont_show_activation_info#:#Mostra informazioni attivazione content#:#cont_show_activation_info_info#:#Se l'attivazione pianificata non è ancora raggiunta, la pagina non verrà ignorata. Le informazioni verranno mostrate all’utente quando verrà attivata la pagina. content#:#cont_show_adv#:#Mostra conoscenza avanzata content#:#cont_show_content_after_focus#:#Continua con il modulo apprendimento -content#:#cont_show_fullscreen#:#Show Fullscreen###29 07 2022 new variable +content#:#cont_show_fullscreen#:#Show Fullscreen content#:#cont_show_info#:#Mostra Info content#:#cont_show_line_numbers#:#Mostra i numeri di linea content#:#cont_show_print_view#:#Anteprima di stampa @@ -7107,7 +7108,7 @@ content#:#cont_snippet_from_another_installation#:#Il frammento proviene da un content#:#cont_snippets_used#:#Frammenti di contenuto utilizzati content#:#cont_span#:#Intervallo content#:#cont_special_page#:#Pagina di contenuto speciale -content#:#cont_split_cell#:#Split Cell###26 08 2024 new variable +content#:#cont_split_cell#:#Split Cell###30 04 2024 new variable content#:#cont_spreadsheet_table#:#Tabella di foglio elettronico content#:#cont_sqst#:#Domanda di sondaggio (Materiale assegnato) content#:#cont_src#:#Codice sorgente @@ -7120,47 +7121,47 @@ content#:#cont_start_value#:#Valore di start content#:#cont_start_value_info#:#Inserisci valore iniziale come decimale. Default = 1. content#:#cont_startfile#:#File di partenza content#:#cont_status#:#Stato -content#:#cont_std_is_in_dir#:#La cancellazione non & +content#:#cont_std_is_in_dir#:#Cancellazione impossibile. Il file di visualizzazione standard è nella directory. content#:#cont_std_view#:#Vista standard content#:#cont_structure#:#Struttura content#:#cont_style#:#Stile content#:#cont_subchapters#:#Sottocapitoli -content#:#cont_submit_answers#:#Submit Answers +content#:#cont_submit_answers#:#Invia risposte content#:#cont_subtitle_file#:#File SRT ZIP content#:#cont_subtitle_files#:#Sottotitoli multimediali -content#:#cont_sur_block_format#:#Surrounding Section###29 07 2022 new variable +content#:#cont_sur_block_format#:#Surrounding Section###09 03 2022 new variable content#:#cont_switch_to_media_pool#:#Passa a un altro gruppo di supporti content#:#cont_syntax_help#:#Help di sintassi -content#:#cont_tab_add_above#:#Add Panel Above###26 08 2024 new variable -content#:#cont_tab_add_below#:#Add Panel Below###26 08 2024 new variable +content#:#cont_tab_add_above#:#Add Panel Above###30 04 2024 new variable +content#:#cont_tab_add_below#:#Add Panel Below###30 04 2024 new variable content#:#cont_tab_cont_height#:#Altezza contenuto content#:#cont_tab_cont_width#:#Larghezza contenuto -content#:#cont_tab_delete#:#Delete Panel###26 08 2024 new variable -content#:#cont_tab_move_bottom#:#Move To Bottom###26 08 2024 new variable -content#:#cont_tab_move_down#:#Move Downwards###26 08 2024 new variable -content#:#cont_tab_move_top#:#Move To Top###26 08 2024 new variable -content#:#cont_tab_move_up#:#Move Upwards###26 08 2024 new variable +content#:#cont_tab_delete#:#Delete Panel###30 04 2024 new variable +content#:#cont_tab_move_bottom#:#Move To Bottom###30 04 2024 new variable +content#:#cont_tab_move_down#:#Move Downwards###30 04 2024 new variable +content#:#cont_tab_move_top#:#Move To Top###30 04 2024 new variable +content#:#cont_tab_move_up#:#Move Upwards###30 04 2024 new variable content#:#cont_table#:#Tabella -content#:#cont_table_adv_settings#:#Erweiterte Einstellungen###26 08 2024 new variable +content#:#cont_table_adv_settings#:#Erweiterte Einstellungen###30 04 2024 new variable content#:#cont_table_border#:#Bordo tabella content#:#cont_table_border_info#:#Mantieni questo vuoti per rendere effettive le impostazioni di stile del contenuto. I valori devono includere unità (come px). -content#:#cont_table_cell_edit_info_1#:#Click on a table cell to select or deselect it.###26 08 2024 new variable -content#:#cont_table_cell_edit_info_2#:#Click on a row or column header to select or deselect the corresponding row or column.###26 08 2024 new variable -content#:#cont_table_cell_edit_info_3#:#Click on a second cell while holding shift to select all the cells in between.###26 08 2024 new variable +content#:#cont_table_cell_edit_info_1#:#Click on a table cell to select or deselect it.###30 04 2024 new variable +content#:#cont_table_cell_edit_info_2#:#Click on a row or column header to select or deselect the corresponding row or column.###30 04 2024 new variable +content#:#cont_table_cell_edit_info_3#:#Click on a second cell while holding shift to select all the cells in between.###30 04 2024 new variable content#:#cont_table_cell_properties#:#Tabella delle proprietà della cella content#:#cont_table_cellpadding#:#Cell Padding della tabella content#:#cont_table_cellpadding_info#:#Mantieni questo vuoti per rendere effettive le impostazioni di stile del contenuto. I valori devono includere unità (come px). -content#:#cont_table_edit_cells#:#Edit Cells###29 07 2022 new variable -content#:#cont_table_import_info#:#Please enter the table data separated by semicolon or TAB character for each column. Start a new row for each table row. Spreadsheet applications will usually use TAB characters for separation when transfered via clipboard. It should be possible to paste this data directly into the input field. No further formattings will be imported.###26 08 2024 new variable +content#:#cont_table_edit_cells#:#Edit Cells +content#:#cont_table_import_info#:#Please enter the table data separated by semicolon or TAB character for each column. Start a new row for each table row. Spreadsheet applications will usually use TAB characters for separation when transfered via clipboard. It should be possible to paste this data directly into the input field. No further formattings will be imported.###30 04 2024 new variable content#:#cont_table_properties#:#Tabella Proprietà -content#:#cont_table_style#:#Style###26 08 2024 new variable +content#:#cont_table_style#:#Style###30 04 2024 new variable content#:#cont_table_width#:#Larghezza tabella content#:#cont_tabs#:#Tabs content#:#cont_tabs_acc_hor#:#Accordion orizzontale content#:#cont_tabs_acc_ver#:#Fisarmonica verticale content#:#cont_tabs_carousel#:#Sequenza content#:#cont_tabs_confirm_deletion#:#Sei sicuro che tutti i tabs ed il loro contenuto debba essere cancellato? -content#:#cont_target#:#Target###26 08 2024 new variable +content#:#cont_target#:#Target###30 04 2024 new variable content#:#cont_target_missing#:#Manca Target content#:#cont_target_within_source#:#Il destinatario non deve essere l' oggetto sorgente. content#:#cont_template#:#Modello @@ -7170,10 +7171,10 @@ content#:#cont_tex#:#Codice Latex content#:#cont_text_acc#:#Accento: content#:#cont_text_code#:#Codice: content#:#cont_text_com#:#Commento: -content#:#cont_text_editing#:#Edit Text###26 08 2024 new variable +content#:#cont_text_editing#:#Edit Text###26 04 2023 new variable content#:#cont_text_emp#:#Testo enfatizzato: content#:#cont_text_fn#:#Note in calce alla pagina: -content#:#cont_text_iln_link#:#Internal Link###29 07 2022 new variable +content#:#cont_text_iln_link#:#Interal Link content#:#cont_text_imp#:#Importante: content#:#cont_text_keyword#:#Parola chiave content#:#cont_text_placeh#:#Clicca e edita per inserire testo @@ -7186,15 +7187,15 @@ content#:#cont_text_tex#:#Codice LaTeX: content#:#cont_text_xln#:#Collegamenti esterni: content#:#cont_third_and_more#:#Terzo o più content#:#cont_time#:#Tempo -content#:#cont_time_from_lms#:#determine processing times by ILIAS instead of SCO -content#:#cont_time_from_lms_info#:#Strict (according to the SCORM standard) check of values sent by the learning module to ILIAS. +content#:#cont_time_from_lms#:#Determina i tempi di elaborazione di ALIAS anziché di SCO +content#:#cont_time_from_lms_info#:#Controllo rigoroso (secondo lo standard SCORM) dei valori inviati dal modulo di apprendimento a ILIAS. content#:#cont_time_limit_action#:#esecuzione a tempo limitato content#:#cont_to_focus_beginning#:#Torna al contenuto correlato all'obiettivo di apprendimento content#:#cont_to_focus_return_crs#:#Torna al corso content#:#cont_toc#:#Tabella dei contenuti content#:#cont_toc_mode#:#Tipo menu -content#:#cont_tool_faq#:#FAQ###07 02 2020 new variable -content#:#cont_tool_media#:#Media###07 02 2020 new variable +content#:#cont_tool_faq#:#FAQ +content#:#cont_tool_media#:#Media content#:#cont_top#:#Alto content#:#cont_topic#:#Argomento content#:#cont_total_time#:#Tempo totale @@ -7205,7 +7206,7 @@ content#:#cont_tracking_items#:#Voci tracciate content#:#cont_tracking_modify#:#modifica dati content#:#cont_trans_import_info#:#Se hai esportato questo modulo come XML/Lingua principale per traduzione in un’altra installazione, adesso puoi importare nuovamente i file di traduzione esportati da questa seconda installazione. content#:#cont_transl_master_language_not_allowed#:#Per importare una traduzione è necessario attivare almeno un’altra lingua sotto "Impostazioni" > "Plurilinguismo". -content#:#cont_tree_fixed#:#La struttura dell& +content#:#cont_tree_fixed#:#La struttura ad albero è stata corretta. content#:#cont_tries#:#Comportamento delle domande content#:#cont_tries_remaining#:#Tentativi rimasti content#:#cont_tries_reset_on_visit#:#Ripristina su visita pagina @@ -7218,21 +7219,21 @@ content#:#cont_type_not_allowed#:#Tipo di contenuto non consentito in questa pos content#:#cont_unlock_allow_continue#:#Sblocca/ Consenti di continuare content#:#cont_unlocked#:#Sbloccato content#:#cont_update_amd_page_list#:#Modifica elenco pagina -content#:#cont_update_blog#:#Edit Blog +content#:#cont_update_blog#:#Modifica blog content#:#cont_update_consultation_hours#:#Modifica ore di consultazione content#:#cont_update_login_page#:#Modifica elemento nella pagina di accesso content#:#cont_update_map#:#Edita Mappa content#:#cont_update_my_courses#:#Modifica Miei corsi -content#:#cont_update_profile#:#Edit Personal Data +content#:#cont_update_profile#:#Modifica i dati personali content#:#cont_update_resources#:#Aggiorna lista risorse content#:#cont_update_section#:#Aggiorna Sezione -content#:#cont_update_skills#:#Edit Skill -content#:#cont_update_verification#:#Edit Verification +content#:#cont_update_skills#:#Modifica competenze +content#:#cont_update_verification#:#Modifica verifica content#:#cont_upload_dir#:#Carica directory -content#:#cont_upload_file#:#Upload File###29 07 2022 new variable -content#:#cont_upload_multi_srt_howto#:#This feature allows you to upload multiple subtitle (srt) files in a zip file for all media objects of the learning module. Your .zip file should contain all .srt files on the top level (no subdirectories). The file names should end with "_<lang code>.srt" where lang code is e.g. "en", "it", "de". The rest of the filename should correspond to the name of the video file, e.g. "my_video.mp4" -> "my_video_en.srt". +content#:#cont_upload_file#:#Upload File +content#:#cont_upload_multi_srt_howto#:#Questa funzione permette di caricare più sottotitoli (srt) in uno zip file per tutti i video del modulo ILIAS. Lo zip file deve contenere tutti i file SRT su un solo livello (no subdirectories). Il nome dei file deve finire con "_<lang code>.srt" dove il lang code è per esempio "en", "it", "de". Il resto del nomefile deve corrispondere al nome del video, per esempio "my_video.mp4" -> "my_video_en.srt". content#:#cont_uploaded_file#:#File esistente -content#:#cont_url_info#:#URL of a media file or Youtube URL.###29 07 2022 new variable +content#:#cont_url_info#:#URL of a media file or Youtube URL. content#:#cont_usage#:#Uso content#:#cont_use_same_resource_as_above#:#Usa la stessa risorsa vista sopra content#:#cont_user#:#Utente @@ -7241,21 +7242,21 @@ content#:#cont_user_blocked2#:#Un utente ha esaurito i tentativi di risposta nel content#:#cont_user_blocked3#:#Apri il modello di apprendimento nella modalità di modifica e accedi alla schermata: content#:#cont_user_search_did_not_match#:#La ricerca non corrisponde a nessun utente. content#:#cont_users_answered#:#Risposta degli utenti -content#:#cont_users_have_mob_in_clip1#:#Questo oggetto & +content#:#cont_users_have_mob_in_clip1#:#Questo oggetto multimediale è negli Appunti di content#:#cont_users_have_mob_in_clip2#:#utente(i). content#:#cont_validate_file#:#Valida file -content#:#cont_verification_object#:#Verification +content#:#cont_verification_object#:#Verifica content#:#cont_verification_placeh#:#Clicca e modifica per inserire il certificato content#:#cont_verification_placehl#:#Segnaposto certificato content#:#cont_version#:#Versione content#:#cont_versions#:#Versioni content#:#cont_whole_glossary#:#Glossario completo content#:#cont_width#:#Larghezza -content#:#cont_width_height_info#:#The size of the display can be set at a fixed size. 950 pixels for Width and 650 pixels for Height are proven values for setting the size. If no entry is made the browser will determine the size of the display. +content#:#cont_width_height_info#:#La dimensione del display può essere impostata su una dimensione fissa. 950 pixel per Larghezza e 650 pixel per Altezza sono valori comprovati per l'impostazione delle dimensioni. Se non viene effettuata alcuna immissione, il browser determinerà le dimensioni del display. content#:#cont_wiki_link_dialog#:#Link alla pagina Wiki (Dialogo) content#:#cont_wiki_page#:#Pagina Wiki content#:#cont_wiki_page_link#:#Link pagina Wiki -content#:#cont_wrong_answers#:#Wrong Answers +content#:#cont_wrong_answers#:#Risposte sbagliate content#:#cont_wrong_answers_single#:#Scelta sbagliata. content#:#cont_xml_base#:#xml:base content#:#cont_zip_file_invalid#:#File di import non valido.
Il file non contiene il file & @@ -7263,7 +7264,7 @@ content#:#content_no_edit_lock#:#La pagina è attualmente bloccata da un altro u content#:#content_page_history#:#Storia della pagina content#:#content_plugin_not_activated#:#Il plugin dell'elemento di contenuto della pagina non è attualmente attivato. content#:#content_some_export_ids_multiple_times#:#Alcuni ID di esportazione vengono utilizzati più volte. Questo porterà a pagine mancanti nell'esportazione. -content#:#content_until#:#At least locked until: +content#:#content_until#:#Almeno bloccato fino a: content#:#copied_to_clipboard#:#Oggetti copiati negli appunti. content#:#dgl_pagebreak#:#Interruzione di pagina content#:#glo_add_new_term#:#Aggiungi nuovo termine @@ -7273,7 +7274,7 @@ content#:#glo_full_definitions#:#Definizioni complete content#:#glo_full_definitions_info#:#I termini e le definizioni sono visualizzati nella vista principale. content#:#glo_hide_taxonomy#:#Nascondi tassonomia content#:#glo_list_usages#:#Elenco usi -content#:#glo_mode_normal_info#:#Only terms created within this glossar will be included. +content#:#glo_mode_normal_info#:#Saranno inclusi solo i termini creati all'interno di questo glossario. content#:#glo_presentation_mode#:#Modo di presentazione content#:#glo_presentation_view#:#Vista di presentazione content#:#glo_quick_navigation#:#Navigazione veloce @@ -7292,14 +7293,14 @@ content#:#htlm_import#:#Importa HTML Learning Module content#:#import_sco_object#:#Importa SCO content#:#info_stop_offline_mode_sure#:#Nota: I progressi di apprendimento raggiunti in modalità offline sono andati persi. Sei sicuro? content#:#lm_activate_rating#:#Attiva valutazione per nuove pagine -content#:#lm_editing_view#:#Editing View###07 02 2020 new variable -content#:#lm_import#:#Import ILIAS Learning Module###29 07 2022 new variable +content#:#lm_editing_view#:#Vista Editing +content#:#lm_import#:#Import ILIAS Learning Module content#:#lm_menu_edit_entry#:#Modifica voce del menu content#:#lm_menu_entry_target#:#Obiettivo content#:#lm_menu_entry_title#:#Titolo content#:#lm_menu_new_entry#:#Crea una nuova voce nel menu content#:#lm_menu_select_internal_object#:#Scegli un oggetto interno >> -content#:#lm_menu_select_object_to_add#:#Per favore, seleziona l& +content#:#lm_menu_select_object_to_add#:#Seleziona l'oggetto che desideri aggiungere al menu content#:#lm_no_download_files#:#Attualmente non ci sono file disponibile per il download. content#:#lm_only_one_download_per_type#:#Si prega di notare che è possibile creare un solo file per tipo (XLM, HTML, SCORM) pubblico accessibile. content#:#lm_rate_page#:#Valuta pagina @@ -7308,9 +7309,9 @@ content#:#mep_folder_created#:#Aggiunto nuovo folder. content#:#msg_entry_added#:#Voce aggiunta la menu content#:#msg_entry_removed#:#Voce tolta dal menu content#:#msg_entry_updated#:#Voce del menu aggiornata -content#:#msg_no_page_access#:#You do not have the permission to access this page.###07 02 2020 new variable -content#:#msg_page_no_public_access#:#La pagina che hai richiesto non & -content#:#msg_page_not_public#:#La pagina non & +content#:#msg_no_page_access#:#Non sei autorizzato ad accedere a questa pagina. +content#:#msg_page_no_public_access#:#La pagina che hai chiamato non è disponibile nell'area pubblica. Solo gli utenti registrati possono visualizzare questa pagina. Effettua prima il login per accedere a questa pagina. +content#:#msg_page_not_public#:#La pagina non è pubblica content#:#offline_mode_manager#:#Utilizzo Offline content#:#offline_mode_users#:#Utenti in modalità offline content#:#offline_mode_users_info#:#Gli utenti possono essere presi manualmente dalla modalità offline e dopo aver fatto in modo questi utenti possono nuovamente utilizzare la versione online del modulo di apprendimento. Questo ha senso se per esempio il computer con il modello di apprendimento è stato rubato. @@ -7337,8 +7338,8 @@ content#:#scplayer_previous#:#Precedente content#:#scplayer_showtree#:#Mostra Albero content#:#scplayer_start#:#Avvio content#:#scplayer_suspendall#:#Sospendi tutto -content#:#selectFooter#:#Scegli come Piè di Pagina -content#:#selectHeader#:#Scegli come Intestazione +content#:#selectFooter#:#Scegli come Footer +content#:#selectHeader#:#Scegli come Header content#:#select_a_file#:#Per favore seleziona un file. content#:#seq_close#:#Chiudere la finestra del player. content#:#seq_endsession#:#La sessione del corso è terminata. @@ -7346,67 +7347,67 @@ content#:#seq_error#:#Errore interno nel sequencer. content#:#seq_toc#:#Scegliere un'attività dalla Tabella Contenuti - TOC sulla sinistra, per iniziare il corso. content#:#set_public_mode#:#Imposta in modalita' di accesso pubblico content#:#st#:#Capitolo -content#:#start_lm#:#Launch Learning Module###26 08 2024 new variable -content#:#text_repr#:#Rappresentazione testuale -content#:#text_repr_info#:#Used for image "alt" attribute. -copa#:#copa_activation_online_info#:#Set the Content Page online to make it visible and available to other users. If not, only administrators will have access to it.###29 07 2022 new variable -copa#:#copa_add#:#Add Content Page -copa#:#copa_btn_lp_toggle_state_completed#:#Set Not Completed -copa#:#copa_btn_lp_toggle_state_not_completed#:#Set Completed -copa#:#copa_copy#:#Copy Content Page -copa#:#copa_edit#:#Edit Content Page -copa#:#copa_import#:#Import Content Page -copa#:#copa_new#:#Create Content Page -copa#:#copa_page_type_copa#:#Content Page###29 07 2022 new variable -copa#:#copa_prop_reading_time#:#Reading Time###29 07 2022 new variable -copa#:#copa_value_reading_time_f_p#:#%s Minutes###29 07 2022 new variable -copa#:#copa_value_reading_time_f_s#:#%s Minute###29 07 2022 new variable -copa#:#obj_copa_duplicate#:#Duplicate Content Page -copg#:#copg_active_to_small#:#This date must be higher than the starting date.###26 08 2024 new variable -copg#:#copg_allow_html#:#Enable HTML/Javascript###29 07 2022 new variable -copg#:#copg_allow_html_info#:#User may use HTML or Javascript page content. This may lead to security issues. Do not activate, if features can be used by users which you consider not being trustworthy. The support to add HTML content this way may be discontinued in a future version.###29 07 2022 new variable -copg#:#copg_an_error_occured#:#An error occured.###29 07 2022 new variable +content#:#start_lm#:#Launch Learning Module###30 04 2024 new variable +content#:#text_repr#:#Testo alternativo +content#:#text_repr_info#:#Verrà usato quando l'immagine non verrà mostrata +copa#:#copa_activation_online_info#:#Set the Content Page online to make it visible and available to other users. If not, only administrators will have access to it.###31 03 2023 new variable +copa#:#copa_add#:#Aggiungi pagina di contenuti +copa#:#copa_btn_lp_toggle_state_completed#:#Set non completato +copa#:#copa_btn_lp_toggle_state_not_completed#:#Imposta completata +copa#:#copa_copy#:#Copia la pagina del contenuto +copa#:#copa_edit#:#Modifica la pagina del contenuto +copa#:#copa_import#:#Importa pagina di contenuti +copa#:#copa_new#:#Crea pagina di contenuti +copa#:#copa_page_type_copa#:#Pagina dei contenuti +copa#:#copa_prop_reading_time#:#Reading Time +copa#:#copa_value_reading_time_f_p#:#%s Minutes +copa#:#copa_value_reading_time_f_s#:#%s Minute +copa#:#obj_copa_duplicate#:#Pagina di contenuti duplicati +copg#:#copg_active_to_small#:#This date must be higher than the starting date.###14 02 2024 new variable +copg#:#copg_allow_html#:#Abilita HTML / Javascript +copg#:#copg_allow_html_info#:#L'utente può utilizzare il contenuto della pagina HTML o Javascript. Ciò può causare problemi di sicurezza. Non attivare, se le funzionalità possono essere utilizzate dagli utenti che ritieni non attendibili. Il supporto per aggiungere contenuto HTML in questo modo potrebbe essere sospeso in una versione futura. +copg#:#copg_an_error_occured#:#An error occured. copg#:#copg_confirm_el_deletion#:#Vuoi davvero eliminare gli elementi selezionati? -copg#:#copg_cron_days#:#Delete pages older than###29 07 2022 new variable -copg#:#copg_cron_days_info#:#Page history entries older than this period will be deleted.###29 07 2022 new variable -copg#:#copg_cron_keep_entries#:#Keep Minimum###29 07 2022 new variable -copg#:#copg_cron_keep_entries_info#:#This number is the minimum of entries that will be kept, even if they are older than the deletion period.###29 07 2022 new variable -copg#:#copg_days#:#Days###29 07 2022 new variable -copg#:#copg_details#:#Details###29 07 2022 new variable -copg#:#copg_edit_iframe_title#:#Text Editing of Page Editor###26 08 2024 new variable -copg#:#copg_entries#:#Entries###29 07 2022 new variable -copg#:#copg_error#:#Error###29 07 2022 new variable -copg#:#copg_error_occured_modal#:#An error occured while processing the page. Hit "Reload Page" to return to the previously saved state.###29 07 2022 new variable -copg#:#copg_est_reading_time#:#Estimated Reading Time###29 07 2022 new variable -copg#:#copg_history_cleanup_cron#:#Page Editor History Cleanup###29 07 2022 new variable -copg#:#copg_history_cleanup_cron_info#:#Removes older entries from the page history.###29 07 2022 new variable -copg#:#copg_list_item_style#:#List Item###26 08 2024 new variable -copg#:#copg_list_style#:#List###26 08 2024 new variable -copg#:#copg_list_styles#:#List Formats###26 08 2024 new variable -copg#:#copg_more_character_formats#:#More Styles for Characters###26 08 2024 new variable -copg#:#copg_obj_types#:#Object Types###26 08 2024 new variable -copg#:#copg_page_element_not_found#:#Page element not found.###29 07 2022 new variable -copg#:#copg_page_type_stys#:#Layout Page###29 07 2022 new variable -copg#:#copg_pages#:#Pages###29 10 2025 new variable -copg#:#copg_par_format_selection#:#Paragraph Format Selection###26 08 2024 new variable -copg#:#copg_pc_mob_does_not_exist#:#This media object does not exist.###26 08 2024 new variable -copg#:#copg_plugin#:#Plugin###29 10 2025 new variable -copg#:#copg_plugin_not_avail#:#Plugin %s not available.###29 10 2025 new variable +copg#:#copg_cron_days#:#Delete pages older than###31 03 2023 new variable +copg#:#copg_cron_days_info#:#Page history entries older than this period will be deleted.###31 03 2023 new variable +copg#:#copg_cron_keep_entries#:#Keep Minimum###31 03 2023 new variable +copg#:#copg_cron_keep_entries_info#:#This number is the minimum of entries that will be kept, even if they are older than the deletion period.###31 03 2023 new variable +copg#:#copg_days#:#Days###31 03 2023 new variable +copg#:#copg_details#:#Details +copg#:#copg_edit_iframe_title#:#Text Editing of Page Editor###17 01 2024 new variable +copg#:#copg_entries#:#Entries###31 03 2023 new variable +copg#:#copg_error#:#Error +copg#:#copg_error_occured_modal#:#An error occured while processing the page. Hit "Reload Page" to return to the previously saved state.###29 06 2022 new variable +copg#:#copg_est_reading_time#:#Estimated Reading Time###31 03 2023 new variable +copg#:#copg_history_cleanup_cron#:#Page Editor History Cleanup###31 03 2023 new variable +copg#:#copg_history_cleanup_cron_info#:#Removes older entries from the page history.###31 03 2023 new variable +copg#:#copg_list_item_style#:#List Item###30 04 2024 new variable +copg#:#copg_list_style#:#List###30 04 2024 new variable +copg#:#copg_list_styles#:#List Formats###30 04 2024 new variable +copg#:#copg_more_character_formats#:#More Styles for Characters###17 01 2024 new variable +copg#:#copg_obj_types#:#Object Types###17 05 2024 new variable +copg#:#copg_page_element_not_found#:#Page element not found. +copg#:#copg_page_type_stys#:#Pagina layout +copg#:#copg_pages#:#Pages###28 11 2025 new variable +copg#:#copg_par_format_selection#:#Paragraph Format Selection###17 01 2024 new variable +copg#:#copg_pc_mob_does_not_exist#:#This media object does not exist.###28 11 2023 new variable +copg#:#copg_plugin#:#Plugin###23 09 2025 new variable +copg#:#copg_plugin_not_avail#:#Plugin %s not available.###10 12 2024 new variable copg#:#copg_questions_not_supported_here#:#Le domande non sono supportate in questo contesto. -copg#:#copg_reload_page#:#Reload Page###29 07 2022 new variable -copg#:#copg_remove_formats#:#Remove Formatting###26 08 2024 new variable +copg#:#copg_reload_page#:#Reload Page###29 06 2022 new variable +copg#:#copg_remove_formats#:#Remove Formatting###17 01 2024 new variable copg#:#copg_sec_link_info#:#Se si imposta un link sul tutta la sezione, bisogna assicurarsi che nessun altro elemento interattivo sia incluso nella sezione. Altrimenti il loro comportamento potrebbe essere errato. copg#:#copg_snippet_cannot_be_edited#:#Questo è un frammento di contenuto predefinito e non può essere modificato qui. -copg#:#copg_templates#:#Templates###29 10 2025 new variable -copg#:#copg_unsupported_media_type#:#This media object has an unsupported media type.###26 08 2024 new variable -copg#:#copg_x_minutes#:#%s minute(s)###29 07 2022 new variable -cpad#:#cpad_reading_time_status#:#Reading Time###29 07 2022 new variable -cpad#:#cpad_reading_time_status_desc#:#If enabled, the estimated reading time for content page objects will be determined and displayed.###29 07 2022 new variable +copg#:#copg_templates#:#Templates###28 11 2025 new variable +copg#:#copg_unsupported_media_type#:#This media object has an unsupported media type.###14 02 2024 new variable +copg#:#copg_x_minutes#:#%s minute(s)###31 03 2023 new variable +cpad#:#cpad_reading_time_status#:#Reading Time +cpad#:#cpad_reading_time_status_desc#:#If enabled, the estimated reading time for content page objects will be determined and displayed. cptch#:#cptch_freetype_support_needed#:#Per utilizzare questa funzione è necessario abilitare il supporto FreeType nel vostro PHP. cptch#:#cptch_wrong_input#:#Input sbagliato -cron#:#cro_job_rc_job_auto_deactivation_time_limit#:#PROBABLY CRASHED -cron#:#cro_job_rc_job_manual_reset#:#RESET MANUALLY -cron#:#cro_job_rc_job_no_result#:#Cron job did not return a proper result +cron#:#cro_job_rc_job_auto_deactivation_time_limit#:#PROBABILE CRASH +cron#:#cro_job_rc_job_manual_reset#:#RESET MANUALE +cron#:#cro_job_rc_job_no_result#:#Cron job non ha restituito un risultato corretto cron#:#cron_action_activate#:#Attiva cron#:#cron_action_activate_success#:#Cron job attivato. cron#:#cron_action_activate_sure#:#Sei sicuro di voler attivare il cron job "%s"? @@ -7428,7 +7429,7 @@ cron#:#cron_action_run_sure#:#Se sicuro di voler eseguire il cron job "%s"? cron#:#cron_changed_by_crontab#:#SISTEMA cron#:#cron_component#:#Componente cron#:#cron_job_id#:#Id -cron#:#cron_jobs_with_required_intervention#:#The following jobs may require an intervention.###29 10 2025 new variable +cron#:#cron_jobs_with_required_intervention#:#The following jobs may require an intervention.###28 11 2025 new variable cron#:#cron_last_run#:#Ultimo funzionamento cron#:#cron_no_executable_job_selected#:#Si prega di selezionare almeno un cron job eseguibile. cron#:#cron_result#:#Risultato @@ -7463,8 +7464,8 @@ crs#:#crs_accept_subscriber_body#:#Sei stato iscritto a questo corso. crs#:#crs_access#:#Accesso crs#:#crs_activate_notification#:#Attiva notifica crs#:#crs_activation#:#Attivazione -crs#:#crs_activation_limited_visibility_info#:#If chosen, the course is visible even outside of the given availability. -crs#:#crs_activation_online_info#:#If offline, only course administrators and tutors can see and edit the course. +crs#:#crs_activation_limited_visibility_info#:#Se scelto, il corso è visibile anche al di fuori della data disponibilità. +crs#:#crs_activation_online_info#:#Se offline, solo gli amministratori e i tutor dei corsi possono visualizzare e modificare il corso. crs#:#crs_add_archive_html#:#Crea archivio HTML crs#:#crs_add_archive_xml#:#Crea archivio XML crs#:#crs_add_grouping#:#Crea un gruppo di corsi @@ -7484,15 +7485,15 @@ crs#:#crs_admin#:#Amministratore crs#:#crs_administrators#:#Amministratori crs#:#crs_admission_link_failure_availability#:#Impossibile registrarsi: Il corso non è online. crs#:#crs_admission_link_failure_invalid_code#:#Impossibile registrarsi: Il link non è valido. -crs#:#crs_admission_link_failure_membership_limited#:#Can't registrate: Course membership is limited. +crs#:#crs_admission_link_failure_membership_limited#:#Impossibile registrarsi: l'iscrizione al corso è limitata. crs#:#crs_admission_link_failure_offline#:#Impossibile registrarsi: Il corso è offline. -crs#:#crs_admission_link_failure_registration_period#:#Can't registrate: Course is out of registration period. -crs#:#crs_admission_link_success_registration#:#Successfully registrated to course "%s". +crs#:#crs_admission_link_failure_registration_period#:#Impossibile iscriversi: il corso non è in corso di registrazione. +crs#:#crs_admission_link_success_registration#:#Registrato correttamente al corso "%s". crs#:#crs_agree#:#Accettazione crs#:#crs_agreement_header#:#Accordo con l’utente crs#:#crs_agreement_required#:#Devi accettare questo user agreement se vuoi registrarti a questo corso. crs#:#crs_at_least_one_admin#:#Deve esserci almeno un amministratore del corso. -crs#:#crs_auto_notification#:#Notification For New Member +crs#:#crs_auto_notification#:#Notifica per il nuovo membro crs#:#crs_auto_notification_info#:#I nuovi membri riceveranno una mail dopo essere stati aggiunti al corso. crs#:#crs_awrn_current_course#:#Corso attuale crs#:#crs_awrn_current_course_info#:#Se l'utente accede a un corso nel repository, sono elencati tutti i membri del corso. @@ -7505,10 +7506,10 @@ crs#:#crs_breadcrumb_crs_only#:#Start with Course crs#:#crs_breadcrumb_full_path#:#Full Path crs#:#crs_cancel_subscr_request#:#Cancella richiesta di membership crs#:#crs_cancel_subscription#:#Cancellato dal corso "%s" -crs#:#crs_cancel_subscription_body#:#Un utente si & -crs#:#crs_cancel_subscription_body2#:#Ci potrebbero essere altri membri in attesa per questo corso.\nDovresti verificare la lista d'attesa.\nPer vedere i membri di questo corso clicca qui: -crs#:#crs_cancellation_end#:#Cancellation Limit -crs#:#crs_cancellation_end_info#:#From this date on particiants cannot unsubscribe anymore. +crs#:#crs_cancel_subscription_body#:#%s ha annullato la sua iscrizione al corso "%s". +crs#:#crs_cancel_subscription_body2#:#Ci potrebbero essere altri membri in attesa per questo corso. Dovresti verificare la lista d'attesa. Per vedere i membri di questo corso clicca qui: +crs#:#crs_cancellation_end#:#Limite di cancellazione +crs#:#crs_cancellation_end_info#:#Da questa data in poi i partecipanti non potranno più annullare l'iscrizione. crs#:#crs_cancellation_end_rbac_info#:#La scadenza della cancellazione è stata soddisfatta su %s, non è più possibile una cancellazione. crs#:#crs_cannot_find_role#:#Non è possibile trovare questo ruolo. crs#:#crs_cdf_edit_member#:#Modifica dati utente relativi al corso @@ -7524,18 +7525,18 @@ crs#:#crs_contact_responsibility#:#Responsibilità crs#:#crs_content#:#Contenuto del corso crs#:#crs_copy#:#Copia corso crs#:#crs_course_group_notification_link#:#Link: -crs#:#crs_course_period_not_valid#:#The course period is not valid. -crs#:#crs_course_status_of_users#:#Passed Status of Users +crs#:#crs_course_period_not_valid#:#Il periodo del corso non è valido. +crs#:#crs_course_status_of_users#:#Convalida dell'utente crs#:#crs_create_date#:#Crea data crs#:#crs_custom_user_fields#:#Dati utente relativi al corso -crs#:#crs_custom_user_fields_infobox#:#Create additional data fields for course members to fill in when joining. You can show this information as an additional column in the "Members" tab.###26 08 2024 new variable -crs#:#crs_custom_user_fields_table_title#:#Relevant User Data of This Course###26 08 2024 new variable +crs#:#crs_custom_user_fields_infobox#:#Create additional data fields for course members to fill in when joining. You can show this information as an additional column in the "Members" tab.###30 04 2024 new variable +crs#:#crs_custom_user_fields_table_title#:#Relevant User Data of This Course###18 06 2024 new variable crs#:#crs_dates#:#Scadenze crs#:#crs_deactivate_notification#:#Disattiva notifica crs#:#crs_delete_objectve_sure#:#Sei sicuro di voler eliminare i seguenti obiettivi? crs#:#crs_details#:#Dettagli del corso crs#:#crs_dismiss_member#:#Iscritti al corso "%s" -crs#:#crs_dismiss_member_body#:#Il periodo di iscrizione è terminato +crs#:#crs_dismiss_member_body#:#la tua iscrizione è stata chiusa nel corso "%s". crs#:#crs_edit_lo_introduction#:#Modifica introduzione crs#:#crs_edit_timings#:#Edita Tempi crs#:#crs_enable_map#:#Attiva mappa dei corsi @@ -7552,7 +7553,7 @@ crs#:#crs_grouping_delete_sure#:#Vuoi veramente eliminare il seguente gruppo di crs#:#crs_grouping_deleted#:#Rimossi piani formativi. crs#:#crs_grouping_select_one#:#Scegli il gruppo di corsi. crs#:#crs_groupings#:#Gruppi di corsi -crs#:#crs_groups_nr#:#Number of Groups +crs#:#crs_groups_nr#:#Numero di gruppi crs#:#crs_grp_added_grouping#:#Aggiunta nuova limitazione all'utente. crs#:#crs_grp_already_assigned#:#Sei giàmembro di questo gruppo di corsi. crs#:#crs_grp_assign_crs#:#Assegna corso @@ -7571,7 +7572,7 @@ crs#:#crs_import#:#Importa corso crs#:#crs_important_info#:#Informazioni importanti crs#:#crs_info_agree#:#Consento la visibilità di questi tipi di dati da parte degli amministratori del corso. crs#:#crs_info_agreement#:#I seguenti tipi di dati sono visibili agli amministratori del corso: -crs#:#crs_info_download#:#Files per Download +crs#:#crs_info_download#:#File per download crs#:#crs_info_reg#:#Ammissione crs#:#crs_info_reg_confirmation#:#L'iscrizione a questo corso è vincolata all'accettazione dell'amministratore. Riceverai un messaggio quando l'iscrizione verrà confermata. crs#:#crs_info_reg_deactivated#:#Non è possibile iscriversi @@ -7579,33 +7580,33 @@ crs#:#crs_info_reg_direct#:#Puoi iscriverti direttamente a questo corso. crs#:#crs_info_reg_password#:#Per l'iscrizione occorre una password valida. crs#:#crs_info_settings#:#Informazioni sul corso crs#:#crs_info_start#:#Per favore lavora con tutti gli elementi del corso iniziato evidenziati.
Una volta che avrai terminato tutti gli oggetti marcati di rosso, gli elementi del nuovo corso saranno disponibili. -crs#:#crs_intro_course_group_notification_for#:#This is the daily news digest for: %s +crs#:#crs_intro_course_group_notification_for#:#Questo è il riassunto giornaliero delle notizie per: %s crs#:#crs_intro_course_group_notification_index#:#Ci sono notizie per il periodo di %1$s a %2$s per i seguenti corsi e gruppi: crs#:#crs_item_presetting_info#:#Scegli questa opzione per suggerire agli utenti tempi di esecuzione crs#:#crs_join_request#:#Invia -crs#:#crs_lhist_objective_completed#:#Mastered $3$ in $1$. +crs#:#crs_lhist_objective_completed#:#Masterizzato $3$ in $1$. crs#:#crs_lim_assigned#:#gia assegnato a corsi "%s". crs#:#crs_link_hide_next_sessions#:#Nascondi prossime sessioni crs#:#crs_link_hide_prev_sessions#:#Nascondi sessioni precedenti -crs#:#crs_link_show_all_next_sessions#:#Show upcoming all upcoming sessions +crs#:#crs_link_show_all_next_sessions#:#Mostra le prossime sessioni in arrivo crs#:#crs_link_show_all_prev_sessions#:#Mostra tutte le sessioni precedenti -crs#:#crs_lobj_pm_min_goal#:#Required Score -crs#:#crs_lobj_pm_score#:#Your Result -crs#:#crs_loc_btn_new_assignment#:#Neue Testzuordnung +crs#:#crs_lobj_pm_min_goal#:#Punteggio richiesto +crs#:#crs_lobj_pm_score#:#Il tuo risultato +crs#:#crs_loc_btn_new_assignment#:#Nuovo compito di prova crs#:#crs_loc_confirm_delete_tst#:#Vuoi davvero togliere l’assegnazione del test di questo corso orientato all’obiettivo dell’apprendimento? -crs#:#crs_loc_delete_assignment#:#Delete Assignment +crs#:#crs_loc_delete_assignment#:#Elimina assegnazione crs#:#crs_loc_err_no_active_it#:#Obiettivi di apprendimento senza test iniziale crs#:#crs_loc_err_no_active_lo#:#Nessun obiettivo dell’apprendimento attivo -crs#:#crs_loc_err_no_active_mat#:#Learning Objectives without Materials +crs#:#crs_loc_err_no_active_mat#:#Obiettivi di apprendimento senza materiali crs#:#crs_loc_err_no_active_qst#:#Obiettivi senza domande crs#:#crs_loc_err_no_active_qt#:#Obiettivi di apprendimento senza test di qualificazione crs#:#crs_loc_err_nr_tries_exceeded#:#Il numero di passaggi per obiettivo supera il numero possibile di passaggi del test di qualificazione. crs#:#crs_loc_err_stat_no_it#:#Nessun test iniziale disponibile crs#:#crs_loc_err_stat_no_materials#:#Nessun materiale del corso disponibile -crs#:#crs_loc_err_stat_no_qt#:#No Qualifying Test available +crs#:#crs_loc_err_stat_no_qt#:#Nessun test di qualificazione disponibile crs#:#crs_loc_err_stat_tst_offline#:#Non tutti i test sono online. crs#:#crs_loc_form_assign#:#Utilizza test esistente -crs#:#crs_loc_form_assign_initial_info#:#Select a test from this course to serve as Placement Test +crs#:#crs_loc_form_assign_initial_info#:#Seleziona un test da questo corso per fungere da test di posizionamento crs#:#crs_loc_form_assign_it#:#Assegnazione del test crs#:#crs_loc_form_assign_qualified_info#:#-- crs#:#crs_loc_form_available_tsts#:#Test disponibili @@ -7613,99 +7614,99 @@ crs#:#crs_loc_form_create_objectives#:#Crea obiettivi dell’apprendimento crs#:#crs_loc_form_random_limits_it#:#Definisci le domande del test iniziale crs#:#crs_loc_form_random_limits_qt#:#Definisci le domande del test di qualificazione crs#:#crs_loc_form_tst_new#:#Crea nuovo test -crs#:#crs_loc_form_tst_new_initial_info#:#Create a new test to serve as Placement Test +crs#:#crs_loc_form_tst_new_initial_info#:#Crea un nuovo test da utilizzare come test di posizionamento crs#:#crs_loc_form_tst_new_qualified_info#:#-- crs#:#crs_loc_itest_info#:#Test iniziale crs#:#crs_loc_itst_for_objective#:#Test iniziale "%1$s" crs#:#crs_loc_learning_objective#:#Obiettivo dell’apprendimento -crs#:#crs_loc_mem_show_res#:#Testergebnisse anzeigen +crs#:#crs_loc_mem_show_res#:#Visualizza i risultati del test crs#:#crs_loc_num_qst#:#Numero delle domande -crs#:#crs_loc_objective_passed_confirmation#:#Sie haben das Lernziel bereits bestanden. Ein erneutes Starten des Tests setzt die Ergebnisse zurück. Wollen Sie den Test erneut starten? -crs#:#crs_loc_objectives_passed_confirmation#:#Sie haben bereits alle Lernziel bestanden. Ein erneutes Starten des Tests setzt die Ergebnisse zurück. Wollen Sie den Test erneut starten? +crs#:#crs_loc_objective_passed_confirmation#:#Hai già superato l'obiettivo di apprendimento. Riavviare il test ripristinerà i risultati. Vuoi ricominciare il test? +crs#:#crs_loc_objectives_passed_confirmation#:#Hai già superato tutti gli obiettivi di apprendimento. Riavviare il test ripristinerà i risultati. Vuoi ricominciare il test? crs#:#crs_loc_passes_info#:#Numero massimo dei passaggi del test crs#:#crs_loc_passes_left#:#Rimanente numero massimo dei passaggi del test -crs#:#crs_loc_passes_reached#:#No further test pases possible +crs#:#crs_loc_passes_reached#:#Non sono possibili ulteriori test crs#:#crs_loc_perc#:#Percentuale di punti richiesta -crs#:#crs_loc_progress_do_qualifying#:#Please take the qualifying test. +crs#:#crs_loc_progress_do_qualifying#:#Si prega di sostenere il test di qualificazione. crs#:#crs_loc_progress_do_qualifying_again#:#Si prega di lavorare nuovamente attraverso i materiali didattici. crs#:#crs_loc_progress_no_result_do_initial#:#Si prega di accettare il test iniziale. crs#:#crs_loc_progress_no_result_no_initial#:#Si prega di lavorare attraverso i seguenti materiali didattici e poi accettare il test di qualificazione. crs#:#crs_loc_progress_objective_complete#:#Hai completato l’obiettivo dell’apprendimento. crs#:#crs_loc_progress_result_itest#:#Risultato del test iniziale crs#:#crs_loc_progress_result_qtest#:#Risultato -crs#:#crs_loc_qst_resume_tst_itest#:#Einstiegstests zu verschiedenen Lernzielen dürfen nicht parallel gestartet werden. Sie haben schon einen Einstiegstest zu einem Lernziel gestartet. Entweder setzen Sie diesen alten Test fort oder Sie starten einen neuen Test. -crs#:#crs_loc_qst_resume_tst_qtest#:#Qualifizierende Tests zu verschiedenen Lernzielen dürfen nicht parallel gestartet werden. Sie haben schon einen qualifizierenden Test zu einem Lernziel gestartet. Entweder setzen Sie diesen alten Test fort oder Sie starten einen neuen Test. -crs#:#crs_loc_qtest_info#:#Qualified Test +crs#:#crs_loc_qst_resume_tst_itest#:#I test d'ingresso per diversi obiettivi di apprendimento non devono essere avviati in parallelo. Hai già iniziato un test d'ingresso per un obiettivo di apprendimento. Continua questo vecchio test o avvia un nuovo test. +crs#:#crs_loc_qst_resume_tst_qtest#:#I test di qualificazione per diversi obiettivi di apprendimento non devono essere avviati in parallelo. Hai già iniziato un test di qualificazione per un obiettivo di apprendimento. Continua questo vecchio test o avvia un nuovo test. +crs#:#crs_loc_qtest_info#:#Test qualificato crs#:#crs_loc_qtst_for_objective#:#Test di qualificazione "%1$s" crs#:#crs_loc_rand_assign_qpl#:#Modulo di assegnazione del gruppo di domande crs#:#crs_loc_rand_qpl#:#Gruppi di domande disponibili -crs#:#crs_loc_settings_err_qstart#:#Die Option "Abschlusstest als Startobjekt" wurde deaktiviert, da sie nur für Kurse ohne Einstiegstest verwendet werden kann. -crs#:#crs_loc_settings_it_start_object#:#Einstiegstest ist Startobjekt -crs#:#crs_loc_settings_it_type#:#Einstiegstest -crs#:#crs_loc_settings_itest_tbl#:#Settings for the Initial Test -crs#:#crs_loc_settings_passed_mode#:#Bestandene Lernziele -crs#:#crs_loc_settings_passed_mode_hide#:#Testfragen zu bestandenen Lernzielen werden ausgeblendet -crs#:#crs_loc_settings_passed_mode_mark#:#Testfragen zu bestandenen Lernzielen werden markiert -crs#:#crs_loc_settings_qt_all#:#Abschlusstest -crs#:#crs_loc_settings_qt_start_object#:#Abschlusstest ist Startobjekt -crs#:#crs_loc_settings_qtest_tbl#:#Settings for the Qualifying Test -crs#:#crs_loc_settings_reset#:#Testergebnisse -crs#:#crs_loc_settings_reset_enable#:#"Testergebnis zurücksetzen" erlauben -crs#:#crs_loc_settings_reset_enable_info#:#Wenn aktiviert, haben alle Benutzer die Möglichkeit, ihre individuellen Testergebnisse zurückzusetzen. -crs#:#crs_loc_settings_tbl#:#Settings for the Learning Objective Oriented Course -crs#:#crs_loc_settings_tbl_it_nq#:#Diagnostische Einstiegstests pro Lernziel -crs#:#crs_loc_settings_tbl_it_q#:#Qualifizierende Einstiegstests pro Lernziel -crs#:#crs_loc_settings_tbl_its_nq_all#:#Diagnostischer Einstiegstest über alle Lernziele -crs#:#crs_loc_settings_tbl_its_q_all#:#Qualifizierender Einstiegstest über alle Lernziele -crs#:#crs_loc_settings_tbl_qt#:#Abschlusstests pro Lernziel -crs#:#crs_loc_settings_tbl_qts_all#:#Abschlusstest über alle Lernziele -crs#:#crs_loc_settings_type_it_none#:#Kein Einstiegstest -crs#:#crs_loc_settings_type_it_none_info#:#No placement test -crs#:#crs_loc_settings_type_it_placement_all#:#Diagnostischer Einstiegstest über alle Lernziele -crs#:#crs_loc_settings_type_it_placement_all_info#:#Placement test on all learning objectives -crs#:#crs_loc_settings_type_it_placement_sel#:#Diagnostischer Einstiegstest pro Lernziel -crs#:#crs_loc_settings_type_it_placement_sel_info#:#Placement test per single learning objective -crs#:#crs_loc_settings_type_it_qualifying_all#:#Qualifizierender Einstiegstest über alle Lernziele -crs#:#crs_loc_settings_type_it_qualifying_all_info#:#Achievement test on all learning objectives -crs#:#crs_loc_settings_type_it_qualifying_sel#:#Qualifizierender Einstiegstest pro Lernziel -crs#:#crs_loc_settings_type_it_qualifying_sel_info#:#Achievement test per sinble learning objective -crs#:#crs_loc_settings_type_q_all#:#Abschlusstest über alle Lernziele -crs#:#crs_loc_settings_type_q_all_info#:#Achievement test on all learning objectives -crs#:#crs_loc_settings_type_q_selected#:#Abschlusstest pro Lernziel -crs#:#crs_loc_settings_type_q_selected_info#:#Achievement test per sinble learning objective +crs#:#crs_loc_settings_err_qstart#:#L'opzione "Test finale come oggetto iniziale" "è stata disattivata perché può essere utilizzata solo per i corsi senza un test iniziale." +crs#:#crs_loc_settings_it_start_object#:#Il test di ingresso è oggetto di avvio +crs#:#crs_loc_settings_it_type#:#test d'ingresso +crs#:#crs_loc_settings_itest_tbl#:#Impostazioni per test iniziale +crs#:#crs_loc_settings_passed_mode#:#Obiettivi di apprendimento superati +crs#:#crs_loc_settings_passed_mode_hide#:#Le domande di prova sugli obiettivi di apprendimento passati sono nascoste +crs#:#crs_loc_settings_passed_mode_mark#:#Le domande di prova per gli obiettivi di apprendimento superati sono contrassegnate +crs#:#crs_loc_settings_qt_all#:#Prova Finale +crs#:#crs_loc_settings_qt_start_object#:#Il test finale è l'oggetto iniziale +crs#:#crs_loc_settings_qtest_tbl#:#Impostazioni per il test d'ingresso +crs#:#crs_loc_settings_reset#:#i risultati dei test +crs#:#crs_loc_settings_reset_enable#:#Consenti "Ripristina risultato del test" +crs#:#crs_loc_settings_reset_enable_info#:#Se attivato, tutti gli utenti hanno la possibilità di ripristinare i risultati dei singoli test. +crs#:#crs_loc_settings_tbl#:#Impostazioni per il corso orientato agli obiettivi di apprendimento +crs#:#crs_loc_settings_tbl_it_nq#:#Test di accesso diagnostico per obiettivo di apprendimento +crs#:#crs_loc_settings_tbl_it_q#:#Test di ammissione qualificati per ciascun obiettivo di apprendimento +crs#:#crs_loc_settings_tbl_its_nq_all#:#Test di accesso diagnostico per obiettivo di apprendimento +crs#:#crs_loc_settings_tbl_its_q_all#:#Test d'ingresso idoneo per tutti gli obiettivi di apprendimento +crs#:#crs_loc_settings_tbl_qt#:#Test finali per obiettivo di apprendimento +crs#:#crs_loc_settings_tbl_qts_all#:#Test finale di tutti gli obiettivi di apprendimento +crs#:#crs_loc_settings_type_it_none#:#Nessun test d'ingresso +crs#:#crs_loc_settings_type_it_none_info#:#Nessun test di posizionamento +crs#:#crs_loc_settings_type_it_placement_all#:#Test di accesso diagnostico per obiettivo di apprendimento +crs#:#crs_loc_settings_type_it_placement_all_info#:#Test di posizionamento su tutti gli obiettivi di apprendimento +crs#:#crs_loc_settings_type_it_placement_sel#:#Test di accesso diagnostico per obiettivo di apprendimento +crs#:#crs_loc_settings_type_it_placement_sel_info#:#Test di posizionamento per singolo obiettivo di apprendimento +crs#:#crs_loc_settings_type_it_qualifying_all#:#Test d'ingresso idoneo per tutti gli obiettivi di apprendimento +crs#:#crs_loc_settings_type_it_qualifying_all_info#:#Test di conseguimento su tutti gli obiettivi di apprendimento +crs#:#crs_loc_settings_type_it_qualifying_sel#:#Test d'ingresso idoneo per ciascun obiettivo di apprendimento +crs#:#crs_loc_settings_type_it_qualifying_sel_info#:#Test di raggiungimento per singolo obiettivo di apprendimento +crs#:#crs_loc_settings_type_q_all#:#Test finale di tutti gli obiettivi di apprendimento +crs#:#crs_loc_settings_type_q_all_info#:#Test di conseguimento su tutti gli obiettivi di apprendimento +crs#:#crs_loc_settings_type_q_selected#:#Test finale per obiettivo di apprendimento +crs#:#crs_loc_settings_type_q_selected_info#:#Test di raggiungimento per singolo obiettivo di apprendimento crs#:#crs_loc_subtab_creation#:#Crea crs#:#crs_loc_suggested#:#Si prega di lavorare attraverso i seguenti materiali didattici. -crs#:#crs_loc_tab_itest#:#Initial Test -crs#:#crs_loc_tab_itests#:#Einstiegstests -crs#:#crs_loc_tab_materials#:#Materials +crs#:#crs_loc_tab_itest#:#Test iniziale +crs#:#crs_loc_tab_itests#:#test di ingresso +crs#:#crs_loc_tab_materials#:#Materia crs#:#crs_loc_tab_objectives#:#Obiettivi dell’apprendimento -crs#:#crs_loc_tab_qtest#:#Qualifying Test -crs#:#crs_loc_tab_qtests#:#Abschlusstests +crs#:#crs_loc_tab_qtest#:#Test di qualificazione +crs#:#crs_loc_tab_qtests#:#Test Finali crs#:#crs_loc_tab_start#:#Avvia obiettivi -crs#:#crs_loc_tbl_tst_qst_qpl#:#Questions/Questionpools -crs#:#crs_loc_tbl_tst_type#:#Test Mode -crs#:#crs_loc_test_results_of#:#Testergebnisse von: +crs#:#crs_loc_tbl_tst_qst_qpl#:#Domande/Gruppi di domande +crs#:#crs_loc_tbl_tst_type#:#Modalità di prova +crs#:#crs_loc_test_results_of#:#Risultati del test da: crs#:#crs_loc_tst_assignment#:#Assegnazione del test -crs#:#crs_loc_tst_new_run#:#Neuen Testdurchlauf starten +crs#:#crs_loc_tst_new_run#:#Inizia una nuova prova crs#:#crs_loc_tst_num_qst#:#Numero delle domande: crs#:#crs_loc_tst_qpls#:#Gruppi di domande disponibili: -crs#:#crs_loc_tst_resume#:#Testdurchlauf fortsetzen +crs#:#crs_loc_tst_resume#:#Continua l'esecuzione del test crs#:#crs_loc_tst_start#:#Test starten crs#:#crs_loc_tt_info#:#Hai raggiunto %1$d%%. Il test è superato con %2$d%%. crs#:#crs_loc_type_initial_all_info#:#todo crs#:#crs_loc_type_qualified_info#:#todo crs#:#crs_mail_all#:#Per tutti i partecipanti -crs#:#crs_mail_all_info#:#Members, administrators and tutors can use the feature "Mail to Members" in the "Members" tab. -crs#:#crs_mail_context_member_info#:#For the contact emails on the info screen of a course -crs#:#crs_mail_context_member_title#:#Course Member -crs#:#crs_mail_context_tutor_info#:#For the participant emails on the member and learning progress screens of a course -crs#:#crs_mail_context_tutor_title#:#Course Tutor +crs#:#crs_mail_all_info#:#Membri, amministratori e tutor possono utilizzare la funzione "Invia ai membri" nella scheda "Membri". +crs#:#crs_mail_context_member_info#:#Per le e-mail di contatto nella schermata informativa di un corso +crs#:#crs_mail_context_member_title#:#Membro del corso +crs#:#crs_mail_context_tutor_info#:#Per i partecipanti e-mail sulle schermate membro e stato di avanzamento di un corso +crs#:#crs_mail_context_tutor_title#:#Tutor del corso crs#:#crs_mail_permanent_link#:#Segli il link seguente per accedere a contenuto del corso: crs#:#crs_mail_tutors_only#:#Solo per tutor e amministratori -crs#:#crs_mail_tutors_only_info#:#Only administrators and tutors can use the feature "Mail to Members" in the "Members" tab. +crs#:#crs_mail_tutors_only_info#:#Solo gli amministratori e i tutor possono utilizzare la funzione "Invia ai membri" nella scheda "Membri". crs#:#crs_mail_type#:#Mail per i membri -crs#:#crs_map_location#:#Map Location del corso -crs#:#crs_map_settings#:#Map Settings +crs#:#crs_map_location#:#Mappa Località del corso +crs#:#crs_map_settings#:#Impostazioni della mappa crs#:#crs_materials#:#Materiali del corso crs#:#crs_max_and_min_members_invalid#:#Il numero minimo deve essere minore del numero massimo dei membri. crs#:#crs_max_and_min_members_needed#:#Seleziona un numero minimo o massimo dei membri - o entrambi. @@ -7720,16 +7721,16 @@ crs#:#crs_member_administration#:#Edita Partcipanti crs#:#crs_member_passed_status_changed#:#Stato superato modificato crs#:#crs_members#:#Membri crs#:#crs_members_deleted#:#Eliminati iscritti -crs#:#crs_members_groups#:#Course Members Groups +crs#:#crs_members_groups#:#Gruppi dei membri del corso crs#:#crs_members_map#:#Mappa dei membri del corso crs#:#crs_members_print_title#:#Iscritti al corso crs#:#crs_min_one_admin#:#Deve essere assegnato almeno un amministratore a questo corso. -crs#:#crs_msg_no_self_registration_period_if_self_enrolment_disabled#:#The limited registration period can not be defined if the "No Self-enrolment" setting is active.###26 08 2024 new variable -crs#:#crs_my_courses_groups_enabled#:#My Courses and Groups###26 08 2024 new variable -crs#:#crs_my_courses_groups_enabled_info#:#If activated, the section 'My Courses and Groups' is visible.###26 08 2024 new variable +crs#:#crs_msg_no_self_registration_period_if_self_enrolment_disabled#:#The limited registration period can not be defined if the "No Self-enrolment" setting is active.###14 02 2024 new variable +crs#:#crs_my_courses_groups_enabled#:#My Courses and Groups###28 07 2023 new variable +crs#:#crs_my_courses_groups_enabled_info#:#If activated, the section 'My Courses and Groups' is visible.###28 07 2023 new variable crs#:#crs_new_status#:#Il tuo nuovo status e': crs#:#crs_new_subscription#:#Nuova iscrizione al corso "%s" -crs#:#crs_new_subscription_body#:#Un nuovo utente & +crs#:#crs_new_subscription_body#:#%s è registrato per il corso "%s". crs#:#crs_new_subscription_request#:#Richiesta di iscrizione al corso "%s" crs#:#crs_new_subscription_request_body#:#Un utente ha richiesto di iscriversi al corso & crs#:#crs_new_subscription_request_body2#:#Devi contattare l'amministratore per l'accettazione della richiesta @@ -7748,7 +7749,7 @@ crs#:#crs_notification#:#Notifiche crs#:#crs_notification_activated#:#Notifica attivata crs#:#crs_notification_deactivated#:#Notifica disattivata crs#:#crs_notification_explanation_admin#:#Ricevi questa email perché sei un amministratore o un tutor di corso con le notifiche abilitate. -crs#:#crs_notification_list_title#:#Notification About New Members +crs#:#crs_notification_list_title#:#Notifica sui nuovi membri crs#:#crs_notification_salutation#:#Caro partecipante al corso, crs#:#crs_notify#:#Notifica per nuova registrazione crs#:#crs_nr#:#Numero @@ -7757,10 +7758,10 @@ crs#:#crs_obj_final_req_info#:#Se è stato raggiunto questo numero di punti, l'o crs#:#crs_obj_initial_req_info#:#Se è stato raggiunto questo numero di punti, non sarà raccomandato ulteriore materiale didattico per l'editing crs#:#crs_obj_required_points#:#Punti richiesti crs#:#crs_objective_accomplished#:#Eseguito -crs#:#crs_objective_action_itest#:#Question Assignemnt Initial Test -crs#:#crs_objective_action_materials#:#Material Assignment -crs#:#crs_objective_action_qtest#:#Question Assignment Qualifying -crs#:#crs_objective_action_qtest_sep#:#Abschlusstest zuordnen +crs#:#crs_objective_action_itest#:#Test iniziale di assegnazione delle domande +crs#:#crs_objective_action_materials#:#Assegnazione materiale +crs#:#crs_objective_action_qtest#:#Qualifica assegnazione domanda +crs#:#crs_objective_action_qtest_sep#:#Assegna il test finale crs#:#crs_objective_add_mat#:#Assegna materiali crs#:#crs_objective_all_points#:#Punteggio totale crs#:#crs_objective_assigned_materials#:#Materiale didattico assegnato @@ -7776,21 +7777,21 @@ crs#:#crs_objective_pretest#:#Test di ingresso crs#:#crs_objective_qst_summary#:#Visualizzazione assegnazione domande crs#:#crs_objective_random_warn#:#Non puoi usare test random in combinazione con obiettivi di apprendimento. crs#:#crs_objective_result#:#Risultati -crs#:#crs_objective_result_details#:#« Show Details###29 07 2022 new variable -crs#:#crs_objective_result_summary_initial#:#Placement Test: %1$s (%2$s required)###29 07 2022 new variable -crs#:#crs_objective_result_summary_qualifying#:#Achievement Test: %1$s (%2$s required)###29 07 2022 new variable +crs#:#crs_objective_result_details#:#« Show Details +crs#:#crs_objective_result_summary_initial#:#Placement Test: %1$s (%2$s required) +crs#:#crs_objective_result_summary_qualifying#:#Achievement Test: %1$s (%2$s required) crs#:#crs_objective_saved_sorting#:#Ordinamento salvato. crs#:#crs_objective_self_assessment#:#Test iniziale crs#:#crs_objective_status#:#Stato obiettivo -crs#:#crs_objective_status_configure#:#Configure Learning Objective Oriented Course -crs#:#crs_objective_status_itest#:#Configure Initial Test -crs#:#crs_objective_status_materials#:#Create New Course Materials -crs#:#crs_objective_status_materials_info#:#The course is currently empty. Add course materials that can be assigned to learning objectives.###26 08 2024 new variable +crs#:#crs_objective_status_configure#:#Configurare il corso orientato all'apprendimento degli obiettivi +crs#:#crs_objective_status_itest#:#Configura test iniziale +crs#:#crs_objective_status_materials#:#Crea nuovi materiali del corso +crs#:#crs_objective_status_materials_info#:#The course is currently empty. Add course materials that can be assigned to learning objectives.###31 03 2023 new variable crs#:#crs_objective_status_objective_creation#:#Crea obiettivo dell’apprendimento crs#:#crs_objective_status_objectives#:#Configura obiettivi di apprendimento -crs#:#crs_objective_status_qtest#:#Configure Qualifying Test +crs#:#crs_objective_status_qtest#:#Configura test di qualificazione crs#:#crs_objective_status_settings#:#Impostazioni corso -crs#:#crs_objective_tbl_col_final_tsts#:#Abschlusstests +crs#:#crs_objective_tbl_col_final_tsts#:#Test Finali crs#:#crs_objective_wiz_final#:#Domande del test finale crs#:#crs_objective_wiz_final_info#:#Assegnazione delle domande finali del test. crs#:#crs_objective_wiz_final_limit#:#Limiti per il test finale @@ -7809,38 +7810,38 @@ crs#:#crs_objectives_reset_sure#:#Hai deciso di eliminare tutti i risultati di q crs#:#crs_objectives_reseted#:#Risultati eliminati. crs#:#crs_open#:#Apri corso crs#:#crs_other_resources#:#Altre risorse -crs#:#crs_page_type_lobj#:#Learning Objective Page###29 07 2022 new variable +crs#:#crs_page_type_lobj#:#Pagina Obiettivo di apprendimento crs#:#crs_passed#:#Superato crs#:#crs_passed_status_manual_by#:#Manuale da crs#:#crs_passed_status_system#:#Sistema crs#:#crs_password_not_valid#:#La tua password non è valida crs#:#crs_password_required#:#La procedura di registrazione richiede una password. crs#:#crs_pdf#:#PDF -crs#:#crs_period#:#Course Period -crs#:#crs_period_end_mail_placeholder#:#Period End###07 02 2020 new variable -crs#:#crs_period_info#:#Start to end date of the course -crs#:#crs_period_start_mail_placeholder#:#Period Start###07 02 2020 new variable +crs#:#crs_period#:#Periodo del corso +crs#:#crs_period_end_mail_placeholder#:#Period End +crs#:#crs_period_info#:#Inizia alla fine del corso +crs#:#crs_period_start_mail_placeholder#:#Period Start crs#:#crs_presentation_type#:#Tipo di presentazione crs#:#crs_print_list#:#Stampa elenco -crs#:#crs_ref_delete_confirmation_info#:#Would you like to remove the following members from this course? If these members are to be removed from courses linked into this course, please activate the respective checkboxes.###07 02 2020 new variable -crs#:#crs_ref_member_update#:#Neue Mitglieder hinzufügen###07 02 2020 new variable -crs#:#crs_ref_member_update_info#:#Alle neuen Mitglieder des übergeordneten Kurses werden automatisch in den Kurs, auf den dieser Kurs-Link verweist, eingetragen.###07 02 2020 new variable -crs#:#crs_ref_missing_access#:#Die Option kann nicht ausgewählt werden, da Sie nicht die Berechtigung "Mitglieder verwalten" für beide Kurse besitzen.###07 02 2020 new variable -crs#:#crs_ref_missing_parent_crs#:#Die Option kann nicht ausgewählt werden, da dieser Kurs-Link keinen übergeordneten Kurs besitzt.###07 02 2020 new variable +crs#:#crs_ref_delete_confirmation_info#:#Would you like to remove the following members from this course? If these members are to be removed from courses linked into this course, please activate the respective checkboxes. +crs#:#crs_ref_member_update#:#Neue Mitglieder hinzufügen +crs#:#crs_ref_member_update_info#:#Alle neuen Mitglieder des übergeordneten Kurses werden automatisch in den Kurs, auf den dieser Kurs-Link verweist, eingetragen. +crs#:#crs_ref_missing_access#:#Die Option kann nicht ausgewählt werden, da Sie nicht die Berechtigung "Mitglieder verwalten" für beide Kurse besitzen. +crs#:#crs_ref_missing_parent_crs#:#Die Option kann nicht ausgewählt werden, da dieser Kurs-Link keinen übergeordneten Kurs besitzt. crs#:#crs_reg#:#impostazioni di registrazione -crs#:#crs_reg_code#:#Registration Code -crs#:#crs_reg_code_enabled_info#:#If enabled, an automatic registration is possible using a particular registration link. -crs#:#crs_reg_code_link#:#Registration Link +crs#:#crs_reg_code#:#Codice di registrazione +crs#:#crs_reg_code_enabled_info#:#Se abilitato, è possibile una registrazione automatica utilizzando un collegamento di registrazione particolare. +crs#:#crs_reg_code_link#:#Link di registrazione crs#:#crs_reg_max_info#:#Definisci il numero massimo di utenti che può essere assegnato a questo corso crs#:#crs_reg_no_selfreg#:#Nessuna iscrizione automatica crs#:#crs_reg_password_info#:#Gli utenti devono digitare questa password quando si uniscono al corso. -crs#:#crs_reg_selfreg#:#Self-Enrolment###26 08 2024 new variable +crs#:#crs_reg_selfreg#:#Self-Enrolment###30 04 2024 new variable crs#:#crs_reg_subject#:#Messaggio crs#:#crs_reg_until#:#Scadenza registrazione -crs#:#crs_reg_user_already_subscribed#:#Ti sei gi& +crs#:#crs_reg_user_already_subscribed#:#Hai già richiesto l'iscrizione a questo corso crs#:#crs_registration#:#Registarazione al corso crs#:#crs_registration_confirmation_info#:#Gli utenti interessati possono inviare una richiesta/un messaggio all’amministratore del corso. -crs#:#crs_registration_deactivated#:#Scegli questa opzione se vuoi disabilitare la registrazione. Nessun utente potr& +crs#:#crs_registration_deactivated#:#Solo gli amministratori del corso possono aggiungere utenti al corso. crs#:#crs_registration_limited#:#Registrazione limitata nel tempo crs#:#crs_registration_limited_info#:#I membri possono registrarsi solo per questo corso durante un determinato periodo di tempo. crs#:#crs_registration_period#:#Periodo @@ -7852,8 +7853,8 @@ crs#:#crs_role_status#:#Ruolo/Stato crs#:#crs_search_users#:#Cerca Utenti crs#:#crs_select_archive_language#:#Per favore scegli una lingua per l'archivio crs#:#crs_select_one_archive#:#Per favore scegli un archivio -crs#:#crs_select_starter#:#Scegli l& -crs#:#crs_settings#:#ProprieImpostazionit& +crs#:#crs_select_starter#:#Seleziona Avvia oggetto +crs#:#crs_settings#:#Impostazioni del corso crs#:#crs_settings_saved#:#Impostazioni salvate crs#:#crs_shorten_breadcrumb#:#Breadcrumb crs#:#crs_show_all_obj#:#Espandi tutto @@ -7875,17 +7876,17 @@ crs#:#crs_starters_already_assigned#:#Questo oggetto è già stato assegnato crs#:#crs_status#:#Stato crs#:#crs_status_changed#:#Stato corso crs#:#crs_status_changed_body#:#Il tuo stato nel corso "%s" è stato modificato. -crs#:#crs_status_determination#:#Determination +crs#:#crs_status_determination#:#Determinazione crs#:#crs_status_determination_lp#:#Attraverso il progresso dell'apprendimento -crs#:#crs_status_determination_lp_info#:#When the learning progress changes to "Completed", the course status "Passed" will be set automatically. Tutors still can overwrite the status manually. -crs#:#crs_status_determination_manual#:#Independent of Learning Progress -crs#:#crs_status_determination_sync#:#Sync passed status with learning progress of all members now +crs#:#crs_status_determination_lp_info#:#Quando l'avanzamento dell'apprendimento cambia in "Completato", lo stato del corso "Passato" verrà impostato automaticamente. I tutor possono comunque sovrascrivere lo stato manualmente. +crs#:#crs_status_determination_manual#:#Indipendente dal progresso dell'apprendimento +crs#:#crs_status_determination_sync#:#Sincronizza lo stato passato con i progressi di apprendimento di tutti i membri ora crs#:#crs_structure#:#Struttura del corso crs#:#crs_subject_course_group_notification#:#Mail giornaliera per %s crs#:#crs_subscribe_member#:#La tua registrazione per il corso "%s" crs#:#crs_subscribe_member_body#:#siamo lieti di confermare la tua registrazione al corso "%s". crs#:#crs_subscribe_wl#:#La tua registrazione per il corso "%s". -crs#:#crs_subscribe_wl_body#:#Sei stato assegnato alla lista di attesa per il corso "%s".\nTi e' stata assegnata la posizione %s nella lista.\n\n Riceverai un messaggio dall'amministratore del corso quando la tua richiesta sarà stata approvata o respinta. +crs#:#crs_subscribe_wl_body#:#Sei stato assegnato alla lista di attesa per il corso "%s". Ti e' stata assegnata la posizione %s nella lista. Riceverai un messaggio dall'amministratore del corso quando la tua richiesta sarà stata approvata o respinta. crs#:#crs_subscriber#:#Iscritto crs#:#crs_subscribers_deleted#:#Iscritti eliminati crs#:#crs_subscription#:#Iscrizione @@ -7895,73 +7896,73 @@ crs#:#crs_subscription_max_members_short#:#Numero di iscritti crs#:#crs_subscription_max_members_short_info#:#È possibile impostare il numero minimo rispettivamente massimo di membri. Può essere impostata una lista di attesta. crs#:#crs_subscription_min_members#:#Numero minimo crs#:#crs_subscription_min_members_err#:#Il numero minimo non può essere maggiore del numero massimo di partecipanti. -crs#:#crs_subscription_min_members_info#:#See cron job "Cancellation Limit". +crs#:#crs_subscription_min_members_info#:#Vedi cron job "Limite cancellazione". crs#:#crs_subscription_options_confirmation#:#Iscrizione richista crs#:#crs_subscription_options_direct#:#Iscrizione diretta crs#:#crs_subscription_options_password#:#Iscrizione con password del corso crs#:#crs_subscription_successful#:#Sei stato iscritto a questo corso crs#:#crs_sure_delete_selected_archives#:#Sei sicuro di voler eliminare gli archivi selezionati crs#:#crs_syllabus#:#Sommario -crs#:#crs_sys_default#:#System Default +crs#:#crs_sys_default#:#Default del sistema crs#:#crs_table_start_objects#:#Oggetti di partenza -crs#:#crs_target_group#:#Target Group###07 02 2020 new variable -crs#:#crs_tile_and_objective_view_not_supported#:#You cannot activate both "Tile Presentation" and "Learning Objectives Presentation" at the same time.###07 02 2020 new variable -crs#:#crs_tile_and_session_limit_not_supported#:#You cannot activate both "Tile Presentation" and "Session Limitation" at the same time.###07 02 2020 new variable -crs#:#crs_timing_err_start_end#:#The end date must be greater than or equals the start date.###29 07 2022 new variable -crs#:#crs_timings_activate_optional#:#Optional mode for course timings -crs#:#crs_timings_activate_optional_own#:#Optional mode for my course timings +crs#:#crs_target_group#:#Target Group +crs#:#crs_tile_and_objective_view_not_supported#:#Non è possibile attivare contemporaneamente "Presentazione affiancata" e "Presentazione degli obiettivi di apprendimento". +crs#:#crs_tile_and_session_limit_not_supported#:#Non è possibile attivare contemporaneamente "Presentazione tessera" e "Limitazione sessione". +crs#:#crs_timing_err_start_end#:#The end date must be greater than or equals the start date. +crs#:#crs_timings_activate_optional#:#Modalità opzionale per gli orari dei corsi +crs#:#crs_timings_activate_optional_own#:#Modalità opzionale per i tempi del mio corso crs#:#crs_timings_availability_enabled#:#Temporaneamente disponibile crs#:#crs_timings_changeable#:#Time Target modificabile crs#:#crs_timings_changed#:#Temporizzazioni modificate -crs#:#crs_timings_days_after_subsription#:#Day(s) after course subscription +crs#:#crs_timings_days_after_subsription#:#Giorno/i dopo l'abbonamento al corso crs#:#crs_timings_disabled#:#Temporizzazioni disabilitate crs#:#crs_timings_disabled_info#:#Scegli questa opzione per disattivare la temporizzazione crs#:#crs_timings_early_begin#:#Avvio anticipato -crs#:#crs_timings_edit_personal#:#Edit Personal Timings###07 02 2020 new variable +crs#:#crs_timings_edit_personal#:#Modifica i tempi personali crs#:#crs_timings_end#:#Fine tempo crs#:#crs_timings_from_until#:#(Da/a) crs#:#crs_timings_in_days#:#(In giorni) crs#:#crs_timings_info_active#:#(Attivo) crs#:#crs_timings_not_changed#:#Temporizzazioni non modificate -crs#:#crs_timings_optional_checked#:#Optional mode was activated for this user -crs#:#crs_timings_optional_off#:#Optional mode is not active. -crs#:#crs_timings_optional_on#:#Optional mode is active. -crs#:#crs_timings_optional_on_and_passed#:#Optional mode is active and cannot be changed because user is passed. -crs#:#crs_timings_optional_unchecked#:#Optional mode was deactivated for this user +crs#:#crs_timings_optional_checked#:#La modalità opzionale è stata attivata per questo utente +crs#:#crs_timings_optional_off#:#La modalità opzionale non è attiva. +crs#:#crs_timings_optional_on#:#La modalità opzionale è attiva. +crs#:#crs_timings_optional_on_and_passed#:#La modalità opzionale è attiva e non può essere modificata perché l'utente è passato. +crs#:#crs_timings_optional_unchecked#:#La modalità opzionale è stata disattivata per questo utente crs#:#crs_timings_planed_info#:#Tempo di editing definito crs#:#crs_timings_planed_start#:#Definito crs#:#crs_timings_presetting#:#Time Target abilitato crs#:#crs_timings_short_active#:#Attivato -crs#:#crs_timings_short_active_tt#:#Activate Timings +crs#:#crs_timings_short_active_tt#:#Attiva i tempi crs#:#crs_timings_short_changeable#:#Modificabile -crs#:#crs_timings_short_end#:#End Date###07 02 2020 new variable +crs#:#crs_timings_short_end#:#Data di fine crs#:#crs_timings_short_limit_start_end#:#Modificabile -crs#:#crs_timings_short_limit_start_end_tt#:#Latest end -crs#:#crs_timings_short_limit_start_end_tt_rel#:#Latest end in days after course subscription +crs#:#crs_timings_short_limit_start_end_tt#:#Ultima fine +crs#:#crs_timings_short_limit_start_end_tt_rel#:#Ultima scadenza dopo l'iscrizione al corso crs#:#crs_timings_short_start_end#:#Inizio/fine suggeriti -crs#:#crs_timings_short_start_end_rel#:#Suggested Start (in days)###07 02 2020 new variable -crs#:#crs_timings_short_start_end_tt#:#Suggested start -crs#:#crs_timings_short_start_end_tt_rel#:#Suggested start after course subscription -crs#:#crs_timings_start#:#Starting Time +crs#:#crs_timings_short_start_end_rel#:#Inizio suggerito (in giorni) +crs#:#crs_timings_short_start_end_tt#:#Inizio suggerito +crs#:#crs_timings_short_start_end_tt_rel#:#Inizio suggerito dopo l'abbonamento al corso +crs#:#crs_timings_start#:#Tempo di partenza crs#:#crs_timings_start_end_info#:#(Inizio/fine) crs#:#crs_timings_sug_begin#:#Inizio suggerito crs#:#crs_timings_sug_end#:#Fine suggerita crs#:#crs_timings_suggested_info#:#Tempo di editing suggerito crs#:#crs_timings_time_frame#:#Lasso di tempo -crs#:#crs_timings_time_frame_tt#:#Time frame in days +crs#:#crs_timings_time_frame_tt#:#Intervallo di tempo in giorni crs#:#crs_timings_update_error#:#Le tue impostazioni non sono valide, verifica i tempi per i seguenti materiali -crs#:#crs_timings_warning_timing_exists#:#Timings are configured for this object. If you active the availability settings, these timing settings will be reseted. +crs#:#crs_timings_warning_timing_exists#:#I tempi sono configurati per questo oggetto. Se attivi le impostazioni di disponibilità, queste impostazioni di temporizzazione verranno ripristinate. crs#:#crs_to#:#A: crs#:#crs_tutor#:#Tutor crs#:#crs_tutors#:#Tutor crs#:#crs_unblocked#:#Accesso libero -crs#:#crs_unblocked_member#:#Stato in coso "%s" +crs#:#crs_unblocked_member#:#Accesso concesso nel corso "%s" crs#:#crs_unblocked_member_body#:#La tua iscrizione al corso "%s" stata ripristinata crs#:#crs_unlimited#:#Senza limite crs#:#crs_unsubscribe_member#:#La tua cancellazione come membre dal corso "%s" -crs#:#crs_unsubscribe_member_body#:#we confirm your cancellation of membership in course "%s". We hope that you find an opportunity to participate in another course. +crs#:#crs_unsubscribe_member_body#:#confermiamo la tua cancellazione dell'iscrizione al corso "%s". Speriamo che tu abbia l'opportunità di partecipare ad un altro corso. crs#:#crs_unsubscribe_member_explanation#:#Ricevi questo messaggio perché hai cancellato la registrazione dal corso menzionato sopra. -crs#:#crs_unsubscribe_sure#:#Vuoi annullare l& +crs#:#crs_unsubscribe_sure#:#Sei sicuro di voler annullare l'iscrizione a questo corso? crs#:#crs_unsubscribed_from_crs#:#Sei iscritto a questo corso. crs#:#crs_update_subscr_request#:#Aggiorna la tua richiesta per diventare membro crs#:#crs_user_agreement#:#Tipi di dati rilasciati @@ -7973,23 +7974,23 @@ crs#:#crs_users_removed_from_list#:#Gli utenti selezionati sono stati tolti dall crs#:#crs_usr_agreement#:#Accordo con l’utente crs#:#crs_view_info_objective#:#Questo modo di presentazione si usa per la presentazione degli obiettivi formativi. crs#:#crs_view_info_timing#:#Modo di temporizzazione per la presentazione. -crs#:#crs_view_info_timing_absolute#:#Start and end date will be set absolute.###07 02 2020 new variable -crs#:#crs_view_info_timing_relative#:#Start and end date will be set relative to the subscription date.###07 02 2020 new variable +crs#:#crs_view_info_timing_absolute#:#La data di inizio e fine verrà impostata in modo assoluto. +crs#:#crs_view_info_timing_relative#:#La data di inizio e fine verrà impostata in relazione alla data di iscrizione. crs#:#crs_view_mode#:#Presentazione del corso crs#:#crs_view_objective#:#Visualizzazione obiettivi formativi crs#:#crs_view_timing#:#Visualizzazione temporizzazioni -crs#:#crs_view_timing_absolute#:#Absolute Dates###07 02 2020 new variable -crs#:#crs_view_timing_relative#:#Relative Dates###07 02 2020 new variable -crs#:#crs_view_timings#:#Timings View Type###07 02 2020 new variable -crs#:#crs_visibility#:#Visibility###26 08 2024 new variable +crs#:#crs_view_timing_absolute#:#Data assoluta +crs#:#crs_view_timing_relative#:#Data relativa +crs#:#crs_view_timings#:#Tipo di visualizzazione degli orari +crs#:#crs_visibility#:#Visibility###24 11 2022 new variable crs#:#crs_visibility_limitless#:#Visibile (senza limiti) crs#:#crs_visibility_until#:#Visibile (da ... a ...) crs#:#crs_visibility_until_info#:#Il corso sarà visibile ai suoi membri in un determinato periodo di tempo. -crs#:#crs_visibility_unvisible#:#The course is not visible.###26 08 2024 new variable -crs#:#crs_wait_info#:#Se selezionato ed il numero di utenti & +crs#:#crs_visibility_unvisible#:#The course is not visible.###24 11 2022 new variable +crs#:#crs_wait_info#:#Se viene superato il numero massimo di utenti, le nuove registrazioni verranno inserite in una lista di attesa. crs#:#crs_waiting_list#:#Lista di attesa crs#:#crs_waiting_list_autofill#:#Con riempimento automatico -crs#:#crs_waiting_list_autofill_info#:#Participants are recruited from the waiting list automatically on cancellations. +crs#:#crs_waiting_list_autofill_info#:#I partecipanti vengono reclutati automaticamente dalla lista di attesa in caso di cancellazione. crs#:#crs_waiting_list_no_autofill#:#Senza riempimento automatico crs#:#crs_warn_no_max_set_on_waiting_list#:#Il numero massimo di partecipanti al corso è stato superato. Puoi agiungere la tua richiesta alla lista di attesa. Riceverai un massaggio dall'amministratore se la tua richiesta è stata accettata o rifiutarta crs#:#crs_warn_wl_set_on_waiting_list#:#Alcuni utenti sono già inseriti in lista di attesa. Puoi aggiungere la tua richiesta alla lista. Riceverai un messaggio dall'amministratore se la tua richiesta è stata acettata o respinta. @@ -8015,7 +8016,7 @@ crs#:#event_file#:#File crs#:#event_files#:#Files assegnati crs#:#event_fulltime_info#:#Nessun tempo specificato crs#:#event_lecturer#:#Nome -crs#:#event_list_registered_only#:#Only Registered Members +crs#:#event_list_registered_only#:#Solo membri registrati crs#:#event_location#:#Posizione crs#:#event_materials#:#Materiali della sessione crs#:#event_not_participated#:#Non partecipato @@ -8046,133 +8047,133 @@ crs#:#event_user_selection_include_waiting_list#:#Includi tutti gli utenti nella crs#:#events#:#Sessioni crs#:#export_members#:#Esporta partecipanti crs#:#grouping_change_assignment#:#Cambio assegnazione -crs#:#grp_grp_already_assigned#:#You are already member of this grouping of groups.###07 02 2020 new variable -crs#:#grp_not_all_users_assigned_msg#:#%s user(s) assigned as group member(s), %s user(s) were already in the group.###26 08 2024 new variable +crs#:#grp_grp_already_assigned#:#Sei già membro di questo raggruppamento di gruppi. +crs#:#grp_not_all_users_assigned_msg#:#%s user(s) assigned as group member(s), %s user(s) were already in the group.###14 02 2024 new variable crs#:#mem_cron_min_members_intro#:#I gruppi e i corsi seguenti non soddisfano (ancora)il numero minimo di membri. crs#:#mem_cron_min_members_reason#:#Hai ricevuto questa mail perché hai attivato la notifica nella scheda dei membri. crs#:#mem_cron_min_members_subject#:#Corso/Gruppo: Controllo numero minimo dei membri crs#:#mem_cron_min_members_task#:#Si prega di informare i partecipanti se non si svolgerà il corso a causa dei pochi partecipanti. Regola le impostazioni seguenti. -crs#:#obj_count_members#:#Number of members###26 08 2024 new variable +crs#:#obj_count_members#:#Number of members###31 03 2023 new variable crs#:#sess_attendance_list#:#Lista delle presenze crs#:#sess_gen_attendance_list#:#Genera lista di presenze -crs#:#sess_join_info#:#Please click the Join button if you want to take part at this session -crs#:#sess_limit#:#Limit Number of Sessions +crs#:#sess_join_info#:#Fare clic sul pulsante Partecipa se si desidera prendere parte a questa sessione +crs#:#sess_limit#:#Numero limite di sessioni crs#:#sess_limit_info#:#Scegli questa opzione per limitare il numero di sessioni visibili. crs#:#sess_num_next#:#Numero di sessioni seguenti crs#:#sess_num_prev#:#Numero di sessioni passate crs#:#sess_print_attendance_list#:#Lista di attesa stampa crs#:#sess_signature#:#Firma crs#:#subscription_times_not_valid#:#Il periodo di registrazione non è valido. -crs#:#timing_accept_table#:#Tempi: Note +crs#:#timing_accept_table#:#Tempi di apprendimento: Note crs#:#timing_accepted#:#Accettato crs#:#timing_not_accepted#:#Non accettato crs#:#timing_remark#:#Commento crs#:#timing_tutor_visible#:#il Remark è visibile ai tutor -crs#:#timing_user_accept#:#Accetta la temporizzazione -crs#:#timing_user_accepted#:#Temporizzazioni accettate +crs#:#timing_user_accept#:#Accetta il piano di apprendimento consigliato +crs#:#timing_user_accepted#:#Piano di apprendimento accettato crs#:#timings#:#Temporizzazioni -crs#:#timings_cron_reminder_exceeded_start#:#Der Bearbeitungszeitraum ist überfällig bei:###07 02 2020 new variable -crs#:#timings_cron_reminder_exceeded_subject#:#Sie haben den Bearbeitungszeitraum überschritten###07 02 2020 new variable -crs#:#timings_cron_reminder_freshly_start#:#Der Bearbeitungszeitraum hat begonnen bei:###07 02 2020 new variable -crs#:#timings_cron_reminder_started_subject#:#Der Bearbeitungszeitraum hat begonnen###07 02 2020 new variable +crs#:#timings_cron_reminder_exceeded_start#:#Il periodo di elaborazione è scaduto per: +crs#:#timings_cron_reminder_exceeded_subject#:#Hai superato il periodo di elaborazione +crs#:#timings_cron_reminder_freshly_start#:#Il periodo di elaborazione è iniziato alle: +crs#:#timings_cron_reminder_started_subject#:#Il periodo di elaborazione è iniziato crs#:#timings_edit#:#Edita Tempi -crs#:#timings_of#:#Temporizzazioni Off -crs#:#timings_reminder_notifications#:#Course Timings Notifications###07 02 2020 new variable -crs#:#timings_reminder_notifications_info#:#If enabled, course participants will be notified about exceeded timing materials.###07 02 2020 new variable -crs#:#timings_timings#:#Temporizzazioni -crs#:#timings_timings_off#:#Disattivare l'amministrazione dei tempi -crs#:#timings_timings_on#:#Attivare l'amministrazione dei tempi -crs#:#timings_usr_edit#:#Edita Tempi +crs#:#timings_of#:#Pianificazione dell'apprendimento da +crs#:#timings_reminder_notifications#:#Notifiche sugli orari dei corsi +crs#:#timings_reminder_notifications_info#:#Se abilitato, i partecipanti al corso verranno informati del superamento dei materiali per la pianificazione dell'apprendimento. +crs#:#timings_timings#:#Pianificazione dell'apprendimento +crs#:#timings_timings_off#:#Disattivare l'amministrazione dei tempi di apprendimento +crs#:#timings_timings_on#:#Attivare l'amministrazione dei tempi di apprendimento +crs#:#timings_usr_edit#:#Edita Tempi di apprendimento crs#:#tutor_email#:#Mail crs#:#tutor_name#:#Nome crs#:#tutor_phone#:#Telefono -crs#:#tutorial_support_block_byline#:#The 'Tutorial Support' block is displayed in the 'Contents' tab. The user selected as "Contact Person" in the "Members" Tab is shown.###28 10 2024 new variable -crs#:#tutorial_support_block_contact#:#Contact###28 10 2024 new variable -crs#:#tutorial_support_block_send_mail#:#send email###28 10 2024 new variable -crs#:#tutorial_support_block_setting_desc#:#The 'Tutorial Support' block is displayed in the 'Contents' tab.###28 10 2024 new variable -crs#:#tutorial_support_block_setting_title#:#Tutorial Support Block###28 10 2024 new variable -crs#:#tutorial_support_block_title#:#Contact Person###28 10 2024 new variable +crs#:#tutorial_support_block_byline#:#The 'Tutorial Support' block is displayed in the 'Contents' tab. The user selected as "Contact Person" in the "Members" Tab is shown.###28 11 2025 new variable +crs#:#tutorial_support_block_contact#:#Contact###28 11 2025 new variable +crs#:#tutorial_support_block_send_mail#:#send email###28 11 2025 new variable +crs#:#tutorial_support_block_setting_desc#:#The 'Tutorial Support' block is displayed in the 'Contents' tab.###28 11 2025 new variable +crs#:#tutorial_support_block_setting_title#:#Tutorial Support Block###28 11 2025 new variable +crs#:#tutorial_support_block_title#:#Contact Person###28 11 2025 new variable crs#:#user_fields#:#Campi utente crsv#:#crsv_create#:#Crea certificato del corso crsv#:#crsv_create_info#:#Seleziona un corso terminato per generare un certificato per questo -dash#:#dash_activation#:#activation###07 02 2020 new variable -dash#:#dash_added_to_favs#:#Recommendation has been added to personal favourites.###07 02 2020 new variable -dash#:#dash_avail_presentation#:#Available Presentations###07 02 2020 new variable -dash#:#dash_avail_sortation#:#Available Sortations###07 02 2020 new variable -dash#:#dash_click_here#:#Click here###07 02 2020 new variable -dash#:#dash_co_delete#:#Delete Dashboard style###28 10 2024 new variable -dash#:#dash_co_lang#:#Dashboard style by languages###28 10 2024 new variable -dash#:#dash_customization#:#Customize Dashboard Content###28 10 2024 new variable -dash#:#dash_dashboard#:#Dashboard###07 02 2020 new variable -dash#:#dash_default_presentation#:#Default Presentation###07 02 2020 new variable -dash#:#dash_default_sortation#:#Default Sortation###07 02 2020 new variable -dash#:#dash_enable_cal#:#Calendar###07 02 2020 new variable -dash#:#dash_enable_favourites#:#Favourites###07 02 2020 new variable -dash#:#dash_enable_learning_sequences#:#Learning Sequences###26 08 2024 new variable -dash#:#dash_enable_mail#:#Mail###07 02 2020 new variable -dash#:#dash_enable_memberships#:#My Courses and Groups###07 02 2020 new variable -dash#:#dash_enable_news#:#News###07 02 2020 new variable -dash#:#dash_enable_recommended_content#:#Recommended Content###26 08 2024 new variable -dash#:#dash_enable_study_programmes#:#Study Programmes###26 08 2024 new variable -dash#:#dash_enable_task#:#Tasks###07 02 2020 new variable -dash#:#dash_favourites#:#Favourites###07 02 2020 new variable -dash#:#dash_info_sure_remove_from_favs#:#Are you sure you want to remove the following objects from your Favourites?###07 02 2020 new variable -dash#:#dash_item_removed#:#Recommendation has been removed from the list.###07 02 2020 new variable -dash#:#dash_learning_sequences#:#My Learning Sequences###26 08 2024 new variable -dash#:#dash_list#:#List###07 02 2020 new variable -dash#:#dash_main_panel#:#Main Panel###07 02 2020 new variable -dash#:#dash_make_favourite#:#Add to Favourites###07 02 2020 new variable -dash#:#dash_manual_new_item_pos#:#Position of New Objects###29 10 2025 new variable -dash#:#dash_manual_new_item_pos_bot#:#Bottom###29 10 2025 new variable -dash#:#dash_manual_new_item_pos_top#:#Top###29 10 2025 new variable -dash#:#dash_manual_sorting_title#:#Manual Sorting of Favorites###29 10 2025 new variable -dash#:#dash_member_main_alt#:#Courses and groups can also be configured as a separate main menu entry.###07 02 2020 new variable -dash#:#dash_memberships#:#My Courses and Groups###07 02 2020 new variable -dash#:#dash_page_edit_info#:#The content of this page is displayed to all users on their dashboard. The contents of the various blocks of the dashboard are presented below.###28 10 2024 new variable -dash#:#dash_presentation#:#Presentation###07 02 2020 new variable -dash#:#dash_recommended_content#:#Recommended Content###26 08 2024 new variable -dash#:#dash_remove_from_list#:#Remove from List###07 02 2020 new variable -dash#:#dash_side_panel#:#Side Panel###07 02 2020 new variable -dash#:#dash_sort_by_alphabet#:#Sort by Alphabet###29 07 2022 new variable -dash#:#dash_sort_by_location#:#Sort by Location###07 02 2020 new variable -dash#:#dash_sort_by_manually#:#Manually###29 10 2025 new variable -dash#:#dash_sort_by_start_date#:#Sort by Start Date###07 02 2020 new variable -dash#:#dash_sort_by_type#:#Sort by Type###07 02 2020 new variable -dash#:#dash_sort_option_bot#:#Bottom###29 10 2025 new variable -dash#:#dash_sort_option_top#:#Top###29 10 2025 new variable -dash#:#dash_sort_options#:#Postition of new Objects###29 10 2025 new variable -dash#:#dash_sortation#:#Sortation###07 02 2020 new variable -dash#:#dash_study_programmes#:#My Study Programmes###26 08 2024 new variable -dash#:#dash_tile#:#Tile###07 02 2020 new variable -dash#:#dash_view_courses_groups#:#Section ‘My Courses and Groups’###07 02 2020 new variable -dash#:#dash_view_favourites#:#Section ‘Favourites’###07 02 2020 new variable -dash#:#favourites_disabled_info#:#Add to favorites is deactivated. You may change this inside the repository settings.###26 08 2024 new variable -dash#:#memberships_disabled_info#:#Subscriptions are deactivated. You may change this inside the course settings.###26 08 2024 new variable -dash#:#topitem_block#:#Block###26 08 2024 new variable -dateplaner#:#Fr_long#:#Venerdi +dash#:#dash_activation#:#Attivazione +dash#:#dash_added_to_favs#:#Il contenuto è stato aggiunto ai tuoi preferiti. +dash#:#dash_avail_presentation#:#Presentazioni disponibili +dash#:#dash_avail_sortation#:#Filtri disponibili +dash#:#dash_click_here#:#Cliccare qui +dash#:#dash_co_delete#:#Delete Dashboard style###28 11 2025 new variable +dash#:#dash_co_lang#:#Dashboard style by languages###28 11 2025 new variable +dash#:#dash_customization#:#Customize Dashboard Content###28 11 2025 new variable +dash#:#dash_dashboard#:#Dashboard +dash#:#dash_default_presentation#:#Presentazione predefinita +dash#:#dash_default_sortation#:#Filtri predefiniti +dash#:#dash_enable_cal#:#Calendario +dash#:#dash_enable_favourites#:#Preferiti +dash#:#dash_enable_learning_sequences#:#Learning Sequences###30 04 2024 new variable +dash#:#dash_enable_mail#:#E-mail +dash#:#dash_enable_memberships#:#I miei corsi e gruppi +dash#:#dash_enable_news#:#Novità +dash#:#dash_enable_recommended_content#:#Recommended Content###30 04 2024 new variable +dash#:#dash_enable_study_programmes#:#Study Programmes###30 04 2024 new variable +dash#:#dash_enable_task#:#Da fare +dash#:#dash_favourites#:#Preferiti +dash#:#dash_info_sure_remove_from_favs#:#Conferma di voler rimuovere i seguenti oggetti dai Suoi preferiti? +dash#:#dash_item_removed#:#Il contenuto è stato rimosso dalla lista. +dash#:#dash_learning_sequences#:#My Learning Sequences###30 04 2024 new variable +dash#:#dash_list#:#Lista +dash#:#dash_main_panel#:#Pannello principale +dash#:#dash_make_favourite#:#Aggiungi ai preferiti +dash#:#dash_manual_new_item_pos#:#Position of New Objects###28 11 2025 new variable +dash#:#dash_manual_new_item_pos_bot#:#Bottom###28 11 2025 new variable +dash#:#dash_manual_new_item_pos_top#:#Top###28 11 2025 new variable +dash#:#dash_manual_sorting_title#:#Manual Sorting of Favorites###28 11 2025 new variable +dash#:#dash_member_main_alt#:#La visione delle proprie iscrizioni può essere integrata direttamente nel menù principale. +dash#:#dash_memberships#:#I miei corsi e gruppi +dash#:#dash_page_edit_info#:#The content of this page is displayed to all users on their dashboard. The contents of the various blocks of the dashboard are presented below.###28 11 2025 new variable +dash#:#dash_presentation#:#Presentazione +dash#:#dash_recommended_content#:#Recommended Content###30 04 2024 new variable +dash#:#dash_remove_from_list#:#Rimuovi dalla lista +dash#:#dash_side_panel#:#Pannello laterale +dash#:#dash_sort_by_alphabet#:#Sort by Alphabet###31 03 2023 new variable +dash#:#dash_sort_by_location#:#Filtra per luogo +dash#:#dash_sort_by_manually#:#Manually###28 11 2025 new variable +dash#:#dash_sort_by_start_date#:#Filtra per data d'inizio +dash#:#dash_sort_by_type#:#Filtra per tipo +dash#:#dash_sort_option_bot#:#Bottom###28 11 2025 new variable +dash#:#dash_sort_option_top#:#Top###28 11 2025 new variable +dash#:#dash_sort_options#:#Postition of new Objects###28 11 2025 new variable +dash#:#dash_sortation#:#Filtraggio +dash#:#dash_study_programmes#:#My Study Programmes###30 04 2024 new variable +dash#:#dash_tile#:#Piastrelle +dash#:#dash_view_courses_groups#:#Blocco ‘I miei corsi e gruppi' +dash#:#dash_view_favourites#:#Blocco 'Preferiti' +dash#:#favourites_disabled_info#:#Add to favorites is deactivated. You may change this inside the repository settings.###28 07 2023 new variable +dash#:#memberships_disabled_info#:#Subscriptions are deactivated. You may change this inside the course settings.###28 07 2023 new variable +dash#:#topitem_block#:#Block###30 04 2024 new variable +dateplaner#:#Fr_long#:#Venerdì dateplaner#:#Fr_short#:#Ve -dateplaner#:#Mo_long#:#Lunedi +dateplaner#:#Mo_long#:#Lunedì dateplaner#:#Mo_short#:#Lu dateplaner#:#Sa_long#:#Sabato dateplaner#:#Sa_short#:#Sa dateplaner#:#Su_long#:#Domenica dateplaner#:#Su_short#:#Do dateplaner#:#Text#:#Testo -dateplaner#:#Th_long#:#Giovedi +dateplaner#:#Th_long#:#Giovedì dateplaner#:#Th_short#:#Gio -dateplaner#:#Tu_long#:#Martedi +dateplaner#:#Tu_long#:#Martedì dateplaner#:#Tu_short#:#Ma -dateplaner#:#We_long#:#Mercoledi +dateplaner#:#We_long#:#Mercoledì dateplaner#:#We_short#:#Me dateplaner#:#add_appointment#:#Aggiungi appuntamento -dateplaner#:#app_consultation_hours#:#Orari di consulenza +dateplaner#:#app_consultation_hours#:#Gestione degli orari di ricevimento dateplaner#:#app_day#:#Vista giornaliera dateplaner#:#app_month#:#Vista mensile dateplaner#:#app_week#:#Vista settimanale -dateplaner#:#back_to_crs#:#Go to Course -dateplaner#:#back_to_grp#:#Go to Group -dateplaner#:#back_to_pd#:#Back to Personal Desktop -dateplaner#:#btn_ical#:#iCal###07 02 2020 new variable +dateplaner#:#back_to_crs#:#Vai al corso +dateplaner#:#back_to_grp#:#Vai al gruppo +dateplaner#:#back_to_pd#:#indietro +dateplaner#:#btn_ical#:#iCal dateplaner#:#c_date#:#Crea evento dateplaner#:#cal_accepted#:#Accettato dateplaner#:#cal_add_appointment#:#Crea un appuntamento @@ -8181,48 +8182,48 @@ dateplaner#:#cal_add_category#:#Crea un nuovo calendario dateplaner#:#cal_add_milestone#:#Aggiungi Milestone dateplaner#:#cal_adm_notification_info#:#Scegli questa opzione per inviare email opzionali ai partecipanti del gruppo/corso riguardo alla modifica di appuntamenti. dateplaner#:#cal_adm_notification_user_info#:#Scegliere questa opzione per inviare notifiche mail opzionali agli utenti selezionati. -dateplaner#:#cal_agenda#:#Programma +dateplaner#:#cal_agenda#:#Agenda dateplaner#:#cal_all_day#:#Tutto il giorno -dateplaner#:#cal_app_info#:#Informazioni appuntamento -dateplaner#:#cal_app_other_materials_num#:#View other materials###29 07 2022 new variable -dateplaner#:#cal_appointment_notifications#:#Notification###29 10 2025 new variable +dateplaner#:#cal_app_info#:#Informazioni sull'appuntamento +dateplaner#:#cal_app_other_materials_num#:#Vedi ulteriori materiali +dateplaner#:#cal_appointment_notifications#:#Notification###28 11 2025 new variable dateplaner#:#cal_appointments#:#Appuntamento/i dateplaner#:#cal_apps#:#Numero di appuntamenti dateplaner#:#cal_assigned_appointments#:#Appuntamenti assegnati dateplaner#:#cal_back_to_cal#:#Torna al Calendario dateplaner#:#cal_back_to_list#:#Torna alla Lista dateplaner#:#cal_back_to_search#:#Torna alla Ricerca -dateplaner#:#cal_batch_file_downloads#:#Batch file download in calendario -dateplaner#:#cal_batch_file_downloads_info#:#Pulsante attivazione per scaricare tutti i file relativi alla visualizzazione calendario/appuntamento corrente. -dateplaner#:#cal_belongs_to#:#Belongs to Calendar###29 10 2025 new variable +dateplaner#:#cal_batch_file_downloads#:#Elaborare gruppi di file dal calendario +dateplaner#:#cal_batch_file_downloads_info#:#Pulsante di attivazione per scaricare tutti i file relativi alla visualizzazione calendario/appuntamento corrente. +dateplaner#:#cal_belongs_to#:#Belongs to Calendar###28 11 2025 new variable dateplaner#:#cal_book_free#:#disponibile dateplaner#:#cal_booked_out#:#prenotato dateplaner#:#cal_booking_cancellation_body#:#il tuo appuntamento con %s è stato cancellato. dateplaner#:#cal_booking_cancellation_subject#:#L'appuntamento "%s" e' stato cancellato -dateplaner#:#cal_booking_cancellation_user#:#Questa e' una copia dalla email originale dell'utente: -dateplaner#:#cal_booking_confirmation_body#:#il tuo appuntamento con %s è stato prenotato. +dateplaner#:#cal_booking_cancellation_user#:#Questa e' una copia dalla mail originale dell'utente: +dateplaner#:#cal_booking_confirmation_body#:#Il tuo appuntamento con %s è stato fissato. dateplaner#:#cal_booking_confirmation_link#:#Link all'appuntamento -dateplaner#:#cal_booking_confirmation_subject#:#L'appuntamento "%s" e' stato prenotato -dateplaner#:#cal_booking_confirmation_user#:#Questa e' una copia dalla email originale dell'utente: -dateplaner#:#cal_booking_confirmed#:#L'appuntamento e' stato prenotato con successo. -dateplaner#:#cal_booking_failed_info#:#Questo appuntamento è prenotato. Si prega di scegliere un altro appuntamento. -dateplaner#:#cal_booking_manager_confirmation_body#:#%s has booked an appointment with %s.###29 10 2025 new variable -dateplaner#:#cal_booking_owner_confirmation_body#:#%s has booked an appointment with you.###29 10 2025 new variable +dateplaner#:#cal_booking_confirmation_subject#:#L'appuntamento "%s" e' stato fissato +dateplaner#:#cal_booking_confirmation_user#:#Questa e' una copia dalla mail originale all'utente: +dateplaner#:#cal_booking_confirmed#:#L'appuntamento e' stato fissato con successo. +dateplaner#:#cal_booking_failed_info#:#Questo appuntamento è occupato. Si prega di scegliere un altro appuntamento. +dateplaner#:#cal_booking_manager_confirmation_body#:#%s has booked an appointment with %s.###28 11 2025 new variable +dateplaner#:#cal_booking_owner_confirmation_body#:#%s has booked an appointment with you.###28 11 2025 new variable dateplaner#:#cal_cache#:#Cache del Calendario dateplaner#:#cal_cache_disabled#:#Disabilitato dateplaner#:#cal_cache_enabled#:#Abilitato -dateplaner#:#cal_cache_info#:#Se viene attivato il calendario degli appuntamenti sul personal Desktop e nel repository sono calcolati solo ogni x-minuti. +dateplaner#:#cal_cache_info#:#Se viene attivato il calendario degli appuntamenti sul personal Desktop e nel repository, verrà aggiornato solo ogni x-minuti. dateplaner#:#cal_cache_settings#:#Cache dateplaner#:#cal_cal_deleted#:#I calendari sono stati eliminati dateplaner#:#cal_cal_details#:#Dettagli del calendario -dateplaner#:#cal_cal_shared_with#:#Il calendario utenti è condiviso con +dateplaner#:#cal_cal_shared_with#:#Il calendario è condiviso con questi utenti dateplaner#:#cal_cal_sync_success#:#Calendario sincronizzato con successo dateplaner#:#cal_cal_synchronize#:#Sincronizza calendario dateplaner#:#cal_cal_type#:#Tipo di calendario dateplaner#:#cal_calendar_color#:#Colore -dateplaner#:#cal_calendar_download#:#Calendar Download +dateplaner#:#cal_calendar_download#:#Download Calendario dateplaner#:#cal_calendar_name#:#Nome del calendario -dateplaner#:#cal_calendar_subscription_modal_title#:#Calendar Subscription +dateplaner#:#cal_calendar_subscription_modal_title#:#Iscrizione al calendario dateplaner#:#cal_cancel_booking#:#Cancella la prenotazione dateplaner#:#cal_cancel_booking_confirmed#:#La prenotazione è stata cancellata con successo. dateplaner#:#cal_cancel_booking_info#:#Per cortesia conferma la cancellazione di questo appuntamento. @@ -8230,115 +8231,115 @@ dateplaner#:#cal_category_selection#:#Selezione del calendario dateplaner#:#cal_cg_notification#:#Notifica corso/gruppo dateplaner#:#cal_cg_registration_info#:#Offri agli utenti la possibilità di registrarsi agli appuntamenti di gruppo o di corso. dateplaner#:#cal_cg_registrations#:#Registrazione per Appuntamenti di Corso o di Gruppo -dateplaner#:#cal_ch_add_grp#:#Crea nuovo gruppo di ora di consultazione -dateplaner#:#cal_ch_add_sequence#:#Aggiungi una sequenza di ore per la consulenza +dateplaner#:#cal_ch_add_grp#:#Crea un nuovo gruppo di ricevimenti +dateplaner#:#cal_ch_add_sequence#:#Aggiungi una sequenza di ricevimenti dateplaner#:#cal_ch_app_bookings#:#Prenotazioni -dateplaner#:#cal_ch_app_grp#:#Gruppi di ore di consultazione -dateplaner#:#cal_ch_app_list#:#Appuntamenti delle ore di consultazione +dateplaner#:#cal_ch_app_grp#:#Gruppi di ricevimento +dateplaner#:#cal_ch_app_list#:#Appuntamenti di ricevimento dateplaner#:#cal_ch_assign_participants#:#Assegna utenti dateplaner#:#cal_ch_assigned_apps#:#Numero di appuntamenti -dateplaner#:#cal_ch_book#:#Prenota un appuntamento +dateplaner#:#cal_ch_book#:#Prenota un orario di ricevimento dateplaner#:#cal_ch_booking#:#Prenotazione Risorse -dateplaner#:#cal_ch_booking_col_comments#:#Comments###28 10 2024 new variable -dateplaner#:#cal_ch_booking_comment#:#Comment:###28 10 2024 new variable -dateplaner#:#cal_ch_booking_link#:#Link to Consultation Hours:###28 10 2024 new variable -dateplaner#:#cal_ch_booking_message_tbl#:#Commento -dateplaner#:#cal_ch_booking_num_available#:#Available Slots###28 10 2024 new variable -dateplaner#:#cal_ch_booking_num_free_short#:#%s free###28 10 2024 new variable -dateplaner#:#cal_ch_booking_other_participants#:#Other Participants:###28 10 2024 new variable +dateplaner#:#cal_ch_booking_col_comments#:#Comments###28 11 2025 new variable +dateplaner#:#cal_ch_booking_comment#:#Comment:###28 11 2025 new variable +dateplaner#:#cal_ch_booking_link#:#Link to Consultation Hours:###28 11 2025 new variable +dateplaner#:#cal_ch_booking_message_tbl#:#Commento sulla registrazione +dateplaner#:#cal_ch_booking_num_available#:#Available Slots###28 11 2025 new variable +dateplaner#:#cal_ch_booking_num_free_short#:#%s free###28 11 2025 new variable +dateplaner#:#cal_ch_booking_other_participants#:#Other Participants:###28 11 2025 new variable dateplaner#:#cal_ch_booking_owner#:#Proprietario -dateplaner#:#cal_ch_booking_participants#:#Participants###28 10 2024 new variable +dateplaner#:#cal_ch_booking_participants#:#Participants###28 11 2025 new variable dateplaner#:#cal_ch_booking_reminder_body#:#il tuo appuntamento con "%s" inizierà presto. dateplaner#:#cal_ch_booking_reminder_subject#:#Promemoria per "%s" -dateplaner#:#cal_ch_booking_start#:#Start###28 10 2024 new variable -dateplaner#:#cal_ch_booking_your_comment#:#Your comment:###28 10 2024 new variable +dateplaner#:#cal_ch_booking_start#:#Start###28 11 2025 new variable +dateplaner#:#cal_ch_booking_your_comment#:#Your comment:###28 11 2025 new variable dateplaner#:#cal_ch_bookings#:#Partecipanti dateplaner#:#cal_ch_bookings_tbl#:#Appuntamenti prenotati dateplaner#:#cal_ch_cancel_booking#:#Cancella la prenotazione -dateplaner#:#cal_ch_cancel_booking_info#:#"Cancel Booking" sends notification mails to the users. If you do not want to notify the users, choose the option "Delete Booking". -dateplaner#:#cal_ch_cancel_booking_sure#:#Vuoi davvero annullare le seguenti prenotazioni? -dateplaner#:#cal_ch_canceled_bookings#:#Le prenotazioni selezionate sono state eliminate. -dateplaner#:#cal_ch_ch#:#Orari di consulenza -dateplaner#:#cal_ch_cron_reminder#:#Invia promemoria orario di consultazione +dateplaner#:#cal_ch_cancel_booking_info#:#All'annullamento di una prenotazione sarà inviata un'e-mail di notifica agli utenti. Se non si desidera avvisare gli utenti, selezionare l'opzione "Elimina prenotazione/i. +dateplaner#:#cal_ch_cancel_booking_sure#:#Vuoi davvero annullare i seguenti appuntamenti? +dateplaner#:#cal_ch_canceled_bookings#:#Le prenotazioni selezionate sono state annullate. +dateplaner#:#cal_ch_ch#:#Orari di ricevimento +dateplaner#:#cal_ch_cron_reminder#:#Invia promemoria orario di ricevimento dateplaner#:#cal_ch_cron_reminder_days#:#Numero dei giorni -dateplaner#:#cal_ch_cron_reminder_info#:#Se consentito, verranno inviate mail di notifica sui prossimi eventi delle ore di consultazione. -dateplaner#:#cal_ch_current_booking_comment#:#Comment###28 10 2024 new variable +dateplaner#:#cal_ch_cron_reminder_info#:#Se attivato, gli utenti che hanno prenotato un appuntamento riceveranno un'e-mail di promemoria sui loro prossimi appuntamenti. Si prega di specificare con quanti giorni di anticipo devono essere inviati i solleciti. +dateplaner#:#cal_ch_current_booking_comment#:#Comment###28 11 2025 new variable dateplaner#:#cal_ch_current_bookings#:#Prenotazioni attuali dateplaner#:#cal_ch_deadline#:#Ultima registrazione dateplaner#:#cal_ch_deadline_info#:#Per cortesia specifica il numero di ore fino a quando la registrazione rimarrà bloccata. -dateplaner#:#cal_ch_delete_app_booking_info#:#I seguenti appuntamenti hanno prenotazioni esistenti. Se elimini questi appuntamenti, gli utenti non riceveranno la notifica. +dateplaner#:#cal_ch_delete_app_booking_info#:#I seguenti appuntamenti hanno già prenotazioni esistenti. Se elimini questi appuntamenti, gli utenti non riceveranno la notifica. dateplaner#:#cal_ch_delete_booking#:#Elimina prenotazione -dateplaner#:#cal_ch_delete_booking_info#:#"Delete Booking" will not notify users by email. If you want to notify users, please choose the action "Cancele Booking". +dateplaner#:#cal_ch_delete_booking_info#:#All'eliminazione delle prenotazioni non verranno avvisati gli utenti via e-mail. Se si desidera avvisare gli utenti, selezionare l'opzione "Annulla prenotazione". dateplaner#:#cal_ch_delete_booking_sure#:#Vuoi davvero eliminare le seguenti prenotazioni? dateplaner#:#cal_ch_deleted_bookings#:#Le prenotazioni selezionate sono state annullate. -dateplaner#:#cal_ch_duration#:#Duration +dateplaner#:#cal_ch_duration#:#Durata di un Appuntamento dateplaner#:#cal_ch_export_apps#:#Appuntamenti prenotati -dateplaner#:#cal_ch_field_ch#:#Appuntamenti delle ore di consultazione -dateplaner#:#cal_ch_form#:#Abilita orari per la consulenza -dateplaner#:#cal_ch_form_header#:#Orari di consulenza -dateplaner#:#cal_ch_form_info#:#Questa opzione abilita la gestione della consulenza oraria personale nel calendario. -dateplaner#:#cal_ch_free_of_available#:#%s of %s###28 10 2024 new variable -dateplaner#:#cal_ch_grp_add_tbl#:#Crea nuovo gruppo di ora di consultazione -dateplaner#:#cal_ch_grp_delete_sure#:#Vuoi davvero eliminare i seguenti gruppi di ore di consultazione? -dateplaner#:#cal_ch_grp_header#:#Gruppo di ora di consultazione -dateplaner#:#cal_ch_grp_multiple#:#Prenotazioni per l’utente -dateplaner#:#cal_ch_grp_multiple_info#:#Puoi indicare il numero massimo di ore di prenotazioni per l’utente. +dateplaner#:#cal_ch_field_ch#:#Appuntamenti dei ricevimenti +dateplaner#:#cal_ch_form#:#Abilita orari per il ricevimento +dateplaner#:#cal_ch_form_header#:#Orari di ricevimento +dateplaner#:#cal_ch_form_info#:#Questa opzione abilita la gestione dei ricevimenti personali nel calendario. +dateplaner#:#cal_ch_free_of_available#:#%s of %s###28 11 2025 new variable +dateplaner#:#cal_ch_grp_add_tbl#:#Crea nuovo gruppo di ricevimento +dateplaner#:#cal_ch_grp_delete_sure#:#Vuoi davvero eliminare i seguenti gruppi di ricevimento? +dateplaner#:#cal_ch_grp_header#:#Gruppo di ricevimento +dateplaner#:#cal_ch_grp_multiple#:#Prenotazioni per utente +dateplaner#:#cal_ch_grp_multiple_info#:#Puoi indicare il numero massimo di ore di prenotazioni per l’utente per questo gruppo. dateplaner#:#cal_ch_grp_no_assignment#:#-- Non assegnato -- -dateplaner#:#cal_ch_grp_selection#:#Assegnazione ai gruppi di ore di consultazione -dateplaner#:#cal_ch_grp_update_tbl#:#Modifica Gruppo di ora di consultazione -dateplaner#:#cal_ch_grps#:#Gruppi di ore di consultazione -dateplaner#:#cal_ch_manager#:#Gestione delle ore di consultazione -dateplaner#:#cal_ch_manager_info#:#Login degli utenti che gestiranno gli orari di consulenza. -dateplaner#:#cal_ch_max_books#:#Prenotazioni per l’utente -dateplaner#:#cal_ch_minutes#:#Duration (min)###28 10 2024 new variable +dateplaner#:#cal_ch_grp_selection#:#Assegnazione ai gruppi di ricevimento +dateplaner#:#cal_ch_grp_update_tbl#:#Modifica Gruppo di ricevimento +dateplaner#:#cal_ch_grps#:#Gruppi di ricevimento +dateplaner#:#cal_ch_manager#:#Gestione delle ore di ricevimento +dateplaner#:#cal_ch_manager_info#:#Login degli utenti che gestiranno gli orari di ricevimento. +dateplaner#:#cal_ch_max_books#:#Prenotazioni per utente +dateplaner#:#cal_ch_minutes#:#Duration (min)###28 11 2025 new variable dateplaner#:#cal_ch_multi_edit_sequence#:#Modifica appuntamenti multipli -dateplaner#:#cal_ch_num_appointments#:#Numero di Appuntamenti -dateplaner#:#cal_ch_num_appointments_info#:#Si prega di definire il numero di ulteriori appuntamenti. +dateplaner#:#cal_ch_num_appointments#:#Numero di Appuntamenti per ricevimento +dateplaner#:#cal_ch_num_appointments_info#:#Si prega di definire il numero di appuntamenti in sequenza dateplaner#:#cal_ch_num_bookings#:#Prenotare un appuntamento -dateplaner#:#cal_ch_personal_book#:#Personal Booking -dateplaner#:#cal_ch_personal_ch#:#Orari di consulenza personali +dateplaner#:#cal_ch_personal_book#:#Prenotazione personale +dateplaner#:#cal_ch_personal_ch#:#Orari di ricevimento personali dateplaner#:#cal_ch_reject_booking#:#Annulla prenotazione -dateplaner#:#cal_ch_send_mail#:#Send Mail###28 10 2024 new variable -dateplaner#:#cal_ch_target_object#:#Oggetto repository -dateplaner#:#cal_ch_target_object_info#:#Restrict appointments to given repository object. +dateplaner#:#cal_ch_send_mail#:#Send Mail###28 11 2025 new variable +dateplaner#:#cal_ch_target_object#:#Oggetto nel repository +dateplaner#:#cal_ch_target_object_info#:#Gli orari di ricevimento sono visualizzati in corsi e gruppi in un piccolo blocco sulla destra. Per limitarlo a determinati corsi o gruppi, inserire il Ref-ID dell'oggetto in questione. Puoi trovarlo nell'URL dell'oggetto in questione. Inserisci più Ref-ID separati da virgole. Indipendentemente da ciò, gli orari d'ufficio possono apparire anche nei tuoi e-portfolio. dateplaner#:#cal_ch_unknown_repository_object#:#L’id di riferimento dell’oggetto repository non è valido. dateplaner#:#cal_ch_unknown_user#:#Il login inserito non corrisponde a nessun utente. dateplaner#:#cal_ch_user_assignment_failed_info#:#I seguenti utenti non possono essere assegnati agli appuntamenti, poiché il numero massimo di prenotazioni viene superato. -dateplaner#:#cal_ch_vm_period_all#:#All###28 10 2024 new variable -dateplaner#:#cal_ch_vm_period_past#:#Past###28 10 2024 new variable -dateplaner#:#cal_ch_vm_period_upcoming#:#Upcoming###28 10 2024 new variable -dateplaner#:#cal_ch_vm_status_all#:#All###28 10 2024 new variable -dateplaner#:#cal_ch_vm_status_booked#:#Booked Slots###28 10 2024 new variable -dateplaner#:#cal_ch_vm_status_open#:#Open Slots###28 10 2024 new variable -dateplaner#:#cal_change_calendar_view#:#Change Calendar View###29 07 2022 new variable +dateplaner#:#cal_ch_vm_period_all#:#All###28 11 2025 new variable +dateplaner#:#cal_ch_vm_period_past#:#Past###28 11 2025 new variable +dateplaner#:#cal_ch_vm_period_upcoming#:#Upcoming###28 11 2025 new variable +dateplaner#:#cal_ch_vm_status_all#:#All###28 11 2025 new variable +dateplaner#:#cal_ch_vm_status_booked#:#Booked Slots###28 11 2025 new variable +dateplaner#:#cal_ch_vm_status_open#:#Open Slots###28 11 2025 new variable +dateplaner#:#cal_change_calendar_view#:#Change Calendar View###09 03 2022 new variable dateplaner#:#cal_change_responsible_users#:#Modifica utenti responsabili -dateplaner#:#cal_changed_events_header#:#Appuntamenti modificati -dateplaner#:#cal_confirm_booking#:#Conferma la prenotazione -dateplaner#:#cal_confirm_booking_info#:#Per cortesia conferma la prenotazione di questo appuntamento. +dateplaner#:#cal_changed_events_header#:#Appuntamenti modificati o nuovi +dateplaner#:#cal_confirm_booking#:#Conferma la prenotazione del ricevimento +dateplaner#:#cal_confirm_booking_info#:#Per cortesia conferma la prenotazione di questo ricevimento. dateplaner#:#cal_confirm_reg_info#:#Per cortesia conferma la registrazione di questo appuntamento. -dateplaner#:#cal_confirm_unreg_info#:#Per cortesia conferma la cancellazione di questa registrazione. -dateplaner#:#cal_consultation_hours_for#:#Orari di consulenza per -dateplaner#:#cal_consultation_hours_for_user#:#Ore di consultazione per %1 +dateplaner#:#cal_confirm_unreg_info#:#Per cortesia conferma la cancellazione di questo appuntamento. +dateplaner#:#cal_consultation_hours_for#:#Orari di ricevimento per +dateplaner#:#cal_consultation_hours_for_user#:#Ricevimento per %1 dateplaner#:#cal_contained_in#:#Contenuto in dateplaner#:#cal_create#:#Crea dateplaner#:#cal_created_appointment#:#Un nuovo appuntamento e' stato creato. -dateplaner#:#cal_created_milestone#:#Aggiunto milestone. -dateplaner#:#cal_created_milestone_resp_q#:#Aggiunto milestone. Per cortesia seleziona gli utenti che devono rispettare tale milestone. -dateplaner#:#cal_cronjob_remote_description#:#If activated, appointments of the calendar type "Web calendar" are automatically synchronised after the specified time interval.###26 08 2024 new variable -dateplaner#:#cal_cronjob_remote_title#:#External Calendar Synchronisation###26 08 2024 new variable +dateplaner#:#cal_created_milestone#:#Aggiunta milestone. +dateplaner#:#cal_created_milestone_resp_q#:#Aggiunta milestone. Per cortesia seleziona gli utenti che devono rispettare tale milestone. +dateplaner#:#cal_cronjob_remote_description#:#If activated, appointments of the calendar type "Web calendar" are automatically synchronised after the specified time interval.###13 09 2023 new variable +dateplaner#:#cal_cronjob_remote_title#:#External Calendar Synchronisation###13 09 2023 new variable dateplaner#:#cal_crs_info#:#Informazione corso dateplaner#:#cal_crs_new_notification_body#:#un nuovo appuntamento è stato creato nel corso "%s". dateplaner#:#cal_crs_new_notification_sub#:#Nuovo appuntamento nel Corso "%s" -dateplaner#:#cal_crs_notification_body#:#e' stato cambiato un appuntamento del corso "%s". +dateplaner#:#cal_crs_notification_body#:#e' stato cambiato un appuntamento nel corso "%s". dateplaner#:#cal_crs_notification_sub#:#Appuntamento modificato nel Corso "%s" -dateplaner#:#cal_crs_timing_end#:#Suggested End###07 02 2020 new variable -dateplaner#:#cal_crs_timing_start#:#Suggested Start###07 02 2020 new variable +dateplaner#:#cal_crs_timing_end#:#Fine suggerita +dateplaner#:#cal_crs_timing_start#:#Inizio Suggerito dateplaner#:#cal_daily#:#Giornaliero -dateplaner#:#cal_date_and_time#:#Date and Time###29 10 2025 new variable +dateplaner#:#cal_date_and_time#:#Date and Time###28 11 2025 new variable dateplaner#:#cal_date_booked#:#prenotato dateplaner#:#cal_date_format_info#:#Per cortesia scegli un formato per l'input delle date. -dateplaner#:#cal_date_time_title#:#Date and Time###29 10 2025 new variable -dateplaner#:#cal_day_end#:#Giorno di fine +dateplaner#:#cal_date_time_title#:#Date and Time###28 11 2025 new variable +dateplaner#:#cal_day_end#:#Fine giorno dateplaner#:#cal_day_of_month#:#Giorno del mese dateplaner#:#cal_day_overview#:#Vista giornaliera dateplaner#:#cal_day_s#:#Giorno/i @@ -8347,51 +8348,51 @@ dateplaner#:#cal_day_start#:#Giorno iniziale dateplaner#:#cal_day_week_view#:#Impostazioni per la vista Giorno/Settimana dateplaner#:#cal_deadline#:#Scadenza dateplaner#:#cal_declined#:#Declinato -dateplaner#:#cal_def_date_format#:#Formato di default per le date +dateplaner#:#cal_def_date_format#:#Formato predefinito per le date dateplaner#:#cal_def_date_format_info#:#Per cortesia scegli un formato per l'input delle date. dateplaner#:#cal_def_day_end#:#Fine giorno predefinito dateplaner#:#cal_def_day_start#:#Inizio giorno predefinito dateplaner#:#cal_def_show_weeks#:#Mostra settimane predefinite -dateplaner#:#cal_def_time_format#:#Format della data di default +dateplaner#:#cal_def_time_format#:#Format della data predefinito dateplaner#:#cal_def_time_format_info#:#Per favore scegli un formato per il tempo. -dateplaner#:#cal_def_timezone#:#Intervallo di tempo di default -dateplaner#:#cal_def_timezone_info#:#Per favore scegli un periodo di tempo di default per la presentazione degli appuntamenti. -dateplaner#:#cal_def_view#:#Default Calendar View###29 07 2022 new variable -dateplaner#:#cal_def_week_start#:#Start settimana +dateplaner#:#cal_def_timezone#:#Intervallo di tempo predefinito +dateplaner#:#cal_def_timezone_info#:#Per favore scegli un periodo di tempo predefinito per la presentazione degli appuntamenti. +dateplaner#:#cal_def_view#:#Vista del calendario predefinita +dateplaner#:#cal_def_week_start#:#Inizio settimana dateplaner#:#cal_default_calendar#:#Appuntamenti personali -dateplaner#:#cal_default_settings#:#Default settings###29 07 2022 new variable +dateplaner#:#cal_default_settings#:#Impostazioni predefinite dateplaner#:#cal_del_app_sure#:#Vuoi veramente cancellare l'appuntamento selezionato? dateplaner#:#cal_del_cal_sure#:#Vuoi veramente cancellare il calendario selezionato? dateplaner#:#cal_delete_app_sure#:#Vuoi veramente cancellare l'appuntamento seguente? -dateplaner#:#cal_delete_booking_info#:#Please confirm the deletion of this booking###28 10 2024 new variable +dateplaner#:#cal_delete_booking_info#:#Please confirm the deletion of this booking###28 11 2025 new variable dateplaner#:#cal_delete_cal#:#Elimina calendario -dateplaner#:#cal_delete_recurrence_rule#:#Delete Series of Appoinments###29 07 2022 new variable -dateplaner#:#cal_delete_recurrences#:#Cancella tutte le ricorrenze +dateplaner#:#cal_delete_recurrence_rule#:#Cancella la serie di appuntamenti +dateplaner#:#cal_delete_recurrences#:#Cancella tutte le ripetizioni dateplaner#:#cal_delete_single#:#Cancella solo questo appuntamento dateplaner#:#cal_deleted_app#:#L'appuntamento selezionato è stato cancellato. -dateplaner#:#cal_details#:#Dettagli sugli appuntamenti +dateplaner#:#cal_details#:#Dettagli sull'appuntamento dateplaner#:#cal_down_no_files#:#Niente da scaricare, gli eventi elencati non contengono file. dateplaner#:#cal_download_all_files#:#Scarica tutti i file dateplaner#:#cal_download_files#:#Scarica file -dateplaner#:#cal_download_files_started#:#Download of calendar files has started. +dateplaner#:#cal_download_files_started#:#Il download dei file del calendario è iniziato dateplaner#:#cal_dstart_dend_warn#:#Per cortesia verifica i dati che hai inserito. L'inizio del giorno dovrebbe esser prima della fine del giorno. dateplaner#:#cal_duration#:#Durata -dateplaner#:#cal_duration_end#:#End###29 10 2025 new variable -dateplaner#:#cal_duration_start#:#Start###29 10 2025 new variable +dateplaner#:#cal_duration_end#:#End###28 11 2025 new variable +dateplaner#:#cal_duration_start#:#Start###28 11 2025 new variable dateplaner#:#cal_edit_appointment#:#Modifica l'appuntamento dateplaner#:#cal_edit_category#:#Modifica Calendario dateplaner#:#cal_edit_milestone#:#Modifica Milestone dateplaner#:#cal_edit_recurrences#:#Modifica tutti gli appuntamenti dateplaner#:#cal_edit_single#:#Modifica questo appuntamento -dateplaner#:#cal_edit_single_or_all_info#:#Do you want to edit only this appointment or all in its series?###26 08 2024 new variable +dateplaner#:#cal_edit_single_or_all_info#:#Do you want to edit only this appointment or all in its series?###28 11 2023 new variable dateplaner#:#cal_enable_group_milestones#:#Abilita Milestones dateplaner#:#cal_enable_group_milestones_desc#:#Questa opzione abilita i milestones nella pianificazione a calendario. -dateplaner#:#cal_err_invalid_notification_rcps#:#The list of notification recipients is not valid. Please choose only ILIAS user account names or valid email addresses. +dateplaner#:#cal_err_invalid_notification_rcps#:#L'elenco dei destinatari delle notifiche non è valido. Scegli solo nomi di account utente ILIAS o indirizzi e-mail validi. dateplaner#:#cal_every#:#Ogni: dateplaner#:#cal_exc_deadline#:#Scadenza -dateplaner#:#cal_exc_info#:#Informazioni assegnazione +dateplaner#:#cal_exc_info#:#Informazioni sull'esercitazione dateplaner#:#cal_exc_inst_files#:#File di istruzioni -dateplaner#:#cal_exc_open#:#Apri assegnazione +dateplaner#:#cal_exc_open#:#Apri esercitazione dateplaner#:#cal_exc_peer_review_deadline#:#Scadenza feedback dateplaner#:#cal_export_timezone#:#Fuso orario per l'esportazione del calendario dateplaner#:#cal_export_timezone_tz#:#Utilizza fuso orario ILIAS @@ -8400,80 +8401,80 @@ dateplaner#:#cal_fifth#:#Quinto dateplaner#:#cal_first#:#Primo dateplaner#:#cal_fourth#:#Quarto dateplaner#:#cal_fullday#:#Giorno/Ora -dateplaner#:#cal_fullday_title#:#Tutti i giorni +dateplaner#:#cal_fullday_title#:#Tutto il giorno dateplaner#:#cal_global_settings#:#Impostazioni globali dateplaner#:#cal_grp_curr_crs#:#Corso attuale -dateplaner#:#cal_grp_curr_crs_cons#:#Ore di consultazione +dateplaner#:#cal_grp_curr_crs_cons#:#Ricevimento dateplaner#:#cal_grp_curr_grp#:#Gruppo attuale -dateplaner#:#cal_grp_info#:#Informazioni gruppo +dateplaner#:#cal_grp_info#:#Informazioni del gruppo dateplaner#:#cal_grp_new_notification_body#:#un nuovo appuntamento è stato creato nel gruppo "%s". dateplaner#:#cal_grp_new_notification_sub#:#Nuovo appuntamento nel Gruppo "%s" dateplaner#:#cal_grp_notification_body#:#e' stato cambiato un appuntamento del gruppo "%s". dateplaner#:#cal_grp_notification_sub#:#Appuntamento modificato nel Gruppo "%s" -dateplaner#:#cal_grp_others#:#ALtro +dateplaner#:#cal_grp_others#:#Altro dateplaner#:#cal_grp_personal#:#Personale dateplaner#:#cal_ical_infoscreen#:#Sottoscrivere dateplaner#:#cal_ical_url#:#iCal-URL -dateplaner#:#cal_ical_url_google#:#iCal-URL for Google Calendar###26 08 2024 new variable +dateplaner#:#cal_ical_url_google#:#iCal-URL for Google Calendar###28 11 2023 new variable dateplaner#:#cal_import_appointments#:#Importa appuntamenti dateplaner#:#cal_import_file#:#Importa file dateplaner#:#cal_import_file_info#:#Scegli il file che contiene i tuoi appuntamenti sul calendario. dateplaner#:#cal_import_tbl#:#Importa appuntamenti -dateplaner#:#cal_imported_success#:#Appuntamenti %1$s importati. -dateplaner#:#cal_in#:#in +dateplaner#:#cal_imported_success#:#Sono stati importati %1$s appuntamenti +dateplaner#:#cal_in#:#nel dateplaner#:#cal_last#:#Ultimo dateplaner#:#cal_list#:#Lista -dateplaner#:#cal_mail_notification_body#:#sei stato invitato a un appuntamento. +dateplaner#:#cal_mail_notification_body#:#Sei stato invitato a un appuntamento. dateplaner#:#cal_mail_notification_subject#:#Invito appuntamento: "%s" -dateplaner#:#cal_manage#:#Gestione -dateplaner#:#cal_materials#:#Materials###29 07 2022 new variable -dateplaner#:#cal_milestone_settings#:#Traguardo +dateplaner#:#cal_manage#:#Gestione calendario +dateplaner#:#cal_materials#:#Materiali +dateplaner#:#cal_milestone_settings#:#Milestones dateplaner#:#cal_month_overview#:#Vista globale del mese dateplaner#:#cal_month_s#:#Mese/i dateplaner#:#cal_month_selection#:#Seleziona mese dateplaner#:#cal_monthly#:#Mensile -dateplaner#:#cal_monthly_by_date#:#Monthly by Date###29 10 2025 new variable -dateplaner#:#cal_monthly_by_day#:#Monthly by Day###29 10 2025 new variable +dateplaner#:#cal_monthly_by_date#:#Monthly by Date###28 11 2025 new variable +dateplaner#:#cal_monthly_by_day#:#Monthly by Day###28 11 2025 new variable dateplaner#:#cal_ms_details#:#Dettagli traguardo dateplaner#:#cal_ms_users_responsible#:#Utenti responsabili dateplaner#:#cal_new_app#:#Nuovo appuntamento -dateplaner#:#cal_new_ms#:#Nuoa Milestone +dateplaner#:#cal_new_ms#:#Nuova Milestone dateplaner#:#cal_no_ending#:#Nessun data di fine -dateplaner#:#cal_no_events_block#:#Es sind keine Termine für Sie vorhanden.###07 02 2020 new variable +dateplaner#:#cal_no_events_block#:#Non ci sono date disponibili per Lei. dateplaner#:#cal_no_events_info#:#Nessun evento trovato per il periodo di tempo selezionato. -dateplaner#:#cal_no_recurrence#:#Nessuna ricorrenza +dateplaner#:#cal_no_recurrence#:#Nessuna ripetizione dateplaner#:#cal_notification#:#Notifica E-mail dateplaner#:#cal_notification_crsgrp#:#Notifica per partecipanti corso/gruppo -dateplaner#:#cal_notification_info#:#Se abilitati, tutti gli appartenenti al corso/gruppo saranno notificati per email di questo appuntamento. +dateplaner#:#cal_notification_info#:#Se abilitati, tutti gli appartenenti al corso/gruppo verra' notificato per email questo appuntamento. dateplaner#:#cal_notification_users#:#Notifica per utenti selezionati -dateplaner#:#cal_on#:#Sul: -dateplaner#:#cal_on_the#:#Sul: +dateplaner#:#cal_on#:#Al: +dateplaner#:#cal_on_the#:#Al: dateplaner#:#cal_open_calendar#:#Apri calendario dateplaner#:#cal_origin#:#Origine dateplaner#:#cal_owner#:#Proprietario -dateplaner#:#cal_period#:#Period###26 08 2024 new variable -dateplaner#:#cal_rec_err_limit#:#Per favoreinserisci un numero valido di appuntamenti. -dateplaner#:#cal_recurrence_confirm_deletion#:#Please decide wether you want to delete single appointments or the complete series of appointments.###29 07 2022 new variable -dateplaner#:#cal_recurrence_count#:#Number of Appointments###29 10 2025 new variable -dateplaner#:#cal_recurrence_day_interval#:#Every x Day(s)###29 10 2025 new variable -dateplaner#:#cal_recurrence_end_date#:#End Date###29 10 2025 new variable -dateplaner#:#cal_recurrence_end_date_info#:#Last possible date for an appointment.###29 10 2025 new variable -dateplaner#:#cal_recurrence_month_interval#:#Every x Month(s)###29 10 2025 new variable -dateplaner#:#cal_recurrence_until#:#Recurrence End###29 10 2025 new variable -dateplaner#:#cal_recurrence_until_count#:#Fixed Number of Appointments###29 10 2025 new variable -dateplaner#:#cal_recurrence_until_end_date#:#Repeat Until End Date###29 10 2025 new variable -dateplaner#:#cal_recurrence_week_interval#:#Every x Week(s)###29 10 2025 new variable -dateplaner#:#cal_recurrence_year_interval#:#Every x Year(s)###29 10 2025 new variable +dateplaner#:#cal_period#:#Period###21 06 2023 new variable +dateplaner#:#cal_rec_err_limit#:#Per favore inserisci un numero valido di appuntamenti. +dateplaner#:#cal_recurrence_confirm_deletion#:#Selezionare se si desidera eliminare singoli appuntamenti o l'intera serie di appuntamenti. +dateplaner#:#cal_recurrence_count#:#Number of Appointments###28 11 2025 new variable +dateplaner#:#cal_recurrence_day_interval#:#Every x Day(s)###28 11 2025 new variable +dateplaner#:#cal_recurrence_end_date#:#End Date###28 11 2025 new variable +dateplaner#:#cal_recurrence_end_date_info#:#Last possible date for an appointment.###28 11 2025 new variable +dateplaner#:#cal_recurrence_month_interval#:#Every x Month(s)###28 11 2025 new variable +dateplaner#:#cal_recurrence_until#:#Recurrence End###28 11 2025 new variable +dateplaner#:#cal_recurrence_until_count#:#Fixed Number of Appointments###28 11 2025 new variable +dateplaner#:#cal_recurrence_until_end_date#:#Repeat Until End Date###28 11 2025 new variable +dateplaner#:#cal_recurrence_week_interval#:#Every x Week(s)###28 11 2025 new variable +dateplaner#:#cal_recurrence_year_interval#:#Every x Year(s)###28 11 2025 new variable dateplaner#:#cal_recurrences#:#Ripetizioni -dateplaner#:#cal_reg_register#:#Registra -dateplaner#:#cal_reg_registered#:#Sei stato registrato. +dateplaner#:#cal_reg_register#:#Accedi +dateplaner#:#cal_reg_registered#:#Sei stato registrato per questo appuntamento. dateplaner#:#cal_reg_registered_users#:#Utenti registrati dateplaner#:#cal_reg_unregister#:#Cancella la tua registrazione dateplaner#:#cal_reg_unregistered#:#Non sei stato registrato. dateplaner#:#cal_registrations#:#Registrazioni di appuntamenti -dateplaner#:#cal_remote_url#:#URL +dateplaner#:#cal_remote_url#:#URL del calendario dateplaner#:#cal_repeat_until#:#Ripeti finchè -dateplaner#:#cal_repo_obj#:#Oggetti repository +dateplaner#:#cal_repo_obj#:#Oggetti dell'archivio dateplaner#:#cal_responsible#:#Responsabile dateplaner#:#cal_save_responsible_users#:#Memorizza Utenti Responsabili dateplaner#:#cal_search#:#Termine di ricerca @@ -8481,18 +8482,18 @@ dateplaner#:#cal_search_info_share#:#Per favore inserisci il nome dell'utente/ru dateplaner#:#cal_second#:#Secondo dateplaner#:#cal_server_tz#:#Fuso orario del server dateplaner#:#cal_sess_info#:#Informazione di sessione -dateplaner#:#cal_setting_global_crs_act#:#Activation in Courses###29 07 2022 new variable -dateplaner#:#cal_setting_global_crs_act_info#:#If selected, the calendar is active in courses by default. In any case the calendar activation can be enabled/disabled in the course settings.###29 07 2022 new variable +dateplaner#:#cal_setting_global_crs_act#:#Sttivazione nei corsi +dateplaner#:#cal_setting_global_crs_act_info#:#Se selezionato, il calendario è attivo nei corsi per impostazione predefinita. In ogni caso l'attivazione del calendario può essere abilitata/disabilitata nelle impostazioni del corso. dateplaner#:#cal_setting_global_crs_vis#:#Mostra nei corsi dateplaner#:#cal_setting_global_crs_vis_info#:#Se consentito, il calendario viene mostrato nei corsi per impostazione predefinita. In ogni caso, la presentazione del calendario può essere consentita o meno nelle impostazioni del corso. -dateplaner#:#cal_setting_global_grp_act#:#Activation in Groups###29 07 2022 new variable -dateplaner#:#cal_setting_global_grp_act_info#:#If selected, the calendar is active in groups by default. In any case the calendar activation can be enabled/disabled in the group settings.###29 07 2022 new variable +dateplaner#:#cal_setting_global_grp_act#:#Attivazione nei gruppi +dateplaner#:#cal_setting_global_grp_act_info#:#Se selezionato, il calendario è attivo nei gruppi per impostazione predefinita. In ogni caso l'attivazione del calendario può essere abilitata/disabilitata nelle impostazioni del gruppo. dateplaner#:#cal_setting_global_grp_vis#:#Mostra nei gruppi dateplaner#:#cal_setting_global_grp_vis_info#:#Se consentito, il calendario viene mostrato nei gruppi per impostazione predefinita. In ogni caso, la presentazione del calendario può essere consentita o meno nelle impostazioni del gruppo. -dateplaner#:#cal_setting_global_vis_repos#:#Calendario repository +dateplaner#:#cal_setting_global_vis_repos#:#Calendario nel repository dateplaner#:#cal_share#:#Condividi calendario dateplaner#:#cal_share_accept#:#Accetta l'invito -dateplaner#:#cal_share_cal#:#Condividi calendario +dateplaner#:#cal_share_cal#:#Condividi calendario (lettura) dateplaner#:#cal_share_cal_editable#:#Condividi calendario (Lettura e scrittura) dateplaner#:#cal_share_decline#:#Declina l'invito dateplaner#:#cal_share_search_header#:#Condividi calendario @@ -8521,27 +8522,27 @@ dateplaner#:#cal_third#:#Terzo dateplaner#:#cal_time_format_info#:#Per favore scegli un formato per il tempo. dateplaner#:#cal_timezone_info#:#Per favore scegli una città uguale al tuo fuso orario dateplaner#:#cal_type_crs#:#Calendario dei corsi -dateplaner#:#cal_type_exc#:#Calendario esercizi +dateplaner#:#cal_type_exc#:#Calendario delle esercitazioni dateplaner#:#cal_type_grp#:#Calendario di gruppo -dateplaner#:#cal_type_info#:#Per favore scegli una tipologia di calendario. "Calendari pubblici" sono visibili per tutti gli utenti di ILIAS. +dateplaner#:#cal_type_info#:#Per favore scegli una tipologia di calendario. I "calendari pubblici" sono visibili per tutti gli utenti di ILIAS. dateplaner#:#cal_type_local#:#Calendario locale dateplaner#:#cal_type_personal#:#Calendario privato dateplaner#:#cal_type_remote#:#Calendario web dateplaner#:#cal_type_rl#:#Posizione del calendario dateplaner#:#cal_type_sess#:#Calendario delle sessioni dateplaner#:#cal_type_system#:#Calendario pubblico -dateplaner#:#cal_type_tals#:#Talks###26 08 2024 new variable +dateplaner#:#cal_type_tals#:#Talks###31 03 2023 new variable dateplaner#:#cal_unshare#:#Cancella la condivisione dateplaner#:#cal_unshare_cal#:#Stop Condivisione dateplaner#:#cal_unshared_selected_usr#:#Smetti di condividere il calendario con gli utenti selezionati. dateplaner#:#cal_upcoming_events_header#:#Prossimi Eventi dateplaner#:#cal_user_date_format#:#Formato di immissione della data dateplaner#:#cal_user_notification#:#Notifica utente -dateplaner#:#cal_user_notification_info#:#Selected users will be notified about this appointment by email. Please enter ILIAS user names or email addresses. +dateplaner#:#cal_user_notification_info#:#Gli utenti selezionati verranno informati di questo appuntamento via e-mail. Inserisci i nomi utente o gli indirizzi email di ILIAS. dateplaner#:#cal_user_settings#:#Impostazioni del calendario dateplaner#:#cal_user_time_format#:#Format di tempo dateplaner#:#cal_user_timezone#:#Intervallo di tempo -dateplaner#:#cal_usr_info#:#Appointment Information###07 02 2020 new variable +dateplaner#:#cal_usr_info#:#Informazioni sull'appuntamento dateplaner#:#cal_usr_show_weeks#:#Mostra colonna settimana dateplaner#:#cal_usr_show_weeks_info#:#Attiva la colonna settimane nel blocco laterale del calendario. dateplaner#:#cal_webcal_sync#:#Sincronizzazione calendario esterno @@ -8557,16 +8558,16 @@ dateplaner#:#cal_weekly#:#Settimanale dateplaner#:#cal_where#:#Posizione dateplaner#:#cal_year_s#:#Anno/i dateplaner#:#cal_yearly#:#Annualmente -dateplaner#:#cal_yearly_by_date#:#Yearly by Date###29 10 2025 new variable -dateplaner#:#cal_yearly_by_day#:#Yearly by Day###29 10 2025 new variable -dateplaner#:#consultation_hours_block_title#:#Consultation Hours###26 08 2024 new variable +dateplaner#:#cal_yearly_by_date#:#Yearly by Date###28 11 2025 new variable +dateplaner#:#cal_yearly_by_day#:#Yearly by Day###28 11 2025 new variable +dateplaner#:#consultation_hours_block_title#:#Consultation Hours###17 01 2024 new variable dateplaner#:#crs_cal_activation_end#:#Fino del corso dateplaner#:#crs_cal_activation_start#:#Inizio del corso dateplaner#:#crs_cal_end#:#Fine del corso dateplaner#:#crs_cal_reg_end#:#Fine della registrazione dateplaner#:#crs_cal_reg_start#:#Inizio della registrazione dateplaner#:#crs_cal_start#:#Inizio del corso -dateplaner#:#date_format#:#m/d/Y H:i (Mese/Giorno/Annoa4cifre Ore24:Minuti) +dateplaner#:#date_format#:#M/G/A O:min (Mese/Giorno/Annoa4cifre Ore24:Minuti) dateplaner#:#end_date#:#Fine data dateplaner#:#err_end_before_start#:#L'ora d'inizio dell'appuntamento non può essere precedente all'ora di fine. dateplaner#:#err_missing_title#:#Per favore inserisci il titolo all'appuntamento. @@ -8578,34 +8579,34 @@ dateplaner#:#grp_cal_start#:#Inizio del gruppo dateplaner#:#ical_export#:#Esportazione iCal dateplaner#:#keep#:#Tieni dateplaner#:#keyword#:#Parola chiave -dateplaner#:#more#:#Ancora +dateplaner#:#more#:#Altro dateplaner#:#r_14#:#Ogni 14 giorni dateplaner#:#r_4_weeks#:#Ogni 4 settimane -dateplaner#:#remote_pass_info#:#Please enter your account data if the access to the webcalendar ist protected. +dateplaner#:#remote_pass_info#:#Inserisci i dati del tuo account se l'accesso al webcalendar è protetto. dateplaner#:#to#:#a: dateplaner#:#today#:#Oggi dateplaner#:#week#:#Settimana dateplaner#:#wk_short#:#Settimana dateplaner#:#year#:#Anno -dcl#:#add_value#:#Add new value +dcl#:#add_value#:#Aggiungi nuovo valore dcl#:#dcl_activate_notification#:#Consenti notifica dcl#:#dcl_add#:#Crea raccolta dati dcl#:#dcl_add_new_field#:#Aggiungi nuovo campo -dcl#:#dcl_add_new_record#:#Add New Record +dcl#:#dcl_add_new_record#:#Aggiungi Nuova registrazione dcl#:#dcl_add_new_table#:#Aggiungi nuova tabella dcl#:#dcl_add_new_view#:#Aggiungi nuova visualizzazione -dcl#:#dcl_add_perm#:#Permission Add Entry -dcl#:#dcl_add_perm_desc#:#Benutzer können Einträge in dieser Tabelle erstellen. +dcl#:#dcl_add_perm#:#Autorizzazione Aggiungi voce +dcl#:#dcl_add_perm_desc#:#Gli utenti possono creare voci in questa tabella. dcl#:#dcl_all_entries#:#Tutte le voci dcl#:#dcl_any#:#Qualsiasi dcl#:#dcl_asc#:#Ordine ascendete (ASC) -dcl#:#dcl_boolean#:#Booleano -dcl#:#dcl_boolean_desc#:#Auswahlfeld für "zutreffend"/"nicht zutreffend" +dcl#:#dcl_boolean#:#Checkbox +dcl#:#dcl_boolean_desc#:#Campo di selezione per "applicabile"/"non applicabile" dcl#:#dcl_cant_delete_last_table#:#Non puoi rimuovere completamente questa tabella poiché è l’unica di questa raccolta dati. Invece il suo contenuto e la struttura sono stati rimossi. dcl#:#dcl_change_notification_dcl_delete_record#:#La seguente registrazione dei dati è stata eliminata -dcl#:#dcl_change_notification_dcl_new_record#:#the following record was created -dcl#:#dcl_change_notification_dcl_update_record#:#the following record was updated -dcl#:#dcl_change_notification_link#:#URL +dcl#:#dcl_change_notification_dcl_new_record#:#è stata creata la seguente registrazione +dcl#:#dcl_change_notification_dcl_update_record#:#la seguente registrazione è stato aggiornata +dcl#:#dcl_change_notification_link#:#Andare alla raccolta dati dcl#:#dcl_change_notification_subject#:#La raccolta dati "%s" è stata modificata dcl#:#dcl_changed_by#:#Modificato da dcl#:#dcl_checked#:#Controllato. @@ -8613,80 +8614,80 @@ dcl#:#dcl_comments#:#Commenti dcl#:#dcl_comments_desc#:#Mostra il numero dei commenti per voce. dcl#:#dcl_confirm_delete_field#:#Vuoi davvero eliminare questo campo? dcl#:#dcl_confirm_delete_fields#:#Vuoi davvero eliminare questi campi? -dcl#:#dcl_confirm_delete_record#:#Delete this record? -dcl#:#dcl_confirm_delete_records#:#Are you sure you want to delete the following records? +dcl#:#dcl_confirm_delete_record#:#Elimina questa registrazione? +dcl#:#dcl_confirm_delete_records#:#Sei sicuro di voler eliminare le seguenti registrazioni? dcl#:#dcl_confirm_delete_table#:#Vuoi davvero eliminare questa tabella con il suo contenuto e la sua struttura? dcl#:#dcl_confirm_storing_records#:#Si prega di convalidare e confermare il proprio input. dcl#:#dcl_confirm_storing_records_no_permission#:#Non è possibile cambiare successivamente la registrazione. dcl#:#dcl_copy#:#Copia raccolta dati -dcl#:#dcl_copy_field#:#Copy###29 10 2025 new variable -dcl#:#dcl_copy_field_desc#:#Field to copy options stored in a different field of a table.###29 10 2025 new variable -dcl#:#dcl_copy_title#:#Copy of table and field###29 10 2025 new variable +dcl#:#dcl_copy_field#:#Copy###10 12 2024 new variable +dcl#:#dcl_copy_field_desc#:#Field to copy options stored in a different field of a table.###10 12 2024 new variable +dcl#:#dcl_copy_title#:#Copy of table and field###10 12 2024 new variable dcl#:#dcl_create_date#:#Data di creazione -dcl#:#dcl_create_entry_rules#:#Entry Creation###29 07 2022 new variable +dcl#:#dcl_create_entry_rules#:#Creazione della voce dcl#:#dcl_create_field#:#Crea campo -dcl#:#dcl_create_fields#:#Please create at least one field in the tab "List Fields". +dcl#:#dcl_create_fields#:#Si prega di creare almeno un campo nella scheda "Elenco campi". dcl#:#dcl_creation_date#:#Data di creazione dcl#:#dcl_creation_date_description#:#La data in cui è stato creato l’accesso. dcl#:#dcl_datatype#:#Tipo di dati -dcl#:#dcl_date#:#Date Entry###29 10 2025 new variable -dcl#:#dcl_date_desc#:#Users can enter a date of their choice or select one using a calendar.###29 10 2025 new variable +dcl#:#dcl_date#:#Date Entry###20 05 2025 new variable +dcl#:#dcl_date_desc#:#Field for a date.###20 05 2025 new variable dcl#:#dcl_date_selection#:#Selezione dei dati dcl#:#dcl_date_selection_desc#:#Offerta selezione di opzioni di data. -dcl#:#dcl_datetime#:#Datetime -dcl#:#dcl_datetime_desc#:#Datumseingabe per Auswahlmenü oder Kalender -dcl#:#dcl_datetime_selection#:#Datetime Selection###29 10 2025 new variable -dcl#:#dcl_datetime_selection_desc#:#Allow a date and time to be chosen from among a predefined selection of datetime options.###29 10 2025 new variable +dcl#:#dcl_datetime#:#Datetime Entry###28 11 2025 new variable +dcl#:#dcl_datetime_desc#:#Users can enter a date and time of their choice or select one using a calendar.###28 11 2025 new variable +dcl#:#dcl_datetime_selection#:#Datetime Selection###28 11 2025 new variable +dcl#:#dcl_datetime_selection_desc#:#Allow a date and time to be chosen from among a predefined selection of datetime options.###28 11 2025 new variable dcl#:#dcl_deactivate_view#:#Disattiva questa visualizzazione dcl#:#dcl_default_sort_field#:#Campo di ordinamento predefinito dcl#:#dcl_default_sort_field_order#:#Ordine dei campi di ordinamento predefinito -dcl#:#dcl_default_sort_field_order_desc#:#Arrange the order of the entries in the table based on this field.###29 10 2025 new variable +dcl#:#dcl_default_sort_field_order_desc#:#Arrange the order of the entries in the table based on this field.###28 11 2025 new variable dcl#:#dcl_delete_fields#:#Elimina i campi -dcl#:#dcl_delete_fields_no_selection#:#Please select at least one field to delete###26 08 2024 new variable -dcl#:#dcl_delete_perm#:#Permission Delete Entry -dcl#:#dcl_delete_records#:#Delete records -dcl#:#dcl_deleted_entries#:#Deleted Entries###29 10 2025 new variable -dcl#:#dcl_deleted_records#:#Successfully deleted %s records -dcl#:#dcl_deprecated_copy#:#(Deprecated)###29 10 2025 new variable +dcl#:#dcl_delete_fields_no_selection#:#Please select at least one field to delete###31 03 2023 new variable +dcl#:#dcl_delete_perm#:#Autorizzazione Elimina voce +dcl#:#dcl_delete_records#:#Elimina le registrazioni +dcl#:#dcl_deleted_entries#:#Deleted Entries###28 11 2025 new variable +dcl#:#dcl_deleted_records#:#%S registrazioni eliminate correttamente +dcl#:#dcl_deprecated_copy#:#(Deprecated)###10 12 2024 new variable dcl#:#dcl_desc#:#Ordine discendente (DESC) dcl#:#dcl_description#:#Descrizione campo dcl#:#dcl_detailed_view#:#Visualizzazione dettagliata dcl#:#dcl_display_action_menu#:#Abilita la possibilità di copiare o collegare il modulo referenziato -dcl#:#dcl_display_action_menu_desc#:#The object can be copied from the entry.###29 10 2025 new variable +dcl#:#dcl_display_action_menu_desc#:#The object can be copied from the entry.###28 11 2025 new variable dcl#:#dcl_display_record_alt#:#Visualizza questa voce -dcl#:#dcl_duplicate_non_unique_entries_exist#:#This may also concern existing records.###23 02 2024 new variable +dcl#:#dcl_duplicate_non_unique_entries_exist#:#This is not compatible with existing records.###23 02 2024 new variable dcl#:#dcl_edit#:#Modifica raccolta dati -dcl#:#dcl_edit_entry_rules#:#Entry Editing###29 07 2022 new variable +dcl#:#dcl_edit_entry_rules#:#Modifica delle voci dcl#:#dcl_edit_field#:#Modifica campo -dcl#:#dcl_edit_perm#:#Permission Edit Entry +dcl#:#dcl_edit_perm#:#Modifica autorizzazione dcl#:#dcl_edit_table#:#Modifica impostazioni tabella -dcl#:#dcl_edit_view#:#Edit Settings of View "%s"###29 10 2025 new variable -dcl#:#dcl_editable_in_table_gui#:#Si prega di votare nella visualizzazione della tabella. +dcl#:#dcl_edit_view#:#Edit Settings of View "%s"###28 11 2025 new variable +dcl#:#dcl_editable_in_table_gui#:#Si prega di votare dalla visualizzazione della tabella. dcl#:#dcl_err_formula_field_not_found#:#Non è stato trovato il campo con il titolo '%s' dcl#:#dcl_error_parsing_expression#:#Errore durante l'analisi dell'espressione dcl#:#dcl_export_enabled#:#Consenti funzione di esportazione per tutti gli utenti -dcl#:#dcl_export_enabled_desc#:#Alle Benutzer können die Daten der Tabelle selber exportieren. Dazu müssen in der Übersicht "Felder der ausgewählten Tabelle" die Felder einzeln als exportierbar ausgewählt werden. +dcl#:#dcl_export_enabled_desc#:#Tutti gli utenti possono esportare i dati nella tabella da soli. Per fare ciò, i campi devono essere selezionati individualmente come esportabili nella panoramica "Campi della tabella selezionata". dcl#:#dcl_export_finished#:#Esportazione terminata dcl#:#dcl_export_started#:#Avvio dell’esportazione asincrona -dcl#:#dcl_field_datatype#:#Field Datatype +dcl#:#dcl_field_datatype#:#Tipo di dati del campo dcl#:#dcl_field_description#:#Descrizione -dcl#:#dcl_field_description_desc#:#The description will be shown below the input field when making a new entry.###29 10 2025 new variable +dcl#:#dcl_field_description_desc#:#The description will be shown below the input field when making a new entry.###28 11 2025 new variable dcl#:#dcl_field_required#:#Richiesto dcl#:#dcl_field_title_change_warning#:#Il titolo del campo è stato modificato, per cui alcuni segnaposto nella definizione della visualizzazione potrebbero essere interrotti. Questi devono essere fissati manualmente quando possibile. dcl#:#dcl_field_title_unique#:#Esiste già un campo con questo titolo. Deve essere unico. dcl#:#dcl_field_visible#:#Visibile dcl#:#dcl_fieldtitle#:#Titolo campo -dcl#:#dcl_file#:#Fileupload###26 08 2024 new variable -dcl#:#dcl_file_desc#:#Field to upload arbitrary files. They can be downloaded with a link.###26 08 2024 new variable -dcl#:#dcl_file_format_description#:#The file needs to be an excel .XSL file with the data you want to import on the first sheet. In the first row there have to be exactly the names of the fields (case sensitive) you want to import and in the following rows you can add the values. It is strongly recommended to simulate your import first. -dcl#:#dcl_file_not_readable#:#The file could not be read. Please make sure to upload an XLS file. -dcl#:#dcl_filter#:#Filter +dcl#:#dcl_file#:#Fileupload###30 04 2024 new variable +dcl#:#dcl_file_desc#:#Field to upload arbitrary files. They can be downloaded with a link.###30 04 2024 new variable +dcl#:#dcl_file_format_description#:#Il file deve essere un file .XSL excel con i dati che si desidera importare nel primo foglio. Nella prima riga devono essere presenti esattamente i nomi dei campi (case sensitive) che si desidera importare e nelle righe seguenti è possibile aggiungere i valori. Si consiglia vivamente di simulare prima l'importazione. +dcl#:#dcl_file_not_readable#:#Impossibile leggere il file. Assicurati di caricare un file XLS. +dcl#:#dcl_filter#:#Filtro dcl#:#dcl_filter_changeable#:#Filtro modificabile dcl#:#dcl_formula#:#Formula -dcl#:#dcl_formula_desc#:#Ähnlich wie bei der Tabellenkalkulation können per Formel Einträge verbunden oder berechnet werden. +dcl#:#dcl_formula_desc#:#Simile al foglio di calcolo, le voci possono essere collegate o calcolate utilizzando una formula. dcl#:#dcl_formula_detail_desc#:#Le voci vengono generate automaticamente, tu non puoi modificare la voce. dcl#:#dcl_height#:#Altezza -dcl#:#dcl_height_desc#:#The height of the file will be reduced to this value during upload.###29 10 2025 new variable +dcl#:#dcl_height_desc#:#The height of the file will be reduced to this value during upload.###28 11 2025 new variable dcl#:#dcl_id#:#ID dcl#:#dcl_id_description#:#ID interno. dcl#:#dcl_ilias_reference#:#Collegamento a un modulo ILIAS @@ -8695,117 +8696,116 @@ dcl#:#dcl_ilias_reference_link#:#Mostra come collegamento nella tabella di visua dcl#:#dcl_import#:#Importa raccolta dati dcl#:#dcl_import_enabled#:#Consenti funzione di importazione per tutti gli utenti dcl#:#dcl_import_enabled_desc#:#Tutti gli utenti possono importare i dati nelle tabelle, purché dispongano dell'accesso in scrittura richiesto. -dcl#:#dcl_import_records .xls#:#Import .xls +dcl#:#dcl_import_records .xls#:#Importazione Excel dcl#:#dcl_import_terminated#:#L’importazione è terminata. Voci aggiunte -dcl#:#dcl_in_export#:#In Esporta +dcl#:#dcl_in_export#:#Esportabile dcl#:#dcl_invalid_regex_config#:#L'espressione regolare configurata per questo campo non è valida. Controlla le impostazioni per risolvere il problema. dcl#:#dcl_last_edit_by#:#Ultima modifica da dcl#:#dcl_last_edited_by#:#Ultima modifica da dcl#:#dcl_last_edited_by_description#:#L'utente che ha modificato questa voce per ultimo. dcl#:#dcl_last_update#:#Ultima modifica dcl#:#dcl_last_update_description#:#La data in cui è stato modificato per l’ultima volta l’accesso. -dcl#:#dcl_learning_progress#:#Show the learning progess of the linked module of the viewer -dcl#:#dcl_learning_progress_desc#:#Show each user their own learning progress for the selected object.###29 10 2025 new variable +dcl#:#dcl_learning_progress#:#Mostra l'avanzamento dell'apprendimento del modulo collegato del visualizzatore +dcl#:#dcl_learning_progress_desc#:#Show each user their own learning progress for the selected object.###28 11 2025 new variable dcl#:#dcl_legend_placeholders#:#Segnaposti dcl#:#dcl_length#:#Lunghezza -dcl#:#dcl_length_info#:#(for more than 200 characters, use the additional option Textarea) +dcl#:#dcl_length_info#:#(per più di 200 caratteri, utilizzare l'opzione aggiuntiva Textarea) dcl#:#dcl_limit_end#:#Fine dcl#:#dcl_limit_start#:#Avvio dcl#:#dcl_limited#:#Aggiungi/Modifica/Elimina periodo limitato -dcl#:#dcl_limited_desc#:#Benutzer können Einträge nur bis zum gewählten Datum hinzufügen, bearbeiten und löschen. +dcl#:#dcl_limited_desc#:#Gli utenti possono solo aggiungere, modificare ed eliminare le voci fino alla selezione dei dati. dcl#:#dcl_link_detail_page#:#Collegamento degli accessi alla pagina dei dettagli -dcl#:#dcl_link_detail_page_desc#:#Additionally, a detailed view template must have been created and activated within the tab ‘Detailed View’.###29 10 2025 new variable -dcl#:#dcl_list_fields#:#List Fields -dcl#:#dcl_list_visibility_and_filter#:#Visibility and filter###07 02 2020 new variable +dcl#:#dcl_link_detail_page_desc#:#Additionally, a detailed view template must have been created and activated within the tab ‘Detailed View’.###28 11 2025 new variable +dcl#:#dcl_list_fields#:#Elenco campi +dcl#:#dcl_list_visibility_and_filter#:#Visibilità e filtro dcl#:#dcl_locked#:#Bloccato dcl#:#dcl_locked_tooltip#:#Disabilita questo campo per gli utenti da modificare. Non include ruoli con l’autorizzazione 'Modifica impostazioni' dcl#:#dcl_manage#:#Gestisci dcl#:#dcl_max_digits#:#Numero massimo di cifre dcl#:#dcl_max_import#:#È stata raggiunta la somma massima di voci importate. dcl#:#dcl_max_text_length#:#Lunghezza massima -dcl#:#dcl_mob#:#Image -dcl#:#dcl_mob_desc#:#Möglichkeit zum Hochladen von Bild-, Audio- oder Video-Dateien, die direkt in der Datensammlung präsentiert werden. Erlaubte Dateitypen: %s +dcl#:#dcl_mob#:#Immagine +dcl#:#dcl_mob_desc#:#Possibilità di caricare file di immagini, audio o video presentati direttamente nella raccolta dati. Tipi di file consentiti: %s dcl#:#dcl_msg_field_modified#:#Campo aggiornato dcl#:#dcl_msg_fields_deleted#:#Campi eliminati dcl#:#dcl_msg_info_alternatives#:#Non si hanno autorizzazioni sufficienti per visualizzare questa registrazione o non c’è alcuna visualizzazione dettagliata per questa visualizzazione. Scegliere una visualizzazione dall’elenco seguente per visualizzare comunque la registrazione. dcl#:#dcl_msg_mc_to_sc_confirmation#:#Il passaggio da selezione multipla a selezione singola potrebbe portare alla perdita di dati nelle voci esistenti. Sei sicuro di voler continuare? -dcl#:#dcl_msg_no_perm_edit#:#No permission given to edit this record -dcl#:#dcl_msg_no_perm_view#:#No permission given to view this record +dcl#:#dcl_msg_no_perm_edit#:#Nessuna autorizzazione concessa per visualizzare questa registrazione +dcl#:#dcl_msg_no_perm_view#:#Nessuna autorizzazione concessa per visualizzare questa registrazione dcl#:#dcl_msg_table_created#:#Tabella creata dcl#:#dcl_msg_table_edited#:#Impostazioni tabella salvate dcl#:#dcl_msg_tableview_created#:#Visualizzazioni create dcl#:#dcl_msg_tableview_deleted#:#Visualizzazione eliminata dcl#:#dcl_msg_tableview_updated#:#Visualizzazione aggiornata -dcl#:#dcl_msg_tableviews_delete_all#:#Non possono essere eliminate: Deve esistere almeno una visualizzazione -dcl#:#dcl_msg_tableviews_order_updated#:#Ordine delle visualizzazioni aggiornate +dcl#:#dcl_msg_tableviews_delete_all#:#Non può essere eliminata: deve esistere almeno una visualizzazione dcl#:#dcl_multiple_selection#:#Selezione multipla dcl#:#dcl_new#:#Crea nuova raccolta dati -dcl#:#dcl_new_entries#:#New Entries###29 10 2025 new variable +dcl#:#dcl_new_entries#:#New Entries###28 11 2025 new variable dcl#:#dcl_new_field#:#Nuovo campo dcl#:#dcl_new_table#:#Nuova tabella -dcl#:#dcl_new_view#:#New View###29 10 2025 new variable -dcl#:#dcl_next_record#:#Next record -dcl#:#dcl_no_entries#:#Action not permitted###29 10 2025 new variable -dcl#:#dcl_no_entry#:#No entry###07 02 2020 new variable -dcl#:#dcl_no_export_async_config#:#No SOAP Configuration for asyncronous exports available.###29 10 2025 new variable -dcl#:#dcl_no_export_data_available#:#Dati e campi non disponibile per l’esportazione. +dcl#:#dcl_new_view#:#New View###28 11 2025 new variable +dcl#:#dcl_next_record#:#Nuova registrazione +dcl#:#dcl_no_entries#:#Action not permitted###28 11 2025 new variable +dcl#:#dcl_no_entry#:#Nessun inserimento +dcl#:#dcl_no_export_async_config#:#No SOAP Configuration for asyncronous exports available.###20 05 2025 new variable +dcl#:#dcl_no_export_data_available#:#Dati e campi non disponibili per l’esportazione. dcl#:#dcl_no_fields_yet#:#Non sono presenti campi definiti per questa tabella, pertanto non è possibile creare ancora alcuna voce. dcl#:#dcl_no_read_access_on_any_standard_view#:#Non si dispone di accesso in lettura in una qualsiasi visualizzazione standard sulla tabella. -dcl#:#dcl_no_search_results_found_for#:#Non sono stati trovati moduli per +dcl#:#dcl_no_search_results_found_for#:#Non sono stati trovati moduli per: dcl#:#dcl_no_such_reference#:#Il seguente valore non è disponibile nella tabella di riferimento: -dcl#:#dcl_no_tableview_found#:#No visible tableview found!###29 10 2025 new variable +dcl#:#dcl_no_table_found#:#No visible table found!###28 11 2025 new variable +dcl#:#dcl_no_tableview_found#:#No visible tableview found!###08 07 2025 new variable dcl#:#dcl_not_checked#:#Non controllato. -dcl#:#dcl_not_supported_in_import#:#Questo tipo di settore non è supportato nell’importazione -dcl#:#dcl_notification_activate#:#Activate Notification for Data Collection###29 10 2025 new variable +dcl#:#dcl_not_supported_in_import#:#Questo tipo di campo non è supportato nell’importazione +dcl#:#dcl_notification_activate#:#Activate Notification for Data Collection###28 11 2025 new variable dcl#:#dcl_notification_activated#:#Notifica attivata -dcl#:#dcl_notification_deactivate#:#Deactivate Notification for Data Collection###29 10 2025 new variable +dcl#:#dcl_notification_deactivate#:#Deactivate Notification for Data Collection###28 11 2025 new variable dcl#:#dcl_notification_deactivated#:#Notifica disattivata dcl#:#dcl_notification_info#:#Ogni utente può decidere sulla notifica -dcl#:#dcl_notification_settings#:#Notification Settings###29 10 2025 new variable -dcl#:#dcl_notimage_exception#:#Il file deve essere un’immagine. -dcl#:#dcl_noturl_exception#:#You have to enter a Link (beginning with http://) -dcl#:#dcl_number#:#Integer +dcl#:#dcl_notification_settings#:#Notification Settings###28 11 2025 new variable +dcl#:#dcl_noturl_exception#:#Devi inserire un collegamento (a partire da http:// o www.) +dcl#:#dcl_number#:#Numero intero dcl#:#dcl_number_desc#:#Campo per valori interni (massimo 9 cifre). Nessun decimale o frazioni. dcl#:#dcl_online_info#:#Solo se la raccolta dati è online, allora gli utenti possono utilizzarla. -dcl#:#dcl_open_detail_view#:#Open detail view###29 10 2025 new variable -dcl#:#dcl_open_url#:#Open link###29 10 2025 new variable +dcl#:#dcl_open_detail_view#:#Open detail view###26 08 2025 new variable +dcl#:#dcl_open_url#:#Open link###26 08 2025 new variable dcl#:#dcl_order#:#Ordine -dcl#:#dcl_origin_not_found#:#Origin field was not found!###29 10 2025 new variable -dcl#:#dcl_own_entries#:#Solo le proprie voci +dcl#:#dcl_origin_not_found#:#Origin field was not found!###10 12 2024 new variable +dcl#:#dcl_own_entries#:#Solo le voci proprie dcl#:#dcl_owner#:#Proprietario -dcl#:#dcl_owner_description#:#Il proprietario dell’accesso. +dcl#:#dcl_owner_description#:#Il proprietario dell’inserimento. dcl#:#dcl_owner_name#:#Proprietario (Nome) -dcl#:#dcl_page_type_dclf#:#Details View###29 07 2022 new variable -dcl#:#dcl_placeholder_info#:#To use data from the data collection in this view, please use the corresponding placeholders. These are available in the page element 'Text' and 'Data Table'.###29 10 2025 new variable +dcl#:#dcl_page_type_dclf#:#Dettagli +dcl#:#dcl_placeholder_info#:#To use data from the data collection in this view, please use the corresponding placeholders. These are available in the page element 'Text' and 'Data Table'.###28 11 2025 new variable dcl#:#dcl_please_select#:#--- Selezionare --- dcl#:#dcl_plugin#:#Plug-in dcl#:#dcl_plugin_desc#:#Raccolta dati campo plug-in dcl#:#dcl_plugin_no_hooks_available#:#Nessun plug-in tipo di campo attivo trovato -dcl#:#dcl_prev_record#:#Previous record +dcl#:#dcl_prev_record#:#Inserimento precedente dcl#:#dcl_prop_expression#:#Espressione -dcl#:#dcl_prop_expression_info#:#Supported operators: %s
Supported functions: %s
Use brackets "(", ")" to group calculations.
Concatenate strings and placeholders with &: "The result is " & [[Int 1]] * [[Int2]]
Using functions: SUM([[Int 1]];[[Int 2]])

Available fields (click on title to copy field inside expression):
%s -dcl#:#dcl_public_comments#:#Enable public comments for records -dcl#:#dcl_public_comments_desc#:#Benutzer können Datensätze dieser Tabelle kommentieren +dcl#:#dcl_prop_expression_info#:#Operatori supportati: %s
Funzioni supportate: %s
Usa le parentesi "(", ")" per raggruppare i calcoli.
Concatena stringhe e segnaposto con &: "Il risultato è" & [[Int 1]] * [[Int2]]
Utilizzo delle funzioni: SUM([[Int 1 ]];[[Int 2]])

Campi disponibili (fai clic sul titolo per copiare il campo all'interno dell'espressione):
%s +dcl#:#dcl_public_comments#:#Abilita commenti pubblici per le registrazioni +dcl#:#dcl_public_comments_desc#:#Gli utenti possono commentare le registrazioni in questa tabella dcl#:#dcl_rating#:#Classificazione -dcl#:#dcl_rating_desc#:#Benutzer können Einträge mit bis zu fünf Sternen bewerten. -dcl#:#dcl_rbac_roles_without_read_access_on_any_standard_view#:#I seguenti ruoli di controllo basati su ruolo hanno accesso in lettura sulla raccolta dati, ma nessun accesso in lettura su una qualsiasi visualizzazione standard della tabella: -dcl#:#dcl_record#:#Record -dcl#:#dcl_record_deleted#:#Record deleted +dcl#:#dcl_rating_desc#:#Gli utenti possono valutare le voci con un massimo di cinque stelle. +dcl#:#dcl_rbac_roles_without_read_access_on_any_standard_view#:#I seguenti ruoli di controllo hanno accesso in lettura alla raccolta dati, ma nessun accesso in lettura a una qualsiasi visualizzazione standard della tabella: +dcl#:#dcl_record#:#Registrazione +dcl#:#dcl_record_deleted#:#Registrazione Cancellata dcl#:#dcl_record_from_total#:#%d di %d -dcl#:#dcl_record_settings#:#Record Settings###29 10 2025 new variable +dcl#:#dcl_record_settings#:#Record Settings###28 11 2025 new variable dcl#:#dcl_reference#:#Riferimento -dcl#:#dcl_reference_desc#:#Bereitstellen von Auswahloptionen, die in einem anderen Feld einer Tabelle gepflegt werden -dcl#:#dcl_reference_link#:#Show as link in table view +dcl#:#dcl_reference_desc#:#Fornire opzioni di selezione mantenute in un altro campo di una tabella +dcl#:#dcl_reference_link#:#Mostra come collegamento nella vista tabella dcl#:#dcl_reference_link_info#:#La visualizzazione dettagliata deve essere attiva nella tabella di riferimento -dcl#:#dcl_reference_title#:#Referenz zu Tabelle und Feld -dcl#:#dcl_reference_title_desc#:#The data entries of the selected field will be the selectable options in this field.###29 10 2025 new variable +dcl#:#dcl_reference_title#:#Riferimento a tabella e campo +dcl#:#dcl_reference_title_desc#:#The data entries of the selected field will be the selectable options in this field.###28 11 2025 new variable dcl#:#dcl_regex#:#Espressione regolare -dcl#:#dcl_regex_info#:#(senza delimitatore) +dcl#:#dcl_regex_info#:#Inserimento senza delimitatore dcl#:#dcl_required#:#Campo richiesto dcl#:#dcl_row_not_found#:# - Questo campo non può essere trovato nella tabella. -dcl#:#dcl_save_confirmation#:#Salva conferma +dcl#:#dcl_save_confirmation#:#Conferma di salvataggio dcl#:#dcl_save_confirmation_desc#:#Gli utenti devono confermare la nuova voce Raccolta dati. -dcl#:#dcl_save_order#:#Salva ordine +dcl#:#dcl_save_order#:#Salva ordinamento dcl#:#dcl_select#:#Seleziona per la presentazione dcl#:#dcl_selection_options#:#Opzioni dcl#:#dcl_selection_type#:#Tipo @@ -8813,118 +8813,120 @@ dcl#:#dcl_selection_type_combobox#:#Casella combinata (Menu a tendina) dcl#:#dcl_selection_type_multi#:#Selezione multipla dcl#:#dcl_selection_type_single#:#Selezione singola dcl#:#dcl_simulate_import#:#Simula importazione -dcl#:#dcl_simulate_info#:#La simulazione dell’importazione non aggiungerà alcun campo alla raccolta dati, ma potrebbe fornire un feedback sui problemi con l’importazione del file per evitare accessi danneggiati. -dcl#:#dcl_skipped_delete_records#:#%s records were not deleted due to permission settings +dcl#:#dcl_simulate_info#:#La simulazione dell’importazione non aggiungerà alcun campo alla raccolta dati, ma potrebbe fornire un feedback sui problemi di importazione del file per evitare accessi danneggiati. +dcl#:#dcl_skipped_delete_records#:#%s registrazioni non sono stati eliminate a causa delle impostazioni di autorizzazione dcl#:#dcl_status#:#Il tuo stato dcl#:#dcl_std_field_not_importable#:# - I campi standard non possono essere importati. -dcl#:#dcl_std_filter#:#Standard filtro +dcl#:#dcl_std_filter#:#Filtro standard dcl#:#dcl_supported_filetypes#:#Consenti estensione file dcl#:#dcl_supported_filetypes_desc#:#È possibile impostare le estensioni consentite separate dalla virgola. Per esempio: pdf, docx -dcl#:#dcl_switch_table#:#Switch Table###26 08 2024 new variable -dcl#:#dcl_switch_view#:#Change View###26 08 2024 new variable +dcl#:#dcl_switch_table#:#Switch Table###30 04 2024 new variable +dcl#:#dcl_switch_view#:#Change View###30 04 2024 new variable dcl#:#dcl_table#:#Tabella dcl#:#dcl_table_id#:#ID tabella -dcl#:#dcl_table_list_fields#:#List Fields of current Table +dcl#:#dcl_table_list_fields#:#Campi della tabella selezionata dcl#:#dcl_table_list_tables#:#Tabelle disponibili -dcl#:#dcl_table_settings#:#Table Settings.###29 10 2025 new variable +dcl#:#dcl_table_settings#:#Table Settings.###28 11 2025 new variable dcl#:#dcl_table_settings_saved#:#Le impostazioni di tabella sono state salvate. dcl#:#dcl_table_title_not_matching#:#I titoli del foglio Excel e della tabella raccolta dati non corrispondono. Rinomina il foglio per un’importazione con successo. -dcl#:#dcl_table_title_unique#:#Esiste già una tabella con questo titolo. Deve essere unico. +dcl#:#dcl_table_title_unique#:#Esiste già una tabella con questo titolo. dcl#:#dcl_tables#:#Tabelle dcl#:#dcl_tableview#:#Visualizzazione dcl#:#dcl_tableview_add#:#Aggiungi nuova visualizzazione dcl#:#dcl_tableview_confirm_delete#:#Vuoi davvero eliminare le seguenti visualizzazione? -dcl#:#dcl_tableview_copy#:#View successfully copied###29 07 2022 new variable -dcl#:#dcl_tableview_default_value#:#Default Value###29 07 2022 new variable -dcl#:#dcl_tableview_default_value_fail#:#Some numeric default values couldn't be saved because they contained letters. Please try again.###29 07 2022 new variable -dcl#:#dcl_tableview_field_access#:#Field Access###29 07 2022 new variable +dcl#:#dcl_tableview_copy#:#Visualizzazione copiata correttamente +dcl#:#dcl_tableview_default_value#:#Valore di default +dcl#:#dcl_tableview_default_value_fail#:#Alcuni valori numerici predefiniti non possono essere salvati perché contenevano lettere. Per favore riprova. +dcl#:#dcl_tableview_field_access#:#Accesso al campo dcl#:#dcl_tableview_fieldsettings#:#Impostazioni specifiche del campo -dcl#:#dcl_tableview_fieldtitle#:#Field Title###29 07 2022 new variable -dcl#:#dcl_tableview_locked#:#Locked###29 07 2022 new variable -dcl#:#dcl_tableview_locked_visible#:#Locked & Visible###29 07 2022 new variable -dcl#:#dcl_tableview_not_visible#:#Not Visible###29 07 2022 new variable -dcl#:#dcl_tableview_required#:#Required###29 07 2022 new variable -dcl#:#dcl_tableview_required_visible#:#Required & Visible###29 07 2022 new variable -dcl#:#dcl_tableview_visible#:#Visible###29 07 2022 new variable +dcl#:#dcl_tableview_fieldtitle#:#Titolo del campo +dcl#:#dcl_tableview_locked#:#Bloccato +dcl#:#dcl_tableview_locked_visible#:#Bloccato & Visibile +dcl#:#dcl_tableview_not_visible#:#Non Visibile +dcl#:#dcl_tableview_required#:#Richiesto +dcl#:#dcl_tableview_required_visible#:#Richiesto & visibile +dcl#:#dcl_tableview_visible#:#Visibile dcl#:#dcl_tableviews#:#Visualizzazioni dcl#:#dcl_tableviews_confirm_delete#:#Vuoi davvero eliminare le seguenti visualizzazioni? -dcl#:#dcl_tableviews_of_X#:#Views of table %s###26 08 2024 new variable +dcl#:#dcl_tableviews_of_X#:#Views of table %s###28 11 2025 new variable dcl#:#dcl_tableviews_table#:#Visualizzazioni della tabella selezionata -dcl#:#dcl_text#:#Text -dcl#:#dcl_text_desc#:#Eingabefeld für Text, Links oder E-Mail-Adressen +dcl#:#dcl_text#:#Testo +dcl#:#dcl_text_desc#:#Campo di immissione per testo, collegamenti o indirizzi e-mail dcl#:#dcl_text_email_detail_desc#:#Digita un URL o un indirizzo e-mail valido. dcl#:#dcl_text_email_title#:#Titolo -dcl#:#dcl_text_email_title_info#:#Un titolo per l’URL p l’indirizzo email in alto (opzionale). +dcl#:#dcl_text_email_title_info#:#Un titolo per l’URL o l’indirizzo email in alto (opzionale). dcl#:#dcl_text_selection#:#Selezione del testo dcl#:#dcl_text_selection_desc#:#Offerta selezione di opzioni di testo. -dcl#:#dcl_title_standardview#:#Standard Views +dcl#:#dcl_title_standardview#:#Visione predefinita dcl#:#dcl_unique#:#Unico -dcl#:#dcl_unique_desc#:#In dieses Feld kann ein gleichlautender Eintrag nur einmal vorgenommen werden. -dcl#:#dcl_unique_exception#:#The value you entered is already taken by another record. -dcl#:#dcl_unknown#:#Unkown###29 10 2025 new variable +dcl#:#dcl_unique_desc#:#Il valore in questo campo deve essere unico tra tutte le voci. +dcl#:#dcl_unique_exception#:#Il valore inserito è già preso da un'altra registrazione. +dcl#:#dcl_unknown#:#Unkown###20 05 2025 new variable dcl#:#dcl_unknown_exception#:#Il valore che hai digitato non è valido. -dcl#:#dcl_unknown_plugin#:#Unknown plugin type###29 10 2025 new variable +dcl#:#dcl_unknown_plugin#:#Unknown plugin type###20 05 2025 new variable dcl#:#dcl_update_field#:#Aggiorna campo -dcl#:#dcl_update_record#:#Update Record -dcl#:#dcl_updated_entries#:#Updated Entries###29 10 2025 new variable +dcl#:#dcl_update_record#:#Aggiorna voce +dcl#:#dcl_updated_entries#:#Updated Entries###28 11 2025 new variable dcl#:#dcl_url#:#URL -dcl#:#dcl_view_configuration#:#View Configuration###29 07 2022 new variable +dcl#:#dcl_view_configuration#:#Vedi configurazione dcl#:#dcl_view_own_records_perm#:#Visualizza solo i propri accessi -dcl#:#dcl_view_own_records_perm_desc#:#The entries of other users are not visible.###29 10 2025 new variable -dcl#:#dcl_view_viewdefinition#:#Viewdefinition -dcl#:#dcl_visible#:#Visible in Table -dcl#:#dcl_visible_desc#:#Benutzer können diese Tabelle über das Auswahlmenü "Tabelle" aufrufen. +dcl#:#dcl_view_own_records_perm_desc#:#The entries of other users are not visible.###28 11 2025 new variable +dcl#:#dcl_view_viewdefinition#:#Vedi definizione +dcl#:#dcl_visible#:#Visibile nella tabella +dcl#:#dcl_visible_desc#:#Gli utenti possono accedere a questa tabella dal menu di selezione "Tabella". dcl#:#dcl_width#:#Larghezza -dcl#:#dcl_width_desc#:#The width of the file will be reduced to this value during upload.###29 10 2025 new variable +dcl#:#dcl_width_desc#:#The width of the file will be reduced to this value during upload.###28 11 2025 new variable dcl#:#dcl_wrong_input_type#:#Il valore che hai digitato non corrisponde alla specifica (Tipo errato). dcl#:#dcl_wrong_length#:#Il testo che hai digitato è troppo lungo. dcl#:#dcl_wrong_regex#:#Il testo che hai digitato non corrisponde alla specifica per questo campo (Espressione regolare). -dcl#:#dcl_xls_async_export#:#Asynchronous XLSX-Export###26 08 2024 new variable -dcl#:#disable_comments#:#Disable comments###26 08 2024 new variable -dcl#:#disable_visible#:#Disable visible###26 08 2024 new variable -dcl#:#duplicate_entries_exist#:#The existing records already contain duplicated entries.###29 10 2025 new variable -dcl#:#enable_comments#:#Enable comments###26 08 2024 new variable -dcl#:#enable_visible#:#Enable visible###26 08 2024 new variable -dcl#:#entry_of#:#Entry %1$d of %2$d###26 08 2024 new variable -dcl#:#fieldtitle_allow_chars#:#Allowed chars: %s -dcl#:#fileupload_not_migrated#:#File has not yet been migration and cannot be displayed. Please contact your System-Administrator.###26 08 2024 new variable -dcl#:#role_limitation#:#Role-based View Limitation###29 10 2025 new variable -dcl#:#roles#:#Roles with Access###29 10 2025 new variable -dcl#:#roles_desc#:#Define wich roles have access to the view.###29 10 2025 new variable -dcl#:#set_as_default#:#Set as default###26 08 2024 new variable +dcl#:#dcl_xls_async_export#:#as XLSX (asynchronous)###20 05 2025 new variable +dcl#:#disable_comments#:#Disable comments###28 11 2025 new variable +dcl#:#disable_visible#:#Disable visible###28 11 2025 new variable +dcl#:#duplicate_entries_exist#:#The existing records already contain duplicated entries.###28 11 2025 new variable +dcl#:#enable_comments#:#Enable comments###28 11 2025 new variable +dcl#:#enable_visible#:#Enable visible###28 11 2025 new variable +dcl#:#entry_of#:#Entry %1$d of %2$d###28 11 2025 new variable +dcl#:#fieldtitle_allow_chars#:#Caratteri consentiti: %s +dcl#:#fileupload_not_migrated#:#File has not yet been migration and cannot be displayed. Please contact your System-Administrator.###30 04 2024 new variable +dcl#:#role_limitation#:#Role-based View Limitation###28 11 2025 new variable +dcl#:#roles#:#Roles with Access###28 11 2025 new variable +dcl#:#roles_desc#:#Define wich roles have access to the view.###28 11 2025 new variable +dcl#:#set_as_default#:#Set as default###28 11 2025 new variable +dcl#:#table_not_found#:#Table not found!###28 11 2025 new variable +dcl#:#tableview_not_found#:#Tableview not found!###28 11 2025 new variable didactic#:#activate_exclusive_template#:#Grigio predefinito -didactic#:#activate_exclusive_template_info#:#Questo modello standard non sarà disponibile ovunque sia attivo questo modello. +didactic#:#activate_exclusive_template_info#:#Questo modello standard non sarà disponibile dove è attivo questo modello. didactic#:#activate_local_didactic_template#:#Ambito di applicazione didactic#:#activate_local_didactic_template_info#:#L’utilizzo di questo modello didattico sarà limitato a queste sottozone. -didactic#:#didactic_activated_msg#:#Modelli didattici attivati -didactic#:#didactic_adm_tab#:#Didactic -didactic#:#didactic_applicable_for#:#Applicalble for +didactic#:#didactic_activated_msg#:#I modelli didattici selezionati sono stati attivati +didactic#:#didactic_adm_tab#:#Modelli didattici +didactic#:#didactic_applicable_for#:#Applicabile per didactic#:#didactic_auto_generated#:#Generato automaticamente didactic#:#didactic_available_templates#:#Modelli didattici disponibili didactic#:#didactic_back_to_overview#:#Torna al sommario didactic#:#didactic_cannot_delete_auto_generated#:#Non è consentito eliminare i modelli didattici generati automaticamente. didactic#:#didactic_cannot_delete_auto_generated_confirmation#:#Almeno uno dei modelli didattici selezionati è generato automaticamente e non può essere eliminato. -didactic#:#didactic_confirm_apply_new_template#:#Vuoi davvero applicare il modello didattico scelto? Tutte le impostazioni di autorizzazione correnti andranno perse! +didactic#:#didactic_confirm_apply_new_template#:#Vuoi davvero applicare il modello didattico scelto? Tutte le impostazioni di autorizzazione corrente andranno perse! didactic#:#didactic_confirm_delete_msg#:#Vuoi davvero eliminare i seguenti modelli didattici? didactic#:#didactic_copy_suc_message#:#Modelli didattici copiati didactic#:#didactic_deactivated_msg#:#Modelli didattici disattivati didactic#:#didactic_default_type#:#Impostazione predefinita -didactic#:#didactic_default_type_info#:#Uses default permissions for %s -didactic#:#didactic_delete_msg#:#Deleted didactical templates. +didactic#:#didactic_default_type_info#:#Utilizza le autorizzazioni predefinite per %s +didactic#:#didactic_delete_msg#:#Modelli didattici eliminati. didactic#:#didactic_do_export#:#Esporta didactic#:#didactic_edit_tpl#:#Modifica modelli didattici -didactic#:#didactic_filter_with_icon#:#with Icon###29 07 2022 new variable -didactic#:#didactic_filter_without_icon#:#without Icon###29 07 2022 new variable -didactic#:#didactic_global#:#Global###29 07 2022 new variable -didactic#:#didactic_icon#:#Icon###29 07 2022 new variable -didactic#:#didactic_icon_error#:#Icons cannot be assigned to non-container objects.###29 07 2022 new variable -didactic#:#didactic_icon_info#:#The Icon is shown for all objects, which use this object template. "Custom Icons" of objects overwrite the didactic template icons. Icons can only be used for didactic templates assigned to container objects.###29 07 2022 new variable +didactic#:#didactic_filter_with_icon#:#Con icona +didactic#:#didactic_filter_without_icon#:#Senza icona +didactic#:#didactic_global#:#Globale +didactic#:#didactic_icon#:#Icona +didactic#:#didactic_icon_error#:#Le icone non possono essere assegnate a oggetti non contenitori. +didactic#:#didactic_icon_info#:#L'icona viene mostrata per tutti gli oggetti che utilizzano questo modello di oggetto. Le "icone personalizzate" degli oggetti sovrascrivono le icone dei modelli didattici. Le icone possono essere utilizzate solo per modelli didattici assegnati a oggetti contenitore. didactic#:#didactic_import_btn#:#Importa modelli didattici -didactic#:#didactic_import_failed#:#Importing the didactical template failed with message: -didactic#:#didactic_import_success#:#Successfully imported didactical template +didactic#:#didactic_import_failed#:#L'importazione del modello didattico non è riuscita: +didactic#:#didactic_import_success#:#Modello didattico importato correttamente didactic#:#didactic_import_table_title#:#Importazione di un modello didattico didactic#:#didactic_install_info#:#Informazioni generali -didactic#:#didactic_local#:#Local###29 07 2022 new variable +didactic#:#didactic_local#:#Locale didactic#:#didactic_not_changed#:#L'impostazione del modello didattico è invariata. didactic#:#didactic_scope#:#Ambito didactic#:#didactic_scope_list_header#:#Limitato a: @@ -8939,23 +8941,23 @@ didactic#:#grp_closed_info#:#Il gruppo non è visibile ai non iscritti. didactic#:#more_translations#:#Ulteriori traduzioni didactic#:#sess_closed#:#Sessione chiusa didactic#:#sess_closed_info#:#La sessione non è visibile per i non-partecipanti. -dpro#:#dpro_accept_usr_agreement_anonymous#:#Declaration of Data Protection###26 08 2024 new variable -dpro#:#dpro_accept_usr_agreement_anonymous_intro#:#Before you proceed to ILIAS you accept the following Declaration of Data Protection.###26 08 2024 new variable -dpro#:#dpro_account_reg_not_possible#:#Self-registration is currently not possible because there is no Declaration of Data Protection agreement available. Please contact your system administrator for further information.###26 08 2024 new variable -dpro#:#dpro_agree_date#:#Declaration of Data Protection agreed on###26 08 2024 new variable -dpro#:#dpro_last_reset_date#:#The Declaration of Data Protection were reset on %s. Only reset the Declaration of Data Protection if changes have been made to the document(s) and you require all users to agree to the documents.###26 08 2024 new variable -dpro#:#dpro_mode#:#Agreement Mode###26 08 2024 new variable -dpro#:#dpro_mode_desc#:#Please configure when and how the Declaration of Data Protection should be accepted.###26 08 2024 new variable -dpro#:#dpro_no_acceptance#:#Never, only informative###26 08 2024 new variable -dpro#:#dpro_no_documents_exist#:#There are currently no Declaration of Data Protection documents available.###26 08 2024 new variable -dpro#:#dpro_no_documents_exist_cant_save#:#There are currently no Declaration of Data Protection documents available. Please add at least one document in order to activate this service.###26 08 2024 new variable -dpro#:#dpro_once#:#Accept once###26 08 2024 new variable -dpro#:#dpro_reset_for_all_users#:#Reset the Declaration of Data Protection###26 08 2024 new variable -dpro#:#dpro_status_enable#:#Enable the Declaration of Data Protection###26 08 2024 new variable -dpro#:#dpro_status_enable_desc#:#Display relevant language-based Declaration of Data Protection documents at the end of the registration form for new users and, if applicable, upon the user’s first login. Users are required to accept the Declaration of Data Protection before they can enter ILIAS.###26 08 2024 new variable -dpro#:#dpro_sure_reset_tos#:#Are you sure you want to reset the Declaration of Data Protection for all users in the system? This also applies, for example, to those accounts that are used for the SOAP web services.###26 08 2024 new variable -dpro#:#dpro_withdrawal_usr_deletion#:#Account deletion upon Declaration of Data Protection withdrawal###26 08 2024 new variable -dpro#:#dpro_withdrawal_usr_deletion_desc#:#If a user withdraws their acceptance from a previously accepted Declaration of Data Protection document, this will result in the deletion of the user’s account.###26 08 2024 new variable +dpro#:#dpro_accept_usr_agreement_anonymous#:#Declaration of Data Protection###18 06 2024 new variable +dpro#:#dpro_accept_usr_agreement_anonymous_intro#:#Before you proceed to ILIAS you accept the following Declaration of Data Protection.###18 06 2024 new variable +dpro#:#dpro_account_reg_not_possible#:#Self-registration is currently not possible because there is no Declaration of Data Protection agreement available. Please contact your system administrator for further information.###30 04 2024 new variable +dpro#:#dpro_agree_date#:#Declaration of Data Protection agreed on###30 04 2024 new variable +dpro#:#dpro_last_reset_date#:#The Declaration of Data Protection were reset on %s. Only reset the Declaration of Data Protection if changes have been made to the document(s) and you require all users to agree to the documents.###30 04 2024 new variable +dpro#:#dpro_mode#:#Agreement Mode###30 04 2024 new variable +dpro#:#dpro_mode_desc#:#Please configure when and how the Declaration of Data Protection should be accepted.###30 04 2024 new variable +dpro#:#dpro_no_acceptance#:#Never, only informative###30 04 2024 new variable +dpro#:#dpro_no_documents_exist#:#There are currently no Declaration of Data Protection documents available.###30 04 2024 new variable +dpro#:#dpro_no_documents_exist_cant_save#:#There are currently no Declaration of Data Protection documents available. Please add at least one document in order to activate this service.###30 04 2024 new variable +dpro#:#dpro_once#:#Accept once###30 04 2024 new variable +dpro#:#dpro_reset_for_all_users#:#Reset the Declaration of Data Protection###30 04 2024 new variable +dpro#:#dpro_status_enable#:#Enable the Declaration of Data Protection###30 04 2024 new variable +dpro#:#dpro_status_enable_desc#:#Display relevant language-based Declaration of Data Protection documents at the end of the registration form for new users and, if applicable, upon the user’s first login. Users are required to accept the Declaration of Data Protection before they can enter ILIAS.###30 04 2024 new variable +dpro#:#dpro_sure_reset_tos#:#Are you sure you want to reset the Declaration of Data Protection for all users in the system? This also applies, for example, to those accounts that are used for the SOAP web services.###30 04 2024 new variable +dpro#:#dpro_withdrawal_usr_deletion#:#Account deletion upon Declaration of Data Protection withdrawal###30 04 2024 new variable +dpro#:#dpro_withdrawal_usr_deletion_desc#:#If a user withdraws their acceptance from a previously accepted Declaration of Data Protection document, this will result in the deletion of the user’s account.###30 04 2024 new variable ecs#:#cert_serial#:#Numero di serie del certificato ecs#:#ecs_abr#:#Abbreviazione ecs#:#ecs_account_duration#:#Estensione del periodo di attivazione @@ -8974,13 +8976,13 @@ ecs#:#ecs_auth_type_apache#:#Nome utente/Password ecs#:#ecs_auth_type_cert#:#Certificato base ecs#:#ecs_availability#:#Disponibilita' ecs#:#ecs_available_ecs#:#ECS disponibile -ecs#:#ecs_back_settings#:#Setting ECS +ecs#:#ecs_back_settings#:#Impostazioni ECS ecs#:#ecs_ca_cert#:#Certificato CA ecs#:#ecs_campus_connect_title#:#CampusConnect Mappings ecs#:#ecs_cat_export#:#Release Categoria ecs#:#ecs_cat_export_disabled#:#Non rilasciare questa categoria ecs#:#ecs_cat_export_enabled#:#Sbolla questa categoria -ecs#:#ecs_cat_export_obj_settings#:#Setting di Release Categoria +ecs#:#ecs_cat_export_obj_settings#:#Settaggi di Release Categoria ecs#:#ecs_cat_mapping_by_type#:#Per tipo ecs#:#ecs_cat_mapping_by_type_info#:#Scegli questo modo per assegnare per oggetto. ecs#:#ecs_cat_mapping_duration#:#Intervallo di date @@ -9030,35 +9032,35 @@ ecs#:#ecs_cmap_multiple_atts#:#Attributi multipli ecs#:#ecs_cmap_overview#:#Sommario mappatura ecs#:#ecs_cms_dir_tree#:#Albero delle Directory CMS ecs#:#ecs_cms_directory_trees_tbl#:#Albero delle Directory CMS -ecs#:#ecs_cms_id#:#Root-Id in the Campus-Managment-System -ecs#:#ecs_cms_tree_deleted#:#The campus managment tree assignments have been deleted. +ecs#:#ecs_cms_id#:#Identificatore di ROOT (Root-Id) +ecs#:#ecs_cms_tree_deleted#:#Le assegnazioni della struttura di gestione del campus sono state eliminate. ecs#:#ecs_cms_tree_synchronize#:#Sincronizza struttura ecs#:#ecs_cms_tree_synchronized#:#La struttura è stata sincronizzata. ecs#:#ecs_communities#:#Partecipanti ecs#:#ecs_confirm_delete_tree#:#Confermi la cancellazione di tutte le assegnazioni per l'albero di management campus? ecs#:#ecs_connection_settings#:#Settaggi di connessione -ecs#:#ecs_consent_modal_btn_accept#:#Agree and Proceed###29 10 2025 new variable -ecs#:#ecs_consent_modal_title#:#Consent for data transfer###26 08 2024 new variable -ecs#:#ecs_consent_reset_confirm_title#:#Reset user consent for this participant###26 08 2024 new variable -ecs#:#ecs_cron_task_scheduler#:#ECS Task Scheduler###07 02 2020 new variable -ecs#:#ecs_cron_task_scheduler_info#:#ECS tasks will be executed according to the schedule settings. Only neccessary, if ECS servers are configured.###07 02 2020 new variable +ecs#:#ecs_consent_modal_btn_accept#:#Agree and Proceed###28 11 2025 new variable +ecs#:#ecs_consent_modal_title#:#Consent for data transfer###30 04 2024 new variable +ecs#:#ecs_consent_reset_confirm_title#:#Reset user consent for this participant###30 04 2024 new variable +ecs#:#ecs_cron_task_scheduler#:#Utilità di pianificazione ECS +ecs#:#ecs_cron_task_scheduler_info#:#Le attività ECS verranno eseguite in base alle impostazioni di pianificazione. Necessario solo se i server ECS sono configurati. ecs#:#ecs_crs_alloc#:#Allocazione Corso -ecs#:#ecs_crs_alloc_set#:#Edita allocazione corsi -ecs#:#ecs_crs_export#:#Release Corso +ecs#:#ecs_crs_alloc_set#:#Modifica allocazione corsi +ecs#:#ecs_crs_export#:#Autorizzazione corso ecs#:#ecs_crs_export_disabled#:#Non rilasciare questo Corso ecs#:#ecs_crs_export_enabled#:#Rilascia questo Corso -ecs#:#ecs_crs_export_obj_settings#:#Setting di release Corso +ecs#:#ecs_crs_export_obj_settings#:#Impostazioni autorizzazioni corsi ecs#:#ecs_deactivate#:#Disattiva ecs#:#ecs_delete_setting#:#Sei sicuro di voler cancellare il seguente ECS? -ecs#:#ecs_deprecated_token#:#Supporto per token di autenticazione sconsigliato +ecs#:#ecs_deprecated_token#:#Supporto per token di autenticazione scaduti ecs#:#ecs_deprecated_token_info#:#Offre supporto per installazioni (ad esempio, installazioni ILIAS della versione 4. x) che utilizzano un meccanismo di autenticazione token sconsigliato. ecs#:#ecs_dir_alloc#:#Allocazione Directory -ecs#:#ecs_dir_alloc_set#:#Edita allocazione directory +ecs#:#ecs_dir_alloc_set#:#Modifica allocazione directory ecs#:#ecs_dns#:#Nome del dominio ecs#:#ecs_duration#:#Durata ecs#:#ecs_econ_rcp#:#Notifiche su nuovo E-Content ecs#:#ecs_econ_rcp_info#:#Inserisci uno o piu' nomi utente di login (separati da virgola), che saranno informati via email, su nuovi contenuti di tipo ECS. -ecs#:#ecs_edit_category_mapping#:#Attribuzione di editing +ecs#:#ecs_edit_category_mapping#:#Modifica attribuzioni ecs#:#ecs_email#:#E-Mail ecs#:#ecs_enable_participant#:#Permetti Import/Export ecs#:#ecs_err_invalid_by_type#:#Selezionare un tipo quando si assegna per tipo. @@ -9068,17 +9070,17 @@ ecs#:#ecs_err_missing_value#:#Per favore controlla l'input: Valori Attribuiti.No parent course/group girven - no reminder will be sent! -exc#:#exc_reminder_submit_body#:#the following assignment has not been finished by you yet -exc#:#exc_reminder_submit_setting#:#Remind Users to Submit -exc#:#exc_reminder_submit_subject#:#Assignment "%s" was not finished -exc#:#exc_reminders_cron#:#Reminders for Assignments -exc#:#exc_reminders_cron_info#:#If enabled, 3 reminders will be active: Users to Submit, Tutors to Grade and Participants to Feedback. -exc#:#exc_request_deadline#:#Request Deadline###26 08 2024 new variable -exc#:#exc_requirement#:#Requirement###26 08 2024 new variable -exc#:#exc_review_anytime#:#Give Feedback Anytime###26 08 2024 new variable +exc#:#exc_reminder_mail_no_tpl#:#Non utilizzare il modello di posta +exc#:#exc_reminder_mail_template#:#Modello e-mail +exc#:#exc_reminder_peer_body#:#il seguente incarico non ha ancora feedback da parte tua +exc#:#exc_reminder_peer_subject#:#L'assegnazione "%s" non ha feedback +exc#:#exc_reminder_salutation#:#Ciao%s, +exc#:#exc_reminder_start#:#Avvia promemoria prima della scadenza +exc#:#exc_reminder_start_info#:#A tutti i membri del corso / gruppo parent verranno inviati promemoria.
Nessun corso / gruppo parent girven - nessun promemoria verrà inviato! +exc#:#exc_reminder_submit_body#:#il seguente incarico non è stato ancora completato da te +exc#:#exc_reminder_submit_setting#:#Ricorda agli utenti di inviare +exc#:#exc_reminder_submit_subject#:#L'assegnazione "%s" non è stata completata +exc#:#exc_reminders_cron#:#Promemoria per le assegnazioni +exc#:#exc_reminders_cron_info#:#Se abilitato, saranno attivi 3 promemoria: Utenti da inviare, Tutor da classificare e Partecipanti a Feedback. +exc#:#exc_request_deadline#:#Request Deadline###30 04 2024 new variable +exc#:#exc_requirement#:#Requirement###30 04 2024 new variable +exc#:#exc_review_anytime#:#Give Feedback Anytime###30 04 2024 new variable exc#:#exc_save_all#:#Salva tutto exc#:#exc_save_order#:#Salva Ordine exc#:#exc_save_selected#:#Salva selezione @@ -9600,70 +9602,70 @@ exc#:#exc_select_ass#:#Seleziona Compiti exc#:#exc_select_blog#:#Usa blog esistente exc#:#exc_select_blog_change#:#Usa blog differente exc#:#exc_select_blog_info#:#Seleziona uno dei tuoi blog per usarlo all'interno del compito -exc#:#exc_select_blog_unlink#:#Remove Blog###26 08 2024 new variable +exc#:#exc_select_blog_unlink#:#Remove Blog###30 04 2024 new variable exc#:#exc_select_portfolio#:#Usa Portfolio esistente exc#:#exc_select_portfolio_change#:#Usa Portfolio diverso exc#:#exc_select_portfolio_info#:#Seleziona uno dei tuoi portfolio per usarlo all'interno di questo compito. exc#:#exc_select_portfolio_unlink#:#Rimuovi portfolio exc#:#exc_send_assignment#:#Invia Compito per email -exc#:#exc_send_grading_notification#:#Send Grading Notification###26 08 2024 new variable -exc#:#exc_set_failed#:#Set as Failed###26 08 2024 new variable -exc#:#exc_set_passed#:#Set as Passed###26 08 2024 new variable -exc#:#exc_settings_feedback#:#Tutor Feedback +exc#:#exc_send_grading_notification#:#Send Grading Notification###30 04 2024 new variable +exc#:#exc_set_failed#:#Set as Failed###30 04 2024 new variable +exc#:#exc_set_passed#:#Set as Passed###30 04 2024 new variable +exc#:#exc_settings_feedback#:#Riscontro exc#:#exc_settings_feedback_file#:#Tramite File exc#:#exc_settings_feedback_file_info#:#I tutor caricano un file. Il partecipante riceve una notifica e può accedere al file nella panoramica dell'assegnazione. exc#:#exc_settings_feedback_mail#:#Tramite Mail exc#:#exc_settings_feedback_mail_info#:#I tutor inseriscono la loro valutazione in un modulo di posta. La valutazione viene inviata ai partecipanti. -exc#:#exc_settings_feedback_text#:#Textinput +exc#:#exc_settings_feedback_text#:#Immissione di testo exc#:#exc_settings_feedback_text_info#:#I tutor digitano la loro valutazione in un campo di testo. Il partecipante riceve una notifica e il testo viene visualizzato nella panoramica dell'assegnazione. -exc#:#exc_show_instructions#:#Show Work Instructions###26 08 2024 new variable +exc#:#exc_show_instructions#:#Show Work Instructions###30 04 2024 new variable exc#:#exc_show_peer_review#:#Mostra feedback tra pari exc#:#exc_show_submissions#:#Pubblica le richieste dopo la scadenza exc#:#exc_show_submissions_info#:#Pubblica le richieste a tutti i discenti dopo la scadenza -exc#:#exc_start_assignment#:#Start Assignment -exc#:#exc_start_exercise#:#Start Exercise###07 02 2020 new variable +exc#:#exc_start_assignment#:#Inizia assegnazione +exc#:#exc_start_exercise#:#Inizia esercizio exc#:#exc_start_time#:#Ora di inizio exc#:#exc_starting_on#:#Inizia il -exc#:#exc_submission_and_grades_notification_link#:#Link to Exercise (Submissions and Grades): %s +exc#:#exc_submission_and_grades_notification_link#:#Link all'esercizio (presentazioni e voti): %s exc#:#exc_submission_downloads_notification_link#:#Scarica nuove presentazioni: %s -exc#:#exc_submission_file#:#Submission File +exc#:#exc_submission_file#:#File di invio exc#:#exc_submission_no_new_files#:#Non sono disponibili nuove presentazioni. exc#:#exc_submission_notification#:#Email di notifica sulle richieste exc#:#exc_submission_notification_body#:#Una nuova richiesta e'stata caricata per l'esercizio "%s" -exc#:#exc_submission_notification_info#:#Un messaggio confermera' il caricamento delle richieste. +exc#:#exc_submission_notification_info#:#Riceverai una notifica quando vengono caricati gli invii. Questa è un'impostazione personale che non influisce sugli altri amministratori dell'esercizio. exc#:#exc_submission_notification_link#:#Link all'esercizio: %s exc#:#exc_submission_notification_subject#:#Una nuova richiesta e'stata caricata per l'esercizio "%s" -exc#:#exc_submission_open_notification_link#:#Open submission: %s###26 08 2024 new variable -exc#:#exc_submission_text#:#Submission Text +exc#:#exc_submission_open_notification_link#:#Open submission: %s###30 04 2024 new variable +exc#:#exc_submission_text#:#Testo di presentazione exc#:#exc_submissions_and_grades#:#Richieste e Gradi -exc#:#exc_submit_anytime#:#Submit Anytime###26 08 2024 new variable +exc#:#exc_submit_anytime#:#Submit Anytime###30 04 2024 new variable exc#:#exc_submit_convenience_no_deadline#:#Invia il tuo a tuo piacimento. Non c’è una scadenza specifica. exc#:#exc_submitted_files_deleted#:#I file selezionati sono stati cancellati. -exc#:#exc_sure_unlink_blog#:#Are you sure to remove this blog form this assignment?###26 08 2024 new variable +exc#:#exc_sure_unlink_blog#:#Are you sure to remove this blog form this assignment?###30 04 2024 new variable exc#:#exc_sure_unlink_portfolio#:#Sei sicuro di voler rimuovere questo portfolio da questa assegnazione? exc#:#exc_target_not_valid#:#L’obiettivo richiesto non è valido o è incompleto. -exc#:#exc_task_grading#:#Grading of Assignment "%1"###07 02 2020 new variable -exc#:#exc_task_peer_feedback#:#Give Peer Feedback in Assignment "%1"###07 02 2020 new variable -exc#:#exc_task_submission#:#Submission of Assignment "%1"###07 02 2020 new variable +exc#:#exc_task_grading#:#Valutazione del compito "%1" +exc#:#exc_task_peer_feedback#:#Dare un riscontro tra pari per il compito "%1" +exc#:#exc_task_submission#:#Consegna del compito "%1" exc#:#exc_tbl_action_download_all_files#:#Scarica tutte le presentazioni exc#:#exc_tbl_action_download_files#:#Scarica presentazioni exc#:#exc_tbl_action_download_new_files#:#Scarica nuove presentazioni -exc#:#exc_tbl_action_feedback_file#:#Give Feedback As File -exc#:#exc_tbl_action_feedback_mail#:#Give Feedback As Mail -exc#:#exc_tbl_action_feedback_text#:#Give Feedback As Text -exc#:#exc_tbl_action_open_submission#:#Open Submission###07 02 2020 new variable +exc#:#exc_tbl_action_feedback_file#:#Invia feedback come file +exc#:#exc_tbl_action_feedback_mail#:#Invia feedback come posta +exc#:#exc_tbl_action_feedback_text#:#Invia feedback come testo +exc#:#exc_tbl_action_open_submission#:#Apri consegne exc#:#exc_tbl_action_peer_review_given#:#Mostra feedback tra pari forniti exc#:#exc_tbl_action_peer_review_received#:#Mostra feedback tra pari ricevuti exc#:#exc_tbl_action_team_log#:#Mostra registro di squadra exc#:#exc_tbl_action_text_assignment_show#:#Mostra presentazioni -exc#:#exc_tbl_calculated_deadline#:#Calculated Deadline -exc#:#exc_tbl_comment#:#Text Feedback -exc#:#exc_tbl_feedback_time#:#Feedback on +exc#:#exc_tbl_calculated_deadline#:#Scadenza calcolata +exc#:#exc_tbl_comment#:#Feedback Testo +exc#:#exc_tbl_feedback_time#:#Feedback attivo exc#:#exc_tbl_filter_has_no_submission#:#Non ha ancora presentato exc#:#exc_tbl_filter_has_submission#:#Ha presentato exc#:#exc_tbl_filter_submission#:#Presentazione -exc#:#exc_tbl_filter_submission_after#:#Submission After###26 08 2024 new variable -exc#:#exc_tbl_filter_submission_before#:#Submission Before###26 08 2024 new variable +exc#:#exc_tbl_filter_submission_after#:#Submission After###30 04 2024 new variable +exc#:#exc_tbl_filter_submission_before#:#Submission Before###30 04 2024 new variable exc#:#exc_tbl_individual_deadline#:#Scadenza singola exc#:#exc_tbl_mark#:#Segno exc#:#exc_tbl_notice#:#Nota per i tutor @@ -9680,82 +9682,82 @@ exc#:#exc_team_assignment_adopt_none_user#:#Crea nuova squadra exc#:#exc_team_assignment_adopt_teams#:#Squadre exc#:#exc_team_assignment_adopt_user#:#Adotta squadra da un’assegnazione exc#:#exc_team_at_least_one#:#Almeno un membro del team deve essere presente. -exc#:#exc_team_by_assignment#:#Adopt Teams from Assignment -exc#:#exc_team_by_assignment_info#:#Teams formed in other Assignments will be used for this Assignment too. -exc#:#exc_team_by_participants#:#Participants Self-Organise Forming Teams -exc#:#exc_team_by_participants_info#:#Participants opt for teams. -exc#:#exc_team_by_random#:#Teams are formed randomly and automatically. -exc#:#exc_team_by_random_add_info#:#Please note that you have to assign all participants first before using this mode.###07 02 2020 new variable -exc#:#exc_team_by_random_info#:#ILIAS will allocate participants to a set number of teams. -exc#:#exc_team_by_tutors#:#Teams are formed by Tutors. -exc#:#exc_team_by_tutors_info#:#Tutors allocate participants to teams, participants cannot self-organize. -exc#:#exc_team_by_tutors_manual#:#Manually -exc#:#exc_team_by_tutors_manual_info#:#Tutors manually allocate participants to teams. -exc#:#exc_team_creation#:#Creation -exc#:#exc_team_formation#:#Team Formation +exc#:#exc_team_by_assignment#:#Adotta squadre dall'assegnazione +exc#:#exc_team_by_assignment_info#:#Le squadre formate in altri incarichi verranno utilizzate anche per questo compito. +exc#:#exc_team_by_participants#:#I partecipanti si auto-organizzano formando squadre +exc#:#exc_team_by_participants_info#:#I partecipanti optano per i team. +exc#:#exc_team_by_random#:#Le squadre si formano casualmente e automaticamente. +exc#:#exc_team_by_random_add_info#:#Si noti che è necessario assegnare tutti i partecipanti prima di utilizzare questa modalità. +exc#:#exc_team_by_random_info#:#ILIAS assegnerà i partecipanti a un determinato numero di squadre. +exc#:#exc_team_by_tutors#:#Le squadre sono formate da tutor. +exc#:#exc_team_by_tutors_info#:#I tutor assegnano i partecipanti alle squadre, i partecipanti non possono auto-organizzarsi. +exc#:#exc_team_by_tutors_manual#:#Manualmente +exc#:#exc_team_by_tutors_manual_info#:#I tutor assegnano manualmente i partecipanti ai team. +exc#:#exc_team_creation#:#Creazione +exc#:#exc_team_formation#:#Formazione Team exc#:#exc_team_log#:#Log di squadra exc#:#exc_team_log_add_file#:#Aggiunto file %s. exc#:#exc_team_log_add_member#:#Aggiunto membro %s. exc#:#exc_team_log_create_team#:#Team creato. -exc#:#exc_team_log_remove_file#:#Removed file %s.###26 08 2024 new variable +exc#:#exc_team_log_remove_file#:#Removed file %s.###21 12 2022 new variable exc#:#exc_team_log_remove_member#:#Eliminato membro %s. -exc#:#exc_team_max_small_than_members#:#Maximal Number of Participants can not be set as %s because some teams need to be set with %s participants. +exc#:#exc_team_max_small_than_members#:#Il numero massimo di partecipanti non può essere impostato come %s perché alcuni team devono essere impostati con %s partecipanti. exc#:#exc_team_member_add#:#Aggiungi Membro Team (Ricerca) exc#:#exc_team_member_container_add#:#Aggiungi Membro Team da Corso o Gruppo exc#:#exc_team_member_remove_sure#:#Sei sicuro di voler rimuovere i seguenti membri della tua squadra? Si prega di ricordare che tutti i file caricati verranno anche rimossi dalla propria squadra. exc#:#exc_team_members#:#Membri del Team -exc#:#exc_team_min_big_than_max#:#Maximal number of team participants can not be smaller than Minimal number of team participants. -exc#:#exc_team_min_small_than_members#:#Minimal Number of Participants can not be set as %s because teams are set with %s participants. -exc#:#exc_team_minimal_too_big#:#Minimal number of team participants %s is too big, please decrease the value. +exc#:#exc_team_min_big_than_max#:#Il numero massimo di partecipanti al team non può essere inferiore al numero minimo di partecipanti al team. +exc#:#exc_team_min_small_than_members#:#Il numero minimo di partecipanti non può essere impostato come %s perché i team sono impostati con %s partecipanti. +exc#:#exc_team_minimal_too_big#:#Il numero minimo di partecipanti al team %s è troppo grande, si prega di ridurre il valore. exc#:#exc_team_multi_create#:#Crea squadra exc#:#exc_team_multi_dissolve#:#Sciogli squadra/e exc#:#exc_team_notification_body_add#:#sei stato aggiunto ad un compito di caricamento team. exc#:#exc_team_notification_body_rmv#:#sei stato eliminato da un compito di caricamento team. exc#:#exc_team_notification_link#:#Link all'esercizio -exc#:#exc_team_notification_reason#:#You are receiving this email because you are a participant of the exercise mentioned above. +exc#:#exc_team_notification_reason#:#Stai ricevendo questa email perché sei un partecipante dell'esercizio sopra menzionato. exc#:#exc_team_notification_subject_add#:#Sei stato aggiunto come membro del team per caricare compiti exc#:#exc_team_notification_subject_rmv#:#Rimosso da un compito -exc#:#exc_teams_assignment_adopted#:#Teams adopted from existing assignment +exc#:#exc_teams_assignment_adopted#:#Squadre adottate dall'incarico esistente exc#:#exc_template#:#Modello exc#:#exc_text_assignment_edit#:#Modifica testo exc#:#exc_text_assignment_show#:#Mostra testo -exc#:#exc_text_saved#:#Text has been saved.###07 02 2020 new variable -exc#:#exc_too_many_files#:#The upload contains too many files.###29 10 2025 new variable +exc#:#exc_text_saved#:#Il testo è stato salvato. +exc#:#exc_too_many_files#:#The upload contains too many files.###28 11 2025 new variable exc#:#exc_total_exc#:#Totale esercizio -exc#:#exc_total_members#:#Total Exercise Members -exc#:#exc_type#:#Type###26 08 2024 new variable +exc#:#exc_total_members#:#Membri totali dell'esercizio +exc#:#exc_type#:#Type###30 04 2024 new variable exc#:#exc_type_blog#:#Blog exc#:#exc_type_portfolio#:#Portfolio exc#:#exc_type_text#:#Testo exc#:#exc_type_upload#:#Carica exc#:#exc_type_upload_team#:#Squadra caricata -exc#:#exc_value_can_not_set#:#This value can not be set. -exc#:#exc_view_portfolio#:#View Portfolio###26 08 2024 new variable +exc#:#exc_value_can_not_set#:#Questo valore non può essere impostato. +exc#:#exc_view_portfolio#:#View Portfolio###30 04 2024 new variable exc#:#exc_wait_for_files#:#Il download dovrebbe iniziare automaticamente. Se il download non si avvia in 5 secondi, si prega di cliccare qui -exc#:#exc_wiki_container#:#Wiki Container -exc#:#exc_wiki_container_info#:#Location where wikis of participants will be created. +exc#:#exc_wiki_container#:#Contenitore Wiki +exc#:#exc_wiki_container_info#:#Luogo in cui verranno creati i wiki dei partecipanti. exc#:#exc_with_template#:#Con portfolio - Modello exc#:#exc_with_template_info#:#Un portfolio vuoto verrà derivato automaticamente da un modello di portfolio specifico. -exc#:#exc_with_wiki_template#:#With Wiki Template -exc#:#exc_with_wiki_template_info#:#The template wiki will be copied to create the wikis of participants. +exc#:#exc_with_wiki_template#:#Con modello Wiki +exc#:#exc_with_wiki_template_info#:#Il template wiki verrà copiato per creare le wiki dei partecipanti. exc#:#exc_without_template#:#Senza portfolio - Modello exc#:#exc_without_template_info#:#I partecipanti creeranno il loro portfolio da zero -exc#:#exc_without_wiki_template#:#Without Wiki Template -exc#:#exc_without_wiki_template_info#:#Participants will create their wiki from scratch. +exc#:#exc_without_wiki_template#:#Senza modello Wiki +exc#:#exc_without_wiki_template_info#:#I partecipanti creeranno la loro wiki da zero. exc#:#exc_work_instructions#:#Istruzioni del lavoro -exc#:#exc_x_of_y#:#of###26 08 2024 new variable +exc#:#exc_x_of_y#:#of###30 04 2024 new variable exc#:#exc_your_text#:#Il tuo testo -exc#:#feedback_from#:#Feedback from -exc#:#feedback_given#:#Feedback given -exc#:#feedback_received#:#Feedback received -exc#:#fiter_no_results#:#The current filter did not match any submission. -exc#:#grade_evaluate#:#Grade and Evaluate -exc#:#not_yet#:#not yet -exc#:#submissions_feedback#:#Submissions and Feedback -exc#:#submissions_only#:#Submissions Only -exc#:#text_assignment#:#Text Assignment -excv#:#excv_create#:#Create Exercise Verification -excv#:#excv_create_info#:#Select a completed exercise to generate a verification for it +exc#:#feedback_from#:#Feedback da +exc#:#feedback_given#:#Feedback dato +exc#:#feedback_received#:#Feedback ricevuto +exc#:#fiter_no_results#:#Il filtro corrente non corrisponde ad alcun invio. +exc#:#grade_evaluate#:#Classificare e valutare +exc#:#not_yet#:#non ancora +exc#:#submissions_feedback#:#Invio e feedback +exc#:#submissions_only#:#Solo invii +exc#:#text_assignment#:#Assegnazione del testo +excv#:#excv_create#:#Crea verifica esercizio +excv#:#excv_create_info#:#Seleziona un esercizio completato per generare una verifica per esso exercise#:#exc_admin_settings#:#Amministrazione servizio exercise#:#exc_comment#:#Commenti exercise#:#exc_comment_for_learner#:#Commenti per il discente @@ -9769,42 +9771,42 @@ exercise#:#exc_send_mail#:#Invia mail exercise#:#exc_start_date_should_be_before_end_date#:#Il momento dell'inizio dovrebbe essere prima della scadenza. exercise#:#exc_your_submission#:#La tua richiesta exp#:#exp_create_file#:#Crea file di export -exp#:#exp_error_disabled#:#The export feature is disabled for containers. You may contact your system administrator.###07 02 2020 new variable -exp#:#exp_error_too_many_objects#:#The export exceeds the maximum number of allowerd objects (%1). Please select a lower number of objects.###07 02 2020 new variable -exp#:#exp_export_dropdown#:#Export###29 10 2025 new variable +exp#:#exp_error_disabled#:#L'esportazione di oggetti container è disattivata. In caso di domande contatti il supporto tecnico. +exp#:#exp_error_too_many_objects#:#L'esportazione supera il massimale di oggetti consentiti (%1). Per favore scelga un numero inferiore di oggetti. +exp#:#exp_export_dropdown#:#Export###28 11 2025 new variable exp#:#exp_export_files#:#File di export -exp#:#exp_export_single_option#:#Export %s###29 10 2025 new variable +exp#:#exp_export_single_option#:#Export %s###28 11 2025 new variable exp#:#exp_file_created#:#Il file esportato è stato creato. -exp#:#exp_format_dropdown-csv#:#as CSV###29 10 2025 new variable -exp#:#exp_format_dropdown-html#:#as HTML###29 10 2025 new variable -exp#:#exp_format_dropdown-xls#:#as XLS###29 10 2025 new variable -exp#:#exp_format_dropdown-xml#:#as XML###29 10 2025 new variable -exp#:#exp_html#:#HTML###28 10 2024 new variable -exp#:#exp_import_validation_err_no_matching_xsd#:#No valid schema file for version %s exists.###26 08 2024 new variable -exp#:#exp_not_public_access_status#:#Not published###29 10 2025 new variable -exp#:#exp_print_pdf#:#Print/PDF###29 07 2022 new variable -exp#:#exp_print_pdf_info#:#To create a PDF please use the "Print to PDF" target as soon as the print view is presented.###29 07 2022 new variable -exp#:#exp_public_access_status#:#Available in ‘Info’-tab###29 10 2025 new variable +exp#:#exp_format_dropdown-csv#:#as CSV###28 11 2025 new variable +exp#:#exp_format_dropdown-html#:#as HTML###28 11 2025 new variable +exp#:#exp_format_dropdown-xls#:#as XLS###28 11 2025 new variable +exp#:#exp_format_dropdown-xml#:#as XML###28 11 2025 new variable +exp#:#exp_html#:#HTML +exp#:#exp_import_validation_err_no_matching_xsd#:#No valid schema file for version %s exists.###30 04 2024 new variable +exp#:#exp_not_public_access_status#:#Not published###28 11 2025 new variable +exp#:#exp_print_pdf#:#Print/PDF###31 03 2023 new variable +exp#:#exp_print_pdf_info#:#To create a PDF please use the "Print to PDF" target as soon as the print view is presented.###31 03 2023 new variable +exp#:#exp_public_access_status#:#Available in ‘Info’-tab###28 11 2025 new variable exp#:#exp_really_delete#:#Vuoi veramente cancellare questi file di export? -exp#:#exp_show_print_view#:#Show Print View###29 07 2022 new variable +exp#:#exp_show_print_view#:#Show Print View###31 03 2023 new variable exp#:#exp_xml#:#XML exp#:#export_created#:#Un nuovo file di export e'stato creato -exp#:#export_files_deleted#:#The selected export files have been deleted.###26 08 2024 new variable -exp#:#export_options#:#Export Options###28 10 2024 new variable -exp#:#export_type#:#Export Type###28 10 2024 new variable -export#:#exp_file#:#File Name###28 10 2024 new variable -export#:#exp_public_access#:#Public Access###28 10 2024 new variable -export#:#exp_size#:#File Size (MB)###28 10 2024 new variable -export#:#exp_timestamp#:#Creation Date###28 10 2024 new variable -export#:#exp_toggle_public_access#:#Toggle Public Access###28 10 2024 new variable -export#:#exp_type#:#Type###28 10 2024 new variable +exp#:#export_files_deleted#:#The selected export files have been deleted.###18 06 2024 new variable +exp#:#export_options#:#Export Options###28 11 2025 new variable +exp#:#export_type#:#Export Type###28 11 2025 new variable +export#:#exp_file#:#File Name###28 11 2025 new variable +export#:#exp_public_access#:#Public Access###28 11 2025 new variable +export#:#exp_size#:#File Size (MB)###28 11 2025 new variable +export#:#exp_timestamp#:#Creation Date###28 11 2025 new variable +export#:#exp_toggle_public_access#:#Toggle Public Access###28 11 2025 new variable +export#:#exp_type#:#Type###28 11 2025 new variable export#:#export_create#:#Crea export#:#export_create_new_file#:#Crea Nuovo File di Esportazione export#:#export_existing#:#Riutilizza export#:#export_export_date#:#Data di Esportazione -export#:#export_info_public_access#:#Public Access Export###28 10 2024 new variable -export#:#export_info_public_access_download#:#Download###28 10 2024 new variable -export#:#export_last_export#:#Ultimo Export +export#:#export_info_public_access#:#Public Access Export###28 11 2025 new variable +export#:#export_info_public_access_download#:#Download###28 11 2025 new variable +export#:#export_last_export#:#Ultima esportazione export#:#export_last_export_file#:#Usa Data dell'Ultima Esportazione export#:#export_last_file#:#Ultlimo File export#:#export_omit#:#Ometti @@ -9813,141 +9815,141 @@ export#:#export_resource#:#Risorsa export#:#export_save_selection#:#Inizia Export export#:#export_select_resources#:#Seleziona Risorsa export#:#no_file#:#Nessun file -file#:#add_icon#:#Add Icon###26 08 2024 new variable -file#:#amount_of_downloads#:#Downloads###26 08 2024 new variable -file#:#amount_of_downloads_since#:#%d times since %s###26 08 2024 new variable -file#:#copyright_custom#:#Custom###26 08 2024 new variable -file#:#copyright_custom_info#:#Choose a custom copyright which will be applied to all unzipped files of this archive.###26 08 2024 new variable -file#:#copyright_inherited#:#Inherited###26 08 2024 new variable -file#:#copyright_inherited_info#:#Apply the copyright of the zip archive to its unzipped files.
Copyright of zip archive: %s.###26 08 2024 new variable -file#:#could_not_create_file_objs#:#An error occurred while creating your file objects. Please contact the administrators of this platform.###26 08 2024 new variable -file#:#de_activate_icon#:#Activate / Deactivate###26 08 2024 new variable -file#:#download_ascii_filename#:#Allow Only ASCII Characters in Downloaded Filenames###26 08 2024 new variable -file#:#download_ascii_filename_info#:#Downloaded files should only have ASCII-characters in their filename. Deactivate to use all characters.###26 08 2024 new variable -file#:#file_action_download#:#Download file or view content###29 10 2025 new variable -file#:#file_action_download_info#:#If WOPI is activated and the permission 'View Content' is given, the file is shown in tab 'Content'. If not, the file will be offered for direct download.###29 10 2025 new variable -file#:#file_action_show#:#Redirect user to the file’s ‘Info’ tab###29 10 2025 new variable -file#:#file_action_show_info#:#The 'Info' tab is shown where the file could be downloaded in a second step.###29 10 2025 new variable -file#:#file_btn_lp_toggle_state_completed#:#Set Not Completed###26 08 2024 new variable -file#:#file_btn_lp_toggle_state_not_completed#:#Set Completed###26 08 2024 new variable +file#:#add_icon#:#Add Icon###30 04 2024 new variable +file#:#amount_of_downloads#:#Downloads###30 04 2024 new variable +file#:#amount_of_downloads_since#:#%d times since %s###30 04 2024 new variable +file#:#copyright_custom#:#Custom###30 04 2024 new variable +file#:#copyright_custom_info#:#Choose a custom copyright which will be applied to all unzipped files of this archive.###30 04 2024 new variable +file#:#copyright_inherited#:#Inherited###30 04 2024 new variable +file#:#copyright_inherited_info#:#Apply the copyright of the zip archive to its unzipped files.
Copyright of zip archive: %s.###30 04 2024 new variable +file#:#could_not_create_file_objs#:#An error occurred while creating the file objects, contact the administrators of the platform.###30 04 2024 new variable +file#:#de_activate_icon#:#Activate / Deactivate###30 04 2024 new variable +file#:#download_ascii_filename#:#Allow Only ASCII Characters in Downloaded Filenames###30 04 2024 new variable +file#:#download_ascii_filename_info#:#Only allow ASCII characters in the names of downloaded files. Non-ASCII-characters in the names of downloaded files will be replaced with a “_”. Deactivate to allow the use of all characters.###30 04 2024 new variable +file#:#file_action_download#:#Download file or view content###28 11 2025 new variable +file#:#file_action_download_info#:#If WOPI is activated and the permission 'View Content' is given, the file is shown in tab 'Content'. If not, the file will be offered for direct download.###28 11 2025 new variable +file#:#file_action_show#:#Redirect user to the file’s ‘Info’ tab###28 11 2025 new variable +file#:#file_action_show_info#:#The 'Info' tab is shown where the file could be downloaded in a second step.###28 11 2025 new variable +file#:#file_btn_lp_toggle_state_completed#:#Set Not Completed###30 04 2024 new variable +file#:#file_btn_lp_toggle_state_not_completed#:#Set Completed###30 04 2024 new variable file#:#file_copy#:#Copia File file#:#file_download#:#Scarica file file#:#file_import#:#Importa file file#:#file_new_version#:#Crea una nuova versione file#:#file_new_version_info#:#Crea una nuova versione del file. Versioni precedenti non saranno modificate. -file#:#file_publish#:#Publish Draft###26 08 2024 new variable -file#:#file_rollback_rollback_first#:#The selected version could not be published because an unpublished draft exists.###26 08 2024 new variable -file#:#file_rollback_same_version#:#This is already the published version!###26 08 2024 new variable -file#:#file_unpublish#:#Mark as Draft###26 08 2024 new variable -file#:#file_upload_info_file_with_critical_extension#:#The uploaded file contains a critical or unknown file ending. The file ending will be changed to .sec for every download. +file#:#file_publish#:#Publish Draft###30 04 2024 new variable +file#:#file_rollback_rollback_first#:#The version could not be reset because an unpublished draft exists.###30 04 2024 new variable +file#:#file_rollback_same_version#:#This is already the published version###30 04 2024 new variable +file#:#file_unpublish#:#Mark as Draft###30 04 2024 new variable +file#:#file_upload_info_file_with_critical_extension#:#The uploaded file contains a critical or unknown file ending. The file ending will be changed to .sec for every download. If necessary, contact your administrator.###09 03 2022 new variable file#:#file_uploaded_by#:#Caricato da -file#:#file_version_draft#:#Draft Version###26 08 2024 new variable -file#:#file_version_draft_info#:#The latest version of this file has the status ‘Draft’. As long as this version has not been published, no new versions can be created. People with read permission for the file get the most recent previously published version.###26 08 2024 new variable -file#:#form_icon_creation#:#Create Icon###26 08 2024 new variable -file#:#form_icon_updating#:#Update Icon###26 08 2024 new variable -file#:#general_upload_error_occured#:#An unexpected error occured during upload.###29 07 2022 new variable -file#:#important_info#:#Important Information###26 08 2024 new variable -file#:#important_info_byline#:#The information will be displayed in the ‘Info’ tab.###26 08 2024 new variable -file#:#input_active#:#Active###26 08 2024 new variable -file#:#input_desc_active#:#Activate this icon.###26 08 2024 new variable -file#:#input_desc_icon#:#Image to be used as the icon for files with the specified suffixes.###26 08 2024 new variable -file#:#input_desc_suffixes#:#List of comma-separated suffixes (characters and numbers only, without preceding full stop).###26 08 2024 new variable -file#:#input_icon#:#Icon###26 08 2024 new variable -file#:#input_suffixes#:#Suffixes###26 08 2024 new variable -file#:#migrated#:#Status###29 07 2022 new variable -file#:#mime_type#:#MIME Type###26 08 2024 new variable -file#:#msg_cant_unpublish#:#File could not be unpublished.###26 08 2024 new variable -file#:#msg_confirm_entry_deletion#:#Are you sure you want to delete the following entry?:###26 08 2024 new variable -file#:#msg_error_active_suffixes_blacklisted#:#One of the selected file extensions is on the global blacklist and cannot therefore be currently used.###26 08 2024 new variable -file#:#msg_error_active_suffixes_conflict#:#Error: It is not possible to have multiple icons activated for the same suffix. Please deactivate either this icon or the other activated icon whose suffixes overlap with those of this icon.###26 08 2024 new variable -file#:#msg_error_active_suffixes_not_whitelisted#:#The selected file extension is not on the global whitelist. The file suffixes will be changed to ‘.sec’ when downloaded.###26 08 2024 new variable -file#:#msg_error_duplicate_suffix_entries#:#Error: the comma separated list of suffixes contains duplicate entries.###26 08 2024 new variable -file#:#msg_error_icon_deletion#:#Error: icon deletion failed.###26 08 2024 new variable -file#:#msg_error_suffixes_with_forbidden_characters#:#Error: forbidden characters. Only letters, numbers, spaces and commas are allowed.###26 08 2024 new variable -file#:#msg_icon_missing_from_db#:#Icon missing from database.###26 08 2024 new variable -file#:#msg_icon_missing_from_irss#:#Icon missing from resource storage.###26 08 2024 new variable -file#:#msg_success_icon_activated#:#Icon successfully activated.###26 08 2024 new variable -file#:#msg_success_icon_created#:#Icon successfully created.###26 08 2024 new variable -file#:#msg_success_icon_deactivated#:#Icon successfully deactivated.###26 08 2024 new variable -file#:#msg_success_icon_deletion#:#Icon successfully deleted.###26 08 2024 new variable -file#:#msg_success_icon_updated#:#Icon successfully updated.###26 08 2024 new variable -file#:#msg_unzip_success#:#Archive has been successfully unziped.###29 07 2022 new variable -file#:#on_click_action#:#Action When Title Clicked###26 08 2024 new variable -file#:#preview_caption#:#Preview %sof %s###26 08 2024 new variable -file#:#preview_image_size_info#:#The preview versions of images will be downscaled or upscaled as appropriate, so that their longest side is the length (in px) entered here.###26 08 2024 new variable -file#:#preview_persisting#:#Persistent Preview Images###26 08 2024 new variable -file#:#preview_persisting_info#:#Generated preview images will be stored by ILIAS and used from then on each time the preview icon for that file is clicked on. If deactivated, previews will be generated anew each time.###26 08 2024 new variable -file#:#previews_for_tiles#:#Tiles###29 10 2025 new variable -file#:#previews_for_tiles_info#:#Use Preview for Tiles where possible.###29 10 2025 new variable -file#:#publish_before_delete#:#It was not possible to delete any of the existing versions because an unpublished draft exists.###26 08 2024 new variable +file#:#file_version_draft#:#Draft Version###30 04 2024 new variable +file#:#file_version_draft_info#:#The latest version is in "Draft" status. As long as the version has not been published, no new versions can be created. People with read permission on the file get the latest published version.###30 04 2024 new variable +file#:#form_icon_creation#:#Create Icon###30 04 2024 new variable +file#:#form_icon_updating#:#Update Icon###30 04 2024 new variable +file#:#general_upload_error_occured#:#Si è verificato un errore inaspettato alla carica del file. +file#:#important_info#:#Important Information###30 04 2024 new variable +file#:#important_info_byline#:#The information is displayed in the "Info" tab.###30 04 2024 new variable +file#:#input_active#:#Active###30 04 2024 new variable +file#:#input_desc_active#:#Activate this icon.###30 04 2024 new variable +file#:#input_desc_icon#:#Image to be used as the icon for files with the specified suffixes.###30 04 2024 new variable +file#:#input_desc_suffixes#:#List of comma-separated suffixes (characters and numbers only, without preceding full stop).###30 04 2024 new variable +file#:#input_icon#:#Icon###30 04 2024 new variable +file#:#input_suffixes#:#Suffixes###30 04 2024 new variable +file#:#migrated#:#Status###09 03 2022 new variable +file#:#mime_type#:#MIME Type###30 04 2024 new variable +file#:#msg_cant_unpublish#:#Action could not be executed###30 04 2024 new variable +file#:#msg_confirm_entry_deletion#:#Are you sure you want to delete the following entry?:###30 04 2024 new variable +file#:#msg_error_active_suffixes_blacklisted#:#One of the selected file extensions is on the global blacklist and cannot therefore be currently used.###30 04 2024 new variable +file#:#msg_error_active_suffixes_conflict#:#Error: It is not possible to have multiple icons activated for the same suffix. Please deactivate either this icon or the other activated icon whose suffixes overlap with those of this icon.###30 04 2024 new variable +file#:#msg_error_active_suffixes_not_whitelisted#:#The selected file extension is not on the global whitelist. The file suffixes will be changed to ‘.sec’ when downloaded.###30 04 2024 new variable +file#:#msg_error_duplicate_suffix_entries#:#Error: the comma separated list of suffixes contains duplicate entries.###30 04 2024 new variable +file#:#msg_error_icon_deletion#:#Error: icon deletion failed.###30 04 2024 new variable +file#:#msg_error_suffixes_with_forbidden_characters#:#Error: forbidden characters. Only letters, numbers, spaces and commas are allowed.###30 04 2024 new variable +file#:#msg_icon_missing_from_db#:#Icon missing from database.###30 04 2024 new variable +file#:#msg_icon_missing_from_irss#:#Icon missing from resource storage.###30 04 2024 new variable +file#:#msg_success_icon_activated#:#Icon successfully activated.###30 04 2024 new variable +file#:#msg_success_icon_created#:#Icon successfully created.###30 04 2024 new variable +file#:#msg_success_icon_deactivated#:#Icon successfully deactivated.###30 04 2024 new variable +file#:#msg_success_icon_deletion#:#Icon successfully deleted.###30 04 2024 new variable +file#:#msg_success_icon_updated#:#Icon successfully updated.###30 04 2024 new variable +file#:#msg_unzip_success#:#Archive has been successfully unziped.###31 03 2023 new variable +file#:#on_click_action#:#Action When Title Clicked###30 04 2024 new variable +file#:#preview_caption#:#Preview %sof %s###30 04 2024 new variable +file#:#preview_image_size_info#:#The preview versions of images will be downscaled or upscaled as appropriate, so that their longest side is the length (in px) entered here.###30 04 2024 new variable +file#:#preview_persisting#:#Persistent Preview Images###30 04 2024 new variable +file#:#preview_persisting_info#:#Generated preview images will be stored by ILIAS and used from then on each time the preview icon for that file is clicked on. If deactivated, previews will be generated anew each time.###30 04 2024 new variable +file#:#previews_for_tiles#:#Tiles###01 04 2025 new variable +file#:#previews_for_tiles_info#:#Use Preview for Tiles where possible.###01 04 2025 new variable +file#:#publish_before_delete#:#Version(s) could not be deleted because an unpublished draft exists.###30 04 2024 new variable file#:#replace_file_info#:#Tutte le versioni del file verranno cancellate. -file#:#resource_id#:#Resource ID###29 07 2022 new variable -file#:#service_settings#:#Additional Features###26 08 2024 new variable -file#:#service_settings_saved#:#Changes saved.###26 08 2024 new variable -file#:#set_license_for_all_files#:#Set License for All Files###26 08 2024 new variable -file#:#show_amount_of_downloads#:#Show Number of Downloads###26 08 2024 new variable -file#:#show_amount_of_downloads_info#:#Display the number of times a file object has been downloaded on its 'Info' page.###26 08 2024 new variable -file#:#storage_id#:#Storage ID###29 07 2022 new variable -file#:#suffix_specific_icons#:#Suffix-Specific Icons###26 08 2024 new variable -file#:#suffixes#:#Suffixes###26 08 2024 new variable -file#:#upload_files#:#Upload Files###26 08 2024 new variable -file#:#upload_files_limit#:#The maximum file size allowed is %s.###26 08 2024 new variable -file#:#upload_files_title#:#Upload Files###26 08 2024 new variable -file#:#upload_info#:#File###07 02 2020 new variable -file#:#upload_info_desc#:#Manage Uploads and Versions in Tab "Versions"###07 02 2020 new variable -file#:#version_uploaded#:#Version uploaded###29 07 2022 new variable -file#:#versionname#:#Title###29 07 2022 new variable -fils#:#add_upload_policy#:#Add Policy###26 08 2024 new variable -fils#:#edit_upload_policy#:#Edit Policy###26 08 2024 new variable -fils#:#file_services#:#File Services###29 07 2022 new variable -fils#:#file_services_description#:#Configuration of File Service Settings.###29 07 2022 new variable -fils#:#file_suffix_custom_expl_negative#:#Prohibited File Suffixes###29 07 2022 new variable -fils#:#file_suffix_custom_expl_negative_info#:#Files with these suffixes won't be accepted for upload.###29 07 2022 new variable -fils#:#file_suffix_custom_negative#:#File Suffixes: Negative List (Adaptations)###29 07 2022 new variable -fils#:#file_suffix_custom_negative_info#:#These file suffixes will be removed from the positive list.###29 07 2022 new variable -fils#:#file_suffix_custom_positive#:#File Suffixes: Positive List (Adaptations)###29 07 2022 new variable -fils#:#file_suffix_custom_positive_info#:#These file suffixes will be added to the positive list.###29 07 2022 new variable -fils#:#file_suffix_default_positive#:#File Suffixes: Positive List (Default List)###29 07 2022 new variable -fils#:#file_suffix_default_positive_info#:#Preset default list of accepted file suffixes.###29 07 2022 new variable -fils#:#file_suffix_overall_positive#:#Overall Positive List###29 07 2022 new variable -fils#:#file_suffix_overall_positive_info#:#This is the final list of accepted file suffixes.###29 07 2022 new variable -fils#:#policy_audience#:#Target Group###26 08 2024 new variable -fils#:#policy_audience_all_users_option_desc#:#Apply policy to all users.###26 08 2024 new variable -fils#:#policy_audience_global_roles_option_desc#:#Apply policy to users with specific global roles.###26 08 2024 new variable -fils#:#policy_confirm_deletion#:#Are you sure you want to delete the policy with the following properties?:###26 08 2024 new variable -fils#:#policy_deletion_failure_not_found#:#Error: Deletion failed because policy could not be found.###26 08 2024 new variable -fils#:#policy_deletion_successful#:#Policy successfully deleted.###26 08 2024 new variable -fils#:#policy_filter#:#Policy Filter###26 08 2024 new variable -fils#:#policy_no_validity_limitation_set#:#Valid indefinitely###26 08 2024 new variable -fils#:#policy_scope#:#Scope###26 08 2024 new variable -fils#:#policy_table_info_no_policies#:#No upload policies have been created yet.###26 08 2024 new variable -fils#:#policy_title_desc#:#Descriptive title for this policy.###26 08 2024 new variable -fils#:#policy_upload_limit#:#Upload Limit###26 08 2024 new variable -fils#:#policy_upload_limit_desc#:#Upload limit (in MB) imposed by this policy.###26 08 2024 new variable -fils#:#policy_valid_until#:#Valid Until###26 08 2024 new variable -fils#:#policy_valid_until_desc#:#Set an optional ‘valid until’ date, after which the policy expires.###26 08 2024 new variable -fils#:#policy_validity#:#Validity###26 08 2024 new variable -fils#:#upload_limits#:#Upload Limits###26 08 2024 new variable -fils#:#upload_policies#:#Upload Policies###26 08 2024 new variable +file#:#resource_id#:#Resource ID###09 03 2022 new variable +file#:#service_settings#:#Additional Features###30 04 2024 new variable +file#:#service_settings_saved#:#Saved###30 04 2024 new variable +file#:#set_license_for_all_files#:#Set License for All Files###30 04 2024 new variable +file#:#show_amount_of_downloads#:#Show Number of Downloads###30 04 2024 new variable +file#:#show_amount_of_downloads_info#:#Display the number of times a file object has been downloaded on its 'Info' page.###30 04 2024 new variable +file#:#storage_id#:#Storage ID###09 03 2022 new variable +file#:#suffix_specific_icons#:#Suffix-Specific Icons###30 04 2024 new variable +file#:#suffixes#:#Suffixes###30 04 2024 new variable +file#:#upload_files#:#Upload Files###30 04 2024 new variable +file#:#upload_files_limit#:#The maximum size of a file is %s.###30 04 2024 new variable +file#:#upload_files_title#:#Upload Files###30 04 2024 new variable +file#:#upload_info#:#File +file#:#upload_info_desc#:#Gestisci Upload e versioni nella scheda "Versioni" +file#:#version_uploaded#:#Version uploaded###09 03 2022 new variable +file#:#versionname#:#Title###09 03 2022 new variable +fils#:#add_upload_policy#:#Add Policy###30 04 2024 new variable +fils#:#edit_upload_policy#:#Edit Policy###30 04 2024 new variable +fils#:#file_services#:#File Services +fils#:#file_services_description#:#Configuration of File Service Settings. +fils#:#file_suffix_custom_expl_negative#:#Prohibited File Suffixes +fils#:#file_suffix_custom_expl_negative_info#:#Files with these suffixes won't be accepted for upload. +fils#:#file_suffix_custom_negative#:#File Suffixes: Negative List (Adaptations) +fils#:#file_suffix_custom_negative_info#:#These file suffixes will be removed from the positive list. +fils#:#file_suffix_custom_positive#:#File Suffixes: Positive List (Adaptations) +fils#:#file_suffix_custom_positive_info#:#These file suffixes will be added to the positive list. +fils#:#file_suffix_default_positive#:#File Suffixes: Positive List (Default List) +fils#:#file_suffix_default_positive_info#:#Preset default list of accepted file suffixes. +fils#:#file_suffix_overall_positive#:#Overall Positive List +fils#:#file_suffix_overall_positive_info#:#This is the final list of accepted file suffixes. +fils#:#policy_audience#:#Audience###30 04 2024 new variable +fils#:#policy_audience_all_users_option_desc#:#Apply policy for all users.###30 04 2024 new variable +fils#:#policy_audience_global_roles_option_desc#:#Apply policy for users with specific global roles.###30 04 2024 new variable +fils#:#policy_confirm_deletion#:#Are you sure you want to delete the policy with the following properties?:###30 04 2024 new variable +fils#:#policy_deletion_failure_not_found#:#Error: Deletion failed due to policy not being found.###30 04 2024 new variable +fils#:#policy_deletion_successful#:#Deletion of policy was successful.###30 04 2024 new variable +fils#:#policy_filter#:#Policy Filter###30 04 2024 new variable +fils#:#policy_no_validity_limitation_set#:#Valid indefinitely###30 04 2024 new variable +fils#:#policy_scope#:#Scope###30 04 2024 new variable +fils#:#policy_table_info_no_policies#:#No upload policies have been created yet.###30 04 2024 new variable +fils#:#policy_title_desc#:#Descriptive title for the policy.###30 04 2024 new variable +fils#:#policy_upload_limit#:#Upload Limit###30 04 2024 new variable +fils#:#policy_upload_limit_desc#:#Upload limit which is set by this policy in MB.###30 04 2024 new variable +fils#:#policy_valid_until#:#Valid Until###30 04 2024 new variable +fils#:#policy_valid_until_desc#:#Set an optional 'valid until' date after which the policy expires.###30 04 2024 new variable +fils#:#policy_validity#:#Validity###30 04 2024 new variable +fils#:#upload_limits#:#Upload Limits###30 04 2024 new variable +fils#:#upload_policies#:#Upload Policies###30 04 2024 new variable fold#:#fold_copy#:#Copia cartella fold#:#fold_import#:#Importa Cartella -fold#:#fold_presentation#:#Folder Presentation +fold#:#fold_presentation#:#Presentazione cartella fold#:#fold_settings#:#Impostazioni cartella -form#:#email_not_match#:#Your entries for the email address don't match! Please re-enter your email address. +form#:#email_not_match#:#Le voci per l'indirizzo e-mail non corrispondono! Inserisci nuovamente il tuo indirizzo email. form#:#form_alphabet_all#:#Tutto form#:#form_chars_remaining#:#Caratteri rimanenti: form#:#form_date_duration_end#:#Fine form#:#form_date_duration_start#:#Avvio form#:#form_days#:#Giorni -form#:#form_file_input#:#input file +form#:#form_file_input#:#Seleziona file form#:#form_format#:#Formato form#:#form_get_link#:#Seleziona l'oggetto obiettivo form#:#form_hier_click_to_add#:#Clicca qui per aggiungere nuovi elementi. form#:#form_hierarchy_add_elements#:#Clicca sul segnaposto per aggiungere un nuovo elemento. -form#:#form_hierarchy_drag_drop_help#:#Drag and drop le icone sul segnaposto per muovere gli elementi. +form#:#form_hierarchy_drag_drop_help#:#Copia e incolla le icone sul segnaposto per muovere gli elementi. form#:#form_hours#:#Ore form#:#form_image_file_input#:#Input del File Immagine -form#:#form_invalid_uri#:#Invalid URI format.###29 07 2022 new variable +form#:#form_invalid_uri#:#Invalid URI format. form#:#form_link_external#:#Esterno form#:#form_link_internal#:#Interno form#:#form_location_radius#:#Raggio @@ -9957,7 +9959,7 @@ form#:#form_min_value#:#Valutazione minima. form#:#form_minutes#:#Minuti form#:#form_months#:#Mesi form#:#form_msg_file_cannot_write_to_disk#:#Non è possibile sovrascrivere l'unita'. -form#:#form_msg_file_missing_file_ext#:#The uploaded file has no file type exension.###07 02 2020 new variable +form#:#form_msg_file_missing_file_ext#:#Il file caricato non ha estensione del tipo di file. form#:#form_msg_file_missing_tmp_dir#:#Directory momentanea del file mancante in upload. form#:#form_msg_file_no_upload#:#Questo input è richiesto. Per favore seleziona un file da caricare. form#:#form_msg_file_partially_uploaded#:#Non è stato possibile caricare completamente il file. @@ -9967,7 +9969,7 @@ form#:#form_msg_file_upload_stopped_ext#:#File upload è stato fermato dall'este form#:#form_msg_file_virus_found#:#Nel file caricato è stato trovato un virus. form#:#form_msg_file_wrong_file_type#:#Tipo file non ammesso. form#:#form_msg_formula_is_required#:#Inserire una formula corretta. -form#:#form_msg_max_upload#:#Maximum number of simultaneously uploadable files:###29 07 2022 new variable +form#:#form_msg_max_upload#:#Maximum number of simultaneously uploadable files: form#:#form_msg_numeric_value_required#:#Inserisci per favore un valore numerico. form#:#form_msg_value_too_high#:#Valore troppo alto. Inserisci un valore più basso. form#:#form_msg_value_too_low#:#Valore troppo basso. Inserisci un valore più alto. @@ -9977,11 +9979,11 @@ form#:#form_open_answer#:#Apri domanda form#:#form_password_not_allowed_for_auth#:#Non è possibile cambiare la password per il metodo di autenticazione prescelto. form#:#form_password_required_for_auth#:#Per questo metodo di autenticazione è richiesta la password. form#:#form_please_select#:#Selezionare -form#:#form_retype_email#:#Retype Email +form#:#form_retype_email#:#Riscrivi Email form#:#form_retype_password#:#Riscrivi password form#:#form_seconds#:#Secondi -form#:#form_take_snapshot#:#Take Snapshot###29 07 2022 new variable -form#:#form_use_camera#:#Use Camera###29 07 2022 new variable +form#:#form_take_snapshot#:#Take Snapshot###31 03 2023 new variable +form#:#form_use_camera#:#Use Camera###31 03 2023 new variable forum#:#activate_new_posts#:#Attiva i Posts forum#:#activate_only_current#:#Attiva corrente forum#:#activate_post#:#Attivare @@ -10002,28 +10004,28 @@ forum#:#content_censored_post#:#Contenuto dei messaggi censurati: forum#:#content_deleted_post#:#Contenuto dei messaggi eliminati: forum#:#content_deleted_thread#:#Contenuto delle conversazioni eliminate: forum#:#content_post_updated#:#Contenuto dei messaggi modificati: -forum#:#deletePosting#:#Delete Posting###29 07 2022 new variable -forum#:#deletePostingDraft#:#Delete Draft###29 07 2022 new variable +forum#:#deletePosting#:#Delete Posting +forum#:#deletePostingDraft#:#Delete Draft forum#:#delete_draft_successfully#:#La bozza è stata eliminata con successo. forum#:#delete_drafts_successfully#:#Le bozze sono state eliminate correttamente. -forum#:#delete_thread#:#Delete Thread###26 08 2024 new variable +forum#:#delete_thread#:#Delete Thread###30 04 2024 new variable forum#:#descending_order#:#Ultimi post in alto forum#:#edit_thread_draft#:#Modifica bozza di conversazione forum#:#empty_subject#:#Sulla risposta l'utente deve inserire un nuovo titolo. -forum#:#empty_thread#:#Empty Thread###29 07 2022 new variable +forum#:#empty_thread#:#Empty Thread###31 03 2023 new variable forum#:#enable_send_attachments#:#Invia allegati con notifiche del forum forum#:#enable_send_attachments_desc#:#Si prega di notare che i file allegati devono essere archiviati separatamente per ogni utente notificato. Ciò può causare un elevato utilizzo dello spazio su disco del server. forum#:#enable_thread_ratings#:#Classificazione conversazione forum#:#enable_thread_ratings_info#:#Se attiva, gli utenti possono classificare le conversazioni. forum#:#enter_new_subject#:#Per favore, inserisci un nuovo oggetto -forum#:#error_no_target_selected#:#Please select a forum.###29 07 2022 new variable +forum#:#error_no_target_selected#:#Please select a forum.###31 03 2023 new variable forum#:#error_reading_file#:#C’è stato un errore nella lettura del file forum#:#error_same_thread_ids#:#Le conversazioni di origine e di destinazione devono essere diverse. forum#:#file_upload_allowed#:#Consenti allegati forum#:#file_upload_allowed_fora#:#Allegati forum#:#file_upload_allowed_fora_desc#:#Se selezionato "Consenti allegati nei forum selezionati ", i moderatori del forum possono consentire individualmente di allegare file alle registrazioni nelle impostazioni di ciascun forum. Nei nuovi forum il caricamento degli allegati sarà disabilitato per impostazione predefinita. forum#:#file_upload_option_allow#:#Consenti allegati in tutti i forum -forum#:#file_upload_option_allow_info#:#Files can be attached to posts in all forums.###29 07 2022 new variable +forum#:#file_upload_option_allow_info#:#Files can be attached to posts in all forums.###09 03 2022 new variable forum#:#file_upload_option_disallow#:#Consenti allegati nei forum selezionati forum#:#fmr_copy_threads_info#:#Hai la possibilità di copiare singole frasi chiave. Solo l'inizio della frase chiave sarà duplicato. forum#:#forum_add_quote#:#Aggiungi citazione @@ -10039,8 +10041,8 @@ forum#:#forums_download_attachment#:#Download dell'allegato forum#:#forums_edit_draft#:#Modifica bozza forum#:#forums_edit_post#:#Modifica messaggio forum#:#forums_enable_notification#:#Abilita la notifica -forum#:#forums_forum_notification#:#Send Forum Notifications###28 10 2024 new variable -forum#:#forums_forum_notification_desc#:#If enabled, all users, who want to be informed about new posts in specified forum threads, will get notifications by mail.###28 10 2024 new variable +forum#:#forums_forum_notification#:#Send Forum Notifications###08 10 2024 new variable +forum#:#forums_forum_notification_desc#:#If enabled, all users, who want to be informed about new posts in specified forum threads, will get notifications by mail.###08 10 2024 new variable forum#:#forums_forum_notification_disabled#:#Non sarete piu'informati di nuovi messaggi in questo forum. forum#:#forums_info_censor2_post#:#Sei sicuro di voler continuare a nascondere questo messaggio? forum#:#forums_info_censor_post#:#Sei sicuro di voler nascondere questo messaggio? @@ -10074,15 +10076,15 @@ forum#:#forums_thread_new_entry#:#Un nuovo argomento e' stato creato forum#:#forums_threads_deleted#:#Le conversazioni selezionate comprendono tutti i messaggi che sono stati eliminati. forum#:#forums_threads_drafts_deleted#:#Le conversazioni selezionate comprendono tutte le registrazioni e le bozze selezionate. forum#:#forums_your_reply#:#tua risposta -forum#:#frm_action_not_possible_parent_deleted#:#Action not possible, the parent posting has been deleted. -forum#:#frm_action_not_possible_thr_closed#:#Action not possible, the thread has been closed. -forum#:#frm_action_not_possible_thr_deleted#:#Action not possible, the thread has been deleted. -forum#:#frm_activation_online_info#:#Set the forum online to make it visible and available to other users. If not, only administrators will have access to it.###29 07 2022 new variable -forum#:#frm_adm_sec_default_settings#:#Default Object Settings###26 08 2024 new variable -forum#:#frm_adm_sec_drafts#:#Drafts###26 08 2024 new variable -forum#:#frm_adm_sec_features#:#Forum Features###26 08 2024 new variable -forum#:#frm_adm_sec_notifications#:#Notifications###26 08 2024 new variable -forum#:#frm_all_threads#:#All Threads###26 08 2024 new variable +forum#:#frm_action_not_possible_parent_deleted#:#Azione impossibile, la pubblicazione principale è stata eliminata. +forum#:#frm_action_not_possible_thr_closed#:#Azione impossibile, il thread è stato chiuso. +forum#:#frm_action_not_possible_thr_deleted#:#Azione impossibile, il thread è stato eliminato. +forum#:#frm_activation_online_info#:#Set the forum online to make it visible and available to other users. If not, only administrators will have access to it.###31 03 2023 new variable +forum#:#frm_adm_sec_default_settings#:#Default Object Settings###30 04 2024 new variable +forum#:#frm_adm_sec_drafts#:#Drafts###30 04 2024 new variable +forum#:#frm_adm_sec_features#:#Forum Features###30 04 2024 new variable +forum#:#frm_adm_sec_notifications#:#Notifications###30 04 2024 new variable +forum#:#frm_all_threads#:#All Threads###31 03 2023 new variable forum#:#frm_anonymous_posting#:#Messaggi anonimi forum#:#frm_anonymous_posting_desc#:#Se selezionato sara'; consentito inserire messaggi anonimi all';interno di questo forum. forum#:#frm_at_least_one_moderator#:#Deve esserci almeno un amministratore. @@ -10091,9 +10093,9 @@ forum#:#frm_censorship_applied#:#La censura è stata applicata con successo. forum#:#frm_censorship_revoked#:#La censura è stata revocata con successo. forum#:#frm_copy#:#Copia Forum forum#:#frm_default_view#:#Vista predefinita -forum#:#frm_edit_title#:#Edita Title -forum#:#frm_enable_print_option#:#Enable print option###26 08 2024 new variable -forum#:#frm_enable_print_option_desc#:#If disabled, nobody is able to select the print option in Forum.###26 08 2024 new variable +forum#:#frm_edit_title#:#Edita Titolo +forum#:#frm_enable_print_option#:#Enable print option###30 04 2024 new variable +forum#:#frm_enable_print_option_desc#:#If disabled, nobody is able to select the print option in Forum.###30 04 2024 new variable forum#:#frm_mark_as_read#:#Segna come letto forum#:#frm_mark_as_unread#:#Segna come non letto forum#:#frm_max_notification_age#:#Periodo massimo di notifica @@ -10110,7 +10112,7 @@ forum#:#frm_moderators_detached_role_successfully#:#Il ruolo di moderatore è st forum#:#frm_moderators_not_exist_yet#:#Per favore seleziona un moderatore. forum#:#frm_moderators_select_at_least_one#:#Per favore, seleziona almeno un moderatore. forum#:#frm_moderators_select_one#:#Per favore, seleziona almeno un utente -forum#:#frm_move_invalid_file_type#:#The thread "%s" has an unsupported file type attached. Remove the file or contact the administrator of the system to add this file type to the file type whitelist.###07 02 2020 new variable +forum#:#frm_move_invalid_file_type#:#Il thread "%s" ha un tipo di file non supportato allegato. Rimuovere il file o contattare l'amministratore del sistema per aggiungere questo tipo di file alla whitelist del tipo di file. forum#:#frm_noti_message#:#Messaggio: forum#:#frm_noti_new_post#:#un nuovo messaggio è stato creato nel forum "%1$s". forum#:#frm_noti_obj_crs#:#course###29 07 2022 new variable @@ -10126,17 +10128,17 @@ forum#:#frm_noti_subject_upt_post#:#Messaggio modificato nel forum "%1$s", conve forum#:#frm_notification_activated#:#Notifica Attivata forum#:#frm_notification_deactivated#:#Notifica Disattivata forum#:#frm_post_not_activated_yet#:#Non ancora attivato. -forum#:#frm_posts#:#Forum Posts###29 07 2022 new variable +forum#:#frm_posts#:#Forum Posts forum#:#frm_pseudonym#:#Pseudonimo forum#:#frm_purifier_not_implemented_for_type_x#:#Filtro per tipo %s non ancora implementato. forum#:#frm_rating#:#Classificazione forum#:#frm_revoke_censorship#:#Revoca censura forum#:#frm_search#:#Cerca forum#:#frm_selected_merge_src#:#Selezionare una conversazione per unire: %s -forum#:#frm_settings_form_header#:#Forum Settings###07 02 2020 new variable -forum#:#frm_settings_mod_functions_header#:#Moderator Functions###07 02 2020 new variable -forum#:#frm_settings_privacy_header#:#Privacy###07 02 2020 new variable -forum#:#frm_settings_user_functions_header#:#User Functions###07 02 2020 new variable +forum#:#frm_settings_form_header#:#Impostazioni del forum +forum#:#frm_settings_mod_functions_header#:#Funzioni del moderatore +forum#:#frm_settings_privacy_header#:#Privacy +forum#:#frm_settings_user_functions_header#:#Funzioni utente forum#:#frm_statistics#:#Statistiche forum#:#frm_statistics_disabled_for_participants#:#Le statistiche sono disabilitate per i membri del forum. forum#:#frm_statistics_enabled#:#Abilita le statistiche @@ -10144,53 +10146,53 @@ forum#:#frm_statistics_enabled_desc#:#Abilita le statistiche dei post a tutti i forum#:#frm_statistics_ranking#:#Classifica forum#:#frm_subject_setting#:#Impostazioni Oggetto forum#:#frm_sure_delete_threads#:#Sei sicuro di voler eliminare le seguenti discussioni? -forum#:#frm_sure_merge_threads#:#Are you sure you want to merge these threads? Warning: This action can not be undone! Eventually ILIAS swaps source and target thread if the first posting of the source thread is created earlier than the first posting of the target thread. -forum#:#frm_task_publishing_draft_title#:#Publishing of Draft "%s"###07 02 2020 new variable +forum#:#frm_sure_merge_threads#:#Sei sicuro di voler unire questi thread? Attenzione: questa azione non può essere annullata! Alla fine ILIAS scambia il thread di origine e di destinazione se il primo post del thread di origine viene creato prima del primo post del thread di destinazione. +forum#:#frm_task_publishing_draft_title#:#Publishing of Draft "%s" forum#:#frm_wizard_page#:#Copia Forum (Passo 2/2) forum#:#is_read#:#segna come letto forum#:#make_topics_non_sticky#:#Crea Topics Non-Sticky forum#:#make_topics_sticky#:#Crea Topics Sticky forum#:#mark_moderator_posts#:#Segna i post del moderatore -forum#:#mark_moderator_posts_desc#:#Se il moderatore attivo posta questo verra' evidenziato +forum#:#mark_moderator_posts_desc#:#Se attivato i messaggi dei moderatori saranno evidenziati forum#:#merge#:#Unisci forum#:#merge_posts_into_thread#:#Unire le registrazioni in altre conversazioni forum#:#merged_threads_successfully#:#Le conversazioni selezionate sono state unite con successo forum#:#move_chosen_topics#:#Muovi i topics selezionati. forum#:#move_thread_to_forum#:#Sposta conversazione in altri forum forum#:#new_post#:#Nuovo messaggio -forum#:#new_thread_with_post#:#New Thread with Posting###29 07 2022 new variable +forum#:#new_thread_with_post#:#New Thread with Posting###31 03 2023 new variable forum#:#no_forum_selected#:#Non è selezionato nessun forum dove spostare i topics selezionati. forum#:#not_allowed_to_merge_into_another_forum#:#Non è possibile unire le conversazioni di diversi forum. -forum#:#notification_settings#:#Notification Settings###29 07 2022 new variable -forum#:#notify_censored#:#Censored Posts###29 07 2022 new variable -forum#:#notify_modified#:#Modified Posts###29 07 2022 new variable -forum#:#notify_post_deleted#:#Deleted Posts###29 07 2022 new variable -forum#:#notify_thread_deleted#:#Deleted Threads###29 07 2022 new variable -forum#:#notify_uncensored#:#Uncensored Posts###29 07 2022 new variable +forum#:#notification_settings#:#Notification Settings###31 03 2023 new variable +forum#:#notify_censored#:#Censored Posts###31 03 2023 new variable +forum#:#notify_modified#:#Modified Posts###31 03 2023 new variable +forum#:#notify_post_deleted#:#Deleted Posts###31 03 2023 new variable +forum#:#notify_thread_deleted#:#Deleted Threads###31 03 2023 new variable +forum#:#notify_uncensored#:#Uncensored Posts###31 03 2023 new variable forum#:#number_of_threads#:#Numero di discussioni visualizzate per pagina forum#:#please_choose_target#:#Si prega di scegliere una conversazione come destinazione di unione. forum#:#post_activation_desc#:#Se abilitato, il moderatore dovrà attivare i nuovi post. forum#:#post_censored_by#:#messaggio censurato nel forum "%2$s", tramite"%1$s": forum#:#post_censored_comment_by_moderator#:#Post Censurato, Commento del Moderatore forum#:#post_deleted_by#:#i seguenti messaggi del forum "%2$s" sono stati eliminati da "%1$s": -forum#:#post_draft_info#:#This post draft is only visible for you.###26 08 2024 new variable +forum#:#post_draft_info#:#This posting draft is only visible for you.###30 04 2024 new variable forum#:#post_reply#:#Re: forum#:#post_reply_count#:#Re(%s): forum#:#post_uncensored_by#:#un messaggio è stato censurato tramite "%1$s" forum#:#post_updated_by#:#messaggio successivamente modificato nel forum tramite "%1$s": "%2$s" forum#:#preset_subject#:#Imposta oggetto sulla risposta forum#:#publish#:#Pubblica -forum#:#relevance#:#Relevance###26 08 2024 new variable +forum#:#relevance#:#Relevance###30 04 2024 new variable forum#:#reopen_topics#:#Riaprire forum#:#reply_to_postings#:#Rispondi -forum#:#reset_limited_view#:#Limited view on this post an all posts below it.###29 07 2022 new variable -forum#:#reset_limited_view_button#:#Show entire thread###29 07 2022 new variable -forum#:#reset_limited_view_info#:#Limited view on this post and all posts below it.###29 07 2022 new variable +forum#:#reset_limited_view#:#Limited view on this post an all posts below it.###31 03 2023 new variable +forum#:#reset_limited_view_button#:#Show entire thread###31 03 2023 new variable +forum#:#reset_limited_view_info#:#Limited view on this post and all posts below it.###31 03 2023 new variable forum#:#restore#:#Ripristina forum#:#restore_draft_from_autosave#:#Ripristina bozza forum#:#save_draft_successfully#:#La bozza è stata salvata con successo. forum#:#sel_threads_already_sticky#:#Almeno una delle conversazioni selezionate è già permanente -forum#:#sel_threads_already_unsticky#:#At least one of the selected threads is already unsticky +forum#:#sel_threads_already_unsticky#:#Almeno uno dei thread selezionati è già non evidenziato forum#:#sel_threads_make_sticky#:#Le conversazioni selezionate sono state segnate come permanenti forum#:#sel_threads_make_unsticky#:#Le conversazioni selezionate non sono segnate ancora come permanenti forum#:#select_at_least_one_thread#:#Per favore, seleziona almeno un topic. @@ -10198,94 +10200,94 @@ forum#:#select_max_one_thread#:#Per favore seleziona solo una discussione! forum#:#selected_threads_closed#:#Le conversazioni selezionate sono state chiuse forum#:#selected_threads_reopened#:#Le conversazioni selezionate sono state riaperte forum#:#sort_by_date#:#Ordina per data -forum#:#sort_by_date_desc#:#The thread is presented in a flat view. The posts are shown in chronological order of creation.###26 08 2024 new variable +forum#:#sort_by_date_desc#:#The thread is presented in a flat view. The postings are shown in chronological order of creation.###31 03 2023 new variable forum#:#sort_by_posts#:#Ordina per post -forum#:#sort_by_posts_desc#:#The thread is presented in a tree view. Replies to posts are shown in the order in which they relate to each other.###26 08 2024 new variable -forum#:#sorting#:#Sorting###07 02 2020 new variable -forum#:#sticky#:#incolla +forum#:#sort_by_posts_desc#:#The thread is presented in a tree view. Replies to posts are shown in the order in which they relate to each other.###31 03 2023 new variable +forum#:#sorting#:#Ordinamento +forum#:#sticky#:#Incolla forum#:#sure_delete_drafts#:#Sei sicuro di voler eliminare le bozze selezionate? forum#:#switch_threads_for_merge#:#La conversazione selezionata è più datata rispetto a quella di destinazione. Per assicurarsi un’unione riuscita, la conversazione di origine e di destinazione verranno spostate. -forum#:#target_select#:#Select posting for limited view###29 07 2022 new variable -forum#:#thema#:#Threads###26 08 2024 new variable +forum#:#target_select#:#Select posting for limited view###31 03 2023 new variable +forum#:#thema#:#Threads###30 04 2024 new variable forum#:#thread#:#Argomento forum#:#thread_deleted_by#:#le seguenti conversazioni del forum "%2$s" sono state eliminate da "%1$s": -forum#:#thread_overview#:#Thread-Overview###26 08 2024 new variable -forum#:#threads_moved_successfully#:#I topics selezionati, sono stati spostati ad un altro forum, con esito positivo. -forum#:#top_thema#:#Top-Threads###26 08 2024 new variable -forum#:#topic_close#:#close -forum#:#topics_please_select_one_action#:#per favore seleziona un'azione +forum#:#thread_overview#:#Thread-Overview###30 04 2024 new variable +forum#:#threads_moved_successfully#:#I topics selezionati sono stati spostati ad un altro forum, con esito positivo. +forum#:#top_thema#:#Top-Threads###30 04 2024 new variable +forum#:#topic_close#:#Chiuso +forum#:#topics_please_select_one_action#:#Per favore seleziona un'azione forum#:#user_decides_notification#:#Ogni utente decide sulle notifiche. glo#:#glo_add_from_other#:#Raggruppa termini -glo#:#glo_add_glossary#:#Add Glossary###26 08 2024 new variable -glo#:#glo_add_to_collection#:#Add Glossary to Collection Glossary###26 08 2024 new variable -glo#:#glo_added_to_collection_info#:#The selected glossary has been added to the collection glossary.###26 08 2024 new variable -glo#:#glo_answered_correctly#:#I got it right###26 08 2024 new variable -glo#:#glo_answered_not_correctly#:#I was wrong###26 08 2024 new variable -glo#:#glo_box#:#Box###26 08 2024 new variable -glo#:#glo_box_completed#:#You have completed the box.###26 08 2024 new variable -glo#:#glo_box_last_presented#:#Box Last Presented###26 08 2024 new variable -glo#:#glo_boxes#:#Boxes###26 08 2024 new variable -glo#:#glo_boxes_really_reset#:#Do you really want to reset all boxes? All flashcards will be moved to the first box.###26 08 2024 new variable -glo#:#glo_boxes_reset#:#The boxes have been reset successfully.###26 08 2024 new variable -glo#:#glo_bulk_confirmation#:#Please check if all terms and definitions are listed correctly.###26 08 2024 new variable -glo#:#glo_bulk_creation#:#Bulk Creation###26 08 2024 new variable -glo#:#glo_change_to_collection_unavailable_info#:#To change the type of content assembly to "Collection Glossary", you first have to delete all existing terms within this glossary in tab "Content".###26 08 2024 new variable -glo#:#glo_change_to_standard_unavailable_info#:#To change the type of content assembly to "Standard Glossary", you first have to remove the selected glossaries in tab "Content".###26 08 2024 new variable -glo#:#glo_check#:#Check###29 10 2025 new variable -glo#:#glo_collection#:#Collection Glossary###29 07 2022 new variable -glo#:#glo_collection_empty_info#:#This collection glossary is currently empty. Please add at least one glossary to it.###26 08 2024 new variable -glo#:#glo_collection_info#:#The glossary collects additional terms of other glossaries.###29 07 2022 new variable -glo#:#glo_content_assembly#:#Content Assembly###29 07 2022 new variable +glo#:#glo_add_glossary#:#Add Glossary###30 04 2024 new variable +glo#:#glo_add_to_collection#:#Add Glossary to Collection Glossary###30 04 2024 new variable +glo#:#glo_added_to_collection_info#:#The selected glossary has been added to the collection glossary.###30 04 2024 new variable +glo#:#glo_answered_correctly#:#I got it right###30 04 2024 new variable +glo#:#glo_answered_not_correctly#:#I was wrong###30 04 2024 new variable +glo#:#glo_box#:#Box###30 04 2024 new variable +glo#:#glo_box_completed#:#You have completed the box.###30 04 2024 new variable +glo#:#glo_box_last_presented#:#Box Last Presented###30 04 2024 new variable +glo#:#glo_boxes#:#Boxes###30 04 2024 new variable +glo#:#glo_boxes_really_reset#:#Do you really want to reset all boxes? All flashcards will be moved to the first box.###30 04 2024 new variable +glo#:#glo_boxes_reset#:#The boxes have been reset successfully.###30 04 2024 new variable +glo#:#glo_bulk_confirmation#:#Please check if all terms and definitions are listed correctly.###30 04 2024 new variable +glo#:#glo_bulk_creation#:#Bulk Creation###30 04 2024 new variable +glo#:#glo_change_to_collection_unavailable_info#:#To change the type of content assembly to "Collection Glossary", you first have to delete all existing terms within this glossary in tab "Content".###30 04 2024 new variable +glo#:#glo_change_to_standard_unavailable_info#:#To change the type of content assembly to "Standard Glossary", you first have to remove the selected glossaries in tab "Content".###30 04 2024 new variable +glo#:#glo_check#:#Check###28 11 2025 new variable +glo#:#glo_collection#:#Collection Glossary###31 03 2023 new variable +glo#:#glo_collection_empty_info#:#This collection glossary is currently empty. Please add at least one glossary to it.###30 04 2024 new variable +glo#:#glo_collection_info#:#The glossary collects additional terms of other glossaries.###31 03 2023 new variable +glo#:#glo_content_assembly#:#Content Assembly###31 03 2023 new variable glo#:#glo_copy#:#Copia glossario glo#:#glo_copy_terms#:#Copia termini -glo#:#glo_create_term_definition_pairs#:#Create Term/Definition Pairs###26 08 2024 new variable -glo#:#glo_days_ago#:#%s days ago###26 08 2024 new variable -glo#:#glo_def_vs_term#:#Definition vs. Term###26 08 2024 new variable -glo#:#glo_def_vs_term_info#:#Show a definition first, the learner has to guess the term.###26 08 2024 new variable -glo#:#glo_flashcard_training#:#Flashcard Training###26 08 2024 new variable -glo#:#glo_flashcard_training_info#:#Offers a presentation as flashcards allowing the user to train the terms/definitions one by one.###26 08 2024 new variable -glo#:#glo_flashcards#:#Flashcards###26 08 2024 new variable -glo#:#glo_flashcards_from_today_confirmation#:#The box contains %s flashcards already presented today. Do you want to include only the remaining %s flashcards or all %s flashcards?###26 08 2024 new variable -glo#:#glo_flashcards_from_today_only_info#:#The box contains only flashcards already presented today. Please confirm that these %s flashcards will be shown to you again.###26 08 2024 new variable -glo#:#glo_flashcards_intro#:#Your goal is to correctly remember each flashcard four times in a row.
To begin with, all of the flashcards are in box 1.
Flagging a flashcard as "I got it right" will advance it to the next box.
Flagging a flashcard as "I was wrong" will return the card to the first box.
To start, select a box. This will reveal the flashcards.###26 08 2024 new variable -glo#:#glo_flashcards_progress#:#%s of %s###29 10 2025 new variable -glo#:#glo_introduction#:#Introduction###26 08 2024 new variable +glo#:#glo_create_term_definition_pairs#:#Create Term/Definition Pairs###30 04 2024 new variable +glo#:#glo_days_ago#:#%s days ago###30 04 2024 new variable +glo#:#glo_def_vs_term#:#Definition vs. Term###30 04 2024 new variable +glo#:#glo_def_vs_term_info#:#Show a definition first, the learner has to guess the term.###30 04 2024 new variable +glo#:#glo_flashcard_training#:#Flashcard Training###30 04 2024 new variable +glo#:#glo_flashcard_training_info#:#Offers a presentation as flashcards allowing the user to train the terms/definitions one by one.###30 04 2024 new variable +glo#:#glo_flashcards#:#Flashcards###30 04 2024 new variable +glo#:#glo_flashcards_from_today_confirmation#:#The box contains %s flashcards already presented today. Do you want to include only the remaining %s flashcards or all %s flashcards?###30 04 2024 new variable +glo#:#glo_flashcards_from_today_only_info#:#The box contains only flashcards already presented today. Please confirm that these %s flashcards will be shown to you again.###30 04 2024 new variable +glo#:#glo_flashcards_intro#:#Your goal is to correctly remember each flashcard four times in a row.
To begin with, all of the flashcards are in box 1.
Flagging a flashcard as "I got it right" will advance it to the next box.
Flagging a flashcard as "I was wrong" will return the card to the first box.
To start, select a box. This will reveal the flashcards.###30 04 2024 new variable +glo#:#glo_flashcards_progress#:#%s of %s###28 11 2025 new variable +glo#:#glo_introduction#:#Introduction###30 04 2024 new variable glo#:#glo_link_glo_in_glo#:#Tutti i termini del glossario del glossario di destinazione dovrebbero essere collegati adesso all’attuale glossario? -glo#:#glo_link_to_usages#:#Link###29 10 2025 new variable -glo#:#glo_md_advanced#:#Further Details###29 10 2025 new variable -glo#:#glo_page_type_gdf#:#Term Definition###29 07 2022 new variable -glo#:#glo_please_select_other_glo#:#Please select another glossary.###29 07 2022 new variable -glo#:#glo_quit_box#:#Quit Box###26 08 2024 new variable -glo#:#glo_really_remove_from_collection#:#Are you sure you want to remove the following glossary from the collection glossary?###26 08 2024 new variable +glo#:#glo_link_to_usages#:#Link###28 11 2025 new variable +glo#:#glo_md_advanced#:#Further Details###28 11 2025 new variable +glo#:#glo_page_type_gdf#:#Termine Definizione +glo#:#glo_please_select_other_glo#:#Please select another glossary.###29 06 2022 new variable +glo#:#glo_quit_box#:#Quit Box###30 04 2024 new variable +glo#:#glo_really_remove_from_collection#:#Are you sure you want to remove the following glossary from the collection glossary?###30 04 2024 new variable glo#:#glo_reference#:#Riferimento glo#:#glo_reference_terms#:#Termini di riferimento glo#:#glo_referenced_term#:#Termine riferito -glo#:#glo_removed_from_collection_info#:#The glossary has been removed from the collection glossary.###26 08 2024 new variable -glo#:#glo_reset_all_boxes#:#Reset All Boxes###26 08 2024 new variable -glo#:#glo_save_and_continue#:#Save and Continue###29 10 2025 new variable +glo#:#glo_removed_from_collection_info#:#The glossary has been removed from the collection glossary.###30 04 2024 new variable +glo#:#glo_reset_all_boxes#:#Reset All Boxes###30 04 2024 new variable +glo#:#glo_save_and_continue#:#Save and Continue###28 11 2025 new variable glo#:#glo_select_source_glo#:#Si prega di selezionare un glossario di origine. glo#:#glo_select_terms#:#Seleziona termini -glo#:#glo_selected_glossaries#:#Selected Glossaries###26 08 2024 new variable -glo#:#glo_selected_glossaries_info#:#Terms are collected from the following glossaries:###26 08 2024 new variable -glo#:#glo_selected_glossary_is_current_info#:#The selected glossary corresponds to the current glossary. Please select another glossary.###26 08 2024 new variable +glo#:#glo_selected_glossaries#:#Selected Glossaries###30 04 2024 new variable +glo#:#glo_selected_glossaries_info#:#Terms are collected from the following glossaries:###30 04 2024 new variable +glo#:#glo_selected_glossary_is_current_info#:#The selected glossary corresponds to the current glossary. Please select another glossary.###30 04 2024 new variable glo#:#glo_selected_terms_have_been_copied#:#I termini selezionati sono stati copiati negli appunti. Si prega di aprire il glossario di destinatario e clicca su "Incolla". -glo#:#glo_show_in_presentation#:#Shown in Presentation View###26 08 2024 new variable -glo#:#glo_show_in_presentation_off#:#Hide in Presentation View###26 08 2024 new variable -glo#:#glo_show_in_presentation_on#:#Show in Presentation View###26 08 2024 new variable -glo#:#glo_tax_info#:#A taxonomy in a Glossary classifies and filters the terms. It always is available in the editing view. For the presentation view, the taxonomy must first be activated. In glossaries, only one taxonomy can be used.###26 08 2024 new variable +glo#:#glo_show_in_presentation#:#Shown in Presentation View###30 04 2024 new variable +glo#:#glo_show_in_presentation_off#:#Hide in Presentation View###30 04 2024 new variable +glo#:#glo_show_in_presentation_on#:#Show in Presentation View###30 04 2024 new variable +glo#:#glo_tax_info#:#A taxonomy in a Glossary classifies and filters the terms. It always is available in the editing view. For the presentation view, the taxonomy must first be activated. In glossaries, only one taxonomy can be used.###30 04 2024 new variable glo#:#glo_term#:#Termine glossario -glo#:#glo_term_definition_pairs#:#Term/Definition Pairs###26 08 2024 new variable -glo#:#glo_term_definition_pairs_info#:#Please enter a term and a definition pair in each line. Term and definition must be separated by a semicolon or a TAB character (usually provided by clipboard actions from spreadsheet applications).###26 08 2024 new variable -glo#:#glo_term_letter#:#Letter###26 08 2024 new variable +glo#:#glo_term_definition_pairs#:#Term/Definition Pairs###30 04 2024 new variable +glo#:#glo_term_definition_pairs_info#:#Please enter a term and a definition pair in each line. Term and definition must be separated by a semicolon or a TAB character (usually provided by clipboard actions from spreadsheet applications).###30 04 2024 new variable +glo#:#glo_term_letter#:#Letter###30 04 2024 new variable glo#:#glo_term_reference#:#Riferimento termine -glo#:#glo_term_vs_def#:#Term vs. Definition###26 08 2024 new variable -glo#:#glo_term_vs_def_info#:#Show a term first, the learner has to guess the definition.###26 08 2024 new variable -glo#:#glo_terms_per_page#:#Terms per Page###26 08 2024 new variable -glo#:#glo_usage_link#:#Usage Link###29 10 2025 new variable -glo#:#glo_use_all_flashcards#:#Use All Flashcards (%s)###26 08 2024 new variable -glo#:#glo_use_remaining_flashcards#:#Use Remaining Flashcards (%s)###26 08 2024 new variable -glo#:#glo_what_means_definition#:#What does the following mean?###29 10 2025 new variable -glo#:#glo_what_means_term#:#What does "%s" mean?###29 10 2025 new variable +glo#:#glo_term_vs_def#:#Term vs. Definition###30 04 2024 new variable +glo#:#glo_term_vs_def_info#:#Show a term first, the learner has to guess the definition.###30 04 2024 new variable +glo#:#glo_terms_per_page#:#Terms per Page###30 04 2024 new variable +glo#:#glo_usage_link#:#Usage Link###28 11 2025 new variable +glo#:#glo_use_all_flashcards#:#Use All Flashcards (%s)###30 04 2024 new variable +glo#:#glo_use_remaining_flashcards#:#Use Remaining Flashcards (%s)###30 04 2024 new variable +glo#:#glo_what_means_definition#:#What does the following mean?###28 11 2025 new variable +glo#:#glo_what_means_term#:#What does "%s" mean?###28 11 2025 new variable grp#:#crs_add_grouping#:#Imposta una restrizione alle iscrizioni grp#:#crs_grouping_delete_sure#:#Sei sicuro di voler cancellare questa restrizione alle iscrizioni? grp#:#crs_grouping_deleted#:#La restrizione di iscrizione è stata rimossa. @@ -10296,31 +10298,31 @@ grp#:#crs_grp_no_courses_assigned#:#Nessun Gruppo Assegnato grp#:#events#:#Sessioni grp#:#grouping_change_assignment#:#Modifica Assegnazione grp#:#grp_activate_notification#:#Attiva notifica -grp#:#grp_activation_online_info#:#Set the group online to make it visible and available for group members. If not, only group administrators and roles with permission "Edit Settings" have access to it.###28 10 2024 new variable +grp#:#grp_activation_online_info#:#Set the group online to make it visible and available for group members. If not, only group administrators and roles with permission "Edit Settings" have access to it.###28 11 2025 new variable grp#:#grp_add_to_group#:#Aggiungi al gruppo grp#:#grp_add_user#:#Aggiungi utente grp#:#grp_add_user_to_group#:#Aggiungi utenti al gruppo grp#:#grp_added_to_list#:#Sei inserito nella lista d'attesa. Ti è stata assegnata la posizione %s nella lista. grp#:#grp_admins#:#Amministratori grp#:#grp_admission_link_failure_invalid_code#:#Impossibile registrarsi: Il link non è valido. -grp#:#grp_admission_link_failure_membership_limited#:#Can't registrate: Group membership is limited. -grp#:#grp_admission_link_failure_registration_period#:#Can't registrate: Group is out of registration period. -grp#:#grp_admission_link_success_registration#:#Successfully registrated to group "%s". +grp#:#grp_admission_link_failure_membership_limited#:#Impossibile registrarsi: l'appartenenza al gruppo è limitata. +grp#:#grp_admission_link_failure_registration_period#:#Impossibile registrarsi: il gruppo è fuori periodo di registrazione. +grp#:#grp_admission_link_success_registration#:#Registrato correttamente al corso "%s". grp#:#grp_agree#:#Accettazione grp#:#grp_agreement_header#:#Accordo d'utilizzo grp#:#grp_agreement_required#:#Devi accettare le condizioni d'uso, per accedere ai contenuti del gruppo. grp#:#grp_already_assigned#:#Hai gia'richiesto una iscrizione a questo gruppo. grp#:#grp_at_least_one_admin#:#Deve esserci almeno un amministratore del gruppo. -grp#:#grp_auto_notification#:#Welcome-Mail For New Members###07 02 2020 new variable -grp#:#grp_auto_notification_info#:#New members get a mail notification when added to the group.###07 02 2020 new variable +grp#:#grp_auto_notification#:#E-mail di benvenuto per i nuovi partecipanti +grp#:#grp_auto_notification_info#:#Ricevono automaticamente notifiche e-mail, tali partecipanti che sono stati ammessi nel gruppo da un amministratore. grp#:#grp_cancel_subscr_request#:#Cancella l'iscrizione al gruppo -grp#:#grp_cancellation_end#:#Cancellation Limit -grp#:#grp_cancellation_end_info#:#From this date on particiants cannot unsubscribe anymore. +grp#:#grp_cancellation_end#:#Limite di cancellazione +grp#:#grp_cancellation_end_info#:#Da questa data in poi i partecipanti non potranno più annullare l'iscrizione. grp#:#grp_cancellation_end_rbac_info#:#La scadenza della cancellazione è stata soddisfatta su %s, non è più possibile una cancellazione. grp#:#grp_cdf_edit_member#:#Modifica dati utente relativi al gruppo -grp#:#grp_cdf_tbl_last_edit#:#Last Update (Group-specific Data) +grp#:#grp_cdf_tbl_last_edit#:#Aggiornati (Dati specifici dei gruppi) grp#:#grp_change_type#:#Modifica la tipologia del gruppo -grp#:#grp_contact#:#Contact +grp#:#grp_contact#:#Assistenza grp#:#grp_copy#:#Copia gruppo grp#:#grp_create_and_add_user#:#Crea e aggiungi utente grp#:#grp_create_new#:#Crea nuovo gruppo @@ -10328,8 +10330,8 @@ grp#:#grp_create_new_grp_in#:#Crea nuovo gruppo in '%1'. grp#:#grp_create_or_use_existing#:#Si desidera aggiungere l'utente a un gruppo esistente o creare un nuovo gruppo? grp#:#grp_created_and_user_been_added#:#Il gruppo è stato creato e l'utente è stato aggiunto. grp#:#grp_custom_user_fields#:#Dati utente rilevanti per il gruppo -grp#:#grp_custom_user_fields_infobox#:#Create additional data fields for group members to fill in when they join. You can show this information as an additional column in the "Members" tab.###26 08 2024 new variable -grp#:#grp_custom_user_fields_table_title#:#Relevant User Data of This Group###26 08 2024 new variable +grp#:#grp_custom_user_fields_infobox#:#Create additional data fields for group members to fill in when they join. You can show this information as an additional column in the "Members" tab.###30 04 2024 new variable +grp#:#grp_custom_user_fields_table_title#:#Relevant User Data of This Group###18 06 2024 new variable grp#:#grp_deactivate_notification#:#Disattiva la notifica grp#:#grp_enable_map#:#Abilita la mappa del gruppo grp#:#grp_err_registration_limited#:#si prega di digitare una data di inizio e fine valida per la registrazione @@ -10347,11 +10349,11 @@ grp#:#grp_info_settings#:#Informazioni sul gruppo grp#:#grp_information#:#Informazioni Importanti grp#:#grp_information_info#:#Questa informazione sarà visualizzata nella pagina info e per nuove registrazioni. grp#:#grp_join_request#:#Invia -grp#:#grp_lim_assigned#:#Already assigned to associated group "%s".###07 02 2020 new variable +grp#:#grp_lim_assigned#:#Già assegnato al gruppo associato "%s". grp#:#grp_mail_admission_new_bod#:#Siamo lieti di confermare la tua iscrizione al gruppo "%s". grp#:#grp_mail_admission_new_sub#:#La tua iscrizione al gruppo "%s" grp#:#grp_mail_all#:#Per tutti i partecipanti -grp#:#grp_mail_all_info#:#Members and administrators can use the feature "Mail to Members" in the "Members" tab. +grp#:#grp_mail_all_info#:#I membri e gli amministratori possono utilizzare la funzione "Invia ai membri" nella scheda "Membri". grp#:#grp_mail_dismiss_bod#:#La tua iscrizione al gruppo "%s" e'stata cancellata. grp#:#grp_mail_dismiss_sub#:#Iscrizione finita per il gruppo "%s" grp#:#grp_mail_notification_reg_bod#:#%s e' stato iscritto al gruppo "%s". @@ -10372,23 +10374,23 @@ grp#:#grp_mail_sub_dec_sub#:#Registrazione rifiutata per il gruppo "%s" grp#:#grp_mail_subscribe_member_bod#:#siamo lieti di confermare la tua iscrizione al gruppo "%s". grp#:#grp_mail_subscribe_member_sub#:#Tua registrazione al gruppo "%s" grp#:#grp_mail_tutors_only#:#Solo per gli amministratori -grp#:#grp_mail_tutors_only_info#:#Only administrators can use the feature "Mail to Members" in the "Members" tab. +grp#:#grp_mail_tutors_only_info#:#Solo gli amministratori possono utilizzare la funzione "Invia ai membri" nella scheda "Membri". grp#:#grp_mail_type#:#Mail per i membri grp#:#grp_mail_unsubscribe_member_bod#:#confermiamo la tua cancellazione come membro del gruppo %s.\ Ci auguriamo avrai un’altra opportunità di partecipare a un altro gruppo. grp#:#grp_mail_unsubscribe_member_sub#:#La tua cancellazione come membro dal gruppo "%s" -grp#:#grp_mail_wl_bod#:#you have been assigned to the waiting list of group "%s".\nYou are assigned to position %s on the list.\n\n You will receive a message from a group administrator when your request has been approved or rejected. -grp#:#grp_mail_wl_sub#:#Your registration for group "%s". +grp#:#grp_mail_wl_bod#:#sei stato assegnato alla lista di attesa del gruppo "%s". Si è assegnato alla posizione %s sulla lista. Riceverai un messaggio da un amministratore di gruppo quando la tua richiesta è stata approvata o respinta. +grp#:#grp_mail_wl_sub#:#La tua registrazione per il gruppo "%s". grp#:#grp_map_location#:#Posizione della mappa di gruppo grp#:#grp_map_settings#:#Impostazioni della Mappa grp#:#grp_max_and_min_members_invalid#:#Il numero minimo deve essere minore del numero massimo dei membri. -grp#:#grp_mem_contacts#:#Tutorial Support +grp#:#grp_mem_contacts#:#Manuale assistenza grp#:#grp_mem_tbl_header#:#Partecipanti al gruppo grp#:#grp_member_administration#:#Modifica partecipanti grp#:#grp_members#:#Membri grp#:#grp_members_deleted#:#Elimina membri grp#:#grp_members_map#:#Mappa dei membri del gruppo grp#:#grp_members_print_title#:#Membri del gruppo -grp#:#grp_min_one_admin#:#There has to be at least one administrator assigned to this group.###26 08 2024 new variable +grp#:#grp_min_one_admin#:#There has to be at least one administrator assigned to this group.###23 10 2023 new variable grp#:#grp_missing_grp_type#:#Si prega di scegliere un tipo di gruppo. grp#:#grp_missing_password#:#Si prega di inserire la password del gruppo. grp#:#grp_new_status#:#Il tuo nuovo stato è: @@ -10397,7 +10399,7 @@ grp#:#grp_no_perm_to_add_create_first#:#Devi prima creare in gruppo. Si prega di grp#:#grp_notification#:#Notifica grp#:#grp_notification_activated#:#Notifica attivata grp#:#grp_notification_deactivated#:#Notifica disattivata -grp#:#grp_notification_explanation_admin#:#You receive this mail because you are group administrator with notification enabled. +grp#:#grp_notification_explanation_admin#:#Ricevi questa mail perché sei un amministratore di gruppo con la notifica abilitata. grp#:#grp_notification_salutation#:#Caro partecipante al gruppo, grp#:#grp_notify_off#:#Notifica delle nuove registrazioni disattivata grp#:#grp_notify_on#:#Notifica delle nuove registrazioni attivata @@ -10408,27 +10410,27 @@ grp#:#grp_presentation_type#:#Tipo di presentazione grp#:#grp_print_list#:#Genera lista grp#:#grp_public#:#Gruppo pubblico grp#:#grp_public_info#:#Il gruppo è visibile ai non iscritti ma sono presenti delle restrizioni per l'iscrizione. -grp#:#grp_reg_code#:#Registration Code -grp#:#grp_reg_code_enabled_info#:#If enabled, an automatic registration is possible using a particular registration link. -grp#:#grp_reg_code_link#:#Registration Link +grp#:#grp_reg_code#:#Codice di registrazione +grp#:#grp_reg_code_enabled_info#:#Se abilitato, è possibile una registrazione automatica utilizzando un collegamento di registrazione particolare. +grp#:#grp_reg_code_link#:#Link di registrazione grp#:#grp_reg_deac_info_screen#:#L'ammissione al gruppo è chiusa. grp#:#grp_reg_direct#:#Registrazione Diretta grp#:#grp_reg_direct_info_screen#:#Puoi unirti direttamente a questo gruppo. grp#:#grp_reg_disabled#:#Nessuna registrazione possibile grp#:#grp_reg_disabled_info#:#Solo gli amministratori del gruppo possono aggiungere utenti al gruppo. -grp#:#grp_reg_limited#:#Registration Period +grp#:#grp_reg_limited#:#Periodo di registrazione grp#:#grp_reg_max_members_info#:#Definisci il numero massimo di utenti che possono essere iscritti al gruppo. grp#:#grp_reg_no_selfreg#:#Nessuna iscrizione automatica grp#:#grp_reg_passwd_info_screen#:#Se l'amministratore di un gruppo ti ha dato la password del gruppo, puoi iscriverti. -grp#:#grp_reg_password_info#:#Users need to type in the correct password for joining the group. +grp#:#grp_reg_password_info#:#Gli utenti devono digitare la password corretta per unirsi al gruppo. grp#:#grp_reg_req_info_screen#:#Puoi richiedere l’iscrizione per questo gruppo. Riceverai un messaggio da un amministratore di gruppo quando la tua richiesta sarà ammessa o rifiutata. grp#:#grp_reg_request#:#Richiedi iscrizione grp#:#grp_reg_request_info#:#Gli utenti interessati possono spedire un messaggio/richiesta all'amministratore del gruppo. grp#:#grp_reg_subject#:#Messaggio -grp#:#grp_registration_unlimited#:#Unlimited registration period +grp#:#grp_registration_unlimited#:#Periodo di registrazione illimitato grp#:#grp_role_status#:#Ruolo/Stato grp#:#grp_search_users#:#Cerca utente -grp#:#grp_set_on_waiting_list#:#You can add your join request to the waiting list. You will receive a message from a group administrator when your request has been approved or rejected. +grp#:#grp_set_on_waiting_list#:#È possibile aggiungere la richiesta di iscrizione alla lista di attesa. Riceverai un messaggio da un amministratore di gruppo quando la tua richiesta è stata approvata o respinta. grp#:#grp_setting_header_presentation#:#Presentazione del gruppo grp#:#grp_setting_header_registration#:#Registrazione del gruppo grp#:#grp_settings#:#Impostazioni del gruppo @@ -10438,7 +10440,7 @@ grp#:#grp_subscription_min_members_info#:#Definire il numero minimo di utenti ri grp#:#grp_sure_add_user_to_group#:#Vuoi davvero aggiungere questo utente al gruppo? grp#:#grp_sure_create_group_add_user#:#Vuoi davvero creare il gruppo e aggiungere l’utente? grp#:#grp_typ#:#Tipologia del gruppo -grp#:#grp_unsubscribe#:#Unsubscrib +grp#:#grp_unsubscribe#:#Annulla l'iscrizione grp#:#grp_update_subscr_request#:#Aggiorna richiesta d’iscrizione grp#:#grp_use_existing#:#Utilizza gruppo esistente grp#:#grp_user_agreement#:#Tipi di dati rilasciati @@ -10449,120 +10451,120 @@ grp#:#grp_users_already_assigned#:#L’utente è appena stato assegnato a questo grp#:#grp_usr_agreement#:#Accordo con l’utente grp#:#grp_view_info_by_type#:#Questa presentazione di contenuto raggruppa tutti gli elementi per tipo di risorsa. grp#:#grp_view_info_simple#:#Questa presentazione di contenuto elenca tutti gli elementi in un blocco. -grp#:#grp_view_inherit#:#Standard -grp#:#grp_view_inherit_info#:#The group presentation type is adapted from a parent course. +grp#:#grp_view_inherit#:#Stabilito dal corso +grp#:#grp_view_inherit_info#:#Il tipo di presentazione di gruppo è adattato da un corso per genitori. grp#:#grp_waiting_list#:#Abilita la lista di attesa grp#:#grp_waiting_list_autofill#:#Con riempimento automatico -grp#:#grp_waiting_list_autofill_info#:#Participants are recruited from the waiting list automatically on cancellations. +grp#:#grp_waiting_list_autofill_info#:#I partecipanti vengono reclutati automaticamente dalla lista di attesa in caso di cancellazione. grp#:#grp_waiting_list_info#:#Se abilitato, e il numero massimo degli utenti è maggiore, le nuove registrazioni saranno inserite nella lista d'attesa. grp#:#grp_waiting_list_no_autofill#:#Senza riempimento automatico grp#:#grp_warn_grp_type_changed#:#Vuoi davvero modificare la tipologia del gruppo? Tutti i permessi saranno resettati. grp#:#grp_warn_no_max_set_on_waiting_list#:#È stato superato il numero massimo dei membri del gruppo. È possibile aggiungere la richiesta di partecipazione alla lista di attesa. Riceverai un messaggio da un amministratore di gruppo quando la tua richiesta sarà approvata o rifiutata. grp#:#grp_warn_wl_set_on_waiting_list#:#Alcuni utenti sono già assegnati alla lista di attesa. È possibile aggiungere la richiesta di partecipazione alla lista di attesa. Riceverai un messaggio da un amministratore di gruppo quando la tua richiesta sarà approvata o rifiutata. -grp#:#grp_wrong_max_members#:#Please check the maximum number of users. -grp#:#grp_wrong_min_max_members#:#Please check the minimum and maximum number of users. -grp#:#grp_wrong_reg_time_limit#:#Please check the registration start and end times. +grp#:#grp_wrong_max_members#:#Si prega di verificare il numero massimo di utenti. +grp#:#grp_wrong_min_max_members#:#Verifica il numero minimo e massimo di utenti. +grp#:#grp_wrong_reg_time_limit#:#Si prega di controllare gli orari di inizio e fine della registrazione. grp#:#reg_grp_max_members#:#Numero massimo di iscritti -grp#:#reg_grp_max_members_short#:#Number of Members +grp#:#reg_grp_max_members_short#:#Numero di membri grp#:#reg_grp_min_members#:#Numero minimo di membri -gsfo#:#accessibility#:#Accessibility###28 10 2024 new variable -gsfo#:#confirm_delete#:#Do you really want to delete the following Item(s)?###28 10 2024 new variable -gsfo#:#confirm_reset#:#Resetting the footer will restore all entries to their original state. All customizations and manual entries will be deleted. Do you want to continue?###28 10 2024 new variable -gsfo#:#entries_add#:#Add Entry###28 10 2024 new variable -gsfo#:#entries_edit#:#entries_edit###28 10 2024 new variable -gsfo#:#entries_parent#:#Select Group###28 10 2024 new variable -gsfo#:#entries_select_parent#:#Move Entry to Group###28 10 2024 new variable -gsfo#:#entry_action#:#Link###28 10 2024 new variable -gsfo#:#entry_action_info#:#Provide the full URL including the protocol (e.g. https://www.ilias.de)###28 10 2024 new variable -gsfo#:#entry_activation_toggled#:#Activation has been toggled###28 10 2024 new variable -gsfo#:#entry_active#:#Active###28 10 2024 new variable -gsfo#:#entry_active_info#:#Activate this Entry###28 10 2024 new variable -gsfo#:#entry_add#:#Add Entry###28 10 2024 new variable -gsfo#:#entry_delete#:#Delete###28 10 2024 new variable -gsfo#:#entry_deleted#:#Deleted###28 10 2024 new variable -gsfo#:#entry_edit#:#Edit###28 10 2024 new variable -gsfo#:#entry_external#:#Open in new Tab###28 10 2024 new variable -gsfo#:#entry_move#:#Move###28 10 2024 new variable -gsfo#:#entry_moved#:#Entry has been moved###28 10 2024 new variable -gsfo#:#entry_title#:#Title (Default Language)###28 10 2024 new variable -gsfo#:#entry_toggle_activation#:#(De-)Activate###28 10 2024 new variable -gsfo#:#group_activation_toggled#:#Activation has been toggled###28 10 2024 new variable -gsfo#:#group_active#:#Active###28 10 2024 new variable -gsfo#:#group_active_info#:#Activate this Group###28 10 2024 new variable -gsfo#:#group_add#:#Add Group###28 10 2024 new variable -gsfo#:#group_delete#:#Delete###28 10 2024 new variable -gsfo#:#group_deleted#:#Deleted###28 10 2024 new variable -gsfo#:#group_edit#:#Edit Group###28 10 2024 new variable -gsfo#:#group_edit_entries#:#Edit Entries###28 10 2024 new variable -gsfo#:#group_items#:#Items###28 10 2024 new variable -gsfo#:#group_not_empty#:#This Group contains Entries. Please move or delete them first.###28 10 2024 new variable -gsfo#:#group_title#:#Title (Default Language)###28 10 2024 new variable -gsfo#:#group_title_info#:#Additional Translations can be added with the Action "Add Translation" after saving the Group.###28 10 2024 new variable -gsfo#:#group_toggle_activation#:#(De-)Activate###28 10 2024 new variable -gsfo#:#group_translate#:#Translate###28 10 2024 new variable -gsfo#:#info_not_deletable_core#:#Default Items cannot be deleted.###28 10 2024 new variable -gsfo#:#info_not_deletable_not_empty#:#Groups with Entries cannot be deleted.###28 10 2024 new variable -gsfo#:#legal_information#:#Legal Information###28 10 2024 new variable -gsfo#:#order_saved#:#Order saved###28 10 2024 new variable -gsfo#:#permanent#:#permanent###28 10 2024 new variable -gsfo#:#reset_footer#:#Reset Footer###28 10 2024 new variable -gsfo#:#reset_success#:#Footer has been reset successfully###28 10 2024 new variable -gsfo#:#services#:#Services###28 10 2024 new variable -gsfo#:#support#:#Support###28 10 2024 new variable -gsfo#:#translate#:#Translate###29 10 2025 new variable -gsfo#:#translations#:#Translations###29 10 2025 new variable -help#:#gdtr_active#:#Active###29 10 2025 new variable -help#:#gdtr_add_step#:#Add Step###29 10 2025 new variable -help#:#gdtr_add_tour#:#Add Tour###29 10 2025 new variable -help#:#gdtr_close#:#End Tour###29 10 2025 new variable -help#:#gdtr_delete_step#:#Delete Step###29 10 2025 new variable -help#:#gdtr_delete_step_mess#:#Are you sure you want to delete this step?###29 10 2025 new variable -help#:#gdtr_delete_tour#:#Delete Tour###29 10 2025 new variable -help#:#gdtr_delete_tour_mess#:#Are you sure you want to delete this tour?###29 10 2025 new variable -help#:#gdtr_deleted_step#:#Step has been deleted.###29 10 2025 new variable -help#:#gdtr_deleted_tour#:#Tour has been deleted.###29 10 2025 new variable -help#:#gdtr_edit_content#:#Edit Content###29 10 2025 new variable -help#:#gdtr_edit_page_info#:#Edit the content that should be presented to explain the selected UI element.###29 10 2025 new variable -help#:#gdtr_edit_properties#:#Edit Properties###29 10 2025 new variable -help#:#gdtr_edit_step_info#:#On this screen you define, which element on the screen should be explained in this step of the tour. A popover with the explanation text you define will be presented pointing to this element.###29 10 2025 new variable -help#:#gdtr_edit_steps#:#Edit Steps###29 10 2025 new variable -help#:#gdtr_element_id#:#Element ID###29 10 2025 new variable -help#:#gdtr_form#:#Form###29 10 2025 new variable -help#:#gdtr_form_info#:#The first form of the main content area. Usually views should only contain one form.###29 10 2025 new variable -help#:#gdtr_guided_tours#:#Guided Tours###29 10 2025 new variable -help#:#gdtr_id_pres_users#:#Show IDs for User Accounts###29 10 2025 new variable -help#:#gdtr_id_pres_users_info#:#Login names of user that should get element IDs presented. Separate multiple entries by comma.###29 10 2025 new variable -help#:#gdtr_id_settings#:#ID Settings###29 10 2025 new variable -help#:#gdtr_import_tour#:#Import Tour###29 10 2025 new variable -help#:#gdtr_language#:#Language###29 10 2025 new variable -help#:#gdtr_language_info#:#Activates a guided tour only for users with the selected language.###29 10 2025 new variable -help#:#gdtr_list_tours_mess#:#To activate the presentation of screen and element IDs as tooltips, switch to ID Settings and enter your account name.###29 10 2025 new variable -help#:#gdtr_mainbar#:#Mainbar###29 10 2025 new variable -help#:#gdtr_mainbar_info#:#The mainbar ist the main menu on the left side. If element-ID presentation is activated, the IDs will be shown in tooltips for the distinct items.###29 10 2025 new variable -help#:#gdtr_metabar#:#Metabar###29 10 2025 new variable -help#:#gdtr_metabar_info#:#The metabar is the menu on the top, right. If element-ID presentation is activated, the IDs will be shown in tooltips for the distinct items.###29 10 2025 new variable -help#:#gdtr_next_step#:#Next Step###29 10 2025 new variable -help#:#gdtr_permission#:#Permission###29 10 2025 new variable -help#:#gdtr_permission_info#:#Activates a guided tour only for users with a certain permission on the current repository object, e.g. only for users with "edit settings" permission for a course. If you "Create" is selected, the tour is active, if the user has any creation permission.###29 10 2025 new variable -help#:#gdtr_primary_button#:#Primary Button###29 10 2025 new variable -help#:#gdtr_primary_button_info#:#The first primary button of the main content area. Primary buttons are presented emphasised compared to standard buttons. Usually views should only contain one primary button.###29 10 2025 new variable -help#:#gdtr_reset_tour#:#Reset Tour###29 10 2025 new variable -help#:#gdtr_reset_tour_mess#:#If you reset the tour, all users that previously ended the tour, will get the tour presented again. Are you sure to proceed?###29 10 2025 new variable -help#:#gdtr_screen_ids#:#Screen IDs###29 10 2025 new variable -help#:#gdtr_screen_ids_info#:#Enable a guided tour only for distinct views of the system. If element IDs are activated, you find the Screen ID of a current view on top in the header. Multiple IDs must be separated by comma.###29 10 2025 new variable -help#:#gdtr_step#:#Step###29 10 2025 new variable -help#:#gdtr_step_type#:#User Interface Element###29 10 2025 new variable -help#:#gdtr_table#:#Table###29 10 2025 new variable -help#:#gdtr_table_info#:#The first table of the main content area. Usually views should only contain one table.###29 10 2025 new variable -help#:#gdtr_tabs#:#Tabs###29 10 2025 new variable -help#:#gdtr_tabs_info#:#The tabs are displayed below the main header of the screen. If element-ID presentation is activated, the IDs will be shown in tooltips for the distinct items.###29 10 2025 new variable -help#:#gdtr_toolbar#:#Toolbar###29 10 2025 new variable -help#:#gdtr_toolbar_info#:#The first toolbar of the main content area, usually presented below the tabs. Views should only contain one toolbar.###29 10 2025 new variable -help#:#gdtr_tour_has_been_reset#:#Tour has been reset.###29 10 2025 new variable -help#:#gdtr_tour_steps#:#Tour Steps###29 10 2025 new variable -help#:#gdtr_tours#:#Tours###29 10 2025 new variable -help#:#gdtr_type#:#Type###29 10 2025 new variable -help#:#guided_tour#:#Guided Tour###29 10 2025 new variable +gsfo#:#accessibility#:#Accessibility###28 11 2025 new variable +gsfo#:#confirm_delete#:#Do you really want to delete the following Item(s)?###28 11 2025 new variable +gsfo#:#confirm_reset#:#Resetting the footer will restore all entries to their original state. All customizations and manual entries will be deleted. Do you want to continue?###28 11 2025 new variable +gsfo#:#entries_add#:#Add Entry###28 11 2025 new variable +gsfo#:#entries_edit#:#entries_edit###28 11 2025 new variable +gsfo#:#entries_parent#:#Select Group###28 11 2025 new variable +gsfo#:#entries_select_parent#:#Move Entry to Group###28 11 2025 new variable +gsfo#:#entry_action#:#Link###28 11 2025 new variable +gsfo#:#entry_action_info#:#Provide the full URL including the protocol (e.g. https://www.ilias.de)###28 11 2025 new variable +gsfo#:#entry_activation_toggled#:#Activation has been toggled###28 11 2025 new variable +gsfo#:#entry_active#:#Active###28 11 2025 new variable +gsfo#:#entry_active_info#:#Activate this Entry###28 11 2025 new variable +gsfo#:#entry_add#:#Add Entry###28 11 2025 new variable +gsfo#:#entry_delete#:#Delete###28 11 2025 new variable +gsfo#:#entry_deleted#:#Deleted###28 11 2025 new variable +gsfo#:#entry_edit#:#Edit###28 11 2025 new variable +gsfo#:#entry_external#:#Open in new Tab###28 11 2025 new variable +gsfo#:#entry_move#:#Move###28 11 2025 new variable +gsfo#:#entry_moved#:#Entry has been moved###28 11 2025 new variable +gsfo#:#entry_title#:#Title (Default Language)###28 11 2025 new variable +gsfo#:#entry_toggle_activation#:#(De-)Activate###28 11 2025 new variable +gsfo#:#group_activation_toggled#:#Activation has been toggled###28 11 2025 new variable +gsfo#:#group_active#:#Active###28 11 2025 new variable +gsfo#:#group_active_info#:#Activate this Group###28 11 2025 new variable +gsfo#:#group_add#:#Add Group###28 11 2025 new variable +gsfo#:#group_delete#:#Delete###28 11 2025 new variable +gsfo#:#group_deleted#:#Deleted###28 11 2025 new variable +gsfo#:#group_edit#:#Edit Group###28 11 2025 new variable +gsfo#:#group_edit_entries#:#Edit Entries###28 11 2025 new variable +gsfo#:#group_items#:#Items###28 11 2025 new variable +gsfo#:#group_not_empty#:#This Group contains Entries. Please move or delete them first.###28 11 2025 new variable +gsfo#:#group_title#:#Title (Default Language)###28 11 2025 new variable +gsfo#:#group_title_info#:#Additional Translations can be added with the Action "Add Translation" after saving the Group.###28 11 2025 new variable +gsfo#:#group_toggle_activation#:#(De-)Activate###28 11 2025 new variable +gsfo#:#group_translate#:#Translate###28 11 2025 new variable +gsfo#:#info_not_deletable_core#:#Default Items cannot be deleted.###28 11 2025 new variable +gsfo#:#info_not_deletable_not_empty#:#Groups with Entries cannot be deleted.###28 11 2025 new variable +gsfo#:#legal_information#:#Legal Information###28 11 2025 new variable +gsfo#:#order_saved#:#Order saved###28 11 2025 new variable +gsfo#:#permanent#:#permanent###28 11 2025 new variable +gsfo#:#reset_footer#:#Reset Footer###28 11 2025 new variable +gsfo#:#reset_success#:#Footer has been reset successfully###28 11 2025 new variable +gsfo#:#services#:#Services###28 11 2025 new variable +gsfo#:#support#:#Support###28 11 2025 new variable +gsfo#:#translate#:#Translate###28 11 2025 new variable +gsfo#:#translations#:#Translations###28 11 2025 new variable +help#:#gdtr_active#:#Active###28 11 2025 new variable +help#:#gdtr_add_step#:#Add Step###28 11 2025 new variable +help#:#gdtr_add_tour#:#Add Tour###28 11 2025 new variable +help#:#gdtr_close#:#End Tour###28 11 2025 new variable +help#:#gdtr_delete_step#:#Delete Step###28 11 2025 new variable +help#:#gdtr_delete_step_mess#:#Are you sure you want to delete this step?###28 11 2025 new variable +help#:#gdtr_delete_tour#:#Delete Tour###28 11 2025 new variable +help#:#gdtr_delete_tour_mess#:#Are you sure you want to delete this tour?###28 11 2025 new variable +help#:#gdtr_deleted_step#:#Step has been deleted.###28 11 2025 new variable +help#:#gdtr_deleted_tour#:#Tour has been deleted.###28 11 2025 new variable +help#:#gdtr_edit_content#:#Edit Content###28 11 2025 new variable +help#:#gdtr_edit_page_info#:#Edit the content that should be presented to explain the selected UI element.###28 11 2025 new variable +help#:#gdtr_edit_properties#:#Edit Properties###28 11 2025 new variable +help#:#gdtr_edit_step_info#:#On this screen you define, which element on the screen should be explained in this step of the tour. A popover with the explanation text you define will be presented pointing to this element.###28 11 2025 new variable +help#:#gdtr_edit_steps#:#Edit Steps###28 11 2025 new variable +help#:#gdtr_element_id#:#Element ID###28 11 2025 new variable +help#:#gdtr_form#:#Form###28 11 2025 new variable +help#:#gdtr_form_info#:#The first form of the main content area. Usually views should only contain one form.###28 11 2025 new variable +help#:#gdtr_guided_tours#:#Guided Tours###28 11 2025 new variable +help#:#gdtr_id_pres_users#:#Show IDs for User Accounts###28 11 2025 new variable +help#:#gdtr_id_pres_users_info#:#Login names of user that should get element IDs presented. Separate multiple entries by comma.###28 11 2025 new variable +help#:#gdtr_id_settings#:#ID Settings###28 11 2025 new variable +help#:#gdtr_import_tour#:#Import Tour###28 11 2025 new variable +help#:#gdtr_language#:#Language###28 11 2025 new variable +help#:#gdtr_language_info#:#Activates a guided tour only for users with the selected language.###28 11 2025 new variable +help#:#gdtr_list_tours_mess#:#To activate the presentation of screen and element IDs as tooltips, switch to ID Settings and enter your account name.###28 11 2025 new variable +help#:#gdtr_mainbar#:#Mainbar###28 11 2025 new variable +help#:#gdtr_mainbar_info#:#The mainbar ist the main menu on the left side. If element-ID presentation is activated, the IDs will be shown in tooltips for the distinct items.###28 11 2025 new variable +help#:#gdtr_metabar#:#Metabar###28 11 2025 new variable +help#:#gdtr_metabar_info#:#The metabar is the menu on the top, right. If element-ID presentation is activated, the IDs will be shown in tooltips for the distinct items.###28 11 2025 new variable +help#:#gdtr_next_step#:#Next Step###28 11 2025 new variable +help#:#gdtr_permission#:#Permission###28 11 2025 new variable +help#:#gdtr_permission_info#:#Activates a guided tour only for users with a certain permission on the current repository object, e.g. only for users with "edit settings" permission for a course. If you "Create" is selected, the tour is active, if the user has any creation permission.###28 11 2025 new variable +help#:#gdtr_primary_button#:#Primary Button###28 11 2025 new variable +help#:#gdtr_primary_button_info#:#The first primary button of the main content area. Primary buttons are presented emphasised compared to standard buttons. Usually views should only contain one primary button.###28 11 2025 new variable +help#:#gdtr_reset_tour#:#Reset Tour###28 11 2025 new variable +help#:#gdtr_reset_tour_mess#:#If you reset the tour, all users that previously ended the tour, will get the tour presented again. Are you sure to proceed?###28 11 2025 new variable +help#:#gdtr_screen_ids#:#Screen IDs###28 11 2025 new variable +help#:#gdtr_screen_ids_info#:#Enable a guided tour only for distinct views of the system. If element IDs are activated, you find the Screen ID of a current view on top in the header. Multiple IDs must be separated by comma.###28 11 2025 new variable +help#:#gdtr_step#:#Step###28 11 2025 new variable +help#:#gdtr_step_type#:#User Interface Element###28 11 2025 new variable +help#:#gdtr_table#:#Table###28 11 2025 new variable +help#:#gdtr_table_info#:#The first table of the main content area. Usually views should only contain one table.###28 11 2025 new variable +help#:#gdtr_tabs#:#Tabs###28 11 2025 new variable +help#:#gdtr_tabs_info#:#The tabs are displayed below the main header of the screen. If element-ID presentation is activated, the IDs will be shown in tooltips for the distinct items.###28 11 2025 new variable +help#:#gdtr_toolbar#:#Toolbar###28 11 2025 new variable +help#:#gdtr_toolbar_info#:#The first toolbar of the main content area, usually presented below the tabs. Views should only contain one toolbar.###28 11 2025 new variable +help#:#gdtr_tour_has_been_reset#:#Tour has been reset.###28 11 2025 new variable +help#:#gdtr_tour_steps#:#Tour Steps###28 11 2025 new variable +help#:#gdtr_tours#:#Tours###28 11 2025 new variable +help#:#gdtr_type#:#Type###28 11 2025 new variable +help#:#guided_tour#:#Guided Tour###28 11 2025 new variable help#:#help_all#:#Tutte help#:#help_component#:#Componente help#:#help_filter#:#Filtro @@ -10571,27 +10573,27 @@ help#:#help_help_only#:#Solo guida del flusso di lavoro help#:#help_imported_on#:#Importato in help#:#help_module_uploaded#:#Pacchetto della Guida caricato. help#:#help_modules#:#Pacchetti di Guida -help#:#help_no_content#:#There is no help content available for the current screen. You may use the search tool.###07 02 2020 new variable +help#:#help_no_content#:#Non è disponibile una sezione di aiuto per questa pagina. Puoi provare a utilizzare il tool di ricerca. help#:#help_open_online_help#:#Apri la guida in linea -help#:#help_order#:#Order###26 08 2024 new variable -help#:#help_search_label#:#Search Help###29 07 2022 new variable -help#:#help_select_a_file#:#Please select a file.###26 08 2024 new variable +help#:#help_order#:#Order###30 04 2024 new variable +help#:#help_search_label#:#Aiuto sulla ricerca +help#:#help_select_a_file#:#Please select a file.###31 03 2023 new variable help#:#help_set_mode#:#Modalità impostazione help#:#help_sure_delete_help_modules#:#Sei sicuro che questi pacchetti devono essere eliminati? help#:#help_toggle_tooltips#:#Attiva descrizione comando di aiuto -help#:#help_toggle_tooltips_info#:#Show Help Tooltips for menues and tabs. +help#:#help_toggle_tooltips_info#:#Mostra suggerimenti per menu e tab help#:#help_tooltip_id#:#ID descrizione comando help#:#help_tooltips#:#Descrizione comando di aiuto help#:#help_tooltips_and_help#:#Descrizioni comandi e guida del flusso di lavoro help#:#help_tooltips_only#:#Solo descrizioni comandi help#:#help_topcis#:#Argomenti help#:#help_tt_text#:#Testo -htlm#:#file_import_from_upload_dir_failed#:#File from Upload-Directory not imported###29 10 2025 new variable -htlm#:#file_imported_from_upload_dir#:#File imported from Upload-Directory###29 10 2025 new variable -htlm#:#import_from_upload_dir#:#Import from Upload-Directory###29 10 2025 new variable -htlm#:#import_from_upload_dir_file_name#:#Filename###29 10 2025 new variable -htlm#:#import_from_upload_dir_info#:#Please select file for import###29 10 2025 new variable -iass#:#download_assessment_paper#:#Download Record file###29 07 2022 new variable +htlm#:#file_import_from_upload_dir_failed#:#File from Upload-Directory not imported###28 11 2025 new variable +htlm#:#file_imported_from_upload_dir#:#File imported from Upload-Directory###28 11 2025 new variable +htlm#:#import_from_upload_dir#:#Import from Upload-Directory###28 11 2025 new variable +htlm#:#import_from_upload_dir_file_name#:#Filename###28 11 2025 new variable +htlm#:#import_from_upload_dir_info#:#Please select file for import###28 11 2025 new variable +iass#:#download_assessment_paper#:#Scarica il file di record iass#:#grading#:#Classificazione iass#:#grading_info#:#Informazioni di classificazione iass#:#grading_record#:#Resoconto della classificazione @@ -10600,10 +10602,10 @@ iass#:#iass_add_user_failure#:#Non possono essere aggiunti uno o più utenti. iass#:#iass_add_user_success#:#Utente aggiunto come candidato. iass#:#iass_added#:#Assegnazione individuale aggiunta iass#:#iass_amend_saved#:#La registrazione modificata è stata salvata. -iass#:#iass_assessment_not_completed#:#Assessment not completed -iass#:#iass_cancel#:#Cancel###29 07 2022 new variable +iass#:#iass_assessment_not_completed#:#Valutazione non completata +iass#:#iass_cancel#:#Cancella iass#:#iass_changed_by#:#Modificato dopo la finalizzazione -iass#:#iass_confirm_finalize#:#Finalize###29 07 2022 new variable +iass#:#iass_confirm_finalize#:#Finalizza iass#:#iass_consultation_hours#:#Ore di consultazione iass#:#iass_contact#:#Nome iass#:#iass_contact_info#:#Informazioni di contatto @@ -10613,129 +10615,129 @@ iass#:#iass_copy#:#Copia assegnazione individuale iass#:#iass_download#:#Download iass#:#iass_edit#:#Impostazioni iass#:#iass_edit_info#:#Impostazioni di informazione -iass#:#iass_edit_record#:#User record -iass#:#iass_event_time#:#Event time +iass#:#iass_edit_record#:#Storico utente +iass#:#iass_event_time#:#Data dell'evento: iass#:#iass_event_time_place_required#:#Data e luogo richiesti iass#:#iass_event_time_place_required_info#:#Data e luogo di assegnazione devono essere aggiunti a ogni registrazione del partecipante. iass#:#iass_file#:#File -iass#:#iass_file_dropzone#:#you can drop your files here###29 07 2022 new variable +iass#:#iass_file_dropzone#:#Puoi trascinare i tuoi file qui iass#:#iass_file_required#:#File di registrazione richiesto iass#:#iass_file_required_info#:#Un file di registrazione deve essere caricato per ogni registrazione del partecipante. iass#:#iass_file_visible_examinee#:#File visibile al partecipante -iass#:#iass_filter_all#:#All -iass#:#iass_filter_failed#:#Failed only -iass#:#iass_filter_finalized#:#Completed only -iass#:#iass_filter_not_finalized#:#Not completed only -iass#:#iass_filter_not_started#:#Not started only +iass#:#iass_filter_all#:#Tutti +iass#:#iass_filter_failed#:#Solo i falliti +iass#:#iass_filter_finalized#:#Solo i completati +iass#:#iass_filter_not_finalized#:#Solo i non completati +iass#:#iass_filter_not_started#:#Solo i non iniziati iass#:#iass_finalize#:#Finalizza -iass#:#iass_finalize_info#:#Individual Assessment will be finalized.###29 07 2022 new variable +iass#:#iass_finalize_info#:#La valutazione individuale verrà finalizzata iass#:#iass_finalize_user_qst#:#Lo stato del candidato dovrebbe davvero essere eliminato? Non sono possibili modifiche. -iass#:#iass_further_field_headline#:#Detailed Information +iass#:#iass_further_field_headline#:#Informazioni dettagliate iass#:#iass_graded_by#:#Classificato da -iass#:#iass_info_emails_expl#:#You may provide several addresses separated by a coma. -iass#:#iass_internal_note#:#Internal record note (should not be seen by examinee) +iass#:#iass_info_emails_expl#:#È possibile fornire diversi indirizzi, separati da una virgola +iass#:#iass_internal_note#:#Note interne (da non mostrare al partecipante) iass#:#iass_internal_note_info#:#Le note interne sono visibili solo per i tutor, ma non per i candidati. -iass#:#iass_location#:#Location -iass#:#iass_mails#:#Mails +iass#:#iass_location#:#Luogo +iass#:#iass_mails#:#E-Mail iass#:#iass_may_not_finalize#:#L’esaminato non può essere finalizzato. iass#:#iass_membership_finalized#:#Registrazione finalizzata iass#:#iass_membership_saved#:#Registrazione salvata, non ancora finalizzata -iass#:#iass_mess_notification_completed#:#You passed the assessment %s. Please check the following record for details: -iass#:#iass_mess_notification_failed#:#You failed the assessment %s. Please check the following record for details: -iass#:#iass_notify#:#Notify user after finalization -iass#:#iass_notify_explanation#:#The examinee will be notified via email after finalisation and will get access to her or his record on the Info screen. +iass#:#iass_mess_notification_completed#:#Hai superato la valutazione con punteggio %s. Controlla i seguenti risultati per dettagli: +iass#:#iass_mess_notification_failed#:#Hai fallito la valutazione con punteggio %s. Controlla i seguenti risultati per dettagli: +iass#:#iass_notify#:#Notifica l'utente dopo la finalizzazione +iass#:#iass_notify_explanation#:#L'utente esaminato verrà notificato via e-mail e riceverà l'accesso al suo risultato nella pagina di informazioni. iass#:#iass_phone#:#Telefono -iass#:#iass_place#:#Event location +iass#:#iass_place#:#Luogo di valutazione iass#:#iass_record#:#Nota di registrazione iass#:#iass_record_info#:#Il candidato può vedere la nota di registrazione dopo essere stato classificato. Se la notifica è abilitata di seguito, la nota di registrazione sarà inviata al candidato anche via e-mail. iass#:#iass_record_template#:#Modello di registrazione iass#:#iass_record_template_explanation#:#Modello per il resoconto della classificazione per il candidato. Verrà utilizzato automaticamente per ogni nuovo candidato. iass#:#iass_remove_user_qst#:#Il candidato dovrebbe essere davvero eliminato? -iass#:#iass_responsibility#:#Responsabilità -iass#:#iass_save_amend#:#Save Amend -iass#:#iass_settings_availability#:#Availability###26 08 2024 new variable +iass#:#iass_responsibility#:#Competenza +iass#:#iass_save_amend#:#Salva il record modificato +iass#:#iass_settings_availability#:#Availability###30 04 2024 new variable iass#:#iass_settings_saved#:#Impostazioni salvate. -iass#:#iass_sort_changetime_asc#:#Last Change ascending###07 02 2020 new variable -iass#:#iass_sort_changetime_desc#:#Last Change descending###07 02 2020 new variable -iass#:#iass_sort_examiner_login_asc#:#Examiner ascending -iass#:#iass_sort_examiner_login_desc#:#Examiner descending -iass#:#iass_sort_name_asc#:#Username ascending -iass#:#iass_sort_name_desc#:#Username descending -iass#:#iass_status_completed#:#Completato +iass#:#iass_sort_changetime_asc#:#Ultima modifica crescente +iass#:#iass_sort_changetime_desc#:#Ultima modifica decrescente +iass#:#iass_sort_examiner_login_asc#:#Esaminatore crescente +iass#:#iass_sort_examiner_login_desc#:#Esaminatore decrescente +iass#:#iass_sort_name_asc#:#Nome utente ? crescente +iass#:#iass_sort_name_desc#:#Nome utente ? decrescente +iass#:#iass_status_completed#:#Passato iass#:#iass_status_failed#:#Non riuscito -iass#:#iass_status_pending#:#Stato in sospeso +iass#:#iass_status_pending#:#Non ancora valutato iass#:#iass_subj_notification_completed#:#%s: Assegnazione individuale completata. iass#:#iass_subj_notification_failed#:#%s: Assegnazione individuale fallita. -iass#:#iass_upload_file#:#Upload a file -iass#:#iass_user_removed#:#User successfully removed.###29 07 2022 new variable +iass#:#iass_upload_file#:#Caricare un file +iass#:#iass_user_removed#:#Rimuovere correttamente il partecipante. iass#:#iass_usr_amend#:#Modifica della classificazione -iass#:#iass_usr_download_attachment#:#Allegato download -iass#:#iass_usr_edit#:#Edit user record and learning progress -iass#:#iass_usr_remove#:#Remove user from object -iass#:#iass_usr_view#:#User record +iass#:#iass_usr_download_attachment#:#Scarica allegato +iass#:#iass_usr_edit#:#Modifica i record degli utenti e i progressi di apprendimento +iass#:#iass_usr_remove#:#Rimuovi l'utente dall'oggetto +iass#:#iass_usr_view#:#Record dell'utente iass#:#il_iass_members#:#Partecipanti iass#:#lp_inactive#:#Nota: il progresso di apprendimento per questo oggetto non è attivo. Pertanto, le adesioni non possono essere finalizzate. -iass#:#save_amend#:#Save Amended Record###26 08 2024 new variable -impr#:#impr_page_type_impr#:#Imprint###29 07 2022 new variable +iass#:#save_amend#:#Save Amended Record###31 03 2023 new variable +impr#:#impr_page_type_impr#:#Dichiarazione di proprietà init#:#init_error_authentication_fail#:#Autenticazione fallita. init#:#init_error_maintenance#:#Il server non è disponibile a causa di manutenzione. Ci scusiamo per l’inconveniente. init#:#init_error_redirect_click#:#Si prega di cliccare per continuare. init#:#init_error_redirect_info#:#Reindirizzamento non supportato dal contesto. -irss#:#action_download#:#Download###26 08 2024 new variable -irss#:#action_goto#:#Open Resource###26 08 2024 new variable -irss#:#action_remove_resource#:#Delete Resource###26 08 2024 new variable -irss#:#action_remove_resource_msg#:#Do you want to delete the following Resource(s)?###26 08 2024 new variable -irss#:#action_remove_zip_path#:#Delete path###26 08 2024 new variable -irss#:#action_remove_zip_path_msg#:#Would you like to delete the following paths?###26 08 2024 new variable -irss#:#action_show_revisions#:#Show Revisions###26 08 2024 new variable -irss#:#by_creation_date_asc#:#By Creation Date (Ascending)###26 08 2024 new variable -irss#:#by_creation_date_desc#:#By Creation Date (Descending)###26 08 2024 new variable -irss#:#by_size_asc#:#By File Size (Ascending)###26 08 2024 new variable -irss#:#by_size_desc#:#By File Size (Descending)###26 08 2024 new variable -irss#:#by_title_asc#:#By Title (Ascending)###26 08 2024 new variable -irss#:#by_title_desc#:#By Title (Descending)###26 08 2024 new variable -irss#:#create_directory#:#Create Directory###26 08 2024 new variable -irss#:#creation_date#:#Creation Date (This Revision)###26 08 2024 new variable -irss#:#directory_name#:#Directory Name###26 08 2024 new variable -irss#:#directory_name_info#:#Name of the directory to be inserted at the current location.###26 08 2024 new variable -irss#:#download_zip#:#Download all files as ZIP###26 08 2024 new variable -irss#:#file_size#:#File Size (This Revision)###26 08 2024 new variable -irss#:#file_size_bigger_than#:#File Size > MB###26 08 2024 new variable -irss#:#full_size#:#Resource Size (All Revisions)###26 08 2024 new variable -irss#:#home_directory#:#Root-Directory###26 08 2024 new variable -irss#:#max_revision#:#Max. Revision###29 07 2022 new variable -irss#:#msg_error_adding_directory#:#The directory could not be created.###26 08 2024 new variable -irss#:#msg_success_adding_directory#:#The directory was created successfully.###26 08 2024 new variable -irss#:#msg_upload#:#Drop Files to upload###26 08 2024 new variable -irss#:#resource_id#:#Resource ID###29 07 2022 new variable -irss#:#resource_no_stakeholder_uri#:#No Stakeholder provides a valid Link to the usage of this Resource.###26 08 2024 new variable -irss#:#resource_overview#:#Resource Overview###26 08 2024 new variable -irss#:#revision#:#Revision###26 08 2024 new variable -irss#:#revision_status#:#Status###26 08 2024 new variable -irss#:#revision_status_10#:#Published###26 08 2024 new variable -irss#:#revision_status_20#:#Draft###26 08 2024 new variable -irss#:#revisions#:#Available Revisions###26 08 2024 new variable -irss#:#rid_deleted#:#File removed###26 08 2024 new variable -irss#:#rids_appended#:#Resource(s) added###26 08 2024 new variable -irss#:#rids_appended_failed#:#No Resource(s) added###29 10 2025 new variable -irss#:#rids_deleted#:#Resource(s) deleted###26 08 2024 new variable -irss#:#rids_updated#:#Ressource(n) updated###26 08 2024 new variable -irss#:#sorting#:#Default Ordering###26 08 2024 new variable -irss#:#sorting_1#:#By Title (Ascending)###26 08 2024 new variable -irss#:#sorting_2#:#By Title (Descending)###26 08 2024 new variable -irss#:#sorting_3#:#By File Size (Ascending)###26 08 2024 new variable -irss#:#sorting_4#:#By File Size (Descending)###26 08 2024 new variable -irss#:#sorting_5#:#By Creation Date (Ascending)###26 08 2024 new variable -irss#:#sorting_6#:#By Creation Date (Descending)###26 08 2024 new variable -irss#:#stakeholders#:#Stakeholders###29 07 2022 new variable -irss#:#storage_id#:#Storage ID###29 07 2022 new variable -irss#:#storage_info#:#Storage Information###29 07 2022 new variable -irss#:#title_manage_container#:#Manage files and folders###26 08 2024 new variable -irss#:#type#:#File Type###26 08 2024 new variable -irss#:#upload_field_title#:#Selected Files###26 08 2024 new variable -irss#:#upload_modal_title#:#Add Files###26 08 2024 new variable +irss#:#action_download#:#Download###30 04 2024 new variable +irss#:#action_goto#:#Open Resource###30 04 2024 new variable +irss#:#action_remove_resource#:#Delete Resource###30 04 2024 new variable +irss#:#action_remove_resource_msg#:#Do you want to delete the following Resource(s)?###30 04 2024 new variable +irss#:#action_remove_zip_path#:#Delete path###28 11 2025 new variable +irss#:#action_remove_zip_path_msg#:#Would you like to delete the following paths?###28 11 2025 new variable +irss#:#action_show_revisions#:#Show Revisions###30 04 2024 new variable +irss#:#by_creation_date_asc#:#By Creation Date (Ascending)###30 04 2024 new variable +irss#:#by_creation_date_desc#:#By Creation Date (Descending)###30 04 2024 new variable +irss#:#by_size_asc#:#By File Size (Ascending)###30 04 2024 new variable +irss#:#by_size_desc#:#By File Size (Descending)###30 04 2024 new variable +irss#:#by_title_asc#:#By Title (Ascending)###30 04 2024 new variable +irss#:#by_title_desc#:#By Title (Descending)###30 04 2024 new variable +irss#:#create_directory#:#Create Directory###28 11 2025 new variable +irss#:#creation_date#:#Creation Date (This Revision)###30 04 2024 new variable +irss#:#directory_name#:#Directory Name###28 11 2025 new variable +irss#:#directory_name_info#:#Name of the directory to be inserted at the current location.###28 11 2025 new variable +irss#:#download_zip#:#Download all files as ZIP###28 11 2025 new variable +irss#:#file_size#:#File Size (This Revision)###30 04 2024 new variable +irss#:#file_size_bigger_than#:#File Size > MB###30 04 2024 new variable +irss#:#full_size#:#Resource Size (All Revisions)###30 04 2024 new variable +irss#:#home_directory#:#Root-Directory###28 11 2025 new variable +irss#:#max_revision#:#Max. Revision###31 03 2023 new variable +irss#:#msg_error_adding_directory#:#The directory could not be created.###28 11 2025 new variable +irss#:#msg_success_adding_directory#:#The directory was created successfully.###28 11 2025 new variable +irss#:#msg_upload#:#Drop Files to upload###30 04 2024 new variable +irss#:#resource_id#:#Resource ID###31 03 2023 new variable +irss#:#resource_no_stakeholder_uri#:#No Stakeholder provides a valid Link to the usage of this Resource.###30 04 2024 new variable +irss#:#resource_overview#:#Resource Overview###30 04 2024 new variable +irss#:#revision#:#Revision###30 04 2024 new variable +irss#:#revision_status#:#Status###30 04 2024 new variable +irss#:#revision_status_10#:#Published###30 04 2024 new variable +irss#:#revision_status_20#:#Draft###30 04 2024 new variable +irss#:#revisions#:#Available Revisions###30 04 2024 new variable +irss#:#rid_deleted#:#File removed###30 04 2024 new variable +irss#:#rids_appended#:#Resource(s) added###30 04 2024 new variable +irss#:#rids_appended_failed#:#No Resource(s) added###28 11 2025 new variable +irss#:#rids_deleted#:#Resource(s) deleted###30 04 2024 new variable +irss#:#rids_updated#:#Ressource(n) updated###30 04 2024 new variable +irss#:#sorting#:#Default Ordering###30 04 2024 new variable +irss#:#sorting_1#:#By Title (Ascending)###30 04 2024 new variable +irss#:#sorting_2#:#By Title (Descending)###30 04 2024 new variable +irss#:#sorting_3#:#By File Size (Ascending)###30 04 2024 new variable +irss#:#sorting_4#:#By File Size (Descending)###30 04 2024 new variable +irss#:#sorting_5#:#By Creation Date (Ascending)###30 04 2024 new variable +irss#:#sorting_6#:#By Creation Date (Descending)###30 04 2024 new variable +irss#:#stakeholders#:#Stakeholders###31 03 2023 new variable +irss#:#storage_id#:#Storage ID###31 03 2023 new variable +irss#:#storage_info#:#Storage Information###31 03 2023 new variable +irss#:#title_manage_container#:#Manage files and folders###28 11 2025 new variable +irss#:#type#:#File Type###30 04 2024 new variable +irss#:#upload_field_title#:#Selected Files###30 04 2024 new variable +irss#:#upload_modal_title#:#Add Files###30 04 2024 new variable itgr#:#itgr_always_open#:#Sempre aperto -itgr#:#itgr_assign_materials#:#Assign Materials###29 07 2022 new variable +itgr#:#itgr_assign_materials#:#Assign Materials###31 03 2023 new variable itgr#:#itgr_assigned_materials#:#materiali assegnati itgr#:#itgr_assignment#:#assegnazione itgr#:#itgr_behaviour#:#Comportamento del blocco @@ -10745,18 +10747,18 @@ itgr#:#itgr_edit#:#modifica gruppi di oggetti itgr#:#itgr_expandable_closed#:#Espandibile (inizialmente chiuso) itgr#:#itgr_expandable_open#:#Espandibile (inizialmente aperto) itgr#:#itgr_item#:#oggetto -itgr#:#itgr_list#:#List###29 07 2022 new variable -itgr#:#itgr_list_default#:#Default###29 07 2022 new variable -itgr#:#itgr_list_default_info#:#Inherits value from upper container.###29 07 2022 new variable -itgr#:#itgr_list_presentation#:#Item Presentation###29 07 2022 new variable +itgr#:#itgr_list#:#List###31 03 2023 new variable +itgr#:#itgr_list_default#:#Default###31 03 2023 new variable +itgr#:#itgr_list_default_info#:#Inherits value from upper container.###31 03 2023 new variable +itgr#:#itgr_list_presentation#:#Item Presentation###31 03 2023 new variable itgr#:#itgr_materials#:#Materiali itgr#:#itgr_show_title#:#Mostra titolo itgr#:#itgr_show_title_info#:#Mostra il titolo del gruppo di articoli nella presentazione per l’allievo. -itgr#:#itgr_tile#:#Tiles###29 07 2022 new variable -itgr#:#itgr_tile_size#:#Tile Size###29 07 2022 new variable -jscalendar#:#about_calendar#:#A proposito dell& -jscalendar#:#about_calendar_long#:#DHTML Date/Time Selector\\n(c) dynarch.com 2002-2003\\nPer avere l& -jscalendar#:#about_time#:#\\n\\nSelezione ora:\\n- Per aumentare clicca sull& +itgr#:#itgr_tile#:#Tiles###31 03 2023 new variable +itgr#:#itgr_tile_size#:#Tile Size###31 03 2023 new variable +jscalendar#:#about_calendar#:#Informazioni sul calendario +jscalendar#:#about_calendar_long#:#Selettore data / ora DHTML (c) dynarch.com 2002-2003 Per l'ultima versione visitare: http://dynarch.com/mishoo/calendar.epl Distribuito sotto GNU LGPL. Vedi http://gnu.org/licenses/lgpl.html per i dettagli. Data selezione: - Usa i pulsanti  «, » per selezionare l'anno - Usa i pulsanti <,> per selezionare il mese - Tieni premuto il pulsante del mouse su uno dei pulsanti sopra per una selezione più rapida. +jscalendar#:#about_time#:# Tempo di tempo: - Fai clic su una delle parti del tempo per aumentarlo - o Maiusc + clic per ridurlo - oppure fai clic e trascina per una selezione più rapida. jscalendar#:#day_first#:#Mostra prima %s jscalendar#:#def_date_format#:#%A-%m-%g jscalendar#:#drag_to_move#:#Trascina per spostare @@ -10777,7 +10779,7 @@ jscalendar#:#l_fr#:#Venerdi jscalendar#:#l_mo#:#Lunedi jscalendar#:#l_sa#:#Sabato jscalendar#:#l_su#:#Domenica -jscalendar#:#l_th#:#giovedi +jscalendar#:#l_th#:#Giovedi jscalendar#:#l_tu#:#Martedi jscalendar#:#l_we#:#Mercoledi jscalendar#:#next_month#:#Mese successivo (tieni premuto per il menu) @@ -10807,16 +10809,16 @@ jscalendar#:#s_tu#:#Ma jscalendar#:#s_we#:#Me jscalendar#:#select_date#:#Seleziona una data jscalendar#:#time#:#Ora -jscalendar#:#time_part#:#(Shift-)Clicca o trascina per cambiare il valore +jscalendar#:#time_part#:#(Cambiare-)Clicca o trascina per cambiare il valore jscalendar#:#today#:#Oggi jscalendar#:#tt_date_format#:#%a, %b %e jscalendar#:#wk#:#wk ldap#:#add_ldap_server#:#Aggiungi Server -ldap#:#ldap_add_missing#:#Assegnare ruoli mancanti +ldap#:#ldap_add_missing#:#Assegna ruoli mancanti ldap#:#ldap_add_role_ass_rule#:#Nuova regola per le assegnazioni del ruolo -ldap#:#ldap_add_roles#:#Add Roles###29 10 2025 new variable -ldap#:#ldap_as_ds#:#Utilizza come origine dati -ldap#:#ldap_as_ds_info#:#Se attivata, questa configurazione LDAP viene utilizzato solo per la sincronizzazione di account utente in combinazione con altri metodi di autenticazione. +ldap#:#ldap_add_roles#:#Add Roles###28 11 2025 new variable +ldap#:#ldap_as_ds#:#Utilizza come sorgente dati +ldap#:#ldap_as_ds_info#:#Se attivata, questa configurazione LDAP viene utilizzata solo per la sincronizzazione degli account utente in combinazione con altri metodi di autenticazione (ad esempio CAS o Radius). ldap#:#ldap_assignment_type#:#Tipo di Proprietà ldap#:#ldap_authentication_settings#:#Regole di autenticazione ldap#:#ldap_bind_anonymous#:#Relaziona anonimamente @@ -10826,15 +10828,15 @@ ldap#:#ldap_check_role_assignment#:#Assegnazione di ruoli dopo gli ultimi access ldap#:#ldap_choose_role#:#Scegli ruolo ldap#:#ldap_confirm_del_role_ass#:#Cancella le assegnazioni di Ruolo ldap#:#ldap_deleted_role_mapping#:#Assegnazione cancellata. -ldap#:#ldap_deleted_rule#:#assegnazioni canellate di ruoli selezionati +ldap#:#ldap_deleted_rule#:#Cancellate le assegnazioni dei ruoli selezionati ldap#:#ldap_dn_info#:#Inserisci il nome esatto del gruppo LDAP. ldap#:#ldap_edit_role_ass_rule#:#Edita le regole di assegnazione del Ruolo. ldap#:#ldap_edit_role_assignment#:#Modifica ruolo -> Assegnazione gruppo -ldap#:#ldap_err_missing_plugin_id#:#Si prega si inserire un id plug-in valido. -ldap#:#ldap_escapedn#:#Escape DN###29 07 2022 new variable -ldap#:#ldap_escapedn_info#:#If enabled, special characters in the "Distinguished Name (DN)" of user accounts are escaped in queries for group membership.###29 07 2022 new variable +ldap#:#ldap_err_missing_plugin_id#:#Si prega si inserire un valido plug-in id. +ldap#:#ldap_escapedn#:#Salva i caratteri speciali in DN +ldap#:#ldap_escapedn_info#:#Se abilitato, i caratteri speciali in "Distinguished Name (DN)" degli account utenti sono salvati nelle query per i membri dei gruppi. ldap#:#ldap_filter_info#:#Filtro che sarà aggiunto ai filtri di ricerca in questo modo: (&(userattr=username)(userfilter)). -ldap#:#ldap_global_role#:#ruolo globale +ldap#:#ldap_global_role#:#Ruolo globale ldap#:#ldap_global_role_assignment#:#Assegnazione di ruolo in ILIAS ldap#:#ldap_global_role_info#:#Per favore scegli un ruolo ILIAS a cui i nuovi tenti verranno assegnati. ldap#:#ldap_group_attribute#:#Attributi del gruppo @@ -10843,65 +10845,65 @@ ldap#:#ldap_group_dn#:#Gruppo DN ldap#:#ldap_group_dn_info#:#Viene anteposto a "BaseDN" quando si ricercano gruppi. ldap#:#ldap_group_dn_short#:#Gruppo DN: ldap#:#ldap_group_filter#:#Filtro LDAP -ldap#:#ldap_group_filter_info#:#Filtro che sarà aggiunto ai filtri di ricerca, in caso di ricerca di gruppi, in questo modo: (&(groupattr=group)(memberattr=username)(groupfilter)). +ldap#:#ldap_group_filter_info#:#Filtro che sarà aggiunto ai filtri di ricerca, in caso di ricerca di gruppi, in questo modo: (&(groupattr=group)(memberattr=username)(groupfilter)). ldap#:#ldap_group_member#:#Attributi dei Membri di Gruppo -ldap#:#ldap_group_member_info#:#The attribute of the group object where the user dn may be found. Choose "Attribute Value is DN" if the member attribute is the distinguished name of the users. +ldap#:#ldap_group_member_info#:#L'attributo dell'oggetto gruppo in cui è possibile trovare l'utente dn. Scegli "Il valore dell'attributo è DN" se l'attributo membro è il nome distinto degli utenti. ldap#:#ldap_group_member_optional#:#L'appartenenza al gruppo è opzionale. ldap#:#ldap_group_member_short#:#Attributo: -ldap#:#ldap_group_membership#:#Apartenenza al gruppo -ldap#:#ldap_group_name#:#Nome di Gruppo +ldap#:#ldap_group_membership#:#Appartenenza al gruppo +ldap#:#ldap_group_name#:#Nome del Gruppo ldap#:#ldap_group_name_info#:#Il nome del gruppo degli utenti deve essere quello di un membro per essere autenticato con successo. -ldap#:#ldap_group_optional_info#:#Se abilitato l'appartenenza al gruppo non è richiesta per l'autenticazione. Per favore inserisci un filtro utenti per i membri di questi gruppi. Please enter a user filter for the members of these groups:
(&(userattr=username)(userfilter)) +ldap#:#ldap_group_optional_info#:#Se abilitato, l'appartenenza al gruppo non è richiesta per l'autenticazione. Per favore inserisci un filtro utenti per i membri di questi gruppi:
(&(userattr=username)(userfilter)) ldap#:#ldap_group_restrictions#:#Restrizioni dei Membri di Grupo ldap#:#ldap_group_scope#:#Tipo di ricerca ldap#:#ldap_group_scope_info#:#Estensione della ricerca di Gruppi. Se non sei sicuro, scegli "Sub". ldap#:#ldap_group_search_base#:#Base di ricerca del Gruppo -ldap#:#ldap_group_user_filter#:#Filtro Utenti +ldap#:#ldap_group_user_filter#:#Filtro utenti ldap#:#ldap_ilias_role#:#Ruolo in ILIAS ldap#:#ldap_info_text#:#Testo informativo -ldap#:#ldap_info_text_info#:#Se presente, questo testo sarà mostrato nella schermata d'informazioni dell'oggetto, assegnato a questo ruolo. Opzionalmente, questo testo è disponibile nel Repository e nel Desktop personale



If entered, this text will be shown in the repository and on the info screen for the object this role is assigned to. +ldap#:#ldap_info_text_info#:#Se presente, questo testo sarà mostrato nella schermata delle informazioni dell'oggetto, assegnato a questo ruolo. Opzionalmente, questo testo è disponibile nel Repository. ldap#:#ldap_local_role#:#Ruolo locale -ldap#:#ldap_mapping_info_type#:#Mostra le Informazioni anche nel Repository/ Desktop Personal +ldap#:#ldap_mapping_info_type#:#Mostra le Informazioni anche nel Repository ldap#:#ldap_mapping_table#:#Assegnazione di attributi LDAP al profilo utente ILIAS. ldap#:#ldap_mapping_template#:#Modello per objectClass: -ldap#:#ldap_member_info#:#L'attributo dell'oggetto Gruppo, dove si trova lo userd dn -ldap#:#ldap_memberisdn#:#L'attributo del Valore è DN -ldap#:#ldap_missing_bind_user#:#Hai scelto "Relaziona come User". Per favore, inserisci un LDAP username e password validi. +ldap#:#ldap_member_info#:#L'attributo dell'oggetto Gruppo, dove si trova l'utente dn +ldap#:#ldap_memberisdn#:#Il valore dell'attributo è DN +ldap#:#ldap_missing_bind_user#:#Hai scelto "Relaziona come utente". Per favore, inserisci username e password LDAP validi. ldap#:#ldap_missing_role_assignment#:#Per favore scegli un Ruolo generale a cui saranno assegnati i nuovi utenti ldap#:#ldap_moment_sync#:#Tipo di sincronizzazione -ldap#:#ldap_new_role_assignment#:#Aggiungi un nuovo ruolo ->Gruppo assegnato -ldap#:#ldap_plugin#:#Assegnare ruoli mancanti -ldap#:#ldap_plugin_id#:#Id Plug-in -ldap#:#ldap_plugin_info#:#Convalidare l'assegnazione di ruolo con un plug-in. Si prega si inserire un id plug-in valido. -ldap#:#ldap_referrals#:#Referenza +ldap#:#ldap_new_role_assignment#:#Aggiungi un nuovo ruolo -> Assegnazione gruppo +ldap#:#ldap_plugin#:#Assegna tramite plugin +ldap#:#ldap_plugin_id#:#Id del plugin +ldap#:#ldap_plugin_info#:#Convalidare l'assegnazione di ruolo con un plugin. Si prega si inserire un valido id plugin. +ldap#:#ldap_referrals#:#Referenze ldap#:#ldap_referrals_info#:#Se impostato, determina se la libreria LDAP si aggiorna ai riferimenti del server LDAP, oppure no. Questo dovrebbe essere disabilitato, se si usa un Active Server Directory. -ldap#:#ldap_remove_deprecated#:#Separare ruoli obsoleti -ldap#:#ldap_remove_roles#:#Remove Roles###29 10 2025 new variable +ldap#:#ldap_remove_deprecated#:#Deassegna ruoli obsoleti +ldap#:#ldap_remove_roles#:#Remove Roles###28 11 2025 new variable ldap#:#ldap_role_active#:#Abilita la sincronizzazione del gruppo ldap#:#ldap_role_assignments#:#Assegnazione di ruolo ldap#:#ldap_role_at_info#:#L'assegnazione è basata su uno specifico attributo nel profilo utente LDAP. -ldap#:#ldap_role_at_name#:#Attributi del Nome -ldap#:#ldap_role_at_value#:#Attributo del Valore +ldap#:#ldap_role_at_name#:#Nome dell'attributo +ldap#:#ldap_role_at_value#:#Valore dell'attributo ldap#:#ldap_role_bind_pass#:#Password ldap#:#ldap_role_bind_pass_info#:#Password ldap#:#ldap_role_bind_user#:#Usern DN ldap#:#ldap_role_bind_user_info#:#Per favore inserisci il nome esatto di un account utente LDAP. Tale utente deve avere diritti di scrittura per i gruppi LDAP.
ldap#:#ldap_role_by_attribute#:#Attributo LDAP ldap#:#ldap_role_by_group#:#Appartenenza al gruppo -ldap#:#ldap_role_by_plugin#:#Con Plugin -ldap#:#ldap_role_group_assignments#:#Ruoli esistenti -> Assegnazioni dei Gruppi +ldap#:#ldap_role_by_plugin#:#Con plugin +ldap#:#ldap_role_group_assignments#:#Ruoli esistenti -> Assegnazioni dei gruppi ldap#:#ldap_role_grp_at#:#Attributi ldap#:#ldap_role_grp_dn_info#:#Per favore inserisci il nome esatto del gruppo LDAP. ldap#:#ldap_role_grp_info#:#Membri di uno specifico gruppo LDAP sarano assegnati ad un dato ruolo ILIAS. ldap#:#ldap_role_grp_isdn#:#L'attributo del Valore è DN ldap#:#ldap_role_info#:#Inserisci il nome di un ruolo ILIAS che controllerà l'appartenenza al gruppo LDAP. -ldap#:#ldap_role_mapping#:#LDAP-Group -> Role Mapping +ldap#:#ldap_role_mapping#:#Ruolo ILIAS -> Mappatura gruppi LDAP ldap#:#ldap_role_name_info#:#Si prega di scegliere un ruolo globale o immettere il nome di un ruolo locale. ldap#:#ldap_role_not_exists#:#Non esiste un ruolo con questo nome. -ldap#:#ldap_role_selection#:#selezione del ruolo +ldap#:#ldap_role_selection#:#Selezione del ruolo ldap#:#ldap_role_selection_info#:#La tua selezione è ambigua. Si prega di scegliere uno dei seguenti ruoli. ldap#:#ldap_role_settings#:#Impostazioni delle sincronizzazioni dei Gruppi LDAP -ldap#:#ldap_rule_condition#:#condizione +ldap#:#ldap_rule_condition#:#Condizione ldap#:#ldap_rule_type#:#Tipo di assegnazione ldap#:#ldap_scope_one#:#Uno ldap#:#ldap_scope_sub#:#Richiesta @@ -10913,147 +10915,148 @@ ldap#:#ldap_server_binding#:#Relaziona ldap#:#ldap_server_name#:#Nome della configurazione LDAP ldap#:#ldap_server_name_info#:#Per favore scegli un nome per la configurazione di questo server LDAP. ldap#:#ldap_server_security_settings#:#Impostazioni di sicurezza -ldap#:#ldap_server_short#:#Server URL: -ldap#:#ldap_server_url_info#:#Un URL qualificato per specificare il protocollo, url e porta di connessione.
Esempio: "ldap://ldap.ilias.de:389".
Puoi aggiungere più servers separati da virgola. +ldap#:#ldap_server_short#:#URL del server: +ldap#:#ldap_server_url_info#:#Un URL qualificato per specificare il protocollo, url e porta di connessione.
Esempio: "ldap://ldap.ilias.de:389".
Puoi aggiungere più server separati da una virgola. ldap#:#ldap_server_version_info#:#Versione LDAP da usare, normalmente 3. ldap#:#ldap_servers#:#Server LDAP ldap#:#ldap_settings#:#Impostazioni del server ldap#:#ldap_sync_cron#:#Per Cron-Job ldap#:#ldap_sync_login#:#Al login ldap#:#ldap_tbl_role_ass#:#Regole attive -ldap#:#ldap_tls_conflict#:#LDAP-TLS non può essere usato in combinazione con LDAPv2. Per favore, usa LDAP v "3" o disabilita il supporto TLS. +ldap#:#ldap_tls_conflict#:#LDAP-TLS non può essere usato in combinazione con LDAPv2. Per favore, usa LDAP versione '3' o disabilita il supporto TLS. ldap#:#ldap_update_field_info#:#Aggiorna automaticamente ldap#:#ldap_update_roles#:#Assegnazioni di ruolo ldap#:#ldap_user_attribute#:#Attributi del Login Name -ldap#:#ldap_user_dn#:#User DN -ldap#:#ldap_user_mapping#:#Mappatura dei profili Utenti +ldap#:#ldap_user_dn#:#Base di ricerca utenti +ldap#:#ldap_user_mapping#:#Mappatura dei profili utenti ldap#:#ldap_user_scope#:#Tipo di ricerca -ldap#:#ldap_user_scope_info#:#Estensione della ricerca di Utenti. Se non sei sicuro, scegli "Sub". -ldap#:#ldap_user_sync#:#Impostazioni di sincronizzazione degli Utenti +ldap#:#ldap_user_scope_info#:#Ambito di ricerca degli utenti. Se non sei sicuro, scegli "Sub". +ldap#:#ldap_user_sync#:#Impostazioni di sincronizzazione degli utenti ldap#:#ldap_user_sync_cron#:#Sincronizzazione utente LDAP -ldap#:#ldap_user_sync_cron_info#:#Se attivati, i dati di base per le statistiche di utilizzo saranno raccolti ed elaborati. +ldap#:#ldap_user_sync_cron_info#:#Se attivo, gli account utenti saranno importati dalla directory LDAP e sincronizzati continuamente come operazione. ldap#:#ldap_user_sync_info#:#Definisce se i nuovi utenti sono creati automaticamente al login oppure con regolarità secondo un Cron-Job. ldap#:#ldap_username_filter#:#Filtro nome utente ldap#:#ldap_username_filter_info#:#Utilizza * come carattere jolly. -ldoc#:#deleteDocument#:#Delete###26 08 2024 new variable -ldoc#:#detachCriterionAssignment#:#Delete###26 08 2024 new variable -ldoc#:#ldoc_acceptance_history#:#Acceptance History###26 08 2024 new variable -ldoc#:#ldoc_account_reg_not_possible#:#Self-registration is currently not possible. Please contact your system administrator for further information.###26 08 2024 new variable -ldoc#:#ldoc_add_document_btn_label#:#Add Document###26 08 2024 new variable -ldoc#:#ldoc_agreement_document#:#Document###26 08 2024 new variable -ldoc#:#ldoc_agreement_document_missing#:#Missing###26 08 2024 new variable -ldoc#:#ldoc_agreement_documents_tab_label#:#Documents###26 08 2024 new variable -ldoc#:#ldoc_agreement_exists#:#Existent###26 08 2024 new variable -ldoc#:#ldoc_agreement_missing#:#Missing###26 08 2024 new variable -ldoc#:#ldoc_crit_type_usr_country#:#Profile Country###26 08 2024 new variable -ldoc#:#ldoc_crit_type_usr_country_info#:#Your document is displayed (and must be accepted the first time a user logs in) if the country set in their user profile matches the country criterion selected from the list below. Subsequent changes to the country in a user’s profile do not automatically lead to a new document being displayed. You cannot use the same country as the display criterion for more than one document.###26 08 2024 new variable -ldoc#:#ldoc_crit_type_usr_global_role#:#User Has Global Role###26 08 2024 new variable -ldoc#:#ldoc_crit_type_usr_global_role_info#:#The document is displayed (and must be accepted the first time a user logs in) if the global role the user has matches the global role selected from the list below. Subsequent changes to a user’s global role do not automatically lead to a new ToS document being displayed.###26 08 2024 new variable -ldoc#:#ldoc_crit_type_usr_language#:#Profile Language###26 08 2024 new variable -ldoc#:#ldoc_crit_type_usr_language_info#:#Your document is displayed (and must be accepted) during registration if the user’s language (selected from the list below) matches the language used during registration; or upon login if the user switches to this language in their preferences. Please note that each language can only be set as the display criterion for a single document.###26 08 2024 new variable -ldoc#:#ldoc_criterion_assignment_cannot_match#:#It is not possible to use this particular criterion for displaying your document. Because of another criterion this document would never match.###26 08 2024 new variable -ldoc#:#ldoc_criterion_assignment_must_be_unique#:#It is not possible to use this particular criterion for displaying your document. This criterion already exists.###26 08 2024 new variable -ldoc#:#ldoc_deleted_documents_p#:#The documents have been deleted.###26 08 2024 new variable -ldoc#:#ldoc_deleted_documents_s#:#The document has been deleted.###26 08 2024 new variable -ldoc#:#ldoc_disabled#:#Disabled###26 08 2024 new variable -ldoc#:#ldoc_doc_crit_attached#:#The criterion for displaying your document has been set successfully.###26 08 2024 new variable -ldoc#:#ldoc_doc_crit_changed#:#The criterion for displaying your document has been changed.###26 08 2024 new variable -ldoc#:#ldoc_doc_crit_detached#:#The criterion has been removed.###26 08 2024 new variable -ldoc#:#ldoc_doc_delete#:#Delete Document###26 08 2024 new variable -ldoc#:#ldoc_doc_detach_crit_confirm_title#:#Remove Criterion###26 08 2024 new variable -ldoc#:#ldoc_doc_sure_detach_crit#:#Are you sure that you want to remove this as the criterion for displaying your document?###26 08 2024 new variable -ldoc#:#ldoc_document#:#Document###26 08 2024 new variable -ldoc#:#ldoc_enabled#:#Enabled###26 08 2024 new variable -ldoc#:#ldoc_form_attach_criterion_head#:#Select Criterion for Displaying your Document###26 08 2024 new variable -ldoc#:#ldoc_form_criterion#:#Criterion###26 08 2024 new variable -ldoc#:#ldoc_form_document#:#Document###26 08 2024 new variable -ldoc#:#ldoc_form_document_content_changed#:#The uploaded file has had its html <head> information removed by ILIAS. Please check the result and upload a new file if necessary.###26 08 2024 new variable -ldoc#:#ldoc_form_document_info#:#Please select a file from your local filesystem. You can either upload a plain text file, or a simple HTML file. HTML files will have their <head/gt; information removed – only the contents of the body element will be used.###26 08 2024 new variable -ldoc#:#ldoc_form_document_new#:#Change Content###26 08 2024 new variable -ldoc#:#ldoc_form_document_new_info#:#Here you can select a file from your local filesystem to change the contents of the document. You can either upload a plain text file, or a simple HTML file. HTML files will have their <head> information removed - only the contents of the body element will be used. The existing contents of the document will be replaced. The acceptance history will not be affected.###26 08 2024 new variable -ldoc#:#ldoc_form_document_title#:#Title###26 08 2024 new variable -ldoc#:#ldoc_form_document_title_info#:#Please enter a title for the document.###26 08 2024 new variable -ldoc#:#ldoc_form_edit_criterion_head#:#Edit Criterion for Displaying Your Document###26 08 2024 new variable -ldoc#:#ldoc_form_edit_doc_head#:#Edit Document###26 08 2024 new variable -ldoc#:#ldoc_form_new_doc_head#:#Create Document###26 08 2024 new variable -ldoc#:#ldoc_last_modified#:#Last Change###26 08 2024 new variable -ldoc#:#ldoc_ldoc_settings#:#Settings###26 08 2024 new variable -ldoc#:#ldoc_period#:#Period###26 08 2024 new variable -ldoc#:#ldoc_period_from#:#From###26 08 2024 new variable -ldoc#:#ldoc_period_until#:#Until###26 08 2024 new variable -ldoc#:#ldoc_reevaluate_on_login#:#Re-evaluate on Successful Login###26 08 2024 new variable -ldoc#:#ldoc_reevaluate_on_login_desc#:#After a successful login, automatically have ILIAS check whether a previously-accepted document is still valid or not. If, for example, a user has changed a setting that is the criterion for displaying a particular document (for example their language setting or country], and ILIAS can find a document with that criterion, then the user has to accept the new agreement.###26 08 2024 new variable -ldoc#:#ldoc_saved_sorting#:#The new order has been saved.###26 08 2024 new variable -ldoc#:#ldoc_sure_delete_documents_p#:#Are you sure you want to delete the selected documents?###26 08 2024 new variable -ldoc#:#ldoc_sure_delete_documents_s#:#Are you sure you want to delete this document?###26 08 2024 new variable -ldoc#:#ldoc_tbl_docs_action_add_criterion#:#Add Criterion###26 08 2024 new variable -ldoc#:#ldoc_tbl_docs_cell_not_criterion#:#No criterion assigned###26 08 2024 new variable -ldoc#:#ldoc_tbl_docs_head_created#:#Creation Date###26 08 2024 new variable -ldoc#:#ldoc_tbl_docs_head_criteria#:#Criterion###26 08 2024 new variable -ldoc#:#ldoc_tbl_docs_head_last_change#:#Last Change###26 08 2024 new variable -ldoc#:#ldoc_tbl_docs_head_sorting#:#Order###26 08 2024 new variable -ldoc#:#ldoc_tbl_docs_head_title#:#Title###26 08 2024 new variable -ldoc#:#ldoc_tbl_docs_title#:#Documents###26 08 2024 new variable -ldoc#:#ldoc_tbl_hist_cell_not_criterion#:#No criterion assigned###26 08 2024 new variable -ldoc#:#ldoc_tbl_hist_head_acceptance_date#:#Date###26 08 2024 new variable -ldoc#:#ldoc_tbl_hist_head_criteria#:#Criterion###26 08 2024 new variable -ldoc#:#ldoc_tbl_hist_head_document#:#Document###26 08 2024 new variable -ldoc#:#ldoc_tbl_hist_head_firstname#:#First Name###26 08 2024 new variable -ldoc#:#ldoc_tbl_hist_head_lastname#:#Last Name###26 08 2024 new variable -ldoc#:#ldoc_tbl_hist_head_login#:#Username (Login)###26 08 2024 new variable -ldoc#:#ldoc_updated_document#:#Document uploaded###26 08 2024 new variable -lhist#:#cont_create_lhist#:#Create Learning History Element -lhist#:#cont_update_lhist#:#Edit Learning History Element -lhist#:#lhist_all#:#All -lhist#:#lhist_cont_placeholder_text#:#This element will show the learning history in the presentation mode of the portfolio. -lhist#:#lhist_enable_learning_history#:#Learning History###07 02 2020 new variable -lhist#:#lhist_enable_learning_history_info#:#Enables an overview of all achievements of a user.###07 02 2020 new variable -lhist#:#lhist_first_login#:#First Login -lhist#:#lhist_learning_history#:#Learning History -lhist#:#lhist_lhist#:#Learning History -lhist#:#lhist_manual#:#Manual -lhist#:#lhist_no_entries#:#Achieve your goals! Learn something today to further your learning history. -lhist#:#lhist_period#:#Period -lhist#:#lhist_selected#:#Selected -lhist#:#lhist_show_more#:#Show More -lhist#:#lhist_type_of_achievement#:#Type of Achievement -like#:#like#:#Like -like#:#reaction#:#Reaction +ldoc#:#deleteDocument#:#Delete###30 04 2024 new variable +ldoc#:#detachCriterionAssignment#:#Delete###30 04 2024 new variable +ldoc#:#ldoc_acceptance_history#:#Acceptance History###30 04 2024 new variable +ldoc#:#ldoc_account_reg_not_possible#:#Self-registration is currently not possible. Please contact your system administrator for further information.###30 04 2024 new variable +ldoc#:#ldoc_add_document_btn_label#:#Add Document###30 04 2024 new variable +ldoc#:#ldoc_agreement_document#:#Document###30 04 2024 new variable +ldoc#:#ldoc_agreement_document_missing#:#Missing###30 04 2024 new variable +ldoc#:#ldoc_agreement_documents_tab_label#:#Documents###30 04 2024 new variable +ldoc#:#ldoc_agreement_exists#:#Existent###30 04 2024 new variable +ldoc#:#ldoc_agreement_missing#:#Missing###30 04 2024 new variable +ldoc#:#ldoc_crit_type_usr_country#:#Profile Country###30 04 2024 new variable +ldoc#:#ldoc_crit_type_usr_country_info#:#Your document is displayed (and must be accepted the first time a user logs in) if the country set in their user profile matches the country criterion selected from the list below. Subsequent changes to the country in a user’s profile do not automatically lead to a new document being displayed. You cannot use the same country as the display criterion for more than one document.###30 04 2024 new variable +ldoc#:#ldoc_crit_type_usr_global_role#:#User Has Global Role###30 04 2024 new variable +ldoc#:#ldoc_crit_type_usr_global_role_info#:#The document is displayed (and must be accepted the first time a user logs in) if the global role the user has matches the global role selected from the list below. Subsequent changes to a user’s global role do not automatically lead to a new ToS document being displayed.###30 04 2024 new variable +ldoc#:#ldoc_crit_type_usr_language#:#Profile Language###30 04 2024 new variable +ldoc#:#ldoc_crit_type_usr_language_info#:#Your document is displayed (and must be accepted) during registration if the user’s language (selected from the list below) matches the language used during registration; or upon login if the user switches to this language in their preferences. Please note that each language can only be set as the display criterion for a single document.###30 04 2024 new variable +ldoc#:#ldoc_criterion_assignment_cannot_match#:#It is not possible to use this particular criterion for displaying your document. Because of another criterion this document would never match.###30 04 2024 new variable +ldoc#:#ldoc_criterion_assignment_must_be_unique#:#It is not possible to use this particular criterion for displaying your document. This criterion already exists.###30 04 2024 new variable +ldoc#:#ldoc_deleted_documents_p#:#The documents have been deleted.###30 04 2024 new variable +ldoc#:#ldoc_deleted_documents_s#:#The document has been deleted.###30 04 2024 new variable +ldoc#:#ldoc_disabled#:#Disabled###30 04 2024 new variable +ldoc#:#ldoc_doc_crit_attached#:#The criterion for displaying your document has been set successfully.###30 04 2024 new variable +ldoc#:#ldoc_doc_crit_changed#:#The criterion for displaying your document has been changed.###30 04 2024 new variable +ldoc#:#ldoc_doc_crit_detached#:#The criterion has been removed.###30 04 2024 new variable +ldoc#:#ldoc_doc_delete#:#Delete Document###30 04 2024 new variable +ldoc#:#ldoc_doc_detach_crit_confirm_title#:#Remove Criterion###30 04 2024 new variable +ldoc#:#ldoc_doc_sure_detach_crit#:#Are you sure that you want to remove this as the criterion for displaying your document?###30 04 2024 new variable +ldoc#:#ldoc_document#:#Document###30 04 2024 new variable +ldoc#:#ldoc_enabled#:#Enabled###30 04 2024 new variable +ldoc#:#ldoc_form_attach_criterion_head#:#Select Criterion for Displaying your Document###30 04 2024 new variable +ldoc#:#ldoc_form_criterion#:#Criterion###30 04 2024 new variable +ldoc#:#ldoc_form_criterion_standard_fields_info_text#:#Please check the settings of the standard fields before defining the criterion.###28 11 2025 new variable +ldoc#:#ldoc_form_document#:#Document###30 04 2024 new variable +ldoc#:#ldoc_form_document_content_changed#:#The uploaded file has had its html <head> information removed by ILIAS. Please check the result and upload a new file if necessary.###30 04 2024 new variable +ldoc#:#ldoc_form_document_info#:#Please select a file from your local filesystem. You can either upload a plain text file, or a simple HTML file. HTML files will have their <head/gt; information removed – only the contents of the body element will be used.###30 04 2024 new variable +ldoc#:#ldoc_form_document_new#:#Change Content###30 04 2024 new variable +ldoc#:#ldoc_form_document_new_info#:#Here you can select a file from your local filesystem to change the contents of the document. You can either upload a plain text file, or a simple HTML file. HTML files will have their <head> information removed - only the contents of the body element will be used. The existing contents of the document will be replaced. The acceptance history will not be affected.###30 04 2024 new variable +ldoc#:#ldoc_form_document_title#:#Title###30 04 2024 new variable +ldoc#:#ldoc_form_document_title_info#:#Please enter a title for the document.###30 04 2024 new variable +ldoc#:#ldoc_form_edit_criterion_head#:#Edit Criterion for Displaying Your Document###30 04 2024 new variable +ldoc#:#ldoc_form_edit_doc_head#:#Edit Document###30 04 2024 new variable +ldoc#:#ldoc_form_new_doc_head#:#Create Document###30 04 2024 new variable +ldoc#:#ldoc_last_modified#:#Last Change###30 04 2024 new variable +ldoc#:#ldoc_ldoc_settings#:#Settings###30 04 2024 new variable +ldoc#:#ldoc_period#:#Period###30 04 2024 new variable +ldoc#:#ldoc_period_from#:#From###30 04 2024 new variable +ldoc#:#ldoc_period_until#:#Until###30 04 2024 new variable +ldoc#:#ldoc_reevaluate_on_login#:#Re-evaluate on Successful Login###30 04 2024 new variable +ldoc#:#ldoc_reevaluate_on_login_desc#:#After a successful login, automatically have ILIAS check whether a previously-accepted document is still valid or not. If, for example, a user has changed a setting that is the criterion for displaying a particular document (for example their language setting or country], and ILIAS can find a document with that criterion, then the user has to accept the new agreement.###30 04 2024 new variable +ldoc#:#ldoc_saved_sorting#:#The new order has been saved.###30 04 2024 new variable +ldoc#:#ldoc_sure_delete_documents_p#:#Are you sure you want to delete the selected documents?###30 04 2024 new variable +ldoc#:#ldoc_sure_delete_documents_s#:#Are you sure you want to delete this document?###30 04 2024 new variable +ldoc#:#ldoc_tbl_docs_action_add_criterion#:#Add Criterion###30 04 2024 new variable +ldoc#:#ldoc_tbl_docs_cell_not_criterion#:#No criterion assigned###30 04 2024 new variable +ldoc#:#ldoc_tbl_docs_head_created#:#Creation Date###30 04 2024 new variable +ldoc#:#ldoc_tbl_docs_head_criteria#:#Criterion###30 04 2024 new variable +ldoc#:#ldoc_tbl_docs_head_last_change#:#Last Change###30 04 2024 new variable +ldoc#:#ldoc_tbl_docs_head_sorting#:#Order###30 04 2024 new variable +ldoc#:#ldoc_tbl_docs_head_title#:#Title###30 04 2024 new variable +ldoc#:#ldoc_tbl_docs_title#:#Documents###30 04 2024 new variable +ldoc#:#ldoc_tbl_hist_cell_not_criterion#:#No criterion assigned###30 04 2024 new variable +ldoc#:#ldoc_tbl_hist_head_acceptance_date#:#Date###30 04 2024 new variable +ldoc#:#ldoc_tbl_hist_head_criteria#:#Criterion###30 04 2024 new variable +ldoc#:#ldoc_tbl_hist_head_document#:#Document###30 04 2024 new variable +ldoc#:#ldoc_tbl_hist_head_firstname#:#First Name###30 04 2024 new variable +ldoc#:#ldoc_tbl_hist_head_lastname#:#Last Name###30 04 2024 new variable +ldoc#:#ldoc_tbl_hist_head_login#:#Username (Login)###30 04 2024 new variable +ldoc#:#ldoc_updated_document#:#Document uploaded###30 04 2024 new variable +lhist#:#cont_create_lhist#:#Crea uno storico dell'apprendimento +lhist#:#cont_update_lhist#:#Modifica storico dell'apprendimento +lhist#:#lhist_all#:#Tutto +lhist#:#lhist_cont_placeholder_text#:#Questo elemento mostrerà lo storico dell'apprendimento nella modalità di presentazione del portfolio. +lhist#:#lhist_enable_learning_history#:#Storico di apprendimento +lhist#:#lhist_enable_learning_history_info#:#Abilita una panoramica dei traguardi dell'utente. +lhist#:#lhist_first_login#:#Primo accesso +lhist#:#lhist_learning_history#:#Storico dell'apprendimento +lhist#:#lhist_lhist#:#Storico dell'apprendimento +lhist#:#lhist_manual#:#Manuale +lhist#:#lhist_no_entries#:#Raggiungi i tuoi obiettivi! Impara qualcosa oggi per progredire nel tuo apprendimento. +lhist#:#lhist_period#:#Periodo +lhist#:#lhist_selected#:#Selezionato +lhist#:#lhist_show_more#:#Mostra di più +lhist#:#lhist_type_of_achievement#:#Tipo di traguardo +like#:#like#:#Mi piace +like#:#reaction#:#Reazione link#:#link_chapters#:#Capitoli link#:#link_link#:#Collegamento link#:#link_mobs#:#Oggetti multimediali link#:#link_terms#:#Termini link#:#link_wpages#:#Pagine Wiki -lm#:#lm_btn_lp_toggle_state_completed#:#Set Not Completed###29 07 2022 new variable -lm#:#lm_btn_lp_toggle_state_not_completed#:#Set Completed###29 07 2022 new variable +lm#:#lm_btn_lp_toggle_state_completed#:#Imposta come non completato +lm#:#lm_btn_lp_toggle_state_not_completed#:#Imposta come completato lm#:#lm_copy#:#Copia il modulo di apprendimento -lm#:#lm_edit_chapters#:#Edit Chapters###26 08 2024 new variable -lm#:#lm_edit_lm_settings#:#Edit Learning Module Settings###26 08 2024 new variable -lm#:#lm_est_reading_time#:#Estimated Reading Time###29 07 2022 new variable -lm#:#lm_est_reading_time_info#:#In Learning Modules in the repository the estimated reading time can be determined and displayed.###29 07 2022 new variable -lm#:#lm_insert_chapter#:#Insert chapter###28 10 2024 new variable -lm#:#lm_insert_chapter_after#:#Insert chapter after###28 10 2024 new variable -lm#:#lm_insert_chapter_before#:#Insert chapter before###28 10 2024 new variable -lm#:#lm_insert_chapter_clip#:#Insert chapter from clipboard###29 10 2025 new variable -lm#:#lm_insert_chapter_clip_after#:#Insert chapter from clipboard after###29 10 2025 new variable -lm#:#lm_insert_chapter_clip_before#:#Insert chapter from clipboard before###29 10 2025 new variable -lm#:#lm_insert_layout_after#:#Insert template after###28 10 2024 new variable -lm#:#lm_insert_layout_before#:#Insert template before###28 10 2024 new variable -lm#:#lm_insert_page#:#Insert page###28 10 2024 new variable -lm#:#lm_insert_page_after#:#Insert page after###28 10 2024 new variable -lm#:#lm_insert_page_before#:#Insert page before###28 10 2024 new variable -lm#:#lm_insert_page_clip#:#Insert page from clipboard###28 10 2024 new variable -lm#:#lm_insert_page_clip_after#:#Insert page from clipboard after###28 10 2024 new variable -lm#:#lm_insert_page_clip_before#:#Insert page from clipboard before###28 10 2024 new variable -lm#:#lm_page_added#:#Page has been added.###26 08 2024 new variable -lm#:#lm_page_type_lm#:#LM Page###29 07 2022 new variable -lm#:#lm_pages_added#:#Pages have been added.###26 08 2024 new variable +lm#:#lm_edit_chapters#:#Edit Chapters###23 10 2023 new variable +lm#:#lm_edit_lm_settings#:#Edit Learning Module Settings###23 10 2023 new variable +lm#:#lm_est_reading_time#:#Estimated Reading Time###31 03 2023 new variable +lm#:#lm_est_reading_time_info#:#In Learning Modules in the repository the estimated reading time can be determined and displayed.###31 03 2023 new variable +lm#:#lm_insert_chapter#:#Insert chapter###28 11 2025 new variable +lm#:#lm_insert_chapter_after#:#Insert chapter after###28 11 2025 new variable +lm#:#lm_insert_chapter_before#:#Insert chapter before###28 11 2025 new variable +lm#:#lm_insert_chapter_clip#:#Insert chapter from clipboard###28 11 2025 new variable +lm#:#lm_insert_chapter_clip_after#:#Insert chapter from clipboard after###28 11 2025 new variable +lm#:#lm_insert_chapter_clip_before#:#Insert chapter from clipboard before###28 11 2025 new variable +lm#:#lm_insert_layout_after#:#Insert template after###28 11 2025 new variable +lm#:#lm_insert_layout_before#:#Insert template before###28 11 2025 new variable +lm#:#lm_insert_page#:#Insert page###28 11 2025 new variable +lm#:#lm_insert_page_after#:#Insert page after###28 11 2025 new variable +lm#:#lm_insert_page_before#:#Insert page before###28 11 2025 new variable +lm#:#lm_insert_page_clip#:#Insert page from clipboard###28 11 2025 new variable +lm#:#lm_insert_page_clip_after#:#Insert page from clipboard after###28 11 2025 new variable +lm#:#lm_insert_page_clip_before#:#Insert page from clipboard before###28 11 2025 new variable +lm#:#lm_page_added#:#Page has been added.###28 11 2023 new variable +lm#:#lm_page_type_lm#:#Pagina LM +lm#:#lm_pages_added#:#Pages have been added.###28 11 2023 new variable lm#:#lm_save_titles#:#Titoli salvati. -lng#:#language_detection#:#Language Detection###29 07 2022 new variable -lng#:#lng_disable_language_detection#:#Disattiva rilevamento lingua +lng#:#language_detection#:#Riconoscimento della lingua +lng#:#lng_disable_language_detection#:#Disattiva riconoscimento lingua lng#:#lng_download_deprecated#:#Scarica elenco deprecato -lng#:#lng_enable_language_detection#:#Consenti rilevamento lingua -lng#:#lng_switch_language_detection#:#Switch Language Detection###26 08 2024 new variable +lng#:#lng_enable_language_detection#:#Abilita il riconoscimento della lingua +lng#:#lng_switch_language_detection#:#Switch Language Detection###30 04 2024 new variable log#:#log_browser#:#Registro della console del browser log#:#log_browser_users#:#Nomi utente utilizzando il registro della console log#:#log_cache_#:#Caching @@ -11061,9 +11064,9 @@ log#:#log_cache_info#:#Solo se un messaggio raggiunge o supera il livello di mem log#:#log_cache_level#:#Livello caching log#:#log_component_btn_reset#:#Ripristina impostazioni log#:#log_component_col_component#:#Componente -log#:#log_component_col_level#:#Livello-registro -log#:#log_component_root_desc#:#Livello coda per messaggi che non sono assegnati ad alcun componente. -log#:#log_components#:#Komponenten +log#:#log_component_col_level#:#Livello registro +log#:#log_component_root_desc#:#Livello registro per messaggi che non sono assegnati ad alcun componente. +log#:#log_components#:#Componenti log#:#log_general_settings#:#Impostazioni di registrazione log#:#log_level_alert#:#ALLARME log#:#log_level_critical#:#CRITICO @@ -11072,315 +11075,315 @@ log#:#log_level_emergency#:#EMERGENZA log#:#log_level_error#:#ERRORE log#:#log_level_info#:#INFO log#:#log_level_notice#:#AVVISO -log#:#log_level_off#:#Disabilita +log#:#log_level_off#:#Disabilitato log#:#log_level_warning#:#ATTENZIONE -log#:#log_log_level#:#Log-Level +log#:#log_log_level#:#Livello di registro log#:#log_memory#:#Utilizzo della memoria di registro logging#:#error_settings_saved#:#Impostazioni salvate logging#:#frm_clear_older_then#:#Elimina file più vecchi di logging#:#frm_clear_older_then_info#:#Si prega di digitare la durata in giorni. logging#:#log_error_file_cleanup_info#:#Elimina errore di registrazione file datato o orfano. -logging#:#log_error_file_cleanup_title#:#Elimina errore di registrazione file datato o orfano +logging#:#log_error_file_cleanup_title#:#Elimina errori di registrazione per file datati o orfani logging#:#log_error_folder#:#Percorso logging#:#log_error_mail#:#Destinatario mail -logging#:#log_error_message#:#Ha avuto luogo un %s errore. +logging#:#log_error_message#:#Spiacente, ha avuto luogo un errore. È stato creato un file di log, identificativo %s. logging#:#log_error_message_send_mail#:#Si prega di inviare una mail a %s -logging#:#log_error_path_not_configured_or_wrong#:#Path to errors (error_path) is not configured or unreachable.###07 02 2020 new variable +logging#:#log_error_path_not_configured_or_wrong#:#Il percorso degli errori (error_path) non è configurato o non è raggiungibile. logging#:#log_error_settings#:#Impostazioni di errore di registrazione logging#:#logs_settings#:#Impostazioni di registrazione -lso#:#abstract#:#Abstract -lso#:#abstract_img#:#Image for Abstract -lso#:#avail_time_period#:#Period -lso#:#completed_steps#:#Passed Steps -lso#:#condition_always#:#Always -lso#:#cont_ed_insert_lsocurriculum#:#Insert Learning Sequence Curriculum###26 08 2024 new variable -lso#:#cont_ed_insert_lsostartbutton#:#Insert Learning Sequence Start Button###26 08 2024 new variable +lso#:#abstract#:#Riassunto +lso#:#abstract_img#:#Immagine per il riassunto +lso#:#avail_time_period#:#Periodo +lso#:#completed_steps#:#Passi completati +lso#:#condition_always#:#Sempre +lso#:#cont_ed_insert_lsocurriculum#:#Insert Learning Sequence Curriculum###17 01 2024 new variable +lso#:#cont_ed_insert_lsostartbutton#:#Insert Learning Sequence Start Button###17 01 2024 new variable lso#:#curriculum#:#Curriculum -lso#:#delete_confirmation#:#Are you sure you want to delete this objects? -lso#:#entries_deleted#:#Successfuly delete entries -lso#:#entries_updated#:#Entries saved -lso#:#extro#:#Exitpage -lso#:#extro_img#:#Image for Exitpage -lso#:#failed#:#Failed###07 02 2020 new variable -lso#:#finished#:#Finished###07 02 2020 new variable -lso#:#first_access#:#First Access -lso#:#last_visited_step#:#Last visited Step -lso#:#learner_view#:#Overview -lso#:#lp_not_relevant_post_cond#:#currently not relevant for continuation###26 08 2024 new variable -lso#:#lso_activation_online_info#:#Set the Learning Sequence online to make it visible and available for Learning Sequence members. If not, only administrators and tutors will have access to it.###07 02 2020 new variable -lso#:#lso_at_least_one_admin#:#There has to be at least one learning sequence administrator. -lso#:#lso_edit_permission#:#User can change permission settings -lso#:#lso_header_delete_members#:#Would you like to remove the following members from this learning sequence? -lso#:#lso_header_edit_members#:#Edit Members -lso#:#lso_intropages_deprecationhint#:#You can edit the abstract and exit page in the tab "Content".###26 08 2024 new variable -lso#:#lso_legacy_info#:#The object will open in a new tab in your browser. Please return to this tab after processing/editing the contents. Reload the page if you have edited the content but the "Next" button remains disabled.###26 08 2024 new variable -lso#:#lso_mail_admission_new_bod#:#we are pleased to announce your registration for the learning sequence "%s". -lso#:#lso_mail_admission_new_sub#:#Your registration for learning sequence "%s" -lso#:#lso_mail_dismiss_bod#:#your membership in learning sequence "%s" has been terminated. -lso#:#lso_mail_dismiss_sub#:#Membership terminated in learning sequence "%s" -lso#:#lso_mail_notification_reg_bod#:#%s has registered for learning sequence "%s". -lso#:#lso_mail_notification_reg_req_bod#:#%s has requested membership for learning sequence "%s". -lso#:#lso_mail_notification_reg_req_bod2#:#To confirm this registration, go to: -lso#:#lso_mail_notification_reg_req_sub#:#Request to join learning sequence "%s" -lso#:#lso_mail_notification_reg_sub#:#User registered for learning sequence "%s" -lso#:#lso_mail_notification_unsub_bod#:#%s has cancelled his/her membership for the learning sequence "%s". -lso#:#lso_mail_notification_unsub_bod2#:#There might be other members on a waiting list of your learning sequence.\nYou should check for the waiting list now.\nTo view the members of your learning sequence, click here: -lso#:#lso_mail_notification_unsub_sub#:#User left learning sequence "%s" -lso#:#lso_mail_permanent_link#:#Click on the following link to find all of the information you need regarding the learning sequence: -lso#:#lso_mail_status_bod#:#your status in learning sequence "%s" has been changed. -lso#:#lso_mail_status_sub#:#Changed status in learning sequence "%s" -lso#:#lso_mail_sub_acc_bod#:#we are pleased to confirm your registration for the learning sequence "%s". -lso#:#lso_mail_sub_acc_sub#:#Registration confirmed for "%s" -lso#:#lso_mail_sub_dec_bod#:#we regret to say that your registration has been refused for learning sequence "%s". -lso#:#lso_mail_sub_dec_sub#:#Registration refused for learning sequence "%s" -lso#:#lso_mail_subscribe_member_bod#:#we are pleased to confirm your registration for the learning sequence "%s". -lso#:#lso_mail_subscribe_member_sub#:#Your registration for learning sequence "%s" -lso#:#lso_mail_unsubscribe_member_bod#:#we confirm your cancellation of membership in learning sequence %s.\nWe hope that you find an opportunity to participate in another learning sequence. -lso#:#lso_mail_unsubscribe_member_sub#:#Your cancellation of membership in learning sequence "%s" -lso#:#lso_mail_wl_bod#:#you have been assigned to the waiting list of learning sequence "%s".\nYou are assigned to position %s on the list.\n\nYou will receive a message from a learning sequence administrator when your request has been approved or rejected. -lso#:#lso_mail_wl_sub#:#Your registration for learning sequence "%s" -lso#:#lso_mainbar_button_label_curriculum#:#Curriculum###07 02 2020 new variable -lso#:#lso_mainbar_button_label_toc#:#Content###07 02 2020 new variable -lso#:#lso_mem_tbl_header#:#Learning Sequence Member -lso#:#lso_member_administration#:#Edit Participants -lso#:#lso_members_deleted#:#Deleted members -lso#:#lso_members_gallery#:#Learning Sequence Members Gallery -lso#:#lso_members_print_title#:#Learning sequence mebers -lso#:#lso_min_one_admin#:#There has to be at least one administrator assigned to this learning sequence. -lso#:#lso_msg_member_assigned#:#User(s) assigned as learning sequence member(s) -lso#:#lso_multidownload_not_available#:#Downloading multiple objects is currently not available for Learning Sequence Objects.###26 08 2024 new variable -lso#:#lso_new_status#:#Your new status is: -lso#:#lso_notification#:#Notification -lso#:#lso_notification_explanation_admin#:#You receive mail from ILIAS because you are learning sequence administrator with notification enabled. -lso#:#lso_notify_off#:#Notification about new registrations disabled -lso#:#lso_notify_on#:#Notification about new registrations enabled -lso#:#lso_player_abstract#:#Show Abstract Info -lso#:#lso_player_extro#:#Show Final Page -lso#:#lso_player_finish#:#Finish -lso#:#lso_player_next#:#Next -lso#:#lso_player_noitems#:#There are no available items in this Learning Sequence.###29 10 2025 new variable -lso#:#lso_player_previous#:#Previous -lso#:#lso_player_resume#:#Resume Learning Sequence -lso#:#lso_player_review#:#Review Learning Sequence -lso#:#lso_player_start#:#Start Learning Sequence -lso#:#lso_player_suspend#:#Suspend -lso#:#lso_player_viewmodelabel#:#Learning Sequence###29 07 2022 new variable -lso#:#lso_print_list#:#Print list -lso#:#lso_read#:#User has read access to Learning Sequence -lso#:#lso_search_users#:#Search user -lso#:#lso_settings_availability#:#availability -lso#:#lso_settings_availability_error#:#The end date can not be earlier than the start date###26 08 2024 new variable -lso#:#lso_settings_extro#:#Exitpage Settings -lso#:#lso_settings_intro#:#Intropage Settings -lso#:#lso_settings_old_extro#:#View Old Exit Page###26 08 2024 new variable -lso#:#lso_settings_old_intro#:#View Old Intro Page###26 08 2024 new variable -lso#:#lso_show_members_info#:#Member Gallery available for users -lso#:#lso_start_item#:#Open %s###07 02 2020 new variable -lso#:#lso_toast_completed_desc#:#You have completed this Learning Sequence. You might still keep looking through the content.###26 08 2024 new variable -lso#:#lso_toast_completed_title#:#Congratulations###26 08 2024 new variable -lso#:#lso_users_already_assigned#:#The user is already assigned to this learning sequence -lso#:#mail_lso_roles#:#Send mails to roles of learning sequence. -lso#:#manage#:#Manage###07 02 2020 new variable -lso#:#manage_content_maintab#:#Content -lso#:#members_gallery#:#Member Gallery -lso#:#no_entries_selected_for_delete#:#There has to be at least one entry selected. -lso#:#not_finished#:#Not Finished###07 02 2020 new variable -lso#:#notification_lso_completed_title#:#You completed the Learning Sequence %s.###26 08 2024 new variable +lso#:#delete_confirmation#:#Sei sicuro di voler eliminare questi oggetti? +lso#:#entries_deleted#:#Voci eliminate. +lso#:#entries_updated#:#Voci salvate. +lso#:#extro#:#Pagina di uscita +lso#:#extro_img#:#Immagine per pagina di uscita +lso#:#failed#:#Fallito +lso#:#finished#:#Finito +lso#:#first_access#:#Primo accesso +lso#:#last_visited_step#:#Ultimo passo visitato +lso#:#learner_view#:#Panoramica +lso#:#lp_not_relevant_post_cond#:#currently not relevant for continuation###30 04 2024 new variable +lso#:#lso_activation_online_info#:#Imposta la sequenza di apprendimento online per renderla visibile e disponibile per i membri della sequenza di apprendimento. In caso contrario, solo gli amministratori e i tutor potranno accedervi. +lso#:#lso_at_least_one_admin#:#Deve esserci almeno un amministratore della sequenza di apprendimento. +lso#:#lso_edit_permission#:#L'utente può modificare le impostazioni di autorizzazione +lso#:#lso_header_delete_members#:#Vuoi rimuovere i seguenti membri da questa sequenza di apprendimento? +lso#:#lso_header_edit_members#:#Modifica membri +lso#:#lso_intropages_deprecationhint#:#You can edit the abstract and exit page in the tab "Content".###31 03 2023 new variable +lso#:#lso_legacy_info#:#The object will open in a new tab in your browser. Please return to this tab after processing/editing the contents. Reload the page if you have edited the content but the "Next" button remains disabled.###30 04 2024 new variable +lso#:#lso_mail_admission_new_bod#:#Siamo lieti di annunciare la tua registrazione per la sequenza di apprendimento "%s". +lso#:#lso_mail_admission_new_sub#:#La tua registrazione per la sequenza di apprendimento "%s" +lso#:#lso_mail_dismiss_bod#:#La tua iscrizione alla sequenza di apprendimento "%s" è stata terminata. +lso#:#lso_mail_dismiss_sub#:#Iscrizione terminata nella sequenza di apprendimento "%s" +lso#:#lso_mail_notification_reg_bod#:#%s si è registrato per la sequenza di apprendimento "%s". +lso#:#lso_mail_notification_reg_req_bod#:#%s ha richiesto l'iscrizione alla sequenza di apprendimento "%s". +lso#:#lso_mail_notification_reg_req_bod2#:#Per confermare questa registrazione, vai a: +lso#:#lso_mail_notification_reg_req_sub#:#Richiesta di partecipare alla sequenza di apprendimento "%s" +lso#:#lso_mail_notification_reg_sub#:#Utente registrato per la sequenza di apprendimento "%s" +lso#:#lso_mail_notification_unsub_bod#:#%s ha annullato la sua iscrizione per la sequenza di apprendimento "%s". +lso#:#lso_mail_notification_unsub_bod2#:#Potrebbero esserci altri membri in una lista di attesa della tua sequenza di apprendimento. Dovresti controllare la lista di attesa ora. Per visualizzare i membri della tua sequenza di apprendimento, fai clic qui: +lso#:#lso_mail_notification_unsub_sub#:#L'utente ha lasciato la sequenza di apprendimento "%s" +lso#:#lso_mail_permanent_link#:#Fai clic sul seguente link per trovare tutte le informazioni necessarie sulla sequenza di apprendimento: +lso#:#lso_mail_status_bod#:#Il tuo stato nella sequenza di apprendimento "%s" è stato modificato. +lso#:#lso_mail_status_sub#:#Stato cambiato nella sequenza di apprendimento "%s" +lso#:#lso_mail_sub_acc_bod#:#Siamo lieti di confermare la tua registrazione alla sequenza di apprendimento "%s". +lso#:#lso_mail_sub_acc_sub#:#Registrazione confermata per "%s" +lso#:#lso_mail_sub_dec_bod#:#Ci dispiace informarti che la tua registrazione è stata rifiutata per l'apprendimento della sequenza "%s". +lso#:#lso_mail_sub_dec_sub#:#Registrazione rifiutata per la sequenza di apprendimento "%s" +lso#:#lso_mail_subscribe_member_bod#:#Siamo lieti di confermare la tua registrazione alla sequenza di apprendimento "%s". +lso#:#lso_mail_subscribe_member_sub#:#La tua registrazione per la sequenza di apprendimento "%s" +lso#:#lso_mail_unsubscribe_member_bod#:#Confermiamo la tua cancellazione all'iscrizione della sequenza di apprendimento %s. Speriamo che tu abbia l'opportunità di partecipare ad un'altra sequenza di apprendimento. +lso#:#lso_mail_unsubscribe_member_sub#:#Annullamento dell'iscrizione alla sequenza di apprendimento "%s" +lso#:#lso_mail_wl_bod#:#Sei stato assegnato alla lista di attesa della sequenza di apprendimento "%s", in posizione %s nell'elenco. Riceverai un messaggio da un amministratore della sequenza di apprendimento quando la richiesta sarà stata approvata o rifiutata. +lso#:#lso_mail_wl_sub#:#La tua registrazione per la sequenza di apprendimento "%s" +lso#:#lso_mainbar_button_label_curriculum#:#Curriculum +lso#:#lso_mainbar_button_label_toc#:#Contenuto +lso#:#lso_mem_tbl_header#:#Membro della sequenza di apprendimento +lso#:#lso_member_administration#:#Modifica partecipanti +lso#:#lso_members_deleted#:#Membri rimossi +lso#:#lso_members_gallery#:#Galleria dei membri della sequenza di apprendimento +lso#:#lso_members_print_title#:#Membri della sequenza di apprendimento +lso#:#lso_min_one_admin#:#Deve essere assegnato almeno un amministratore a questa sequenza di apprendimento. +lso#:#lso_msg_member_assigned#:#Utente/i assegnato/i come membro/i della sequenza di apprendimento +lso#:#lso_multidownload_not_available#:#Downloading multiple objects is currently not available for Learning Sequence Objects.###23 10 2023 new variable +lso#:#lso_new_status#:#Il tuo nuovo stato è: +lso#:#lso_notification#:#Notifica +lso#:#lso_notification_explanation_admin#:#Hai ricevuto una e-mail da ILIAS perchè sei un amministratore delle sequenze di apprendimento e hai le notifiche abilitate. +lso#:#lso_notify_off#:#Notifica per le nuove registrazioni disabilitata +lso#:#lso_notify_on#:#Notifica per le nuove registrazioni abilitata +lso#:#lso_player_abstract#:#Mostra informazioni riassunto +lso#:#lso_player_extro#:#Mostra ultima pagina +lso#:#lso_player_finish#:#Finito +lso#:#lso_player_next#:#Prossimo +lso#:#lso_player_noitems#:#There are no available items in this Learning Sequence.###08 07 2025 new variable +lso#:#lso_player_previous#:#Precedente +lso#:#lso_player_resume#:#Riprendi la sequenza di apprendimento +lso#:#lso_player_review#:#Rivedi la sequenza di apprendimento +lso#:#lso_player_start#:#Inizia la sequenza di apprendimento +lso#:#lso_player_suspend#:#Sospendi +lso#:#lso_player_viewmodelabel#:#Learning Sequence###31 03 2023 new variable +lso#:#lso_print_list#:#Stampa l'elenco +lso#:#lso_read#:#L'utente ha accesso in lettura alla sequenza di apprendimento +lso#:#lso_search_users#:#Cerca utente +lso#:#lso_settings_availability#:#Disponibilità +lso#:#lso_settings_availability_error#:#The end date can not be earlier than the start date###28 11 2025 new variable +lso#:#lso_settings_extro#:#Impostazioni della pagina di uscita +lso#:#lso_settings_intro#:#Impostazioni della pagina introduttiva +lso#:#lso_settings_old_extro#:#View Old Exit Page###31 03 2023 new variable +lso#:#lso_settings_old_intro#:#View Old Intro Page###31 03 2023 new variable +lso#:#lso_show_members_info#:#Galleria membri disponibile per gli utenti +lso#:#lso_start_item#:#Avvio di %s +lso#:#lso_toast_completed_desc#:#You have completed this Learning Sequence. You might still keep looking through the content.###30 04 2024 new variable +lso#:#lso_toast_completed_title#:#Congratulations###30 04 2024 new variable +lso#:#lso_users_already_assigned#:#L'utente è già assegnato a questa sequenza di apprendimento +lso#:#mail_lso_roles#:#Invia mail ai ruoli della sequenza di apprendimento. +lso#:#manage#:#Gestisci +lso#:#manage_content_maintab#:#Contenuto +lso#:#members_gallery#:#Galleria dei membri +lso#:#no_entries_selected_for_delete#:#Deve essere selezionata almeno una voce. +lso#:#not_finished#:#Non finito +lso#:#notification_lso_completed_title#:#You completed the Learning Sequence %s.###30 04 2024 new variable lso#:#show_summary#:#Info -lso#:#table_actions#:#Actions -lso#:#table_lp_settings#:#Learning Progress Settings###26 08 2024 new variable -lso#:#table_may_proceed#:#User may proceed +lso#:#table_actions#:#Azioni +lso#:#table_lp_settings#:#Learning Progress Settings###30 04 2024 new variable +lso#:#table_may_proceed#:#L'utente può procedere lso#:#table_online#:#Online -lso#:#table_position#:#Position -lso#:#table_sequence_content#:#Content Management -lso#:#table_title#:#Title -lso#:#unparticipate#:#Unsubscribe +lso#:#table_position#:#Posizione +lso#:#table_sequence_content#:#Gestione del contenuto +lso#:#table_title#:#Titolo +lso#:#unparticipate#:#Annulla l'iscrizione lti#:#act_lti_for_obj_type#:#Attiva LTI per tipo di oggetto -lti#:#activity_id#:#Activity ID###07 02 2020 new variable -lti#:#activity_id_info#:#This Activity ID is used by the LTI Provider to identify Statements.###07 02 2020 new variable -lti#:#auth_lti#:#LTI Aut -lti#:#conf_privacy_ident#:#User identification###26 08 2024 new variable -lti#:#conf_privacy_ident_il_uuid_SHA256#:#Hash combined with a unique ILIAS platform id formatted as an E-Mail address###26 08 2024 new variable -lti#:#conf_privacy_ident_il_uuid_SHA256_info#:#This is identical to each call, but does not permit any direct conclusions about the ILIAS user.###26 08 2024 new variable -lti#:#conf_privacy_ident_il_uuid_ext_account#:#External User ID combined with a unique ILIAS platform id formatted as an E-Mail address###26 08 2024 new variable -lti#:#conf_privacy_ident_il_uuid_ext_account_info#:#This is identical to each call, but may allow a direct conclusion about the user.###26 08 2024 new variable -lti#:#conf_privacy_ident_il_uuid_login#:#ILIAS Login combined with a unique ILIAS platform id formatted as an E-Mail address###26 08 2024 new variable -lti#:#conf_privacy_ident_il_uuid_login_info#:#Sends the login name. This is identical to each call, but may allow a direct conclusion about the ILIAS user.###26 08 2024 new variable -lti#:#conf_privacy_ident_il_uuid_user_id#:#ILIAS user id combined with a unique ILIAS platform id formatted as an E-Mail address###26 08 2024 new variable -lti#:#conf_privacy_ident_il_uuid_user_id_info#:#Sends the internal numeric user id. This is identical to each call, but may allow conclusions about the ILIAS user.###26 08 2024 new variable -lti#:#conf_privacy_ident_info#:#Standard is frequently the email address. The unique ILIAS platform id is:###26 08 2024 new variable -lti#:#conf_privacy_ident_real_email#:#E-Mail Address###26 08 2024 new variable -lti#:#conf_privacy_ident_real_email_info#:#Sends E-Mail Address of user as identification (Warning: an E-Mail Address might be used by multiple users!)###26 08 2024 new variable -lti#:#conf_privacy_name#:#User name###26 08 2024 new variable -lti#:#conf_privacy_name_firstname#:#First name###26 08 2024 new variable -lti#:#conf_privacy_name_firstname_info#:#Sends the first name of the user name from ILIAS###26 08 2024 new variable -lti#:#conf_privacy_name_fullname#:#Entire name###26 08 2024 new variable -lti#:#conf_privacy_name_fullname_info#:#Sends title, first name and last name###26 08 2024 new variable -lti#:#conf_privacy_name_info#:#Sending an user name is usually not required.###26 08 2024 new variable -lti#:#conf_privacy_name_lastname#:#Title and last name###26 08 2024 new variable -lti#:#conf_privacy_name_lastname_info#:#Sends Mister or Ms/Mrs. (unless otherwise specified) and the last name###26 08 2024 new variable -lti#:#conf_privacy_name_none#:#No one###26 08 2024 new variable -lti#:#conf_privacy_name_none_info#:#Sends '-' instead of a name###26 08 2024 new variable -lti#:#conf_user_ident#:#User identification###07 02 2020 new variable -lti#:#conf_user_ident_il_uuid_ext_account#:#External User Id combined with a unique ILIAS platform id formated as an email adress.###07 02 2020 new variable -lti#:#conf_user_ident_il_uuid_ext_account_info#:#This is identical to each call, but may allow a direct conclusion about the user.###07 02 2020 new variable -lti#:#conf_user_ident_il_uuid_login#:#ILIAS Login combined with a unique ILIAS platform id formated as an email adress.###07 02 2020 new variable -lti#:#conf_user_ident_il_uuid_login_info#:#This is identical to each call, but may allow a direct conclusion about the ILIAS user.###07 02 2020 new variable -lti#:#conf_user_ident_il_uuid_user_id#:#ILIAS user id combined with a unique ILIAS platform id formated as an email adress.###07 02 2020 new variable -lti#:#conf_user_ident_il_uuid_user_id_info#:#This is identical to each call, but doesn't allow a direct conclusion about the ILIAS user.###07 02 2020 new variable -lti#:#conf_user_ident_info#:#Standard is frequently the email address. The unique ILIAS platform id is:###07 02 2020 new variable -lti#:#conf_user_ident_real_email#:#E-Mail Address###07 02 2020 new variable -lti#:#conf_user_ident_real_email_info#:#Sends E-Mail Address of user as identification (Warning: an E-Mail Address might be used by multiple users!)###07 02 2020 new variable -lti#:#conf_user_name#:#User name###07 02 2020 new variable -lti#:#conf_user_name_firstname#:#First name###07 02 2020 new variable -lti#:#conf_user_name_firstname_info#:#Sends the first name of the user name from ILIAS###07 02 2020 new variable -lti#:#conf_user_name_fullname#:#Entire name###07 02 2020 new variable -lti#:#conf_user_name_fullname_info#:#Sends title, first name and last name###07 02 2020 new variable -lti#:#conf_user_name_info#:#Sending an user name is usually not required.###07 02 2020 new variable -lti#:#conf_user_name_lastname#:#Title and last name###07 02 2020 new variable -lti#:#conf_user_name_lastname_info#:#Sends Mister or Ms/Mrs. (unless otherwise specified) and the last name###07 02 2020 new variable -lti#:#conf_user_name_none#:#No one###07 02 2020 new variable -lti#:#conf_user_name_none_info#:#Sends '-' instead of a name###07 02 2020 new variable +lti#:#activity_id#:#ID attività +lti#:#activity_id_info#:#Questo ID attività viene utilizzato dal provider LTI per identificare gli statements. +lti#:#auth_lti#:#Auth LTI +lti#:#conf_privacy_ident#:#User identification###28 11 2025 new variable +lti#:#conf_privacy_ident_il_uuid_SHA256#:#Hash combined with a unique ILIAS platform id formatted as an E-Mail address###28 11 2025 new variable +lti#:#conf_privacy_ident_il_uuid_SHA256_info#:#This is identical to each call, but does not permit any direct conclusions about the ILIAS user.###28 11 2025 new variable +lti#:#conf_privacy_ident_il_uuid_ext_account#:#External User ID combined with a unique ILIAS platform id formatted as an E-Mail address###28 11 2025 new variable +lti#:#conf_privacy_ident_il_uuid_ext_account_info#:#This is identical to each call, but may allow a direct conclusion about the user.###28 11 2025 new variable +lti#:#conf_privacy_ident_il_uuid_login#:#ILIAS Login combined with a unique ILIAS platform id formatted as an E-Mail address###28 11 2025 new variable +lti#:#conf_privacy_ident_il_uuid_login_info#:#Sends the login name. This is identical to each call, but may allow a direct conclusion about the ILIAS user.###28 11 2025 new variable +lti#:#conf_privacy_ident_il_uuid_user_id#:#ILIAS user id combined with a unique ILIAS platform id formatted as an E-Mail address###28 11 2025 new variable +lti#:#conf_privacy_ident_il_uuid_user_id_info#:#Sends the internal numeric user id. This is identical to each call, but may allow conclusions about the ILIAS user.###28 11 2025 new variable +lti#:#conf_privacy_ident_info#:#Standard is frequently the email address. The unique ILIAS platform id is:###28 11 2025 new variable +lti#:#conf_privacy_ident_real_email#:#E-Mail Address###28 11 2025 new variable +lti#:#conf_privacy_ident_real_email_info#:#Sends E-Mail Address of user as identification (Warning: an E-Mail Address might be used by multiple users!)###28 11 2025 new variable +lti#:#conf_privacy_name#:#User name###28 11 2025 new variable +lti#:#conf_privacy_name_firstname#:#First name###28 11 2025 new variable +lti#:#conf_privacy_name_firstname_info#:#Sends the first name of the user name from ILIAS###28 11 2025 new variable +lti#:#conf_privacy_name_fullname#:#Entire name###28 11 2025 new variable +lti#:#conf_privacy_name_fullname_info#:#Sends title, first name and last name###28 11 2025 new variable +lti#:#conf_privacy_name_info#:#Sending an user name is usually not required.###28 11 2025 new variable +lti#:#conf_privacy_name_lastname#:#Title and last name###28 11 2025 new variable +lti#:#conf_privacy_name_lastname_info#:#Sends Mister or Ms/Mrs. (unless otherwise specified) and the last name###28 11 2025 new variable +lti#:#conf_privacy_name_none#:#No one###28 11 2025 new variable +lti#:#conf_privacy_name_none_info#:#Sends '-' instead of a name###28 11 2025 new variable +lti#:#conf_user_ident#:#User identification###28 11 2025 new variable +lti#:#conf_user_ident_il_uuid_ext_account#:#External User ID combined with a unique ILIAS platform id formated as an email adress.###28 11 2025 new variable +lti#:#conf_user_ident_il_uuid_ext_account_info#:#This is identical to each call, but may allow a direct conclusion about the user.###28 11 2025 new variable +lti#:#conf_user_ident_il_uuid_login#:#ILIAS Login combined with a unique ILIAS platform id formated as an email adress.###28 11 2025 new variable +lti#:#conf_user_ident_il_uuid_login_info#:#This is identical to each call, but may allow a direct conclusion about the ILIAS user.###28 11 2025 new variable +lti#:#conf_user_ident_il_uuid_user_id#:#ILIAS user id combined with a unique ILIAS platform id formated as an email adress.###28 11 2025 new variable +lti#:#conf_user_ident_il_uuid_user_id_info#:#This is identical to each call, but doesn't allow a direct conclusion about the ILIAS user.###28 11 2025 new variable +lti#:#conf_user_ident_info#:#Standard is frequently the email address. The unique ILIAS platform id is:###28 11 2025 new variable +lti#:#conf_user_ident_real_email#:#E-Mail Address###28 11 2025 new variable +lti#:#conf_user_ident_real_email_info#:#Sends E-Mail Address of user as identification (Warning: an E-Mail Address might be used by multiple users!)###28 11 2025 new variable +lti#:#conf_user_name#:#User name###28 11 2025 new variable +lti#:#conf_user_name_firstname#:#First name###28 11 2025 new variable +lti#:#conf_user_name_firstname_info#:#Sends the first name of the user name from ILIAS###28 11 2025 new variable +lti#:#conf_user_name_fullname#:#Entire name###28 11 2025 new variable +lti#:#conf_user_name_fullname_info#:#Sends title, first name and last name###28 11 2025 new variable +lti#:#conf_user_name_info#:#Sending an user name is usually not required.###28 11 2025 new variable +lti#:#conf_user_name_lastname#:#Title and last name###28 11 2025 new variable +lti#:#conf_user_name_lastname_info#:#Sends Mister or Ms/Mrs. (unless otherwise specified) and the last name###28 11 2025 new variable +lti#:#conf_user_name_none#:#No one###28 11 2025 new variable +lti#:#conf_user_name_none_info#:#Sends '-' instead of a name###28 11 2025 new variable lti#:#consumers#:#Consumatori -lti#:#description_info#:#The description will be shown below the title.###07 02 2020 new variable -lti#:#field_provider_xml#:#XML-File###07 02 2020 new variable -lti#:#field_provider_xml_info#:#Supported are XML-Files for Tool Consumer and for Common Cartridge according to https://www.imsglobal.org/specs/lti/xml.###07 02 2020 new variable -lti#:#form_import_provider#:#Import Global Provider###07 02 2020 new variable +lti#:#description_info#:#La descrizione verrà mostrata sotto il titolo. +lti#:#field_provider_xml#:#File XML +lti#:#field_provider_xml_info#:#Sono supportati file XML per strumento utenti e per cartuccia comune in accordo a https://www.imsglobal.org/specs/lti/xml. +lti#:#form_import_provider#:#Importa fornitore globale lti#:#gbl_roles_to_users#:#Ruolo globale assegnato agli utenti LTI -lti#:#global_provider_subtab#:#Global Providers for all Users###07 02 2020 new variable -lti#:#grade_activity_progress_all#:#All Information on Activity Progress###26 08 2024 new variable -lti#:#grade_activity_progress_completed#:#Completed###26 08 2024 new variable -lti#:#grade_activity_progress_initialized#:#Initialized###26 08 2024 new variable -lti#:#grade_activity_progress_inprogress#:#In Progress###26 08 2024 new variable -lti#:#grade_activity_progress_started#:#Started###26 08 2024 new variable -lti#:#grade_activity_progress_submitted#:#Submitted###26 08 2024 new variable -lti#:#grade_grading_progress_all#:#All Information on Grading Progress###26 08 2024 new variable -lti#:#grade_grading_progress_failed#:#The Grading could not complete (Failed)###26 08 2024 new variable -lti#:#grade_grading_progress_fullygraded#:#The Grading Process is completed###26 08 2024 new variable -lti#:#grade_grading_progress_notready#:#No Grading Process is occurring (NotReady)###26 08 2024 new variable -lti#:#grade_grading_progress_pending#:#Final Grade is pending###26 08 2024 new variable -lti#:#grade_grading_progress_pendingmanual#:#Final Grade is pending; requires Human Intervention###26 08 2024 new variable -lti#:#highscore_achieved_ts#:#Date###07 02 2020 new variable -lti#:#highscore_achieved_ts_description#:#A column containing the date will be included in the ranking.###07 02 2020 new variable -lti#:#highscore_all_tables#:#Participant's Own Rank and Top Ranking###07 02 2020 new variable -lti#:#highscore_all_tables_description#:#Participants get information about the top ranking and their own position in the ranking.###07 02 2020 new variable -lti#:#highscore_description#:#The names of other users could be displayed if the right 'View learning experiences of other users' is set.###07 02 2020 new variable -lti#:#highscore_enabled#:#Ranking###07 02 2020 new variable -lti#:#highscore_mode#:#Mode###07 02 2020 new variable -lti#:#highscore_own_table#:#Participant's Own Rank###07 02 2020 new variable -lti#:#highscore_own_table_description#:#Participants are advised of their own position in the ranking.###07 02 2020 new variable -lti#:#highscore_percentage#:#Percentage###07 02 2020 new variable -lti#:#highscore_percentage_description#:#A column containing the score as percentage will be included in the ranking.###07 02 2020 new variable -lti#:#highscore_score#:#Score###07 02 2020 new variable -lti#:#highscore_score_description#:#A column containing the score will be included in the ranking.###07 02 2020 new variable -lti#:#highscore_top_num#:#Length of Top Ranking###07 02 2020 new variable -lti#:#highscore_top_num_description#:#Specify how many ranks are to be included in the top ranking list.###07 02 2020 new variable -lti#:#highscore_top_num_unit#:#entries###07 02 2020 new variable -lti#:#highscore_top_table#:#Top Ranking###07 02 2020 new variable -lti#:#highscore_top_table_description#:#Participants are presented with a table containing the top rankings.###07 02 2020 new variable -lti#:#highscore_wtime#:#Duration###07 02 2020 new variable -lti#:#highscore_wtime_description#:#A column containing the duration will be included in the ranking.###07 02 2020 new variable -lti#:#launch_method#:#Options for Launch###07 02 2020 new variable -lti#:#launch_method_embedded#:#Embedded Content###07 02 2020 new variable -lti#:#launch_method_embedded_info#:#The content is opened within the ILIAS context. It is presented as embedded content within the content tab.###07 02 2020 new variable -lti#:#launch_method_new_win#:#New Window###07 02 2020 new variable -lti#:#launch_method_new_win_info#:#The content is opened in a new window. When leaving the content this window gets closed.###07 02 2020 new variable -lti#:#launch_method_own_win#:#Own Window###07 02 2020 new variable -lti#:#launch_method_own_win_info#:#The content is opened in the same window and replaces the ILIAS Screen. When leaving the content the user returns to ILIAS.###07 02 2020 new variable -lti#:#launched#:#Resource was already launched.###07 02 2020 new variable -lti#:#learning_progress_options#:#Options for Learning Progress###07 02 2020 new variable -lti#:#lm_only_one_download_per_type#:#Si prega di notare che è possibile creare un solo file per tipo (XLM, HTML, SCORM) pubblico accessibile. -lti#:#lti13_hints#:#If the tool was created without dynamic registration, the following data must be entered for the tool to run.###26 08 2024 new variable -lti#:#lti_13_client_id#:#Client-ID###26 08 2024 new variable -lti#:#lti_13_deployment_id#:#Deployment-ID###26 08 2024 new variable -lti#:#lti_13_platform_id#:#Platform-ID###26 08 2024 new variable -lti#:#lti_13_step1#:#Step 1###26 08 2024 new variable -lti#:#lti_13_step1_info#:#For the initiating platform (consumer), enter the following address for Launch URL, Initiate Login URL, Redirection URI, and Registration URL:###26 08 2024 new variable -lti#:#lti_13_step2#:#Step 2###26 08 2024 new variable -lti#:#lti_13_step2_info#:#You will receive information from the initiating platform (Consumer), which you must enter in the following fields. After saving, the LTI 1.3 functionalities are available.###26 08 2024 new variable -lti#:#lti_action_accept_provider_as_global#:#Accept Provider as Global Provider for all Users###07 02 2020 new variable -lti#:#lti_action_accept_providers_as_global#:#Accept Providers as Global###07 02 2020 new variable -lti#:#lti_action_delete_providers#:#Delete Providers###07 02 2020 new variable -lti#:#lti_action_edit_provider#:#Edit Provider###07 02 2020 new variable -lti#:#lti_action_reset_provider_to_user_scope#:#Reset Provider as User Defined Provider###07 02 2020 new variable -lti#:#lti_action_reset_providers_to_user_scope#:#Reset Providers as User Defined###07 02 2020 new variable -lti#:#lti_add_global_provider#:#Add Global Provider for all Users###07 02 2020 new variable -lti#:#lti_add_own_provider#:#Add Own Provider (not for all Users)###07 02 2020 new variable +lti#:#global_provider_subtab#:#Fornitori globali per tutti gli utenti +lti#:#grade_activity_progress_all#:#All Information on Activity Progress###30 04 2024 new variable +lti#:#grade_activity_progress_completed#:#Completed###30 04 2024 new variable +lti#:#grade_activity_progress_initialized#:#Initialized###30 04 2024 new variable +lti#:#grade_activity_progress_inprogress#:#In Progress###30 04 2024 new variable +lti#:#grade_activity_progress_started#:#Started###30 04 2024 new variable +lti#:#grade_activity_progress_submitted#:#Submitted###30 04 2024 new variable +lti#:#grade_grading_progress_all#:#All Information on Grading Progress###30 04 2024 new variable +lti#:#grade_grading_progress_failed#:#The Grading could not complete (Failed)###30 04 2024 new variable +lti#:#grade_grading_progress_fullygraded#:#The Grading Process is completed###30 04 2024 new variable +lti#:#grade_grading_progress_notready#:#No Grading Process is occurring (NotReady)###30 04 2024 new variable +lti#:#grade_grading_progress_pending#:#Final Grade is pending###30 04 2024 new variable +lti#:#grade_grading_progress_pendingmanual#:#Final Grade is pending; requires Human Intervention###30 04 2024 new variable +lti#:#highscore_achieved_ts#:#Data +lti#:#highscore_achieved_ts_description#:#Una colonna contenente la data sarà inclusa nella classifica. +lti#:#highscore_all_tables#:#Classifica personale e Migliori risultati +lti#:#highscore_all_tables_description#:#I partecipanti visualizzano la classifica dei migliori risultati e la propria posizione nella classifica. +lti#:#highscore_description#:#I nomi degli utenti che possono essere visualizzati se 'Visualizza progressi didattici degli altri utenti' è impostata. +lti#:#highscore_enabled#:#Classifica +lti#:#highscore_mode#:#Modalità +lti#:#highscore_own_table#:#Classifica personale +lti#:#highscore_own_table_description#:#I partecipanti visualizzano la propria posizione nella classifica. +lti#:#highscore_percentage#:#Percentuale +lti#:#highscore_percentage_description#:#Una colonna contenente il punteggio come percentuale sarà inclusa nella classifica. +lti#:#highscore_score#:#Punteggio +lti#:#highscore_score_description#:#Una colonna contenente il punteggio sarà inclusa nella classifica. +lti#:#highscore_top_num#:#Numero di voci dei migliori risultati +lti#:#highscore_top_num_description#:#Specifica quanti punteggi devono essere inclusi nella classifica dei migliori risultati. +lti#:#highscore_top_num_unit#:#voci +lti#:#highscore_top_table#:#Classifica dei migliori risultati +lti#:#highscore_top_table_description#:#Ai partecipanti sarà mostrata una tabella contenente la classifica dei migliori risultati. +lti#:#highscore_wtime#:#Durata +lti#:#highscore_wtime_description#:#Una colonna contenente la durata sarà inclusa nella classifica. +lti#:#launch_method#:#Opzioni di avvio +lti#:#launch_method_embedded#:#Contenuto integrato +lti#:#launch_method_embedded_info#:#Il contenuto viene aperto nel contesto ILIAS. Viene presentato come contenuto integrato nella tab "Contenuti" +lti#:#launch_method_new_win#:#Nuova finestra +lti#:#launch_method_new_win_info#:#Il contenuto si apre in una nuova finestra. Quando si abbandona il contenuto, la finestra viene chiusa. +lti#:#launch_method_own_win#:#Propria finestra +lti#:#launch_method_own_win_info#:#Il contenuto viene aperto nella stessa finestra e rimpiazza la schermata di ILIAS. Quando viene abbandonato il contenuto si ritornerà alla schermata ILIAS. +lti#:#launched#:#La risorsa è stata già avviata. +lti#:#learning_progress_options#:#Opzioni per i progressi didattici +lti#:#lm_only_one_download_per_type#:#Si prega di notare che è possibile creare un solo file per tipo (XLM, HTML, SCORM) accessibile al pubblico. +lti#:#lti13_hints#:#Hints###31 03 2023 new variable +lti#:#lti_13_client_id#:#Client-ID###31 03 2023 new variable +lti#:#lti_13_deployment_id#:#Deployment-ID###31 03 2023 new variable +lti#:#lti_13_platform_id#:#Platform-ID###31 03 2023 new variable +lti#:#lti_13_step1#:#Step 1###31 03 2023 new variable +lti#:#lti_13_step1_info#:#For the initiating platform (consumer), enter the following address for Launch URL, Initiate Login URL, Redirection URI, and Registration URL:###31 03 2023 new variable +lti#:#lti_13_step2#:#Step 2###31 03 2023 new variable +lti#:#lti_13_step2_info#:#You will receive information from the initiating platform (Consumer), which you must enter in the following fields. After saving, the LTI 1.3 functionalities are available.###31 03 2023 new variable +lti#:#lti_action_accept_provider_as_global#:#Accetta fornitori come globali per tutti gli utenti +lti#:#lti_action_accept_providers_as_global#:#Accetta fornitori come globali +lti#:#lti_action_delete_providers#:#Cancella fornitore +lti#:#lti_action_edit_provider#:#Modifica fornitore +lti#:#lti_action_reset_provider_to_user_scope#:#Resetta il fornitore come fornitore definito dall'utente +lti#:#lti_action_reset_providers_to_user_scope#:#Resetta i fornitori come definiti dall'utente +lti#:#lti_add_global_provider#:#Aggiungi fornitore globale per tutti gli utenti +lti#:#lti_add_own_provider#:#Aggiungi fornitore personale (non per tutti gli utenti) lti#:#lti_admin#:#Amministratore LTI -lti#:#lti_at_least_one_prov_has_usages#:#At least one provider could not be deleted because this provider has usages (might be in trash).###07 02 2020 new variable +lti#:#lti_at_least_one_prov_has_usages#:#Almeno uno dei provider non può essere cancellato perchè sono utilizzati (potrebbero essere nel cestino) lti#:#lti_auth_failed_invalid_key#:#Autenticazione fallita, nessuna chiave del consumatore valida fornita. -lti#:#lti_con_content_item#:#Support for Deep Linking###26 08 2024 new variable -lti#:#lti_con_content_item_url#:#Content URL###26 08 2024 new variable -lti#:#lti_con_initiate_login_url#:#Initiate Login URL###26 08 2024 new variable -lti#:#lti_con_key_type#:#Public Key Type###26 08 2024 new variable -lti#:#lti_con_key_type_jwk#:#URL (Json Web Token)###26 08 2024 new variable -lti#:#lti_con_key_type_jwk_url#:#URL###26 08 2024 new variable -lti#:#lti_con_key_type_rsa#:#RSA-Key###26 08 2024 new variable -lti#:#lti_con_key_type_rsa_public_key#:#Public Key###26 08 2024 new variable -lti#:#lti_con_key_type_rsa_public_key_info#:#Insert the key provided by the tool (provider) in PEM format here.###26 08 2024 new variable -lti#:#lti_con_prov_always_learner#:#LTI User is always Learner###07 02 2020 new variable -lti#:#lti_con_prov_always_learner_info#:#Usually the role in ILIAS is mapped to a LTI role. Course Administrators could have more rights in the Provider, e.g. to manipulate the object. Activate this option to avoid the Role Mapping.###07 02 2020 new variable -lti#:#lti_con_prov_authentication#:#Authentication###07 02 2020 new variable -lti#:#lti_con_prov_availability#:#Availability###07 02 2020 new variable -lti#:#lti_con_prov_availability_create#:#For Creating Objects###07 02 2020 new variable -lti#:#lti_con_prov_availability_existing#:#Only for existing Objects###07 02 2020 new variable -lti#:#lti_con_prov_availability_non#:#not available###07 02 2020 new variable -lti#:#lti_con_prov_category#:#Category###07 02 2020 new variable -lti#:#lti_con_prov_category_info#:#Category to filter entries when LTI Consumer Object is created.###07 02 2020 new variable -lti#:#lti_con_prov_custom_params#:#Custom Parameters for this specific Provider###07 02 2020 new variable -lti#:#lti_con_prov_custom_params_info#:#Please enter them in the form param1=value1; param2=value2###07 02 2020 new variable -lti#:#lti_con_prov_description#:#Description###07 02 2020 new variable -lti#:#lti_con_prov_external_provider#:#External Provider###07 02 2020 new variable -lti#:#lti_con_prov_external_provider_info#:#A hint will be shown to users when dealing with an external Provider. An external Provider is characterized by insufficient influence on the Provider by the operator of the ILIAS-installation. This is the case when there are no rights to delete.###07 02 2020 new variable -lti#:#lti_con_prov_group_options#:#Options to group and filter Providers###07 02 2020 new variable -lti#:#lti_con_prov_has_outcome_service#:#Provider supports Outcome Service###07 02 2020 new variable -lti#:#lti_con_prov_has_outcome_service_info#:#If the LTI Outcome Service is supported, Learning Progress could be activated. The Provider returns a value between 0 and 1 to indicate the Learning Progress.###07 02 2020 new variable -lti#:#lti_con_prov_hints#:#Hints###07 02 2020 new variable -lti#:#lti_con_prov_icon#:#Icon###07 02 2020 new variable -lti#:#lti_con_prov_inc_usr_pic#:#Send User Picture###07 02 2020 new variable -lti#:#lti_con_prov_inc_usr_pic_info#:#Links to ILIAS user pictures are included at launch of LTI consumer object.###07 02 2020 new variable -lti#:#lti_con_prov_instructor_email#:#Instructor E-Mail###26 08 2024 new variable -lti#:#lti_con_prov_instructor_email_info#:#In difference to the previously selected settings, the e-mail address can be transferred for instructors. To do this, they must be course or group administrators.###26 08 2024 new variable -lti#:#lti_con_prov_instructor_name#:#Instructor Name###26 08 2024 new variable -lti#:#lti_con_prov_instructor_name_info#:#In difference to the previously selected settings, the name can be transferred for instructors.###26 08 2024 new variable -lti#:#lti_con_prov_key#:#Key###07 02 2020 new variable -lti#:#lti_con_prov_keywords#:#Keywords###07 02 2020 new variable -lti#:#lti_con_prov_keywords_info#:#The keywords must be separated by a Semicolon (;). The Keywords are automatically taken to the Metadata as Keywords.###07 02 2020 new variable -lti#:#lti_con_prov_launch_options#:#Launch Options###07 02 2020 new variable -lti#:#lti_con_prov_learning_progress_options#:#Options for Learning Progress###07 02 2020 new variable -lti#:#lti_con_prov_mastery_score_default#:#Default Mastery Score###07 02 2020 new variable -lti#:#lti_con_prov_mastery_score_default_info#:#The Learning Progress will be evaluated from the Provider Outcome Service and the mastery score threshold.###07 02 2020 new variable -lti#:#lti_con_prov_privacy_setting_conf#:#Configuration Options###07 02 2020 new variable -lti#:#lti_con_prov_privacy_setting_default#:#Default Settings, changeable for Objects###07 02 2020 new variable -lti#:#lti_con_prov_privacy_setting_force#:#Settings are not changeable for Objects###07 02 2020 new variable -lti#:#lti_con_prov_privacy_setting_info#:#Configuration Options for Privacy Settings###07 02 2020 new variable -lti#:#lti_con_prov_privacy_settings#:#Privacy Settings###07 02 2020 new variable -lti#:#lti_con_prov_provider_key_global#:#Predefined Key and Secret###07 02 2020 new variable -lti#:#lti_con_prov_provider_key_global_info#:#If not set, users have to add key and secret to use the provider.###07 02 2020 new variable -lti#:#lti_con_prov_remarks#:#Internal Remarks###07 02 2020 new variable -lti#:#lti_con_prov_secret#:#Secret###07 02 2020 new variable -lti#:#lti_con_prov_title#:#Title###07 02 2020 new variable -lti#:#lti_con_prov_url#:#URL of Provider###07 02 2020 new variable -lti#:#lti_con_prov_use_provider_id#:#Use Provider ID###07 02 2020 new variable -lti#:#lti_con_prov_use_provider_id_info#:#Usually the Ref-Id of the LTI Consumer is transferred to the Provider. Some Providers map this Ref-Id with the Resource of the Provider. To get always the same Resource for these Providers this Option should be activated.###07 02 2020 new variable -lti#:#lti_con_prov_use_xapi#:#Provider supports request of xAPI-Statements###07 02 2020 new variable -lti#:#lti_con_prov_use_xapi_info#:#Provider supports xAPI-Statements###07 02 2020 new variable -lti#:#lti_con_prov_xapi_activity_id#:#Activity ID###07 02 2020 new variable -lti#:#lti_con_prov_xapi_activity_id_info#:#The Activity ID is necessary to request data from the Learning Record Store. Only enter something here if the assignment of the provider's resource to an Activity Id is unique! If nothing is entered here, the Activity Id can be entered in LTI Consumer. The Activity Id could be requested from the LTI Provider.###07 02 2020 new variable -lti#:#lti_con_prov_xapi_launch_key#:#Key of LRS Endpoint###07 02 2020 new variable -lti#:#lti_con_prov_xapi_launch_key_info#:# ###07 02 2020 new variable -lti#:#lti_con_prov_xapi_launch_secret#:#Secret of LRS Endpoint###07 02 2020 new variable -lti#:#lti_con_prov_xapi_launch_secret_info#:# ###07 02 2020 new variable -lti#:#lti_con_prov_xapi_launch_url#:#URL of LRS Endpoint###07 02 2020 new variable -lti#:#lti_con_prov_xapi_launch_url_info#:#Please add full URL with https://###07 02 2020 new variable -lti#:#lti_con_redirection_uris#:#Redirection URI###26 08 2024 new variable -lti#:#lti_con_tool_url#:#Login URL###26 08 2024 new variable -lti#:#lti_con_version#:#LTI Version###26 08 2024 new variable -lti#:#lti_con_version_1.1#:#Version 1.1###26 08 2024 new variable -lti#:#lti_con_version_1.3#:#Version 1.3###26 08 2024 new variable -lti#:#lti_con_version_1.3_before_id#:#If dynamic registration is not used, after entering the data provided by the tool, additional data will appear that must be entered with the tool.###26 08 2024 new variable -lti#:#lti_confirm_delete_providers#:#Are you sure that you want to delete the following provider(s)?###07 02 2020 new variable -lti#:#lti_consumer#:#Freigabe für +lti#:#lti_con_content_item#:#Support for Deep Linking###31 03 2023 new variable +lti#:#lti_con_content_item_url#:#Content URL###31 03 2023 new variable +lti#:#lti_con_initiate_login_url#:#Initiate Login URL###31 03 2023 new variable +lti#:#lti_con_key_type#:#Public Key Type###31 03 2023 new variable +lti#:#lti_con_key_type_jwk#:#URL (Json Web Token)###31 03 2023 new variable +lti#:#lti_con_key_type_jwk_url#:#URL###31 03 2023 new variable +lti#:#lti_con_key_type_rsa#:#RSA-Key###31 03 2023 new variable +lti#:#lti_con_key_type_rsa_public_key#:#Public Key###31 03 2023 new variable +lti#:#lti_con_key_type_rsa_public_key_info#:#Insert the key provided by the tool (provider) in PEM format here.###31 03 2023 new variable +lti#:#lti_con_prov_always_learner#:#L'utente LTI è sempre il Learner +lti#:#lti_con_prov_always_learner_info#:#Di solito il ruolo in ILIAS è mappato a un ruolo LTI. Gli amministratori del corso possono ottenere più diritti (esempio: manipolazione degli oggetti). Attiva questa opzione per evitare il mapping dei ruoli. +lti#:#lti_con_prov_authentication#:#Autenticazione +lti#:#lti_con_prov_availability#:#Disponibilità +lti#:#lti_con_prov_availability_create#:#Per la creazione di Oggetti +lti#:#lti_con_prov_availability_existing#:#Solo per Oggetti esistenti +lti#:#lti_con_prov_availability_non#:#Non disponibile +lti#:#lti_con_prov_category#:#Categoria +lti#:#lti_con_prov_category_info#:#Categoria da cui filtrare quando l'oggetto viene creato +lti#:#lti_con_prov_custom_params#:#Parametri personalizzati per questo fornitore +lti#:#lti_con_prov_custom_params_info#:#Per favore inseriscili con il formato: param1=value1; param2=value2 +lti#:#lti_con_prov_description#:#Descrizione +lti#:#lti_con_prov_external_provider#:#Fornitore esterno +lti#:#lti_con_prov_external_provider_info#:#Un suggerimento che verrà mostrato a tutti gli utenti che stanno lavorando con un fornitore esterno. Un fornitore esterno è caratterizzato da una insufficiente gestione del fornitore da parte del gestore della piattaforma ILIAS.
Questo è il caso in cui non ci sono diritti da rimuovere. +lti#:#lti_con_prov_group_options#:#Opzione per raggruppare e filtrare i fornitori +lti#:#lti_con_prov_has_outcome_service#:#Il fornitore supporta l'esito +lti#:#lti_con_prov_has_outcome_service_info#:#Se il protocollo LTI dell'esito è supportato, l'avanzamento del progresso può essere attivato.
Il fornitore produrrà un valore tra 0 e 1 per indicare il progresso. +lti#:#lti_con_prov_hints#:#Suggerimenti +lti#:#lti_con_prov_icon#:#Icone +lti#:#lti_con_prov_inc_usr_pic#:#Invia immagine utente +lti#:#lti_con_prov_inc_usr_pic_info#:#I link alle Immagini utente ILIAS sono incluse all'avvio del'oggetto consumatore LTI. +lti#:#lti_con_prov_instructor_email#:#Instructor E-Mail###31 03 2023 new variable +lti#:#lti_con_prov_instructor_email_info#:#In difference to the previously selected settings, the e-mail address can be transferred for instructors. To do this, they must be course or group administrators.###31 03 2023 new variable +lti#:#lti_con_prov_instructor_name#:#Instructor Name###31 03 2023 new variable +lti#:#lti_con_prov_instructor_name_info#:#In difference to the previously selected settings, the name can be transferred for instructors.###31 03 2023 new variable +lti#:#lti_con_prov_key#:#Chiave +lti#:#lti_con_prov_keywords#:#Parole chiave +lti#:#lti_con_prov_keywords_info#:#Le parole chiave devono essere separate da un punto e virgola (;). Le parole chiave vengono automaticamente trasformate in Metadati. +lti#:#lti_con_prov_launch_options#:#Opzioni di avvio +lti#:#lti_con_prov_learning_progress_options#:#Opzioni per l'avanzamento del progresso +lti#:#lti_con_prov_mastery_score_default#:#Soglia di punteggio predefinita +lti#:#lti_con_prov_mastery_score_default_info#:#Il progresso dell'apprendimento sarà valutato dal servizio di esito del fornitore e dal punteggio di soglia. +lti#:#lti_con_prov_privacy_setting_conf#:#Opzioni di configurazione +lti#:#lti_con_prov_privacy_setting_default#:#Opzioni predefinite, modificabili per gli Oggetti +lti#:#lti_con_prov_privacy_setting_force#:#Opzioni non modificabili per gli Oggetti +lti#:#lti_con_prov_privacy_setting_info#:#Opzioni di Configurazione per la Privacy +lti#:#lti_con_prov_privacy_settings#:#Opzioni di privacy +lti#:#lti_con_prov_provider_key_global#:#Chiave e segreto predefiniti +lti#:#lti_con_prov_provider_key_global_info#:#Se non impostata, gli utenti dovranno impostare la chiave e il segreto per utilizzare il fornitore. +lti#:#lti_con_prov_remarks#:#Note interne +lti#:#lti_con_prov_secret#:#Segreto +lti#:#lti_con_prov_title#:#Titolo +lti#:#lti_con_prov_url#:#URL del fornitore +lti#:#lti_con_prov_use_provider_id#:#Utilizza ID del fornitore +lti#:#lti_con_prov_use_provider_id_info#:#Solitamente il Ref-Id del consumatore LTI è inviato al fornitore. Alcuni fornitori mappano questo Ref-Id con la risorsa del fornitore. Per ottenere la stessa risorsa da questi fornitori questa opzione deve essere attivata. +lti#:#lti_con_prov_use_xapi#:#Il fornitore supporta la richiesta di statements xAPI +lti#:#lti_con_prov_use_xapi_info#:#Il fornitore supporta gli statements xAPI +lti#:#lti_con_prov_xapi_activity_id#:#ID Attività +lti#:#lti_con_prov_xapi_activity_id_info#:#L'ID Attività è necessario per richiedere dati dal Learning Record Store. Compila questo campo solo se l'assegnazione della risorsa del fornitore all'ID Attività è unica! Se viene lasciato vuoto, l'ID Attività può essere inserito dal consumatore LTI. L'ID attività può essere richiesto dal fornitore LTI. +lti#:#lti_con_prov_xapi_launch_key#:#Chiave dell'Endpoint LRS +lti#:#lti_con_prov_xapi_launch_key_info#:#  +lti#:#lti_con_prov_xapi_launch_secret#:#Segreto dell'Endpoint LRS +lti#:#lti_con_prov_xapi_launch_secret_info#:#  +lti#:#lti_con_prov_xapi_launch_url#:#URL dell'Endpoint LRS +lti#:#lti_con_prov_xapi_launch_url_info#:#Per favore inserisci l'URL completo con https:// +lti#:#lti_con_redirection_uris#:#Redirection URI###31 03 2023 new variable +lti#:#lti_con_tool_url#:#Login URL###31 03 2023 new variable +lti#:#lti_con_version#:#LTI Version###31 03 2023 new variable +lti#:#lti_con_version_1.1#:#Version 1.1###31 03 2023 new variable +lti#:#lti_con_version_1.3#:#Version 1.3###31 03 2023 new variable +lti#:#lti_con_version_1.3_before_id#:#If dynamic registration is not used, after entering the data provided by the tool, additional data will appear that must be entered with the tool.###28 07 2023 new variable +lti#:#lti_confirm_delete_providers#:#Sei sicuro di voler eliminare i seguenti fornitori? +lti#:#lti_consumer#:#Approvazione per lti#:#lti_consumer_created#:#Consumatore creato lti#:#lti_consumer_deleted#:#Consumatore eliminato lti#:#lti_consumer_key#:#Chiave del consumatore @@ -11388,118 +11391,118 @@ lti#:#lti_consumer_secret#:#Segreto del consumatore lti#:#lti_consumer_set_active#:#Consumatore attivato lti#:#lti_consumer_set_inactive#:#Consumatore disattivato lti#:#lti_consumer_updated#:#Consumatore aggiornato -lti#:#lti_consuming_tab#:#ILIAS as LTI Consumer###07 02 2020 new variable -lti#:#lti_copy#:#Copy Consumer###07 02 2020 new variable +lti#:#lti_consuming_tab#:#ILIAS come Consumatore LTI +lti#:#lti_copy#:#Copia consumatore lti#:#lti_create_consumer#:#Crea consumatore -lti#:#lti_create_lti_user_role#:#Create recommended global role for LTI users###29 07 2022 new variable -lti#:#lti_cron_title#:#LTI Outcome Service###07 02 2020 new variable -lti#:#lti_cron_title_desc#:#Synchronizes the learning progress of LTI users with the LTI consumer, if it supports the outcome service. This cron job is only required to transfer status updates after Learning progress settings updates.###07 02 2020 new variable -lti#:#lti_custom_new#:#Create Own Provider Settings###07 02 2020 new variable -lti#:#lti_delete_consume_provider#:#Delete Provider###07 02 2020 new variable -lti#:#lti_delete_consume_providers#:#Delete Providers###07 02 2020 new variable -lti#:#lti_delete_provider#:#Delete Provider###07 02 2020 new variable +lti#:#lti_create_lti_user_role#:#Crea un ruolo globale raccomandato per gli utenti LTI +lti#:#lti_cron_title#:#Servizio esiti LTI +lti#:#lti_cron_title_desc#:#Sincronizza i progressi didattici degli utenti LTI con i consumatori LTI, se supporta il servizio degli esiti. Questo cron job è richiesto solo per trasferire aggiornamenti di stato dopo l'aggiornamento dei settaggi dei progressi didattici. +lti#:#lti_custom_new#:#Impostazioni di creazione fornitore personale +lti#:#lti_delete_consume_provider#:#Elimina fornitore +lti#:#lti_delete_consume_providers#:#Elimina fornitori +lti#:#lti_delete_provider#:#Elimina fornitore lti#:#lti_edit_consumer#:#Modifica consumatore LTI lti#:#lti_exit#:#Chiudi sessione LTI lti#:#lti_exited#:#Sessione LTI chiusa lti#:#lti_exited_info#:#Sessione LTI chiusa con successo -lti#:#lti_form_provider_create#:#Create Provider Settings###07 02 2020 new variable -lti#:#lti_form_provider_edit#:#Edit Provider Settings###07 02 2020 new variable -lti#:#lti_form_section_appearance#:#Options for launch###07 02 2020 new variable -lti#:#lti_global_settings_form#:#Global Settings###07 02 2020 new variable -lti#:#lti_import_global_provider#:#Import Global Provider for all Users with XML-File###07 02 2020 new variable -lti#:#lti_info_external_provider_info#:#The used Provider is an external Provider. An external Provider is characterized by insufficient influence on the Provider by the operator of the ILIAS-Installation. This is the case e.g. if there are no rights to delete data.###07 02 2020 new variable -lti#:#lti_info_external_provider_label#:#Additional Info about this Provider###07 02 2020 new variable -lti#:#lti_info_learning_progress_section#:#Info about Determination of the Learning Progress###07 02 2020 new variable -lti#:#lti_info_privacy_section#:#Info about personal data transmitted to the provider at launch###07 02 2020 new variable +lti#:#lti_form_provider_create#:#Impostazioni di creazione fornitore +lti#:#lti_form_provider_edit#:#Modifica impostazioni del fornitore +lti#:#lti_form_section_appearance#:#Opzioni di avvio +lti#:#lti_global_settings_form#:#Impostazioni globali +lti#:#lti_import_global_provider#:#Importa il fornitore globale per gli utenti da un file XML +lti#:#lti_info_external_provider_info#:#Il fornitore utilizzato è un fornitore esterno. Un fornitore esterno è caratterizzato da una scarsa influenza sul fornitore da parte di ILIAS. Questo è il caso se non ci sono ad esempio i permessi di cancellare i dati. +lti#:#lti_info_external_provider_label#:#Informazioni aggiuntive su questo fornitore +lti#:#lti_info_learning_progress_section#:#Informazioni sulla determinazione dei progressi didattici +lti#:#lti_info_privacy_section#:#Informazioni sui dati personali trasmessi all'avvio al fornitore lti#:#lti_launch_url#:#Url lti#:#lti_member#:#Membro LTI lti#:#lti_navigation#:#Navigazione -lti#:#lti_no_provider_selected#:#No provider selected###07 02 2020 new variable +lti#:#lti_no_provider_selected#:#Nessun fornitore selezionato lti#:#lti_not_allowed#:#Accesso negato. La tua richiesta è stata reindirizzata alla radice dell’oggetto LTI. -lti#:#lti_obj_active#:#LTI- Fornitore strumenti +lti#:#lti_obj_active#:#Fornitore degli strumenti LTI lti#:#lti_obj_active_info#:#Se abilitato, questo oggetto funge da fornitore di strumenti LTI. I nuovi utenti LTI possono essere automaticamente assegnati ai seguenti ruoli locali. -lti#:#lti_obj_version#:#LTI Version###26 08 2024 new variable -lti#:#lti_obj_version_11#:#Version 1.1###26 08 2024 new variable -lti#:#lti_obj_version_13#:#Version 1.3###26 08 2024 new variable +lti#:#lti_obj_version#:#LTI Version###31 03 2023 new variable +lti#:#lti_obj_version_11#:#Version 1.1###31 03 2023 new variable +lti#:#lti_obj_version_13#:#Version 1.3###31 03 2023 new variable lti#:#lti_object_consumer#:#Consumatori LTI -lti#:#lti_object_release_settings_form#:#LTI Freigaben bearbeiten -lti#:#lti_provider#:#LTI-Freigaben -lti#:#lti_provider_not_avail_msg#:#LTI Provider is set to 'Not Available'###07 02 2020 new variable -lti#:#lti_provider_not_set_msg#:#Configuration of LTI Provider / tool is not completely finished.###29 10 2025 new variable -lti#:#lti_providing_tab#:#ILIAS as LTI Provider###07 02 2020 new variable -lti#:#lti_released_objects#:#Objekt-Freigaben -lti#:#lti_select_provider#:#Select Provider###07 02 2020 new variable +lti#:#lti_object_release_settings_form#:#Modifica versioni LTI +lti#:#lti_provider#:#Versioni LTI +lti#:#lti_provider_not_avail_msg#:#Il fornitore è impostato come 'Non disponibile' +lti#:#lti_provider_not_set_msg#:#Configuration of LTI Provider / tool is not completely finished.###08 07 2025 new variable +lti#:#lti_providing_tab#:#ILIAS come fornitore LTI +lti#:#lti_released_objects#:#Versioni degli Oggetti +lti#:#lti_select_provider#:#Seleziona un fornitore lti#:#lti_session#:#Sessione LTI lti#:#lti_settings#:#Impostazioni LTI -lti#:#lti_settings_form#:#Object Settings###07 02 2020 new variable -lti#:#lti_success_accept_as_global#:#Successfully accepted as Global Provider for all Users###07 02 2020 new variable -lti#:#lti_success_accept_as_global_multi#:#Successfully accepted as Global Provider for all Users###07 02 2020 new variable -lti#:#lti_success_delete_provider#:#Successfully deleted###07 02 2020 new variable -lti#:#lti_success_reset_to_usr_def#:#Successfully reseted as User Defined Provider###07 02 2020 new variable -lti#:#lti_success_reset_to_usr_def_multi#:#Successfully reseted as User Defined Provider###07 02 2020 new variable +lti#:#lti_settings_form#:#Impostazioni oggetto +lti#:#lti_success_accept_as_global#:#Accettato con successo come fornitore globale per tutti gli utenti +lti#:#lti_success_accept_as_global_multi#:#Accettato con successo come fornitore globale per tutti gli utenti +lti#:#lti_success_delete_provider#:#Eliminato correttamente +lti#:#lti_success_reset_to_usr_def#:#Reimpostato con successo come fornitore definito dall'utente +lti#:#lti_success_reset_to_usr_def_multi#:#Reimpostato con successo come fornitore definito dall'utente lti#:#lti_tutor#:#Istruttore LTI -lti#:#lti_user_role_created#:#The recommended global role for LTI users has been created.###29 07 2022 new variable -lti#:#lti_user_role_info#:#The recommended global role for LTI users has not yet been created in this installation. This special global role contains only the permission 'visible' for repository and categories.###29 07 2022 new variable -lti#:#mastery_score#:#Mastery Score###07 02 2020 new variable -lti#:#mastery_score_info#:#The Learning Progress will be evaluated from the Provider Outcome Service and the mastery score threshold.###07 02 2020 new variable -lti#:#obj_tile_image_info#:#Use an Image in Square Format###07 02 2020 new variable -lti#:#online_info#:#This makes the object visible and usable for the users.###07 02 2020 new variable +lti#:#lti_user_role_created#:#Il ruolo globale raccomandato per gli utenti LTI è stato creato. +lti#:#lti_user_role_info#:#Il ruolo globale raccomandato per gli utenti LTI non è ancora stato creato in questa installazione. Questo ruolo globale speciale contiene solo il permesso 'visibile' per il repository e per le categorie. +lti#:#mastery_score#:#Punteggio di padronanza +lti#:#mastery_score_info#:#Il progresso dell'apprendimento sarà valutato in base al servizio di risultato del fornitore e alla soglia del punteggio di padronanza. +lti#:#obj_tile_image_info#:#Utilizzare un'immagine quadrata +lti#:#online_info#:#Questo rende l'oggetto visibile e utilizzabile per gli utenti. lti#:#prefix#:#Prefisso -lti#:#provider_info#:#Used Provider###07 02 2020 new variable -lti#:#settings_subtab#:#Settings###07 02 2020 new variable -lti#:#show_statements#:#Display Learning Experiences###07 02 2020 new variable -lti#:#show_statements_info#:#The Learning Experiences of other users could be displayed if the right 'View learning experiences of other users' is set.###07 02 2020 new variable -lti#:#subtab_certificate#:#Certificate###07 02 2020 new variable -lti#:#subtab_object_settings#:#Object Settings###07 02 2020 new variable -lti#:#subtab_provider_settings#:#LTI Provider Settings###07 02 2020 new variable -lti#:#tab_content#:#Content###07 02 2020 new variable -lti#:#tab_info#:#Info###07 02 2020 new variable -lti#:#tab_scoring#:#Ranking###07 02 2020 new variable -lti#:#tab_settings#:#Settings###07 02 2020 new variable -lti#:#tab_statements#:#Learning Experiences###07 02 2020 new variable -lti#:#tbl_grade_activity_progress#:#Activity Progress###26 08 2024 new variable -lti#:#tbl_grade_actor#:#User###26 08 2024 new variable -lti#:#tbl_grade_date#:#Date###26 08 2024 new variable -lti#:#tbl_grade_grading_progress#:#Grading Progress###26 08 2024 new variable -lti#:#tbl_grade_period#:#Period###26 08 2024 new variable -lti#:#tbl_grade_score#:#Score###26 08 2024 new variable -lti#:#tbl_grade_stored#:#Transmitted to ILIAS###26 08 2024 new variable -lti#:#tbl_lti_prov_all_categories#:#All Categories###07 02 2020 new variable -lti#:#tbl_lti_prov_availability#:#Availability###07 02 2020 new variable -lti#:#tbl_lti_prov_category#:#Category###07 02 2020 new variable -lti#:#tbl_lti_prov_description#:#Description###07 02 2020 new variable -lti#:#tbl_lti_prov_icon#:#Icon###07 02 2020 new variable -lti#:#tbl_lti_prov_internal#:#Internal Provider###07 02 2020 new variable -lti#:#tbl_lti_prov_keyword#:#Keyword###07 02 2020 new variable -lti#:#tbl_lti_prov_keywords#:#Keywords###07 02 2020 new variable -lti#:#tbl_lti_prov_outcome#:#Outcome Service###07 02 2020 new variable -lti#:#tbl_lti_prov_own_provider#:#Own Provider###07 02 2020 new variable -lti#:#tbl_lti_prov_provider_creator#:#Creator###07 02 2020 new variable -lti#:#tbl_lti_prov_title#:#Title of Provider###07 02 2020 new variable -lti#:#tbl_lti_prov_usages#:#Usages###07 02 2020 new variable -lti#:#tbl_lti_prov_usages_trashed#:#Trashed Usages###07 02 2020 new variable -lti#:#tbl_lti_prov_usages_untrashed#:#Repository Usages###07 02 2020 new variable -lti#:#tbl_lti_prov_used_by#:#Provider Used by Objects in Tree###07 02 2020 new variable -lti#:#tbl_lti_prov_with_key#:#Predefined with Key / Secret###07 02 2020 new variable -lti#:#tbl_provider_header#:#LTI Provider###07 02 2020 new variable -lti#:#tbl_provider_usage_header#:#LTI Provider###07 02 2020 new variable -lti#:#tbl_provider_usage_header_info#:#Before deleting providers, trashed usages must also be deleted.###07 02 2020 new variable -lti#:#title_info#:#Give the object a title.###07 02 2020 new variable -lti#:#usage_subtab#:#Usage###07 02 2020 new variable -lti#:#use_xapi#:#Use xAPI-Support###07 02 2020 new variable -lti#:#use_xapi_info#:#This LTI Provider supports xAPI-Statements.###07 02 2020 new variable +lti#:#provider_info#:#Fornitore utilizzato +lti#:#settings_subtab#:#Impostazioni +lti#:#show_statements#:#Mostra esperienze di apprendimento +lti#:#show_statements_info#:#Le esperienze di apprendimento di altri utenti potrebbero essere visualizzate se è impostata correttamente "Visualizza esperienze di apprendimento di altri utenti". +lti#:#subtab_certificate#:#Certificato +lti#:#subtab_object_settings#:#Impostazioni oggetto +lti#:#subtab_provider_settings#:#Impostazioni fornitore LTI +lti#:#tab_content#:#Contenuto +lti#:#tab_info#:#Info +lti#:#tab_scoring#:#Classifica +lti#:#tab_settings#:#Impostazioni +lti#:#tab_statements#:#Esperienze di apprendimento +lti#:#tbl_grade_activity_progress#:#Activity Progress###30 04 2024 new variable +lti#:#tbl_grade_actor#:#User###31 03 2023 new variable +lti#:#tbl_grade_date#:#Date###31 03 2023 new variable +lti#:#tbl_grade_grading_progress#:#Grading Progress###30 04 2024 new variable +lti#:#tbl_grade_period#:#Period###31 03 2023 new variable +lti#:#tbl_grade_score#:#Score###31 03 2023 new variable +lti#:#tbl_grade_stored#:#Transmitted to ILIAS###30 04 2024 new variable +lti#:#tbl_lti_prov_all_categories#:#Tutte le categorie +lti#:#tbl_lti_prov_availability#:#Disponibilità +lti#:#tbl_lti_prov_category#:#Categoria +lti#:#tbl_lti_prov_description#:#Descrizione +lti#:#tbl_lti_prov_icon#:#Icona +lti#:#tbl_lti_prov_internal#:#Fornitore interno +lti#:#tbl_lti_prov_keyword#:#Parola chiave +lti#:#tbl_lti_prov_keywords#:#Parole chiave +lti#:#tbl_lti_prov_outcome#:#Servizio degli esiti +lti#:#tbl_lti_prov_own_provider#:#Fornitore personale +lti#:#tbl_lti_prov_provider_creator#:#Creatore +lti#:#tbl_lti_prov_title#:#Titolo del fornitore +lti#:#tbl_lti_prov_usages#:#Uso +lti#:#tbl_lti_prov_usages_trashed#:#Nel cestino +lti#:#tbl_lti_prov_usages_untrashed#:#Non nel cestino +lti#:#tbl_lti_prov_used_by#:#Fornitore utilizzato per gli oggetti nell'albero +lti#:#tbl_lti_prov_with_key#:#Predefinito con Chiave / Segreto +lti#:#tbl_provider_header#:#Fornitore LTI +lti#:#tbl_provider_usage_header#:#Fornitore LTI +lti#:#tbl_provider_usage_header_info#:#Prima di eliminare i fornitori, è necessario eliminare anche gli oggetti spostati nel cestino. +lti#:#title_info#:#Dai un titolo all'oggetto. +lti#:#usage_subtab#:#Utilizzi +lti#:#use_xapi#:#Utilizza il supporto alle xAPI +lti#:#use_xapi_info#:#Questo fornitore LTI supporta gli statements xAPI. lti#:#user_lng#:#Lingua utente -lti#:#user_provider_subtab#:#Providers Defined by Users###07 02 2020 new variable -ltiv#:#ltiv_create#:#Create Certificate for LTI Consumer Object###07 02 2020 new variable -ltiv#:#ltiv_create_info#:#Select a completed LTI consumer object to generate a certificate for it###07 02 2020 new variable +lti#:#user_provider_subtab#:#Fornitori definiti dagli utenti +ltiv#:#ltiv_create#:#Crea certificato per Oggetto consumatore LTI. +ltiv#:#ltiv_create_info#:#Seleziona un Oggetto consumatore LTI completato per generare un certificato. mail#:#back_to_folder#:#Torna alla cartella -mail#:#chat_users_have_been_invited#:#Gli utenti sono stati invitati. -mail#:#chat_users_without_login#:#I seguenti utenti non hanno un account di ILIAS e quindi non possono essere invitati alla Chat Room. -mail#:#chat_users_without_permission#:#I seguenti utenti non hanno accesso alla chat room +mail#:#chat_users_have_been_invited#:#I seguenti utenti sono stati invitati: +mail#:#chat_users_without_login#:#I seguenti utenti non hanno un account di ILIAS e quindi non possono essere invitati alla Chat Room: +mail#:#chat_users_without_permission#:#I seguenti utenti non hanno accesso alla chat room: mail#:#current_folder#:#Cartella attuale: %s -mail#:#deleteTemplate#:#Delete###29 07 2022 new variable -mail#:#edit_attachments#:#Edit Attachments###29 10 2025 new variable -mail#:#first_email_missing_info#:#Selection not possible because no email address has been entered +mail#:#deleteTemplate#:#Delete###31 03 2023 new variable +mail#:#edit_attachments#:#Edit Attachments###28 11 2025 new variable +mail#:#first_email_missing_info#:#Selezione impossibile perché non è stato inserito alcun indirizzo e-mail mail#:#forward#:#Inoltra mail#:#goto_invitation_chat#:#Apri la Chat Room mail#:#invite_to_chat#:#Invita alla chat @@ -11507,39 +11510,39 @@ mail#:#link_check_affected_links#:#Collegamenti interessati mail#:#link_check_introduction#:#I seguenti collegamenti web non sono validi: mail#:#link_check_perma_link#:#Collegamento permanente mail#:#link_check_reason#:#Ricevi questa mail perché è stata abilitata la notifica per i collegamenti non validi. -mail#:#mail_1#:#1 Mail###28 10 2024 new variable -mail#:#mail_absence_auto_responder_body#:#Message###26 08 2024 new variable -mail#:#mail_absence_auto_responder_body_hint#:#This is an automatically generated message. If you send further messages to this user during their absence, you will not receive another automatic reply until [NEXT_AUTO_RESPONDER_DATETIME].###26 08 2024 new variable -mail#:#mail_absence_auto_responder_body_info#:#This message will be sent automatically during your absence if users send you a Mail from within ILIAS.
Users will be notified of your absence every %1$s days if they send further messages.###26 08 2024 new variable -mail#:#mail_absence_auto_responder_body_info_single_day#:#This message will be sent automatically during your absence if users send you a Mail from within ILIAS.
Users will be notified again of your absence the next day if they send further messages.###26 08 2024 new variable -mail#:#mail_absence_auto_responder_subject#:#Subject###26 08 2024 new variable -mail#:#mail_absence_duration#:#Duration###26 08 2024 new variable -mail#:#mail_absence_status#:#Enable Autoresponder###26 08 2024 new variable -mail#:#mail_absence_status_info#:#Activate an automatic out-of-office message.###26 08 2024 new variable -mail#:#mail_absent_from#:#Absent from###26 08 2024 new variable -mail#:#mail_absent_until#:#Absent until###26 08 2024 new variable +mail#:#mail_1#:#1 Mail###28 11 2025 new variable +mail#:#mail_absence_auto_responder_body#:#Message###30 04 2024 new variable +mail#:#mail_absence_auto_responder_body_hint#:#This is an automatically generated message. If you send further messages to this user during their absence, you will not receive another automatic reply until [NEXT_AUTO_RESPONDER_DATETIME].###30 04 2024 new variable +mail#:#mail_absence_auto_responder_body_info#:#This message will be sent automatically during your absence if users send you a Mail from within ILIAS.
Users will be notified of your absence every %1$s days if they send further messages.###30 04 2024 new variable +mail#:#mail_absence_auto_responder_body_info_single_day#:#This message will be sent automatically during your absence if users send you a Mail from within ILIAS.
Users will be notified again of your absence the next day if they send further messages.###30 04 2024 new variable +mail#:#mail_absence_auto_responder_subject#:#Subject###30 04 2024 new variable +mail#:#mail_absence_duration#:#Duration###30 04 2024 new variable +mail#:#mail_absence_status#:#Enable Autoresponder###30 04 2024 new variable +mail#:#mail_absence_status_info#:#Activate an automatic out-of-office message.###30 04 2024 new variable +mail#:#mail_absent_from#:#Absent from###30 04 2024 new variable +mail#:#mail_absent_until#:#Absent until###30 04 2024 new variable mail#:#mail_account_mail#:#Account mail -mail#:#mail_add_folder#:#Add New Subfolder +mail#:#mail_add_folder#:#Aggiungi nuova sottocartella mail#:#mail_add_recipient#:#Per favore, specifica il destinatario mail#:#mail_add_subfolder#:#Aggiungi cartella -mail#:#mail_add_subject#:#Per favore, specifica l& -mail#:#mail_all_in_trash#:#All in Trash###28 10 2024 new variable -mail#:#mail_allow_external#:#External Emails -mail#:#mail_allow_external_info#:#If disabled, the delivery of external emails (via SMTP) is globally disabled. +mail#:#mail_add_subject#:#Per favore, inserisci un argomento +mail#:#mail_all_in_trash#:#All in Trash###28 11 2025 new variable +mail#:#mail_allow_external#:#Email esterne +mail#:#mail_allow_external_info#:#Se disabilitato, la consegna di e-mail esterne (tramite SMTP) è disabilitata a livello globale. mail#:#mail_assign_entry_to_mailing_list#:#Assegna un indirizzo della tua rubrica alla tua Mailing List -mail#:#mail_assign_to_mailing_list#:#Assign###26 08 2024 new variable +mail#:#mail_assign_to_mailing_list#:#Assign###30 04 2024 new variable mail#:#mail_attachment_file_not_exist#:#Almeno uno dei seguenti allegati non esiste: %1$s mail#:#mail_attachments#:#Allegati mail#:#mail_auto_generated_info#:#Questa mail ti è stata mandata in automatico dalla installazione %s, %s di ILIAS -mail#:#mail_auto_responder#:#Autoresponder###26 08 2024 new variable -mail#:#mail_auto_responder_idle_time#:#Resend###26 08 2024 new variable -mail#:#mail_auto_responder_idle_time_info#:#Specify here how many days should elapse before your out-of-office reply is resent to a mail correspondent who has sent you further mails.###26 08 2024 new variable -mail#:#mail_bcc#:#BCC###26 08 2024 new variable -mail#:#mail_bg_task_desc#:#Subject: %s###07 02 2020 new variable -mail#:#mail_bg_task_title#:#E-mail Delivery###07 02 2020 new variable -mail#:#mail_both_email#:#Both Email Addresses -mail#:#mail_cc#:#CC###26 08 2024 new variable -mail#:#mail_change_to_folder#:#Spostare nella cartella: +mail#:#mail_auto_responder#:#Autoresponder###30 04 2024 new variable +mail#:#mail_auto_responder_idle_time#:#Resend###30 04 2024 new variable +mail#:#mail_auto_responder_idle_time_info#:#Specify here how many days should elapse before your out-of-office reply is resent to a mail correspondent who has sent you further mails.###30 04 2024 new variable +mail#:#mail_bcc#:#BCC###16 03 2023 new variable +mail#:#mail_bg_task_desc#:#Soggetto: %s +mail#:#mail_bg_task_title#:#E-mail consegnata +mail#:#mail_both_email#:#Entrambi gli indirizzi e-mail +mail#:#mail_cc#:#CC###16 03 2023 new variable +mail#:#mail_change_to_folder#:#Spostare nella cartella: %s mail#:#mail_create_tpl#:#Crea modello di testo mail#:#mail_cronjob_notification_info#:#Puoi attivare qui una notifica periodica per nuove mail. mail#:#mail_crs_list_members_not_available#:#Non è possibile inserire in lista i seguenti utenti dei corsi selezionati. @@ -11547,166 +11550,166 @@ mail#:#mail_crs_list_members_not_available_for_at_least_one_crs#:#Gli utenti di mail#:#mail_crs_roles#:#Invia mail ai ruoli del corso mail#:#mail_deleted#:#Le eMail sono state cancellate mail#:#mail_deleted_entry#:#Le voci sono state cancellate -mail#:#mail_download_attachment#:#Download Attachment###28 10 2024 new variable -mail#:#mail_download_zip_no_attachments#:#Could not find any attachments. +mail#:#mail_download_attachment#:#Download Attachment###28 11 2025 new variable +mail#:#mail_download_zip_no_attachments#:#Impossibile trovare allegati. mail#:#mail_edit_tpl#:#Modifica modello di testo -mail#:#mail_email_sys_body#:#This is a test e-mail to test the delivery of system mails to the external mail account.###29 07 2022 new variable -mail#:#mail_email_sys_subject#:#Test E-Mail System Mail###29 07 2022 new variable -mail#:#mail_email_usr_body#:#This is a test e-mail to test the delivery of user mails to the external mail account.###29 07 2022 new variable -mail#:#mail_email_usr_subject#:#Test E-Mail User Mail###29 07 2022 new variable +mail#:#mail_email_sys_body#:#Questa è una e-mail di prova per testare la consegna delle mail di sistema all'account di posta esterno. +mail#:#mail_email_sys_subject#:#Prova del sistema di posta elettronica +mail#:#mail_email_usr_body#:#Questa è una mail di prova per testare la consegna delle mail degli utenti all'account di posta esterno. +mail#:#mail_email_usr_subject#:#Test E-Mail Posta Utente mail#:#mail_empty_trash#:#Svuota il cestino mail#:#mail_empty_trash_confirmation#:#Sei sicuro di voler spostare questa mail nel cestino? mail#:#mail_enable_crs_admin_notification#:#Notifica per gli amministratori del corso mail#:#mail_enable_crs_admin_notification_info#:#Nei nuovi corsi l’impostazione 'Notifica sui nuovi membri' verrà attivata per impostazione predefinita. Viene impostata nella scheda 'Membri' dei corsi. Gli amministratori del corso riceveranno una mail quando un membro parteciperà o abbandonerà il corso, o se il numero minimo dei partecipanti richiesti non è stato soddisfatto, affinché il corso avvenga. -mail#:#mail_enable_crs_member_notification#:#Course Notification -mail#:#mail_enable_crs_member_notification_info#:#If enabled, course participants will be notified automatically about membership changes. +mail#:#mail_enable_crs_member_notification#:#Notifica i membri del corso +mail#:#mail_enable_crs_member_notification_info#:#Se abilitato, i partecipanti al corso verranno avvisati automaticamente delle modifiche all'iscrizione. Questa impostazione si applica a tutti i corsi della piattaforma. mail#:#mail_enable_grp_admin_notification#:#Notifica per gli amministratori del gruppo mail#:#mail_enable_grp_admin_notification_info#:#Nei nuovi gruppi l’impostazione 'Notifica' verrà attivata per impostazione predefinita. Viene impostata nella scheda 'Membri' dei gruppi. Gli amministratori del corso riceveranno una mail quando un membro parteciperà o abbandonerà il gruppo, o se il numero minimo dei partecipanti richiesti non è stato soddisfatto, affinché il gruppo si formi. -mail#:#mail_enable_grp_member_notification#:#Group Notification -mail#:#mail_enable_grp_member_notification_info#:#If enabled, group participants will be notified automatically about membership changes. -mail#:#mail_enable_lso_admin_notification#:#Notify Learning Sequence Administrators###29 07 2022 new variable -mail#:#mail_enable_lso_admin_notification_info#:#In new Learning Sequences the setting 'Notification About New Members' will be activated by default. It is set in the 'Member'-tab of Learning Sequences. Administrators will receive an e-mail when a member joins the Learning Sequence or leaves it.###29 07 2022 new variable -mail#:#mail_enable_lso_member_notification#:#Notify Learning Sequence Members###29 07 2022 new variable -mail#:#mail_enable_lso_member_notification_info#:#ILIAS will automatically send an e-mail to every member if his or her membership status is changed. This setting applies to all Learning Sequences on the platform.###29 07 2022 new variable +mail#:#mail_enable_grp_member_notification#:#Notifica del gruppo +mail#:#mail_enable_grp_member_notification_info#:#Se abilitato, i partecipanti al gruppo verranno avvisati automaticamente delle modifiche all'iscrizione. Questa impostazione si applica a tutti i corsi della piattaforma. Questa impostazione si applica a tutti i corsi della piattaforma. +mail#:#mail_enable_lso_admin_notification#:#Notifica agli amministratori delle sequenze di apprendimento +mail#:#mail_enable_lso_admin_notification_info#:#Nelle nuove sequenze di apprendimento l'impostazione "Notifica sui nuovi membri" sarà attivata di default. E' impostata nella scheda 'Membro' delle sequenze di apprendimento. Gli amministratori riceveranno una e-mail quando un membro si unisce alla sequenza di apprendimento o la lascia. +mail#:#mail_enable_lso_member_notification#:#Notifica ai membri della sequenza di apprendimento +mail#:#mail_enable_lso_member_notification_info#:#ILIAS invierà automaticamente un'e-mail ad ogni membro se il suo stato di membro è cambiato. Questa impostazione si applica a tutte le sequenze di apprendimento della piattaforma. mail#:#mail_entry_of_contacts#:#Inserimento dei contatti -mail#:#mail_error_reading_attachment#:#Could not determine any attachment. -mail#:#mail_external_send_test_sys#:#Send Test Email (System Mail) -mail#:#mail_external_send_test_usr#:#Send Test Email (User Mail) -mail#:#mail_external_test_sent#:#An email was sent to the email address defined in your profile. +mail#:#mail_error_reading_attachment#:#Impossibile determinare alcun allegato. +mail#:#mail_external_send_test_sys#:#Invia e-mail di prova (posta di sistema) +mail#:#mail_external_send_test_usr#:#Invia e-mail di prova (posta utente) +mail#:#mail_external_test_sent#:#È stata inviata un'email all'indirizzo di posta elettronica definito nel profilo. mail#:#mail_file_name#:#Nome del file mail#:#mail_file_size#:#Dimensioni del file mail#:#mail_files_deleted#:#I file sono stati cancellati mail#:#mail_filter#:#Filtro mail#:#mail_filter_attach#:#Allegati -mail#:#mail_filter_body#:#Corpo -mail#:#mail_filter_display#:#Display###28 10 2024 new variable +mail#:#mail_filter_body#:#Testo +mail#:#mail_filter_display#:#Display###28 11 2025 new variable mail#:#mail_filter_field_placeholder#:#Filtra questi messaggi... -mail#:#mail_filter_period#:#Period -mail#:#mail_filter_recipients#:#Recipienti +mail#:#mail_filter_period#:#Periodo +mail#:#mail_filter_recipients#:#Destinatari mail#:#mail_filter_sender#:#Mittente -mail#:#mail_filter_show_read#:#Show Read###28 10 2024 new variable -mail#:#mail_filter_show_system_mails#:#Show System Notifications###28 10 2024 new variable -mail#:#mail_filter_show_unread#:#Show Unread###28 10 2024 new variable -mail#:#mail_filter_show_user_mails#:#Show User Mails###28 10 2024 new variable -mail#:#mail_filter_show_with_attachments#:#Show With Attachments###28 10 2024 new variable -mail#:#mail_filter_show_without_attachment#:#Show Without Attachment###28 10 2024 new variable +mail#:#mail_filter_show_read#:#Show Read###28 11 2025 new variable +mail#:#mail_filter_show_system_mails#:#Show System Notifications###28 11 2025 new variable +mail#:#mail_filter_show_unread#:#Show Unread###28 11 2025 new variable +mail#:#mail_filter_show_user_mails#:#Show User Mails###28 11 2025 new variable +mail#:#mail_filter_show_with_attachments#:#Show With Attachments###28 11 2025 new variable +mail#:#mail_filter_show_without_attachment#:#Show Without Attachment###28 11 2025 new variable mail#:#mail_filter_subject#:#Oggetto mail#:#mail_filter_txt#:#Filtra messaggi per -mail#:#mail_first_email#:#First Email Address -mail#:#mail_firstname_last_name_superior#:#Eine kommaseparierte Liste von Vor- und Nachname des/der jeweiligen Vorgesetzten.###07 02 2020 new variable -mail#:#mail_folder_created#:#Una nuova cartella & -mail#:#mail_folder_deleted#:#La cartella è stata cancellata -mail#:#mail_folder_exists#:#Esiste gi& -mail#:#mail_folder_name_changed#:#La cartella & +mail#:#mail_first_email#:#Primo indirizzo email +mail#:#mail_firstname_last_name_superior#:#Una lista separata da virgole del nome e cognome del rispettivo supervisore (o dei rispettivi supervisori). +mail#:#mail_folder_created#:#È stata creata una nuova cartella +mail#:#mail_folder_deleted#:#La cartella è stata cancellata +mail#:#mail_folder_exists#:#Esiste già una cartella con questo nome +mail#:#mail_folder_name_changed#:#La cartella è stata rinominata mail#:#mail_following_rcp_not_valid#:#I seguenti destinatari non sono validi: -mail#:#mail_form_placeholders_label#:#Available Placeholders###26 08 2024 new variable -mail#:#mail_generic_rcp_error#:#Ha avuto luogo un errore durante la convalida dei recipienti: %1$s -mail#:#mail_global_reply_to_addr#:#Reply-To###29 07 2022 new variable -mail#:#mail_global_reply_to_addr_info#:#Please enter the desired 'Reply-To' address.###29 07 2022 new variable +mail#:#mail_form_placeholders_label#:#Available Placeholders###31 03 2023 new variable +mail#:#mail_generic_rcp_error#:#Ha avuto luogo un errore durante la convalida dei destinatari: %1$s +mail#:#mail_global_reply_to_addr#:#Rispondi a +mail#:#mail_global_reply_to_addr_info#:#Inserisci l'indirizzo a cui desideri ricevere la risposta mail#:#mail_grp_roles#:#Invia mail ai ruoli del gruppo -mail#:#mail_hint_add_placeholder_x#:#Add the placeholder '%s' to the message body.###26 08 2024 new variable -mail#:#mail_incoming#:#eMail in arrivo -mail#:#mail_incoming_both#:#locali ed esterne -mail#:#mail_incoming_local#:#solamente locali +mail#:#mail_hint_add_placeholder_x#:#Add the placeholder '%s' to the message body.###31 03 2023 new variable +mail#:#mail_incoming#:#E-Mail in arrivo +mail#:#mail_incoming_both#:#Interna a ILIAS ed inoltro alle mail principali +mail#:#mail_incoming_local#:#Solamente interna a ILIAS mail#:#mail_incoming_mail#:#Posta in arrivo -mail#:#mail_incoming_smtp#:#invia all& +mail#:#mail_incoming_smtp#:#Inoltra all'indirizzo e-mail mail#:#mail_insert_folder_name#:#Per favore, inserisci il nome della cartella mail#:#mail_insert_query#:#Per favore, inserisci la parola da cercare mail#:#mail_invite_users_to_chat#:#Invita l'utente alla chat -mail#:#mail_is_read#:#gelesen###29 07 2022 new variable -mail#:#mail_is_unread#:#ungelesen###29 07 2022 new variable +mail#:#mail_is_read#:#gelesen###29 06 2022 new variable +mail#:#mail_is_unread#:#ungelesen###29 06 2022 new variable mail#:#mail_list_members#:#Lista degli indirizzi email mail#:#mail_mailing_list#:#Elenco mail mail#:#mail_mailing_lists#:#Elenchi mail mail#:#mail_mailing_lists_all_contact_entries_assigned#:#Hai già assegnato tutti i tuoi contatti a questo elenco mail. mail#:#mail_mailing_lists_no_contact_entries#:#Non sono presenti voci nei contatti da aggiungere a un elenco. -mail#:#mail_main_folder#:#Main Folder###29 10 2025 new variable -mail#:#mail_manage_attachments#:#Manage Attachments###26 08 2024 new variable -mail#:#mail_manage_attachments_back_to_compose#:#Back to Compose###26 08 2024 new variable -mail#:#mail_manage_attachments_drop_files_msg#:#Drop file to upload###26 08 2024 new variable +mail#:#mail_main_folder#:#Main Folder###28 11 2025 new variable +mail#:#mail_manage_attachments#:#Manage Attachments###28 11 2025 new variable +mail#:#mail_manage_attachments_back_to_compose#:#Back to Compose###28 11 2025 new variable +mail#:#mail_manage_attachments_drop_files_msg#:#Drop file to upload###28 11 2025 new variable mail#:#mail_mark_read#:#Segna la eMail come letta mail#:#mail_mark_unread#:#Segna la eMail come non letta -mail#:#mail_max_size_attachments_total#:#Please enter the maximum file size allowed as attachment per mail. This setting is not related to other resource limits, e.g. upload_max_filesize etc. (since you can attach multiple files). +mail#:#mail_max_size_attachments_total#:#Inserisci la dimensione massima del file consentita come allegato per email. Questa impostazione non è correlata ad altri limiti di risorse, ad es. upload_max_filesize ecc. (poiché è possibile allegare più file). mail#:#mail_max_size_attachments_total_error#:#La grandezza dell’allegato consentito è: -mail#:#mail_maxsize_attachment_error#:#Il limite per l& +mail#:#mail_maxsize_attachment_error#:#Il limite di upload è: mail#:#mail_member_notification#:#Notifica dei partecipanti mail#:#mail_members_of_mailing_list#:#Membri della Mailing List mail#:#mail_members_search_continue#:#Continua -mail#:#mail_message_send#:#Il messaggio & +mail#:#mail_message_send#:#Messaggio inviato mail#:#mail_move_error#:#Errore nell'invio della eMail mail#:#mail_move_to#:#Sposta le eMail in -mail#:#mail_move_to_folder_btn_label#:#Move Mail###26 08 2024 new variable -mail#:#mail_move_to_folder_x#:#to "%s"###26 08 2024 new variable +mail#:#mail_move_to_folder_btn_label#:#Move Mail###30 04 2024 new variable +mail#:#mail_move_to_folder_x#:#to "%s"###30 04 2024 new variable mail#:#mail_moved#:#Le eMail sono state spostate mail#:#mail_moved_to_trash#:#Le eMail sono state spostate nel cestino -mail#:#mail_multiple_role_recipients_found#:#%1$s (trova diversi ruoli per il recipiente: %2$s) +mail#:#mail_multiple_role_recipients_found#:#%1$s (trova diversi ruoli per il destinatario: %2$s) mail#:#mail_my_courses#:#Miei corsi mail#:#mail_my_groups#:#Miei gruppi mail#:#mail_my_mailing_lists#:#Mia mailing list mail#:#mail_nacc_admin_mail#:#Indirizzo e-mail dell'amministratore mail#:#mail_nacc_if_timelimit#:#Questo testo è incluso solo se l'utente ha un periodo di accesso limitato. mail#:#mail_nacc_ilias_url#:#URL del sistema di ILIAS -mail#:#mail_nacc_installation_desc#:#Installation Description###26 08 2024 new variable -mail#:#mail_nacc_installation_name#:#Installation Name###26 08 2024 new variable +mail#:#mail_nacc_installation_desc#:#Installation Description###31 03 2023 new variable +mail#:#mail_nacc_installation_name#:#Installation Name###31 03 2023 new variable mail#:#mail_nacc_login#:#Account del login mail#:#mail_nacc_no_pw_block#:#Questo blocco di testo verrà creato solamente alla creazione di un nuovo utente senza password. mail#:#mail_nacc_pw_block#:#Questo blocco di testo verrà creato solamente quando il nuovo utente di ILIAS avrà incluso una password. -mail#:#mail_nacc_salutation#:#Intestazione. +mail#:#mail_nacc_salutation#:#Intestazione mail#:#mail_nacc_target#:#URL dell'oggetto chiave, p.e. un link ad un corso esterno da ILIAS mail#:#mail_nacc_target_block#:#Questo blocco di testo verrà inserito solamente quando sarà stabilito un oggetto chiave. -mail#:#mail_nacc_target_title#:#Titolo dell'oggetto chiave, p.e. del corso -mail#:#mail_nacc_target_type#:#Tipo di oggetto chiave, p.e. "Corso" per il tipo di corso +mail#:#mail_nacc_target_title#:#Titolo dell'oggetto chiave, p.e. titolo del corso +mail#:#mail_nacc_target_type#:#Tipo di oggetto chiave, p.e. "Corso" per un oggetto Corso mail#:#mail_nacc_timelimit#:#Periodo di accesso dell’utente mail#:#mail_nacc_title#:#Titolo -mail#:#mail_nacc_use_placeholder#:#I seguenti segnaposto possono essere utilizzati -mail#:#mail_nacc_user_fullname#:#User Full Name###26 08 2024 new variable -mail#:#mail_nacc_user_login#:#User Login###26 08 2024 new variable -mail#:#mail_new#:#New Mail###29 10 2025 new variable +mail#:#mail_nacc_use_placeholder#:#I seguenti segnaposto possono essere utilizzati (solo nel contenuto del messaggio) +mail#:#mail_nacc_user_fullname#:#User Full Name###28 11 2025 new variable +mail#:#mail_nacc_user_login#:#User Login###28 11 2025 new variable +mail#:#mail_new#:#New Mail###28 11 2025 new variable mail#:#mail_new_template#:#Nuovo modello di testo -mail#:#mail_no_mail_items#:#No unread mails.###26 08 2024 new variable -mail#:#mail_no_permissions_write_smtp#:#Non hai permessi per scrivere eMail all& -mail#:#mail_no_subject#:#No subject available###29 07 2022 new variable +mail#:#mail_no_mail_items#:#No unread mails.###28 11 2025 new variable +mail#:#mail_no_permissions_write_smtp#:#Non sei autorizzato a scrivere e-mail verso l'esterno +mail#:#mail_no_subject#:#No Subject available###27 04 2022 new variable mail#:#mail_no_valid_mailing_list#:#Mailing List errata mail#:#mail_notification_membership_section#:#Appartenenza -mail#:#mail_notification_subject#:#nuova mail nella tua inbox +mail#:#mail_notification_subject#:#Nuova mail nella tua casella mail#:#mail_notify_orphaned#:#Mail di notifica -mail#:#mail_notify_orphaned_info#:#If you enter a value here is larger than or equal to 1, ILIAS will send an email to the user before an internal mail is deleted. Please make sure that an external e-mail reception is possible. -mail#:#mail_operation_on_invalid_folder#:#It was not possible to carry out the requested operation. The folder given in the server request is invalid. Please contact an administrator.###26 08 2024 new variable -mail#:#mail_options#:#Mail Options###29 10 2025 new variable +mail#:#mail_notify_orphaned_info#:#Se inserisci un valore qui maggiore o uguale a 1, ILIAS invierà un'email all'utente prima che venga eliminata una e-mail interna. Assicurati che sia possibile ricevere un'e-mail esterna. +mail#:#mail_operation_on_invalid_folder#:#The operation cannot be executed, the folder given in the server request is invalid. Please contact an administrator.###19 03 2024 new variable +mail#:#mail_options#:#Mail Options###28 11 2025 new variable mail#:#mail_options_saved#:#Opzioni salvate mail#:#mail_orphaned_mails#:#Eliminare mail vecchie o orfane mail#:#mail_orphaned_mails_desc#:#Eliminare mail vecchie o orfane -mail#:#mail_recipient_not_found#:#%1$s (non è possibile trovare un recipiente valido) +mail#:#mail_recipient_not_found#:#%1$s (non è possibile trovare un destinatario valido) mail#:#mail_rename_folder#:#Rinomina cartella -mail#:#mail_roles#:#to users with the following local roles###29 07 2022 new variable +mail#:#mail_roles#:#Users with the following local roles###31 03 2023 new variable mail#:#mail_s#:#eMail mail#:#mail_salutation_anonymous#:#Salve mail#:#mail_salutation_f#:#Salve -mail#:#mail_salutation_female#:#Intestazione, femminile -mail#:#mail_salutation_general#:#Intestazione, generale -mail#:#mail_salutation_m#:#salve -mail#:#mail_salutation_male#:#Intestazione, maschile +mail#:#mail_salutation_female#:#Output per il segnaposto [MAIL_SALUTATION], se il saluto è 'Ms.' +mail#:#mail_salutation_general#:#Output per il segnaposto [MAIL_SALUTATION], se nessun saluto è desiderato o specificato +mail#:#mail_salutation_m#:#Salve +mail#:#mail_salutation_male#:#Output per il segnaposto [MAIL_SALUTATION], se il saluto è 'Mr.' mail#:#mail_salutation_n#:#Salve -mail#:#mail_saved#:#La eMail & -mail#:#mail_second_email#:#Second Email Address -mail#:#mail_sel_label#:#Choose the Recipients###29 07 2022 new variable +mail#:#mail_saved#:#Il messaggio è stato salvato +mail#:#mail_second_email#:#Secondo indirizzo email +mail#:#mail_sel_label#:#Scegli i destinatari mail#:#mail_sel_users#:#Invia mail agli utenti selezionati mail#:#mail_select_attachment#:#Seleziona per favore un allegato da scaricare. -mail#:#mail_select_crs#:#Please select at least one course.###26 08 2024 new variable -mail#:#mail_select_grp#:#Please select at least one group.###26 08 2024 new variable +mail#:#mail_select_crs#:#Please select at least one course.###30 04 2024 new variable +mail#:#mail_select_grp#:#Please select at least one group.###30 04 2024 new variable mail#:#mail_select_one_entry#:#Devi selezionare almeno una voce mail#:#mail_select_one_file#:#Devi selezionare almeno un file -mail#:#mail_send_html#:#HTML Frame for External Emails +mail#:#mail_send_html#:#HTML Frame per e-mail esterne mail#:#mail_send_html_info#:#Se abilitata, il corpo delle e-mail esterne verrà incorporato in un fotogramma HTML. Il modello corrispondente può essere personalizzato creando una copia di './Services/Mail/templates/default/tpl.html_mail_template.html' at './Customizing/global/skin/[SKIN]/Services/Mail/tpl.html_mail_template.html' . -mail#:#mail_sent_datetime#:#Date###26 08 2024 new variable +mail#:#mail_sent_datetime#:#Date###28 11 2025 new variable mail#:#mail_serial_letter_placeholders#:#Segnaposti di lettera seriale -mail#:#mail_settings_external_frm_head#:#External Emails +mail#:#mail_settings_external_frm_head#:#Email esterne mail#:#mail_settings_external_tab#:#Esterno mail#:#mail_settings_general_tab#:#Generale -mail#:#mail_settings_incoming_type_see_also#:#How incoming e-mails for users are handled can also be set here.###29 10 2025 new variable -mail#:#mail_settings_system_frm_head#:#System Emails -mail#:#mail_settings_user_frm_head#:#User Emails -mail#:#mail_smtp_encryption#:#Crittografia +mail#:#mail_settings_incoming_type_see_also#:#Puoi trovare un'ulteriore possibilità di modificare il tipo di e-mail in arrivo per gli utenti qui +mail#:#mail_settings_system_frm_head#:#Email di sistema +mail#:#mail_settings_user_frm_head#:#Email dell'utente +mail#:#mail_smtp_encryption#:#Cifratura mail#:#mail_smtp_encryption_ssl#:#SSL mail#:#mail_smtp_encryption_tls#:#TLS mail#:#mail_smtp_host#:#Host @@ -11716,132 +11719,132 @@ mail#:#mail_smtp_password_req#:#Se è stato definito un utente a scopo di autent mail#:#mail_smtp_port#:#Porta mail#:#mail_smtp_port_info#:#Immettere un valore numerico per la porta del server di posta (ad es. 25). mail#:#mail_smtp_status#:#Invia tramite SMTP -mail#:#mail_smtp_status_info#:#If enabled, ILIAS will dispatch external emails to an SMTP server instead of using the the internal functionality provided by the PHP runtime (mail() function, sendmail). +mail#:#mail_smtp_status_info#:#Se abilitato, ILIAS invierà e-mail esterne a un server SMTP invece di utilizzare la funzionalità interna fornita dalla funzione di runtime PHP (mail (), sendmail). mail#:#mail_smtp_user#:#Utente -mail#:#mail_subject_prefix#:#soggetto di posta -mail#:#mail_subject_prefix_info#:#Inserisci un testo, che verrà anteposto alla riga dell'oggetto di auto generazione di e-mail in uscita -mail#:#mail_subject_too_long#:#The subject is too long.###26 08 2024 new variable -mail#:#mail_success_removed_user#:#User(s) successfully removed from mailing list.###28 10 2024 new variable +mail#:#mail_subject_prefix#:#Oggetto +mail#:#mail_subject_prefix_info#:#Inserisci un testo, che verrà anteposto alla riga dell'oggetto di auto generazione di e-mail in uscita. Si raccomanda l'uso di un prefisso per supportare il filtraggio dei messaggi da parte degli utenti. +mail#:#mail_subject_too_long#:#The subject is too long.###13 09 2023 new variable +mail#:#mail_success_removed_user#:#User(s) successfully removed from mailing list.###08 10 2024 new variable mail#:#mail_sure_delete_entry#:#Sei sicuro di voler eliminare le voci selezionate? mail#:#mail_sure_delete_file#:#Sei sicuro di voler eliminare il file selezionato? mail#:#mail_sure_delete_folder#:#Sei sicuro di voler eliminare la cartella selezionata? -mail#:#mail_sure_delete_p#:#Are you sure you want to delete the following mails?###29 10 2025 new variable -mail#:#mail_sure_delete_s#:#Are you sure you want to delete the following mail?###29 10 2025 new variable -mail#:#mail_sure_remove_user#:#Are you sure you want to remove the following user(s) from the members list?###28 10 2024 new variable +mail#:#mail_sure_delete_p#:#Are you sure you want to delete the following mails?###28 11 2025 new variable +mail#:#mail_sure_delete_s#:#Are you sure you want to delete the following mail?###28 11 2025 new variable +mail#:#mail_sure_remove_user#:#Are you sure you want to remove the following user(s) from the members list?###08 10 2024 new variable mail#:#mail_system_sys_env_from_addr#:#Mittente tecnico -mail#:#mail_system_sys_env_from_addr_info#:#If you leave this field empty, the sender email address will be used if SMTP transfer is enabled. Otherwise it is the server administrator's responsibility to configure this value. -mail#:#mail_system_sys_from_addr#:#Sender Email (From) -mail#:#mail_system_sys_from_addr_info#:#Please enter the e-mail address to be put in the 'FROM' header. The 'FROM' header is used to display the sender in the recipient e-mail client.

Examples: info@institution.de or no-reply@institution.de +mail#:#mail_system_sys_env_from_addr_info#:#Se si lascia vuoto questo campo, verrà utilizzato l'indirizzo e-mail del mittente se il trasferimento SMTP è abilitato. In caso contrario, è responsabilità dell'amministratore del server configurare questo valore. +mail#:#mail_system_sys_from_addr#:#Email mittente (da) +mail#:#mail_system_sys_from_addr_info#:#Inserisci l'indirizzo e-mail da mettere nell'intestazione 'FROM'. L'intestazione 'FROM' è usata per visualizzare il mittente nel client di posta elettronica del destinatario.

Esempi: info@institution.de o no-reply@institution.de mail#:#mail_system_sys_from_name#:#Nome completo mittente (Da) -mail#:#mail_system_sys_general_signature#:#Signature###26 08 2024 new variable +mail#:#mail_system_sys_general_signature#:#Signature###28 11 2025 new variable mail#:#mail_system_sys_reply_to_addr#:#Rispondi a mail#:#mail_system_usr_env_from_addr#:#Mittente tecnico -mail#:#mail_system_usr_env_from_addr_info#:#If you leave this field empty, the sender email address will be used if SMTP transfer is enabled. Otherwise it is the server administrator's responsibility to configure this value. -mail#:#mail_system_usr_from_addr#:#Sender Email (From) -mail#:#mail_system_usr_from_addr_info#:#Please enter the e-mail address to be put in the 'FROM' header. The 'FROM' header is used to display the sender in the recipient e-mail client. The e-mail address of the user sending an e-mail via ILIAS will be automatically put in the 'Reply-To' header.

Examples: info@institution.de or no-reply@institution.de +mail#:#mail_system_usr_env_from_addr_info#:#Se si lascia vuoto questo campo, verrà utilizzato l'indirizzo e-mail del mittente se il trasferimento SMTP è abilitato. In caso contrario, è responsabilità dell'amministratore del server configurare questo valore. +mail#:#mail_system_usr_from_addr#:#Mittente e-mail (Da) +mail#:#mail_system_usr_from_addr_info#:#Inserisci l'indirizzo e-mail da inserire nell'intestazione 'FROM'. L'intestazione 'FROM' è utilizzata per visualizzare il mittente nel client di posta elettronica del destinatario. L'indirizzo e-mail dell'utente che invia un'e-mail tramite ILIAS sarà automaticamente messo nell'intestazione 'Reply-To'.

Esempi: info@institution.de o no-reply@institution.de mail#:#mail_system_usr_from_name#:#Nome completo mittente (Da) -mail#:#mail_system_usr_from_name_info#:#You can use the placeholders [FULLNAME], [FIRSTNAME] and [LASTNAME]. These will then be replaced by the respective date of the email initiator. -mail#:#mail_system_usr_general_signature#:#User Signature###26 08 2024 new variable -mail#:#mail_tbl_head_attachments#:#Attachment +mail#:#mail_system_usr_from_name_info#:#Puoi utilizzare i segnaposto [FULLNAME], [FIRSTNAME] e [LASTNAME]. Questi verranno quindi sostituiti dalla rispettiva data dell'iniziatore e-mail. +mail#:#mail_system_usr_general_signature#:#User Signature###28 11 2025 new variable +mail#:#mail_tbl_head_attachments#:#Allegato mail#:#mail_template_client#:#Modello di testo mail#:#mail_template_client_info#:#Scegli uno dei modelli di testo disponibili e utilizza i suoi segnaposti. Se si sceglie un modello di testo, il corpo e l'oggetto di questo modulo (se definito nel modello di testo) verranno sostituiti. mail#:#mail_template_context#:#Contesto -mail#:#mail_template_default#:# (Default) -mail#:#mail_template_invalid_tpl_syntax#:#An invalid syntax has been detected. Please ensure a valid input, especially regarding the placeholder syntax.###26 08 2024 new variable +mail#:#mail_template_default#:# (Predefinito) +mail#:#mail_template_invalid_tpl_syntax#:#An invalid syntax has been detected. Please ensure a valid input, especially regarding the placeholder syntax.###30 04 2024 new variable mail#:#mail_template_missing_id#:#Impossibile eseguire l'azione perché manca l'ID del modello di testo. mail#:#mail_template_no_context_available#:#Non esiste alcun contesto fornito da alcun servizio o modulo ILIAS. Non è quindi possibile creare o modificare un modello di testo. mail#:#mail_template_no_valid_context#:#Il contesto fornito non è valido. mail#:#mail_template_orphaned_context#:#Contesto orfano -mail#:#mail_template_set_as_default#:#Set as Default +mail#:#mail_template_set_as_default#:#Imposta come predefinito mail#:#mail_template_title#:#Nome -mail#:#mail_template_unset_as_default#:#Unset as Default +mail#:#mail_template_unset_as_default#:#Disinserito come predefinito mail#:#mail_templates#:#Modelli di testo -mail#:#mail_threshold#:#Limite +mail#:#mail_threshold#:#Soglia mail#:#mail_threshold_info#:#I messaggi interni che sono più datati del valore di soglia definito qui, verranno eliminati (compresi gli allegati eventualmente esistenti).
Si prega di ricordare che alla prima esecuzione di questo cron job, molti messaggi verranno eliminati e per questo non è possibile inviare una mail come avvertimento. mail#:#mail_to#:#A mail#:#mail_tpl_deleted_p#:#I modelli di testo sono stati eliminati con successo. mail#:#mail_tpl_deleted_s#:#Il modello di testo è stato eliminato con successo. -mail#:#mail_tpl_sure_delete_entries#:#Are you sure you want to delete the following entries? -mail#:#mail_tpl_sure_delete_entry#:#Are you sure you want to delete the text template? -mail#:#mail_use_global_reply_to_addr#:#Use Global Reply-To###29 07 2022 new variable -mail#:#mail_use_global_reply_to_addr_info#:#If enabled, the email address entered below is used as value for the 'Reply-To' header. The sender's email address will be not disclosed to recipients. A direct reply is not possible anymore.###29 07 2022 new variable -mail#:#nc_mail_noti_item_title#:#Inbox###07 02 2020 new variable -mail#:#nc_mail_prop_time#:#Time###07 02 2020 new variable -mail#:#nc_mail_unread_messages#:#You have %s in your inbox.###07 02 2020 new variable -mail#:#nc_mail_unread_messages_number_p#:#%s Unread Mails###07 02 2020 new variable -mail#:#nc_mail_unread_messages_number_s#:#1 Unread Mail###07 02 2020 new variable -mail#:#only_inbox_trash#:#Considera solo la posta in arrivo/cestino -mail#:#only_inbox_trash_info#:#If enabled, emails are only deleted if they are located in the Inbox and Trash of the respective user. Otherwise, all messages are deleted regardless of the folder. -mail#:#orphaned_mail_body#:#There are old or orphaned mails in the following mailboxes. Please note, that these mails will be deleted automatically soon. +mail#:#mail_tpl_sure_delete_entries#:#Sei sicuro di voler eliminare le seguenti voci? +mail#:#mail_tpl_sure_delete_entry#:#Sei sicuro di voler eliminare il modello di testo? +mail#:#mail_use_global_reply_to_addr#:#Utilizza 'Rispondi a' globale +mail#:#mail_use_global_reply_to_addr_info#:#Se abilitato, l'indirizzo mail inserito è utilizzato come valore dell'intestazione 'Rispondi a'. L'indirizzo email del mittente non sarà divulgato ai destinatari. Una risposta diretta non è più possibile. +mail#:#nc_mail_noti_item_title#:#Posta in arrivo +mail#:#nc_mail_prop_time#:#Tempo +mail#:#nc_mail_unread_messages#:#Hai %s mail nella tua casella. +mail#:#nc_mail_unread_messages_number_p#:#%s messaggi non letti +mail#:#nc_mail_unread_messages_number_s#:#1 mail non letta +mail#:#only_inbox_trash#:#Considera solo la posta in arrivo e il cestino +mail#:#only_inbox_trash_info#:#Se abilitato, le e-mail vengono eliminate solo se si trovano nella Posta in arrivo e nel Cestino del rispettivo utente. Altrimenti, tutti i messaggi vengono eliminati indipendentemente dalla cartella. +mail#:#orphaned_mail_body#:#Ci sono mail vecchie o orfane nelle seguenti caselle di posta. Si noti che queste e-mail verranno eliminate automaticamente a breve. mail#:#orphaned_mail_subject#:#Notifica sulle mail orfane mail#:#placeholders_advise#:#I segnaposto vengono mantenuti solo per gli indirizzi inseriti nel campo "A".%sAgli indirizzi nei campi CC e BCC il messaggio verrà inviato senza segnaposto/i. mail#:#search_content#:#Cerca risultato mail#:#search_recipients#:#Cerca destinatario -mail#:#second_email_missing_info#:#Selection not possible because no second email address has been entered -mail#:#select_mail_with_subject_x#:#Select mail with subject „%s“###26 08 2024 new variable +mail#:#second_email_missing_info#:#Selezione impossibile perché non è stato inserito un secondo indirizzo e-mail +mail#:#select_mail_with_subject_x#:#Select mail with subject „%s“###16 03 2023 new variable mail#:#send_mail_admins#:#Tutti gli amministratori mail#:#send_mail_members#:#Tutti i membri mail#:#send_mail_to#:#Mail a mail#:#send_mail_tutors#:#Tutti i tutor -mail#:#show_mail_settings#:#Show Mail Settings -mail#:#show_mail_settings_info#:#If enabled, the user's `Mail Settings` are accessible via the `Personal Settings` or `Mail` section. +mail#:#show_mail_settings#:#Mostra impostazioni di posta +mail#:#show_mail_settings_info#:#Se abilitato, le "Impostazioni posta" dell'utente sono accessibili tramite la sezione "Impostazioni personali" o "Posta". mail#:#system_notification_installation_changed_by#:#Modificato da -mail#:#usrFieldChange_second_mail_visible_in_personal_data#:#You have changed the attribute "%s" of the field "%s".
This leads to all accounts settings being reset to "receive on primary address" for external delivery,
not only for all new accounts but also dismissing the currently active settings made by users.###29 07 2022 new variable +mail#:#usrFieldChange_second_mail_visible_in_personal_data#:#You have changed the attribute "%s" of the field "%s".
This leads to all accounts settings being reset to "receive on primary address" for external delivery,
not only for all new accounts but also dismissing the currently active settings made by users.###31 03 2023 new variable maps#:#configure_geolocation#:#Si prega di terminare la configurazione della geolocalizzazione nel menu di amministrazione "Software di parti terze" per abilitare la ricerca degli indirizzi. maps#:#maps_custom_geolocation_server_info#:#URL server per gestire i dati di geolocalizzazione attraverso Nominatim. La voce deve contenere il segnaposto [QUERY] per definire una posizione per le informazioni sulla richiesta. Esempio nominatim.esempio.com/cerca/[QUERY]?formato=json. maps#:#maps_custom_tile_server_info#:#URL server per fornire dati nel riquadro. Gli ingressi multipli devono essere separati da spazi. I valori predefiniti sono "%s". -maps#:#maps_enable_maps#:#Consenti Maps +maps#:#maps_enable_maps#:#Abilita Maps maps#:#maps_enable_maps_info#:#Attiva Maps nei profili utente, gruppi e corsi. maps#:#maps_geolocation_server#:#Server per la geolocalizzazione inversa maps#:#maps_google_maps#:#Google Maps -maps#:#maps_https_for_reverse_lookup#:#Https for Reverse Lookup###29 07 2022 new variable +maps#:#maps_https_for_reverse_lookup#:#HTTPS per ricerca inversa maps#:#maps_latitude#:#Latitudine maps#:#maps_longitude#:#Longitudine maps#:#maps_lookup_address#:#Indirizzo di ricerca -maps#:#maps_map_type#:#Typ +maps#:#maps_map_type#:#Tipo maps#:#maps_open_layers_maps#:#Apri livelli Maps maps#:#maps_settings#:#Impostazioni Maps maps#:#maps_std_location#:#Posizione predefinita maps#:#maps_std_location_desc#:#Clicca sulla mappa per impostare la posizione. -maps#:#maps_tile_server#:#Server per titoli +maps#:#maps_tile_server#:#Server per blocchi maps#:#maps_zoom_level#:#Livello di zoom mcst#:#mcst_add_new_item#:#Aggiungi nuovo elemento Mediacast -mcst#:#mcst_audio_files#:#Audio Files###29 07 2022 new variable +mcst#:#mcst_audio_files#:#Audio Files###31 03 2023 new variable mcst#:#mcst_audioportable_settings_info#:#Lista di suffissi di files, separati da virgola mcst#:#mcst_audioportable_settings_title#:#Estensioni di file in formato audio mcst#:#mcst_audioportable_title#:#File audio addizionale per dispositivi portatili -mcst#:#mcst_automatic_detection#:#rilevamento automatico -mcst#:#mcst_autoplay#:#Autoplay###29 07 2022 new variable -mcst#:#mcst_autoplay_active#:#Autoplay (Default on)###29 07 2022 new variable -mcst#:#mcst_autoplay_inactive#:#Autoplay (Default off)###29 07 2022 new variable -mcst#:#mcst_autoplay_info#:#Starts automatically the next video when reaching the end of the previous one. This feature is not supported by youtube videos.###26 08 2024 new variable +mcst#:#mcst_automatic_detection#:#Rilevamento automatico +mcst#:#mcst_autoplay#:#Autoplay###31 03 2023 new variable +mcst#:#mcst_autoplay_active#:#Autoplay (Default on)###31 03 2023 new variable +mcst#:#mcst_autoplay_inactive#:#Autoplay (Default off)###31 03 2023 new variable +mcst#:#mcst_autoplay_info#:#Starts automatically the next video when reaching the end of the previous one. This feature is not supported by youtube videos.###30 04 2024 new variable mcst#:#mcst_clear_purpose_title#:#Cancella -mcst#:#mcst_confirm_deletion#:#Confirm Deletion###26 08 2024 new variable +mcst#:#mcst_confirm_deletion#:#Confirm Deletion###30 04 2024 new variable mcst#:#mcst_converted_file#:#File convertito mcst#:#mcst_copy#:#Copia Mediacast mcst#:#mcst_current_value_info#:#Mostra i valori correnti di questo formato. -mcst#:#mcst_default_visibility#:#Accesso di default +mcst#:#mcst_default_visibility#:#Accesso predefinito mcst#:#mcst_det_playtime#:#Determina tempo di esecuzione -mcst#:#mcst_download_all#:#Download All###29 07 2022 new variable +mcst#:#mcst_download_all#:#Download All###31 03 2023 new variable mcst#:#mcst_download_audioportable#:#Scarica audio portatile mcst#:#mcst_download_cnt#:#Scaricati mcst#:#mcst_download_standard#:#Scarica -mcst#:#mcst_download_started_bg#:#Download of files has started. Please check your background tasks in the top right corner.###29 07 2022 new variable +mcst#:#mcst_download_started_bg#:#Download of files has started. Please check your background tasks in the top right corner.###31 03 2023 new variable mcst#:#mcst_download_videoalternative#:#Scarica file alternativo mcst#:#mcst_download_videoportable#:#Scarica video portatile mcst#:#mcst_downloadable#:#Scarica collegamenti -mcst#:#mcst_downloadable_info#:#Se questa opzione è abilitata, sono forniti dei links di download. +mcst#:#mcst_downloadable_info#:#Se questa opzione è abilitata, sono forniti dei link di download. mcst#:#mcst_duration#:#Tempo di esecuzione mcst#:#mcst_duration_info#:#Se lasciato in bianco, ILIAS cercherà di determinare il tempo di esecuzione, automaticamente. mcst#:#mcst_edit_item#:#Modifica elemento Mediacast mcst#:#mcst_edit_settings#:#Impostazioni del MediaCast mcst#:#mcst_gallery#:#Gallery -mcst#:#mcst_img_gallery#:#Image Gallery###29 07 2022 new variable +mcst#:#mcst_img_gallery#:#Image Gallery###31 03 2023 new variable mcst#:#mcst_import#:#Importa Mediacast mcst#:#mcst_incl_files_in_rss#:#Includi file multimediali Nel feed mcst#:#mcst_incl_files_in_rss_info#:#Se abilitato, i files media sono inclusi come allegati nel feed RSS. Altrimenti il feed notificherà i sottoscrittori del servizio solamente su nuovi inserimenti. mcst#:#mcst_input_either_file_or_url#:#Si prega di specificare un file o un URL. Se si fornisce un file, bisogna ricordare la grandezza file consentita per il download del file. -mcst#:#mcst_items#:#Items###26 08 2024 new variable +mcst#:#mcst_items#:#Items###30 04 2024 new variable mcst#:#mcst_last_submission#:#Ultimo sottoposto mcst#:#mcst_list#:#Lista mcst#:#mcst_manage#:#Gestisci @@ -11849,16 +11852,16 @@ mcst#:#mcst_media_cast#:#Media Cast mcst#:#mcst_media_cast_not_online#:#Il Mediacast non è in linea mcst#:#mcst_media_cast_not_online_text#:#Il Mediacast inon è in linea o non è stato abilitato. mcst#:#mcst_mimetype#:#Tipo di MIme -mcst#:#mcst_mimetype_info#:# Selezionare il tipo di MIME per controllare il plugin utilizzato per la riproduzione
Attenzione: Tenere presente che non tutti i browser contengono il plugin che si intende utilizzare. +mcst#:#mcst_mimetype_info#:#Selezionare il tipo di MIME per controllare il plugin utilizzato per la riproduzione
Attenzione: Tenere presente che non tutti i browser contengono il plugin che si intende utilizzare. mcst#:#mcst_mimetypes#:#Tipi di Mime mcst#:#mcst_mimetypes_info#:#Elenco separato da virgole di tipi di MIME -mcst#:#mcst_new_items_det_lp#:#Add new items to learning progress###29 07 2022 new variable -mcst#:#mcst_new_items_det_lp_info#:#New items are automatically added to determine the overall learning progress.###29 07 2022 new variable +mcst#:#mcst_new_items_det_lp#:#Add new items to learning progress###31 03 2023 new variable +mcst#:#mcst_new_items_det_lp_info#:#New items are automatically added to determine the overall learning progress.###31 03 2023 new variable mcst#:#mcst_news_item_visibility_info#:#Le news pubbliche sono accessibili senza autenticazione, fuori da ILIAS, via RSS. Per favore non includere nessuna informazione confidenziale. -mcst#:#mcst_next_items#:#Next Items###29 07 2022 new variable -mcst#:#mcst_no_autoplay#:#No Autoplay###29 07 2022 new variable +mcst#:#mcst_next_items#:#Next Items###31 03 2023 new variable +mcst#:#mcst_no_autoplay#:#No Autoplay###31 03 2023 new variable mcst#:#mcst_nr_items#:#Numero di oggetti -mcst#:#mcst_nr_videos#:#Number of Initial Videos###29 07 2022 new variable +mcst#:#mcst_nr_videos#:#Number of Initial Videos###31 03 2023 new variable mcst#:#mcst_ordering#:#ordinamento mcst#:#mcst_ordering_creation_date_asc#:#Per data di creazione (Crescente) mcst#:#mcst_ordering_creation_date_desc#:#Per data di creazione (Discendente) @@ -11867,53 +11870,53 @@ mcst#:#mcst_ordering_title#:#Per titolo mcst#:#mcst_play#:#Play mcst#:#mcst_play_cnt#:#Riprodotto mcst#:#mcst_play_time#:#Tempo di esecuzione -mcst#:#mcst_podcast#:#Podcast###29 07 2022 new variable -mcst#:#mcst_prev_items#:#Previous Items###29 07 2022 new variable -mcst#:#mcst_preview#:#Preview###26 08 2024 new variable -mcst#:#mcst_preview_picture#:#anteprima immagine +mcst#:#mcst_podcast#:#Podcast###31 03 2023 new variable +mcst#:#mcst_prev_items#:#Previous Items###31 03 2023 new variable +mcst#:#mcst_preview#:#Preview###30 04 2024 new variable +mcst#:#mcst_preview_picture#:#Anteprima immagine mcst#:#mcst_preview_picture_info#:#Supportato solo con i seguenti principali tipi di media: mcst#:#mcst_reference_info#:#Fornisci indirizzo URL a cui puntare mcst#:#mcst_save_order#:#Memorizza l'ordine -mcst#:#mcst_set_playtime#:#Il tempo di lavoro è sato impostato +mcst#:#mcst_set_playtime#:#Il tempo di lavoro è stato impostato mcst#:#mcst_settings#:#impostazioni MediaCast -mcst#:#mcst_show_description#:#Show Description###29 07 2022 new variable +mcst#:#mcst_show_description#:#Show Description###31 03 2023 new variable mcst#:#mcst_standard_settings_info#:#Lista di suffissi di files, separati da virgola mcst#:#mcst_standard_settings_title#:#Estensioni di file in formato standard mcst#:#mcst_standard_title#:#Media File normale mcst#:#mcst_unable_to_determin_playtime#:#Impossibile determinare il tempo di riproduzione. Si prega di impostarlo manualmente cliccando su Modifica. -mcst#:#mcst_video_cast#:#Videocast###29 07 2022 new variable -mcst#:#mcst_video_completion_threshold#:#Video Completion Threshold###29 07 2022 new variable -mcst#:#mcst_video_completion_threshold_info#:#Amount of video that triggers the completion status. Please note that the user may skip forward to reach this point.###29 07 2022 new variable +mcst#:#mcst_video_cast#:#Videocast###31 03 2023 new variable +mcst#:#mcst_video_completion_threshold#:#Video Completion Threshold###31 03 2023 new variable +mcst#:#mcst_video_completion_threshold_info#:#Amount of video that triggers the completion status. Please note that the user may skip forward to reach this point.###31 03 2023 new variable mcst#:#mcst_videoalternative_title#:#File video alternativo (utilizzo nel Browser) mcst#:#mcst_videoportable_settings_info#:#Lista di suffissi di files, separati da virgola mcst#:#mcst_videoportable_settings_title#:#Estensioni di file in formato video mcst#:#mcst_videoportable_title#:#File video addizionale per dispositivi portatili -mcst#:#mcst_view_abandoned#:#The current presentation mode has been abandoned. Please open the settings and switch to another mode.###29 07 2022 new variable +mcst#:#mcst_view_abandoned#:#The current presentation mode has been abandoned. Please open the settings and switch to another mode.###31 03 2023 new variable mcst#:#mcst_viewmode#:#Modalità di presentazione mcst#:#mcst_visibility_info#:#I contenuti pubblici sono accessibili via RSS senza nessuna autenticazione. mcst#:#mcst_visibility_public#:#Pubblico mcst#:#mcst_visibility_users#:#utenti registrati -mcst#:#mcst_watched#:#watched###29 07 2022 new variable +mcst#:#mcst_watched#:#watched###31 03 2023 new variable mcst#:#mcst_webfeed#:#RSS Feed web -mem#:#mem_period_without_time#:#Without Time Indication###07 02 2020 new variable +mem#:#mem_period_without_time#:#Senza indicazione del tempo mem#:#mem_print_view_form#:#Impostazioni predefinite per visualizzazione stampa mem#:#mem_settings_tab_print_view#:#Impostazioni di visualizzazione stampa mem#:#mem_settings_tab_settings#:#Impostazioni generali -mem#:#mmbr_gallery_user_actions#:#Benutzeraktionen in Mitgliedergalerie -membership#:#mem_error_preconditions#:#A registration is not possible, since minimum one precondition is not fullfilled. +mem#:#mmbr_gallery_user_actions#:#Azioni dell'utente nella galleria dei membri +membership#:#mem_error_preconditions#:#Una registrazione non è possibile, in quanto non è soddisfatta una precondizione minima. membership#:#mem_force_notification#:#Notifica tramite mail membership#:#mem_force_notification_mode_all#:#Notifica attivata per tutti i membri (variabile) membership#:#mem_force_notification_mode_all_sub_blocked#:#I membri possono disattivare le notifiche membership#:#mem_force_notification_mode_blocked#:#I membri riceveranno automaticamente la notifica membership#:#mem_force_notification_mode_custom#:#Personalizza -membership#:#mem_force_notification_mode_self#:#Members have to manually activate notifcation -mep#:#mep_all#:#tutti -mep#:#mep_all_mobs#:#tutti gli oggetti Media -mep#:#mep_bulk_upload#:#Bulk Upload -mep#:#mep_choose_from_folder#:#scegli dalla cartella -mep#:#mep_choose_from_mep#:#scegli tra pool +membership#:#mem_force_notification_mode_self#:#I membri devono attivare manualmente la notifica +mep#:#mep_all#:#Tutti +mep#:#mep_all_mobs#:#Tutti gli oggetti Media +mep#:#mep_bulk_upload#:#Caricamento collettivo +mep#:#mep_choose_from_folder#:#Scegli dalla cartella +mep#:#mep_choose_from_mep#:#Scegli dal pool mep#:#mep_content#:#Contenuto -mep#:#mep_content_snippet_in_use#:#Frammento di contenuto '% s' è in uso e non può essere eliminato. +mep#:#mep_content_snippet_in_use#:#Frammento di contenuto '%s' è in uso e non può essere eliminato. mep#:#mep_content_snippet_used_in_older_versions#:#Si prega di notare: Questo frammento di codice viene utilizzato nelle versioni precedenti di alcune pagine. Se queste pagine sono ripristinate ad una versione che include questo frammento, il frammento di codice mancherà nella pagina. mep#:#mep_copy_to_mep#:#Copia nella libreria multimediale mep#:#mep_create_content_snippet#:#Crea frammento Contenuto @@ -11922,26 +11925,26 @@ mep#:#mep_create_media_files#:#Creazione di oggetti multimediali mep#:#mep_create_mob#:#Crea oggetto multimediale mep#:#mep_default_height#:#Altezza predefinita mep#:#mep_default_width#:#Larghezza Predefinita -mep#:#mep_default_width_height_info#:#la Larghezza e l'altezza di default vengono utilizzate come impostazioni predefinite per la creazione di nuovi oggetti media. +mep#:#mep_default_width_height_info#:#La Larghezza e l'altezza di default vengono utilizzate come impostazioni predefinite per la creazione di nuovi oggetti media. mep#:#mep_edit_content_snippet#:#Modifica frammento di Contenuto -mep#:#mep_edit_folder#:#modifica cartella +mep#:#mep_edit_folder#:#Modifica cartella mep#:#mep_file#:#File -mep#:#mep_folder#:#cartella +mep#:#mep_folder#:#Cartella mep#:#mep_format#:#Formato mep#:#mep_import#:#Importazione di un pool di supporti mep#:#mep_import_lang#:#Lingua di destinazione mep#:#mep_import_trans#:#Importa traduzione mep#:#mep_master_language_only#:#Lingua principale per traduzione mep#:#mep_master_language_only_no_media#:#Lingua principale senza media -mep#:#mep_media_files#:#Media Files +mep#:#mep_media_files#:#File multimediali mep#:#mep_media_subtitles#:#Sottotitoli multimediali -mep#:#mep_mob#:#Media Object -mep#:#mep_move_select_insert#:#Navigate to target folder and click "Insert"###26 08 2024 new variable -mep#:#mep_mpg#:#Content Snippet###29 07 2022 new variable +mep#:#mep_mob#:#Oggetto multimediale +mep#:#mep_move_select_insert#:#Navigate to target folder and click "Insert"###31 03 2023 new variable +mep#:#mep_mpg#:#Content Snippet###31 03 2023 new variable mep#:#mep_new_content_snippet#:#Nuovo frammento di contenuto mep#:#mep_new_folder#:#Nuova cartella mep#:#mep_page_properties#:#Proprieà della pagina -mep#:#mep_page_type_mep#:#Content Snippet###29 07 2022 new variable +mep#:#mep_page_type_mep#:#Frammento di contenuto mep#:#mep_thumbnail#:#Miniatura mep#:#mep_title_and_description#:#Titolo e descrizione mep#:#mep_trans_import_info#:#Se hai esportato questo modulo come XML/Lingua principale per traduzione in un’altra installazione, adesso puoi importare nuovamente i file di traduzione esportati da questa seconda installazione. @@ -11950,18 +11953,18 @@ mep#:#mep_up_dir_copy#:#Copia files dalla directory di Upload (Mantiene i files mep#:#mep_up_dir_move#:#Spostare files da directory di Upload (più veloce) mep#:#mep_upload_dir_files#:#Files dalla directory di Upload mep#:#mobs_activate_pages#:#Attivare la gestione Pagine dei contenuti -mep#:#mobs_activate_pages_info#:#Permette di aggiungere pagine di contenuto al pool dei Media. Queste pagine possono essere riutilizzati (non modificato) in moduli di apprendimento, ecc +mep#:#mobs_activate_pages_info#:#Permette di aggiungere pagine di contenuto al pool dei Media. Queste pagine possono essere riutilizzate (non modificabili) in moduli di apprendimento. mep#:#mobs_always_show_file_manager#:#Mostra sempre File Manager mep#:#mobs_always_show_file_manager_info#:#Se disattivato il file manager per gli oggetti multimediali sarà nascosto per tipi semplici di mime (es. immagini). mep#:#mobs_black_list_file_types#:#Tipi di file vietati -mep#:#mobs_black_list_file_types_and_allowed_info#:#Enter a comma separated list of mime types. This list will restrict the set of allowed file types. Currently allowed mime types are:###26 08 2024 new variable +mep#:#mobs_black_list_file_types_and_allowed_info#:#Enter a comma separated list of mime types. This list will restrict the set of allowed file types. Currently allowed mime types are:###30 04 2024 new variable mep#:#mobs_restrict_file_types#:#Limitare i tipi di file mep#:#mobs_restrict_file_types_info#:#Inserire un elenco separato da virgole di suffissi di file (ad esempio jpg, gif), che possono essere caricati in oggetti multimediali. Se nessun valore viene immesso, tutti i tipi di file sono ammessi. meta#:#adt_error_max_length#:#Si prega di inserire un testo più breve. -meta#:#md_adn_int_error_no_default#:#Please select on activated language as "Default-Language".###29 07 2022 new variable +meta#:#md_adn_int_error_no_default#:#Seleziona la lingua attiva come "Lingua predefinita". meta#:#md_adv_active#:#Attivo meta#:#md_adv_added_new_record#:#Aggiunto nuovo Dataset -meta#:#md_adv_col_presentation_ordering#:#Position +meta#:#md_adv_col_presentation_ordering#:#Posizione meta#:#md_adv_confirm_definition#:#Si prega di confermare le nuove impostazioni di definizione. meta#:#md_adv_confirm_definition_select_option#:#Opzione eliminata meta#:#md_adv_confirm_definition_select_option_all#:#Gestisci tutte le stesse voci @@ -11979,155 +11982,155 @@ meta#:#md_adv_deleted_fields#:#I campi sono stati eliminati. meta#:#md_adv_deleted_files#:#Esporta Files cancellati meta#:#md_adv_deleted_records#:#Dataset Cancellato meta#:#md_adv_desc_show#:#Descrizione Show -meta#:#md_adv_edit_complex_option#:#Edit Option Properties###07 02 2020 new variable +meta#:#md_adv_edit_complex_option#:#Modifica delle proprietà delle opzioni meta#:#md_adv_edit_field#:#Edita Campo meta#:#md_adv_edit_record#:#Edita Dataset meta#:#md_adv_field_fields#:#Campi meta#:#md_adv_field_filter_warning#:#I tipi di campo %s non sono attualmente supportati come filtri di tabella. -meta#:#md_adv_field_list#:#Fields###29 07 2022 new variable -meta#:#md_adv_field_names#:#Nome Campi -meta#:#md_adv_field_table#:#Edita Campi +meta#:#md_adv_field_list#:#Campi +meta#:#md_adv_field_names#:#Nome campi +meta#:#md_adv_field_table#:#Modifica campi meta#:#md_adv_fields_show#:#Mostra i nomi dei campi -meta#:#md_adv_file_list#:#Esporta Files +meta#:#md_adv_file_list#:#Esporta files meta#:#md_adv_import_record#:#Importa set di Metadati -meta#:#md_adv_int_current#:#Current Language:###29 07 2022 new variable -meta#:#md_adv_int_default#:#Default Language:###29 07 2022 new variable -meta#:#md_adv_int_translation_info#:#Translation:###29 07 2022 new variable -meta#:#md_adv_no_fields#:#Nessun Campo Definito +meta#:#md_adv_int_current#:#Lingua attuale: +meta#:#md_adv_int_default#:#Lingua predefinita: +meta#:#md_adv_int_translation_info#:#Traduzione: +meta#:#md_adv_no_fields#:#Nessun campo definito meta#:#md_adv_number_decimals#:#Decimali meta#:#md_adv_number_max#:#Valore massimo meta#:#md_adv_number_min#:#Valore minimo meta#:#md_adv_number_suffix#:#Suffisso meta#:#md_adv_presentation#:#Presentazione -meta#:#md_adv_record_activate_languages#:#Activate Languages###29 07 2022 new variable +meta#:#md_adv_record_activate_languages#:#Attiva lingue meta#:#md_adv_record_list#:#Datasets -meta#:#md_adv_record_lng_table#:#Language Managment###29 07 2022 new variable -meta#:#md_adv_record_lng_table_active#:#Active###29 07 2022 new variable -meta#:#md_adv_record_lng_table_default#:#Default###29 07 2022 new variable -meta#:#md_adv_record_lng_table_inst#:#Installed###29 07 2022 new variable -meta#:#md_adv_record_lng_table_lng#:#Language###29 07 2022 new variable +meta#:#md_adv_record_lng_table#:#Gestione lingue +meta#:#md_adv_record_lng_table_active#:#Attiva +meta#:#md_adv_record_lng_table_default#:#Predefinita +meta#:#md_adv_record_lng_table_inst#:#Installata +meta#:#md_adv_record_lng_table_lng#:#Lingua meta#:#md_adv_records#:#Dataset inclusi -meta#:#md_adv_records_exported#:#E'stato creato un nuovo file di export +meta#:#md_adv_records_exported#:#È stato creato un nuovo file di export meta#:#md_adv_scope#:#Ambito -meta#:#md_adv_scope_info#:#Usage of this custom metadata set will be limited to selected parts of the repository.###26 08 2024 new variable +meta#:#md_adv_scope_info#:#Usage of this custom metadata set will be limited to selected parts of the repository.###01 02 2023 new variable meta#:#md_adv_scope_list_header#:#Limitato a: -meta#:#md_adv_scope_objects#:#Data Set Effective From###26 08 2024 new variable +meta#:#md_adv_scope_objects#:#Data Set Effective From###01 02 2023 new variable meta#:#md_adv_searchable#:#Ricercabile meta#:#md_adv_select_one_file#:#Scegli un file. -meta#:#md_adv_show#:#mostra -meta#:#md_adv_substitution_table#:#Presentazione nel Repository/Personal Desktop +meta#:#md_adv_show#:#Mostra +meta#:#md_adv_substitution_table#:#Presentazione nel Repository/Desktop Personale meta#:#md_adv_text_max_length#:#Lunghezza massima meta#:#md_adv_text_multi#:#Multilinea -meta#:#md_adv_text_multi_val#:#Multilingual Values###26 08 2024 new variable -meta#:#md_adv_text_multi_val_info#:#Allow multilingual field values for this data field. Deactivating this option is recommended for texts that do not need translating, such as personal names.###26 08 2024 new variable -meta#:#md_advanced#:#Advanced Metadata -meta#:#md_aria_language_selection#:#Language Selection###29 07 2022 new variable +meta#:#md_adv_text_multi_val#:#Multilingual Values###30 04 2024 new variable +meta#:#md_adv_text_multi_val_info#:#Allow multilingual field values for this data field. Deactivating this option is recommended for texts that do not need translating, such as personal names.###30 04 2024 new variable +meta#:#md_advanced#:#Metadata avanzati +meta#:#md_aria_language_selection#:#Selezione della lingua meta#:#md_copyright#:#Copyright -meta#:#md_copyright_add#:#Aggiungi Preset di Copyright -meta#:#md_copyright_admin_tab#:#Copyright & OER###28 10 2024 new variable -meta#:#md_copyright_alt_text#:#Text Representation###26 08 2024 new variable -meta#:#md_copyright_alt_text_info#:#Used for image ‘alt’ attribute###26 08 2024 new variable -meta#:#md_copyright_default#:#Default###26 08 2024 new variable -meta#:#md_copyright_edit#:#Edita il preset di Copyright +meta#:#md_copyright_add#:#Aggiungi preset di Copyright +meta#:#md_copyright_admin_tab#:#Copyright & OER###28 11 2025 new variable +meta#:#md_copyright_alt_text#:#Text Representation###23 10 2023 new variable +meta#:#md_copyright_alt_text_info#:#Used for image ‘alt’ attribute###23 10 2023 new variable +meta#:#md_copyright_default#:#Default###14 02 2024 new variable +meta#:#md_copyright_edit#:#Modifica il preset di Copyright meta#:#md_copyright_enable_info#:#Seleziona questa opzione per mostrare una selezione di copyright predefiniti. meta#:#md_copyright_enabled#:#Abilita la selezione dei Copyright -meta#:#md_copyright_full_name#:#Full Name###26 08 2024 new variable -meta#:#md_copyright_image#:#Image###26 08 2024 new variable -meta#:#md_copyright_image_file#:#File###26 08 2024 new variable -meta#:#md_copyright_image_is_file#:#Upload File###26 08 2024 new variable -meta#:#md_copyright_image_is_link#:#Enter URL###26 08 2024 new variable -meta#:#md_copyright_image_link#:#URL###26 08 2024 new variable -meta#:#md_copyright_link#:#URL###26 08 2024 new variable -meta#:#md_copyright_link_info#:#Link to the licence###26 08 2024 new variable +meta#:#md_copyright_full_name#:#Full Name###23 10 2023 new variable +meta#:#md_copyright_image#:#Image###30 04 2024 new variable +meta#:#md_copyright_image_file#:#File###30 04 2024 new variable +meta#:#md_copyright_image_is_file#:#Upload File###30 04 2024 new variable +meta#:#md_copyright_image_is_link#:#Enter URL###30 04 2024 new variable +meta#:#md_copyright_image_link#:#Image URL###23 10 2023 new variable +meta#:#md_copyright_link#:#URL###23 10 2023 new variable +meta#:#md_copyright_link_info#:#Link to the licence###23 10 2023 new variable meta#:#md_copyright_preview#:#Copyright (Anteprima) meta#:#md_copyright_selection#:#Preset di Copyright meta#:#md_copyright_value#:#Copyright -meta#:#md_copyrights_deleted#:#Copyright Cancellato +meta#:#md_copyrights_deleted#:#Copyright cancellato meta#:#md_days#:#Giorni: meta#:#md_delete_cp_sure#:#Vuoi cancellare veramente i seguenti valori? meta#:#md_delimiter#:#Carattere di delimitazione -meta#:#md_delimiter_info#:#The delimiter is used in the quick editing screen for keywords and authors separation. Default is ','. -meta#:#md_editor_custom_input#:#Custom###28 10 2024 new variable -meta#:#md_editor_from_vocab_input#:#From Vocabulary###28 10 2024 new variable -meta#:#md_editor_value#:#Value###28 10 2024 new variable +meta#:#md_delimiter_info#:#Il delimitatore viene utilizzato nella schermata di modifica rapida per la separazione di parole chiave e autori. L'impostazione predefinita è ','. +meta#:#md_editor_custom_input#:#Custom###28 11 2025 new variable +meta#:#md_editor_from_vocab_input#:#From Vocabulary###28 11 2025 new variable +meta#:#md_editor_value#:#Value###28 11 2025 new variable meta#:#md_fields#:#Campi -meta#:#md_import_file_vocab#:#Import File###28 10 2024 new variable -meta#:#md_import_vocab#:#Import###28 10 2024 new variable -meta#:#md_import_vocab_modal#:#Import From File###28 10 2024 new variable +meta#:#md_import_file_vocab#:#Import File###28 11 2025 new variable +meta#:#md_import_vocab#:#Import###28 11 2025 new variable +meta#:#md_import_vocab_modal#:#Import From File###28 11 2025 new variable meta#:#md_months#:#Mese: -meta#:#md_oai_contact_mail#:#Contact E-Mail###28 10 2024 new variable -meta#:#md_oai_identifier_prefix#:#OAI Prefix###28 10 2024 new variable -meta#:#md_oai_identifier_prefix_info#:#This prefix is used as a namespace in the identifiers of returned OER records.###28 10 2024 new variable -meta#:#md_oai_pmh_enabled#:#Allow Querying via OAI-PMH Interface###28 10 2024 new variable -meta#:#md_oai_pmh_enabled_info#:#If enabled, harvested OER can be queried by external interested parties, e.g. OER referatories.###28 10 2024 new variable -meta#:#md_oai_repository_name#:#Repository Name###28 10 2024 new variable -meta#:#md_oai_repository_name_info#:#This is returned as the name of this ILIAS installation when queried.###28 10 2024 new variable -meta#:#md_obj_types#:#Oggetti Assegnati -meta#:#md_record_export_table#:#Esporta Files -meta#:#md_record_list_table#:#Advanced Metadata Set +meta#:#md_oai_contact_mail#:#Contact E-Mail###28 11 2025 new variable +meta#:#md_oai_identifier_prefix#:#OAI Prefix###28 11 2025 new variable +meta#:#md_oai_identifier_prefix_info#:#This prefix is used as a namespace in the identifiers of returned OER records.###28 11 2025 new variable +meta#:#md_oai_pmh_enabled#:#Allow Querying via OAI-PMH Interface###28 11 2025 new variable +meta#:#md_oai_pmh_enabled_info#:#If enabled, harvested OER can be queried by external interested parties, e.g. OER repositories.###28 11 2025 new variable +meta#:#md_oai_repository_name#:#Repository Name###28 11 2025 new variable +meta#:#md_oai_repository_name_info#:#This is returned as the name of this ILIAS installation when queried.###28 11 2025 new variable +meta#:#md_obj_types#:#Oggetti assegnati +meta#:#md_record_export_table#:#Esporta files +meta#:#md_record_list_table#:#Set di metadati avanzati meta#:#md_separated_by#:#Separato da %s -meta#:#md_settings#:#Settings###29 10 2025 new variable -meta#:#md_settings_harvester#:#OER Harvester###29 10 2025 new variable -meta#:#md_settings_licence#:#Terms of Usage###29 10 2025 new variable -meta#:#md_settings_publishing#:#Querying by Repositories###29 10 2025 new variable +meta#:#md_settings#:#Settings###28 11 2025 new variable +meta#:#md_settings_harvester#:#OER Harvester###28 11 2025 new variable +meta#:#md_settings_licence#:#Terms of Usage###28 11 2025 new variable +meta#:#md_settings_publishing#:#Querying by Repositories###28 11 2025 new variable meta#:#md_time#:#Tempo: -meta#:#md_unknown_vocabulary_flag#:#(unknown vocabulary)###28 10 2024 new variable +meta#:#md_unknown_vocabulary_flag#:#(unknown vocabulary)###28 11 2025 new variable meta#:#md_used#:#Uso -meta#:#md_vocab_activate_action#:#Activate###28 10 2024 new variable -meta#:#md_vocab_active_column#:#Active###28 10 2024 new variable -meta#:#md_vocab_all_values_title#:#Values for %s (%s)###28 10 2024 new variable -meta#:#md_vocab_allow_custom_input_action#:#Allow Custom Input###28 10 2024 new variable -meta#:#md_vocab_custom_input_column#:#Custom Input Allowed###28 10 2024 new variable -meta#:#md_vocab_deactivate_action#:#Deactivate###28 10 2024 new variable -meta#:#md_vocab_delete_action#:#Delete###28 10 2024 new variable -meta#:#md_vocab_delete_confirmation_text#:#Are you sure you want to delete the vocabulary for %s (%s) with the following values?###28 10 2024 new variable -meta#:#md_vocab_delete_confirmation_title#:#Delete Vocabulary###28 10 2024 new variable -meta#:#md_vocab_deletion_successful#:#Vocabulary successfully deleted.###28 10 2024 new variable -meta#:#md_vocab_disallow_custom_input_action#:#Disallow Custom Input###28 10 2024 new variable -meta#:#md_vocab_element_column#:#Element###28 10 2024 new variable -meta#:#md_vocab_element_with_condition#:#%s where %s is %s###28 10 2024 new variable -meta#:#md_vocab_import_invalid#:#The import file is invalid:
%s###28 10 2024 new variable -meta#:#md_vocab_import_successful#:#Vocabulary successfully imported.###28 10 2024 new variable -meta#:#md_vocab_import_upload_failed#:#Upload of the import file failed.###28 10 2024 new variable -meta#:#md_vocab_preview_column#:#Preview###28 10 2024 new variable -meta#:#md_vocab_show_all_action#:#Show All Values###28 10 2024 new variable -meta#:#md_vocab_source_column#:#Source###28 10 2024 new variable -meta#:#md_vocab_table_title#:#Vocabularies###28 10 2024 new variable -meta#:#md_vocab_type_column#:#Type###28 10 2024 new variable -meta#:#md_vocab_type_controlled_string#:#Controlled Text###28 10 2024 new variable -meta#:#md_vocab_type_controlled_vocab_value#:#Controlled Selection###28 10 2024 new variable -meta#:#md_vocab_type_copyright#:#Copyright###28 10 2024 new variable -meta#:#md_vocab_type_standard#:#Standard###28 10 2024 new variable -meta#:#md_vocab_update_successful#:#Vocabulary successfully updated.###28 10 2024 new variable -meta#:#md_vocabularies_config#:#LOM Vocabularies###28 10 2024 new variable -meta#:#meta_1#:#1###26 08 2024 new variable -meta#:#meta_2#:#2###26 08 2024 new variable -meta#:#meta_3#:#3###26 08 2024 new variable -meta#:#meta_4#:#4###26 08 2024 new variable -meta#:#meta_accessibility_restrictions#:#Restrizioni nell& +meta#:#md_vocab_activate_action#:#Activate###28 11 2025 new variable +meta#:#md_vocab_active_column#:#Active###28 11 2025 new variable +meta#:#md_vocab_all_values_title#:#Values for %s (%s)###28 11 2025 new variable +meta#:#md_vocab_allow_custom_input_action#:#Allow Custom Input###28 11 2025 new variable +meta#:#md_vocab_custom_input_column#:#Custom Input Allowed###28 11 2025 new variable +meta#:#md_vocab_deactivate_action#:#Deactivate###28 11 2025 new variable +meta#:#md_vocab_delete_action#:#Delete###28 11 2025 new variable +meta#:#md_vocab_delete_confirmation_text#:#Are you sure you want to delete the vocabulary for %s (%s) with the following values?###28 11 2025 new variable +meta#:#md_vocab_delete_confirmation_title#:#Delete Vocabulary###28 11 2025 new variable +meta#:#md_vocab_deletion_successful#:#Vocabulary successfully deleted.###28 11 2025 new variable +meta#:#md_vocab_disallow_custom_input_action#:#Disallow Custom Input###28 11 2025 new variable +meta#:#md_vocab_element_column#:#Element###28 11 2025 new variable +meta#:#md_vocab_element_with_condition#:#%s where %s is %s###28 11 2025 new variable +meta#:#md_vocab_import_invalid#:#The import file is invalid:
%s###28 11 2025 new variable +meta#:#md_vocab_import_successful#:#Vocabulary successfully imported.###28 11 2025 new variable +meta#:#md_vocab_import_upload_failed#:#Upload of the import file failed.###28 11 2025 new variable +meta#:#md_vocab_preview_column#:#Preview###28 11 2025 new variable +meta#:#md_vocab_show_all_action#:#Show All Values###28 11 2025 new variable +meta#:#md_vocab_source_column#:#Source###28 11 2025 new variable +meta#:#md_vocab_table_title#:#Vocabularies###28 11 2025 new variable +meta#:#md_vocab_type_column#:#Type###28 11 2025 new variable +meta#:#md_vocab_type_controlled_string#:#Controlled Text###28 11 2025 new variable +meta#:#md_vocab_type_controlled_vocab_value#:#Controlled Selection###28 11 2025 new variable +meta#:#md_vocab_type_copyright#:#Copyright###28 11 2025 new variable +meta#:#md_vocab_type_standard#:#Standard###28 11 2025 new variable +meta#:#md_vocab_update_successful#:#Vocabulary successfully updated.###28 11 2025 new variable +meta#:#md_vocabularies_config#:#LOM Vocabularies###28 11 2025 new variable +meta#:#meta_1#:#1###30 04 2024 new variable +meta#:#meta_2#:#2###30 04 2024 new variable +meta#:#meta_3#:#3###30 04 2024 new variable +meta#:#meta_4#:#4###30 04 2024 new variable +meta#:#meta_accessibility_restrictions#:#Restrizioni di accessibilità meta#:#meta_active#:#Attivo meta#:#meta_add#:#Aggiungi -meta#:#meta_add_element#:#Add %s###26 08 2024 new variable -meta#:#meta_add_element_success#:#Element added successfully###26 08 2024 new variable -meta#:#meta_advmd_add_field#:#Add New Field###26 08 2024 new variable -meta#:#meta_advmd_select_delete_option#:#Delete This Entry###26 08 2024 new variable -meta#:#meta_advmd_select_first_position_identifier#:#First###26 08 2024 new variable -meta#:#meta_advmd_select_new_option#:#Add New Entry###26 08 2024 new variable -meta#:#meta_advmd_select_option_position#:#Position###26 08 2024 new variable -meta#:#meta_advmd_select_option_value#:#Value###26 08 2024 new variable +meta#:#meta_add_element#:#Add %s###30 04 2024 new variable +meta#:#meta_add_element_success#:#Element added successfully###30 04 2024 new variable +meta#:#meta_advmd_add_field#:#Add New Field###30 04 2024 new variable +meta#:#meta_advmd_select_delete_option#:#Delete This Entry###30 04 2024 new variable +meta#:#meta_advmd_select_first_position_identifier#:#First###30 04 2024 new variable +meta#:#meta_advmd_select_new_option#:#Add New Entry###30 04 2024 new variable +meta#:#meta_advmd_select_option_position#:#Position###30 04 2024 new variable +meta#:#meta_advmd_select_option_value#:#Value###30 04 2024 new variable meta#:#meta_advmd_select_options#:#Voci -meta#:#meta_advmd_select_options_edit#:#Edit Entries###26 08 2024 new variable -meta#:#meta_advmd_select_position_identifier#:#After %s###26 08 2024 new variable -meta#:#meta_aggregation_level#:#Aggregation Level###26 08 2024 new variable -meta#:#meta_amaya#:#Amaya###26 08 2024 new variable +meta#:#meta_advmd_select_options_edit#:#Edit Entries###30 04 2024 new variable +meta#:#meta_advmd_select_position_identifier#:#After %s###30 04 2024 new variable +meta#:#meta_aggregation_level#:#Aggregation Level###30 04 2024 new variable +meta#:#meta_amaya#:#Amaya###30 04 2024 new variable meta#:#meta_annotation#:#Annotazione -meta#:#meta_annotation_plural#:#Annotations###26 08 2024 new variable -meta#:#meta_any#:#Any###26 08 2024 new variable +meta#:#meta_annotation_plural#:#Annotations###30 04 2024 new variable +meta#:#meta_any#:#Any###30 04 2024 new variable meta#:#meta_atomic#:#Atomico meta#:#meta_author#:#Autore -meta#:#meta_authors#:#Authors###26 08 2024 new variable +meta#:#meta_authors#:#Authors###30 04 2024 new variable meta#:#meta_browser#:#Browser -meta#:#meta_button_to_full_editor_label#:#Edit the Full Learning Object Metadata###26 08 2024 new variable +meta#:#meta_button_to_full_editor_label#:#Edit the Full Learning Object Metadata###30 04 2024 new variable meta#:#meta_c_AD#:#Andorra meta#:#meta_c_AE#:#Emirati Arabi Uniti meta#:#meta_c_AF#:#Afghanistan @@ -12170,7 +12173,7 @@ meta#:#meta_c_CC#:#Isole Cocos (Keeling) meta#:#meta_c_CF#:#Repubblica Centrafricana meta#:#meta_c_CG#:#Congo meta#:#meta_c_CH#:#Svizzera -meta#:#meta_c_CI#:#Costa D& +meta#:#meta_c_CI#:#Costa D'Avorio meta#:#meta_c_CK#:#Isole Cook meta#:#meta_c_CL#:#Cile meta#:#meta_c_CM#:#Camerun @@ -12377,71 +12380,71 @@ meta#:#meta_c_ZM#:#Zambia meta#:#meta_c_ZW#:#Zimbabwe meta#:#meta_catalog#:#Catalogo meta#:#meta_classification#:#Classificazione -meta#:#meta_classification_plural#:#Classifications###26 08 2024 new variable +meta#:#meta_classification_plural#:#Classifications###30 04 2024 new variable meta#:#meta_collection#:#Collezione -meta#:#meta_competency#:#Competenza -meta#:#meta_contentprovider#:#Provider del contenuto +meta#:#meta_competency#:#Competenze +meta#:#meta_contentprovider#:#Fornitore del contenuto meta#:#meta_context#:#Contesto -meta#:#meta_context_plural#:#Contexts###26 08 2024 new variable +meta#:#meta_context_plural#:#Contexts###30 04 2024 new variable meta#:#meta_contribute#:#Contributo -meta#:#meta_contribute_plural#:#Contribute###26 08 2024 new variable +meta#:#meta_contribute_plural#:#Contribute###30 04 2024 new variable meta#:#meta_copyright#:#Copyright meta#:#meta_copyright_and_other_restrictions#:#Copyright ed altre restrizioni. -meta#:#meta_copyright_change_info#:#You are going to change the licence assigned to this content. This should only be done in accordance with the copyright owner. Please continue only if the new licence is not more restrictive than the one used before. -meta#:#meta_copyright_change_oer_info#:#The copyright licence you have selected makes this object eligible to be harvested as an Open Educational Resource. If you continue, it might be listed as such along with an export file, and it might get published beyond this platform.###28 10 2024 new variable -meta#:#meta_copyright_change_warning_title#:#Modification of Copyright Settings -meta#:#meta_copyright_in_use#:#In use -meta#:#meta_copyright_outdated#:#Outdated -meta#:#meta_copyright_outdated_error#:#The chosen copyright is outdated and no longer in use.###26 08 2024 new variable -meta#:#meta_copyright_show_usages#:#Show usages -meta#:#meta_copyright_status#:#Status -meta#:#meta_copyright_sub_items#:#Sub Items -meta#:#meta_copyright_usage#:#Usage +meta#:#meta_copyright_change_info#:#Stai per cambiare la licenza assegnata a questo contenuto. Questo dovrebbe essere fatto solo in conformità con il proprietario del copyright. Continua solo se la nuova licenza non è più restrittiva di quella utilizzata in precedenza. +meta#:#meta_copyright_change_oer_info#:#The copyright licence you have selected makes this object eligible to be harvested as an Open Educational Resource. If you continue, it might be listed as such along with an export file, and it might get published beyond this platform.###28 11 2025 new variable +meta#:#meta_copyright_change_warning_title#:#Modifica delle impostazioni del copyright +meta#:#meta_copyright_in_use#:#In uso +meta#:#meta_copyright_outdated#:#Obsoleto +meta#:#meta_copyright_outdated_error#:#The chosen copyright is outdated and no longer in use.###30 04 2024 new variable +meta#:#meta_copyright_show_usages#:#Mostra gli usi +meta#:#meta_copyright_status#:#Stato +meta#:#meta_copyright_sub_items#:#Sottovoci +meta#:#meta_copyright_usage#:#Uso meta#:#meta_cost#:#A pagamento meta#:#meta_coverage#:#Copertura -meta#:#meta_coverage_plural#:#Coverage###26 08 2024 new variable +meta#:#meta_coverage_plural#:#Coverage###30 04 2024 new variable meta#:#meta_cp_own#:#Informazione sotto proprio copyright: meta#:#meta_creator#:#Creatore meta#:#meta_current_value#:#Valore corrente meta#:#meta_date#:#Data -meta#:#meta_date_time#:#Date###26 08 2024 new variable +meta#:#meta_date_time#:#Date###30 04 2024 new variable meta#:#meta_delete#:#Cancella -meta#:#meta_delete_confirm#:#Are you sure you want to delete this element and its content?###26 08 2024 new variable -meta#:#meta_delete_element#:#Delete %s###26 08 2024 new variable -meta#:#meta_delete_element_success#:#Element deleted successfully###26 08 2024 new variable -meta#:#meta_delete_this_element#:#Delete This Element###26 08 2024 new variable +meta#:#meta_delete_confirm#:#Are you sure you want to delete this element and its content?###30 04 2024 new variable +meta#:#meta_delete_element#:#Delete %s###30 04 2024 new variable +meta#:#meta_delete_element_success#:#Element deleted successfully###30 04 2024 new variable +meta#:#meta_delete_this_element#:#Delete This Element###30 04 2024 new variable meta#:#meta_description#:#Descrizione -meta#:#meta_description_plural#:#Descriptions###26 08 2024 new variable +meta#:#meta_description_plural#:#Descriptions###30 04 2024 new variable meta#:#meta_diagramm#:#Diagramma meta#:#meta_difficult#:#Difficile -meta#:#meta_difficulty#:#Difficolt& -meta#:#meta_discipline#:#Discipline###26 08 2024 new variable +meta#:#meta_difficulty#:#Difficoltà +meta#:#meta_discipline#:#Discipline###30 04 2024 new variable meta#:#meta_draft#:#Bozza meta#:#meta_duration#:#Durata meta#:#meta_easy#:#Facile -meta#:#meta_edit_element#:#Edit %s###26 08 2024 new variable -meta#:#meta_edit_element_success#:#Element edited successfully###26 08 2024 new variable -meta#:#meta_editor#:#Editore +meta#:#meta_edit_element#:#Edit %s###30 04 2024 new variable +meta#:#meta_edit_element_success#:#Element edited successfully###30 04 2024 new variable +meta#:#meta_editor#:#Editor meta#:#meta_education#:#Educazione meta#:#meta_educational#:#Educativo meta#:#meta_educational_level#:#Livello educativo meta#:#meta_educational_objective#:#Scopo educativo -meta#:#meta_educational_plural#:#Educational###26 08 2024 new variable +meta#:#meta_educational_plural#:#Educational###30 04 2024 new variable meta#:#meta_educationalvalidator#:#Supervisore contenuti educativi -meta#:#meta_entity#:#Entit& -meta#:#meta_entity_plural#:#Entities###26 08 2024 new variable +meta#:#meta_entity#:#Entità +meta#:#meta_entity_plural#:#Entities###30 04 2024 new variable meta#:#meta_entry#:#Voce -meta#:#meta_error_empty_input#:#Please make sure that at least one of the following input fields is not empty.###26 08 2024 new variable +meta#:#meta_error_empty_input#:#Please make sure that at least one of the following input fields is not empty.###30 04 2024 new variable meta#:#meta_exam#:#Esame meta#:#meta_exercise#:#Esercitazione meta#:#meta_experiment#:#Esperimento meta#:#meta_expositive#:#Esposizione meta#:#meta_figure#:#Figura meta#:#meta_final#:#Finale -meta#:#meta_first_author#:#First Author###26 08 2024 new variable +meta#:#meta_first_author#:#First Author###30 04 2024 new variable meta#:#meta_format#:#Formato -meta#:#meta_format_plural#:#Formats###26 08 2024 new variable -meta#:#meta_full_editor_navigation_info#:#To navigate and edit this metadata set, use the ‘LOM’-tree in the ‘Tools’ entry of the main menu.###26 08 2024 new variable +meta#:#meta_format_plural#:#Formats###30 04 2024 new variable +meta#:#meta_full_editor_navigation_info#:#To navigate and edit this metadata set, use the ‘LOM’-tree in the ‘Tools’ entry of the main menu.###30 04 2024 new variable meta#:#meta_general#:#Generale meta#:#meta_global#:#Globale meta#:#meta_graph#:#Grafico @@ -12455,26 +12458,26 @@ meta#:#meta_higher_education#:#Educazione superiore meta#:#meta_id#:#Id meta#:#meta_idea#:#Idea meta#:#meta_identifier#:#Identificatore -meta#:#meta_identifier_plural#:#Identifiers###26 08 2024 new variable +meta#:#meta_identifier_plural#:#Identifiers###30 04 2024 new variable meta#:#meta_index#:#Indice -meta#:#meta_info_licence_section#:#Licence and Use###28 10 2024 new variable -meta#:#meta_info_only_repository_objects#:#Only repository objects are listed below (and no media objects or LM pages). +meta#:#meta_info_licence_section#:#Licence and Use###28 11 2025 new variable +meta#:#meta_info_only_repository_objects#:#Di seguito sono elencati solo gli oggetti repository (e nessun oggetto multimediale o pagine LM). meta#:#meta_initiator#:#Iniziatore -meta#:#meta_installation_remarks#:#Note sull& +meta#:#meta_installation_remarks#:#Note sull'installazione meta#:#meta_instructionaldesigner#:#Instruction designer meta#:#meta_intended_end_user_role#:#Ruolo progettato per utente finale -meta#:#meta_intended_end_user_role_plural#:#Intended End User Roles###26 08 2024 new variable +meta#:#meta_intended_end_user_role_plural#:#Intended End User Roles###30 04 2024 new variable meta#:#meta_interactivity_level#:#Livello di interazione meta#:#meta_interactivity_type#:#Tipo di interazione -meta#:#meta_is_based_on#:#E& -meta#:#meta_is_basis_for#:#E& -meta#:#meta_is_format_of#:#E& -meta#:#meta_is_part_of#:#E& -meta#:#meta_is_referenced_by#:#E& -meta#:#meta_is_required_by#:#E& -meta#:#meta_is_version_of#:#E& +meta#:#meta_is_based_on#:#È basato su +meta#:#meta_is_basis_for#:#È base per +meta#:#meta_is_format_of#:#È il formato di +meta#:#meta_is_part_of#:#È parte di +meta#:#meta_is_referenced_by#:#È indicato da +meta#:#meta_is_required_by#:#È richiesto da +meta#:#meta_is_version_of#:#È la versione di meta#:#meta_keyword#:#Parola Chiave -meta#:#meta_keyword_plural#:#Keywords###26 08 2024 new variable +meta#:#meta_keyword_plural#:#Keywords###30 04 2024 new variable meta#:#meta_kind#:#Tipo meta#:#meta_l_aa#:#Regione degli Afar meta#:#meta_l_ab#:#Abcasia @@ -12610,70 +12613,70 @@ meta#:#meta_l_vi#:#Vietnamita meta#:#meta_l_vo#:#Volapük meta#:#meta_l_wo#:#Wolof meta#:#meta_l_xh#:#Xhosa -meta#:#meta_l_xx#:#none###26 08 2024 new variable +meta#:#meta_l_xx#:#none###30 04 2024 new variable meta#:#meta_l_yi#:#Ebraico meta#:#meta_l_yo#:#Yoruba meta#:#meta_l_za#:#Zhuang meta#:#meta_l_zh#:#Cinese meta#:#meta_l_zu#:#Zulu meta#:#meta_language#:#Lingua -meta#:#meta_language_plural#:#Languages###26 08 2024 new variable +meta#:#meta_language_plural#:#Languages###30 04 2024 new variable meta#:#meta_learner#:#Studente meta#:#meta_learning_resource_type#:#Tipo di risorsa -meta#:#meta_learning_resource_type_plural#:#Learning Resource Types###26 08 2024 new variable +meta#:#meta_learning_resource_type_plural#:#Learning Resource Types###30 04 2024 new variable meta#:#meta_lecture#:#Lettura meta#:#meta_lifecycle#:#Ciclo di vita meta#:#meta_linear#:#Lineare meta#:#meta_local#:#Locale meta#:#meta_location#:#Collocazione -meta#:#meta_location_plural#:#Locations###26 08 2024 new variable -meta#:#meta_lom#:#Learning Object Metadata###26 08 2024 new variable -meta#:#meta_lom_short#:#LOM###26 08 2024 new variable -meta#:#meta_low#:#basso -meta#:#meta_macos#:#MAC-OS###26 08 2024 new variable +meta#:#meta_location_plural#:#Locations###30 04 2024 new variable +meta#:#meta_lom#:#Learning Object Metadata###30 04 2024 new variable +meta#:#meta_lom_short#:#LOM###30 04 2024 new variable +meta#:#meta_low#:#Basso +meta#:#meta_macos#:#MAC-OS###30 04 2024 new variable meta#:#meta_manager#:#Gestore meta#:#meta_maximum_version#:#Versione massima meta#:#meta_medium#:#Mezzo meta#:#meta_meta_metadata#:#Meta-Metadati meta#:#meta_metadatascheme#:#Schema dei metadati -meta#:#meta_metadatascheme_plural#:#Metadata Schemas###26 08 2024 new variable +meta#:#meta_metadatascheme_plural#:#Metadata Schemas###30 04 2024 new variable meta#:#meta_minimum_version#:#Versione minima meta#:#meta_mixed#:#Misto -meta#:#meta_ms-internet_explorer#:#MS-Internet Explorer###26 08 2024 new variable -meta#:#meta_ms-windows#:#MS-Windows###26 08 2024 new variable -meta#:#meta_multi-os#:#Multi-OS###26 08 2024 new variable +meta#:#meta_ms-internet_explorer#:#MS-Internet Explorer###30 04 2024 new variable +meta#:#meta_ms-windows#:#MS-Windows###30 04 2024 new variable +meta#:#meta_multi-os#:#Multi-OS###30 04 2024 new variable meta#:#meta_name#:#Nome meta#:#meta_narrative_text#:#Testo narrativo -meta#:#meta_netscape_communicator#:#Netscape Communicator###26 08 2024 new variable +meta#:#meta_netscape_communicator#:#Netscape Communicator###30 04 2024 new variable meta#:#meta_networked#:#Collegato in rete meta#:#meta_new_element#:#Nuovo elemento meta#:#meta_no#:#No -meta#:#meta_none#:#None###26 08 2024 new variable -meta#:#meta_obj_type_active#:#Dataset offered###29 07 2022 new variable -meta#:#meta_obj_type_inactive#:#Not Used -meta#:#meta_obj_type_mandatory#:#Mandatory -meta#:#meta_obj_type_optional#:#Optional -meta#:#meta_oer_blocked#:#Ignored by OER Harvester -meta#:#meta_oer_blocked_info#:#Will not be listed automatically as Open Educational Ressource (OER) -meta#:#meta_oer_categories#:#Categories for Objects Gathered###29 10 2025 new variable -meta#:#meta_oer_copyright_selection#:#Lizenzauswahl -meta#:#meta_oer_copyright_selection_info#:#Nur Objekte, die unter den/der ausgewählten Lizenz veröffentlicht sind, werden in die OER-Kategorie verknüpft. -meta#:#meta_oer_exposed_source#:#Category for Published OER Content###28 10 2024 new variable -meta#:#meta_oer_harvested_licences#:#Licences for Harvesting###29 10 2025 new variable -meta#:#meta_oer_harvested_types#:#Types of Objects to be Harvested###29 10 2025 new variable +meta#:#meta_none#:#None###30 04 2024 new variable +meta#:#meta_obj_type_active#:#Data set offered###31 03 2023 new variable +meta#:#meta_obj_type_inactive#:#Non usato +meta#:#meta_obj_type_mandatory#:#Obbligatorio +meta#:#meta_obj_type_optional#:#Il set di dati deve essere attivato +meta#:#meta_oer_blocked#:#Ignorato da OER Harvester +meta#:#meta_oer_blocked_info#:#Non verrà elencato automaticamente come Open Educational Resource (OER) +meta#:#meta_oer_categories#:#Categories for Objects Gathered###28 11 2025 new variable +meta#:#meta_oer_copyright_selection#:#Selezione della licenza +meta#:#meta_oer_copyright_selection_info#:#Solo gli oggetti pubblicati sotto le licenze selezionate sono collegati alla categoria OER. +meta#:#meta_oer_exposed_source#:#Category for Published OER Content###28 11 2025 new variable +meta#:#meta_oer_harvested_licences#:#Licences for Harvesting###28 11 2025 new variable +meta#:#meta_oer_harvested_types#:#Types of Objects to be Harvested###28 11 2025 new variable meta#:#meta_oer_harvester#:#OER Harvester meta#:#meta_oer_harvester_desc#:#OER Harvester -meta#:#meta_oer_object_type_selection#:#Harvested Object Types###28 10 2024 new variable -meta#:#meta_oer_target#:#Category for Release OER Content -meta#:#meta_opera#:#Opera###26 08 2024 new variable +meta#:#meta_oer_object_type_selection#:#Harvested Object Types###28 11 2025 new variable +meta#:#meta_oer_target#:#Categoria per rilascio o contenuto +meta#:#meta_opera#:#Opera###30 04 2024 new variable meta#:#meta_operating_system#:#Sistema Operativo -meta#:#meta_or_composite#:#o composito -meta#:#meta_or_composite_plural#:#Or Composites###26 08 2024 new variable +meta#:#meta_or_composite#:#O composito +meta#:#meta_or_composite_plural#:#Or Composites###30 04 2024 new variable meta#:#meta_order#:#Order meta#:#meta_other#:#Altro -meta#:#meta_other_plattform_requirements#:#altri requisiti della piattaforma -meta#:#meta_pc-dos#:#PC-DOS###26 08 2024 new variable -meta#:#meta_pointofcontact#:#Point of Contact +meta#:#meta_other_plattform_requirements#:#Altri requisiti della piattaforma +meta#:#meta_pc-dos#:#PC-DOS###30 04 2024 new variable +meta#:#meta_pointofcontact#:#Punto di contatto meta#:#meta_prerequisite#:#Prerequisito meta#:#meta_problem_statement#:#Esposizione del problema meta#:#meta_publisher#:#Editore @@ -12681,29 +12684,29 @@ meta#:#meta_purpose#:#Scopo meta#:#meta_questionnaire#:#Sondaggio meta#:#meta_references#:#Riferimenti meta#:#meta_relation#:#Relazione -meta#:#meta_relation_plural#:#Relations###26 08 2024 new variable +meta#:#meta_relation_plural#:#Relations###30 04 2024 new variable meta#:#meta_requirement#:#Requisito -meta#:#meta_requirement_plural#:#Requirements###26 08 2024 new variable +meta#:#meta_requirement_plural#:#Requirements###30 04 2024 new variable meta#:#meta_requires#:#Richiede meta#:#meta_resource#:#Risorsa meta#:#meta_revised#:#Rivisto meta#:#meta_rights#:#Diritti meta#:#meta_role#:#Ruolo -meta#:#meta_save_order#:#Save Order +meta#:#meta_save_order#:#Salvare l'ordine meta#:#meta_school#:#Scuola meta#:#meta_scriptwriter#:#Scrittore -meta#:#meta_second_author#:#Second Author###26 08 2024 new variable +meta#:#meta_second_author#:#Second Author###30 04 2024 new variable meta#:#meta_section#:#Sezione meta#:#meta_security_level#:#Livello di sicurezza meta#:#meta_self_assessment#:#Autovalutazione -meta#:#meta_semantic_density#:#Densit& +meta#:#meta_semantic_density#:#Densità semantica meta#:#meta_simulation#:#Simulazione meta#:#meta_size#:#Dimensioni -meta#:#meta_skill_level#:#Livello di capacit& +meta#:#meta_skill_level#:#Livello di competenza meta#:#meta_slide#:#Immagine meta#:#meta_source#:#Sorgente meta#:#meta_status#:#Stato -meta#:#meta_string#:#Text###26 08 2024 new variable +meta#:#meta_string#:#Text###30 04 2024 new variable meta#:#meta_structure#:#Struttura meta#:#meta_subjectmatterexpert#:#Esperto della materia meta#:#meta_tab_advmd#:#Metadati personalizzati @@ -12712,22 +12715,22 @@ meta#:#meta_tab_lom#:#LOM meta#:#meta_table#:#Tabella meta#:#meta_taxon#:#Tassonomia meta#:#meta_taxon_path#:#Percorso Tassonomico -meta#:#meta_taxon_path_plural#:#Taxon Paths###26 08 2024 new variable -meta#:#meta_taxon_plural#:#Taxons###26 08 2024 new variable +meta#:#meta_taxon_path_plural#:#Taxon Paths###30 04 2024 new variable +meta#:#meta_taxon_plural#:#Taxons###30 04 2024 new variable meta#:#meta_teacher#:#Insegnante meta#:#meta_technical#:#Tecnico meta#:#meta_technicalimplementer#:#Implementazione meta#:#meta_technicalvalidator#:#Supervisore tecnico meta#:#meta_terminator#:#Concluso da -meta#:#meta_third_author#:#Third Author###26 08 2024 new variable +meta#:#meta_third_author#:#Third Author###30 04 2024 new variable meta#:#meta_title#:#Titolo meta#:#meta_training#:#Formazione meta#:#meta_type#:#Tipo -meta#:#meta_typical_age_range#:#Intervallo di et& -meta#:#meta_typical_age_range_plural#:#Typical Age Ranges###26 08 2024 new variable +meta#:#meta_typical_age_range#:#Fascia d'età tipica +meta#:#meta_typical_age_range_plural#:#Typical Age Ranges###30 04 2024 new variable meta#:#meta_typical_learning_time#:#Tempo di apprendimento consigliato meta#:#meta_unavailable#:#Non disponibile -meta#:#meta_unix#:#Unix###26 08 2024 new variable +meta#:#meta_unix#:#Unix###30 04 2024 new variable meta#:#meta_unknown#:#Sconosciuto meta#:#meta_validator#:#Validatore meta#:#meta_value#:#Valore @@ -12737,196 +12740,196 @@ meta#:#meta_very_easy#:#Molto facile meta#:#meta_very_high#:#Molto alto meta#:#meta_very_low#:#Molto basso meta#:#meta_yes#:#Si -meta#:#udf_type_address#:#Address###07 02 2020 new variable +meta#:#udf_type_address#:#Indirizzo meta#:#udf_type_externallink#:#Collegamento esterno -meta#:#udf_type_float#:#Mobile -meta#:#udf_type_integer#:#Integer +meta#:#udf_type_float#:#Valore decimale +meta#:#udf_type_integer#:#Valore intero meta#:#udf_type_internallink#:#Collegamento interno meta#:#udf_type_location#:#Posizione -meta#:#udf_type_selectmulti#:#Selection List (Checkboxes) +meta#:#udf_type_selectmulti#:#Elenco di selezione (caselle di controllo) mmbr#:#info_refuse_sure#:#Sei sicuro di voler rifiutare il/i seguente/i utente/i? mmbr#:#mmbr_awrn_my_groups_courses#:#I miei gruppi e corsi -mmbr#:#mmbr_awrn_my_groups_courses_info#:#Sono elencati tutti i membri di gruppi o corsi dell’attuale utente. +mmbr#:#mmbr_awrn_my_groups_courses_info#:#Sono elencati tutti i membri di gruppi o corsi dell'attuale utente. mmbr#:#mmbr_btn_mail_selected_users#:#Invia mail -mmbr#:#mmbr_info_delete_sure_unsubscribe#:#Are you sure you want to unsubscribe from the following objects?###07 02 2020 new variable -mmbr#:#mmbr_memberships#:#Memberships###29 07 2022 new variable +mmbr#:#mmbr_info_delete_sure_unsubscribe#:#Sei sicuro di voler annullare l'iscrizione ai seguenti oggetti? +mmbr#:#mmbr_memberships#:#Memberships mmbr#:#mmbr_selected_users#:#Seleziona partecipanti -mmbr#:#mmbr_unsubscribed_from_objs#:#You have been unsubscribed from the selected objects.###07 02 2020 new variable -mme#:#add_languages#:#Add Language -mme#:#additional_langs#:#Additional Languages -mme#:#button_save#:#Save -mme#:#component_not_active#:#Component is not activated. -mme#:#confirm_move#:#Would you like to move this item to Top Items?###29 07 2022 new variable -mme#:#deactived_by_configuration#:#Deactivated by configuration###29 10 2025 new variable -mme#:#edit_sub_tems#:#Edit Entries###29 10 2025 new variable -mme#:#err_uri_not_valid#:#Please provide a valid URL###29 07 2022 new variable -mme#:#field_external#:#External Link -mme#:#field_external_info#:#Link will be opnened in a separate Window. -mme#:#field_ref_id#:#ILIAS Reference-ID -mme#:#field_ref_id_info#:#The Reference-ID of the desired ILIAS-Object from the Repository, you find the Reference-ID in the URL of a object (...?ref_id=123) +mmbr#:#mmbr_unsubscribed_from_objs#:#Sei stato cancellato dagli oggetti selezionati. +mme#:#add_languages#:#Aggiungi lingua +mme#:#additional_langs#:#Lingue aggiuntive +mme#:#button_save#:#Salva +mme#:#component_not_active#:#Il componente non è attivato. +mme#:#confirm_move#:#Vuoi rimuovere gli oggetti selezionati dagli oggetti preferiti? +mme#:#deactived_by_configuration#:#Deactivated by configuration###28 11 2025 new variable +mme#:#edit_sub_tems#:#Edit Entries###28 11 2025 new variable +mme#:#err_uri_not_valid#:#Inserisci un URL valido +mme#:#field_external#:#Link esterno +mme#:#field_external_info#:#Il link verrà aperto in una finestra separata. +mme#:#field_ref_id#:#ID di riferimento ILIAS +mme#:#field_ref_id_info#:#L'ID di riferimento dell'oggetto ILIAS desiderato dal repository, l'ID di riferimento si trova nell'URL di un oggetto (...?ref_id=123) mme#:#field_url#:#URL -mme#:#field_url_info#:#Link to the desired website, lead by http(s):// -mme#:#flush#:#Remove Lost Items###29 07 2022 new variable -mme#:#item_must_be_always_active#:#Item must be active. -mme#:#item_updated#:#Item stored###29 10 2025 new variable -mme#:#main#:#Main Menu -mme#:#mm_translation_lang#:#Language -mme#:#mm_translation_trans#:#Translation -mme#:#move_to_item#:#Move to Items###29 07 2022 new variable -mme#:#move_to_top_item#:#Move to Top Items###29 07 2022 new variable -mme#:#msg_languages_added#:#Added languages -mme#:#msg_moved#:#Item successfully moved###29 07 2022 new variable -mme#:#msg_not_changed#:#The following entries could not be changed: %s###29 10 2025 new variable -mme#:#msg_not_moved#:#Item could not be moved, please select a valid parent.###29 07 2022 new variable -mme#:#msg_ref_id_not_callable#:#This reference ID cannot be used by Main-Menu. Only targets in the magazine are supported.###26 08 2024 new variable -mme#:#msg_restore_confirm#:#All Custom Items and Translations will be deleted, all Standard items will be reset to factory default. All customization will be lost.###07 02 2020 new variable -mme#:#msg_restored#:#Main Menu completely reset###07 02 2020 new variable -mme#:#msg_subitem_deleted#:#Item deleted. -mme#:#msg_subitem_flushed#:#Lost Items removed.###29 07 2022 new variable -mme#:#msg_success#:#Successfully stored###29 10 2025 new variable -mme#:#msg_topitem_deleted#:#Item deleted. -mme#:#msg_translations_deleted#:#Translations deleted###07 02 2020 new variable -mme#:#msg_translations_saved#:#Translations saved -mme#:#restore#:#Reset Main Menu###07 02 2020 new variable -mme#:#select_parent#:#Select Parent###29 07 2022 new variable -mme#:#sub_actions#:#Actions -mme#:#sub_active#:#Active -mme#:#sub_active_byline#:#Activate this Item for all users. -mme#:#sub_global_roles#:#Global Roles###29 07 2022 new variable -mme#:#sub_icon#:#Icon###07 02 2020 new variable -mme#:#sub_icon_byline#:#Upload a custom icon for this Item. Please note that the SVG-Icons will be inverted.###07 02 2020 new variable -mme#:#sub_parent#:#Top Item -mme#:#sub_position#:#Position -mme#:#sub_provider#:#Provider -mme#:#sub_role_based_visibility#:#Visibility for roles###29 07 2022 new variable -mme#:#sub_role_based_visibility_byline#:#Choose global roles which can see this item. If not activated, the item is always shown.###29 07 2022 new variable -mme#:#sub_status#:#Status -mme#:#sub_title#:#Title -mme#:#sub_title_default#:#Title (Default Language) -mme#:#sub_title_default_byline#:#Other Translations can be added with the Translation Action after. -mme#:#sub_type#:#Type -mme#:#sub_type_byline#:#Specific type for the Item additional configuration may be needed. -mme#:#subitem#:#Subitem###29 10 2025 new variable -mme#:#subitem_add#:#Add Item -mme#:#subitem_confirm_delete#:#Do you really want to delete the following Item? -mme#:#subitem_delete#:#Delete -mme#:#subitem_edit#:#Edit -mme#:#subitem_translate#:#Translate -mme#:#subtab_subitems#:#Items -mme#:#subtab_topitems#:#Top Items -mme#:#tab_back#:#Back -mme#:#table_show_inactive#:#Show inactive -mme#:#topitem_actions#:#Actions -mme#:#topitem_active#:#Active -mme#:#topitem_active_byline#:#Activate this Top Item for all users. -mme#:#topitem_add#:#Add Top Item -mme#:#topitem_confirm_delete#:#Do you really want to delete the following Item? -mme#:#topitem_delete#:#Delete -mme#:#topitem_edit#:#Edit -mme#:#topitem_icon#:#Icon###07 02 2020 new variable -mme#:#topitem_icon_byline#:#Upload a custom icon for this Item. Please note that the SVG-Icons will be inverted.###07 02 2020 new variable -mme#:#topitem_position#:#Position -mme#:#topitem_provider#:#Provider -mme#:#topitem_subentries#:#Items -mme#:#topitem_title#:#Title -mme#:#topitem_title_default#:#Title (Default Language) -mme#:#topitem_title_default_byline#:#Other Translations can be added with the Translation Action after. -mme#:#topitem_translate#:#Translate -mme#:#topitem_type#:#Type -mme#:#topitem_type_byline#:#Top Items can be links directly or can contain Items. +mme#:#field_url_info#:#Link al sito web desiderato, guidato da http(s):// +mme#:#flush#:#Rimuovi oggetti persi +mme#:#item_must_be_always_active#:#L'articolo deve essere attivo. +mme#:#item_updated#:#Item stored###28 11 2025 new variable +mme#:#main#:#Menu principale +mme#:#mm_translation_lang#:#Lingua +mme#:#mm_translation_trans#:#Traduzione +mme#:#move_to_item#:#Sposta oggetti +mme#:#move_to_top_item#:#Sposta negli oggetti preferiti +mme#:#msg_languages_added#:#Lingue aggiunte +mme#:#msg_moved#:#Oggetto spostato correttamente +mme#:#msg_not_changed#:#The following entries could not be changed: %s###28 11 2025 new variable +mme#:#msg_not_moved#:#L'oggetto non può essere spostato, seleziona una cartella madre valida. +mme#:#msg_ref_id_not_callable#:#This reference ID cannot be used by Main-Menu. Only targets in the magazine are supported.###28 11 2023 new variable +mme#:#msg_restore_confirm#:#Tutti gli articoli personalizzati e le traduzioni verranno eliminati, tutti gli articoli standard verranno ripristinati alle impostazioni di fabbrica. Tutta la personalizzazione andrà persa. +mme#:#msg_restored#:#Menu principale reimpostato +mme#:#msg_subitem_deleted#:#Oggetto cancellato. +mme#:#msg_subitem_flushed#:#Oggetti persi cancellati. +mme#:#msg_success#:#Successfully stored###28 11 2025 new variable +mme#:#msg_topitem_deleted#:#Oggetto cancellato. +mme#:#msg_translations_deleted#:#Traduzioni cancellate +mme#:#msg_translations_saved#:#Traduzioni salvate +mme#:#restore#:#Ripristina menu principale +mme#:#select_parent#:#Seleziona cartella madre +mme#:#sub_actions#:#Azioni +mme#:#sub_active#:#Attivo +mme#:#sub_active_byline#:#Attiva questo oggetto per tutti gli utenti. +mme#:#sub_global_roles#:#Ruoli globali +mme#:#sub_icon#:#Icona +mme#:#sub_icon_byline#:#Carica un'icona personalizzata per questo articolo. Si prega di notare che le icone SVG saranno invertite. +mme#:#sub_parent#:#Oggetti preferiti +mme#:#sub_position#:#Posizione +mme#:#sub_provider#:#Fornitore +mme#:#sub_role_based_visibility#:#Visibilità dei ruoli +mme#:#sub_role_based_visibility_byline#:#Scegli i ruoli globali che possono visualizzare questo oggetto. Se non attivo, l'oggetto sarà sempre visibile. +mme#:#sub_status#:#Stato +mme#:#sub_title#:#Titolo +mme#:#sub_title_default#:#Titolo (lingua di default) +mme#:#sub_title_default_byline#:#Altre traduzioni possono essere aggiunte con l'azione Traduci dopo. +mme#:#sub_type#:#Tipo +mme#:#sub_type_byline#:#Potrebbe essere necessario un tipo specifico per la configurazione aggiuntiva dell'articolo. +mme#:#subitem#:#Subitem###28 11 2025 new variable +mme#:#subitem_add#:#Aggiungi oggetto +mme#:#subitem_confirm_delete#:#Vuoi veramente cancellare il seguente oggetto? +mme#:#subitem_delete#:#Elimina +mme#:#subitem_edit#:#Modifica +mme#:#subitem_translate#:#Traduci +mme#:#subtab_subitems#:#Oggetti +mme#:#subtab_topitems#:#Oggetti preferiti +mme#:#tab_back#:#Indietro +mme#:#table_show_inactive#:#Mostra inattivi +mme#:#topitem_actions#:#Azioni +mme#:#topitem_active#:#Attivo +mme#:#topitem_active_byline#:#Attiva questo oggetto principale per tutti gli utenti. +mme#:#topitem_add#:#Aggiungi oggetto preferito +mme#:#topitem_confirm_delete#:#Vuoi veramente cancellare il seguente oggetto? +mme#:#topitem_delete#:#Elimina +mme#:#topitem_edit#:#Modifica +mme#:#topitem_icon#:#Icona +mme#:#topitem_icon_byline#:#Le icone SVG caricate vengono visualizzate invertite. +mme#:#topitem_position#:#Posizione +mme#:#topitem_provider#:#Fornitore +mme#:#topitem_subentries#:#Oggetti +mme#:#topitem_title#:#Titolo +mme#:#topitem_title_default#:#Titolo (lingua predefinita) +mme#:#topitem_title_default_byline#:#Altre traduzioni possono essere aggiunte con l'azione "Traduci" dopo. +mme#:#topitem_translate#:#Traduci +mme#:#topitem_type#:#Tipo +mme#:#topitem_type_byline#:#Gli articoli principali possono essere collegati direttamente come link o possono contenere ulteriori articoli. mme#:#topitem_type_link#:#Link -mme#:#topitem_type_parent#:#Top Item -mme#:#type_complex#:#Complex +mme#:#topitem_type_parent#:#Articolo preferito +mme#:#type_complex#:#Complesso mme#:#type_link#:#Link -mme#:#type_link_list#:#Link List -mme#:#type_lost#:#Lost###07 02 2020 new variable -mme#:#type_repository_link#:#Repository-Link -mme#:#type_separator#:#Separator -mme#:#type_separator_info#:#The title of this item will be displayed in a grey banner. If you do not enter any title, a simple line will be shown.###07 02 2020 new variable +mme#:#type_link_list#:#Elenco dei link +mme#:#type_lost#:#Perduto +mme#:#type_repository_link#:#Link del repository +mme#:#type_separator#:#Separatore +mme#:#type_separator_info#:#Il titolo di questo oggetto verrà visualizzato in un banner grigio. Se non si inserisce alcun titolo, verrà visualizzata una linea semplice. mme#:#type_top_link_item#:#Link -mme#:#type_top_parent_item#:#Container -mme#:#unable_to_render#:#Unable to show '%s' in '%s'.###26 08 2024 new variable -mob#:#mob_choose_from_pool#:#Choose from Media Pool###29 07 2022 new variable -mob#:#mob_copyright#:#Copyright###29 10 2025 new variable -mob#:#mob_copyright_icon#:#Copyright Icon###29 10 2025 new variable -mob#:#mob_external_url#:#External URL###29 07 2022 new variable -mob#:#mob_extract_preview_image#:#Extract Preview Image###26 08 2024 new variable +mme#:#type_top_parent_item#:#Contenitore +mme#:#unable_to_render#:#Unable to show '%s' in '%s'.###18 06 2024 new variable +mob#:#mob_choose_from_pool#:#Scegli dal Media Pool +mob#:#mob_copyright#:#Copyright###28 11 2025 new variable +mob#:#mob_copyright_icon#:#Copyright Icon###28 11 2025 new variable +mob#:#mob_external_url#:#URL esterno +mob#:#mob_extract_preview_image#:#Extract Preview Image###30 04 2024 new variable mob#:#mob_file#:#File mob#:#mob_file_could_not_be_uploaded#:#Il file non può essere caricato. mob#:#mob_general#:#Generale -mob#:#mob_image_extracted#:#Image has been extracted.###26 08 2024 new variable -mob#:#mob_internal_usages_in_object#:#Page Usages###29 10 2025 new variable +mob#:#mob_image_extracted#:#Image has been extracted.###30 04 2024 new variable +mob#:#mob_internal_usages_in_object#:#Page Usages###28 11 2025 new variable mob#:#mob_language#:#Lingua -mob#:#mob_last_update#:#Last Update###29 10 2025 new variable -mob#:#mob_media#:#Media###29 10 2025 new variable -mob#:#mob_media_objects_overview#:#Media Objects on Pages###29 10 2025 new variable -mob#:#mob_mime_type_not_allowed#:#The following mime types are not allowed at the destination.###29 07 2022 new variable +mob#:#mob_last_update#:#Last Update###28 11 2025 new variable +mob#:#mob_media#:#Media###28 11 2025 new variable +mob#:#mob_media_objects_overview#:#Media Objects on Pages###28 11 2025 new variable +mob#:#mob_mime_type_not_allowed#:#The following mime types are not allowed at the destination.###31 03 2023 new variable mob#:#mob_multi_srt_files#:#File SRT -mob#:#mob_no_extraction_possible#:#Sorry, it was not able to extract an image from the file.###26 08 2024 new variable -mob#:#mob_no_fixed_size_map_editing#:#Please define a fixed size for your image before using map areas. If your image is scaled by content style or other CSS rules, your map areas will not fit anymore. +mob#:#mob_no_extraction_possible#:#Sorry, it was not able to extract an image from the file.###30 04 2024 new variable +mob#:#mob_no_fixed_size_map_editing#:#Si prega di definire una dimensione fissa per l'immagine prima di utilizzare le aree della mappa. Se l'immagine viene ridimensionata in base allo stile del contenuto o ad altre regole CSS, le aree della mappa non si adatteranno più. mob#:#mob_object#:#Oggetto -mob#:#mob_please_select_pool#:#Bitte wählen Sie einen Medienpool aus.###26 08 2024 new variable -mob#:#mob_preview_picture#:#Preview Picture###26 08 2024 new variable +mob#:#mob_please_select_pool#:#Bitte wählen Sie einen Medienpool aus.###31 03 2023 new variable +mob#:#mob_preview_picture#:#Preview Picture###30 04 2024 new variable mob#:#mob_really_delete_srt#:#Vuoi davvero eliminare i seguenti file srt? -mob#:#mob_second#:#Second###26 08 2024 new variable -mob#:#mob_srt_files_deleted#:#I sottotitoli dei file sono stati eliminati. -mob#:#mob_srt_not_allowed#:#Files with a .srt suffix are currently not allowed to be uploaded. If you would like to use srt files, contact your system administrator.###26 08 2024 new variable -mob#:#mob_subtitle_file#:#Sottotitoli file -mob#:#mob_subtitle_files#:#Sottotitoli file +mob#:#mob_second#:#Second###30 04 2024 new variable +mob#:#mob_srt_files_deleted#:#I file dei sottotitoli sono stati eliminati. +mob#:#mob_srt_not_allowed#:#Files with a .srt suffix are currently not allowed to be uploaded. If you would like to use srt files, contact your system administrator.###31 03 2023 new variable +mob#:#mob_subtitle_file#:#File dei sottotitoli +mob#:#mob_subtitle_files#:#File dei sottotitoli mob#:#mob_subtitles#:#Sottotitoli -mob#:#mob_type_not_supported#:#Mime type not supported:###26 08 2024 new variable -mob#:#mob_upload_file#:#Upload File###29 07 2022 new variable +mob#:#mob_type_not_supported#:#Mime type not supported:###31 03 2023 new variable +mob#:#mob_upload_file#:#Carica file mob#:#mob_upload_multi_srt#:#Carica come ZIP mob#:#mob_upload_multi_srt_howto#:#Il file. zip non deve contenere alcuna sottodirectory, tutti i file. srt dovrebbero trovarsi al livello superiore. I nomi dei file dovrebbero terminare con "_<codice lang>.srt" dove il codice lang è per esempio "en", "it", "de". -mob#:#mob_url#:#URL###29 07 2022 new variable -mob#:#mob_url_info#:#External resource URL, e.g. Youtube or Vimeo URL.###29 07 2022 new variable -mob#:#mob_url_info1#:#External resource URL, allowed suffixes are:###26 08 2024 new variable -mob#:#mob_url_info_video#:#You may also refer to a Youtube or Vimeo URL.###26 08 2024 new variable -mob#:#mob_usages_in_media_pools#:#Media Pool Usages###29 10 2025 new variable -mob#:#mob_usages_in_other_objects#:#Other Usages###29 10 2025 new variable -mst#:#mst_cert_issued_on#:#Issued On###07 02 2020 new variable +mob#:#mob_url#:#URL +mob#:#mob_url_info#:#URL della risorsa esterna, ad esempio URL Youtube o Vimeo. +mob#:#mob_url_info1#:#External resource URL, allowed suffixes are:###31 03 2023 new variable +mob#:#mob_url_info_video#:#You may also refer to a Youtube or Vimeo URL.###31 03 2023 new variable +mob#:#mob_usages_in_media_pools#:#Media Pool Usages###28 11 2025 new variable +mob#:#mob_usages_in_other_objects#:#Other Usages###28 11 2025 new variable +mst#:#mst_cert_issued_on#:#Rilasciato il mst#:#mst_courses_of#:#Iscrizioni di %s -mst#:#mst_download_certificate#:#Download Certificate###07 02 2020 new variable -mst#:#mst_list_certificates#:#Certificates###07 02 2020 new variable -mst#:#mst_list_competences#:#Competences###07 02 2020 new variable +mst#:#mst_download_certificate#:#Scarica il certificato +mst#:#mst_list_certificates#:#Certificati +mst#:#mst_list_competences#:#Competenze mst#:#mst_list_courses#:#Iscrizioni mst#:#mst_list_users#:#Lista staff mst#:#mst_memb_status_registered#:#Registrati mst#:#mst_memb_status_requested#:#Richiesti -mst#:#mst_memb_status_waitinglist#:#Lista di attesta +mst#:#mst_memb_status_waitinglist#:#Lista di attesa mst#:#mst_my_staff#:#Staff mst#:#mst_opt_all#:#Tutte mst#:#mst_please_select_course#:#Si prega di selezionare un corso. -mst#:#mst_profile_fulfilled#:#Not met, yet###07 02 2020 new variable -mst#:#mst_profile_not_fulfilled#:#Fulfilled###07 02 2020 new variable +mst#:#mst_profile_fulfilled#:#Profilo non ancora completo +mst#:#mst_profile_not_fulfilled#:#Realizzato mst#:#mst_select_course#:#Seleziona corso mst#:#mst_show_courses#:#Iscrizioni -news#:#lso_news_online_title#:#A new learning sequence object is online!###07 02 2020 new variable -news#:#lso_news_online_txt#:#A new object for your learning sequence was just published.###07 02 2020 new variable -news#:#new_test_online#:#Il test è stato impostato online. -news#:#news_1_file_created#:#Un File è stato aggiunto. -news#:#news_1_file_updated#:#Un File è stato aggiornato. -news#:#news_1_postings#:#One post has been added.###26 08 2024 new variable +news#:#lso_news_online_title#:#Un nuovo oggetto sequenza di apprendimento è online! +news#:#lso_news_online_txt#:#È stato appena pubblicato un nuovo oggetto per la sequenza di apprendimento. +news#:#new_test_online#:#Il test è ora online. +news#:#news_1_file_created#:#Un file è stato aggiunto. +news#:#news_1_file_updated#:#Un file è stato aggiornato. +news#:#news_1_postings#:#Un post è stato aggiunto. news#:#news_add_news#:#Aggiungi notizie -news#:#news_all_items#:#Tutti gli oggetti +news#:#news_all_items#:#Notizie per tutti gli articoli preferiti news#:#news_allow_longer_periods#:#Permetti periodi più lunghi -news#:#news_allow_longer_periods_info#:#Gli utenti posso scegliere periodi di News, sul proprio Personal Desktop, più lunghi. +news#:#news_allow_longer_periods_info#:#Gli utenti posso scegliere periodi di News, sul proprio Desktop Personale, più lunghi. news#:#news_allow_shorter_periods#:#Permetti periodi più corti -news#:#news_allow_shorter_periods_info#:#Gli utenti posso scegliere periodi di News, sul proprio Personal Desktop, più corti. +news#:#news_allow_shorter_periods_info#:#Gli utenti posso scegliere periodi di News, sul proprio Desktop Personale, più corti. news#:#news_attached_to#:#Assegnato a news#:#news_block_information#:#Il blocco delle News mostra cronologicamente l'elenco di tutte le news che sono relazionate ai Contenuti personali che hai selezionato nel Desktop Personale. news#:#news_block_news_for_context#:#Notizie -news#:#news_cache#:#News Cache (Minuti) -news#:#news_cache_info#:#Update news blocks all x minutes. '0' means everytime. Higher values improve performance, but news may link to non-accessible items. -news#:#news_default_visibility#:#Accesso di default +news#:#news_cache#:#Cache delle notizie (Minuti) +news#:#news_cache_info#:#Aggiorna notizie blocca tutti i x minuti. '0' significa ogni volta. Valori più alti migliorano le prestazioni, ma le notizie potrebbero essere collegate ad elementi non accessibili. +news#:#news_default_visibility#:#Accesso predefinito news#:#news_edit_news_settings#:#Impostazioni di modifica -news#:#news_enable_internal_news#:#Abilita le News interne +news#:#news_enable_internal_news#:#Abilita le notizie interne news#:#news_enable_internal_news_info#:#Attiva nuovi blocchi di news per Categorie, Corsi, Gruppi e altri oggetti. Gli utenti sottoscrivono le news e tali news sono presenti nel Desktop Personale. news#:#news_enable_internal_rss#:#Abilita RSS per News Interne news#:#news_enable_internal_rss_info#:#Permette di pubblicare nuovi oggetti via RSS. Questi oggetti saranno accessibili, fuori dal sistema, senza autenticazione. -news#:#news_enable_private_feed#:#Abilita Newsfeed privato -news#:#news_enable_private_feed_info#:#se questa opzione è abilitata, news pubbliche e private saranno ottenute via feed RSS personale, fuori da ILIAS. Autenticazione è fornita via password. -news#:#news_feed_url#:#URL Feed +news#:#news_enable_private_feed#:#Abilita newsfeed privato +news#:#news_enable_private_feed_info#:#Se questa opzione è abilitata, news pubbliche e private saranno ottenute via feed RSS personale, fuori da ILIAS. Autenticazione è fornita via password. +news#:#news_feed_url#:#Feed URL news#:#news_feed_url_for#:#Feed URL per '%s' news#:#news_first_letter_of_word_notification#:#B news#:#news_get_feed_info#:#Questo è l'URL dei tuoi feed personali. Questo feed contiene tutte le notizie che sono state definite come pubbliche dagli autori. Questo feed non è protetto da nessun misura di autentificazione. @@ -12943,11 +12946,11 @@ news#:#news_inactive_private_feed_info#:#Il tuo feed privato di notizie è disat news#:#news_internal_news#:#News interne news#:#news_keep_minimal_x_items#:#Mantenere per gli oggetti news#:#news_keep_minimal_x_items_info#:#Se il valore è > 0, questo è il numero di oggetti compresi nel feed, solo se sono più vecchi della loro durata di default. -news#:#news_loading_news#:#Le News vengono caricate... +news#:#news_loading_news#:#Caricamento delle notizie... news#:#news_media#:#Media File -news#:#news_new_comments#:#New comments -news#:#news_new_reactions#:#New reactions -news#:#news_news_block#:#News Block +news#:#news_new_comments#:#Nuovo commento +news#:#news_new_reactions#:#Nuove reazioni +news#:#news_news_block#:#Nuovo blocco news#:#news_news_item_content#:#Testo news#:#news_news_item_content_long#:#Testo lungo news#:#news_news_item_content_long_info#:#Questo testo non sarà pubblicato via RSS. @@ -12971,9 +12974,9 @@ news#:#news_period_1_month#:#Ultimo mese news#:#news_period_1_week#:#Ultima settimana news#:#news_period_1_year#:#Ultimo anno news#:#news_period_x_days#:#Ultimi %s giorni -news#:#news_period_x_months#:#Ultimi %s Mesi -news#:#news_period_x_weeks#:#Ultimi %s Settimane -news#:#news_public_feed#:#Extra Feed URL +news#:#news_period_x_months#:#Ultimi %s mesi +news#:#news_period_x_weeks#:#Ultimi %s settimane +news#:#news_public_feed#:#URL del feed aggiuntivo news#:#news_public_feed_info#:#Se questa opzione è attivata verrà creata una propria Newsfeed-URL per questo oggetto. news#:#news_really_delete_news#:#Vuoi davvero eliminare questa nuova voce? news#:#news_rss#:#RSS @@ -12981,16 +12984,16 @@ news#:#news_rss_period#:#Periodo temporale del RSS news#:#news_rss_title_format#:#Formato di titolo RSS news#:#news_rss_title_format_news_obj#:#Titolo della news (titolo dell'oggetto) news#:#news_rss_title_format_obj_news#:#Titolo dell'oggetto - Titolo della news -news#:#news_settings#:#Impostazione delle News +news#:#news_settings#:#Impostazione delle notizie news#:#news_sorry_not_accessible_anymore#:#Spiacenti, questa voce non è più accessibile. news#:#news_time_period#:#Periodo di tempo news#:#news_timline_add_entries_info#:#Non ci sono notizie disponibili. Clicca su "Aggiungi" per creare nuove voci. -news#:#news_timline_no_entries#:#No news have been found.###26 08 2024 new variable +news#:#news_timline_no_entries#:#No news have been found.###30 04 2024 new variable news#:#news_visibility_public#:#Pubblico news#:#news_visibility_users#:#Utenti collegati -news#:#news_x_files_created#:#% dei files è stato aggiunto. -news#:#news_x_files_updated#:#% dei files è stato aggiornato. -news#:#news_x_postings#:#% dei post è stato aggiunto. +news#:#news_x_files_created#:#%s file sono stati aggiunti. +news#:#news_x_files_updated#:#%s file sono stati aggiornati. +news#:#news_x_postings#:#%s post sono stati aggiunti. news#:#passwd_equals_ilpasswd#:#Per favore, inserisci una password diversa da quella di ILIAS. news#:#priv_feed_disabled#:#Il News Feed privato è stato disabilitato. news#:#priv_feed_settings#:#Impostazioni del Newsfeed privato @@ -13000,180 +13003,183 @@ note#:#note_comment_notification_salutation#:#Ciao %s, note#:#note_comment_notification_subject#:#Un commento è stato aggiunto a "%s" note#:#note_comment_notification_subjectc#:#Un commento è stato modificato in "%s" note#:#note_comment_notification_user_has_written#:#%s ha scritto: -note#:#note_comments_notification#:#General notification about all comments###07 02 2020 new variable -note#:#note_comments_notification_info#:#Comma separated list of accounts that are notified for each comment###07 02 2020 new variable -note#:#note_enable_comments#:#Enable Comments###07 02 2020 new variable -note#:#note_enable_comments_del_tutor#:#Any Comment may be deleted by tutors###07 02 2020 new variable -note#:#note_enable_comments_del_tutor_info#:#User with "Edit Settings" permission for an object can delete any comment made in this object.###07 02 2020 new variable -note#:#note_enable_comments_del_user#:#Comments may be deleted by their authors###07 02 2020 new variable -note#:#note_enable_comments_del_user_info#:#Comments can be deleted by the person who created them.###26 08 2024 new variable -note#:#note_enable_comments_export_info#:#This option enables comments export for content objects like portfolio, blog and wiki.###29 07 2022 new variable -note#:#note_enable_notes#:#Enable Notes###07 02 2020 new variable -note#:#note_html_export_include_comments#:#Should comments be included in the export?###29 07 2022 new variable +note#:#note_comments_notification#:#Notifica generale su tutti i commenti +note#:#note_comments_notification_info#:#Elenco separato da virgole degli account che vengono notificati per ogni commento +note#:#note_enable_comments#:#Abilitare i commenti +note#:#note_enable_comments_del_tutor#:#Qualsiasi commento può essere cancellato dai tutor +note#:#note_enable_comments_del_tutor_info#:#L'utente con il permesso "Edit Settings" per un oggetto può cancellare qualsiasi commento fatto in questo oggetto. +note#:#note_enable_comments_del_user#:#I commenti possono essere cancellati dai loro autori +note#:#note_enable_comments_del_user_info#:#Comments can be deleted by the person who created them.###30 04 2024 new variable +note#:#note_enable_comments_export_info#:#This option enables comments export for content objects like portfolio, blog and wiki. +note#:#note_enable_notes#:#Abilitare le note +note#:#note_html_export_include_comments#:#I commenti devono essere inclusi nelle esportazioni? notes#:#comments_feature_currently_not_activated_for_object#:#La funzione di commento non è al momento attivata per questa risorsa. notes#:#note_add_comment#:#Aggiungi commento -notes#:#note_add_message#:#Add Message###26 08 2024 new variable +notes#:#note_add_message#:#Add Message###30 04 2024 new variable notes#:#note_add_note#:#Aggiungi nota notes#:#note_content_removed#:#Il contenuto è stato rimosso. -notes#:#note_text#:#Text###29 07 2022 new variable +notes#:#note_text#:#Text###31 03 2023 new variable notes#:#note_update_comment#:#Aggiorna il commento -notes#:#note_update_message#:#Update Message###26 08 2024 new variable +notes#:#note_update_message#:#Update Message###30 04 2024 new variable notes#:#note_update_note#:#Aggiorna la nota -notes#:#note_without_object#:#Without reference###29 07 2022 new variable -notes#:#notes_activate_comments#:#Attiva Commenti Pubblici +notes#:#note_without_object#:#Senza riferimento +notes#:#notes_activate_comments#:#Attiva commenti pubblici notes#:#notes_add_comment#:#Aggiungi commento -notes#:#notes_add_edit_comment#:#Add/Edit Comment -notes#:#notes_add_edit_message#:#Add/Edit Message###26 08 2024 new variable -notes#:#notes_add_edit_note#:#Add/Edit Note###26 08 2024 new variable +notes#:#notes_add_edit_comment#:#Aggiungi/Modifica Commento +notes#:#notes_add_edit_message#:#Add/Edit Message###30 04 2024 new variable +notes#:#notes_add_edit_note#:#Add/Edit Note###30 04 2024 new variable notes#:#notes_all_comments#:#Tutti i commenti notes#:#notes_comment#:#Commento notes#:#notes_comment_deleted#:#Il commento è stato eliminato. notes#:#notes_comments#:#Commenti notes#:#notes_comments_deleted#:#I commenti sono stati eliminati. notes#:#notes_deactivate_comments#:#Disattiva commenti pubblici -notes#:#notes_delete_comment#:#Do you really want to delete this comment?###29 07 2022 new variable -notes#:#notes_delete_message#:#Do you really want to delete this message?###26 08 2024 new variable -notes#:#notes_delete_note#:#Do you really want to delete this note?###29 07 2022 new variable +notes#:#notes_delete_comment#:#Do you really want to delete this comment?###31 03 2023 new variable +notes#:#notes_delete_message#:#Do you really want to delete this message?###30 04 2024 new variable +notes#:#notes_delete_note#:#Do you really want to delete this note?###31 03 2023 new variable notes#:#notes_hide_comments#:#Nascondi commenti -notes#:#notes_html_export#:#HTML Export###29 07 2022 new variable -notes#:#notes_latest_comment#:#Latest Comment -notes#:#notes_latest_message#:#Latest Message###26 08 2024 new variable -notes#:#notes_message_author_counterpart#:#Respondent###26 08 2024 new variable -notes#:#notes_message_author_you#:#You###26 08 2024 new variable -notes#:#notes_messages#:#Messages###26 08 2024 new variable -notes#:#notes_my_comments#:#Miei commenti +notes#:#notes_html_export#:#HTML Export###31 03 2023 new variable +notes#:#notes_latest_comment#:#Ultimo commento +notes#:#notes_latest_message#:#Latest Message###30 04 2024 new variable +notes#:#notes_message_author_counterpart#:#Respondent###30 04 2024 new variable +notes#:#notes_message_author_you#:#You###30 04 2024 new variable +notes#:#notes_messages#:#Messages###30 04 2024 new variable +notes#:#notes_my_comments#:#I miei commenti notes#:#notes_no_comments#:#Nessun commento è stato ancora pubblicato. -notes#:#notes_no_comments_found#:#No comments found that match your seach criteria.###29 07 2022 new variable -notes#:#notes_no_messages#:#No messages have been attached yet.###26 08 2024 new variable -notes#:#notes_no_messages_found#:#No messages found that match your seach criteria.###26 08 2024 new variable -notes#:#notes_no_notes#:#No notes have been attached yet.###29 07 2022 new variable -notes#:#notes_no_notes_found#:#No notes found that match your seach criteria.###29 07 2022 new variable +notes#:#notes_no_comments_found#:#No comments found that match your seach criteria.###31 03 2023 new variable +notes#:#notes_no_messages#:#No messages have been attached yet.###30 04 2024 new variable +notes#:#notes_no_messages_found#:#No messages found that match your seach criteria.###30 04 2024 new variable +notes#:#notes_no_notes#:#No notes have been attached yet.###31 03 2023 new variable +notes#:#notes_no_notes_found#:#No notes found that match your seach criteria.###31 03 2023 new variable notes#:#notes_note_deleted#:#La nota è stata cancellata. notes#:#notes_notes_deleted#:#Le note sono state cancellate. -notes#:#notes_origin#:#Origin###29 07 2022 new variable +notes#:#notes_origin#:#Origin###31 03 2023 new variable notes#:#notes_public_comments#:#Commenti pubblici notes#:#notes_show_comments#:#Mostra commenti notes#:#notes_sort_asc#:#Ordinamento ascendente notes#:#notes_sort_desc#:#Ordinamento discendente -notes#:#notes_text#:#Text###29 07 2022 new variable -noti#:#noti_activate_notification#:#Activate Notification -noti#:#noti_deactivate_notification#:#Deactivate Notification -noti#:#noti_notification_activated#:#Notification Activated -noti#:#noti_notification_deactivated#:#Notification Deactivated -notifications#:#push_notification#:#Push Notifications###29 10 2025 new variable -notifications_adm#:#enable_osd#:#Enable Toasts###26 08 2024 new variable -notifications_adm#:#enable_osd_desc#:#If enabled, users are notified by a pop-up about new notifications.###26 08 2024 new variable -notifications_adm#:#enable_push#:#Enable Push Notifications###29 10 2025 new variable -notifications_adm#:#enable_push_desc#:#If enabled, users are notified by push notifications. User can change this behaviour within their user settings.###29 10 2025 new variable -notifications_adm#:#notification_settings#:#Notification Settings###26 08 2024 new variable -notifications_adm#:#osd_error_refresh_interval_too_small#:#The Refresh Interval has to be at least than 3000 miliseconds.###26 08 2024 new variable -notifications_adm#:#osd_interval#:#Refreshinterval###26 08 2024 new variable -notifications_adm#:#osd_interval_desc#:#Polling interval for checking of new notifications in miliseconds. A lower number will notify the user more quickly but increases the number of requests the web server must handle.###26 08 2024 new variable -notifications_adm#:#osd_play_sound#:#Play a Sound###26 08 2024 new variable -notifications_adm#:#osd_play_sound_desc#:#Play a sound when receiving a new notficiation.###26 08 2024 new variable -notifications_adm#:#osd_settings#:#Toasts###26 08 2024 new variable -notifications_adm#:#push_client_already_used#:#Push notifications are already used by another user for this client.###29 10 2025 new variable -notifications_adm#:#push_client_edge_case#:#The Edge Browser might have deactivated notifications without your consent. Enter your browser settings to reactivate them.###29 10 2025 new variable -notifications_adm#:#push_client_inactive#:#Push notifications are disabled for this website. Open your browser settings to activate them.###29 10 2025 new variable -notifications_adm#:#push_client_ios_case#:#If you are using IOS (Iphone, Ipad, Ipod) push notifications for websites are not supported. Create an access via web app to enable them.###29 10 2025 new variable -notifications_adm#:#push_settings#:#Push Notifications###29 10 2025 new variable -notifications_adm#:#push_subscription_successfull#:#Push Notifications activation successful###29 10 2025 new variable -notifications_adm#:#push_subscription_successfull_desc#:#This is a dummy notification to verify the successful activation of push notifications.###29 10 2025 new variable -obj#:#activation_visible_when_disabled#:#Visibilità -obj#:#activation_visible_when_disabled_info#:#Se selezionato il materiale è visibile anche all'esterno delle disponibilità attivate -obj#:#availability_period_changed#:#The availability period for the selected objects has been changed successfully.###26 08 2024 new variable -obj#:#available_languages#:#Available Languages###29 10 2025 new variable -obj#:#cont_filter_empty#:#Please use the filter to see any objects.###07 02 2020 new variable +notes#:#notes_text#:#Text###31 03 2023 new variable +noti#:#noti_activate_notification#:#Attiva notifica +noti#:#noti_deactivate_notification#:#Disattiva notifica +noti#:#noti_notification_activated#:#Notifica attivata +noti#:#noti_notification_deactivated#:#Notifica disattivata +notifications#:#push_notification#:#Push Notifications###28 11 2025 new variable +notifications_adm#:#available_providers#:#Available Providers###28 11 2025 new variable +notifications_adm#:#client_settings#:#Client Settings###28 11 2025 new variable +notifications_adm#:#enable_osd#:#Enable On-Screen Notifications###31 03 2023 new variable +notifications_adm#:#enable_osd_desc#:#If enabled, users are notified by a popup about new notifications.###31 03 2023 new variable +notifications_adm#:#enable_push#:#Enable Push Notifications###28 11 2025 new variable +notifications_adm#:#enable_push_desc#:#If enabled, users are notified by push notifications. User can change this behaviour within their user settings.###28 11 2025 new variable +notifications_adm#:#notification_settings#:#Notification Settings###31 03 2023 new variable +notifications_adm#:#osd_error_refresh_interval_too_small#:#The Refresh Interval has to be at least than 3000 miliseconds.###31 03 2023 new variable +notifications_adm#:#osd_interval#:#Refreshinterval###31 03 2023 new variable +notifications_adm#:#osd_interval_desc#:#Polling interval for checking of new notifications in miliseconds. A lower number will notify the user more quickly but increases the number of requests the web server must handle.###31 03 2023 new variable +notifications_adm#:#osd_play_sound#:#Play a Sound###31 03 2023 new variable +notifications_adm#:#osd_play_sound_desc#:#Play a sound when receiving a new notficiation.###31 03 2023 new variable +notifications_adm#:#osd_settings#:#On-Screen Notifications###31 03 2023 new variable +notifications_adm#:#push_client_already_used#:#Push notifications are already used by another user for this client.###28 11 2025 new variable +notifications_adm#:#push_client_edge_case#:#The Edge Browser might have deactivated notifications without your consent. Enter your browser settings to reactivate them.###28 11 2025 new variable +notifications_adm#:#push_client_inactive#:#Push notifications are disabled for this website. Open your browser settings to activate them.###28 11 2025 new variable +notifications_adm#:#push_client_ios_case#:#If you are using IOS (Iphone, Ipad, Ipod) push notifications for websites are not supported. Create an access via web app to enable them.###28 11 2025 new variable +notifications_adm#:#push_settings#:#Push Notifications###28 11 2025 new variable +notifications_adm#:#push_subscription_successfull#:#Push Notifications activation successful###28 11 2025 new variable +notifications_adm#:#push_subscription_successfull_desc#:#This is a dummy notification to verify the successful activation of push notifications.###28 11 2025 new variable +notifications_adm#:#user_settings#:#User Settings###28 11 2025 new variable +obj#:#activation_visible_when_disabled#:#Visibility###30 04 2024 new variable +obj#:#activation_visible_when_disabled_info#:#The item is visible outside of the selected availability period, but it cannot be opened.###30 04 2024 new variable +obj#:#availability_period_changed#:#The availability period for the selected objects has been changed successfully.###30 04 2024 new variable +obj#:#available_languages#:#Available Languages###28 11 2025 new variable +obj#:#cont_filter_empty#:#Please use the filter to see any objects. obj#:#cont_skll_published#:#Sono state pubblicate tutte le assegnazioni. -obj#:#cont_skll_published_some_not#:#Sono state pubblicate tutte le assegnazioni fornite. Alcuni utenti non disponevano di incarichi di competenza, quindi non potevano essere pubblicate per loro. -obj#:#copy_container_page_no_label#:#Don't Copy Content Page###26 08 2024 new variable -obj#:#copy_container_page_yes_byline#:#The content page and corresponding style settings of the source object will be copied to this object. Pre-existing page elements will be overwritten.###26 08 2024 new variable -obj#:#copy_container_page_yes_label#:#Copy Content Page###26 08 2024 new variable -obj#:#custom_icon#:#Icona personalizzata -obj#:#default_base_lang_not_deletable#:#Neither the base language nor the default language can be deleted.###29 10 2025 new variable -obj#:#edit_availability_period#:#Availability Period###26 08 2024 new variable -obj#:#edit_language#:#Edit Language###29 10 2025 new variable +obj#:#cont_skll_published_some_not#:#Sono state pubblicate tutte le assegnazioni fornite. Alcuni utenti non disponevano di incarichi di competenze, quindi non potevano essere pubblicate per loro. +obj#:#copy_container_page_no_label#:#Don't Copy Content Page###30 04 2024 new variable +obj#:#copy_container_page_yes_byline#:#The content page and corresponding style settings of the source object will be copied to this object. Pre-existing page elements will be overwritten.###30 04 2024 new variable +obj#:#copy_container_page_yes_label#:#Copy Content Page###30 04 2024 new variable +obj#:#custom_icon#:#Custom Icon###30 04 2024 new variable +obj#:#default_base_lang_not_deletable#:#Neither the base language nor the default language can be deleted.###28 11 2025 new variable +obj#:#edit_availability_period#:#Availability Period###30 04 2024 new variable +obj#:#edit_language#:#Edit Language###28 11 2025 new variable obj#:#edit_questions#:#Modifica domande -obj#:#make_default_language#:#Make Default Language###29 10 2025 new variable -obj#:#missing_migration#:#You cannot edit information on this page until all migrations have been run. Please contact your system administrator.###29 10 2025 new variable -obj#:#multiple_reference_deletion_info#:#Further references exist for the following objects.###29 10 2025 new variable -obj#:#multiple_selection#:#Selezione multipla -obj#:#no_objects_selected#:#At least one object needs to be selected.###26 08 2024 new variable +obj#:#make_default_language#:#Make Default Language###28 11 2025 new variable +obj#:#missing_migration#:#You cannot edit information on this page until all migrations have been run. Please contact your system administrator.###28 11 2025 new variable +obj#:#multiple_reference_deletion_info#:#Further references exist for the following objects.###01 04 2025 new variable +obj#:#multiple_selection#:#Multiple Selection###28 11 2025 new variable +obj#:#no_objects_selected#:#At least one object needs to be selected.###30 04 2024 new variable obj#:#obj_activate_content_lang#:#Attiva traduzione per la modifica delle pagine -obj#:#obj_activate_multilang#:#Activate Multilinguality +obj#:#obj_activate_multilang#:#Attiva il multilinguismo obj#:#obj_activation#:#Attivazione obj#:#obj_activation_list_gui#:#Disponibilità -obj#:#obj_add_language#:#Add Language###29 10 2025 new variable +obj#:#obj_add_language#:#Add Language###28 11 2025 new variable obj#:#obj_additional_langs#:#Lingue aggiuntive -obj#:#obj_base_lang#:#Lingua principale -obj#:#obj_conf_delete_lang#:#Do you really want to stop the presentation of title and description in these languages?###26 08 2024 new variable +obj#:#obj_base_lang#:#Master Language###28 11 2025 new variable +obj#:#obj_conf_delete_lang#:#Do you really want to stop the presentation of title and description in these languages?###28 11 2023 new variable obj#:#obj_cont_transl_deactivated#:#La traduzione per la modifica delle pagine è stata disattivata. obj#:#obj_copy_progress#:#Progresso di copia -obj#:#obj_copy_progress_estimate#:#Estimating duration...###29 10 2025 new variable -obj#:#obj_copy_progress_failure#:#Copying failed.###29 10 2025 new variable -obj#:#obj_copy_progress_success#:#Copied successfully.###29 10 2025 new variable -obj#:#obj_copy_progress_to#:#Copying to %s###29 10 2025 new variable +obj#:#obj_copy_progress_estimate#:#Estimating duration...###28 11 2025 new variable +obj#:#obj_copy_progress_failure#:#Copying failed.###28 11 2025 new variable +obj#:#obj_copy_progress_success#:#Copied successfully.###28 11 2025 new variable +obj#:#obj_copy_progress_to#:#Copying to %s###28 11 2025 new variable obj#:#obj_deactivate_content_lang#:#Disattiva traduzione per la modifica delle pagine obj#:#obj_deactivate_content_transl_conf#:#Vuoi davvero disattivare la traduzione per la modifica delle pagine? Verranno conservati solo i contenuti della lingua principale. -obj#:#obj_deactivate_multilang#:#Deactivate Multilinguality -obj#:#obj_deactivate_multilang_conf#:#Do you really want to deactivate multilinguality? Only contents of the master language will be kept. -obj#:#obj_fallback_lang#:#Default Language###29 07 2022 new variable -obj#:#obj_features#:#Features +obj#:#obj_deactivate_multilang#:#Disattiva il multilinguismo +obj#:#obj_deactivate_multilang_conf#:#Vuoi veramente disattivare il multilinguismo? Solo i contenuti nella lingua principale verranno conservati. +obj#:#obj_fallback_lang#:#Lingua predefinita +obj#:#obj_features#:#Caratteristiche aggiuntive obj#:#obj_import_file_error#:#Questo file non può essere importato. Si prega di assicurarsi che questo sia un file valido di esportazione ILIAS (Esporta XML) dello stesso tipo di oggetto. Il nome del file non deve essere modificato dopo l’esportazione. Messaggio di errore: obj#:#obj_insert_into_clipboard#:#Inserisci negli Appunti obj#:#obj_inserted_clipboard#:#Gli oggetti sono stati spostati negli Appunti. -obj#:#obj_master_lang#:#Master Language###29 10 2025 new variable -obj#:#obj_more_translations#:#More Translations -obj#:#obj_multilang_deactivated#:#Multilinguality has been deactivated. -obj#:#obj_multilang_title_descr_only#:#Translation is activated for title and description only. Translation support for Page editing ("Customize Page") needs additional activation. -obj#:#obj_multilinguality#:#Multilinguality +obj#:#obj_master_lang#:#Lingua principale +obj#:#obj_more_translations#:#Altre traduzioni +obj#:#obj_multilang_deactivated#:#Il multilinguismo è stato disattivato. +obj#:#obj_multilang_title_descr_only#:#La traduzione è stata attivata solo per il titolo e la descrizione. La traduzione per le pagine ("Pagine personalizzate") necessita di un'ulteriore attivazione. +obj#:#obj_multilinguality#:#Multilinguismo obj#:#obj_orgunit_positions#:#Controllo accessi per posizioni di unità organizzative obj#:#obj_orgunit_positions_info#:#Se abilitate, le regole di controllo dell'accesso aggiuntive possono essere abilitate da posizioni a unità organizzative. obj#:#obj_permission_settings#:#Impostazioni di autorizzazione obj#:#obj_presentation#:#Presentazione -obj#:#obj_select_base_lang#:#Si prega di selezionare la lingua principale. Il contenuto attuale verrà assegnato alla lingua principale. La lingua principale non può essere cambiata successivamente. -obj#:#obj_select_one_language#:#Please select one language###29 07 2022 new variable -obj#:#obj_set_fallback_lang#:#Set default language###29 07 2022 new variable +obj#:#obj_select_base_lang#:#Please select the base language. The current content will be assigned to the base language. The base language cannot be changed afterwards.###28 11 2025 new variable +obj#:#obj_select_one_language#:#Per favore seleziona una lingua +obj#:#obj_set_fallback_lang#:#Imposta la lingua principale obj#:#obj_settings_for_all_members#:#I membri riceveranno automaticamente la notifica -obj#:#obj_show_header_actions#:#Show Header Actions -obj#:#obj_show_title_and_icon#:#Show Title and Icon +obj#:#obj_show_header_actions#:#Mostra le azioni di intestazione +obj#:#obj_show_title_and_icon#:#Mostra il titolo e l'icona obj#:#obj_target_location#:#Posizione di destinazione -obj#:#obj_tile_image#:#Tile Image -obj#:#obj_tile_image_info#:#The tile image will be used, if the container (course, folder, group, ...) activates the tile view presentation. -obj#:#obj_tool_booking#:#Resources###07 02 2020 new variable -obj#:#obj_tool_booking_info#:#Use the booking pools to book resources.###07 02 2020 new variable -obj#:#obj_tool_ext_mail_subject_prefix#:#Mail Subject Prefix###29 07 2022 new variable -obj#:#obj_tool_ext_mail_subject_prefix_info#:#Enter a short text that is added to the subject line of external mails send to members to make identifying these mails easier.###29 07 2022 new variable +obj#:#obj_tile_image#:#Immagine mattonella +obj#:#obj_tile_image_info#:#L'immagine sara' utilizzata se il contenitore (corso, contesto, gruppo, ...) e' in modalita' mattonelle (tiles). +obj#:#obj_tool_booking#:#Risorse +obj#:#obj_tool_booking_info#:#Utilizza l'archivio di prenotazione per prenotare una risorsa +obj#:#obj_tool_ext_mail_subject_prefix#:#Prefisso dell'oggetto della mail +obj#:#obj_tool_ext_mail_subject_prefix_info#:#Inserisci un breve testo che viene aggiunto all'oggetto delle mail esterne inviate ai membri per facilitare l'identificazione di queste mail. obj#:#obj_tool_setting_badges#:#Badge -obj#:#obj_tool_setting_badges_info#:#If activated badges can be managed. -obj#:#obj_tool_setting_booking#:#Resources###07 02 2020 new variable -obj#:#obj_tool_setting_filter#:#Filter###07 02 2020 new variable -obj#:#obj_tool_setting_filter_empty#:#Show on Empty Filter###07 02 2020 new variable -obj#:#obj_tool_setting_filter_empty_info#:#Show all items while filter is empty.###07 02 2020 new variable -obj#:#obj_tool_setting_filter_info#:#A filter will be displayed in the content tab.###07 02 2020 new variable -obj#:#obj_tool_setting_info_tab#:#Show Info Tab -obj#:#obj_tool_setting_info_tab_info#:#The "Info" tab will be displayed. +obj#:#obj_tool_setting_badges_info#:#Attiva la gestione dei badge e l'assegnazione dei badge ai membri. +obj#:#obj_tool_setting_booking#:#Risorse +obj#:#obj_tool_setting_filter#:#Filtro +obj#:#obj_tool_setting_filter_empty#:#Mostra su filtro vuoto +obj#:#obj_tool_setting_filter_empty_info#:#Mostra tutti gli elementi quando il filtro è vuoto. +obj#:#obj_tool_setting_filter_info#:#Un filtro verrà visualizzato nella scheda del contenuto. +obj#:#obj_tool_setting_info_tab#:#Mostra Info Tab +obj#:#obj_tool_setting_info_tab_info#:#"Info" tab verrà visualizzata. obj#:#obj_tool_setting_skills#:#Competenze obj#:#obj_tool_setting_skills_info#:#Attiva la gestione delle competenze e le competenze assegnate ai membri. obj#:#obj_tool_setting_tag_cloud#:#Tag Cloud -obj#:#obj_tool_setting_tag_cloud_info#:#The "tag cloud" block will be displayed inside the "Content" tab. +obj#:#obj_tool_setting_tag_cloud_info#:#il blocco del "tag cloud" verrà visualizzata nel "Content" tab. obj#:#obj_tool_setting_taxonomies#:#Tassonomie -obj#:#obj_tool_setting_taxonomies_info#:#Taxonomies allow the filtering of objects. They are created in the "Taxonomy" sub-tab in the "Settings" tab.###29 10 2025 new variable +obj#:#obj_tool_setting_taxonomies_info#:#Taxonomies allow the filtering of objects. They are created in the "Taxonomy" sub-tab in the "Settings" tab.###10 12 2024 new variable obj#:#obj_tool_setting_use_news#:#Notizie obj#:#obj_tool_setting_use_news_info#:#Attiva il blocco notizie e/o visualizzazione calendario. obj#:#obj_tool_setting_use_news_open_settings#:#Apri impostazioni obj#:#obj_user_decides_notification#:#I membri deve attivare manualmente le notifiche obj#:#obj_user_not_disable_not#:#I membri non sono autorizzati per disattivare le notifiche -obj#:#online_input_byline#:#The object has been published and can be accessed by anyone with read access. Other access prerequisites or time-based access restrictions may still apply. This settings applies to the object wherever it is used in the repository.###26 08 2024 new variable -obj#:#select_import_type_info#:#The type of the object in the file to be imported cannot be determined automatically. The file was probably renamed. Please select the type of object in the file.###29 10 2025 new variable -obj#:#select_object_type#:#Select Object Type###26 08 2024 new variable +obj#:#online_input_byline#:#The object has been published and can be accessed by anyone with read access. Other access prerequisites or time-based access restrictions may still apply. This settings applies to the object wherever it is used in the repository.###30 04 2024 new variable +obj#:#select_import_type_info#:#The type of the object in the file to be imported cannot be determined automatically. The file was probably renamed. Please select the type of object in the file.###28 11 2025 new variable +obj#:#select_object_type#:#Select Object Type###30 04 2024 new variable obj#:#svy_results#:#Risultati -obj#:#unequal_items_for_availability_period_message#:#You have selected items with different availability periods. Overwrite existing settings below or cancel action to keep current availability periods.###26 08 2024 new variable -obj#:#user_owns_no_objects#:#No Repository Objects Available###26 08 2024 new variable +obj#:#unequal_items_for_availability_period_message#:#You have selected items with different availability periods. Overwrite existing settings below or cancel action to keep current availability periods.###30 04 2024 new variable +obj#:#user_owns_no_objects#:#No Repository Objects Available###30 04 2024 new variable objref#:#objref_custom_title#:#Usa il proprio titolo objref#:#objref_edit_ref#:#Target di riferimento objref#:#objref_edit_title#:#Titolo dell'oggetto -objref#:#objref_failure_target_type#:#Das Ziel des Links muss vom folgendem Typ sein:###07 02 2020 new variable +objref#:#objref_failure_target_type#:#Il target del link deve essere del seguente tipo: objref#:#objref_reuse_title#:#Assumere il titolo del riferimento objref#:#objref_title_settings#:#Titolo del riferimento orgu#:#Staff#:#Staff @@ -13185,26 +13191,26 @@ orgu#:#change_to_employee#:#Passa a dipendente orgu#:#change_to_superior#:#Passa a superiore orgu#:#confirm_deletion_and_assign#:#Elimina e assegna utente orgu#:#confirm_deletion_button#:#Elimina -orgu#:#deassign_user_successful#:#Users have been deasigned successfuly from this role. +orgu#:#deassign_user_successful#:#Gli utenti sono stati deassegnati con successo da questo ruolo orgu#:#edit_translations#:#Titolo e Descrizione orgu#:#employee#:#Dipendente orgu#:#ext_id#:#ID Esterno orgu#:#ext_id_updated#:#L’ID Esterno è stato aggiornato con successo. orgu#:#form_title_org_default_permissions_update#:#Permessi predefiniti -orgu#:#import_failed#:#The import failed. Make sure your file is in the xml format and is has a valid structure. +orgu#:#import_failed#:#L'importazione non è riuscita. Assicurati che il tuo file sia nel formato xml e abbia una struttura valida. orgu#:#import_successful#:#L’importazione è terminata con successo. Creato: %s, modificato/spostato: %s, eliminato: %s. -orgu#:#import_terminated_with_errors#:#The import terminated with errors, some organisational couldn't be created, edited or deleted. +orgu#:#import_terminated_with_errors#:#Durante l'importazione sono stati rilevati errori, orgu#:#import_terminated_with_warnings#:#L’importazione termina con avvisi -orgu#:#import_xml_file#:#Import Datei -orgu#:#local_other_roles#:#Additional Roles %s +orgu#:#import_xml_file#:#Importazione File +orgu#:#local_other_roles#:#Ruoli locali aggiuntivi %s orgu#:#local_staff#:#Dipendenti %s orgu#:#msg_assignment_to_employee_done#:#Assegnazione alla posizione dipendente eseguita orgu#:#msg_confirm_d_ua#:#Vuoi assegnare queste persone alla posizione dipendente delle rispettive unità organizzative? -orgu#:#msg_confirm_deletion#:#Would you really like to delete tho following Position? +orgu#:#msg_confirm_deletion#:#Vuoi davvero cancellare la seguente Posizione? orgu#:#msg_confirm_remove_user#:#Vuoi davvero rimuovere i seguenti utenti da questa posizione %s? orgu#:#msg_deleted#:#Eliminato orgu#:#msg_position_created#:#Posizione creata. -orgu#:#msg_position_delete_fail#:#Position wurde nicht gefunden.###29 10 2025 new variable +orgu#:#msg_position_delete_fail#:#Position wurde nicht gefunden.###28 11 2025 new variable orgu#:#msg_position_updated#:#Posizione aggiornata. orgu#:#msg_success_permission_saved#:#Autorizzazioni salvate. orgu#:#no_assignment#:#Si prega di controllare il proprio File XML. Non c’è alcuna assegnazione utente. @@ -13212,20 +13218,20 @@ orgu#:#no_orgunit#:#Si prega di controllare il proprio File XML. Non c’è alcu orgu#:#no_roles#:#A questo punto non sono presenti ruoli aggiuntivi. orgu#:#not_movable_to_subtree#:#Un’unità organizzativa non può essere spostata nella propria sottostruttura. Questo porterebbe una riproduzione a ciclo continuo. orgu#:#org_op_access_enrolments#:#Visualizza iscrizioni -orgu#:#org_op_access_results#:#Access Results -orgu#:#org_op_create_employee_talk#:#Create talk appointments / edit talk appointments that you have created yourself -orgu#:#org_op_edit_employee_talk#:#Edit Talk appointments -orgu#:#org_op_edit_individual_plan#:#Edit Individual Plan###07 02 2020 new variable +orgu#:#org_op_access_results#:#Accedi ai risultati +orgu#:#org_op_create_employee_talk#:#Create talk appointments / edit talk appointments that you have created yourself###31 03 2023 new variable +orgu#:#org_op_edit_employee_talk#:#Edit Talk appointments###31 03 2023 new variable +orgu#:#org_op_edit_individual_plan#:#Modifica piano individuale orgu#:#org_op_edit_submissions_grades#:#Modifica le presentazioni degli altri utenti orgu#:#org_op_manage_members#:#Gestisci membri -orgu#:#org_op_manage_participants#:#Manage Participants -orgu#:#org_op_read_employee_talk#:#Read access talk appointments +orgu#:#org_op_manage_participants#:#Gestisci partecipanti +orgu#:#org_op_read_employee_talk#:#Read access talk appointments###31 03 2023 new variable orgu#:#org_op_read_learning_progress#:#Visualizza il progresso di apprendimento degli altri utenti -orgu#:#org_op_score_participants#:#Score Participants -orgu#:#org_op_view_certificates#:#View certificates of other users###07 02 2020 new variable -orgu#:#org_op_view_competences#:#View competences of other users###07 02 2020 new variable -orgu#:#org_op_view_individual_plan#:#View Individual Plan###07 02 2020 new variable -orgu#:#org_op_view_members#:#View Members###07 02 2020 new variable +orgu#:#org_op_score_participants#:#Punteggio Partecipanti +orgu#:#org_op_view_certificates#:#Visualizza i certificati di altri utenti +orgu#:#org_op_view_competences#:#Visualizza le competenze di altri utenti +orgu#:#org_op_view_individual_plan#:#Visualizza piano individuale +orgu#:#org_op_view_members#:#Visualizza membri orgu#:#org_op_write_learning_progress#:#Imposta il progresso di apprendimento degli altri utenti orgu#:#org_unit_not_found#:#Unità organizzativa non trovata. orgu#:#orgu_add#:#Aggiungi unità organizzativa @@ -13266,16 +13272,16 @@ orgu#:#orgu_type_msg_setting_member_prevented#:#Impostazione '%s' impedita dai p orgu#:#orgu_type_msg_unable_delete#:#Non è consentito eliminare questo tipo perché è ancora assegnato alle seguenti unità organizzative: %s orgu#:#orgu_type_msg_updating_prevented#:#Aggiornamento dell’oggetto impedito dai plug-in: %s orgu#:#orgu_types#:#Tipi -orgu#:#orgunit_position_permissions_not_active_for#:#You cannot override the position specific permissions for the type: -orgu#:#ou_external_id_exists#:#A unit with the External ID already exists on this system or in trash bin. +orgu#:#orgunit_position_permissions_not_active_for#:#Non è possibile ignorare le autorizzazioni specifiche della posizione per il tipo: +orgu#:#ou_external_id_exists#:#Un'unità con l'ID esterno esiste già su questo sistema o nel cestino. orgu#:#ou_id_not_valid#:#ID di importazione non trovato. -orgu#:#ou_more_than_one_match_found#:#More then one match found.###07 02 2020 new variable -orgu#:#ou_parent_id_not_valid#:#The ou_parent_id type is not valid. Valid are: "reference_id" or "external_id". +orgu#:#ou_more_than_one_match_found#:#E' stata trovata più di una corrispondenza +orgu#:#ou_parent_id_not_valid#:#Il tipo ou_parent_id non è valido. I validi sono: "reference_id" o "external_id". orgu#:#over#:#Oltre orgu#:#over_-1#:#Tutte orgu#:#placeholder#:#... orgu#:#positions#:#Posizioni -orgu#:#rec_staff#:#Employees %s recursivly +orgu#:#rec_staff#:#Dipendenti %s ricorrenti orgu#:#remove_successful#:#L’utente è stato rimosso con successo. orgu#:#remove_user#:#Rimuovi orgu#:#scope#:#In @@ -13289,24 +13295,24 @@ orgu#:#simple_xls#:#Semplice esportazione Excel orgu#:#simple_xml#:#Semplice esportazione XML orgu#:#superior#:#Superiore orgu#:#user_assignments#:#Assegnazioni utente -orgu#:#user_assignments_recursive#:#User Assignments Subtree###29 07 2022 new variable +orgu#:#user_assignments_recursive#:#User Assignments Subtree orgu#:#user_changed_successful#:#L’utente è stato modificato con successo. orgu#:#user_import_successful#:#L’importazione è terminata con successo. Assegnato: %s , Rimosso: %s. orgu#:#users_successfuly_added#:#L’utente è stato aggiunto con successo. orgu#:#view_learning_progress#:#Visualizza il progresso dell'apprendimento -orgu#:#view_learning_progress_rec#:#View Learning Progress Recursivly +orgu#:#view_learning_progress_rec#:#Visualizza il progresso dell'apprendimento in modo ricorrente pd#:#block_show_chatviewer#:#Mostra chatviewer pd#:#block_show_pdbookm#:#Mostra i segnalibri pd#:#block_show_pdcal#:#Mostra il calendario -pd#:#block_show_pdfrmpostdraft#:#Show Postings Drafts###07 02 2020 new variable +pd#:#block_show_pdfrmpostdraft#:#Mostra bozze pd#:#block_show_pdmail#:#Mostra le mail pd#:#block_show_pdnews#:#Mostra le news pd#:#block_show_pdnotes#:#Mostra le note pd#:#block_show_pdportf#:#Mostra portfolio pd#:#block_show_pdtag#:#Mostra i tag -pd#:#block_show_pdtasks#:#Show Tasks###07 02 2020 new variable +pd#:#block_show_pdtasks#:#Show Tasks pd#:#block_show_x#:#Mostra %s -pd#:#pd_achievements#:#Achievements +pd#:#pd_achievements#:#Risultati pd#:#pd_bookmarks#:#Segnalibri pd#:#pd_download_last_export_file#:#Scarica l'ultimo file esportato pd#:#pd_enable_comments#:#Abilita i commenti @@ -13317,13 +13323,13 @@ pd#:#pd_ended#:#Concluso pd#:#pd_export_profile#:#Esporta i dati personali pd#:#pd_import_personal_data#:#Importa i dati personali pd#:#pd_my_memberships_sort_default#:#Default dell’opzione ordina -pd#:#pd_no_items_to_manage#:#No items available for removal.###26 08 2024 new variable -pd#:#pd_not_dated#:#Not Dated###26 08 2024 new variable +pd#:#pd_no_items_to_manage#:#No items available for removal.###30 04 2024 new variable +pd#:#pd_not_dated#:#Not Dated###30 04 2024 new variable pd#:#pd_ongoing#:#Costante pd#:#pd_personal_items_default_view#:#Vista di default pd#:#pd_personal_items_default_view_info#:#Scegli la vista preferita degli oggetti personali. -pd#:#pd_presentation_mode_list#:#Item List Presentation###07 02 2020 new variable -pd#:#pd_presentation_mode_tile#:#Tile Presentation###07 02 2020 new variable +pd#:#pd_presentation_mode_list#:#Presentazione dell'elenco degli articoli +pd#:#pd_presentation_mode_tile#:#Presentazione delle tessere pd#:#pd_private_calendars#:#Calendario privato pd#:#pd_profile_data#:#Dati personali pd#:#pd_remove_multi_confirm#:#Gli oggetti sono stati rimossi. @@ -13339,26 +13345,26 @@ poll#:#poll_activation_online_info#:#Se selezionato rendera' possibile agli uten poll#:#poll_add#:#Aggiungi sondaggio poll#:#poll_anonymous_warning#:#Il tuo nome non è visibile nel gruppo di risultati. poll#:#poll_answer#:#Risposta -poll#:#poll_answer_selected_alt_text#:#Selected###26 08 2024 new variable +poll#:#poll_answer_selected_alt_text#:#Selected###17 01 2024 new variable poll#:#poll_answers#:#Risposte possibili poll#:#poll_barchart#:#Diagramma a barre poll#:#poll_block_message_already_voted#:#Hai già votato in questo sondaggio poll#:#poll_block_message_no_answers#:#Questo sondaggio non è completo poll#:#poll_block_results_available_on#:#I risultati saranno disponibili il %s. -poll#:#poll_cannot_set_online_no_answers#:#The status cannot be changed to "online" because this poll has no question!###26 08 2024 new variable -poll#:#poll_chart_votes#:#Votes###28 10 2024 new variable +poll#:#poll_cannot_set_online_no_answers#:#The status cannot be changed to "online" because this poll has no question!###30 04 2024 new variable +poll#:#poll_chart_votes#:#Votes###28 11 2025 new variable poll#:#poll_comments#:#Commenti poll#:#poll_copy#:#Copia sondaggio poll#:#poll_delete_votes#:#Cancella tutte le votazioni poll#:#poll_delete_votes_sure#:#Sei sicureo di voler cancellare tutte le votazioni? poll#:#poll_edit#:#Modifica sondaggio -poll#:#poll_edit_question#:#Edit Question###26 08 2024 new variable +poll#:#poll_edit_question#:#Edit Question###30 04 2024 new variable poll#:#poll_image#:#Immagine poll#:#poll_import#:#Importa gruppo -poll#:#poll_limit_not_below_answer_count#:#The answer limit must be below the number of possible answers.###26 08 2024 new variable -poll#:#poll_limit_number_of_answers#:#Limit Number of Answers per Participant###26 08 2024 new variable +poll#:#poll_limit_not_below_answer_count#:#The answer limit must be below the number of possible answers.###30 04 2024 new variable +poll#:#poll_limit_number_of_answers#:#Limit Number of Answers per Participant###30 04 2024 new variable poll#:#poll_max_number_of_answers#:#Numero massimo di risposte per partecipante -poll#:#poll_max_number_of_answers_info#:#You may choose up to %s answers.###26 08 2024 new variable +poll#:#poll_max_number_of_answers_info#:#You may choose up to %s answers.###30 04 2024 new variable poll#:#poll_mode#:#Modalità poll#:#poll_mode_anonymous#:#Anonimo poll#:#poll_mode_anonymous_info#:#I voti non possono essere ricondotti ai partecipanti. @@ -13366,15 +13372,15 @@ poll#:#poll_mode_personal#:#Personale poll#:#poll_mode_personal_info#:#Un elenco dei partecipanti con i rispettivi voti è disponibile quando si dispone di un permesso sufficiente. poll#:#poll_new#:#Aggiungi nuovo sondaggio poll#:#poll_non_anonymous_warning#:#Il tuo nome e il tuo voto sono visibili agli amministratori nei risultati. -poll#:#poll_notification_activated#:#Notification Activated###26 08 2024 new variable -poll#:#poll_notification_deactivated#:#Notification Deactivated###26 08 2024 new variable +poll#:#poll_notification_activated#:#Notification Activated###30 04 2024 new variable +poll#:#poll_notification_deactivated#:#Notification Deactivated###30 04 2024 new variable poll#:#poll_notification_subscribe#:#Attiva notifica poll#:#poll_notification_unsubscribe#:#Disattiva notifica poll#:#poll_percentage#:#Percentuale corrente -poll#:#poll_population#:#%s voti -poll#:#poll_population_singular#:#1 Participant###26 08 2024 new variable +poll#:#poll_population#:#%s partecipanti +poll#:#poll_population_singular#:#1 Participant###30 04 2024 new variable poll#:#poll_question#:#Domanda -poll#:#poll_result#:#Voting Result +poll#:#poll_result#:#Risultati della votazione poll#:#poll_result_answers#:#Voti poll#:#poll_result_sorting#:#Ordinamento poll#:#poll_result_sorting_answers#:#Nell’ordine delle risposte @@ -13382,7 +13388,7 @@ poll#:#poll_result_sorting_votes#:#Per numero di voti (decrescente) poll#:#poll_result_users#:#Partecipanti poll#:#poll_show_results_as#:#Mostra risultati come poll#:#poll_sortorder#:#Ordinamento -poll#:#poll_stacked_chart#:#Stacked Chart###28 10 2024 new variable +poll#:#poll_stacked_chart#:#Stacked Chart###28 11 2025 new variable poll#:#poll_view_results#:#Mostra i rislutati poll#:#poll_view_results_after_period#:#Periodo post voto poll#:#poll_view_results_after_period_impossible#:#Il periodo di votazione non è limitato. @@ -13391,275 +13397,275 @@ poll#:#poll_view_results_always#:#Sempre poll#:#poll_view_results_never#:#Mai poll#:#poll_vote#:#Vota poll#:#poll_vote_error_multi#:#Si preda di non selezionare più di %s risposte. -poll#:#poll_vote_error_multi_no_answer#:#Please select at least 1 answer.###26 08 2024 new variable +poll#:#poll_vote_error_multi_no_answer#:#Please select at least 1 answer.###30 04 2024 new variable poll#:#poll_vote_error_single#:#Si prega di selezionare 1 risposta. poll#:#poll_vote_notification_body#:#il seguente sondaggio ha ricevuto un voto. poll#:#poll_vote_notification_link#:#Collega al sondaggio -poll#:#poll_vote_notification_reason#:#You are receiving this email because you activated notifications for the poll mentioned above. +poll#:#poll_vote_notification_reason#:#Stai ricevendo questa e-mail perché hai attivato le notifiche per il sondaggio sopra menzionato. poll#:#poll_vote_notification_subject#:#Sondaggio "%s": nuovo voto poll#:#poll_votes_no_edit#:#Questo sondaggio contiene già delle voci. Non potra' essere modificato finche' le voci non saranno cancellate. poll#:#poll_voting_period_and_results#:#Periodo di voto e risultati -poll#:#poll_voting_period_ended_info#:#The voting period ended %s.###26 08 2024 new variable +poll#:#poll_voting_period_ended_info#:#The voting period ended %s.###30 04 2024 new variable poll#:#poll_voting_period_full_info#:#Periodo di votazione da %s a %s poll#:#poll_voting_period_info#:#Scadenza per la votazione: %s poll#:#poll_voting_period_limited#:#Limitato -prg#:#access_ctr_by_orgu_position#:#Access control according to Organisational Unit Positions###07 02 2020 new variable -prg#:#active_only#:#active users only###26 08 2024 new variable -prg#:#add_automembership_source#:#Add Source###07 02 2020 new variable -prg#:#add_category#:#Add Category###07 02 2020 new variable -prg#:#assignment_date#:#Assignment Date###07 02 2020 new variable -prg#:#assignments#:#Assignments###29 07 2022 new variable -prg#:#auto_add_success#:#Add automatism successfully.###29 07 2022 new variable -prg#:#auto_membership_description#:#Rules are only executed when a criterion gets fulfilled after activation of the rule. Deleting rules will not remove assignments if any other active criterion is fulfilled by that time.###29 07 2022 new variable -prg#:#auto_membership_src_type#:#Type###07 02 2020 new variable -prg#:#auto_membership_title#:#Sources for Membership Automation###07 02 2020 new variable -prg#:#auto_memberships#:#Membership Automation###07 02 2020 new variable -prg#:#category#:#Category###07 02 2020 new variable -prg#:#cert_relevance#:#Certificate###29 10 2025 new variable -prg#:#completion_date#:#Completion Date###07 02 2020 new variable -prg#:#confirm_to_remove_selected_assignments#:#Do you really want to remove the user assignment(s)?###29 07 2022 new variable -prg#:#cont_ed_insert_prgactionnote#:#Insert Study Programme Action Note###26 08 2024 new variable -prg#:#cont_ed_insert_prgstatusinfo#:#Insert Study Programme Status Information###26 08 2024 new variable -prg#:#content_automation#:#Content Automation###07 02 2020 new variable -prg#:#content_automation_title#:#Automatically add and remove Courses from these categories###07 02 2020 new variable -prg#:#could_not_add_users_no_permissons#:#Could not assign %d Users due to lacking permissions.###07 02 2020 new variable -prg#:#crs_affiliation_to_prg#:#Affiliation to study programmes###26 08 2024 new variable -prg#:#deadline#:#Deadline###26 08 2024 new variable -prg#:#deadline_information#:#Information regarding processing period###07 02 2020 new variable -prg#:#deadline_updated#:#Updated deadline###29 07 2022 new variable -prg#:#edit_participants#:#Edit Members###07 02 2020 new variable -prg#:#error_updating_deadline#:#Error during updating deadline.###07 02 2020 new variable -prg#:#error_updating_expire_date#:#Error during updating expire date.###07 02 2020 new variable -prg#:#export_memberships#:#Export Assignments###26 08 2024 new variable -prg#:#foreign_assignment#:#not top node###26 08 2024 new variable +prg#:#access_ctr_by_orgu_position#:#Controllo dell'accesso secondo le posizioni dell'unità organizzativa +prg#:#active_only#:#active users only###31 03 2023 new variable +prg#:#add_automembership_source#:#Aggiungi fonte +prg#:#add_category#:#Aggiungi categoria +prg#:#assignment_date#:#Assegna data +prg#:#assignments#:#Assignments###09 03 2022 new variable +prg#:#auto_add_success#:#Aggiunta automatismo effettuata con successo. +prg#:#auto_membership_description#:#Rules are only executed when a criterion gets fulfilled after activation of the rule. Deleting rules will not remove assignments if any other active criterion is fulfilled by that time.###09 03 2022 new variable +prg#:#auto_membership_src_type#:#Tipo +prg#:#auto_membership_title#:#Fonte di automazione dell'iscrizione +prg#:#auto_memberships#:#Automazione dell'iscrizione +prg#:#category#:#Categoria +prg#:#cert_relevance#:#Certificate###08 07 2025 new variable +prg#:#completion_date#:#Data di completamento +prg#:#confirm_to_remove_selected_assignments#:#Do you really want to remove the user assignment(s)?###09 03 2022 new variable +prg#:#cont_ed_insert_prgactionnote#:#Insert Study Programme Action Note###30 04 2024 new variable +prg#:#cont_ed_insert_prgstatusinfo#:#Insert Study Programme Status Information###30 04 2024 new variable +prg#:#content_automation#:#Automazione del contenuto +prg#:#content_automation_title#:#Aggiungi e rimuovi automaticamente i corsi da queste categorie +prg#:#could_not_add_users_no_permissons#:#Non è stato possibile assegnare %d utenti a causa della mancanza di permessi +prg#:#crs_affiliation_to_prg#:#Affiliation to study programmes###31 03 2023 new variable +prg#:#deadline#:#Deadline###30 04 2024 new variable +prg#:#deadline_information#:#Informazioni sul periodo di fruizione +prg#:#deadline_updated#:#Updated deadline###09 03 2022 new variable +prg#:#edit_participants#:#Modifica membri +prg#:#error_updating_deadline#:#Errore durante l'aggiornamento della scadenza. +prg#:#error_updating_expire_date#:#Errore durante l'aggiornamento della data di scadenza. +prg#:#export_memberships#:#Export Assignments###30 04 2024 new variable +prg#:#foreign_assignment#:#not top node###30 04 2024 new variable prg#:#form_msg_file_wrong_file_type#:#Tipi di file sbagliati. -prg#:#header_remove_certificate#:#Do you really want to remove the certificate for the selected Users?###26 08 2024 new variable -prg#:#header_update_certificate#:#Do you really want to update the certificate?###26 08 2024 new variable -prg#:#header_update_current_plan#:#Do you really want to reset all individual settings for the selected assignments?###26 08 2024 new variable -prg#:#inactive_only#:#inactive users only###26 08 2024 new variable -prg#:#info_to_re_assign_mail_body#:#%s %s,

The validity of their participation in the study programm '% s' expires soon. Please sign in again.###07 02 2020 new variable -prg#:#info_to_re_assign_mail_subject#:#Reminder of renewed participation in the study programm###07 02 2020 new variable -prg#:#invalidated#:#validity###26 08 2024 new variable -prg#:#label_crs#:#Course Name###07 02 2020 new variable -prg#:#label_grp#:#Group Name###07 02 2020 new variable -prg#:#label_role#:#Role Name###07 02 2020 new variable -prg#:#last_edited#:#Last edited###07 02 2020 new variable -prg#:#last_edited_by#:#Last Editor###07 02 2020 new variable -prg#:#mail_assignments#:#Mail to assigned Users###29 07 2022 new variable -prg#:#mails_foreign_assignment_failed#:#Selected assignments are not in current context. Mails should be sent from Study Programme's top node.###26 08 2024 new variable -prg#:#manage_assignments#:#Manage Assignments###29 07 2022 new variable -prg#:#membership_source_id#:#Id###07 02 2020 new variable -prg#:#membership_source_id_byline_objid#:#Please use the object-id###07 02 2020 new variable -prg#:#membership_source_id_byline_refid#:#Please use the reference-id###07 02 2020 new variable -prg#:#membership_source_type#:#Source###07 02 2020 new variable -prg#:#modal_automembership_title#:#Automatismus hinzufügen###07 02 2020 new variable -prg#:#modal_categories_title#:#Category to be monitored###07 02 2020 new variable -prg#:#modal_member_auto_select_title#:#Select Source for auto assignment###07 02 2020 new variable -prg#:#msg_acknowledge_courses#:#Completed Courses have been acknowledged.###26 08 2024 new variable -prg#:#msg_change_deadline_date#:#Updated deadline for %s users.###29 07 2022 new variable -prg#:#msg_change_deadline_date_failed#:#Deadline not updated for:###29 07 2022 new variable -prg#:#msg_change_expire_date#:#Updated expire date for %s users.###29 07 2022 new variable -prg#:#msg_change_expire_date_failed#:#Expire date not updated for:###29 07 2022 new variable -prg#:#msg_fill_required#:#Please fill all required fields.###29 07 2022 new variable -prg#:#msg_impossible_target_status#:#Impossible target status###29 07 2022 new variable -prg#:#msg_mark_accredited#:#%s users successfully marked accredited###29 07 2022 new variable -prg#:#msg_mark_accredited_failed#:#Not marked accredited:###29 07 2022 new variable -prg#:#msg_mark_not_relevant#:#%s users successfully unmarked relevant###29 07 2022 new variable -prg#:#msg_mark_not_relevant_failed#:#Not unmarked relevant:###29 07 2022 new variable -prg#:#msg_mark_relevant#:#%s users successfully marked relevant###29 07 2022 new variable -prg#:#msg_mark_relevant_failed#:#Not marked marked relevant:###29 07 2022 new variable -prg#:#msg_points_must_be_positive#:#Only positive numbers are allowed.###29 07 2022 new variable -prg#:#msg_unmark_accredited#:#Unmarked %s users accredited.###29 07 2022 new variable -prg#:#msg_unmark_accredited_failed#:#Unmarking accredited not successful for:###29 07 2022 new variable -prg#:#msg_update_certificate#:#%s Certificate(s) updated.###26 08 2024 new variable -prg#:#msg_update_certificate_failed#:#Certificate(s) not updated:###26 08 2024 new variable -prg#:#msg_update_from_settings#:#Updated %s users from settings:###29 07 2022 new variable -prg#:#msg_update_from_settings_failed#:#Updated from settings failed:###29 07 2022 new variable -prg#:#msg_update_individual_plan#:#Individual plan: %s successfully updated.###29 07 2022 new variable -prg#:#msg_update_individual_plan_failed#:#Update of individual plan failed###29 07 2022 new variable -prg#:#no_permission_to_update_certificate#:#You have no permission to update certificates.###26 08 2024 new variable -prg#:#no_srctype_or_id#:#Id and type may not be empty.###29 07 2022 new variable -prg#:#not_a_valid_cat_id#:#%s is not a valid ref-id of a category.###07 02 2020 new variable -prg#:#obj_prg_select#:#-- Please select a study programme --###26 08 2024 new variable -prg#:#optgrp_label_restart#:#Restart###26 08 2024 new variable -prg#:#optgrp_label_validity#:#Expiry###26 08 2024 new variable -prg#:#orgu#:#Organisational Unit###07 02 2020 new variable -prg#:#pc_prg_action_note_label#:#Required Actions Study Programme###26 08 2024 new variable -prg#:#pc_prg_statusinfo_label#:#Statusinformation Study Programme###26 08 2024 new variable -prg#:#pc_prgactionnote_complete_content#:#You are assigned to the Study Programme, but have not completed its content. Please complete the content.###26 08 2024 new variable -prg#:#pc_prgactionnote_complete_content_with_deadline#:#You are assigned to the Study Programme, but have not completed its content. Please complete the content until###26 08 2024 new variable -prg#:#pc_prgactionnote_headline#:#Required actions###26 08 2024 new variable -prg#:#pc_prgactionnote_no_actions_required#:#No actions required.###26 08 2024 new variable -prg#:#pc_prgstatus_edit_qualification#:#Re-processing required from###26 08 2024 new variable -prg#:#pc_prgstatus_expiration_date#:#Expiry date###26 08 2024 new variable -prg#:#pc_prgstatus_qualification_headline#:#Status of your qualification###26 08 2024 new variable -prg#:#pc_prgstatus_status_no_qualification#:#No qualification###26 08 2024 new variable -prg#:#pc_prgstatus_status_valid_qualification#:#Valid###26 08 2024 new variable -prg#:#pc_prgstatus_text_no_qualification#:#Your qualification is not valid###26 08 2024 new variable -prg#:#pc_prgstatus_unlimited_validation#:#Unlimited validity###26 08 2024 new variable -prg#:#percentage#:#%###07 02 2020 new variable -prg#:#prg_access_by_orgu#:#Access Control by Organisation Unit Positions###29 07 2022 new variable -prg#:#prg_access_by_orgu_byline#:#If enabled, additional access control rules can be defined by positions in organisational units.###29 07 2022 new variable -prg#:#prg_acknowledge_all_completed_courses#:#Acknowledge All Completed Courses###29 10 2025 new variable +prg#:#header_remove_certificate#:#Do you really want to remove the certificate for the selected Users?###30 04 2024 new variable +prg#:#header_update_certificate#:#Do you really want to update the certificate?###30 04 2024 new variable +prg#:#header_update_current_plan#:#Do you really want to reset all individual settings for the selected assignments?###31 03 2023 new variable +prg#:#inactive_only#:#inactive users only###31 03 2023 new variable +prg#:#info_to_re_assign_mail_body#:#%s %s,

La validità della tua partecipazione al programma di studio '%' scadrà presto. Per favore, accedi di nuovo. +prg#:#info_to_re_assign_mail_subject#:#Promemoria della rinnovata partecipazione al programma di studio +prg#:#invalidated#:#validity###31 03 2023 new variable +prg#:#label_crs#:#Nome del corso +prg#:#label_grp#:#Nome del gruppo +prg#:#label_role#:#Nome del ruolo +prg#:#last_edited#:#Ultima modifica +prg#:#last_edited_by#:#Ultimo redattore +prg#:#mail_assignments#:#Mail to assigned Users###09 03 2022 new variable +prg#:#mails_foreign_assignment_failed#:#Selected assignments are not in current context. Mails should be sent from Study Programme's top node.###30 04 2024 new variable +prg#:#manage_assignments#:#Manage Assignments###09 03 2022 new variable +prg#:#membership_source_id#:#Id +prg#:#membership_source_id_byline_objid#:#Per favore utilizza object-id +prg#:#membership_source_id_byline_refid#:#Per favore utilizza reference-id +prg#:#membership_source_type#:#Fonte +prg#:#modal_automembership_title#:#Aggiungere l'automatismo +prg#:#modal_categories_title#:#Categoria da monitorare +prg#:#modal_member_auto_select_title#:#Seleziona la fonte per l'assegnazione automatica +prg#:#msg_acknowledge_courses#:#Completed Courses have been acknowledged.###30 04 2024 new variable +prg#:#msg_change_deadline_date#:#Updated deadline for %s users.###09 03 2022 new variable +prg#:#msg_change_deadline_date_failed#:#Deadline not updated for:###09 03 2022 new variable +prg#:#msg_change_expire_date#:#Updated expire date for %s users.###09 03 2022 new variable +prg#:#msg_change_expire_date_failed#:#Expire date not updated for:###09 03 2022 new variable +prg#:#msg_fill_required#:#Si prega di compilare tutti i campi richiesti. +prg#:#msg_impossible_target_status#:#Impossible target status###09 03 2022 new variable +prg#:#msg_mark_accredited#:#%s users successfully marked accredited###09 03 2022 new variable +prg#:#msg_mark_accredited_failed#:#Not marked accredited:###09 03 2022 new variable +prg#:#msg_mark_not_relevant#:#%s users successfully unmarked relevant###09 03 2022 new variable +prg#:#msg_mark_not_relevant_failed#:#Not unmarked relevant:###09 03 2022 new variable +prg#:#msg_mark_relevant#:#%s users successfully marked relevant###09 03 2022 new variable +prg#:#msg_mark_relevant_failed#:#Not marked marked relevant:###09 03 2022 new variable +prg#:#msg_points_must_be_positive#:#Only positive numbers are allowed.###09 03 2022 new variable +prg#:#msg_unmark_accredited#:#Unmarked %s users accredited.###09 03 2022 new variable +prg#:#msg_unmark_accredited_failed#:#Unmarking accredited not successful for:###09 03 2022 new variable +prg#:#msg_update_certificate#:#%s Certificate(s) updated.###30 04 2024 new variable +prg#:#msg_update_certificate_failed#:#Certificate(s) not updated:###30 04 2024 new variable +prg#:#msg_update_from_settings#:#Updated %s users from settings:###09 03 2022 new variable +prg#:#msg_update_from_settings_failed#:#Updated from settings failed:###09 03 2022 new variable +prg#:#msg_update_individual_plan#:#Successfully updated individual plan (%)###09 03 2022 new variable +prg#:#msg_update_individual_plan_failed#:#Update of individual plan failed###09 03 2022 new variable +prg#:#no_permission_to_update_certificate#:#You have no permission to update certificates.###30 04 2024 new variable +prg#:#no_srctype_or_id#:#Id e tipo non possono essere vuoti +prg#:#not_a_valid_cat_id#:#%s non è un ref-id valido di una categoria. +prg#:#obj_prg_select#:#-- Please select a study programme --###31 03 2023 new variable +prg#:#optgrp_label_restart#:#Restart###31 03 2023 new variable +prg#:#optgrp_label_validity#:#Expiry###31 03 2023 new variable +prg#:#orgu#:#Unità organizzative +prg#:#pc_prg_action_note_label#:#Required Actions Study Programme###30 04 2024 new variable +prg#:#pc_prg_statusinfo_label#:#Statusinformation Study Programme###30 04 2024 new variable +prg#:#pc_prgactionnote_complete_content#:#You are assigned to the Study Programme, but have not completed its content. Please complete the content.###30 04 2024 new variable +prg#:#pc_prgactionnote_complete_content_with_deadline#:#You are assigned to the Study Programme, but have not completed its content. Please complete the content until###30 04 2024 new variable +prg#:#pc_prgactionnote_headline#:#Required actions###30 04 2024 new variable +prg#:#pc_prgactionnote_no_actions_required#:#No actions required.###30 04 2024 new variable +prg#:#pc_prgstatus_edit_qualification#:#Re-processing required from###30 04 2024 new variable +prg#:#pc_prgstatus_expiration_date#:#Expiry date###30 04 2024 new variable +prg#:#pc_prgstatus_qualification_headline#:#Status of your qualification###30 04 2024 new variable +prg#:#pc_prgstatus_status_no_qualification#:#No qualification###30 04 2024 new variable +prg#:#pc_prgstatus_status_valid_qualification#:#Valid###30 04 2024 new variable +prg#:#pc_prgstatus_text_no_qualification#:#Your qualification is not valid###30 04 2024 new variable +prg#:#pc_prgstatus_unlimited_validation#:#Unlimited validity###30 04 2024 new variable +prg#:#percentage#:#% +prg#:#prg_access_by_orgu#:#Controllo dell'accesso per posizioni dell'unità organizzativa +prg#:#prg_access_by_orgu_byline#:#Se abilitato, è possibile definire ulteriori regole di controllo dell'accesso per posizioni in unità organizzative. +prg#:#prg_acknowledge_all_completed_courses#:#Acknowledge All Completed Courses###10 12 2024 new variable prg#:#prg_acknowledge_completed_courses#:#Conferma corsi completati prg#:#prg_add#:#Aggiungi programma di studio -prg#:#prg_added_course_ref_successful#:#New course-reference was added successfully +prg#:#prg_added_course_ref_successful#:#Il nuovo corso di riferimento è stato aggiunto con successo prg#:#prg_added_member#:#Il nuovo membro è stato aggiunto con successo. prg#:#prg_added_members#:#I nuovi membri sono stati aggiunti con successo. -prg#:#prg_additional_settings#:#Additional Features###29 07 2022 new variable +prg#:#prg_additional_settings#:#Caratteristiche aggiuntive prg#:#prg_assessment#:#Stima programma di studio prg#:#prg_assign_date#:#Data di assegnazione prg#:#prg_assigned_by#:#Assegnato da prg#:#prg_async_create#:#Aggiungi nuovo albero figlio prg#:#prg_async_settings#:#Impostazioni -prg#:#prg_auto_member_select_crs#:#Courses###07 02 2020 new variable -prg#:#prg_auto_member_select_grp#:#Groups###07 02 2020 new variable -prg#:#prg_auto_member_select_role#:#Roles###07 02 2020 new variable -prg#:#prg_autoassignment#:#(auto)###07 02 2020 new variable -prg#:#prg_availability_action_not_allowed#:#Cannot set Availability Period on Study Programmes.###28 10 2024 new variable +prg#:#prg_auto_member_select_crs#:#Corsi +prg#:#prg_auto_member_select_grp#:#Gruppi +prg#:#prg_auto_member_select_role#:#Ruoli +prg#:#prg_autoassignment#:#(auto) +prg#:#prg_availability_action_not_allowed#:#Cannot set Availability Period on Study Programmes.###28 11 2025 new variable prg#:#prg_belongs_to#:#Appartiene a prg#:#prg_can_not_manage_in_repo#:#Non puoi gestire il programma di studio a causa delle assegnazioni dell’utente. -prg#:#prg_cancel#:#Cancel###29 07 2022 new variable -prg#:#prg_cancel_acknowledge_completed_courses#:#Don't acknowledge any Courses###26 08 2024 new variable +prg#:#prg_cancel#:#Cancella +prg#:#prg_cancel_acknowledge_completed_courses#:#Don't acknowledge any Courses###30 04 2024 new variable prg#:#prg_cancel_tree_order#:#Ignora ordine albero -prg#:#prg_change_deadline#:#Change deadline###26 08 2024 new variable -prg#:#prg_change_expire_date#:#Change expire date###26 08 2024 new variable +prg#:#prg_change_deadline#:#Change deadline###28 07 2023 new variable +prg#:#prg_change_expire_date#:#Change expire date###28 07 2023 new variable prg#:#prg_changed_by#:#Modificato da prg#:#prg_completion_by#:#Completamento da -prg#:#prg_completion_date#:#Completion date###07 02 2020 new variable -prg#:#prg_confirm_delete#:#Delete###29 07 2022 new variable -prg#:#prg_copy_threads_info#:#Please decide which Study Programme elements are to be copied, linked or omitted.###26 08 2024 new variable +prg#:#prg_completion_date#:#Data di completamento +prg#:#prg_confirm_delete#:#Elimina +prg#:#prg_copy_threads_info#:#Please decide which Study Programme elements are to be copied, linked or omitted.###31 03 2023 new variable prg#:#prg_create_new_leaf#:#Crea nuovo foglio prg#:#prg_create_new_node#:#Crea nuovo nodo -prg#:#prg_cron_job_configuration#:#Configuration automatic Mails###07 02 2020 new variable +prg#:#prg_cron_job_configuration#:#Configurazione delle mail automatiche prg#:#prg_custom_plan#:#Piano personalizzato -prg#:#prg_cut_action_not_allowed#:#Cannot move Study Programmes###28 10 2024 new variable -prg#:#prg_dash_label_finish_until#:#Finish until###07 02 2020 new variable -prg#:#prg_dash_label_gain#:#Current Completion###07 02 2020 new variable -prg#:#prg_dash_label_minimum#:#Minimum Completion###07 02 2020 new variable -prg#:#prg_dash_label_restart_from#:#Restart from###07 02 2020 new variable -prg#:#prg_dash_label_status#:#Status###07 02 2020 new variable -prg#:#prg_dash_label_unreachable#:#- cannot be achieved###26 08 2024 new variable -prg#:#prg_dash_label_valid#:#Valid###07 02 2020 new variable +prg#:#prg_cut_action_not_allowed#:#Cannot move Study Programmes###28 11 2025 new variable +prg#:#prg_dash_label_finish_until#:#Completamento entro: +prg#:#prg_dash_label_gain#:#Completamento attuale: +prg#:#prg_dash_label_minimum#:#Completamento minimo: +prg#:#prg_dash_label_restart_from#:#Riavviare da: +prg#:#prg_dash_label_status#:#Stato: +prg#:#prg_dash_label_unreachable#:#- cannot be achieved###31 03 2023 new variable +prg#:#prg_dash_label_valid#:#Validità: prg#:#prg_deadline#:#Scadenza -prg#:#prg_deadline_date#:#Processing time expires at fixed date###07 02 2020 new variable -prg#:#prg_deadline_date_desc#:#The programme must be finished until a given date.###07 02 2020 new variable -prg#:#prg_deadline_date_label#:#Process until###26 08 2024 new variable -prg#:#prg_deadline_period#:#Processing time is determined inividually###07 02 2020 new variable -prg#:#prg_deadline_period_desc#:#The programme must be finished within a given timespan.###07 02 2020 new variable -prg#:#prg_deadline_period_label#:#Days after assignment###26 08 2024 new variable -prg#:#prg_deadline_settings#:#Processing Period###07 02 2020 new variable -prg#:#prg_delete_confirmation#:#Do you really want to delete the selected entries?###29 07 2022 new variable -prg#:#prg_delete_failure#:#Delete failed.###29 07 2022 new variable -prg#:#prg_delete_nothing_selected#:#Please select at least one entry to delete.###29 07 2022 new variable -prg#:#prg_delete_single_confirmation#:#Do you really want to delete the selected entry?###29 07 2022 new variable -prg#:#prg_delete_single_success#:#Successfuly delete entry.###29 07 2022 new variable -prg#:#prg_delete_success#:#Successfuly delete entries.###29 07 2022 new variable +prg#:#prg_deadline_date#:#Il tempo di fruizione scade alla data stabilita +prg#:#prg_deadline_date_desc#:#Il programma deve essere terminato entro una certa data. +prg#:#prg_deadline_date_label#:#Process until###31 03 2023 new variable +prg#:#prg_deadline_period#:#Il tempo di fruizione è determinato individualmente +prg#:#prg_deadline_period_desc#:#Il programma deve essere terminato entro un determinato periodo di tempo. +prg#:#prg_deadline_period_label#:#Days after assignment###31 03 2023 new variable +prg#:#prg_deadline_settings#:#Periodo di fruizione +prg#:#prg_delete_confirmation#:#Vuoi davvero cancellare le voci selezionate? +prg#:#prg_delete_failure#:#Eliminazione fallita. +prg#:#prg_delete_nothing_selected#:#Seleziona almeno una voce da cancellare. +prg#:#prg_delete_single_confirmation#:#Vuoi davvero cancellare la voce selezionata? +prg#:#prg_delete_single_success#:#La voce è stata eliminata con successo. +prg#:#prg_delete_success#:#Elimina con successo le voci. prg#:#prg_deleted_safely#:#Il nodo è stato eliminato in modo sicuro -prg#:#prg_description#:#Description###29 07 2022 new variable +prg#:#prg_description#:#Descrizione prg#:#prg_edit#:#Modifica programma di studio -prg#:#prg_expiry_date#:#Expiry date###07 02 2020 new variable -prg#:#prg_formatted_period#:#%d days###07 02 2020 new variable -prg#:#prg_import_action_not_allowed#:#Cannot import into Study Programmes.###28 10 2024 new variable -prg#:#prg_invalidate_expired_progresses_desc#:#Marks expired progresses at Studyprogrammes as 'not passed'###07 02 2020 new variable -prg#:#prg_invalidate_expired_progresses_title#:#Limited validity of Studyprogramme progress###07 02 2020 new variable -prg#:#prg_link#:#Link###29 07 2022 new variable -prg#:#prg_mail_context_info#:#For the participant e-mails on the member and learning progress screens of a study programme###29 07 2022 new variable -prg#:#prg_mail_context_title#:#Study Programme: Mail to Members###29 07 2022 new variable -prg#:#prg_mail_permanent_link#:#Click on the following link to find all of the information you need regarding the study programm:###07 02 2020 new variable +prg#:#prg_expiry_date#:#Data di scadenza +prg#:#prg_formatted_period#:#%d giorni +prg#:#prg_import_action_not_allowed#:#Cannot import into Study Programmes.###28 11 2025 new variable +prg#:#prg_invalidate_expired_progresses_desc#:#Segna i progressi scaduti nel programma di studi come 'non superato'. +prg#:#prg_invalidate_expired_progresses_title#:#Validità limitata dei progressi del programma di studio +prg#:#prg_link#:#Link +prg#:#prg_mail_context_info#:#Per i partecipanti, le e-mail nelle schermate dei membri e dei progressi di apprendimento di un programma di studio +prg#:#prg_mail_context_title#:#Programma di studio: Mail ai membri +prg#:#prg_mail_permanent_link#:#Clicca sul seguente link per trovare tutte le informazioni necessarie sul programma di studio: prg#:#prg_manage#:#Gestisci -prg#:#prg_manage_members#:#Manage Enrolments of Study Programme###26 08 2024 new variable -prg#:#prg_manage_members_short#:#Manage Assignments###29 07 2022 new variable +prg#:#prg_manage_members#:#Manage Enrolments of Study Programme###31 03 2023 new variable +prg#:#prg_manage_members_short#:#Manage Assignments###09 03 2022 new variable prg#:#prg_manual_status#:#Stato manuale prg#:#prg_mark_accredited#:#Segna accreditato prg#:#prg_mark_accredited_multi_success#:#Segna utenti selezionati come accreditati prg#:#prg_mark_accredited_success#:#Nodo programma accreditato per l'utente con successo. prg#:#prg_mark_not_relevant_multi_success#:#Deselezione utenti selezionati come pertinenti -prg#:#prg_mark_relevant#:#Mark Relevant###26 08 2024 new variable +prg#:#prg_mark_relevant#:#Mark Relevant###28 07 2023 new variable prg#:#prg_mark_relevant_multi_success#:#Segna utenti selezionati come pertinenti prg#:#prg_more_objects_without_read_permission#:#Il programma di studio contiene più oggetti che non si possono visualizzare a causa di meno visualizzazioni. -prg#:#prg_multi_change_deadline#:#Change deadline###07 02 2020 new variable -prg#:#prg_multi_change_expire_date#:#Change expire date###07 02 2020 new variable -prg#:#prg_multi_mail_user#:#Send Mail###26 08 2024 new variable +prg#:#prg_multi_change_deadline#:#Modifica la data di scadenza +prg#:#prg_multi_change_expire_date#:#Modifica la data di scadenza +prg#:#prg_multi_mail_user#:#Send Mail###31 03 2023 new variable prg#:#prg_multi_mark_accredited#:#Accreditato prg#:#prg_multi_mark_relevant#:#Segna pertinente -prg#:#prg_multi_remove_certificate#:#Remove Certificates###26 08 2024 new variable +prg#:#prg_multi_remove_certificate#:#Remove Certificates###30 04 2024 new variable prg#:#prg_multi_remove_user#:#Rimuovi utente prg#:#prg_multi_unmark_accredited#:#Deseleziona accreditato prg#:#prg_multi_unmark_relevant#:#Deseleziona pertinente -prg#:#prg_multi_update_certificate#:#Update Certificates###26 08 2024 new variable +prg#:#prg_multi_update_certificate#:#Update Certificates###30 04 2024 new variable prg#:#prg_multi_update_from_current_plan#:#Aggiorna dal piano attuale prg#:#prg_new#:#Nuovo programma di studio -prg#:#prg_no_deadline#:#No fixed prozessing time###07 02 2020 new variable +prg#:#prg_no_deadline#:#Scadenza non prestabilita prg#:#prg_no_members_not_active#:#Non si possono aggiungere membri poiché questo programma non è attivo. -prg#:#prg_no_permission_to_remove_certificate#:#You do not have permission to remove certificates###26 08 2024 new variable -prg#:#prg_no_restart#:#No restart required###07 02 2020 new variable +prg#:#prg_no_permission_to_remove_certificate#:#You do not have permission to remove certificates###30 04 2024 new variable +prg#:#prg_no_restart#:#Nessun riavvio richiesto prg#:#prg_no_user_selected#:#Nessun utente selezionato -prg#:#prg_no_validity_qualification#:#Long-Lasting qualification###29 07 2022 new variable +prg#:#prg_no_validity_qualification#:#Qualificazione di lunga durata prg#:#prg_not_allowed_node_to_delete#:#Non ti è permesso eliminare questo nodo -prg#:#prg_not_valid#:#not valid###07 02 2020 new variable +prg#:#prg_not_valid#:#Non valido prg#:#prg_open_node#:#Passa a questo nodo -prg#:#prg_orgus#:#Organisational Units###07 02 2020 new variable -prg#:#prg_please_select_a_course_for_creating_a_leaf#:#Please select a course for creating a course-reference leaf +prg#:#prg_orgus#:#Unità organizzative +prg#:#prg_please_select_a_course_for_creating_a_leaf#:#Seleziona un corso per creare una foglia di riferimento del corso prg#:#prg_points#:#Punti -prg#:#prg_points_byline#:#Students get a certain amount of points when they succeed in this programme and need to get this many points in subsequent programmes.###29 07 2022 new variable +prg#:#prg_points_byline#:#Gli studenti superano questo programma se ottengono un certo punteggio quando e devono ottenere questo punteggio anche nei successivi programmi. prg#:#prg_points_current#:#Punti attuali prg#:#prg_points_reachable#:#Punti ottenibili prg#:#prg_points_required#:#Punti richiesti prg#:#prg_possible#:#Possibile prg#:#prg_prg_type#:#Tipo di programma di studio -prg#:#prg_processing_ends_no_success#:#Reminder mail failing###07 02 2020 new variable -prg#:#prg_processing_ends_no_success_info#:#Reminds the user x days before the program expires that he is at risk of failing.###07 02 2020 new variable -prg#:#prg_profile_not_public#:#Profile of the user is not public.###29 07 2022 new variable +prg#:#prg_processing_ends_no_success#:#Mail di promemoria non correttamente inviata +prg#:#prg_processing_ends_no_success_info#:#Ricorda all'utente x giorni prima della scadenza del programma che il programma sta per scadere. +prg#:#prg_profile_not_public#:#Il profilo dell'utente non è pubblico. prg#:#prg_progress_info#:#Hai %1$d punti. Il programma di studio è completato con %2$d punti. prg#:#prg_progress_status#:# %1$d di %2$d Punti -prg#:#prg_progress_status_with_child_sp#:# %1$d of %2$d Points -prg#:#prg_quali_not_valid#:#Qualification not valid###07 02 2020 new variable -prg#:#prg_quali_still_valid#:#Qualification still valid###07 02 2020 new variable -prg#:#prg_remove_certificate#:#Remove Certificate###26 08 2024 new variable +prg#:#prg_progress_status_with_child_sp#:# %1$d di %2$d Punti possibili +prg#:#prg_quali_not_valid#:#Qualificazione non valida +prg#:#prg_quali_still_valid#:#Qualificazione ancora valida +prg#:#prg_remove_certificate#:#Remove Certificate###30 04 2024 new variable prg#:#prg_remove_user#:#Rimuovi utente prg#:#prg_remove_user_success#:#Utente rimosso con successo. prg#:#prg_remove_users_not_possible#:#Non è possibile rimuovere gli utenti selezionati -prg#:#prg_remove_users_partial_success#:#Assignments (partially) removed.###26 08 2024 new variable +prg#:#prg_remove_users_partial_success#:#Assignments (partially) removed.###31 03 2023 new variable prg#:#prg_remove_users_success#:#Rimuovi utenti selezionati -prg#:#prg_restart_assignments_temporal_progress_desc#:#Restart Studyprogramme assignments with progresses about to expire###07 02 2020 new variable -prg#:#prg_restart_assignments_temporal_progress_title#:#Restart Studyprogramme assignments###07 02 2020 new variable +prg#:#prg_restart_assignments_temporal_progress_desc#:#Riavviare le assegnazioni del programma di studio con progressi che stanno per scadere +prg#:#prg_restart_assignments_temporal_progress_title#:#Riavviare le assegnazioni del programma prg#:#prg_save_tree_order#:#Salva ordine albero prg#:#prg_saved_order_successful#:#Ordine salvato con successo prg#:#prg_show_individual_plan#:#Mostra piano individuale prg#:#prg_show_programmes#:#Visibilità prg#:#prg_show_programmes_on_pd_always#:#I programmi di studio sono sempre visibili nel desktop personale. prg#:#prg_show_programmes_on_pd_only_read#:#I programmi di studio sono solo visibili nel desktop personale con l’autorizzazione “di lettura”. -prg#:#prg_some_users_may_not_be_accredited#:#Partially marked users accredited.###07 02 2020 new variable -prg#:#prg_some_users_may_not_be_marked_not_relevant#:#Partially unmarked relevant.###07 02 2020 new variable -prg#:#prg_some_users_may_not_be_marked_relevant#:#Partially marked relevant.###07 02 2020 new variable -prg#:#prg_some_users_may_not_be_unmarked_accredited#:#Partially unmarked users accredited.###07 02 2020 new variable +prg#:#prg_some_users_may_not_be_accredited#:#Utenti parzialmente marcati accreditati. +prg#:#prg_some_users_may_not_be_marked_not_relevant#:#Parzialmente non segnato rilevante. +prg#:#prg_some_users_may_not_be_marked_relevant#:#Parzialmente segnato come rilevante. +prg#:#prg_some_users_may_not_be_unmarked_accredited#:#Utenti parzialmente non contrassegnati accreditati. prg#:#prg_status#:#Stato -prg#:#prg_status_1#:#In Progress###07 02 2020 new variable -prg#:#prg_status_2#:#Completed###07 02 2020 new variable -prg#:#prg_status_3#:#Accredited###07 02 2020 new variable -prg#:#prg_status_4#:#Not Relevant###07 02 2020 new variable -prg#:#prg_status_5#:#failed###07 02 2020 new variable +prg#:#prg_status_1#:#In corso +prg#:#prg_status_2#:#Completato +prg#:#prg_status_3#:#Accreditato +prg#:#prg_status_4#:#Non rilevante +prg#:#prg_status_5#:#Failed prg#:#prg_status_accredited#:#Accreditato prg#:#prg_status_active#:#Attiva -prg#:#prg_status_byline#:#Use the status to control if this programme is assigned to students.###29 07 2022 new variable +prg#:#prg_status_byline#:#Usa lo stato per controllare se questo programma è assegnato agli studenti. prg#:#prg_status_completed#:#Completato prg#:#prg_status_draft#:#Bozza prg#:#prg_status_failed#:#non riuscito -prg#:#prg_status_hide_irrelevant#:#hide irrelevant###26 08 2024 new variable +prg#:#prg_status_hide_irrelevant#:#hide irrelevant###31 03 2023 new variable prg#:#prg_status_in_progress#:#In corso prg#:#prg_status_not_relevant#:#Non pertinente -prg#:#prg_status_outdated#:#Obsolete -prg#:#prg_still_valid#:#still valid###07 02 2020 new variable +prg#:#prg_status_outdated#:#Obsoleto +prg#:#prg_still_valid#:#ancora valido prg#:#prg_subtype_add#:#Aggiungi nuovo sottotipo prg#:#prg_subtypes#:#Sottotipi -prg#:#prg_successfully_removed_certificate#:#Successfully removed certificate of selected Users###26 08 2024 new variable -prg#:#prg_title#:#Title###07 02 2020 new variable +prg#:#prg_successfully_removed_certificate#:#Successfully removed certificate of selected Users###30 04 2024 new variable +prg#:#prg_title#:#Titolo prg#:#prg_type#:#Tipo di programma di studio prg#:#prg_type_add#:#Tipo di programma di studio prg#:#prg_type_assign_amd_sets#:#Assegna serie di metadati avanzati prg#:#prg_type_available_amd_sets#:#Serie di metadati avanzati disponibile -prg#:#prg_type_byline#:#Set a type to use certain custom metadata sets or icons.###29 07 2022 new variable +prg#:#prg_type_byline#:#Imposta un tipo per utilizzare determinati set o icone di metadati personalizzati. prg#:#prg_type_custom_icon#:#Icone personalizzate prg#:#prg_type_custom_icon_info#:#Informazioni icone personalizzate prg#:#prg_type_edit#:#Modifica sottotipo @@ -13671,101 +13677,101 @@ prg#:#prg_type_msg_unable_delete#:#Non è consentito eliminare questo tipo perch prg#:#prg_unmark_accredited#:#Deseleziona accreditato prg#:#prg_unmark_accredited_multi_success#:#Deselezione utenti selezionati come accreditati prg#:#prg_unmark_accredited_success#:#Nodo programma non accreditato per l'utente con successo. -prg#:#prg_unmark_relevant#:#Unmark Relevant###26 08 2024 new variable -prg#:#prg_update_certificate#:#Update Certificate###26 08 2024 new variable +prg#:#prg_unmark_relevant#:#Unmark Relevant###28 07 2023 new variable +prg#:#prg_update_certificate#:#Update Certificate###30 04 2024 new variable prg#:#prg_update_from_current_plan#:#Aggiorna dal piano attuale prg#:#prg_update_from_current_plan_not_possible#:#Non è possibile aggiornare dal piano attuale prg#:#prg_update_from_current_plan_partitial_success#:#Aggiorna parzialmente dal piano attuale -prg#:#prg_update_from_current_plan_success#:#Aggiorna dal piano attuale -prg#:#prg_update_from_plan_successful#:#Aggiorna con successo dal piano attuale! -prg#:#prg_update_progress_description#:#Set Progress from 'In Progress' to 'failed' after crossing Deadline.###29 07 2022 new variable -prg#:#prg_update_progress_title#:#Set Progress to Failed after Deadline###29 07 2022 new variable +prg#:#prg_update_from_current_plan_success#:#Aggiornato dal piano attuale +prg#:#prg_update_from_plan_successful#:#Aggiornato con successo dal piano attuale! +prg#:#prg_update_progress_description#:#Impostare l'avanzamento da 'In Progress' a 'failed' dopo aver superato la Deadline. +prg#:#prg_update_progress_title#:#Impostare l'avanzamento su Fallito dopo la scadenza prg#:#prg_update_successful#:#Modifiche salvate con successo! -prg#:#prg_user_not_restarted_desc#:#Sends users a warning mail if a qualification at a study programme expires and they haven't restarted the program yet.###07 02 2020 new variable -prg#:#prg_user_not_restarted_time_input#:#Reminder mail restart###07 02 2020 new variable -prg#:#prg_user_not_restarted_time_input_info#:#Reminder Mail Reminds the user x days before the invalidation that he must restart the programm.###07 02 2020 new variable -prg#:#prg_user_not_restarted_title#:#Send warning mail about restart###07 02 2020 new variable -prg#:#prg_user_risky_to_fail_desc#:#Sends users a warning mail if they are at the risk to fail a study programme due to a deadline.###07 02 2020 new variable -prg#:#prg_user_risky_to_fail_title#:#Send warning mail about possible failure###07 02 2020 new variable -prg#:#prg_validity#:#Validity###07 02 2020 new variable -prg#:#prg_validity_of_qualification#:#Validity of Achieved Qualifications###07 02 2020 new variable -prg#:#prg_validity_of_qualification_limit#:#Qualification Expiry###07 02 2020 new variable -prg#:#prg_validity_of_qualification_restart#:#Restart###07 02 2020 new variable +prg#:#prg_user_not_restarted_desc#:#Invia agli utenti una mail di avviso se una qualifica in un programma di studio sta per scadere non hanno ancora riavviato il programma. +prg#:#prg_user_not_restarted_time_input#:#Riavvio della mail di promemoria +prg#:#prg_user_not_restarted_time_input_info#:#Mail di promemoria che ricorda all'utente x giorni prima dell'invalidazione che deve riavviare il programma. +prg#:#prg_user_not_restarted_title#:#Inviare mail di avvertimento sul riavvio +prg#:#prg_user_risky_to_fail_desc#:#Invia agli utenti una mail di avvertimento se sono se un programma di studio sta per decadere +prg#:#prg_user_risky_to_fail_title#:#Inviare mail di avvertimento su una possibile decadenza +prg#:#prg_validity#:#Validità +prg#:#prg_validity_of_qualification#:#Validità delle qualifiche ottenute +prg#:#prg_validity_of_qualification_limit#:#Scadenza della qualifica +prg#:#prg_validity_of_qualification_restart#:#Ricomincia prg#:#prg_view#:#Visualizzazione -prg#:#prgr_may_not_create_circular_reference#:#This Study Programme may not be linked here since the parent object is alredy linked within the target.###07 02 2020 new variable -prg#:#re_assigned_mail_body#:#%s %s,

you were reassigned to study program '%s' as participants.###07 02 2020 new variable -prg#:#re_assigned_mail_subject#:#Renewed participation in the study programm###07 02 2020 new variable -prg#:#restart_information#:#Information regarding automatic restart upon pending qualification expiration###07 02 2020 new variable -prg#:#restart_period#:#Restart obligatory###07 02 2020 new variable -prg#:#restart_period_desc#:#days before expiry###07 02 2020 new variable -prg#:#restart_period_info#:#Days before qualification expiration to restart qualification###07 02 2020 new variable -prg#:#restart_period_label#:#Days before expiry###26 08 2024 new variable -prg#:#restart_recheck_desc#:#For assignments made via an automatism, the system rechecks whether criteria for the assignment still exist.###26 08 2024 new variable -prg#:#restart_recheck_label#:#Check prerequisites again###26 08 2024 new variable -prg#:#restarted#:#restarted###26 08 2024 new variable -prg#:#risky_to_fail_mail_body#:#%s %s,

the deadline for completing the study program '%s' will soon be reached.###29 07 2022 new variable -prg#:#risky_to_fail_mail_subject#:#Reminder, that the deadline for the study program will soon be reached###29 07 2022 new variable -prg#:#rol#:#Role###07 02 2020 new variable -prg#:#select_crs#:#Search for Courses###07 02 2020 new variable -prg#:#select_grp#:#Search for Groups###07 02 2020 new variable -prg#:#select_org#:#Search for Organisational Unit###07 02 2020 new variable -prg#:#select_role#:#Search for Roles###07 02 2020 new variable -prg#:#send_info_to_re_assign_mail#:#E-mail reminder restart###07 02 2020 new variable -prg#:#send_info_to_re_assign_mail_info#:#Send an e-mail to remind the user to restart the study program.###07 02 2020 new variable -prg#:#send_re_assigned_mail#:#E-mail renewed participation###07 02 2020 new variable -prg#:#send_re_assigned_mail_info#:#Send an e-mail to automatically re-join the sudy program.###07 02 2020 new variable -prg#:#send_risky_to_fail_mail#:#E-mail in case of failure###07 02 2020 new variable -prg#:#send_risky_to_fail_mail_info#:#Send an e-mail if the user is at risk of failure of the study program.###07 02 2020 new variable -prg#:#sp_certificate_completion_date#:#Date of completion###07 02 2020 new variable -prg#:#sp_certificate_description#:#Description of the Study Programme###07 02 2020 new variable -prg#:#sp_certificate_points#:#Amount of points that have been acquired###07 02 2020 new variable -prg#:#sp_certificate_progress_expires_at#:#Date of expiry of qualification###07 02 2020 new variable -prg#:#sp_certificate_title#:#Title of the Study Programme###07 02 2020 new variable -prg#:#sp_certificate_type#:#Type of the Study Programme###07 02 2020 new variable -prg#:#status_changed#:#Updated status###29 07 2022 new variable -prg#:#status_changed_due_to_deadline#:#Status changed according to deadline.###26 08 2024 new variable -prg#:#status_transition_not_allowed#:#Status change not allowed###29 07 2022 new variable -prg#:#status_unchanged#:#Status unchanged###29 07 2022 new variable -prg#:#study_programme_icon#:#Page Editor Study Programme Icon###26 08 2024 new variable -prg#:#update_deadline#:#Successfuly update deadline.###07 02 2020 new variable -prg#:#update_expire_date#:#Successfuly update expire date.###07 02 2020 new variable -prg#:#updated_from_settings#:#Updated from settings###29 07 2022 new variable -prg#:#usr_active#:#User###26 08 2024 new variable -prg#:#validity_qualification_date#:#Qualification expires at fixed date###29 07 2022 new variable -prg#:#validity_qualification_date_desc#:#expiry date###29 07 2022 new variable -prg#:#validity_qualification_period#:#Qualification expires individually###29 07 2022 new variable -prg#:#validity_qualification_period_desc#:#days after completion###29 07 2022 new variable -prg#:#validity_updated#:#Updated validity###29 07 2022 new variable -prg#:#vq_date#:#Expiration###26 08 2024 new variable -prg#:#vq_date_info#:#Qualification expires at fixed date###07 02 2020 new variable -prg#:#vq_date_label#:#Expiry date###26 08 2024 new variable -prg#:#vq_information#:#Information regarding validity of achived qualification###07 02 2020 new variable -prg#:#vq_period_info#:#Days until qualification will expire after achivement###07 02 2020 new variable -prg#:#vq_period_label#:#Days after completion###26 08 2024 new variable +prg#:#prgr_may_not_create_circular_reference#:#Questo programma di studio non può essere collegato qui poiché l'oggetto padre è già collegato all'interno dell'obiettivo. +prg#:#re_assigned_mail_body#:#%s %s,

sono stati riassegnati al programma di studio '%s' come partecipanti. +prg#:#re_assigned_mail_subject#:#Rinnovo della partecipazione al programma di studio +prg#:#restart_information#:#Informazioni sul riavvio automatico alla scadenza della qualifica pendente +prg#:#restart_period#:#Riavvio obbligatorio +prg#:#restart_period_desc#:#giorni prima della scadenza +prg#:#restart_period_info#:#Giorni prima della scadenza della qualifica per ricominciare la qualifica +prg#:#restart_period_label#:#Days before expiry###31 03 2023 new variable +prg#:#restart_recheck_desc#:#For assignments made via an automatism, the system rechecks whether criteria for the assignment still exist.###30 04 2024 new variable +prg#:#restart_recheck_label#:#Check prerequisites again###30 04 2024 new variable +prg#:#restarted#:#restarted###30 04 2024 new variable +prg#:#risky_to_fail_mail_body#:#%s %s,

il termine per completare il programma di studio '%s' sarà presto raggiunto. +prg#:#risky_to_fail_mail_subject#:#Promemoria, che la scadenza per il programma di studio sarà presto raggiunta +prg#:#rol#:#Role +prg#:#select_crs#:#Search for Courses +prg#:#select_grp#:#Search for Groups +prg#:#select_org#:#Cerca unità organizzativa +prg#:#select_role#:#Search for Roles +prg#:#send_info_to_re_assign_mail#:#E-mail promemoria di riavvio +prg#:#send_info_to_re_assign_mail_info#:#Invia un'e-mail per ricordare all'utente di riavviare il programma di studio. +prg#:#send_re_assigned_mail#:#Partecipazione rinnovata via e-mail +prg#:#send_re_assigned_mail_info#:#Invia un'e-mail per rientrare automaticamente nel programma di studio. +prg#:#send_risky_to_fail_mail#:#E-mail in caso di decadenza +prg#:#send_risky_to_fail_mail_info#:#Invia un'e-mail se l'utente è a rischio di fallimento del programma di studio. +prg#:#sp_certificate_completion_date#:#Data di completamento +prg#:#sp_certificate_description#:#Descrizione del programma di studio +prg#:#sp_certificate_points#:#Quantità di punti che acquisiti +prg#:#sp_certificate_progress_expires_at#:#Data di scadenza della qualifica +prg#:#sp_certificate_title#:#Titolo del programma di studio +prg#:#sp_certificate_type#:#Tipo di programma di studio +prg#:#status_changed#:#Updated status###09 03 2022 new variable +prg#:#status_changed_due_to_deadline#:#Status changed according to deadline.###31 03 2023 new variable +prg#:#status_transition_not_allowed#:#Status change not allowed###09 03 2022 new variable +prg#:#status_unchanged#:#Status unchanged###09 03 2022 new variable +prg#:#study_programme_icon#:#Page Editor Study Programme Icon###30 04 2024 new variable +prg#:#update_deadline#:#Data di scadenza aggiornata con successo. +prg#:#update_expire_date#:#Data di scadenza aggiornata con successo. +prg#:#updated_from_settings#:#Updated from settings###09 03 2022 new variable +prg#:#usr_active#:#User###31 03 2023 new variable +prg#:#validity_qualification_date#:#La qualifica scade ad una data prestabilita +prg#:#validity_qualification_date_desc#:#Data di scadenza +prg#:#validity_qualification_period#:#La qualifica scade individualmente +prg#:#validity_qualification_period_desc#:#giorni dopo il completamento +prg#:#validity_updated#:#Updated validity###09 03 2022 new variable +prg#:#vq_date#:#Expiration###31 03 2023 new variable +prg#:#vq_date_info#:#La qualifica scade ad una data prestabilita +prg#:#vq_date_label#:#Expiry date###31 03 2023 new variable +prg#:#vq_information#:#Informazioni sulla validità della qualifica raggiunta +prg#:#vq_period_info#:#Giorni allo scadere della qualifica dopo il completamento +prg#:#vq_period_label#:#Days after completion###31 03 2023 new variable prg#:#warning#:#Avvertenza! -prg#:#will_not_modify_deadline_on_successful_progress#:#No change because already completed or marked accredited###29 07 2022 new variable -prg#:#will_not_modify_irrelevant_progress#:#No change because not relevant###29 07 2022 new variable -prg#:#will_not_modify_relevant_progress#:#already relevant###29 07 2022 new variable -prg#:#will_not_modify_validity_on_non_successful_progress#:#Can change only when successful###29 07 2022 new variable -prg#:#will_not_set_top_progress_to_irrelevant#:#Cannot change top node to irrelevant.###29 07 2022 new variable -prg#:#will_not_update_cert_for_unsuccessful_progress#:#No certificate for unsuccessful programme###26 08 2024 new variable +prg#:#will_not_modify_deadline_on_successful_progress#:#No change because already completed or marked accredited###09 03 2022 new variable +prg#:#will_not_modify_irrelevant_progress#:#No change because not relevant###09 03 2022 new variable +prg#:#will_not_modify_relevant_progress#:#already relevant###09 03 2022 new variable +prg#:#will_not_modify_validity_on_non_successful_progress#:#Can change only when successful###09 03 2022 new variable +prg#:#will_not_set_top_progress_to_irrelevant#:#Cannot change top node to irrelevant.###09 03 2022 new variable +prg#:#will_not_update_cert_for_unsuccessful_progress#:#No certificate for unsuccessful programme###30 04 2024 new variable prtf#:#pdf_export#:#Esportazione PDF -prtf#:#prtf_add_assignment#:#Add Assignment###29 07 2022 new variable +prtf#:#prtf_add_assignment#:#Add Assignment###31 03 2023 new variable prtf#:#prtf_add_page#:#Aggiungi pagina prtf#:#prtf_add_portfolio#:#Aggiungi portfolio -prtf#:#prtf_add_portfolio_from_template#:#Add Portfolio From Template###26 08 2024 new variable +prtf#:#prtf_add_portfolio_from_template#:#Add Portfolio From Template###30 04 2024 new variable prtf#:#prtf_all_pages#:#Tutte le pagine prtf#:#prtf_allow_html#:#Consenti HTML/Javascript prtf#:#prtf_allow_html_info#:#Consente agli utenti di includere HTML e/o JavaScript nelle rispettive pagine di portfolio. Questo può portare a problemi di sicurezza. -prtf#:#prtf_allow_my_courses#:#Page Element "My Courses" +prtf#:#prtf_allow_my_courses#:#Elemento pagina "Miei Corsi" prtf#:#prtf_allow_my_courses_info#:#Consente di includere una lista di adesioni al corso attuale in un portfolio. prtf#:#prtf_author#:#Autore prtf#:#prtf_back_to_portfolio_owner#:#Modifica portfolio prtf#:#prtf_blog_page_created#:#Il blog è stato aggiunto. -prtf#:#prtf_copy_blog_pg#:#Copy Blog Page###29 07 2022 new variable +prtf#:#prtf_copy_blog_pg#:#Copy Blog Page###29 06 2022 new variable prtf#:#prtf_copy_page#:#Copia pagina/e -prtf#:#prtf_copy_pg#:#Copy Page###29 07 2022 new variable -prtf#:#prtf_copy_tab#:#Copy Tab +prtf#:#prtf_copy_pg#:#Copy Page###29 06 2022 new variable +prtf#:#prtf_copy_tab#:#Copia scheda prtf#:#prtf_create_portfolio#:#Aggiungi Portfolio prtf#:#prtf_create_template_from_portfolio#:#Portfolio prtf#:#prtf_create_template_from_portfolio_info#:#Seleziona un portfolio per utilizzare il suo contenuto e le sue impostazioni per il modello. @@ -13773,41 +13779,41 @@ prtf#:#prtf_creation_mode#:#Nuovo portfolio prtf#:#prtf_creation_mode_scratch#:#Crea senza modello prtf#:#prtf_creation_mode_template#:#Crea dal modello prtf#:#prtf_date_of_print#:#Data di stampa -prtf#:#prtf_decl_authorship#:#Declaration of Authorship +prtf#:#prtf_decl_authorship#:#Dichiarazione di autorialità prtf#:#prtf_default_portfolio#:#Profilo personale -prtf#:#prtf_delete_assignment#:#Delete Assignments###29 07 2022 new variable -prtf#:#prtf_delete_assignment_sure#:#Do you really want to delete the following assignment(s)?###29 07 2022 new variable -prtf#:#prtf_download_submission#:#Download Submission -prtf#:#prtf_edit_content#:#Edit Content -prtf#:#prtf_edit_data#:#Edit Data###29 07 2022 new variable +prtf#:#prtf_delete_assignment#:#Delete Assignments###31 03 2023 new variable +prtf#:#prtf_delete_assignment_sure#:#Do you really want to delete the following assignment(s)?###31 03 2023 new variable +prtf#:#prtf_download_submission#:#Scarica presentazioneIl portfolio mostrerà qui un blog dello spazio di lavoro personale. +prtf#:#prtf_edit_content#:#Modifica contenuto +prtf#:#prtf_edit_data#:#Edit Data###31 03 2023 new variable prtf#:#prtf_edit_embedded_blog#:#Modifica blog"%s" prtf#:#prtf_edit_portfolio#:#Modifica Portfolio prtf#:#prtf_exercise_info#:#Questo portfolio fa parte dell'unità di esercitazione "%s" dell'esercizio "%s". -prtf#:#prtf_exercise_submitted_info#:#Il tuo ultimo inserimento è stato il %s, per favore controlla il file di esportazione: %s. +prtf#:#prtf_exercise_submitted_info#:#Hai inviato il tuo portfolio su %s. Inoltre potresti voler salvare una copia per i tuoi file: %s prtf#:#prtf_existing_portfolio#:#Portfolio esistente prtf#:#prtf_finalize_portfolio#:#Salva portfolio e carica prtf#:#prtf_finalized#:#Questo portfolio è stato caricato. prtf#:#prtf_first_page_title#:#Titolo della prima pagina -prtf#:#prtf_has_been_set_online#:#Portfolio has been set online. +prtf#:#prtf_has_been_set_online#:#Il portfolio è stato impostato online. prtf#:#prtf_link#:#Collegamento prtf#:#prtf_manage_portfolios#:#Gestisci portfolio prtf#:#prtf_new_portfolio#:#Nuovo Portfolio prtf#:#prtf_no_blogs_info#:#Se vuoi creare un blog ricordati che può essere parte del tuo portfolio. -prtf#:#prtf_no_offline_share_info#:#A portfolio has to be online to be shared by other users. -prtf#:#prtf_no_submission#:#No Submission +prtf#:#prtf_no_offline_share_info#:#Un portfolio deve essere online per essere condiviso da altri utenti. +prtf#:#prtf_no_submission#:#Nessuna presentazione prtf#:#prtf_page_created#:#La pagina è stata creata prtf#:#prtf_page_element_my_courses_info#:#Questo è un elenco di tutti i miei corsi attualmente online e di cui sono membro. -prtf#:#prtf_page_element_my_courses_title#:#Current Courses +prtf#:#prtf_page_element_my_courses_title#:#Corsi attuali prtf#:#prtf_page_element_teaser_blog_template#:#Il portfolio mostrerà qui un blog dello spazio di lavoro personale. prtf#:#prtf_page_element_teaser_consultation_hours#:#Il portfolio mostrerà qui un calendario delle ore di consultazione. prtf#:#prtf_page_element_teaser_my_courses#:#Il portfolio mostrerà qui un elenco dei tuoi corsi attuali. prtf#:#prtf_page_element_teaser_settings#:#Impostazioni -prtf#:#prtf_page_element_teaser_skills#:#Il portfolio mostrerà qui il tuo livello di competenza. -prtf#:#prtf_page_type_prtf#:#Portfolio Page###29 07 2022 new variable -prtf#:#prtf_page_type_prtt#:#Portfolio Template Page###29 07 2022 new variable +prtf#:#prtf_page_element_teaser_skills#:#Il portfolio mostrerà qui il tuo livello di competenze. +prtf#:#prtf_page_type_prtf#:#Pagina del Portfolio +prtf#:#prtf_page_type_prtt#:#Pagina di Modello del Portfolio prtf#:#prtf_pages_copied#:#Questa pagina è stata copiata. prtf#:#prtf_pdf#:#PDF -prtf#:#prtf_permanent_link#:#Link to Portfolio:###26 08 2024 new variable +prtf#:#prtf_permanent_link#:#Link to Portfolio:###30 04 2024 new variable prtf#:#prtf_portfolio_created#:#Portfolio aggiunto prtf#:#prtf_portfolio_created_from_template#:#Questa è l’anteprima del tuo nuovo portfolio. Per aggiungere pagine e gestire il contenuto del portfolio, fare clic su "Modifica portfolio " in alto a questa pagina. prtf#:#prtf_portfolio_deleted#:#I portfolios sono stati cancellati @@ -13818,10 +13824,10 @@ prtf#:#prtf_print_selection#:#Selezione pagina prtf#:#prtf_profile_picture#:#Mostra immagine del profilo prtf#:#prtf_properties#:#Proprietà Portfolio prtf#:#prtf_public_comments#:#Commenti pubblici -prtf#:#prtf_role_assignment#:#Role Assignment###29 07 2022 new variable -prtf#:#prtf_role_title#:#Role###29 07 2022 new variable +prtf#:#prtf_role_assignment#:#Role Assignment###31 03 2023 new variable +prtf#:#prtf_role_title#:#Role###31 03 2023 new variable prtf#:#prtf_save_status_and_titles#:#Salva status e titolo -prtf#:#prtf_sec_protected_info#:#Protected sections cannot be edited by portfolio owners.###29 07 2022 new variable +prtf#:#prtf_sec_protected_info#:#Protected sections cannot be edited by portfolio owners.###31 03 2023 new variable prtf#:#prtf_selected_pages#:#Pagine selezionate prtf#:#prtf_set_default_publish_global#:#Condividi anche con gli utenti non registrati prtf#:#prtf_set_default_publish_registered#:#Condividi solo con gli utenti registrati @@ -13833,24 +13839,24 @@ prtf#:#prtf_signature#:#Campo di firma prtf#:#prtf_signature_date#:#Data, firma prtf#:#prtf_signature_info#:#Aggiunge un campo alla stampa in cui l'autore può firmare il portfolio. prtf#:#prtf_style#:#Stile Portfolio -prtf#:#prtf_submission_on#:#Submitted on $1 -prtf#:#prtf_successfully_shared_prtf#:#Confirmation Shared Portfolio '%s'###26 08 2024 new variable -prtf#:#prtf_successfully_shared_prtf_body#:#You have shared your portfolio '%s' with:###26 08 2024 new variable +prtf#:#prtf_submission_on#:#Inviato $1 +prtf#:#prtf_successfully_shared_prtf#:#Confirmation Shared Portfolio '%s'###30 04 2024 new variable +prtf#:#prtf_successfully_shared_prtf_body#:#You have shared your portfolio '%s' with:###30 04 2024 new variable prtf#:#prtf_sure_delete_portfolio_pages#:#Sei sicuro di voler cancellare le seguenti pagine del portfolio? prtf#:#prtf_sure_delete_portfolios#:#Sei sicuro di voler cancellare i seguenti portfolios? prtf#:#prtf_tab_other_users#:#Portfolios di altri utenti prtf#:#prtf_tab_portfolios#:#Il mio portfolio -prtf#:#prtf_table_of_contents#:#Table of Contents###29 10 2025 new variable +prtf#:#prtf_table_of_contents#:#Table of Contents###28 11 2025 new variable prtf#:#prtf_template_editor_placeholder_info#:#Questo segnaposto verrà sostituito nel portfolio. prtf#:#prtf_template_import_blog_create#:#Crea nuovo blog prtf#:#prtf_template_import_blog_ignore#:#Elimina pagine blog prtf#:#prtf_template_import_blog_reuse#:#Utilizza blog esistente prtf#:#prtf_template_import_new_skills#:#Se attivate, queste voci verranno aggiunte alle proprie competenze personali. -prtf#:#prtf_template_title#:#Portfolio Template###29 07 2022 new variable +prtf#:#prtf_template_title#:#Portfolio Template###31 03 2023 new variable prtf#:#prtf_unset_as_default#:#Non usare come mio profilo prtf#:#prtf_unset_default_share_info#:#I cambiamenti sono stati salvati. Controlla per favore l'autorizzazione per il portfolio. prtf#:#prtf_use_page_layout#:#Usa il layout della pagina -prtf#:#prtf_visible_for_tutor#:#Visible For Tutor###26 08 2024 new variable +prtf#:#prtf_visible_for_tutor#:#Visible For Tutor###30 04 2024 new variable prtf#:#prtt_title_info#:#Please note that this will be also the default title for all portfolios being created form this template. prtt#:#prtt_activation_limited_visibility_info#:#Se scelto, il modello del portfolio è visibile anche al di fuori della disponibilità specificata. prtt#:#prtt_activation_online_info#:#Attiva questa impostazione per rendere accessibile il modello di portfolio agli utenti. @@ -13859,10 +13865,10 @@ prtt#:#prtt_copy#:#Copia modello di portfolio prtt#:#prtt_edit#:#Modifica modello di portfolio prtt#:#prtt_import#:#Importa modello di portfolio prtt#:#prtt_new#:#Nuovo modello di portfolio -prtt#:#prtt_pfpg#:#Portfolio Page###29 07 2022 new variable +prtt#:#prtt_pfpg#:#Portfolio Page###31 03 2023 new variable prtt#:#prtt_portfolio_created#:#Aggiungi modello di portfolio prtt#:#prtt_properties#:#Proprietà modello di portfolio -prtt#:#prtt_select_datasets#:#Select Datasets###29 07 2022 new variable +prtt#:#prtt_select_datasets#:#Select Datasets###31 03 2023 new variable prtt#:#prtt_style#:#Stile modello di portfolio ps#:#cdf_edited_by_self#:#dall’utente ps#:#crs_ps_cdf_info#:#Ulteriori dati relativi al corso. Compila i seguenti campi. @@ -13903,15 +13909,15 @@ ps#:#ps_error_message_password_min3_because_chars_numbers_sc#:#La grandezza mini ps#:#ps_export_admin#:#Amministratori ps#:#ps_export_confirm#:#Attiva le condizioni di utilizzo all'accesso per l'utente ps#:#ps_export_confirm_group#:#Attiva le condizioni di utilizzo per il partecipante al gruppo -ps#:#ps_export_confirm_group_info#:#When joining a group, users are required to accept that their personal data can be viewed by the group admins.###29 10 2025 new variable -ps#:#ps_export_confirm_info#:#When joining a course, users are required to accept that their personal data can be viewed by the course admins.###29 10 2025 new variable +ps#:#ps_export_confirm_group_info#:#When joining a group, users are required to accept that their personal data can be viewed by the group admins.###28 11 2025 new variable +ps#:#ps_export_confirm_info#:#When joining a course, users are required to accept that their personal data can be viewed by the course admins.###28 11 2025 new variable ps#:#ps_export_course#:#Mostra dati utente ed export nei corsi. ps#:#ps_export_data#:#Dati del Profilo Personale ps#:#ps_export_excel#:#Inizia l'esportazione excel ps#:#ps_export_files#:#Esporta files ps#:#ps_export_groups#:#Mostra ed esporta i dati personali ps#:#ps_export_member#:#Membri -ps#:#ps_export_prgs#:#Allow export of user profile data in Study Programmes###26 08 2024 new variable +ps#:#ps_export_prgs#:#Allow export of user profile data in Study Programmes###30 04 2024 new variable ps#:#ps_export_settings#:#Esporta Impostazioni ps#:#ps_export_sub#:#Partecipanti ps#:#ps_export_tutor#:#Tutor @@ -13923,14 +13929,14 @@ ps#:#ps_grp_user_fields#:#Campi utente specifici per gruppo ps#:#ps_login_max_attempts#:#Numero massimo di tentativi di login ps#:#ps_login_max_attempts_info#:#Numero massimo di tentativi di login. Inserire zero (0) per disabilitare questa opzione. ps#:#ps_not_accepted#:#Non accettato -ps#:#ps_participants_list_courses#:#Allow Activation of Participant Lists in the Member Gallery of Courses###29 07 2022 new variable -ps#:#ps_passwd_policy_change_force_user_reset_succ#:#The changes have been successfully applied.###07 02 2020 new variable -ps#:#ps_passwd_policy_changed_force_user_reset#:#The changes were saved successfully. You just modified at least one password policy setting. Should local users be forced to change their password after the next successful login?###07 02 2020 new variable +ps#:#ps_participants_list_courses#:#Permettere l'attivazione di liste di partecipanti nella galleria dei membri dei corsi +ps#:#ps_passwd_policy_change_force_user_reset_succ#:#Le modifiche sono state applicate con successo. +ps#:#ps_passwd_policy_changed_force_user_reset#:#Le modifiche sono state salvate con successo. Hai appena modificato almeno un'impostazione della politica delle password. Gli utenti locali dovrebbero essere costretti a cambiare la loro password dopo il prossimo login riuscito? ps#:#ps_password_change_on_first_login_enabled#:#Cambia la password al primo accesso ps#:#ps_password_change_on_first_login_enabled_info#:#Se abilitato, gli utenti devono cambiare le password al primo login (eccetto gli utenti che si sono registrati da soli). ps#:#ps_password_chars_and_numbers_enabled#:#Caratteri e Numeri ps#:#ps_password_chars_and_numbers_enabled_info#:#Se abilitato, le password devono contenere sia caratteri che cifre numeriche. -ps#:#ps_password_force_user_reset#:#Force Password Reset###29 10 2025 new variable +ps#:#ps_password_force_user_reset#:#Force Password Reset###28 11 2025 new variable ps#:#ps_password_max_age#:#Durata massima della password ps#:#ps_password_max_age_info#:#Imposta la durata massima della password in giorni. Inserire zero (0) per disabilitare questa opzione. ps#:#ps_password_max_length#:#Lunghezza massima della password @@ -13949,7 +13955,7 @@ ps#:#ps_security_protection#:#Impostazioni di sicurezza ps#:#ps_select_one#:#Seleziona un file di export ps#:#ps_show_crs_access#:#Visualizza l'ultimo tempo di accesso dei partecipanti al corso ps#:#ps_show_grp_access#:#Visualizza l'ultimo tempo di accesso dei partecipanti del grupo -ps#:#ps_show_lso_access#:#Show last access time of learning sequence participants###26 08 2024 new variable +ps#:#ps_show_lso_access#:#Show last access time of learning sequence participants###26 04 2023 new variable ps#:#ps_size#:#Dimensioni ps#:#ps_type_select#:#Seleziona Campo ps#:#ps_type_select_long#:#Seleziona Box (valori fissi) @@ -13965,36 +13971,36 @@ ps#:#show_privacy#:#Privacy ps#:#show_security#:#Sicurezza pwassist#:#password_assistance#:#Servizio di assistenza per le password pwassist#:#pwassist_disabled_no_access#:#L'assistenza per la password non è abilitata. Si prega di contattare l'amministrazione del sistema per ulteriore assistenza: %s -pwassist#:#pwassist_enter_email#:#Per favore, indica un indirizzo di eMail valido e premi Invia.\\nILIAS ti inviera' una eMail all'indirizzo indicato che conterra' tutti i nomi degli utenti registrati con quell& -pwassist#:#pwassist_enter_username_and_email#:#Inserisci il nome dell& -pwassist#:#pwassist_enter_username_and_new_password#:#Inserisci il nome dell& -pwassist#:#pwassist_login_not_match#:#Per favore, inserisci un altro nome di utente.\\nIl nome dell& -pwassist#:#pwassist_mail_body#:#Registrazione di una nuova password per l& -pwassist#:#pwassist_mail_sent#:#Un messaggio e' stato inviato a %1$s.\\nPer favore controlla la tua casella di posta. -pwassist#:#pwassist_mail_sent_generic#:#A message has been sent to the email address defined in ILIAS.\nPlease check your mail box. +pwassist#:#pwassist_enter_email#:#Inserisci un indirizzo e-mail e invia il modulo. ILIAS invierà un'e-mail a tale indirizzo. L'e-mail contiene tutti i nomi utente che hanno registrato questo indirizzo e-mail. Scegliere un nome utente adatto e utilizzare il servizio password per recuperare una nuova password. Se non si recupera alcuna e-mail da questo servizio, contattare l'amministratore del corso o %1$s. +pwassist#:#pwassist_enter_username_and_email#:#Immettere un nome utente e l'indirizzo e-mail associato nei campi indicati di seguito. ILIAS invierà un messaggio a tale indirizzo e-mail. Il messaggio contiene un indirizzo per una pagina Web, in cui è possibile inserire una nuova password per l'account utente. Se non è possibile assegnare una password al proprio account utente utilizzando questo modulo, contattare l'amministrazione del corso o inviare un'e-mail a %1$s. +pwassist#:#pwassist_enter_username_and_new_password#:#Inserisci il nome utente e la nuova password nei campi sottostanti. +pwassist#:#pwassist_login_not_match#:#Inserisci un altro nome utente. \ Il nome utente che hai inserito non corrisponde al nome utente per il quale hai richiesto l'assistenza tramite password. +pwassist#:#pwassist_mail_body#:#Registra una nuova password per il tuo account utente: \ t %1$s Questo messaggio è stato generato automaticamente dal server ILIAS \ t %2$s You (o qualcuno a %3$s ) ha richiesto l'assistenza per la password per l'account utente " %4$s". Controlla attentamente le condizioni elencate di seguito e procedi di conseguenza: - Se hai utilizzato il modulo di assistenza per la password sul server ILIAS da incidente: Elimina questa mail. - Se sei sicuro di non aver mai chiesto assistenza per la password su questo server ILIAS: Si prega di contattare %5$s. - Se hai chiesto assistenza per la password, per favore procedere come segue: 1. Apri il tuo browser. 2. Immettere il seguente indirizzo nel browser: \ t %6$s Importante: l'indirizzo è una riga singola. Se vedi questo indirizzo diviso in più righe, il tuo programma di posta elettronica ha inserito queste interruzioni di riga. 3. Nella pagina Web visualizzata dal browser, inserisci una nuova password per il tuo account utente. Si prega di notare che, per motivi di sicurezza, è possibile eseguire i tre passaggi sopra esattamente una sola volta e solo per un periodo di tempo limitato. Successivamente l'indirizzo non è più valido e è necessario utilizzare nuovamente la pagina di assistenza per la password sul server ILIAS. +pwassist#:#pwassist_mail_sent#:#Un messaggio e' stato inviato a %1$s.\ Per favore controlla la tua casella di posta. +pwassist#:#pwassist_mail_sent_generic#:#È stato inviato un messaggio all'indirizzo di posta elettronica definito in ILIAS. Per favore controlla la tua casella di posta. pwassist#:#pwassist_mail_subject#:#Servizio di assistenza per le password di ILIAS -pwassist#:#pwassist_password_assigned#:#La password e' stata assegnata con successo all& -pwassist#:#pwassist_session_expired#:#Per favore riempi i campi del form di nuovo.\\nLa tua sessione con il servizio di assistenza per le password e' scaduta. Questo puo' essere stato causato dall& -pwassist#:#pwassist_username_mail_body#:#Questi sono gli utenti attivi che sono stati trovati nel database con l& +pwassist#:#pwassist_password_assigned#:#La password è stata assegnata correttamente all'utente " %1$s". +pwassist#:#pwassist_session_expired#:#Compila nuovamente questo modulo. La tua sessione di assistenza per la password è scaduta. Ciò può essere accaduto perché hai tentato di utilizzare il link che ti è stato inviato più di una volta via e-mail o perché è trascorso troppo tempo dall'invio del link. +pwassist#:#pwassist_username_mail_body#:#Questi sono i nomi utente attivi trovati per l'indirizzo e-mail indicato: %s. Questo messaggio è stato creato automaticamente dal seguente server ILIAS: %s. Tu (o qualcuno con IP %s) ha richiesto il supporto per i nomi utente dimenticati per l'indirizzo e-mail "%s". Si prega di controllare quanto segue e agire come suggerito:\n- Hai richiesto questa e-mail per sbaglio: Elimina questa e-mail.\n- Sei sicuro di non aver mai richiesto questa e-mail: Si prega di contattare %s.\n- Se hai richiesto questa e-mail, procedi come segue:\n 1. Avvia il tuo browser Internet.\n 2. Immettere il seguente URL: %s\n Importante: l'indirizzo è una riga singola. Se vedi questo indirizzo diviso in più righe, il tuo programma di posta elettronica ha inserito queste interruzioni di riga.\n 3. Il tuo browser ora mostra il servizio password. Utilizzare questa pagina insieme a uno dei nomi utente e all'indirizzo e-mail corrispondente per recuperare una nuova password. pwassist#:#unassist_disabled_no_access#:#L'assistenza per il nome utente non è abilitata. Si prega di contattare l'amministrazione del sistema per ulteriore assistenza: %s -pwsp#:#pwsp_enable_personal_resources#:#Enable personal resources###07 02 2020 new variable -pwsp#:#pwsp_enable_wsp_blogs#:#Enable Blogs###07 02 2020 new variable -pwsp#:#pwsp_enable_wsp_files#:#Enable Files###07 02 2020 new variable -pwsp#:#pwsp_enable_wsp_links#:#Enable Links###07 02 2020 new variable -pwsp#:#pwsp_type_cannot_be_copied#:#Objects of type '%s' cannot be copied.###29 10 2025 new variable -qpl#:#qpl_filter_commented_exclude#:#Questions without comments###26 08 2024 new variable -qpl#:#qpl_filter_commented_only#:#Questions with comments###26 08 2024 new variable -qpl#:#qpl_page_type_qfbg#:#General Feedback###29 07 2022 new variable -qpl#:#qpl_page_type_qfbs#:#Special Feedback###29 07 2022 new variable -qpl#:#qpl_page_type_qht#:#Hint###29 07 2022 new variable -qpl#:#qpl_page_type_qpl#:#Question Page###29 07 2022 new variable +pwsp#:#pwsp_enable_personal_resources#:#Attiva risorse personali +pwsp#:#pwsp_enable_wsp_blogs#:#Attiva blog +pwsp#:#pwsp_enable_wsp_files#:#Attiva files +pwsp#:#pwsp_enable_wsp_links#:#Attiva links +pwsp#:#pwsp_type_cannot_be_copied#:#Objects of type '%s' cannot be copied.###23 09 2025 new variable +qpl#:#qpl_filter_commented_exclude#:#Questions without comments###30 04 2024 new variable +qpl#:#qpl_filter_commented_only#:#Questions with comments###30 04 2024 new variable +qpl#:#qpl_page_type_qfbg#:#Feedback generale +qpl#:#qpl_page_type_qfbs#:#Feedback speciali +qpl#:#qpl_page_type_qht#:#Suggerimento +qpl#:#qpl_page_type_qpl#:#Pagina delle domande rating#:#rat_not_rated_yet#:#Non valutato rating#:#rat_nr_ratings#:#%s Valutazioni rating#:#rat_one_rating#:#Una valutazione rating#:#rating_activate_rating#:#Consenti valutazione rating#:#rating_activate_rating_info#:#Se abilitata, gli utenti possono valutare quest’oggetto. rating#:#rating_add_category#:#Aggiungi categoria -rating#:#rating_avg_rating#:#Average Rating###29 07 2022 new variable +rating#:#rating_avg_rating#:#Average Rating###09 03 2022 new variable rating#:#rating_categories#:#Rating delle categorie rating#:#rating_category_add#:#Aggiungi rating#:#rating_category_create#:#Crea categoria @@ -14007,13 +14013,13 @@ rating#:#rating_category_updated#:#Categoria salvata. rating#:#rating_export_category#:#Categoria rating#:#rating_export_date#:#Data rating#:#rating_export_rating#:#Classificazione -rating#:#rating_new_objects_auto#:#Enable Rating for new Objects -rating#:#rating_new_objects_auto_info#:#If enabled, new files, learning modules and wikis can be rated. +rating#:#rating_new_objects_auto#:#Abilita la valutazione per i nuovi oggetti +rating#:#rating_new_objects_auto_info#:#Se abilitato i nuovi file, i moduli di apprendimento e wiki possono essere valutati. rating#:#rating_number_votes#:#%s Classificazioni -rating#:#rating_open_dialog#:#Open rating dialog###29 07 2022 new variable +rating#:#rating_open_dialog#:#Open rating dialog###09 03 2022 new variable rating#:#rating_overlay_submit#:#Invia voto -rating#:#rating_personal_rating#:#Your Rating###29 07 2022 new variable -rating#:#rating_rate_x_of_5#:#Rate with %s of 5 stars###29 07 2022 new variable +rating#:#rating_personal_rating#:#Your Rating###09 03 2022 new variable +rating#:#rating_rate_x_of_5#:#Rate with %s of 5 stars###09 03 2022 new variable rating#:#rating_remove#:#Rimuovi valutazione rating#:#rating_update_positions#:#Salva l'ordine rating#:#rating_your_rating#:#La Tua Qualificazione. @@ -14024,18 +14030,18 @@ rbac#:#accs_write#:#Modifica le Impostazioni di Accessibilita' rbac#:#activate_wiki_protection#:#Imposta solo lettura rbac#:#active_preconditions#:#Condizioni preliminari rbac#:#add_consultation_hours#:#Aggiungi orario di colloquio -rbac#:#add_consume_provider#:#Add Own LTI Provider Settings###07 02 2020 new variable -rbac#:#add_pages#:#Add Pages###26 08 2024 new variable +rbac#:#add_consume_provider#:#Add Own LTI Provider Settings +rbac#:#add_pages#:#Add Pages###30 04 2024 new variable rbac#:#add_reply#:#Aggiungi risposta rbac#:#add_thread#:#Aggiungi Thread rbac#:#adm_edit_permission#:#Modifica le impostazioni dei permessi rbac#:#adm_read#:#Accedere in lettura alla sezione di amministrazione rbac#:#adm_visible#:#Vedere la sezione di amministrazione -rbac#:#adm_write#:#Modificare la sezione di amministrazione -rbac#:#adn_edit_permission#:#User can change permissions of Administrative Notifications' administration.###29 07 2022 new variable -rbac#:#adn_read#:#User has read access to administration of Administrative Notifications.###29 07 2022 new variable -rbac#:#adn_visible#:#Administration of Administrative Notifications is visible.###29 07 2022 new variable -rbac#:#adn_write#:#User can add and edit Administrative Notifications.###29 07 2022 new variable +rbac#:#adm_write#:#L'utente può modificare le impostazioni generali in Amministrazione. +rbac#:#adn_edit_permission#:#User can change permissions of Administrative Notifications' administration. +rbac#:#adn_read#:#User has read access to administration of Administrative Notifications. +rbac#:#adn_visible#:#Administration of Administrative Notifications is visible. +rbac#:#adn_write#:#User can add and edit Administrative Notifications. rbac#:#adopt_perm_from_template#:#Copia Impostazioni Permesi rbac#:#adve_edit_permission#:#Modifica Impostazioni dei Permessi rbac#:#adve_read#:#Gestione avanzata dell'amministrazione @@ -14044,12 +14050,12 @@ rbac#:#adve_write#:#Amministrazione Avanzata Editing rbac#:#amend_grading#:#Modifica la classificazione finalizzata rbac#:#assf_edit_permission#:#Modificare i permessi rbac#:#assf_read#:#Accedere in lettura alla Amministrazione di Test e Valutazioni -rbac#:#assf_visible#:#Vedere Test&Valutazioni -rbac#:#assf_write#:#Modificare Test&Valutazioni -rbac#:#auth_edit_permission#:#Modificare la modalita' di autenticazione +rbac#:#assf_visible#:#L'amministrazione del test e della valutazione è visibile +rbac#:#assf_write#:#L'utente può modificare le impostazioni di Test and Assessment Administration +rbac#:#auth_edit_permission#:#L'utente può modificare le impostazioni di autorizzazione dell'amministrazione di autenticazione e registrazione rbac#:#auth_read#:#Accedere in lettura alla modalita' di autenticazione rbac#:#auth_visible#:#Vedere la modalita' di autenticazione -rbac#:#auth_write#:#Modificare la modalita' di autenticazione +rbac#:#auth_write#:#L'utente può modificare le impostazioni per l'autenticazione e la registrazione rbac#:#awra_edit_permission#:#L’utente può modificare le impostazioni di autorizzazione nell’amministrazione “Chi è online?” rbac#:#awra_read#:#L’utente ha l’accesso di lettura all’amministrazione “Chi è online?” rbac#:#awra_visible#:#L’amministrazione “Chi è online” è visibile @@ -14058,7 +14064,7 @@ rbac#:#bdga_edit_permission#:#L’utente può modificare le impostazioni di auto rbac#:#bdga_read#:#L’utente può leggere il contenuto del badge di amministrazione rbac#:#bdga_visible#:#Il badge di amministrazione è visibile rbac#:#bdga_write#:#L’utente può modificare le impostazioni del badge di amministrazione -rbac#:#bibl_copy#:#User can copy bibliography +rbac#:#bibl_copy#:#L'utente può copiare la bibliografia rbac#:#bibl_delete#:#L’utente può spostare o eliminare la bibliografia rbac#:#bibl_edit_permission#:#L’utente può modificare le impostazioni di autorizzazione rbac#:#bibl_read#:#L’utente può leggere il contenuto della bibliografia @@ -14074,19 +14080,19 @@ rbac#:#blga_edit_permission#:#Cambia le impostazioni dei permessi rbac#:#blga_read#:#Accesso consentito a Blog-Administration rbac#:#blga_visible#:#Blog Administration è visibile rbac#:#blga_write#:#Modifica Blog Administration -rbac#:#blog_contribute#:#User can contribute +rbac#:#blog_contribute#:#L'utente può contribuire rbac#:#blog_copy#:#Copia blog rbac#:#blog_delete#:#Cancella il blog rbac#:#blog_edit_permission#:#Cambiare le impostazioni rbac#:#blog_read#:#Il blog è leggibile -rbac#:#blog_redact#:#User can edit all postings +rbac#:#blog_redact#:#L'utente può modificare tutti i post rbac#:#blog_visible#:#Il blog iè visibile rbac#:#blog_write#:#L'utente può modificare il blog rbac#:#book_copy#:#L’utente può copiare il gruppo di prenotazione rbac#:#book_delete#:#L'utente può cancellare o spostare il pool di prenotazione rbac#:#book_edit_permission#:#Cambia permessi di accesso -rbac#:#book_manage_all_reservations#:#User can manage all reservations###28 10 2024 new variable -rbac#:#book_manage_own_reservations#:#User can manage own reservations###28 10 2024 new variable +rbac#:#book_manage_all_reservations#:#User can manage all reservations###28 11 2025 new variable +rbac#:#book_manage_own_reservations#:#User can manage own reservations###28 11 2025 new variable rbac#:#book_read#:#Salva le prenotazioni in Booking Pool rbac#:#book_visible#:#Booking Pool è visibile rbac#:#book_write#:#Modifica Booking Pool @@ -14125,54 +14131,54 @@ rbac#:#change_existing_prefix#:#Modifica esistente rbac#:#change_existing_prefix_single#:#Modifica rbac#:#change_existing_suffix#:#Cambiare rbac#:#change_existing_suffix_single#:#Adattare -rbac#:#change_presentation#:#Change Presentation###07 02 2020 new variable -rbac#:#chtr_delete#:#User can move or delete course +rbac#:#change_presentation#:#Presentazione del cambiamento +rbac#:#chtr_delete#:#L'utente può spostare o cancellare il corso rbac#:#chtr_edit_permission#:#Cambia i permessi rbac#:#chtr_moderate#:#Modera la Chatroom rbac#:#chtr_read#:#Leggi rbac#:#chtr_visible#:#Visibile rbac#:#chtr_write#:#Scrivi -rbac#:#cmis_edit_permission#:#User can change permission settings of xAPI/cmi5 administration.###29 10 2025 new variable -rbac#:#cmis_read#:#User has read access to xAPI/cmi5 administration.###29 07 2022 new variable -rbac#:#cmis_visible#:#Administration of xAPI/cmi5 is visible.###29 07 2022 new variable -rbac#:#cmis_write#:#User can edit settings of xAPI/cmi5 administration.###29 07 2022 new variable -rbac#:#cmix_copy#:#User can copy xAPI/cmi5 Object###07 02 2020 new variable -rbac#:#cmix_delete#:#User can move or delete xAPI/cmi5 Object###07 02 2020 new variable -rbac#:#cmix_edit_learning_progress#:#User can edit learning progress settings###07 02 2020 new variable -rbac#:#cmix_edit_permission#:#User can change permission settings###07 02 2020 new variable -rbac#:#cmix_read#:#User can see xAPI/cmi5 Object###07 02 2020 new variable -rbac#:#cmix_read_learning_progress#:#User can view learning progress of other users###07 02 2020 new variable -rbac#:#cmix_read_outcomes#:#User can see learning experiences and ranking of other users###07 02 2020 new variable -rbac#:#cmix_visible#:#xAPI/cmi5 Object is visible###07 02 2020 new variable -rbac#:#cmix_write#:#User can edit settings of xAPI/cmi5 Object###07 02 2020 new variable +rbac#:#cmis_edit_permission#:#User can change permission settings of xAPI/cmi5 administration.###01 04 2025 new variable +rbac#:#cmis_read#:#L'utente ha accesso in lettura all'amministrazione di xAPI/cmi5. +rbac#:#cmis_visible#:#L'amministrazione di xAPI/cmi5 è visibile. +rbac#:#cmis_write#:#L'utente può modificare le impostazioni dell'amministrazione di xAPI/cmi5. +rbac#:#cmix_copy#:#L'utente può copiare l'oggetto xAPI/cmi5 +rbac#:#cmix_delete#:#L'utente può spostare o cancellare l'oggetto xAPI/cmi5 Object +rbac#:#cmix_edit_learning_progress#:#L'utente può modificare le impostazioni del progresso dell'apprendimento +rbac#:#cmix_edit_permission#:#L'utente può cambiare le impostazioni dei permessi +rbac#:#cmix_read#:#L'utente può vedere l'oggetto xAPI/cmi5 +rbac#:#cmix_read_learning_progress#:#L'utente può visualizzare i progressi di apprendimento degli altri utenti +rbac#:#cmix_read_outcomes#:#L'utente può vedere le esperienze di apprendimento e la classifica degli altri utenti +rbac#:#cmix_visible#:#L'oggetto xAPI/cmi5 è visibile +rbac#:#cmix_write#:#L'utente può modificare le impostazioni dell'oggetto xAPI/cmi5 rbac#:#cmps_edit_permission#:#Cambia le impostazioni dei permessi rbac#:#cmps_read#:#Accesso in lettura alle impostazioni dei Componenti rbac#:#cmps_visible#:#Le impostazioni dei componenti sono visibili rbac#:#cmps_write#:#Edita le impostazioni dei Componenti -rbac#:#coms_edit_permissions#:#User can change permission settings of administration of Comments.###29 07 2022 new variable -rbac#:#coms_read#:#User has read access to administration of Comments.###29 07 2022 new variable -rbac#:#coms_visible#:#Administration of Comments is visible.###29 07 2022 new variable -rbac#:#coms_write#:#User can edit settings of administration of Comments.###29 07 2022 new variable +rbac#:#coms_edit_permissions#:#L'utente può cambiare le impostazioni dei permessi di amministrazione dei commenti. +rbac#:#coms_read#:#L'utente ha accesso in lettura all'amministrazione dei commenti. +rbac#:#coms_visible#:#L'amministrazione dei commenti è visibile. +rbac#:#coms_write#:#L'utente può modificare le impostazioni di amministrazione dei commenti. rbac#:#condition_failed#:#Non riuscito rbac#:#condition_learning_progress#:#Derivare dal progresso di apprendimento -rbac#:#condition_result_range_percentage#:#Result Range###28 10 2024 new variable +rbac#:#condition_result_range_percentage#:#Result Range###28 11 2025 new variable rbac#:#contribute#:#Contribuisci -rbac#:#copa_copy#:#Copy Content Page -rbac#:#copa_delete#:#User can move or delete Content Page -rbac#:#copa_edit_learning_progress#:#User can edit learning progress settings -rbac#:#copa_edit_permission#:#User can change permission settings -rbac#:#copa_read#:#User can read Content Page -rbac#:#copa_read_learning_progress#:#User can view learning progress of other users -rbac#:#copa_visible#:#Content Page is visible -rbac#:#copa_write#:#User can edit Content Page -rbac#:#cpad_edit_permissions#:#User can change permission settings of administration of Content Pages.###29 07 2022 new variable -rbac#:#cpad_read#:#User has read access to administration of Content Pages.###29 07 2022 new variable -rbac#:#cpad_visible#:#Administration of Content Pages is visible.###29 07 2022 new variable -rbac#:#cpad_write#:#User can edit settings of administration of Content Pages.###29 07 2022 new variable +rbac#:#copa_copy#:#Copiare il contenuto della pagina +rbac#:#copa_delete#:#L'utente può spostare o eliminare la pagina dei contenuti +rbac#:#copa_edit_learning_progress#:#L'utente può modificare le impostazioni del progresso dell'apprendimento +rbac#:#copa_edit_permission#:#L'utente può cambiare le impostazioni dei permessi +rbac#:#copa_read#:#L'utente può leggere la pagina dei contenuti +rbac#:#copa_read_learning_progress#:#L'utente può visualizzare i progressi di apprendimento degli altri utenti +rbac#:#copa_visible#:#La pagina dei contenuti è visibile +rbac#:#copa_write#:#L'utente può modificare la pagina dei contenuti +rbac#:#cpad_edit_permissions#:#L'utente può cambiare le impostazioni dei permessi di amministrazione delle pagine di contenuto. +rbac#:#cpad_read#:#L'utente ha accesso in lettura all'amministrazione delle pagine di contenuto. +rbac#:#cpad_visible#:#L'amministrazione delle pagine di contenuto è visibile. +rbac#:#cpad_write#:#L'utente può modificare le impostazioni di amministrazione delle pagine di contenuto. rbac#:#crs_copy#:#Copia Corso rbac#:#crs_delete#:#Cancella un corso rbac#:#crs_edit_event#:#Edita gli Eventi del Calendario -rbac#:#crs_edit_learning_progress#:#Modifica i progressi dell& +rbac#:#crs_edit_learning_progress#:#L'utente può modificare le impostazioni di avanzamento dell'apprendimento rbac#:#crs_edit_permission#:#Modificare le impostazioni dei permessi rbac#:#crs_grade#:#Punteggio membri del corso rbac#:#crs_join#:#Iscriversi ad un corso @@ -14185,9 +14191,9 @@ rbac#:#crs_visible#:#Vedere un corso rbac#:#crs_write#:#Modificare un corso rbac#:#crsr_copy#:#Copia il Riferimento del Corso rbac#:#crsr_delete#:#Cancella il Riferimento del Corso -rbac#:#crsr_edit_learning_progress#:#User can edit learning progress settings###26 08 2024 new variable +rbac#:#crsr_edit_learning_progress#:#User can edit learning progress settings###28 07 2023 new variable rbac#:#crsr_edit_permission#:#Cambia le impostazioni dei permessi -rbac#:#crsr_read_learning_progress#:#User can view learning progress of other users###26 08 2024 new variable +rbac#:#crsr_read_learning_progress#:#User can view learning progress of other users###28 07 2023 new variable rbac#:#crsr_visible#:#Il riferimento del Corso è visibile rbac#:#crsr_write#:#Edita i Riferimenti del Corso rbac#:#crss_edit_permission#:#L’utente può modificare le impostazioni di autorizzazione nell’amministrazione del corso @@ -14205,26 +14211,26 @@ rbac#:#dcl_write#:#L’utente può modificare le impostazioni e il contenuto del rbac#:#delete_files#:#Elimina file rbac#:#delete_folders#:#Elimina cartelle rbac#:#delete_wiki_pages#:#Elimina pagine -rbac#:#dpro_edit_permission#:#User can change permission settings in the Declaration of Data Protected administration###29 10 2025 new variable -rbac#:#dpro_read#:#User has read access to the Declaration of Data Protection administration###29 10 2025 new variable -rbac#:#dpro_visible#:#Declaration of Data Protection administration is visible###29 10 2025 new variable -rbac#:#dpro_write#:#Edit settings in the Declaration of Data Protection###29 10 2025 new variable -rbac#:#dshs_change_presentation#:#Change presentation of dashboard view###07 02 2020 new variable -rbac#:#dshs_edit_permission#:#User can change permission settings of Dashboard administration###07 02 2020 new variable -rbac#:#dshs_read#:#User has read access to Dashboard administration###07 02 2020 new variable -rbac#:#dshs_visible#:#Dashboard administration is visible###07 02 2020 new variable -rbac#:#dshs_write#:#Edit settings of Dashboard administration###07 02 2020 new variable +rbac#:#dpro_edit_permission#:#User can change permission settings in the Declaration of Data Protected administration###01 04 2025 new variable +rbac#:#dpro_read#:#User has read access to the Declaration of Data Protection administration###01 04 2025 new variable +rbac#:#dpro_visible#:#Declaration of Data Protection administration is visible###01 04 2025 new variable +rbac#:#dpro_write#:#Edit settings in the Declaration of Data Protection###01 04 2025 new variable +rbac#:#dshs_change_presentation#:#Cambiare la presentazione della vista della dashboard +rbac#:#dshs_edit_permission#:#L'utente può cambiare le impostazioni dei permessi di amministrazione della Dashboard +rbac#:#dshs_read#:#L'utente ha accesso in lettura all'amministrazione della Dashboard +rbac#:#dshs_visible#:#L'amministrazione della Dashboard è visibile +rbac#:#dshs_write#:#Modifica le impostazioni dell'amministrazione della Dashboard rbac#:#ecss_edit_permission#:#L’utente può modificare le impostazioni di autorizzazioni dell’amministrazione ESC rbac#:#ecss_read#:#L’utente può leggere le impostazioni generali di ECS rbac#:#ecss_visible#:#Le impostazioni ESC sono visibili rbac#:#ecss_write#:#L’utente può modificare le impostazioni ESC rbac#:#edit_event#:#Modifica calendario -rbac#:#edit_file#:#Edit File###26 08 2024 new variable -rbac#:#edit_in_online_editor#:#Open in online editor###29 07 2022 new variable +rbac#:#edit_file#:#Edit File###30 04 2024 new variable +rbac#:#edit_in_online_editor#:#Open in online editor rbac#:#edit_learning_progress#:#Modificare i progressi didattici rbac#:#edit_members#:#Gestisci membri rbac#:#edit_permission#:#Modifica delle autorizzazioni -rbac#:#edit_roleassignment#:#Modifica l& +rbac#:#edit_roleassignment#:#Modifica assegnazione di ruolo rbac#:#edit_submissions_grades#:#Modifica di presentazioni e punteggi rbac#:#edit_userassignment#:#Modifica assegnazione utente rbac#:#edit_wiki_navigation#:#Modifica navigazione @@ -14241,37 +14247,37 @@ rbac#:#excs_edit_permission#:#L’utente può modificare le impostazioni di auto rbac#:#excs_read#:#L’utente ha l’accesso di lettura all’amministrazione dell’esercizio rbac#:#excs_visible#:#L'amministrazione dell’esercizio è visibile rbac#:#excs_write#:#Modifica impostazioni nell’amministrazione dell’esercizio -rbac#:#export_member_data#:#Access to User Data +rbac#:#export_member_data#:#Accesso ai dati dell'utente rbac#:#extt_edit_permission#:#Modifica le impostazioni dei permessi rbac#:#extt_read#:#Accedere alle impostazioni del software di una terza parte rbac#:#extt_visible#:#Vedere le impostazioni del software di terze parti rbac#:#extt_write#:#Modificare le impostazioni del software di terze parti rbac#:#facs_edit_permission#:#Cambia le impostazioni dei permessi rbac#:#facs_read#:#Accesso in lettura alle impostazioni di files e cartelle -rbac#:#facs_upload_blacklisted_files#:#Upload indexed file types despite blacklist###07 02 2020 new variable +rbac#:#facs_upload_blacklisted_files#:#Caricare tipi di file indicizzati nonostante la lista nera rbac#:#facs_visible#:#Le impostazioni dei files e cartelle sono visibili rbac#:#facs_write#:#Edita le impostazioni dei files e cartelle rbac#:#feed_copy#:#L’utente può copiare il web feed rbac#:#feed_delete#:#Cancella Web Feed rbac#:#feed_edit_permission#:#Modifica impostazioni dei permessi -rbac#:#feed_read#:#Read access to Web Feed +rbac#:#feed_read#:#Leggi l'accesso al Web Feed rbac#:#feed_write#:#Modifica Web Feed -rbac#:#file_content#:#Show Content###29 10 2025 new variable +rbac#:#file_content#:#Show Content###28 11 2025 new variable rbac#:#file_copy#:#Copia File rbac#:#file_delete#:#Cancellare un file -rbac#:#file_edit_file#:#Allow to edit the file in an external editor, if available###26 08 2024 new variable +rbac#:#file_edit_file#:#Allow to edit the file in an external editor, if available###30 04 2024 new variable rbac#:#file_edit_learning_progress#:#L’utente può modificare le impostazioni di progresso rbac#:#file_edit_permission#:#Modificare le impostazioni dei permessi rbac#:#file_read#:#Scaricare un file rbac#:#file_read_learning_progress#:#L’utente può visualizzare il progresso di apprendimento degli altri utenti -rbac#:#file_view_content#:#File content presented in browser (if WOPI is active)###29 10 2025 new variable +rbac#:#file_view_content#:#File content presented in browser (if WOPI is active)###28 11 2025 new variable rbac#:#file_visible#:#Vedere un file rbac#:#file_write#:#Creare un file rbac#:#files_visible#:#File visibili -rbac#:#fils_edit_permissions#:#User can change permission settings of File Services administration.###29 07 2022 new variable -rbac#:#fils_read#:#User has read access to File Services administration.###29 07 2022 new variable -rbac#:#fils_visible#:#Administration of File Services is visible.###29 07 2022 new variable -rbac#:#fils_write#:#User can edit and configure File Services.###29 07 2022 new variable +rbac#:#fils_edit_permissions#:#User can change permission settings of File Services administration. +rbac#:#fils_read#:#User has read access to File Services administration. +rbac#:#fils_visible#:#Administration of File Services is visible. +rbac#:#fils_write#:#User can edit and configure File Services. rbac#:#filter_all_roles#:#Mostra tutti i ruoli del contesto corrente rbac#:#filter_global_roles#:#Mostra solo i ruoli globali rbac#:#filter_local_roles#:#Mostra solo i ruoli locali al contesto corrente @@ -14292,11 +14298,11 @@ rbac#:#frm_add_reply#:#Lo user può rispondere ad un post rbac#:#frm_add_thread#:#Aggiungi nuovo argomento rbac#:#frm_copy#:#Copia Forum rbac#:#frm_delete#:#Cancella un forum -rbac#:#frm_edit_learning_progress#:#User can edit learning progress settings###29 10 2025 new variable +rbac#:#frm_edit_learning_progress#:#User can edit learning progress settings###14 01 2025 new variable rbac#:#frm_edit_permission#:#Modifica le impostazioni dei permessi rbac#:#frm_moderate_frm#:#Modifica, cancella o censura un post rbac#:#frm_read#:#Accedi in lettura ad un forum -rbac#:#frm_read_learning_progress#:#User can view learning progress of other users###29 10 2025 new variable +rbac#:#frm_read_learning_progress#:#User can view learning progress of other users###14 01 2025 new variable rbac#:#frm_visible#:#Vedi un forum rbac#:#frm_write#:#Modifica un forum rbac#:#frma_edit_permission#:#Cambia le impostazioni dei permessi @@ -14324,11 +14330,11 @@ rbac#:#grp_read#:#Accedere in lettura ad un gruppo rbac#:#grp_read_learning_progress#:#L’utente può visualizzare il progresso di apprendimento degli altri utenti rbac#:#grp_visible#:#Vedere un gruppo rbac#:#grp_write#:#Modificare un gruppo -rbac#:#grpr_copy#:#User can copy group reference -rbac#:#grpr_delete#:#User can move or delete group reference +rbac#:#grpr_copy#:#L'utente può copiare i riferimenti di gruppo +rbac#:#grpr_delete#:#L'utente può spostare o eliminare il riferimento di gruppo rbac#:#grpr_edit_permission#:#L’utente può modificare le impostazioni di autorizzazione -rbac#:#grpr_visible#:#Group reference is visible -rbac#:#grpr_write#:#User can edit settings of group reference +rbac#:#grpr_visible#:#Il riferimento al gruppo è visibile +rbac#:#grpr_write#:#L'utente può modificare le impostazioni di riferimento del gruppo rbac#:#grps_edit_permission#:#L’utente può modificare le impostazioni di autorizzazione nell’amministrazione del gruppo rbac#:#grps_read#:#L’utente ha l’accesso di lettura all’amministrazione del gruppo rbac#:#grps_visible#:#L'amministrazione del gruppo è visibile @@ -14345,38 +14351,38 @@ rbac#:#htlm_read#:#Accedere in lettura ad un modulo HTML rbac#:#htlm_read_learning_progress#:#L’utente può visualizzare il progresso di apprendimento degli altri utenti rbac#:#htlm_visible#:#Vedere un modulo HTML rbac#:#htlm_write#:#Modificare un modulo HTML -rbac#:#iass_amend_grading#:#Amend gradings in an Individual Assessment###07 02 2020 new variable -rbac#:#iass_copy#:#Copy a Individual Assessment -rbac#:#iass_delete#:#Delete a Individual Assessment -rbac#:#iass_edit_learning_progress#:#Edit learning progress information of a Individual Assessment -rbac#:#iass_edit_members#:#Edit members of a Individual Assessment -rbac#:#iass_edit_permission#:#Edit permissions of a Individual Assessment -rbac#:#iass_read#:#Read content of a Individual Assessment -rbac#:#iass_read_learning_progress#:#View learning progress information of a Individual Assessment +rbac#:#iass_amend_grading#:#Modificare i gradi in una valutazione individuale +rbac#:#iass_copy#:#Copiare una valutazione individuale +rbac#:#iass_delete#:#Cancellare una valutazione individuale +rbac#:#iass_edit_learning_progress#:#Modifica le informazioni sul progresso dell'apprendimento di una valutazione individuale +rbac#:#iass_edit_members#:#Modifica i membri di una valutazione individuale +rbac#:#iass_edit_permission#:#Modifica i permessi di una valutazione individuale +rbac#:#iass_read#:#Leggere il contenuto di una valutazione individuale +rbac#:#iass_read_learning_progress#:#Visualizza le informazioni sul progresso dell'apprendimento di una valutazione individuale rbac#:#iass_visible#:#L’assegnazione individuale è visibile -rbac#:#iass_write#:#Edit a Individual Assessment -rbac#:#il_lti_global_role#:#LTI User###29 07 2022 new variable +rbac#:#iass_write#:#Modifica una valutazione individuale +rbac#:#il_lti_global_role#:#LTI User###09 03 2022 new variable rbac#:#il_sess_participant#:#Partecipante alla sessione rbac#:#il_sess_status_closed#:#Sessione chiusa non partecipante rbac#:#ilias_id#:#ILIAS-ID -rbac#:#impr_edit_permission#:#User can change permission settings of Legal Notice administration###29 10 2025 new variable -rbac#:#impr_read#:#User can read in Legal Notice administration###29 10 2025 new variable -rbac#:#impr_visible#:#Administration of Legal Notice is visible###29 10 2025 new variable -rbac#:#impr_write#:#User can edit content and settings of Legal Notice###29 10 2025 new variable +rbac#:#impr_edit_permission#:#User can change permission settings of Legal Notice administration###01 04 2025 new variable +rbac#:#impr_read#:#User can read in Legal Notice administration###01 04 2025 new variable +rbac#:#impr_visible#:#Administration of Legal Notice is visible###01 04 2025 new variable +rbac#:#impr_write#:#User can edit content and settings of Legal Notice###01 04 2025 new variable rbac#:#info_user_view_changed#:#Vista dell'utente modificata rbac#:#internal_mail#:#Mail interna rbac#:#invite#:#Invita per il sondaggio rbac#:#itgr_copy#:#L’utente può copiare il gruppo di elementi rbac#:#itgr_delete#:#L’utente può spostare o eliminare il gruppo di elementi rbac#:#itgr_edit_permission#:#L’utente può modificare le impostazioni di autorizzazione -rbac#:#itgr_read#:#User can read item group +rbac#:#itgr_read#:#L'utente può leggere il gruppo di articoli rbac#:#itgr_visible#:#Il gruppo di articoli è visibile rbac#:#itgr_write#:#L’utente può modificare il contenuto e le impostazioni del gruppo di elementi rbac#:#leave#:#Abbandona -rbac#:#lhts_edit_permissions#:#User can change permission settings of Learning History administration.###29 07 2022 new variable -rbac#:#lhts_read#:#User has read access to Learning History administration.###29 07 2022 new variable -rbac#:#lhts_visible#:#Administration of Learning History is visible.###29 07 2022 new variable -rbac#:#lhts_write#:#User can edit settings of Learning History administration.###29 07 2022 new variable +rbac#:#lhts_edit_permissions#:#L'utente può cambiare le impostazioni di autorizzazione dell'amministrazione di Learning History. +rbac#:#lhts_read#:#L'utente ha accesso in lettura all'amministrazione di Learning History. +rbac#:#lhts_visible#:#L'amministrazione della Learning History è visibile. +rbac#:#lhts_write#:#L'utente può modificare le impostazioni dell'amministrazione di Learning History. rbac#:#lm_copy#:#Copia ILIAS Learning Module rbac#:#lm_delete#:#Eliminare un modulo ILIAS rbac#:#lm_edit_learning_progress#:#Modifica i progressi didattici @@ -14387,66 +14393,66 @@ rbac#:#lm_visible#:#Vedere un modulo ILIAS rbac#:#lm_write#:#Modificare un modulo ILIAS rbac#:#lngf_edit_permission#:#Modificare le impostazioni dei permessi rbac#:#lngf_read#:#Accedere in lettura all'impostazione delle lingue -rbac#:#lngf_visible#:#Vedere l& -rbac#:#lngf_write#:#Write access, needed for extended language maintenance +rbac#:#lngf_visible#:#L'amministrazione della lingua è visibile +rbac#:#lngf_write#:#Accesso in scrittura, necessario per la manutenzione estesa della lingua rbac#:#logs_edit_permission#:#L’utente può modificare le impostazioni di autorizzazioni dell’amministrazione di registrazione rbac#:#logs_read#:#L’utente può leggere le impostazioni generali di registrazione rbac#:#logs_visible#:#Le impostazioni di registrazione sono visibili rbac#:#logs_write#:#L’utente può modificare le impostazioni della registrazione rbac#:#lp_other_users#:#Vedi panoramica del progresso di apprendimento degli altri utenti rbac#:#lrss_edit_permission#:#Modifica impostazioni dei permessi -rbac#:#lrss_read#:#Read access to Learning Resources Settings -rbac#:#lrss_visible#:#Learning Resources Settings are visible +rbac#:#lrss_read#:#Leggere l'accesso alle impostazioni delle risorse di apprendimento +rbac#:#lrss_visible#:#Le impostazioni delle risorse di apprendimento sono visibili rbac#:#lrss_write#:#Modifica Impostazioni delle Risorse Didattiche -rbac#:#lso_copy#:#User can copy Learning Sequence -rbac#:#lso_delete#:#User can delete Learning Sequence -rbac#:#lso_edit_learning_progress#:#User can edit learning progress settings###07 02 2020 new variable -rbac#:#lso_edit_permission#:#User can change permission settings of Learning Sequence###07 02 2020 new variable -rbac#:#lso_lp_other_users#:#User can view learning progress of other users###07 02 2020 new variable -rbac#:#lso_manage_members#:#Manage members of Learning Sequence###07 02 2020 new variable -rbac#:#lso_participate#:#User can subscribe to a Learning Sequence###07 02 2020 new variable -rbac#:#lso_read#:#Users can access the Learning Sequence###07 02 2020 new variable -rbac#:#lso_read_learning_progress#:#User can view learning progress of other users###07 02 2020 new variable -rbac#:#lso_unparticipate#:#User can unsubscribe from a Learning Sequence###07 02 2020 new variable -rbac#:#lso_visible#:#Learning Sequence is visible -rbac#:#lso_write#:#User can edit settings of Learning Sequence -rbac#:#lsos_edit_permission#:#User can change permission settings of Learning Sequences administration.###29 10 2025 new variable -rbac#:#lsos_read#:#User has read access to Learning Sequences administration.###29 07 2022 new variable -rbac#:#lsos_visible#:#Administration of Learning Sequences is visible.###29 07 2022 new variable -rbac#:#lsos_write#:#User can edit settings of Learning Sequences administration.###29 07 2022 new variable -rbac#:#lti_copy#:#User can copy LTI consumer###07 02 2020 new variable -rbac#:#lti_delete#:#User can move or delete LTI consumer###07 02 2020 new variable -rbac#:#lti_edit_learning_progress#:#User can edit learning progress settings###07 02 2020 new variable -rbac#:#lti_edit_permission#:#User can change permission settings###07 02 2020 new variable -rbac#:#lti_read#:#User can see LTI consumer###07 02 2020 new variable -rbac#:#lti_read_learning_progress#:#User can view learning progress of other users###07 02 2020 new variable -rbac#:#lti_read_outcomes#:#User can see learning experiences and ranking of other users###07 02 2020 new variable -rbac#:#lti_visible#:#LTI consumer is visible###07 02 2020 new variable -rbac#:#lti_write#:#User can edit settings of LTI consumer###07 02 2020 new variable -rbac#:#ltis_add_consume_provider#:#User can add own provider settings for LTI consumer###07 02 2020 new variable +rbac#:#lso_copy#:#L'utente può copiare la sequenza di apprendimento +rbac#:#lso_delete#:#L'utente può cancellare la sequenza di apprendimento +rbac#:#lso_edit_learning_progress#:#L'utente può modificare la sequenza di apprendimento +rbac#:#lso_edit_permission#:#L'utente può cambiare le impostazioni di autorizzazione della sequenza di apprendimento +rbac#:#lso_lp_other_users#:#L'utente può visualizzare i progressi di apprendimento degli altri utenti +rbac#:#lso_manage_members#:#Gestire i membri della sequenza di apprendimento +rbac#:#lso_participate#:#L'utente può iscriversi a una sequenza di apprendimento +rbac#:#lso_read#:#Gli utenti possono accedere alla sequenza di apprendimento +rbac#:#lso_read_learning_progress#:#L'utente può visualizzare i progressi di apprendimento degli altri utenti +rbac#:#lso_unparticipate#:#L'utente può cancellarsi da una sequenza di apprendimento +rbac#:#lso_visible#:#La sequenza di apprendimento è visibile +rbac#:#lso_write#:#L'utente può modificare le impostazioni della sequenza di apprendimento +rbac#:#lsos_edit_permission#:#User can change permission settings of Learning Sequences administration.###01 04 2025 new variable +rbac#:#lsos_read#:#L'utente ha accesso in lettura all'amministrazione delle sequenze di apprendimento. +rbac#:#lsos_visible#:#L'amministrazione delle sequenze di apprendimento è visibile. +rbac#:#lsos_write#:#L'utente può modificare le impostazioni dell'amministrazione delle sequenze di apprendimento. +rbac#:#lti_copy#:#L'utente può copiare il consumatore LTI +rbac#:#lti_delete#:#L'utente può spostare o cancellare il consumatore LTI +rbac#:#lti_edit_learning_progress#:#L'utente può modificare le impostazioni del progresso dell'apprendimento +rbac#:#lti_edit_permission#:#L'utente può cambiare le impostazioni dei permessi +rbac#:#lti_read#:#L'utente può vedere il consumer LTI +rbac#:#lti_read_learning_progress#:#L'utente può visualizzare i progressi di apprendimento degli altri utenti +rbac#:#lti_read_outcomes#:#L'utente può vedere le esperienze di apprendimento e la classifica degli altri utenti +rbac#:#lti_visible#:#LTI consumer è visibile +rbac#:#lti_write#:#L'utente può modificare le impostazioni del LTI consumer +rbac#:#ltis_add_consume_provider#:#L'utente può aggiungere le impostazioni del proprio fornitore per il consumatore LTI rbac#:#ltis_edit_permission#:#L’utente può modificare le impostazioni di autorizzazione nell’amministrazione LTI rbac#:#ltis_read#:#L’utente ha l’accesso di lettura all’amministrazione LTI rbac#:#ltis_release_objects#:#L’utente può immettere gli oggetti per il cliente LTI rbac#:#ltis_visible#:#L’amministrazione LTI è visibile rbac#:#ltis_write#:#L’utente può modificare le impostazioni dell’amministrazione LTI rbac#:#mail_internal_mail#:#L’utente può utilizzare il sistema di mail interne (ILIAS) -rbac#:#mail_mail_to_global_roles#:#User may send Emails to global roles +rbac#:#mail_mail_to_global_roles#:#L'utente può inviare e-mail a ruoli globali rbac#:#mail_read#:#Accedere in lettura alle impostazioni della posta rbac#:#mail_smtp_mail#:#Inviare eMail via SMTP -rbac#:#mail_to_global_roles#:#Mail to Global Roles +rbac#:#mail_to_global_roles#:#Mail a ruoli globali rbac#:#mail_visible#:#Vedere le impostazioni della posta rbac#:#mail_write#:#Modificare le impostazioni della posta -rbac#:#manage_all_reservations#:#Manage All Reservations###28 10 2024 new variable -rbac#:#manage_comp#:#User can edit Competences###29 07 2022 new variable -rbac#:#manage_comp_temp#:#User can edit Competence Templates###29 07 2022 new variable -rbac#:#manage_materials#:#Manage Materials -rbac#:#manage_own_reservations#:#Manage Own Reservations###28 10 2024 new variable -rbac#:#manage_profiles#:#User can edit Competence Profiles###29 07 2022 new variable +rbac#:#manage_all_reservations#:#Manage All Reservations###28 11 2025 new variable +rbac#:#manage_comp#:#User can edit Competences###31 03 2023 new variable +rbac#:#manage_comp_temp#:#User can edit Competence Templates###31 03 2023 new variable +rbac#:#manage_materials#:#Gestire i materiali +rbac#:#manage_own_reservations#:#Manage Own Reservations###28 11 2025 new variable +rbac#:#manage_profiles#:#User can edit Competence Profiles###31 03 2023 new variable rbac#:#mcst_copy#:#Copia MediaCast rbac#:#mcst_delete#:#Cancella Mediacast -rbac#:#mcst_edit_learning_progress#:#User can edit learning progress settings###07 02 2020 new variable +rbac#:#mcst_edit_learning_progress#:#L'utente può modificare le impostazioni del progresso dell'apprendimento rbac#:#mcst_edit_permission#:#Modifica impostazioni dei permessi -rbac#:#mcst_read#:#Read access to MediaCast +rbac#:#mcst_read#:#Leggi l'accesso a MediaCast rbac#:#mcst_read_learning_progress#:#L’utente può visualizzare il progresso di apprendimento degli altri utenti rbac#:#mcst_visible#:#MediaCast è visibile rbac#:#mcst_write#:#Modifica MediaCast @@ -14464,35 +14470,35 @@ rbac#:#mep_edit_permission#:#Modificare le impostazioni dei permessi rbac#:#mep_read#:#Leggi il contenuto del Media Pool rbac#:#mep_visible#:#Vedere una libreria multimediale rbac#:#mep_write#:#Modificare il contenuto di una libreria multimediale -rbac#:#mme_edit_permission#:#User can change permission settings of Main Menu administration###07 02 2020 new variable -rbac#:#mme_read#:#User has read access to administration of Main Menu###07 02 2020 new variable -rbac#:#mme_visible#:#Administration of Main Menu is visible###07 02 2020 new variable -rbac#:#mme_write#:#User can edit settings of Main Menu administration###07 02 2020 new variable -rbac#:#mobs_edit_permission#:#Change permission settings -rbac#:#mobs_read#:#Read access to Media Objects/Pools Settings -rbac#:#mobs_visible#:#Media Objects/Pools Settings are visible -rbac#:#mobs_write#:#Edit Media Objects/Pools Settings +rbac#:#mme_edit_permission#:#L'utente può cambiare le impostazioni di autorizzazione dell'amministrazione del menu principale +rbac#:#mme_read#:#L'utente ha accesso in lettura all'amministrazione del menu principale +rbac#:#mme_visible#:#L'amministrazione del menu principale è visibile +rbac#:#mme_write#:#L'utente può modificare le impostazioni dell'amministrazione del menu principale +rbac#:#mobs_edit_permission#:#Modifica le impostazioni di autorizzazione +rbac#:#mobs_read#:#Accesso in lettura agli oggetti multimediali/Pools Impostazioni +rbac#:#mobs_visible#:#Le impostazioni degli oggetti multimediali/dei pool sono visibili +rbac#:#mobs_write#:#L'utente può modificare le impostazioni degli oggetti multimediali/dei pool rbac#:#moderate#:#Moderare rbac#:#moderate_frm#:#Moderare -rbac#:#msg_anonymous_cannot_be_assigned#:#Anonymous cannot be assigned to a role.###26 08 2024 new variable +rbac#:#msg_anonymous_cannot_be_assigned#:#Anonymous cannot be assigned to a role.###19 03 2024 new variable rbac#:#msg_no_roles_of_type#:#Non sono disponibili ruoli, con queste impostazioni di filtro. rbac#:#news_add_news#:#Aggiungi notizie -rbac#:#no_corresponding_roles#:#No corresponding roles could be found.###29 10 2025 new variable -rbac#:#nots_edit_permission#:#User can change permission settings of Notes administration.###29 10 2025 new variable -rbac#:#nots_read#:#User has read access to Notes administration.###29 07 2022 new variable -rbac#:#nots_visible#:#Administration of Notes is visible.###29 07 2022 new variable -rbac#:#nots_write#:#User can edit settings of Notes administration.###29 07 2022 new variable +rbac#:#no_corresponding_roles#:#No corresponding roles could be found.###01 04 2025 new variable +rbac#:#nots_edit_permission#:#User can change permission settings of Notes administration.###01 04 2025 new variable +rbac#:#nots_read#:#L'utente ha accesso in lettura all'amministrazione di Notes. +rbac#:#nots_visible#:#L'amministrazione di Notes è visibile. +rbac#:#nots_write#:#L'utente può modificare le impostazioni dell'amministrazione di Notes. rbac#:#nwss_edit_permission#:#Modifica impostazioni dei permessi -rbac#:#nwss_read#:#Read access to News and Web Feeds Settings -rbac#:#nwss_visible#:#News and Web Feeds Settings are visible +rbac#:#nwss_read#:#Accesso in lettura alle impostazioni Notizie e feed Web +rbac#:#nwss_visible#:#Le impostazioni delle notizie e dei feed web sono visibili rbac#:#nwss_write#:#Modifica le impostazioni alle News ed ai Web Feeds -rbac#:#obj_skee#:#Competence Tree###29 07 2022 new variable -rbac#:#org_op_access_results#:#Access Results of Subordinated Users +rbac#:#obj_skee#:#Competence Tree###31 03 2023 new variable +rbac#:#org_op_access_results#:#Risultati di accesso degli utenti subordinati rbac#:#org_op_edit_submissions_grades#:#Modifica le presentazioni degli altri utenti -rbac#:#org_op_manage_participants#:#Manage Subordinated Participants -rbac#:#org_op_score_participants#:#Score Subordinated Participants -rbac#:#org_op_view_certificates#:#View certificates of subordinated users###07 02 2020 new variable -rbac#:#org_op_view_competences#:#View competences of subordinated users###07 02 2020 new variable +rbac#:#org_op_manage_participants#:#Gestire i partecipanti in oggetto +rbac#:#org_op_score_participants#:#Punteggio Partecipanti in oggetto +rbac#:#org_op_view_certificates#:#Visualizzare i certificati degli utenti in oggetto +rbac#:#org_op_view_competences#:#Visualizzare le competenze degli utenti in oggetto rbac#:#org_op_write_learning_progress#:#Imposta il progresso di apprendimento degli utenti subordinati rbac#:#orgu_cat_administrate_users#:#L’utente può creare e amministrare gli account degli utenti locali in questa unità organizzativa rbac#:#orgu_copy#:#Copia unità organizzativa @@ -14504,23 +14510,23 @@ rbac#:#orgu_view_learning_progress#:#Visualizza il progresso dell'apprendimento rbac#:#orgu_view_learning_progress_rec#:#Visualizza il progresso dell'apprendimento delle unità incluse le sottounità rbac#:#orgu_visible#:#L’unità organizzativa è visibile rbac#:#orgu_write#:#L’utente può modificare le impostazione dell’unità organizzativa -rbac#:#otpl_edit_permission#:#Change Permission Settings -rbac#:#otpl_read#:#Read Access to Object Template Settings -rbac#:#otpl_visible#:#Object Template Settings are visible -rbac#:#otpl_write#:#Edit Object Template Settings +rbac#:#otpl_edit_permission#:#Cambiare le impostazioni dei permessi +rbac#:#otpl_read#:#Accesso in lettura alle impostazioni del modello di oggetto +rbac#:#otpl_visible#:#Le impostazioni del modello di oggetto sono visibili +rbac#:#otpl_write#:#Modifica delle impostazioni del modello di oggetto rbac#:#perm_class_create#:#Creare nuovi oggetti -rbac#:#perm_class_create_desc#:#Determina quale tipo di oggetto pu& +rbac#:#perm_class_create_desc#:#Determina quali tipi di oggetto possono essere creati sotto l'oggetto corrente. rbac#:#perm_class_object#:#Operazioni speciali rbac#:#perm_class_object_desc#:#Operazioni relative ai singoli oggetti, sono disponibili solamente per alcuni tipi di oggetto. rbac#:#perm_global_role#:#Ruolo globale rbac#:#perm_local_role#:#Ruoli locali -rbac#:#perm_local_role_desc#:#Questo ruolo & +rbac#:#perm_local_role_desc#:#Questo ruolo è definito localmente nell'oggetto corrente e corrisponde a una politica locale rbac#:#perm_protected_global_role#:#Ruolo globale protetto rbac#:#perm_protected_local_role#:#Ruolo locale protetto rbac#:#perm_role_path_info_created#:#Creato in %1$s "%2$s" rbac#:#perm_role_path_info_inheritance#:#utilizzo della politica locale da %1$s "%2$s" rbac#:#perm_use_local_policy#:#Utilizzare una politica locale -rbac#:#perm_use_local_policy_desc#:#Se la politica locale & +rbac#:#perm_use_local_policy_desc#:#Se la politica locale è attivata, è possibile definire diverse impostazioni di autorizzazione predefinite per l'oggetto corrente. rbac#:#poll_copy#:#L’utente può copiare il gruppo rbac#:#poll_delete#:#L’utente può spostare o eliminare il gruppo rbac#:#poll_edit_permission#:#L’utente può modificare le impostazioni di autorizzazione @@ -14530,38 +14536,38 @@ rbac#:#poll_write#:#L’utente può modificare le impostazione e il contenuto de rbac#:#positions_override_operations#:#Ignora impostazioni globali rbac#:#precondition_not_obligatory_alt#:#La condizione preliminare è facoltativa rbac#:#precondition_num_obligatory#:#Numero di materiali richiesti -rbac#:#precondition_num_optional_info#:#Please enter the minimum number of materials which is required for fullfilling this precondition. -rbac#:#precondition_obligatory#:#Obligatory +rbac#:#precondition_num_optional_info#:#Si prega di inserire il numero minimo di materiali che è richiesto per soddisfare questa precondizione. +rbac#:#precondition_obligatory#:#Obbligatorio rbac#:#precondition_obligatory_alt#:#La condizione preliminare deve essere soddisfatta -rbac#:#precondition_obligatory_info#:#Obligatory preconditions must be fulfilled, for having access. +rbac#:#precondition_obligatory_info#:#Devono essere soddisfatte precondizioni obbligatorie per avere accesso. rbac#:#precondition_obligatory_settings#:#Impostazioni condizione preliminare -rbac#:#precondition_operator_range_err_min_max#:#The minimum value must be less than the maximum value.###28 10 2024 new variable -rbac#:#precondition_operator_range_max#:#Maximum Percentage###28 10 2024 new variable -rbac#:#precondition_operator_range_min#:#Minimum Percentage###28 10 2024 new variable -rbac#:#prfa_edit_permission#:#Change permission settings -rbac#:#prfa_read#:#Read access to Portfolio Administration +rbac#:#precondition_operator_range_err_min_max#:#The minimum value must be less than the maximum value.###28 11 2025 new variable +rbac#:#precondition_operator_range_max#:#Maximum Percentage###28 11 2025 new variable +rbac#:#precondition_operator_range_min#:#Minimum Percentage###28 11 2025 new variable +rbac#:#prfa_edit_permission#:#L'utente può cambiare le impostazioni dei permessi dell'amministrazione del Portfolio +rbac#:#prfa_read#:#L'utente ha accesso in lettura all'amministrazione del Portfolioportafoglio rbac#:#prfa_visible#:#L'amministrazione del portfolio è visibile -rbac#:#prfa_write#:#Edit Portfolio Administration +rbac#:#prfa_write#:#Modifica amministrazione del portafoglio rbac#:#prg_copy#:#L’utente può copiare il programma di studio -rbac#:#prg_delete#:#L’utente può eliminare il programma di studio +rbac#:#prg_delete#:#L'utente può eliminare il programma di studio rbac#:#prg_edit_permission#:#L’utente può modificare le impostazioni di autorizzazione rbac#:#prg_manage_members#:#Gestisci membri del programma di studio rbac#:#prg_read#:#L’utente ha l’accesso di lettura al programma di studio rbac#:#prg_visible#:#Programma di studio visibile rbac#:#prg_write#:#L’utente può modificare le impostazione del programma di studio -rbac#:#prgr_copy#:#User can copy links to study programmes.###29 07 2022 new variable -rbac#:#prgr_delete#:#User can move or delete links to study programmes.###29 07 2022 new variable -rbac#:#prgr_edit_permission#:#User can change permission settings.###29 07 2022 new variable -rbac#:#prgr_visible#:#Links to study programmes are visible and can be used###29 07 2022 new variable -rbac#:#prgr_write#:#User can edit settings of links to study programmes.###29 07 2022 new variable +rbac#:#prgr_copy#:#L'utente può copiare i link ai programmi di studio +rbac#:#prgr_delete#:#L'utente può spostare o cancellare i link ai programmi di studio +rbac#:#prgr_edit_permission#:#L'utente può cambiare le impostazioni dei permessi +rbac#:#prgr_visible#:#I link ai programmi di studio sono visibili e possono essere utilizzati +rbac#:#prgr_write#:#L'utente può modificare le impostazioni dei collegamenti ai programmi di studio rbac#:#prgs_edit_permission#:#Cambia impostazioni di autorizzazione nell’amministrazione del programma di studio rbac#:#prgs_read#:#L’utente ha l’accesso di lettura all’amministrazione del programma di studio rbac#:#prgs_visible#:#Amministrazione del programma di studio visibile rbac#:#prgs_write#:#Modifica impostazioni nell’amministrazione del programma di studio -rbac#:#prss_edit_permission#:#User can change permission settings of Personal Resources administration.###29 10 2025 new variable -rbac#:#prss_read#:#User has read access to Personal Resources administration.###29 07 2022 new variable -rbac#:#prss_visible#:#Administration of Personal Resources is visible.###29 07 2022 new variable -rbac#:#prss_write#:#User can edit settings of Personal Resources administration.###29 07 2022 new variable +rbac#:#prss_edit_permission#:#User can change permission settings of Personal Resources administration.###01 04 2025 new variable +rbac#:#prss_read#:#L'utente ha accesso in lettura all'amministrazione delle risorse personali. +rbac#:#prss_visible#:#L'amministrazione delle risorse personali è visibile. +rbac#:#prss_write#:#L'utente può modificare le impostazioni dell'amministrazione delle risorse personali. rbac#:#prtt_copy#:#L’utente può copiare il modello di portfolio rbac#:#prtt_delete#:#L’utente può spostare o eliminare il modello di portfolio rbac#:#prtt_edit_permission#:#L’utente può modificare le impostazioni di autorizzazione per il modello di portfolio @@ -14569,37 +14575,37 @@ rbac#:#prtt_read#:#L’utente ha l’accesso di lettura al modello di portfolio rbac#:#prtt_visible#:#Il modello del portfolio è visibile rbac#:#prtt_write#:#L’utente può modificare le impostazioni e il contenuto del modello di portfolio rbac#:#ps_edit_permission#:#Modifica impostazioni dei permessi -rbac#:#ps_export_member_data#:#User may Export Member Data -rbac#:#ps_read#:#Read Access to Privacy/Security Settings -rbac#:#ps_visible#:#Privacy/Security Settings are Visible -rbac#:#ps_write#:#Modifica Privacy/Security -rbac#:#push_desktop_items#:#Recommend Content###29 07 2022 new variable -rbac#:#qpl_copy#:#Copy Test Question Pool +rbac#:#ps_export_member_data#:#L'utente può esportare i dati dei membri +rbac#:#ps_read#:#L'utente ha accesso in lettura all'amministrazione di Privacy/Sicurezza +rbac#:#ps_visible#:#Le impostazioni di privacy/sicurezza sono visibili +rbac#:#ps_write#:#L'utente può modificare le impostazioni nell'amministrazione di Privacy/Sicurezza +rbac#:#push_desktop_items#:#Raccomandare il contenuto +rbac#:#qpl_copy#:#L'utente può copiare il pool di domande per i test rbac#:#qpl_delete#:#Eliminare una raccolta di domande rbac#:#qpl_edit_permission#:#Modificare le impostazioni dei permessi rbac#:#qpl_read#:#Accedere in lettura ad una raccolta di domande rbac#:#qpl_visible#:#Vedere una raccolta di domande rbac#:#qpl_write#:#Modificare una raccolta di domande rbac#:#rbac_add_new_local_role#:#Aggiungi nuovo ruolo locale -rbac#:#rbac_add_recommended_content#:#Recommended Content###07 02 2020 new variable -rbac#:#rbac_add_recommended_content_info#:#Adds the current object '%1' for all members of the role as recommended content.###07 02 2020 new variable +rbac#:#rbac_add_recommended_content#:#Contenuto raccomandato +rbac#:#rbac_add_recommended_content_info#:#Aggiunge l'oggetto corrente '%1' per tutti i membri del ruolo come contenuto raccomandato. rbac#:#rbac_admin_permissions#:#Autorizzazioni di amministrazione rbac#:#rbac_auto_global#:#Ruolo globale generato automaticamente rbac#:#rbac_auto_local#:#Ruolo locale generato automaticamente rbac#:#rbac_auto_rolt#:#Modello di ruolo generato automaticamente rbac#:#rbac_back_to_overview#:#Torna all’elenco ruolo rbac#:#rbac_cant_import_role_wrong_type#:#Non si può importare un ruolo dalla voce %s alla voce %s. -rbac#:#rbac_change_existing_confirm_tbl#:#Settings for "Change Existing Objects" -rbac#:#rbac_change_existing_objects_desc_new_role#:#The permission settings of this role will be adpoted to ALL existing objects. +rbac#:#rbac_change_existing_confirm_tbl#:#Impostazioni per "Cambiare gli oggetti esistenti +rbac#:#rbac_change_existing_objects_desc_new_role#:#Le impostazioni dei permessi di questo ruolo saranno applicate a TUTTI gli oggetti esistenti. rbac#:#rbac_changes#:#Modifiche -rbac#:#rbac_choose_copy_targets#:#Please enter a quer for selecting the target roles. +rbac#:#rbac_choose_copy_targets#:#Inserisci una domanda per selezionare i ruoli di destinazione. rbac#:#rbac_condition_delete_sure#:#Sei sicuro di voler eliminare le seguenti condizioni preliminari? rbac#:#rbac_context_global#:#Globale rbac#:#rbac_copy_behaviour#:#Impostazioni copia ruolo -rbac#:#rbac_copy_behaviour_info#:#Transfer Permissions from: %s to: %s###29 10 2025 new variable +rbac#:#rbac_copy_behaviour_info#:#Transfer Permissions from: %s to: %s###20 05 2025 new variable rbac#:#rbac_copy_finished#:#Copia terminata. -rbac#:#rbac_copy_multi_targets#:#%s, %s and %s further Roles selected%s###29 10 2025 new variable -rbac#:#rbac_copy_no_targets#:#At least one Role must be selected as Target###29 10 2025 new variable +rbac#:#rbac_copy_multi_targets#:#%s, %s and %s further Roles selected%s###20 05 2025 new variable +rbac#:#rbac_copy_no_targets#:#At least one Role must be selected as Target###20 05 2025 new variable rbac#:#rbac_copy_role#:#Copia ruolo rbac#:#rbac_copy_role_add_perm#:#Aggiungi permessi rbac#:#rbac_copy_role_copy#:#Autorizzazioni di copia @@ -14607,13 +14613,13 @@ rbac#:#rbac_copy_role_remove_perm#:#Rimuovi permessi rbac#:#rbac_create_bibl#:#Crea bibliografia rbac#:#rbac_create_blog#:#Crea blog rbac#:#rbac_create_book#:#Crea gruppo di prenotazione -rbac#:#rbac_create_cat#:#Creare nuovi contesti -rbac#:#rbac_create_catr#:#Creare il Riferimento di Categoria -rbac#:#rbac_create_chtr#:#Create Chatroom -rbac#:#rbac_create_cmix#:#Create xAPI/cmi5 Object###07 02 2020 new variable -rbac#:#rbac_create_copa#:#Create Content Page +rbac#:#rbac_create_cat#:#Crea nuovi contesti +rbac#:#rbac_create_catr#:#Crea il Riferimento di Categoria +rbac#:#rbac_create_chtr#:#Crea Chatroom +rbac#:#rbac_create_cmix#:#Crea un oggetto xAPI/cmi5 +rbac#:#rbac_create_copa#:#Crea una pagina di contenuto rbac#:#rbac_create_crs#:#Crea corso -rbac#:#rbac_create_crsr#:#Create Course Referenc +rbac#:#rbac_create_crsr#:#Crea un riferimento al corso rbac#:#rbac_create_dcl#:#Crea raccolta dati rbac#:#rbac_create_exc#:#Crea esercizio rbac#:#rbac_create_file#:#Carica file @@ -14621,27 +14627,27 @@ rbac#:#rbac_create_fold#:#Crea una cartella rbac#:#rbac_create_frm#:#Crea forum rbac#:#rbac_create_glo#:#Crea glossario rbac#:#rbac_create_grp#:#Crea gruppo -rbac#:#rbac_create_grpr#:#Create Group Reference +rbac#:#rbac_create_grpr#:#Crea un riferimento di gruppo rbac#:#rbac_create_htlm#:#Crea modulo di apprendimento HTML rbac#:#rbac_create_iass#:#Crea assegnazione individuale rbac#:#rbac_create_itgr#:#Crea gruppo di elementi rbac#:#rbac_create_lm#:#Crea modulo di apprendimento ILIAS -rbac#:#rbac_create_lso#:#Create Learning Sequence -rbac#:#rbac_create_lti#:#Create LTI Consumer###07 02 2020 new variable +rbac#:#rbac_create_lso#:#Crea una sequenza di apprendimento +rbac#:#rbac_create_lti#:#Crea LTI Consumer rbac#:#rbac_create_mcst#:#Crea Mediacast rbac#:#rbac_create_mep#:#Crea gruppo di supporto rbac#:#rbac_create_orgu#:#Crea unità organizzative rbac#:#rbac_create_poll#:#Crea gruppo rbac#:#rbac_create_prg#:#Crea programma di studio -rbac#:#rbac_create_prgr#:#Create link to study programme###29 07 2022 new variable +rbac#:#rbac_create_prgr#:#Creare un collegamento al programma di studio rbac#:#rbac_create_prtt#:#Crea modello di portfolio rbac#:#rbac_create_qpl#:#Crea un testo del gruppo di domande -rbac#:#rbac_create_rcrs#:#Create Course-Link +rbac#:#rbac_create_rcrs#:#Creare il link al corso rbac#:#rbac_create_role#:#Crea nuovo ruolo rbac#:#rbac_create_rolt#:#Crea nuovo modello di ruolo -rbac#:#rbac_create_sahs#:#Create SCORM/AICC Learning Module +rbac#:#rbac_create_sahs#:#Creare un modulo di apprendimento SCORM/AICC rbac#:#rbac_create_sess#:#Crea sessione -rbac#:#rbac_create_skee#:#Create Competence Tree###26 08 2024 new variable +rbac#:#rbac_create_skee#:#Create Competence Tree###28 11 2023 new variable rbac#:#rbac_create_spl#:#Crea sondaggio gruppo di domande rbac#:#rbac_create_svy#:#Crea sondaggio rbac#:#rbac_create_tst#:#Crea test @@ -14652,26 +14658,26 @@ rbac#:#rbac_delete_local_policies#:#Elimina criteri locali rbac#:#rbac_delete_local_policies_info#:#Se attivati, tutti i criteri locali verranno eliminati. Le autorizzazioni degli oggetti verranno riscritte e protette. rbac#:#rbac_delete_role#:#Cancella ruolo rbac#:#rbac_edit_condition#:#Modifica condizione preliminare -rbac#:#rbac_form_copy_roles_adjust_button#:#Rechte anpassen###29 07 2022 new variable -rbac#:#rbac_form_copy_roles_adjust_type#:#Typ der Rechteanpassung###29 07 2022 new variable -rbac#:#rbac_form_copy_roles_adjust_type_add#:#Rechte hinzufügen###29 07 2022 new variable -rbac#:#rbac_form_copy_roles_adjust_type_add_info#:#Fügt MARKIERTE Rechte der ausgewählten globalen Rollenvorlage zu den lokalen Rechtevorgabe hinzu.###29 07 2022 new variable -rbac#:#rbac_form_copy_roles_adjust_type_clone#:#Rechte kopieren###29 07 2022 new variable -rbac#:#rbac_form_copy_roles_adjust_type_clone_info#:#Alle Rechte der ausgewählten globalen Rollenvorlage überschreiben alle lokalen Rechtevorgaben.###29 07 2022 new variable -rbac#:#rbac_form_copy_roles_adjust_type_remove#:#Rechte entfernen###29 07 2022 new variable -rbac#:#rbac_form_copy_roles_adjust_type_remove_info#:#Entfernt die MARKIERTEN Rechte der ausgewählten globalen Rollenvorlage aus den lokalen Rechtevorgaben.###29 07 2022 new variable -rbac#:#rbac_form_copy_roles_ce_add_no#:#Vorhandene Objekte NICHT anpassen###29 07 2022 new variable -rbac#:#rbac_form_copy_roles_ce_add_no_info#:#Vorhandene lokale Rechtevorgaben entsprechend ergänzt, die vorhandenen Objekte werden nicht in ihren Rechten angepasst.###29 07 2022 new variable -rbac#:#rbac_form_copy_roles_ce_add_yes#:#Vorhandene Objekte nur um ausgewählte Rechte ergänzen###29 07 2022 new variable -rbac#:#rbac_form_copy_roles_ce_add_yes_info#:#Vorhandene lokale Rechtevorgaben und die Rechteeinstellungen vorhandener Objekte werden entsprechend ergänzt.###29 07 2022 new variable -rbac#:#rbac_form_copy_roles_ce_clone_no#:#Vorhandene Objekte NICHT anpassen###29 07 2022 new variable -rbac#:#rbac_form_copy_roles_ce_clone_no_info#:#Vorhandene lokale Rechtevorgaben werden überschrieben, die vorhandenen Objekte werden nicht in ihren Rechten angepasst.###29 07 2022 new variable -rbac#:#rbac_form_copy_roles_ce_clone_yes#:#Vorhandene Objekte ändern###29 07 2022 new variable -rbac#:#rbac_form_copy_roles_ce_clone_yes_info#:#Vorhandene lokale Rechtevorgaben entsprechend überschreiben und IN GÄNZE mit allen gecheckten und ungecheckten Vorgaben auf vorhandene Objekte angewendet.###29 07 2022 new variable -rbac#:#rbac_form_copy_roles_ce_remove_no#:#Vorhandene Objekte NICHT anpassen###29 07 2022 new variable -rbac#:#rbac_form_copy_roles_ce_remove_no_info#:#Markierte Rechte werden aus vorhandenen lokalen Rechtevorgaben entfernt, die vorhandenen Objekte werden nicht in ihren Rechten angepasst.###29 07 2022 new variable -rbac#:#rbac_form_copy_roles_ce_remove_yes#:#Vorhandene Objekte nur um ausgewählte Rechte reduzieren###29 07 2022 new variable -rbac#:#rbac_form_copy_roles_ce_remove_yes_info#:#Vorhandene lokale Rechtevorgaben und die Rechteeinstellungen vorhandener Objekte werden entsprechend reduziert.###29 07 2022 new variable +rbac#:#rbac_form_copy_roles_adjust_button#:#Adattare i diritti +rbac#:#rbac_form_copy_roles_adjust_type#:#Tipo di regolazione dei diritti +rbac#:#rbac_form_copy_roles_adjust_type_add#:#Aggiungere diritti +rbac#:#rbac_form_copy_roles_adjust_type_add_info#:#Aggiunge i diritti MARKED del modello di ruolo globale selezionato al modello dei diritti locali. +rbac#:#rbac_form_copy_roles_adjust_type_clone#:#Diritti di copia +rbac#:#rbac_form_copy_roles_adjust_type_clone_info#:#Tutti i permessi del modello di ruolo globale selezionato sovrascrivono tutte le impostazioni dei permessi locali. +rbac#:#rbac_form_copy_roles_adjust_type_remove#:#Rimuovere i diritti +rbac#:#rbac_form_copy_roles_adjust_type_remove_info#:#Rimuove i permessi MARCATI del modello di ruolo globale selezionato dalle impostazioni dei permessi locali. +rbac#:#rbac_form_copy_roles_ce_add_no#:#NON modificare gli oggetti esistenti +rbac#:#rbac_form_copy_roles_ce_add_no_info#:#Le specifiche dei diritti locali esistenti sono completate di conseguenza, i diritti degli oggetti esistenti non sono adattati. +rbac#:#rbac_form_copy_roles_ce_add_yes#:#Aggiungere solo i diritti selezionati agli oggetti esistenti +rbac#:#rbac_form_copy_roles_ce_add_yes_info#:#Le impostazioni dei diritti locali esistenti e le impostazioni dei diritti degli oggetti esistenti sono integrate di conseguenza. +rbac#:#rbac_form_copy_roles_ce_clone_no#:#NON modificare gli oggetti esistenti +rbac#:#rbac_form_copy_roles_ce_clone_no_info#:#I diritti locali predefiniti esistenti vengono sovrascritti, gli oggetti esistenti non vengono regolati nei loro diritti. +rbac#:#rbac_form_copy_roles_ce_clone_yes#:#Modificare gli oggetti esistenti +rbac#:#rbac_form_copy_roles_ce_clone_yes_info#:#Sovrascrivere le impostazioni predefinite dei diritti locali esistenti di conseguenza e applicate IN TUTTO con tutte le impostazioni predefinite spuntate e non spuntate applicate agli oggetti esistenti. +rbac#:#rbac_form_copy_roles_ce_remove_no#:#NON modificare gli oggetti esistenti +rbac#:#rbac_form_copy_roles_ce_remove_no_info#:#I diritti marcati vengono rimossi dalle impostazioni dei diritti locali esistenti, gli oggetti esistenti non vengono adeguati nei loro diritti. +rbac#:#rbac_form_copy_roles_ce_remove_yes#:#Ridurre gli oggetti esistenti solo per i diritti selezionati +rbac#:#rbac_form_copy_roles_ce_remove_yes_info#:#Le impostazioni dei diritti locali esistenti e le impostazioni dei diritti degli oggetti esistenti vengono ridotte di conseguenza. rbac#:#rbac_global_rolt#:#Modello ruolo globale rbac#:#rbac_import_role#:#Importa ruolo rbac#:#rbac_info_only_position_access#:#Sei presentato solo a quei membri che hanno una posizione all’interno della tua unità organizzativa. I membri con un’altra posizione organizzativa non vengono mostrati ma può risiedere in questi corsi senza esserti mostrato. @@ -14697,7 +14703,7 @@ rbac#:#rbac_log_source_object#:#Oggetto di origine rbac#:#rbac_msg_user_already_assigned#:#L’utente scelto è appena stato assegnato a questo ruolo. rbac#:#rbac_not_change_existing_objects#:#NON modificare gli oggetti esistenti rbac#:#rbac_permissions#:#Autorizzazioni -rbac#:#rbac_precondition_condition#:#Access requires having this status###29 10 2025 new variable +rbac#:#rbac_precondition_condition#:#Access requires having this status###28 11 2025 new variable rbac#:#rbac_precondition_hide#:#Nascondi oggetto rbac#:#rbac_precondition_hide_info#:# Questa opzione consente di nascondere l'oggetto per gli utenti che attualmente non hanno soddisfatto le condizioni preliminari. Pertanto, tutti i contenuti non accessibili non sono visibili. rbac#:#rbac_precondition_minimum_optional#:#Almeno 2 condizioni preliminari devono rimanere facoltativi. @@ -14705,8 +14711,8 @@ rbac#:#rbac_precondition_mode#:#Modalità rbac#:#rbac_precondition_mode_all#:#Tutte le condizioni preliminari rbac#:#rbac_precondition_mode_all_info#:#Tutte le condizioni preliminari devono essere soddisfatte per fornire l’accesso. rbac#:#rbac_precondition_mode_subset#:#Sottoinsieme di condizioni preliminari -rbac#:#rbac_precondition_mode_subset_info#:#A subset of preconditions need to be fulfilled to give access. Some preconditions may still be set as obligatory. -rbac#:#rbac_precondition_save_obligatory#:#Save Obligatory +rbac#:#rbac_precondition_mode_subset_info#:#Un sottoinsieme di precondizioni deve essere soddisfatto per dare accesso. Alcune precondizioni possono ancora essere impostate come obbligatorie. +rbac#:#rbac_precondition_save_obligatory#:#Salvataggio obbligatorio rbac#:#rbac_precondition_source#:#Condizione trigger rbac#:#rbac_precondition_target#:#La condizione limita l’accesso a rbac#:#rbac_repository_permissions#:#Condizioni preliminari del repository @@ -14726,7 +14732,7 @@ rbac#:#rbac_ud_local#:#Ruolo locale definito dall’utente rbac#:#rbac_ud_rolt#:#Modello di ruolo definito dall’utente rbac#:#rbac_unprotected_delete_local_policies_info#:#Se attivati, tutti i criteri locali verranno eliminati. Le autorizzazioni nei corsi e nei gruppi sono appena state generate. rbac#:#rbac_unprotected_keep_local_policies_info#:#Scegli questa modalità per mantenere tutti i criteri locali. -rbac#:#rbac_view_content#:#View Content###29 10 2025 new variable +rbac#:#rbac_view_content#:#View Content###28 11 2025 new variable rbac#:#rcat_delete#:#L’utente può spostare o eliminare la Categoria ESC rbac#:#rcat_edit_permission#:#L’utente può modificare le impostazioni di autorizzazione rbac#:#rcat_read#:#L’utente può utilizzare la categoria ESC @@ -14737,13 +14743,13 @@ rbac#:#rcrs_edit_permission#:#Cambia le impostazioni dei permessi rbac#:#rcrs_read#:#Accesso in lettura ai link del Corso rbac#:#rcrs_visible#:#Il link al Corso è visibile rbac#:#rcrs_write#:#Edita i link al Corso -rbac#:#read_all_accounts#:#Read All Accounts###29 10 2025 new variable -rbac#:#read_comp#:#User has read access to Competences and Competence Templates###29 07 2022 new variable +rbac#:#read_all_accounts#:#Read All Accounts###28 11 2025 new variable +rbac#:#read_comp#:#User has read access to Competences and Competence Templates###31 03 2023 new variable rbac#:#read_learning_progress#:#Visualizza il progresso di apprendimento degli altri utenti -rbac#:#read_outcomes#:#View learning experiences of other users###07 02 2020 new variable -rbac#:#read_profiles#:#User has read access to Competence Profiles###29 07 2022 new variable -rbac#:#read_results#:#Survey Results###07 02 2020 new variable -rbac#:#read_users#:#Read Access to Local User Accounts +rbac#:#read_outcomes#:#Visualizza le esperienze di apprendimento di altri utenti +rbac#:#read_profiles#:#User has read access to Competence Profiles###31 03 2023 new variable +rbac#:#read_results#:#Risultati del sondaggio +rbac#:#read_users#:#Accesso in lettura agli account utente locali rbac#:#recf_edit_permission#:#Cambia le impostazioni dei permessi rbac#:#recf_read#:#Accesso in lettura agli Oggetti ripristinati rbac#:#recf_visible#:#Gli Oggetti ripristinati sono visibili @@ -14778,8 +14784,8 @@ rbac#:#role_block_role#:#Blocca ruolo rbac#:#role_block_role_desc#:#L'accesso a questo e a tutti gli oggetti subordinati sarà revocato. rbac#:#role_blocked#:#: Il ruolo verrà bloccato rbac#:#role_confirm_block_role#:#Salva stato del ruolo -rbac#:#role_confirm_block_role_header#:#Do you really want to block the chosen roles? -rbac#:#role_confirm_block_role_info#:#The following operations will be performed:

- the role permissions of this and all subordinated objects will be blocked.
- the new permission settings will be protected. +rbac#:#role_confirm_block_role_header#:#Vuoi davvero bloccare i ruoli scelti? +rbac#:#role_confirm_block_role_info#:#Verranno eseguite le seguenti operazioni:

- i permessi di ruolo di questo e di tutti gli oggetti subordinati saranno bloccati.
- le nuove impostazioni di permesso saranno protette. rbac#:#role_confirm_unblock_role_info#:#I seguenti passaggi verranno eseguiti per l'azione "Sblocca ruolo":

- i criteri locali verranno eliminati. rbac#:#role_unblocked#:#: Il ruolo sarà sbloccato rbac#:#root_edit_permission#:#Modificare le impostazioni dei permessi @@ -14796,7 +14802,7 @@ rbac#:#rwik_edit_permission#:#L’utente può modificare le impostazioni di auto rbac#:#rwik_read#:#L’utente può utilizzare Wiki ESC rbac#:#rwik_visible#:#ECS Wiki è visibile rbac#:#rwik_write#:#L’utente può modificare le impostazione di Wiki ESC -rbac#:#sahs_copy#:#User can copy SCORM/AICC learning module +rbac#:#sahs_copy#:#L'utente può copiare il modulo di apprendimento SCORM rbac#:#sahs_delete#:#Eliminare un modulo SCORM/AICC rbac#:#sahs_edit_learning_progress#:#Modificare i progressi di apprendimento rbac#:#sahs_edit_permission#:#Modificare le impostazioni dei permessi @@ -14805,53 +14811,53 @@ rbac#:#sahs_read_learning_progress#:#L’utente può visualizzare il progresso d rbac#:#sahs_visible#:#Vedere un modulo SCORM/AICC rbac#:#sahs_write#:#Modificare un modulo SCORM/AICC rbac#:#seas_edit_permission#:#Modificare le impostazioni dei permessi -rbac#:#seas_read#:#Vedere la ricerca -rbac#:#seas_search#:#Consentire l& +rbac#:#seas_read#:#L'utente ha accesso in lettura all'amministrazione della ricerca +rbac#:#seas_search#:#L'utente può utilizzare la ricerca globale in ILIAS rbac#:#seas_visible#:#Vedere le impostazioni di ricerca rbac#:#seas_write#:#Modificare le impostazioni di ricerca -rbac#:#sess_copy#:#Copy Session +rbac#:#sess_copy#:#Copia sessione rbac#:#sess_delete#:#Cancella la Sessione rbac#:#sess_edit_event#:#Edita gli Eventi del Calendario rbac#:#sess_edit_learning_progress#:#L’utente può modificare le impostazioni di progresso -rbac#:#sess_edit_metadata#:#Edit Metadata###07 02 2020 new variable +rbac#:#sess_edit_metadata#:#Edit Metadata rbac#:#sess_edit_permission#:#Cambia le impostazioni dei permessi -rbac#:#sess_manage_materials#:#Manage Session Materials -rbac#:#sess_manage_members#:#Manage Participants of a Session -rbac#:#sess_read#:#Accesso in lettura alla Sessione +rbac#:#sess_manage_materials#:#Gestire i materiali della sessione +rbac#:#sess_manage_members#:#Gestire i partecipanti di una sessione +rbac#:#sess_read#:#L'utente ha accesso in lettura alle sessioni rbac#:#sess_read_learning_progress#:#L’utente può visualizzare il progresso di apprendimento degli altri utenti rbac#:#sess_visible#:#La sessione è visibile -rbac#:#sess_write#:#Edita la Sessione -rbac#:#skee_copy#:#User can copy Competence Tree (currently not available)###26 08 2024 new variable -rbac#:#skee_delete#:#User can delete Competence Tree###26 08 2024 new variable -rbac#:#skee_edit_permission#:#User can change permission settings of Competence Tree administration###26 08 2024 new variable -rbac#:#skee_manage_comp#:#User can edit Competences in Competence Tree###26 08 2024 new variable -rbac#:#skee_manage_comp_temp#:#User can edit Competence Templates in Competence Tree###26 08 2024 new variable -rbac#:#skee_manage_profiles#:#User can edit Competence Profiles in Competence Tree###26 08 2024 new variable -rbac#:#skee_read#:#User has read access to administration of Competence Tree###26 08 2024 new variable -rbac#:#skee_read_comp#:#User has read access to Competences and Competence Templates in Competence Tree###26 08 2024 new variable -rbac#:#skee_read_profiles#:#User has read access to Competence Profiles in Competence Tree###26 08 2024 new variable -rbac#:#skee_visible#:#Competence Tree is visible###26 08 2024 new variable -rbac#:#skee_write#:#User can edit settings of Competence Tree###26 08 2024 new variable -rbac#:#skmg_edit_permission#:#Change permission settings -rbac#:#skmg_read#:#Read access to Skill Management -rbac#:#skmg_visible#:#Skill Management is visible -rbac#:#skmg_write#:#Edit Skill Management -rbac#:#smtp_mail#:#Send Mail -rbac#:#spl_copy#:#Copy Survey Question Pool -rbac#:#spl_delete#:#Eliminare una raccolta di domande -rbac#:#spl_edit_permission#:#Modificare le impostazioni dei permessi -rbac#:#spl_read#:#Accedere in lettura ad una raccolta di domande -rbac#:#spl_visible#:#Vedere una raccolta di domande -rbac#:#spl_write#:#Modificare una raccolta di domande +rbac#:#sess_write#:#L'utente può modificare il contenuto e le impostazioni della sessione +rbac#:#skee_copy#:#User can copy Competence Tree (currently not available)###28 11 2023 new variable +rbac#:#skee_delete#:#User can delete Competence Tree###28 11 2023 new variable +rbac#:#skee_edit_permission#:#User can change permission settings of Competence Tree administration###28 11 2023 new variable +rbac#:#skee_manage_comp#:#User can edit Competences in Competence Tree###28 11 2023 new variable +rbac#:#skee_manage_comp_temp#:#User can edit Competence Templates in Competence Tree###28 11 2023 new variable +rbac#:#skee_manage_profiles#:#User can edit Competence Profiles in Competence Tree###28 11 2023 new variable +rbac#:#skee_read#:#User has read access to administration of Competence Tree###28 11 2023 new variable +rbac#:#skee_read_comp#:#User has read access to Competences and Competence Templates in Competence Tree###28 11 2023 new variable +rbac#:#skee_read_profiles#:#User has read access to Competence Profiles in Competence Tree###28 11 2023 new variable +rbac#:#skee_visible#:#Competence Tree is visible###28 11 2023 new variable +rbac#:#skee_write#:#User can edit settings of Competence Tree###28 11 2023 new variable +rbac#:#skmg_edit_permission#:#L'utente può cambiare le impostazioni dei permessi dell'amministrazione della gestione delle competenze +rbac#:#skmg_read#:#L'utente ha accesso in lettura all'amministrazione della Gestione delle competenze +rbac#:#skmg_visible#:#La gestione delle competenze è visibile +rbac#:#skmg_write#:#L'utente ha accesso in lettura all'amministrazione della Gestione delle competenze +rbac#:#smtp_mail#:#Inviare mail +rbac#:#spl_copy#:#L'utente può copiare il pool di domande per i sondaggi +rbac#:#spl_delete#:#L'utente può spostare o eliminare il pool di domande +rbac#:#spl_edit_permission#:#L'utente può cambiare le impostazioni dei permessi +rbac#:#spl_read#:#L'utente può leggere le domande del sondaggio nel pool e inserirle nel sondaggio +rbac#:#spl_visible#:#La raccolta di domande è visibile +rbac#:#spl_write#:#L'utente può modificare le domande del sondaggio e le impostazioni del pool di domande rbac#:#statistics_read#:#Visualizza statistiche -rbac#:#stus_edit_permission#:#User can change permission settings in Shortlink administration###29 10 2025 new variable -rbac#:#stus_read#:#User can see the Shortlink Administration###29 10 2025 new variable -rbac#:#stus_write#:#User can edit Shortlinks###29 10 2025 new variable +rbac#:#stus_edit_permission#:#User can change permission settings in Shortlink administration###28 11 2025 new variable +rbac#:#stus_read#:#User can see the Shortlink Administration###28 11 2025 new variable +rbac#:#stus_write#:#User can edit Shortlinks###28 11 2025 new variable rbac#:#sty_write_content#:#Modifica stili contenuto rbac#:#sty_write_page_layout#:#Modifica layout pagina rbac#:#sty_write_system#:#Modifica stili sistema -rbac#:#stys_edit_permission#:#Modificare le impostazioni dei permessi -rbac#:#stys_read#:#Accedere in lettura alle impostazioni degli stili +rbac#:#stys_edit_permission#:#L'utente può cambiare le impostazioni di autorizzazione dell'amministrazione di Layout e Stili +rbac#:#stys_read#:#L'utente ha accesso in lettura all'amministrazione di Layout e Stili rbac#:#stys_sty_write_content#:#Modifica stili contenuto rbac#:#stys_sty_write_custom#:#Modifica stili contenuto rbac#:#stys_sty_write_page_layout#:#Modifica layout pagina @@ -14864,7 +14870,7 @@ rbac#:#svy_edit_permission#:#Modificare le impostazioni dei permessi rbac#:#svy_invite#:#Invitare utenti ad un sondaggio rbac#:#svy_read#:#Accedere in lettura ad un sondaggio rbac#:#svy_read_learning_progress#:#L’utente può visualizzare il progresso di apprendimento degli altri utenti -rbac#:#svy_read_results#:#User has access to survey results of others###07 02 2020 new variable +rbac#:#svy_read_results#:#L'utente ha accesso ai risultati del sondaggio di altri rbac#:#svy_visible#:#Vedere un sondaggio rbac#:#svy_write#:#Modificare un sondaggio rbac#:#svyf_edit_permission#:#Cambia le impostazioni dei permessi @@ -14875,14 +14881,14 @@ rbac#:#sysc_edit_permission#:#L’utente può modificare le autorizzazioni del c rbac#:#sysc_read#:#L’utente ha l’accesso di lettura al controllo del sistema. rbac#:#sysc_visible#:#Il controllo del sistema è visibile. rbac#:#sysc_write#:#L’utente può svolgere il controllo del sistema. -rbac#:#tags_edit_permission#:#Modifica impostazioni dei permessi -rbac#:#tags_read#:#Read access to Tagging Settings -rbac#:#tags_visible#:#Tagging Settings are visible -rbac#:#tags_write#:#Modifina Impostazioni del Tagging -rbac#:#tala_edit_permission#:#User can change permission settings in Talk Templates administration###26 08 2024 new variable -rbac#:#tala_read#:#User has read access to Talk Templates administration###26 08 2024 new variable -rbac#:#tala_visible#:#Talk Templates administration is visible###26 08 2024 new variable -rbac#:#tala_write#:#User can create and edit Talk Templates###26 08 2024 new variable +rbac#:#tags_edit_permission#:#L'utente può cambiare le impostazioni dei permessi nell'amministrazione dei tag +rbac#:#tags_read#:#L'utente ha accesso in lettura all'amministrazione dei tag +rbac#:#tags_visible#:#Le impostazioni del tagging sono visibili +rbac#:#tags_write#:#Modifica le impostazioni del Tagging +rbac#:#tala_edit_permission#:#User can change permission settings in Talk Templates administration###31 03 2023 new variable +rbac#:#tala_read#:#User has read access to Talk Templates administration###31 03 2023 new variable +rbac#:#tala_visible#:#Talk Templates administration is visible###31 03 2023 new variable +rbac#:#tala_write#:#User can create and edit Talk Templates###31 03 2023 new variable rbac#:#taxs_edit_permission#:#L’utente può modificare le impostazioni di autorizzazione nell’amministrazione della tassonomia rbac#:#taxs_read#:#L’utente ha l’accesso di lettura all’amministrazione della tassonomia rbac#:#taxs_visible#:#L'amministrazione della tassonomia è visibile @@ -14894,33 +14900,33 @@ rbac#:#tos_write#:#Modifica impostazioni nell’amministrazione dei termini di s rbac#:#trac_delete#:#Eliminare i dati di tracciamento rbac#:#trac_edit_permission#:#Modificare le impostazioni dei permessi rbac#:#trac_lp_other_users#:#Vedi panoramica del progresso di apprendimento degli altri utenti -rbac#:#trac_read#:#Accedere in lettura ai dati di tracciamento -rbac#:#trac_visible#:#Vedere i dati di tracciamento -rbac#:#trac_write#:#Modifica impostazioni nell'amministrazione statistiche e progresso dell'apprendimento +rbac#:#trac_read#:#Accesso in lettura per accedere alle statistiche e alla gestione dei progressi di apprendimento +rbac#:#trac_visible#:#Sono visibili le statistiche di accesso e la gestione dei progressi di apprendimento +rbac#:#trac_write#:#Modifica le impostazioni per le statistiche di accesso e la gestione dei progressi di apprendimento rbac#:#tst_copy#:#Copia Test -rbac#:#tst_delete#:#Eliminare un test -rbac#:#tst_edit_learning_progress#:#Modificare i progressi didattici +rbac#:#tst_delete#:#Eliminare o spostare un test +rbac#:#tst_edit_learning_progress#:#L'utente può modificare i progressi didattici rbac#:#tst_edit_permission#:#Modificare le impostazioni dei permessi rbac#:#tst_read#:#Accedere in lettura ad un test rbac#:#tst_read_learning_progress#:#L’utente può visualizzare il progresso di apprendimento degli altri utenti -rbac#:#tst_tst_history_read#:#View History###29 10 2025 new variable -rbac#:#tst_tst_results#:#User has access to test results -rbac#:#tst_visible#:#Vedere un test -rbac#:#tst_write#:#Modificare un test -rbac#:#upload_blacklisted_files#:#Bypass blacklist###07 02 2020 new variable +rbac#:#tst_tst_history_read#:#View History###28 11 2025 new variable +rbac#:#tst_tst_results#:#L'utente ha accesso ai risultati dei test degli altri +rbac#:#tst_visible#:#Il test è visibile +rbac#:#tst_write#:#Compilare il test e modificare le impostazioni +rbac#:#upload_blacklisted_files#:#Bypassa la blacklist rbac#:#usrf_delete#:#Eliminare un utente rbac#:#usrf_edit_permission#:#Modificare le impostazioni dei permessi rbac#:#usrf_edit_roleassignment#:#Cambiare i ruoli assegnati agli utenti rbac#:#usrf_push_desktop_items#:#Consentire di inviare oggetti sul desktop. rbac#:#usrf_read#:#Accedere in lettura alle registrazioni degli utenti -rbac#:#usrf_read_all_accounts#:#User can list all accounts in User administration###29 10 2025 new variable +rbac#:#usrf_read_all_accounts#:#User can list all accounts in User administration###28 11 2025 new variable rbac#:#usrf_read_users#:#Assegnare ruoli ad amministratori locali rbac#:#usrf_visible#:#Vedere le registrazioni degli utenti rbac#:#usrf_write#:#Modificare le registrazioni degli utenti -rbac#:#wbdv_edit_permission#:#User can change permission settings of WebDAV administration.###29 10 2025 new variable -rbac#:#wbdv_read#:#User has read access to WebDAV administration.###29 07 2022 new variable -rbac#:#wbdv_visible#:#Administration of WebDAV is visible.###29 07 2022 new variable -rbac#:#wbdv_write#:#User can edit settings of WebDAV administration.###29 07 2022 new variable +rbac#:#wbdv_edit_permission#:#User can change permission settings of WebDAV administration.###01 04 2025 new variable +rbac#:#wbdv_read#:#L'utente ha accesso in lettura all'amministrazione di WebDAV. +rbac#:#wbdv_visible#:#L'amministrazione di WebDAV è visibile. +rbac#:#wbdv_write#:#L'utente può modificare le impostazioni dell'amministrazione WebDAV. rbac#:#wbrs_edit_permission#:#L’utente può modificare le impostazioni di autorizzazione nell’amministrazione del collegamento web rbac#:#wbrs_read#:#L’utente ha l’accesso di lettura all’amministrazione del collegamento web rbac#:#wbrs_visible#:#L'amministrazione del collegamento web è visibile @@ -14932,7 +14938,7 @@ rbac#:#webr_read#:#Accedere in lettura alle risorse web rbac#:#webr_visible#:#Vedere le risorse web rbac#:#webr_write#:#Modificare le risorse web rbac#:#wiki_activate_wiki_protection#:#Imposta le pagine Wiki su solo lettura -rbac#:#wiki_add_pages#:#User can create wiki pages###26 08 2024 new variable +rbac#:#wiki_add_pages#:#User can create wiki pages###30 04 2024 new variable rbac#:#wiki_copy#:#Copia Wiki rbac#:#wiki_delete#:#Cancella Wiki rbac#:#wiki_delete_wiki_pages#:#Elimina pagine Wiki @@ -14941,7 +14947,7 @@ rbac#:#wiki_edit_page_meta#:#Modifica metadati pagina Wiki rbac#:#wiki_edit_permission#:#Modifica impostazioni dei permessi rbac#:#wiki_edit_wiki_navigation#:#Modifica navigazione Wiki rbac#:#wiki_html_export#:#Esporta HTML -rbac#:#wiki_read#:#Read Wiki +rbac#:#wiki_read#:#L'utente può leggere il contenuto del wiki rbac#:#wiki_statistics_read#:#Visualizza statistiche rbac#:#wiki_visible#:#Wiki è visibile rbac#:#wiki_wiki_html_export#:#Esporta Wiki come HTML @@ -14969,18 +14975,18 @@ registration#:#reg_add_assignment#:#Nuova Assegnazione registration#:#reg_added_assignment#:#Aggiunta nuova assegnazione registration#:#reg_allow_codes#:#Consenti Codici registration#:#reg_allow_codes_info#:#Gli utenti hanno anche la facoltà di registrare tramite codici. -registration#:#reg_allowed_domains#:#Allowed Email Address Domains -registration#:#reg_allowed_domains_info#:#Use * as wildcard and ; as separator. +registration#:#reg_allowed_domains#:#Domini di indirizzi e-mail consentiti +registration#:#reg_allowed_domains_info#:#Usa * come carattere jolly e ; come separatore registration#:#reg_approve#:#Registrazione con approvazione registration#:#reg_approve_info#:#Se abilitato, ogni registrazione di nuovo Utente dovrà essere approvata da un Amministratore. registration#:#reg_approve_needs_recipient#:#È necessario definire almeno un utente che sarà notificato circa le nuove registrazioni, se il tipo di registrazione "Registrazione con approvazione" è selezionato. registration#:#reg_available_roles#:#Ruoli disponibili: -registration#:#reg_confirmation_already_confirmed#:#The registration is no longer pending, it has already been confirmed.###29 10 2025 new variable +registration#:#reg_confirmation_already_confirmed#:#The registration is no longer pending, it has already been confirmed.###28 11 2025 new variable registration#:#reg_confirmation_hash_life_time#:#Illimitato registration#:#reg_confirmation_hash_life_time_expired#:#Il link di conferma non è più valido. registration#:#reg_confirmation_hash_life_time_info#:#Inserire la durata (in secondi) del link di conferma. registration#:#reg_confirmation_hash_not_found#:#Nessun account utente potrebbe essere presente a questo link di conferma. -registration#:#reg_confirmation_hash_not_passed#:#The confirmation link is incomplete.###26 08 2024 new variable +registration#:#reg_confirmation_hash_not_passed#:#The confirmation link is incomplete.###01 02 2023 new variable registration#:#reg_confirmation_link_successful#:#Hai presentato con successo una richiesta di account ad ILIAS. Riceverai una mail di conferma entro qualche minuto. Si prega di confermare la registrazione cliccando sul link di conferma in questa mail.
Sarai reindirizzato alla pagina login entro 20 secondi. registration#:#reg_default#:#Impostazione predefinita registration#:#reg_deleted_assignment#:#Cancella l'assegnazione (i). @@ -14988,15 +14994,15 @@ registration#:#reg_direct#:#Registrazione diretta registration#:#reg_direct_info#:#Se abilitato, ogni richiesta di registrazione di nuovo utente, è automaticamente approvato. registration#:#reg_disabled#:#Non è possibile registrarsi registration#:#reg_domain#:#Dominio -registration#:#reg_domain_already_assigned_p#:#The domains '%s' were already entered for another role.###26 08 2024 new variable -registration#:#reg_domain_already_assigned_s#:#The domain '%s' was already entered for another role. ###26 08 2024 new variable +registration#:#reg_domain_already_assigned_p#:#The domains '%s' were already entered for another role.###27 08 2024 new variable +registration#:#reg_domain_already_assigned_s#:#The domain '%s' was already entered for another role. ###27 08 2024 new variable registration#:#reg_email#:#Assegnazione automatica di Ruolo -registration#:#reg_email_domains#:#The following email address domains are valid: %s +registration#:#reg_email_domains#:#I seguenti domini di indirizzi e-mail sono validi: %s registration#:#reg_email_domains_code#:#Con un codice di registrazione qualsiasi indirizzo email è valido. registration#:#reg_email_role_assignment#:#Ruolo assegnato dal dominio registration#:#reg_fixed#:#Seleziona dalla lista specifica registration#:#reg_info_pwd#:#Se abilitato le password saranno inviate automaticamente al nuovo utente per email. -registration#:#reg_mail_body_activation#:#to activate your account and confirm ownership of this email address, click the link below: +registration#:#reg_mail_body_activation#:#per attivare il tuo account e confermare la proprietà di questo indirizzo email, clicca sul link sottostante: registration#:#reg_mail_body_approve#:#Sei già registrato su eLearning ILIAS e hai ricevuto una mail con i dati del tuo account. Ora il tuo account è stato attivato da un amministratore. registration#:#reg_mail_body_confirmation#:#Per confermare questa registrazione inserisci ILIAS user administration e attivare l'account. registration#:#reg_mail_body_profile#:#Dati del Profilo: @@ -15023,7 +15029,7 @@ registration#:#reg_type_confirmation_info#:#Questo tipo permette l'auto-registra registration#:#reg_unknown_recipients#:#Il seguente login non è valido: registration#:#registration_code#:#Codice registration#:#registration_code_not_valid#:#Il codice di registrazione non è valido o è già stato utilizzato. -registration#:#registration_code_optional_info#:#If you have an ILIAS registration code, you can enter it now. +registration#:#registration_code_optional_info#:#Se hai un codice di registrazione ILIAS, puoi inserirlo ora. registration#:#registration_code_required_info#:#Un codice predefinito è obbligatorio per il processo di registrazione. registration#:#registration_code_role_info#:#Se si utilizza un codice di registrazione, la selezione del ruolo può essere sostituita dal codice. registration#:#registration_codes_access_limitation_all#:#Tutte @@ -15033,7 +15039,7 @@ registration#:#registration_codes_export#:#Esporta Codici registration#:#registration_codes_no_assigned_role#:#Nessun ruolo predefinito assegnato registration#:#registration_codes_number#:#Numero Di Codici registration#:#registration_codes_override_global_info#:#Queste impostazioni possono essere sostituite da codici di registrazione. -registration#:#registration_codes_override_info#:#This setting overrides any values defined in "Registration Settings". +registration#:#registration_codes_override_info#:#Questa impostazione prevale su qualsiasi valore definito in "Impostazioni di registrazione". registration#:#registration_codes_roles#:#Ruolo per i Nuovi Accounts registration#:#registration_codes_roles_limitation_none#:#Nessuna limitazione di accesso predefinita registration#:#registration_codes_roles_local#:#Ruolo/i locale @@ -15056,13 +15062,13 @@ registration#:#registration_tab_codes#:#Codici di Registrazione registration#:#registration_tab_settings#:#Configurazione Registrazione registration#:#registration_used#:#Data di utilizzo registration#:#registration_user_new_account_mail#:#Modifica il Nuovo Account Mail -rep#:#btn_undelete_new_location#:#Restore (new location)###07 02 2020 new variable -rep#:#btn_undelete_origin_location#:#Restore (same location)###07 02 2020 new variable +rep#:#btn_undelete_new_location#:#Ripristino (nuova posizione) +rep#:#btn_undelete_origin_location#:#Ripristino (stessa posizione) rep#:#rep_activation_access#:#Accesso rep#:#rep_activation_access_ref_info#:#Questa impostazione influisce solo su questo e nessun altro riferimento nel repository. rep#:#rep_activation_availability#:#Disponibilità -rep#:#rep_activation_limited_end#:#Ending Time -rep#:#rep_activation_limited_start#:#Starting Time +rep#:#rep_activation_limited_end#:#Orario di fine +rep#:#rep_activation_limited_start#:#Orario di inizio rep#:#rep_activation_limited_visibility#:#Sempre visibile rep#:#rep_activation_online#:#Online rep#:#rep_activation_online_object_info#:#Questa impostazione influisce su tutti i riferimenti nel repository. @@ -15072,37 +15078,37 @@ rep#:#rep_add_new_def_grp_content#:#Contenuto rep#:#rep_add_new_def_grp_feedback#:#Feedback e valutazione rep#:#rep_add_new_def_grp_organisation#:#Organizzazione rep#:#rep_add_new_def_grp_templates#:#Modelli -rep#:#rep_add_to_favourites#:#Add to Favourites###07 02 2020 new variable -rep#:#rep_added_rec_content#:#Recommended content has been added.###07 02 2020 new variable -rep#:#rep_added_to_favourites#:#The item has been added to your favourites.###07 02 2020 new variable -rep#:#rep_allowed_types#:#Allowed Types###26 08 2024 new variable -rep#:#rep_breadcr_crs#:#Breadcrumb starts with course -rep#:#rep_breadcr_crs_config#:#Configuration###26 08 2024 new variable -rep#:#rep_breadcr_crs_overwrite#:#Setting is changeable on course level -rep#:#rep_breadcr_crs_overwrite_not#:#Setting is not changeable on course level -rep#:#rep_breadcr_crs_overwrite_settings#:#Allow Exceptions###26 08 2024 new variable -rep#:#rep_breadcr_crs_overwrite_with_default#:#Setting is changeable on course level, with this as default###26 08 2024 new variable -rep#:#rep_configure#:#Configure###07 02 2020 new variable -rep#:#rep_crs_default_shortened#:#Default: Breadcrumbs Shortened###26 08 2024 new variable +rep#:#rep_add_to_favourites#:#Aggiungi ai preferiti +rep#:#rep_added_rec_content#:#Il contenuto raccomandato è stato aggiunto. +rep#:#rep_added_to_favourites#:#L'articolo è stato aggiunto ai tuoi preferiti. +rep#:#rep_allowed_types#:#Allowed Types###31 03 2023 new variable +rep#:#rep_breadcr_crs#:#Breadcrumb inizia con corso +rep#:#rep_breadcr_crs_config#:#Configuration###24 11 2022 new variable +rep#:#rep_breadcr_crs_overwrite#:#L'impostazione è modificabile a livello di corso +rep#:#rep_breadcr_crs_overwrite_not#:#L'impostazione non è modificabile a livello di corso +rep#:#rep_breadcr_crs_overwrite_settings#:#Allow Exceptions###30 04 2024 new variable +rep#:#rep_breadcr_crs_overwrite_with_default#:#Setting is changeable on course level, with this as default###30 04 2024 new variable +rep#:#rep_configure#:#Configura +rep#:#rep_crs_default_shortened#:#Default: Breadcrumbs Shortened###24 11 2022 new variable rep#:#rep_custom_icons#:#Icone personalizzate -rep#:#rep_default#:#Default -rep#:#rep_deleted_account#:#Deleted Account###26 08 2024 new variable +rep#:#rep_default#:#Predefinito +rep#:#rep_deleted_account#:#Deleted Account###30 04 2024 new variable rep#:#rep_dependencies#:#Dipendenze rep#:#rep_dependency#:#Dipendenza -rep#:#rep_dependent_object#:#Ressource with dependence -rep#:#rep_export_limit_number#:#Number of Objects###07 02 2020 new variable -rep#:#rep_export_limitation#:#Container Export Limitation###07 02 2020 new variable -rep#:#rep_export_limitation_disabled#:#Container Export Disabled###07 02 2020 new variable -rep#:#rep_export_limitation_info#:#Limits the number of objects for container exports (courses, categories, ...) in the repository.###07 02 2020 new variable -rep#:#rep_export_limitation_limited#:#Limit Export###07 02 2020 new variable -rep#:#rep_export_limitation_unlimited#:#Unlimited Export###26 08 2024 new variable -rep#:#rep_failure_trashed_trash#:#You selected objects that cannot be restored to their original location, because their parent objects were deleted. Please uncheck the respective object in the table or select the Restore to New Location instead.###07 02 2020 new variable -rep#:#rep_fav_intro1#:#Sie haben aktuell noch keine Favoriten ausgewählt. Um dies zu tun, müssen Sie zwei Schritte machen:###07 02 2020 new variable -rep#:#rep_fav_intro2#:#Klicken Sie auf '%s' und wählen Sie aus dem verfügbaren Angebot ein Lernobjekt aus, z. B. ein Lernmodul oder ein Forum.###07 02 2020 new variable -rep#:#rep_fav_intro3#:#Wenn Sie etwas gefunden haben, das Sie interessiert, können Sie es ganz einfach zu Ihren Favoriten hinzufügen. Wählen Sie beim gewünschten Objekt im Aktionen-Menü die Option "Zu Favoriten hinzufügen".###07 02 2020 new variable -rep#:#rep_favourites#:#Favourites###29 07 2022 new variable -rep#:#rep_favourites_info#:#Users can mark single repository items as favourites. Favourites lists can be activated and configured in the dashboard and menu settings.###29 07 2022 new variable -rep#:#rep_input_not_empty#:#This field must not be empty, please provide a value.###29 10 2025 new variable +rep#:#rep_dependent_object#:#Risorse con dipendenza +rep#:#rep_export_limit_number#:#Numero di oggetti +rep#:#rep_export_limitation#:#Limitazione all'esportazione di container +rep#:#rep_export_limitation_disabled#:#Esportazione del contenitore disabilitata +rep#:#rep_export_limitation_info#:#Limita il numero di oggetti per le esportazioni di contenitori (corsi, categorie, ...) nel repository. +rep#:#rep_export_limitation_limited#:#Limite di esportazione +rep#:#rep_export_limitation_unlimited#:#Unlimited Export###30 04 2024 new variable +rep#:#rep_failure_trashed_trash#:#Hai selezionato degli oggetti che non possono essere ripristinati nella loro posizione originale, perché i loro oggetti genitori sono stati cancellati. Deseleziona il rispettivo oggetto nella tabella o seleziona invece la voce Ripristina in nuova posizione. +rep#:#rep_fav_intro1#:#Al momento non hai selezionato nessun favorito. Per fare questo, è necessario fare due passi: +rep#:#rep_fav_intro2#:#Clicca su '%s' e seleziona un oggetto di apprendimento dall'offerta disponibile, per esempio un modulo di apprendimento o un forum. +rep#:#rep_fav_intro3#:#Quando hai trovato qualcosa che ti interessa, puoi facilmente aggiungerlo ai tuoi preferiti. Seleziona l'opzione "Aggiungi ai preferiti" nel menu Azioni per l'oggetto desiderato. +rep#:#rep_favourites#:#Favourites###09 03 2022 new variable +rep#:#rep_favourites_info#:#Users can mark single repository items as favourites. Favourites lists can be activated and configured in the dashboard and menu settings.###09 03 2022 new variable +rep#:#rep_input_not_empty#:#This field must not be empty, please provide a value.###01 04 2025 new variable rep#:#rep_intro#:#Benvenuto nel Repository! rep#:#rep_intro1#:#In quest'area puoi creare risorse didattiche e di lavoro per tutti gli Utenti. Tutte le risorse sono organizzate in Categorie. le Categorie possono riflettere la struttura della tua organizzazione, ad esempio uffici, dipartimenti, ecc., una gerarchia di discipline, o le classi di una scuola. rep#:#rep_intro2#:#Sono richiesti tre passi per costruire una struttura iniziale: @@ -15110,42 +15116,42 @@ rep#:#rep_intro3#:#Clicca sul pulsante %s a lato della lista di selezione rep#:#rep_intro4#:#Nella seguente forma, inserisci un titolo e una descrizione e clicca su %s. rep#:#rep_intro5#:#Cliccando sul titolo della categoria, puoi entrare nella Categoria. rep#:#rep_intro6#:#Dopo questa procedura puoi aggiungere qualsiasi risorsa, didattica e di lavoro, alla tua categoria -rep#:#rep_mo_mem_dash#:#Sie sind aktuell noch nicht Mitglied eines Kurses oder einer Gruppe.###07 02 2020 new variable +rep#:#rep_mo_mem_dash#:#Non sei attualmente membro di un corso o di un gruppo. rep#:#rep_multiple_reference_deletion_instruction#:#Si prega di selezionare quello che dovrebbe essere eliminato: rep#:#rep_multiple_reference_deletion_intro#:#Per questo oggetto esistono ulteriori riferimenti. -rep#:#rep_new_item_group_add#:#Add Group -rep#:#rep_new_item_group_delete_sure#:#Are you sure you want to delete the following groups? -rep#:#rep_new_item_group_edit#:#Edit Group +rep#:#rep_new_item_group_add#:#Aggiungi Gruppo +rep#:#rep_new_item_group_delete_sure#:#Sei sicuro di voler eliminare i seguenti gruppi? +rep#:#rep_new_item_group_edit#:#Modifica raggruppamento rep#:#rep_new_item_group_nr_subitems#:#Numero degli oggetti assegnati rep#:#rep_new_item_group_other#:#Altro rep#:#rep_new_item_group_unassigned#:#Non assegnato rep#:#rep_new_item_group_unassigned_subitems#:#Numero degli oggetti non assegnati: %s -rep#:#rep_new_item_groups#:#New Item Groups -rep#:#rep_new_item_menu#:#"Add New Item"-Menu -rep#:#rep_no_last_visited_mess#:#You did not visited any resources yet.###29 07 2022 new variable +rep#:#rep_new_item_groups#:#Nuovi Item Group +rep#:#rep_new_item_menu#:#"Menu" Aggiungi nuovo elemento +rep#:#rep_no_last_visited_mess#:#Non hai ancora visitato nessuna risorsa. rep#:#rep_no_permission_to_delete#:#Nessuna autorizzazione per eliminare rep#:#rep_object_lists#:#Liste oggetti rep#:#rep_object_references_cannot_be_read#:#Nessuna autorizzazione per %s maggiori riferimenti. rep#:#rep_object_to_delete#:#Da eliminare -rep#:#rep_rec_content_removed#:#Recommended content has been removed.###07 02 2020 new variable -rep#:#rep_recommended_content#:#Recommended Content###07 02 2020 new variable -rep#:#rep_remove_from_favourites#:#Remove from Favourites###07 02 2020 new variable -rep#:#rep_remove_rec_content#:#Are you sure you want to remove the following recommended content?###07 02 2020 new variable -rep#:#rep_removed_from_favourites#:#The item has been removed from your favourites.###07 02 2020 new variable -rep#:#rep_target_location#:#Target Location###07 02 2020 new variable -rep#:#rep_target_location_info#:#Bitte wählen Sie nun das Ziel aus, an dem die ausgewählten Objekte wiederhergestellt werden sollen.###07 02 2020 new variable -rep#:#rep_time_based_availability#:#Temporarily Available -rep#:#rep_time_based_availability_info#:#The selected items will only be visible between the start and end date.###26 08 2024 new variable +rep#:#rep_rec_content_removed#:#Il contenuto raccomandato è stato rimosso. +rep#:#rep_recommended_content#:#Contenuto raccomandato +rep#:#rep_remove_from_favourites#:#Rimuovi dai preferiti +rep#:#rep_remove_rec_content#:#Sei sicuro di voler rimuovere il seguente contenuto raccomandato? +rep#:#rep_removed_from_favourites#:#L'articolo è stato rimosso dai tuoi preferiti. +rep#:#rep_target_location#:#Posizione target +rep#:#rep_target_location_info#:#Seleziona ora la destinazione dove gli oggetti selezionati devono essere ripristinati. +rep#:#rep_time_based_availability#:#Limited Availability Period###30 04 2024 new variable +rep#:#rep_time_based_availability_info#:#The selected items will only be visible between the start and end date.###30 04 2024 new variable rep#:#rep_time_period#:#Periodo -rep#:#rep_trash_deleted_by_unknown#:#Unknown###07 02 2020 new variable -rep#:#rep_trash_table_col_deleted_by#:#Deleted by###07 02 2020 new variable -rep#:#rep_trash_table_col_deleted_on#:#Deleted on###07 02 2020 new variable -rep#:#rep_trash_table_col_num_subs#:#Number Subitems###07 02 2020 new variable -rep#:#rep_trash_table_title#:#Deleted objects below:###07 02 2020 new variable -rep#:#rep_tree_limit#:#Limit Items in Tree -rep#:#rep_tree_limit_info#:#The number of objects in the repository tree will be limited to enhance performance. -rep#:#rep_tree_limit_number#:#Maximum Number -rep#:#rep_tree_limit_number_info#:#Maximum Number of children elements that are initially shown for an expanded node. If more children elements are present, a search input field is shown to filter the children elements by title. +rep#:#rep_trash_deleted_by_unknown#:#Sconosciuto +rep#:#rep_trash_table_col_deleted_by#:#Cancellato da +rep#:#rep_trash_table_col_deleted_on#:#Cancellato il +rep#:#rep_trash_table_col_num_subs#:#Numero di sottoggetti +rep#:#rep_trash_table_title#:#Oggetti cancellati di seguito: +rep#:#rep_tree_limit#:#Limitare gli elementi nell'albero +rep#:#rep_tree_limit_info#:#Il numero di oggetti nell'albero del repository sarà limitato per migliorare le prestazioni. +rep#:#rep_tree_limit_number#:#Numero massimo +rep#:#rep_tree_limit_number_info#:#Numero massimo di elementi figli che sono inizialmente mostrati per un nodo espanso. Se sono presenti più elementi figli, viene mostrato un campo di input di ricerca per filtrare gli elementi figli per titolo. rfil#:#rfil_call#:#Richiama file ESC rfil#:#rfil_version_tstamp#:#Carica dati rglo#:#rglo_call#:#Richiama Glossario ESC @@ -15156,10 +15162,10 @@ rwik#:#rwik_call#:#Richiama Wiki ESC sahs#:#cont_insert_after_chap#:#Inserisci l'Oggetto dopo il Capitolo sahs#:#cont_insert_into_chap#:#Inserisci l'Oggetto dentro il Capitolo sahs#:#sahs_activate_expert_mode#:#Attiva la Sequenza in Modo Esperto -sahs#:#sahs_activate_expert_mode_info#:#Attenzione: the sequencing expert mode allows you to directly edit the sequencing information of the package tree. Se non sei sicuro di cosa significhi questa scelta, ti raccomandiamo di usare l'opzione di Default Sequency Behaviour. +sahs#:#sahs_activate_expert_mode_info#:#Attenzione: la modalità esperto di sequenziamento permette di modificare direttamente le informazioni di sequenziamento dell'albero dei pacchetti. Se non sei sicuro di cosa significhi questa scelta, ti raccomandiamo di usare l'opzione di Default Sequency Behaviour. sahs#:#sahs_add#:#Crea modulo di apprendimento SCORM sahs#:#sahs_authoring_mode#:#Modalità di authoring -sahs#:#sahs_authoring_mode_info#:#The package must have been created with the ILIAS SCORM editor and it must have been exported as SCORM 1.2/2004 package. +sahs#:#sahs_authoring_mode_info#:#Il pacchetto deve essere stato creato con l'editore ILIAS SCORM e deve essere stato esportato come pacchetto SCORM 1.2/2004. sahs#:#sahs_chapter#:#Capitolo sahs#:#sahs_choose_page_template#:#Scegli il Template di Pagina sahs#:#sahs_choose_pages_chap_scos_ass_only#:#Per favore seleziona solo Pagine, oppure solo SCOs, oppure solo assets, oppure solo Capitoli. @@ -15185,7 +15191,7 @@ sahs#:#sahs_insert_special_page#:#Inserisci Pagina Speciale sahs#:#sahs_learning_objectives#:#Obiettivi di Apprendimento sahs#:#sahs_list_info#:#Usa il marcatore * per lista puntata o il marcatore sahs#:#sahs_mail_context_lp#:#SCORM progresso dell'apprendimento -sahs#:#sahs_mail_context_lp_info#:#For the participant emails on the learning progress screens of a scorm module +sahs#:#sahs_mail_context_lp_info#:#Per i partecipanti e-mail nelle schermate di avanzamento dell'apprendimento di un modulo scorm sahs#:#sahs_new_asset#:#Nuovo Asset sahs#:#sahs_new_chapter#:#Nuovo Capitolo sahs#:#sahs_new_page#:#Nuova Pagina @@ -15202,7 +15208,7 @@ sahs#:#sahs_std_sequencing#:#Sequenziamento standard sahs#:#sahs_std_sequencing_info#:#Utilizza il comportamento di sequenziamento standard ILIAS. sahs#:#sahs_unit#:#SCO sahs#:#scorm_create_export_file_html_one#:#Creare Export File (HTML, One Page, Review Mode) -sc13#:#sc13_page_type_sahs#:#SCORM Editor Page###29 07 2022 new variable +sc13#:#sc13_page_type_sahs#:#SCORM Editor Page scormdebug#:#API-call#:#Chiamata API scormdebug#:#Commit#:#memorizza i dati scormdebug#:#GetDiagnostic#:#consente all'LMS (!) di definire ulteriori informazioni diagnostiche @@ -15213,7 +15219,7 @@ scormdebug#:#Initialize#:#inizializzare comunicazione API scormdebug#:#SCO-name#:#nome SCO scormdebug#:#SCO-title#:#titolo SCO scormdebug#:#SetValue#:#invia dati -scormdebug#:#Terminate#:#memorizza i dati e termina comunicazione API +scormdebug#:#Terminate#:#Memorizza i dati e termina la comunicazione con lo SCORM-API scormdebug#:#adl.nav.request#:#La richiesta di navigazione deve essere elaborata immediatamente dopo Termina() scormdebug#:#adl.nav.request_valid.choice#:#Utilizzata da SCO per determinare se una richiesta di navigazione Scegli per una determinata attività andrà a buon fine. scormdebug#:#adl.nav.request_valid.continue#:#Utilizzata da SCO per determinare se una richiesta di navigazione Continua andrà a buon fine. @@ -15303,7 +15309,7 @@ scormdebug#:#debugwindow_submission_failed#:#Richiesta non riuscita scormdebug#:#debugwindow_submit#:#Richiedi scormdebug#:#description_for#:#descrizione per scormdebug#:#error0#:#Nessun errore -scormdebug#:#error101#:#General Exeption +scormdebug#:#error101#:#Eccezione generale scormdebug#:#error102#:#Errore di inizializzazione generale scormdebug#:#error103#:#Già inizializzato scormdebug#:#error104#:#Istanza del contenuto terminata @@ -15329,7 +15335,7 @@ scormdebug#:#error406#:#Tipo di elemento del modello di dati non corrispondente scormdebug#:#error407#:#Valore dell'elemento del modello di dati fuori intervallo scormdebug#:#error408#:#Dipendenza del modello di dati non stabilita scormdebug#:#generated#:#generata -scormdebug#:#i_fuchsia#:#fuchsia: likely a failure by ILIAS +scormdebug#:#i_fuchsia#:#fucsia: probabilmente un errore di ILIAS scormdebug#:#i_gray#:#grigio: errore corretto da ILIAS scormdebug#:#i_green#:#verde: ok scormdebug#:#i_orange#:#arancione: attenzione! @@ -15342,11 +15348,11 @@ scormdebug#:#no_missing_API-calls#:#Le chiamate API mancanti non erano state ric scormdebug#:#nr_session#:#numero di sessione scormdebug#:#only_important_API-Calls_shown#:#Sono attualmente mostrate solo le chiamate API importanti. scormdebug#:#return_value#:#valore di ritorno -scormdebug#:#scormdebug_disable_cache#:#disable SCORM 2004 Browser-Cache -scormdebug#:#scormdebug_disable_cache_info#:#Ciò impedisce l'archiviazione dei file JavaScript SCORM 2004 nella cache del browser. Si prega di utilizzare questa funzione in tempo prima di una nuova emissione! -scormdebug#:#scormdebug_global_activate#:#Enable SCORM 2004 test tool -scormdebug#:#scormdebug_global_activate_info#:#If enabled, the SCORM 2004 test tool can be activated for desired learning modules. If disabled, the test tool is deactivated for all learning modules. -scormdebug#:#sent_values_not_checked#:#proprietà selezionata: i valori inviati da SCO non sono completamente controllati +scormdebug#:#scormdebug_disable_cache#:#disabilitare SCORM 2004 Browser-Cache +scormdebug#:#scormdebug_disable_cache_info#:#Questo impedisce l'archiviazione dei file JavaScript SCORM 2004 nella cache del browser. Si prega di utilizzare questa funzione in tempo prima di una nuova emissione! +scormdebug#:#scormdebug_global_activate#:#Abilitare lo strumento di test SCORM 2004 +scormdebug#:#scormdebug_global_activate_info#:#Se abilitato, lo strumento di test SCORM 2004 può essere attivato per i moduli di apprendimento desiderati. Se disattivato, lo strumento di test è disattivato per tutti i moduli di apprendimento. +scormdebug#:#sent_values_not_checked#:#Proprietà selezionata: i valori inviati da SCO non sono completamente controllati scormdebug#:#show_all_API-calls#:#Mostra tutte le chiamate API! scormdebug#:#show_only_important_API-calls#:#Mostra solo chiamate API importanti! scormdebug#:#started#:#avviato @@ -15354,14 +15360,14 @@ scormdebug#:#strange_API-Call#:#chiamata API insolita scormdebug#:#strange_error#:#errore insolito scormdebug#:#success_status_by_score_scaled#:#Poiché c’è un valore per cmi.scaled_passing_score, il valore per cmi.success_status è valutato da LMS! Questo viene fatto comparando il valore per cmi.scaled_passing_score con il valore per cmi.score.scaled. Il valore per cmi.success_status è attualmente: scormdebug#:#summary_csv#:#Il riepilogo viene generato come file CSV da importare ad esempio in Excel -scormdebug#:#summary_download#:#You can klick to 'Logs' and download it when you start this tool again. +scormdebug#:#summary_download#:#Puoi cliccare su 'Logs' e scaricarlo quando riavvii questo strumento. scormdebug#:#summary_for_SCO_with_test#:#Riassunto per SCO con un test scormdebug#:#summary_for_SCO_without_test#:#Riassunto per SCO senza un test scormdebug#:#undefined_color#:#colore indefinito scormdebug#:#unknown#:#sconosciuto -scormtrac#:#LearningModuleId#:#Id of the learning module -scormtrac#:#LearningModuleTitle#:#Title of the learning module -scormtrac#:#LearningModuleVersion#:#Version of the learning module +scormtrac#:#LearningModuleId#:#Id del modulo e-learning +scormtrac#:#LearningModuleTitle#:#Titolo del modulo di apprendimento +scormtrac#:#LearningModuleVersion#:#Versione del modulo di apprendimento scormtrac#:#Percentage#:#Percentuale degli SCO completati scormtrac#:#Status#:#Stato totale scormtrac#:#audio_captioning#:#cmi.learner_preference.audio_captioning @@ -15376,7 +15382,7 @@ scormtrac#:#c_mode#:#cmi.mode scormtrac#:#c_raw#:#cmi.score.raw: achieved score scormtrac#:#c_timestamp#:#Ultimo accesso scormtrac#:#c_type#:#cmi.interactions.n.type -scormtrac#:#completedSCOs#:#Number of fully completed SCO +scormtrac#:#completedSCOs#:#Numero di SCO completamente completato scormtrac#:#completion_status#:#cmi.completion_status scormtrac#:#completion_threshold#:#cmi.completion_threshold scormtrac#:#counter#:#contatore @@ -15399,18 +15405,18 @@ scormtrac#:#delivery_speed#:#cmi.learner_preference.delivery_speed scormtrac#:#existingSCOs#:#Numero degli SCO esistenti scormtrac#:#exportobjglobaltosystem#:#Report per obiettivi Global To System (usato da Sequencing) scormtrac#:#exportselectedcore#:#Relazione di base per capitoli (SCO) -scormtrac#:#exportselectedinteractions#:#Basic report forinteractions +scormtrac#:#exportselectedinteractions#:#Report di base per interazioni scormtrac#:#exportselectedobjectives#:#Rapporto per oggetti scormtrac#:#exportselectedraw#:#Dati CMI (RAW) scormtrac#:#exportselectedsuccess#:#Rapporto di base per il successo scormtrac#:#identifierref#:#Rilevatore ID scormtrac#:#interaction_description#:#Decription of the interaction scormtrac#:#interaction_id#:#Id of the interaction -scormtrac#:#interaction_value#:#result of the interaction +scormtrac#:#interaction_value#:#risultato dell'interazione scormtrac#:#latency#:#cmi.interactions.n.latency: time -scormtrac#:#latency_seconds#:#cmi.interactions.n.latency: time in seconds -scormtrac#:#launch_data#:#cmi.launch_data: data at start of the SCO -scormtrac#:#learner_response#:#cmi.interactions.n.learner_response: Response +scormtrac#:#latency_seconds#:#cmi.interactions.n.latency: tempo in secondi +scormtrac#:#launch_data#:#cmi.launch_data: data all'avvio dello SCO +scormtrac#:#learner_response#:#cmi.interactions.n.learner_response: Risposta scormtrac#:#lesson_status#:#stato_lezione scormtrac#:#lm_id#:#Id del modello di apprendimento scormtrac#:#lm_title#:#Titolo del modello di apprendimento @@ -15424,23 +15430,23 @@ scormtrac#:#result#:#cmi.interactions.n.result scormtrac#:#roundedTotal_timeSeconds#:#Tempo totale in secondi (arrotondato) scormtrac#:#rvalue#:#Valore scormtrac#:#satisfied#:#Stato: soddisfatto -scormtrac#:#scaled#:#cmi.score.scaled: score achieved as a decimal fraction -scormtrac#:#scaled_passing_score#:#cmi.scaled_passing_score: score required to pass as a decimal fraction -scormtrac#:#sco_id#:#Id of the chapter (SCO) +scormtrac#:#scaled#:#cmi.score.scaled: punteggio ottenuto come frazione decimale +scormtrac#:#scaled_passing_score#:#cmi.scaled_passing_score: punteggio richiesto per passare come una frazione decimale +scormtrac#:#sco_id#:#Id del capitolo (SCO) scormtrac#:#sco_marked_for_learning_progress#:#rilevanti per il progresso dell'apprendimento -scormtrac#:#sco_title#:#title of the chapter (SCO) +scormtrac#:#sco_title#:#titolo del capitolo (SCO) scormtrac#:#scope#:#ambito -scormtrac#:#session_time#:#cmi.session_time: time in the last session -scormtrac#:#session_time_seconds#:#cmi.session_time: time in the last session in seconds -scormtrac#:#startedSCOs#:#Number of SCOs been started +scormtrac#:#session_time#:#cmi.session_time: tempo nell'ultima sessione +scormtrac#:#session_time_seconds#:#cmi.session_time: tempo nell'ultima sessione in secondi +scormtrac#:#startedSCOs#:#Numero di SCOs avviati scormtrac#:#student_response#:#risposta_dello studente: Risposta -scormtrac#:#success_status#:#cmi.success_status: success -scormtrac#:#suspend_data#:#cmi.suspend_data: variable buffer of the SCO -scormtrac#:#total_time#:#cmi.total_time: total time -scormtrac#:#total_time_seconds#:#cmi.total_time: total time in seconds -scormtrac#:#tracinteractionitem#:#Valutazione per interazione -scormtrac#:#tracinteractionuser#:#Valutazione per utente -scormtrac#:#tracinteractionuseranswers#:#Risposte degli utenti +scormtrac#:#success_status#:#cmi.success_status: successo +scormtrac#:#suspend_data#:#cmi.suspend_data: buffer variabile di SCO +scormtrac#:#total_time#:#cmi.total_time: tempo totale +scormtrac#:#total_time_seconds#:#cmi.total_time: tempo totale in secondi +scormtrac#:#tracinteractionitem#:#Rapporto riassuntivo delle attività del capitolo +scormtrac#:#tracinteractionuser#:#Rapporto relativo al partecipante sul capitolo con valutazione dei compiti del capitolo +scormtrac#:#tracinteractionuseranswers#:#Compiti del capitolo per partecipante (solo risultati) scormtrac#:#user_id#:#Id-Utente scormtrac#:#weighting#:#cmi.interactions.n.weighting scov#:#crsv_create#:#Crea certificato SCORM @@ -15487,7 +15493,7 @@ search#:#lucene_offline_filter#:#Offline-Status search#:#lucene_or#:#O search#:#lucene_port#:#Porta search#:#lucene_prefix_wildcard#:#Query prefisso caratteri jolly -search#:#lucene_prefix_wildcard_info#:#If enabled, prefix wildcard queries (*LIAS finds ILIAS) are supported. +search#:#lucene_prefix_wildcard_info#:#Se abilitato, sono supportate le query con caratteri jolly prefisso (* LIAS trova ILIAS). search#:#lucene_settings_tab#:#Lucene search#:#lucene_settings_title#:#Impostazioni Lucene search#:#lucene_size_frag_info#:#Scegli la dimensione massima degli elementi di testo evidenziati. @@ -15502,24 +15508,24 @@ search#:#search_auto_complete_length#:#Numero di di elementi di lista Auto Compl search#:#search_cdate_filter#:#Filtro da data di creazione search#:#search_cdate_filter_info#:#Se consentito, la ricerca degli oggetti può essere filtrata da un filtro data di creazione facoltativo. search#:#search_content#:#Contenuto della pagina -search#:#search_copyright#:#Copyright###29 10 2025 new variable +search#:#search_copyright#:#Copyright###28 11 2025 new variable search#:#search_created_after#:#Oggetti creati successivamente search#:#search_created_before#:#Oggetti creati in precedenza... search#:#search_created_on#:#Oggetti creati su... search#:#search_crs_title#:#Nome del Corso -search#:#search_detailed_results_title#:#Detailed results in %s###29 10 2025 new variable +search#:#search_detailed_results_title#:#Detailed results in %s###28 11 2025 new variable search#:#search_details_info#:#Ricerca dettagliata. Scegli uno o più Oggetti tra quelli indicati sopra. search#:#search_direct#:#Ricerca diretta search#:#search_err_user_not_exist#:#L'utente con quel nome di login non esiste. search#:#search_fast_info#:#Ricerca nel titolo, nella descrizione e tra le chiavi di ricerca. -search#:#search_field#:#Search Input Field###29 07 2022 new variable -search#:#search_field_perform#:#Perform Search###26 08 2024 new variable +search#:#search_field#:#Search Input Field +search#:#search_field_perform#:#Perform Search###31 03 2023 new variable search#:#search_filter_by_type#:#Filtro per tipo search#:#search_filter_cd#:#Filtro da data di creazione search#:#search_for_crs_members#:#Cerca i membri del corso search#:#search_for_grp_members#:#Ricerca membri del gruppo -search#:#search_for_orgu_members#:#Search for Organisational Units###07 02 2020 new variable -search#:#search_for_orgu_members_recursive#:#Include Subunits?###26 08 2024 new variable +search#:#search_for_orgu_members#:#Cerca unità organizzative +search#:#search_for_orgu_members_recursive#:#Include Subunits?###28 11 2025 new variable search#:#search_for_role_members#:#Ricerca Ruoli search#:#search_for_users#:#Ricerca Utenti search#:#search_grp_title#:#Nome del gruppo @@ -15530,7 +15536,7 @@ search#:#search_limit_reached#:#La ricerca ha prodotto più di %s risultati. Per search#:#search_lucene#:#Ricerca con Lucene search#:#search_mime_excel#:#File Excel search#:#search_mime_filter_form#:#Filtro tipo Mime -search#:#search_mime_filter_form_info#:#Search can be restricted to the chosen mime types.###07 02 2020 new variable +search#:#search_mime_filter_form_info#:#Search can be restricted to the chosen mime types. search#:#search_mime_image#:#Immagini search#:#search_mime_pdf#:#File PDF search#:#search_mime_powerpoint#:#File Powerpoint @@ -15543,137 +15549,138 @@ search#:#search_no_match#:#La ricerca non ha prodotto risultati search#:#search_no_match_hint#:#La tua ricerca - %s - non ha prodotto risultati.

Suggerimento:
Controlla l'ortografia.
Prova con termini differenti.
Prova con termini più generali.
Prova con meno termini. search#:#search_no_selection#:#Nessuma selezione search#:#search_off#:#Off -search#:#search_readme_file#:#Readme File###29 10 2025 new variable -search#:#search_results_show_subitems#:#See detailed results###29 10 2025 new variable -search#:#search_results_too_many_subitems#:#More results are available, please make your search terms more precise.###29 10 2025 new variable +search#:#search_readme_file#:#Readme File###28 11 2025 new variable +search#:#search_results_show_subitems#:#See detailed results###28 11 2025 new variable +search#:#search_results_too_many_subitems#:#More results are available, please make your search terms more precise.###28 11 2025 new variable search#:#search_role_title#:#Nome del ruolo search#:#search_select_search_area#:#Seleziona area di ricerca -search#:#search_server_further_information#:#You can find further information about the Lucene server configuration in the readme file.###29 10 2025 new variable +search#:#search_server_further_information#:#You can find further information about the Lucene server configuration in the readme file.###28 11 2025 new variable search#:#search_show_inactive_user#:#Mostra utenti disattivi -search#:#search_show_inactive_user_info#:#If enabled, the user search will show inactive users. -search#:#search_show_limited_user#:#Show Limited Users -search#:#search_show_limited_user_info#:#If enabled, the user search will show users with limited access and outside their allowed time period. -search#:#search_sort_by#:#Sortation: %s###28 10 2024 new variable -search#:#search_sort_creation_date_asc#:#Oldest###28 10 2024 new variable -search#:#search_sort_creation_date_desc#:#Latest###28 10 2024 new variable -search#:#search_sort_generic_asc#:#%s, asc.###28 10 2024 new variable -search#:#search_sort_generic_desc#:#%s, desc.###28 10 2024 new variable -search#:#search_sort_relevance#:#By Relevance###28 10 2024 new variable -search#:#search_sort_title_asc#:#Alphabetically: A-Z###28 10 2024 new variable -search#:#search_sort_title_desc#:#Alphabetically: Z-A###28 10 2024 new variable +search#:#search_show_inactive_user_info#:#Se abilitato, la ricerca dell'utente mostrerà gli utenti inattivi. +search#:#search_show_limited_user#:#Mostra utenti con accesso limitato +search#:#search_show_limited_user_info#:#Se abilitato, la ricerca dell'utente mostrerà gli utenti con accesso limitato e al di fuori del periodo di tempo consentito. +search#:#search_sort_by#:#Sortation:###28 11 2025 new variable +search#:#search_sort_creation_date_asc#:#Oldest###28 11 2025 new variable +search#:#search_sort_creation_date_desc#:#Latest###28 11 2025 new variable +search#:#search_sort_generic_asc#:#%s, asc.###28 11 2025 new variable +search#:#search_sort_generic_desc#:#%s, desc.###28 11 2025 new variable +search#:#search_sort_relevance#:#By Relevance###28 11 2025 new variable +search#:#search_sort_title_asc#:#Alphabetically: A-Z###28 11 2025 new variable +search#:#search_sort_title_desc#:#Alphabetically: Z-A###28 11 2025 new variable search#:#search_term_combination#:#Combinazione termini di ricerca search#:#search_title_description#:#Titolo / Descrizione search#:#search_tst_svy#:#Test/Sondaggi search#:#search_type#:#Tipo di ricerca search#:#search_user#:#Utenti search#:#search_user_extended#:#Ricerca estesa -search#:#search_user_search_form#:#User Search -search#:#search_user_search_info_form#:#If enabled, users data will be indexed and is searchable. -search#:#seas_search_type#:#Tipo di ricerca -search#:#select_orgu#:#Select Organisational Units###07 02 2020 new variable +search#:#search_user_search_form#:#Cerca nei profili personali +search#:#search_user_search_info_form#:#Se abilitato, i dati degli utenti saranno indicizzati e saranno ricercabili. +search#:#seas_search_type#:#Type###28 11 2025 new variable +search#:#select_orgu#:#Seleziona Unità organizzative search#:#until#:#a: -search#:#user_search_settings_section#:#User Search in 'Member'-tabs###29 10 2025 new variable -sess#:#il_sess_participant#:#Session Participants +search#:#user_search_settings_section#:#User Search in 'Member'-tabs###28 11 2025 new variable +sess#:#il_sess_participant#:#Partecipanti alla sessione sess#:#il_sess_status_open#:#Open Session###29 07 2022 new variable -sess#:#mail_sess_roles#:#Send Mail to Session Roles -sess#:#notification#:#Notification###07 02 2020 new variable +sess#:#mail_sess_roles#:#Invia posta ai ruoli di sessione +sess#:#notification#:#Notifica sess#:#objs_crs_role#:#Ruoli del corso sess#:#objs_grp_role#:#Ruoli del gruppo -sess#:#send_mail_participants#:#All Participants of Session +sess#:#send_mail_participants#:#Tutti i partecipanti alla sessione sess#:#sess_accept_request#:#Accetta partecipazione -sess#:#sess_assign#:#Assign###07 02 2020 new variable -sess#:#sess_bt_refuse#:#Cannot Participate###07 02 2020 new variable +sess#:#sess_assign#:#Assegnare +sess#:#sess_bt_refuse#:#Cannot Participate sess#:#sess_change_type#:#Change Session Type###29 07 2022 new variable -sess#:#sess_contact#:#Contact +sess#:#sess_contact#:#Contatto sess#:#sess_copy#:#Copia Sessione -sess#:#sess_filter_all_types#:#All types -sess#:#sess_filter_not_assigned#:#Not Assigned +sess#:#sess_filter_all_types#:#Tutti i tipi +sess#:#sess_filter_not_assigned#:#Non assegnato sess#:#sess_import#:#Importa Sessione sess#:#sess_info_new_sess_type#:#New Session Type###29 07 2022 new variable sess#:#sess_is_assigned#:#is Assigned sess#:#sess_list_reg_limit_places#:#Posti disponibili sess#:#sess_lp_preset#:#Attiva il progresso dell'apprendimento -sess#:#sess_lp_preset_info#:#(De-)Actives the learning progress for all session events. -sess#:#sess_mail_admins_only#:#For Administrators only -sess#:#sess_mail_admins_only_info#:#Only administrators can use the feature ‘Mail to Participants’ in the ‘Participants’ tab. -sess#:#sess_mail_all#:#For all Participants -sess#:#sess_mail_all_info#:#All participants can use the feature ‘Mail to Participants’ in the ‘Participants’ tab. -sess#:#sess_mail_context_participant_info#:#For the participant e-mails on the participants and learning progress screens of a session -sess#:#sess_mail_context_participant_title#:#Sitzung: Mail to Participants +sess#:#sess_lp_preset_info#:#(De-) Attiva l'avanzamento dell'apprendimento per tutti gli eventi della sessione. +sess#:#sess_mail_admins_only#:#Solo per amministratori +sess#:#sess_mail_admins_only_info#:#Solo gli amministratori possono utilizzare la funzione "Invia ai partecipanti" nella scheda "Partecipanti". +sess#:#sess_mail_all#:#Per tutti i partecipanti +sess#:#sess_mail_all_info#:#Tutti i partecipanti possono utilizzare la funzione "Invia ai partecipanti" nella scheda "Partecipanti". +sess#:#sess_mail_context_participant_info#:#Per i partecipanti e-mail sui partecipanti e schermate di avanzamento dell'apprendimento di una sessione +sess#:#sess_mail_context_participant_title#:#Sezione: Mail ai partecipanti sess#:#sess_mail_permanent_link#:#Clicca sul seguente link per avere tutte le informazioni di cui hai bisogno riguardo la sessione: -sess#:#sess_mail_permanent_link_participants#:#Click on the following link to edit the participants of the session:###07 02 2020 new variable -sess#:#sess_mail_sub_acc_bod#:#sei stato registrato per la sessione "%s". +sess#:#sess_mail_permanent_link_participants#:#Fare clic sul seguente collegamento per modificare i partecipanti alla sessione: +sess#:#sess_mail_sub_acc_bod#:#Sei stato registrato per la sessione "%s". sess#:#sess_mail_sub_acc_sub#:#Registrazione per la sessione "%s" sess#:#sess_mail_sub_dec_bod#:#Siamo spiacenti nel dirti che la tua registrazione è stata rifiutata per la sessione "%s". sess#:#sess_mail_sub_dec_sub#:#Registrazione rifiutato per la sessione "%s" -sess#:#sess_mail_type#:#Mail to Participants -sess#:#sess_material_assigned#:#Assigned###07 02 2020 new variable -sess#:#sess_material_not_assigned#:#Not Assigned###07 02 2020 new variable +sess#:#sess_mail_type#:#Mail ai partecipanti +sess#:#sess_material_assigned#:#Assegnato +sess#:#sess_material_not_assigned#:#Not Assegnato sess#:#sess_max_members_needed#:#Per la funzionalità della lista di attesta è necessario un numero massimo dei membri. sess#:#sess_mem_contacts#:#Tutorial Support -sess#:#sess_mem_send_mail#:#Send Mail###26 08 2024 new variable +sess#:#sess_mem_send_mail#:#Send Mail###30 04 2024 new variable sess#:#sess_mem_tbl_header#:#Partecipanti alla sessione -sess#:#sess_member_administration#:#Edit Participants -sess#:#sess_members#:#Participants -sess#:#sess_members_gallery#:#Session Gallery +sess#:#sess_member_administration#:#Modifica partecipanti +sess#:#sess_members#:#Participanti +sess#:#sess_members_gallery#:#Galleria delle sessioni sess#:#sess_members_print_title#:#Partecipanti alla sessione sess#:#sess_msg_applicants_assigned#:#Candidato/i registrato/i per la sessione. sess#:#sess_msg_applicants_removed#:#Candidato/i rimosso/i dalla lista. +sess#:#sess_new#:#Create Session###28 11 2025 new variable sess#:#sess_new_registrations#:#Partecipa alla richiesta -sess#:#sess_notification_option#:#Option###07 02 2020 new variable -sess#:#sess_notification_option_inherit#:#Inherit from Parent###07 02 2020 new variable -sess#:#sess_notification_option_inherit_info#:#Use the parent notification settings (e.g. notification settings from course or group) for members of this session###07 02 2020 new variable -sess#:#sess_notification_option_manual#:#Set manually###07 02 2020 new variable -sess#:#sess_notification_option_manual_info#:#Notification setting for users has to be set manually in tab 'Participants'###07 02 2020 new variable +sess#:#sess_notification_option#:#Opzione +sess#:#sess_notification_option_inherit#:#Eredita da Genitore +sess#:#sess_notification_option_inherit_info#:#Utilizza le impostazioni di notifica dei genitori (ad es. Le impostazioni di notifica del corso o del gruppo) per i membri di questa sessione +sess#:#sess_notification_option_manual#:#Imposta manualmente +sess#:#sess_notification_option_manual_info#:#L'impostazione delle notifiche per gli utenti deve essere impostata manualmente nella scheda "Partecipanti" sess#:#sess_open#:#Apri sessione sess#:#sess_part_filter_participated#:#Solo frequentato sess#:#sess_part_filter_registered#:#Solo registrato -sess#:#sess_part_table_excused#:#Excused###07 02 2020 new variable -sess#:#sess_participation_refused_info#:#Your participation for this event has been canceled.###07 02 2020 new variable +sess#:#sess_part_table_excused#:#Scusato +sess#:#sess_participation_refused_info#:#La tua partecipazione a questo evento è stata annullata. sess#:#sess_print_list#:#Genera lista sess#:#sess_reg_added_to_wl#:#Sei stato aggiunto alla lista di attesta del gruppo. -sess#:#sess_reg_cannot_participate#:#Cannot Participate###29 07 2022 new variable -sess#:#sess_reg_cannot_participate_info#:#Users can indicate that they cannot participate in the session.###29 07 2022 new variable -sess#:#sess_reg_direct#:#Direct Registration +sess#:#sess_reg_cannot_participate#:#Cannot Participate +sess#:#sess_reg_cannot_participate_info#:#Users can indicate that they cannot participate in the session. +sess#:#sess_reg_direct#:#Registrazione diretta sess#:#sess_reg_direct_info#:#L’utente ha il pulsante “Partecipa” per partecipare alla sessione -sess#:#sess_reg_disabled#:#No Self-enrolment -sess#:#sess_reg_disabled_info#:#A registration is not required for this session appointment +sess#:#sess_reg_disabled#:#Nessuna iscrizione automatica +sess#:#sess_reg_disabled_info#:#Non è richiesta la registrazione per questo appuntamento di sessione sess#:#sess_reg_max_members#:#Numero limitato di membri -sess#:#sess_reg_max_members_info#:#Define the maximum number of users that can participate to this session. +sess#:#sess_reg_max_members_info#:#Definire il numero massimo di utenti che possono partecipare a questa sessione. sess#:#sess_reg_max_members_short#:#Numero dei membri sess#:#sess_reg_max_users_exceeded#:#Non è possibile registrarsi fino a quando il numero massimo degli utente sarà superato. sess#:#sess_reg_max_users_exceeded_wl#:#Il numero massimo degli utenti per questo appuntamento della sessione è stato superato. -sess#:#sess_reg_request#:#Request Membership -sess#:#sess_reg_request_info#:#Interested users can send a request/message to administrators. -sess#:#sess_reg_tutor#:#No Registration Possible###29 07 2022 new variable -sess#:#sess_reg_tutor_info#:#Users cannot register for this session on their own. Only administrators can register users.###29 07 2022 new variable -sess#:#sess_reg_type#:# Procedura di registrazione +sess#:#sess_reg_request#:#Richiedi la partecipazione +sess#:#sess_reg_request_info#:#Gli utenti interessati possono inviare una richiesta / messaggio agli amministratori. +sess#:#sess_reg_tutor#:#No Registration Possible +sess#:#sess_reg_tutor_info#:#Users cannot register for this session on their own. Only administrators can register users. +sess#:#sess_reg_type#:#Procedura di registrazione sess#:#sess_reg_waiting_list#:#Lista di attesta sess#:#sess_reg_waiting_list_autofill#:#Con riempimento automatico -sess#:#sess_reg_waiting_list_autofill_info#:#Participants are recruited from the waiting list automatically on cancellations. +sess#:#sess_reg_waiting_list_autofill_info#:#I partecipanti vengono reclutati automaticamente dalla lista di attesa in caso di cancellazione. sess#:#sess_reg_waiting_list_no_autofill#:#Senza riempimento automatico sess#:#sess_reg_waiting_list_no_autofill_info#:#Se viene superato il numero massimo di utenti, le nuove registrazioni verranno inserite in una lista di attesa. sess#:#sess_reg_waiting_list_none#:#Nessuno -sess#:#sess_registered_confirm#:#The registration requires a confirmation of an administrator. You will be notified after the registration process is completed. -sess#:#sess_registration_notification#:#Notification###07 02 2020 new variable -sess#:#sess_registration_notification_info#:#Shows column in tab 'Participants' to select users being notified about new or leaving participants###07 02 2020 new variable +sess#:#sess_registered_confirm#:#La registrazione richiede la conferma di un amministratore. Riceverai una notifica al termine della procedura di registrazione. +sess#:#sess_registration_notification#:#Notifica +sess#:#sess_registration_notification_info#:#Mostra la colonna nella scheda "Partecipanti" per selezionare gli utenti a cui vengono notificati i partecipanti nuovi o in uscita sess#:#sess_section_reg#:#Impostazioni di registrazione -sess#:#sess_setting_header_presentation#:#Presentation###29 07 2022 new variable -sess#:#sess_show_members#:#Show Participants -sess#:#sess_show_participants_info#:#If activated, session participants can access the participant gallery -sess#:#sess_title#:#Title of Session###29 07 2022 new variable +sess#:#sess_setting_header_presentation#:#Presentation +sess#:#sess_show_members#:#Mostra partecipanti +sess#:#sess_show_participants_info#:#Se attivato, i partecipanti alla sessione possono accedere alla galleria dei partecipanti +sess#:#sess_title#:#Titolo della sessione sess#:#sess_users_added#:#Utenti selezionati registrati per la sessione. sess#:#sess_users_already_assigned#:#L’utente si è appena registrato a questa sessione. sess#:#sess_users_removed_from_list#:#Gli utenti selezionati sono stati eliminati dalla lista di attesta. sess#:#sess_warn_sess_type_changed#:#Do you really want to change the session type? All permission settings will be reset.###29 07 2022 new variable -shib#:#shib_account_creation#:#Account Creation###28 10 2024 new variable -shib#:#shib_account_creation_disabled#:#Disabled###28 10 2024 new variable -shib#:#shib_account_creation_disabled_info#:#No new account is created.###28 10 2024 new variable -shib#:#shib_account_creation_enabled#:#Enabled###28 10 2024 new variable -shib#:#shib_account_creation_enabled_info#:#An active new account is created.###28 10 2024 new variable -shib#:#shib_account_creation_info#:#Account creation is triggered, when a user without a pre-existing ILIAS Account tries to log in via Shibboleth.###28 10 2024 new variable -shib#:#shib_account_creation_with_approval#:#With approval###28 10 2024 new variable -shib#:#shib_account_creation_with_approval_info#:#An inactive new account is created. The account remains inactive until activated by an administrator.###28 10 2024 new variable +shib#:#shib_account_creation#:#Account Creation###28 11 2025 new variable +shib#:#shib_account_creation_disabled#:#Disabled###28 11 2025 new variable +shib#:#shib_account_creation_disabled_info#:#No new account is created.###28 11 2025 new variable +shib#:#shib_account_creation_enabled#:#Enabled###28 11 2025 new variable +shib#:#shib_account_creation_enabled_info#:#An active new account is created.###28 11 2025 new variable +shib#:#shib_account_creation_info#:#Account creation is triggered, when a user without a pre-existing ILIAS Account tries to log in via Shibboleth.###28 11 2025 new variable +shib#:#shib_account_creation_with_approval#:#With approval###28 11 2025 new variable +shib#:#shib_account_creation_with_approval_info#:#An inactive new account is created. The account remains inactive until activated by an administrator.###28 11 2025 new variable shib#:#shib_add_missing#:#Assegna Ruoli Mancanti shib#:#shib_add_remove#:#Aggiungi/Rimuovi Ruoli shib#:#shib_assignment_type#:#Tipo di assegnazione @@ -15711,182 +15718,182 @@ shib#:#shib_settings#:#Impostazioni Shibboleth shib#:#shib_update_role_ass_table#:#Modifica Regola di Assegnazione Ruolo shib#:#shib_update_roles#:#Assegnazioni Ruoli skll#:#skll_competence_achievements#:#Nuovi raggiungimenti di competenze e valutazioni -skll#:#skll_intro_skill_notification_for#:#questa è una panoramica dei tuoi ultimi successi di competenza. +skll#:#skll_intro_skill_notification_for#:#questa è una panoramica dei tuoi ultimi successi di competenze. skll#:#skll_lhist_skill_achieved#:#Status $4$ of $3$ was assigned in $1$. -skll#:#skll_lhist_skill_profile_fulfilled#:#Competence Profile $3$ was fulfilled.###29 07 2022 new variable -skll#:#skll_lhist_skill_self_eval#:#Status $4$ of $3$ was self-assigned.###07 02 2020 new variable -skll#:#skll_lhist_skill_self_eval_in#:#Status $4$ of $3$ was self-assigned in $1$.###07 02 2020 new variable -skll#:#skll_new_skill_achievements#:#Hai raggiunto nuovi livelli di competenza nel periodo da %1$s a %2$s: -skll#:#skll_skill_notification#:#Notifica competenza -skll#:#skll_skill_notification_desc#:#Informa l'utente sui livelli di competenza appena impostati. -skmg#:#scat#:#Categoria di Competenza +skll#:#skll_lhist_skill_profile_fulfilled#:#Competence Profile $3$ was fulfilled.###31 03 2023 new variable +skll#:#skll_lhist_skill_self_eval#:#Lo status $4$ of $3$ è stato auto-assegnato +skll#:#skll_lhist_skill_self_eval_in#:#Lo status $4$ of $3$ è stato auto-assegnato in $1$. +skll#:#skll_new_skill_achievements#:#Hai raggiunto nuovi livelli di competenza nel periodo da %1$sa %2$s: +skll#:#skll_skill_notification#:#Notifica competenze +skll#:#skll_skill_notification_desc#:#Informa l'utente sui livelli di competenze appena impostati. +skmg#:#scat#:#Categoria di competenze skmg#:#skll#:#Competenze di base skmg#:#skmg_360_survey#:#Sondaggio a 360° -skmg#:#skmg_add_assignment#:#Add Roles / Members###07 02 2020 new variable +skmg#:#skmg_add_assignment#:#Aggiungi ruoli / membri skmg#:#skmg_add_level#:#Aggiungi Livello -skmg#:#skmg_add_local_profile#:#Add Local Profile###29 07 2022 new variable +skmg#:#skmg_add_local_profile#:#Add Local Profile skmg#:#skmg_add_profile#:#Aggiungi profilo skmg#:#skmg_add_resource#:#Aggiungi risorsa -skmg#:#skmg_add_skill#:#Aggiungi Competenza -skmg#:#skmg_add_skill_tree#:#Add Competence Tree###29 07 2022 new variable -skmg#:#skmg_add_user_to_profile#:#Add users or roles to profile###07 02 2020 new variable -skmg#:#skmg_all#:#All -skmg#:#skmg_allow_local_profiles#:#Allow Creation of Local Profiles###29 07 2022 new variable -skmg#:#skmg_allow_local_profiles_info#:#Users with permission 'Edit Settings' in Courses and Groups can create local competence profiles using globally defined competences.###29 07 2022 new variable -skmg#:#skmg_ass_materials_from_workspace#:#Qui è possibile assegnare materiali, per esempio file dal tuo spazio di lavoro personale ai livelli di competenza. Se si desidera aggiungere materiali al proprio spazio di lavoro personale ora, cliccare sul seguente link. +skmg#:#skmg_add_skill#:#Aggiungi competenze +skmg#:#skmg_add_skill_tree#:#Add Competence Tree###31 03 2023 new variable +skmg#:#skmg_add_user_to_profile#:#Aggiungi utenti o ruoli al profilo +skmg#:#skmg_all#:#Tutto +skmg#:#skmg_allow_local_profiles#:#Allow Creation of Local Profiles +skmg#:#skmg_allow_local_profiles_info#:#Users with permission 'Edit Settings' in Courses and Groups can create local competence profiles using globally defined competences. +skmg#:#skmg_ass_materials_from_workspace#:#Qui è possibile assegnare materiali, per esempio file dal tuo spazio di lavoro personale ai livelli di competenze. Se si desidera aggiungere materiali al proprio spazio di lavoro personale ora, cliccare sul seguente link. skmg#:#skmg_assign_level#:#Assegna livello skmg#:#skmg_assign_materials#:#Assegna Materiali skmg#:#skmg_assign_user#:#Assegna utente -skmg#:#skmg_assigned_objects#:#Assigned Objects###29 07 2022 new variable +skmg#:#skmg_assigned_objects#:#Assigned Objects skmg#:#skmg_assigned_profiles#:#Profili assegnati -skmg#:#skmg_assigned_skill_levels#:#Livelli di competenza assegnati +skmg#:#skmg_assigned_skill_levels#:#Livelli di competenze assegnati skmg#:#skmg_assigned_users#:#Utenti assegnati -skmg#:#skmg_bar_charts#:#Bar Charts###26 08 2024 new variable +skmg#:#skmg_bar_charts#:#Bar Charts###28 11 2025 new variable skmg#:#skmg_cannot_delete_nodes_in_use#:#Alcune voci non possono essere eliminate perché ancora in uso. -skmg#:#skmg_cert_skill_level_title#:#Titolo del Livello di Competenza -skmg#:#skmg_cert_skill_title#:#Titolo della Competenza -skmg#:#skmg_cert_skill_trigger_title#:#Skill Trigger Title -skmg#:#skmg_confirm_level_resources_removal#:#Do you really want to remove the followin resources from the competence level? -skmg#:#skmg_confirm_remove_level_ass#:#Vuoi davvero rimuovere i seguenti livelli di competenza da questo profilo? +skmg#:#skmg_cert_skill_level_title#:#Titolo del Livello di competenze +skmg#:#skmg_cert_skill_title#:#Titolo della competenze +skmg#:#skmg_cert_skill_trigger_title#:#Titolo trigger competenze +skmg#:#skmg_confirm_level_resources_removal#:#Vuoi veramente rimuovere le seguenti risorse dal livello di competenze? +skmg#:#skmg_confirm_remove_level_ass#:#Vuoi davvero rimuovere i seguenti livelli di competenze da questo profilo? skmg#:#skmg_confirm_user_removal#:#Vuoi davvero rimuovere i seguenti utenti da questo profilo? -skmg#:#skmg_cont_profiles_info#:#In this view, you can select the competence profiles with competence entries, which are related to the currently open object (course/group). To get to the global view with all competence profiles you are assigned to and all competence entries, click on the link below.###26 08 2024 new variable -skmg#:#skmg_cont_profiles_info_empty#:#There are no competence profiles related to the currently open object.###26 08 2024 new variable -skmg#:#skmg_cont_records_info_empty#:#There are no competences related to the currently opened object.###26 08 2024 new variable -skmg#:#skmg_context_global#:#Global###29 07 2022 new variable -skmg#:#skmg_context_local#:#Local###29 07 2022 new variable -skmg#:#skmg_count_references#:#Number of referenced competences:###26 08 2024 new variable +skmg#:#skmg_cont_profiles_info#:#In this view, you can select the competence profiles with competence entries, which are related to the currently open object (course/group). To get to the global view with all competence profiles you are assigned to and all competence entries, click on the link below.###31 08 2022 new variable +skmg#:#skmg_cont_profiles_info_empty#:#There are no competence profiles related to the currently open object.###30 04 2024 new variable +skmg#:#skmg_cont_records_info_empty#:#There are no competences related to the currently opened object.###30 04 2024 new variable +skmg#:#skmg_context_global#:#Global +skmg#:#skmg_context_local#:#Local +skmg#:#skmg_count_references#:#Number of referenced competences:###23 10 2023 new variable skmg#:#skmg_create_sctp#:#Crea una Categoria di Template -skmg#:#skmg_create_skill_category#:#Crea una Categoria di Competenza -skmg#:#skmg_create_skill_template#:#Crea Template di Competenza -skmg#:#skmg_create_skill_template_category#:#Crea una Categoria di Template di Competenza -skmg#:#skmg_create_skill_template_reference#:#Create Relazione di Template di Competenza -skmg#:#skmg_create_skll#:#Crea Competenza -skmg#:#skmg_custom_image_alt#:#Custom image for competence profile###29 07 2022 new variable +skmg#:#skmg_create_skill_category#:#Crea una Categoria di competenze +skmg#:#skmg_create_skill_template#:#Crea Template di competenze +skmg#:#skmg_create_skill_template_category#:#Crea una Categoria di Template di competenze +skmg#:#skmg_create_skill_template_reference#:#Create Relazione di Template di competenze +skmg#:#skmg_create_skll#:#Crea competenze +skmg#:#skmg_custom_image_alt#:#Custom image for competence profile###31 03 2023 new variable skmg#:#skmg_delete_profiles#:#Vuoi davvero eliminare i seguenti profili? -skmg#:#skmg_delete_warning#:#Are you sure that you want to delete the following item(s)? When you delete the items, you also delete all usages, assignments and achievements of it. To be on the safe side, you find a list of all usages below. If the item is used in a competence profile, it will be removed from the profile, too. This may cause the fulfilment of the competence profile for the assigned users. If your are not sure whether an item should really be deleted, please use the statuses in the settings of a single item.###26 08 2024 new variable -skmg#:#skmg_description_info#:#The description comes from the template.###07 02 2020 new variable +skmg#:#skmg_delete_warning#:#Are you sure that you want to delete the following item(s)? When you delete the items, you also delete all usages, assignments and achievements of it. To be on the safe side, you find a list of all usages below. If the item is used in a competence profile, it will be removed from the profile, too. This may cause the fulfilment of the competence profile for the assigned users. If your are not sure whether an item should really be deleted, please use the statuses in the settings of a single item.###30 04 2024 new variable +skmg#:#skmg_description_info#:#La descrizione proviene dal template. skmg#:#skmg_edit_level#:#Livello di modifica skmg#:#skmg_edit_profile#:#Modifica profilo -skmg#:#skmg_edit_scat#:#Edita la Categoria di Competenza -skmg#:#skmg_edit_sctp#:#Edit Template Category###07 02 2020 new variable -skmg#:#skmg_edit_skll#:#Edita le impostazioni di Competenza -skmg#:#skmg_edit_sktr#:#Edita Relazione dei Template di Competenza +skmg#:#skmg_edit_scat#:#Edita la Categoria di competenze +skmg#:#skmg_edit_sctp#:#Edit Template Category +skmg#:#skmg_edit_skll#:#Edita le impostazioni di competenze +skmg#:#skmg_edit_sktr#:#Edita Relazione dei Template di competenze skmg#:#skmg_enable_skmg#:#Attivare la Gestione delle Competenze. skmg#:#skmg_eval_type_1#:#Valutazione skmg#:#skmg_eval_type_2#:#Misurazione skmg#:#skmg_eval_type_3#:#Autovalutazione -skmg#:#skmg_eval_type_latest_1#:#Latest Appraisal###29 07 2022 new variable -skmg#:#skmg_eval_type_latest_2#:#Latest Measurement###29 07 2022 new variable -skmg#:#skmg_eval_type_latest_3#:#Latest Self-Evaluation###29 07 2022 new variable -skmg#:#skmg_execute_self_evaluation#:#Inizia. -skmg#:#skmg_form_presentation#:#Presentation###29 07 2022 new variable +skmg#:#skmg_eval_type_latest_1#:#Latest Appraisal###31 03 2023 new variable +skmg#:#skmg_eval_type_latest_2#:#Latest Measurement###31 03 2023 new variable +skmg#:#skmg_eval_type_latest_3#:#Latest Self-Evaluation###31 03 2023 new variable +skmg#:#skmg_execute_self_evaluation#:#Inizia +skmg#:#skmg_form_presentation#:#Presentation###31 03 2023 new variable skmg#:#skmg_from_lower_to_higher_levels#:#Per favore ordina i Livelli dal più basso in cima alla lista e il più alto, in fondo alla lista. skmg#:#skmg_hide_profile_self_eval#:#Nascondi profilo senza autovalutazione -skmg#:#skmg_hide_profile_self_eval_info#:#I valori di destinazione del profilo non verranno mostrati a un utente, se non è stata effettuata un'autovalutazione per una specifica competenza. +skmg#:#skmg_hide_profile_self_eval_info#:#I valori di destinazione del profilo non verranno mostrati a un utente, se non è stata effettuata un'autovalutazione per una specifica competenze. skmg#:#skmg_import_skills#:#Importa skmg#:#skmg_input_file#:#Importa file skmg#:#skmg_insert_basic_skill_from_clip#:#Inserisci le Competenze di base, dal Clipboard. skmg#:#skmg_insert_please_choose_one_type_only#:#Per favore seleziona un solo tipo di oggetto. -skmg#:#skmg_insert_skill_category_from_clip#:#Inserisci Categoria di Competenza, dal Clipboard. -skmg#:#skmg_insert_skill_template_from_clip#:#Inserisci Template di Competenza, dal Clpboard. -skmg#:#skmg_insert_skill_template_reference_from_clip#:#Inserisci Relazione Template di Competenza, dal Clipboard. +skmg#:#skmg_insert_skill_category_from_clip#:#Inserisci Categoria di competenze, dal Clipboard. +skmg#:#skmg_insert_skill_template_from_clip#:#Inserisci Template di competenze, dal Clpboard. +skmg#:#skmg_insert_skill_template_reference_from_clip#:#Inserisci Relazione Template di competenze, dal Clipboard. skmg#:#skmg_insert_template_category_from_clip#:#Inserisci Categoria di Template dal Clipboard. skmg#:#skmg_items#:#Oggetti skmg#:#skmg_level#:#Livello skmg#:#skmg_list_skills#:#Elenca le Competenze. -skmg#:#skmg_local_assignment_profiles#:#Allow Local Assignment of Global Profiles###29 07 2022 new variable +skmg#:#skmg_local_assignment_profiles#:#Allow Local Assignment of Global Profiles skmg#:#skmg_lp_triggers_level#:#Innescato dal completamento skmg#:#skmg_materials#:#Materiali. -skmg#:#skmg_materials_resources#:#Learning Materials###26 08 2024 new variable +skmg#:#skmg_materials_resources#:#Learning Materials###28 07 2023 new variable skmg#:#skmg_new_level#:#Nuovo Livello. -skmg#:#skmg_new_sktr#:#Nuova Relazione di Template di Competenza. +skmg#:#skmg_new_sktr#:#Nuova Relazione di Template di competenze. skmg#:#skmg_next_step#:#Prossima azione. skmg#:#skmg_no_nodes_selectable#:#Attualmente non ci sono competenze selezionabili. -skmg#:#skmg_no_skill_entries#:#You do not have any entries for this competence yet.###26 08 2024 new variable -skmg#:#skmg_no_skills_selected_info#:#You have not selected any competences yet. Click on the button "Add Competence" to select a competence and to see it here. You can add any number of competences.###29 07 2022 new variable +skmg#:#skmg_no_skill_entries#:#You do not have any entries for this competence yet.###31 03 2023 new variable +skmg#:#skmg_no_skills_selected_info#:#You have not selected or fulfilled any competences yet. Click on the "Add Competence"-button to select a competence. You can add any number of competences. If you fulfill competences by editing learning materials, they will be automatically listed here.###09 11 2022 new variable skmg#:#skmg_no_trigger#:#No Trigger. skmg#:#skmg_nr#:#Nr. skmg#:#skmg_number#:#Numero -skmg#:#skmg_open#:#Open###26 08 2024 new variable -skmg#:#skmg_open_all_assigned_profiles#:#Open All Assigned Competence Profiles###26 08 2024 new variable +skmg#:#skmg_open#:#Open###30 04 2024 new variable +skmg#:#skmg_open_all_assigned_profiles#:#Open All Assigned Competence Profiles###31 08 2022 new variable skmg#:#skmg_order#:#Ordine. skmg#:#skmg_order_nr#:#Numero d'ordine. -skmg#:#skmg_order_nr_info#:#Posizioni competenza nell'elenco delle competenze. -skmg#:#skmg_please_select_self_skill#:#Inizia una nuova auto valutazione. Competenza: -skmg#:#skmg_please_select_your_skill_levels#:#Per favore seleziona il tuo Livello di Competenza +skmg#:#skmg_order_nr_info#:#Posizioni competenze nell'elenco delle competenze. +skmg#:#skmg_please_select_self_skill#:#Inizia una nuova auto valutazione. competenze: +skmg#:#skmg_please_select_your_skill_levels#:#Per favore seleziona il tuo Livello di competenze skmg#:#skmg_previous_step#:#Azione precedente. skmg#:#skmg_profile#:#Profilo -skmg#:#skmg_really_delete_levels#:#Vuoi veramente cancellare il seguente Livello di Competenza? +skmg#:#skmg_really_delete_levels#:#Vuoi veramente cancellare il seguente Livello di competenze? skmg#:#skmg_really_remove_skills#:#Vuoi veramente Rimuovere le seguenti Competenze dalla tua lista? -skmg#:#skmg_recommended_learning_material_crs#:#Achieve your targets in this course###26 08 2024 new variable -skmg#:#skmg_recommended_learning_material_global#:#Achieve your targets###26 08 2024 new variable -skmg#:#skmg_recommended_learning_material_grp#:#Achieve your targets in this group###26 08 2024 new variable -skmg#:#skmg_recommended_learning_material_info#:#Select exactly one of the following learning materials. Please work through it to achieve the competence target.###29 07 2022 new variable -skmg#:#skmg_refresh_view#:#Refresh -skmg#:#skmg_remove#:#Remove###26 08 2024 new variable +skmg#:#skmg_recommended_learning_material_crs#:#Achieve your targets in this course###28 07 2023 new variable +skmg#:#skmg_recommended_learning_material_global#:#Achieve your targets###28 07 2023 new variable +skmg#:#skmg_recommended_learning_material_grp#:#Achieve your targets in this group###28 07 2023 new variable +skmg#:#skmg_recommended_learning_material_info#:#Select exactly one of the following learning materials. Please work through it to achieve the competence target.###31 03 2023 new variable +skmg#:#skmg_refresh_view#:#Ricarica +skmg#:#skmg_remove#:#Remove###30 04 2024 new variable skmg#:#skmg_remove_levels#:#Rimuovi livelli -skmg#:#skmg_remove_skill#:#Rimuovi la Competenza. -skmg#:#skmg_remove_trigger#:#Remuovi Trigger. +skmg#:#skmg_remove_skill#:#Rimuovi la competenze. +skmg#:#skmg_remove_trigger#:#Rimuovi Trigger. skmg#:#skmg_resources#:#Risorse skmg#:#skmg_save_order#:#Salva l'ordine. skmg#:#skmg_save_self_evaluation#:#Finisci l'auto valutazione. skmg#:#skmg_save_settings#:#Salva impostazioni -skmg#:#skmg_sctp#:#Categoria di Template di Competenza. -skmg#:#skmg_select_level#:#Select Competence Level###26 08 2024 new variable -skmg#:#skmg_select_skill#:#Clicca su una Competenza per aggiungerla alle tue Competenze personali. -skmg#:#skmg_select_skill_level_assign#:#Si prega di selezionare una competenza. +skmg#:#skmg_sctp#:#Categoria di Template di competenze. +skmg#:#skmg_select_level#:#Select Competence Level###30 04 2024 new variable +skmg#:#skmg_select_skill#:#Clicca su una competenze per aggiungerla alle tue Competenze personali. +skmg#:#skmg_select_skill_level_assign#:#Si prega di selezionare una competenze. skmg#:#skmg_select_trigger#:#Seleziona Trigger. skmg#:#skmg_selectable#:#Selezionabile -skmg#:#skmg_selectable_info#:#Permetti all'utente di selezionare questa Categoria come Competenza personale. +skmg#:#skmg_selectable_info#:#Permetti all'utente di selezionare questa Categoria come competenze personale. skmg#:#skmg_selected_items_have_been_copied#:#Gli oggetti selezionati sono stati copiati. skmg#:#skmg_selected_items_have_been_cut#:#Gli oggetti selezionati sono stati tagliati. skmg#:#skmg_selected_skills#:#Competenze selezionate skmg#:#skmg_self_evaluation#:#Auto-valutazione. -skmg#:#skmg_self_evaluation_byline#:#The self-evaluation will be excluded from target achievement. It is used for your guidance.###29 07 2022 new variable +skmg#:#skmg_self_evaluation_byline#:#The self-evaluation will be excluded from target achievement. It is used for your guidance.###31 03 2023 new variable skmg#:#skmg_self_evaluations#:#Auto-valutazioni. -skmg#:#skmg_set_as_lp_trigger#:#Completion Should Trigger Competence Record###26 08 2024 new variable -skmg#:#skmg_set_as_no_lp_trigger#:#Completion Should Not Trigger Competence Record###26 08 2024 new variable -skmg#:#skmg_set_as_no_suggested#:#Do not Show as Learning Material###26 08 2024 new variable -skmg#:#skmg_set_as_suggested#:#Show as Learning Material###26 08 2024 new variable +skmg#:#skmg_set_as_lp_trigger#:#Completion Should Trigger Competence Record###30 04 2024 new variable +skmg#:#skmg_set_as_no_lp_trigger#:#Completion Should Not Trigger Competence Record###30 04 2024 new variable +skmg#:#skmg_set_as_no_suggested#:#Do not Show as Learning Material###30 04 2024 new variable +skmg#:#skmg_set_as_suggested#:#Show as Learning Material###30 04 2024 new variable skmg#:#skmg_settings#:#Impostazionei di gestione delle Competenze. -skmg#:#skmg_show_all#:#Show All###29 07 2022 new variable -skmg#:#skmg_show_latest_entries#:#Show Latest Entries###29 07 2022 new variable -skmg#:#skmg_skill#:#Competenza. -skmg#:#skmg_skill_in_use#:#Questa competenza è utilizzata dall’utente o dal contenuto. Non tutti i comandi sono disponibili. Si prega di ricordare che qualsiasi modifica apportata avrà effetti sugli utilizzi attuali. -skmg#:#skmg_skill_level#:#Livello di Competenza. -skmg#:#skmg_skill_level_trigger#:#Trigger di Livello di Competenza. -skmg#:#skmg_skill_levels#:#Livelli di Competenza. +skmg#:#skmg_show_all#:#Show All###31 03 2023 new variable +skmg#:#skmg_show_latest_entries#:#Show Latest Entries###31 03 2023 new variable +skmg#:#skmg_skill#:#competenze. +skmg#:#skmg_skill_in_use#:#Questa competenze è utilizzata dall’utente o dal contenuto. Non tutti i comandi sono disponibili. Si prega di ricordare che qualsiasi modifica apportata avrà effetti sugli utilizzi attuali. +skmg#:#skmg_skill_level#:#Livello di competenze. +skmg#:#skmg_skill_level_trigger#:#Trigger di Livello di competenze. +skmg#:#skmg_skill_levels#:#Livelli di competenze. skmg#:#skmg_skill_management_deactivated#:#La gestione delle Competenze è attualmente disattivata. -skmg#:#skmg_skill_needs_impr_no_res#:#È necessario migliorare questa competenza. Sfortunatamente non sono attualmente disponibili risorse di apprendimento per fornire materiale didattico adeguato al livello di competenza di destinazione. -skmg#:#skmg_skill_needs_impr_res#:#È necessario migliorare questa competenza. Le seguenti risorse forniscono materiale didattico adeguato al livello di competenza di destinazione. -skmg#:#skmg_skill_needs_self_eval#:#Please conduct a self-evaluation first to see your competence target. Please click on "Actions" for that.###29 07 2022 new variable -skmg#:#skmg_skill_needs_self_eval_box#:#Please note that you have not conducted a self-evaluation for at least one competence in this profile. You will not see the competence target for the affected competences until a self-evaluation is done.###29 07 2022 new variable -skmg#:#skmg_skill_no_needs_impr#:#Il tuo livello di competenza è sufficiente per il profilo selezionato. -skmg#:#skmg_skill_no_needs_impr_info#:#You achieved the target for this competence.###29 07 2022 new variable -skmg#:#skmg_skill_overview#:#Overview###26 08 2024 new variable -skmg#:#skmg_skill_profile_records#:#Competence Records###26 08 2024 new variable +skmg#:#skmg_skill_needs_impr_no_res#:#È necessario migliorare questa competenze. Sfortunatamente non sono attualmente disponibili risorse di apprendimento per fornire materiale didattico adeguato al livello di competenze di destinazione. +skmg#:#skmg_skill_needs_impr_res#:#È necessario migliorare questa competenze. Le seguenti risorse forniscono materiale didattico adeguato al livello di competenze di destinazione. +skmg#:#skmg_skill_needs_self_eval#:#Please conduct a self-evaluation first to see your competence target.###09 11 2022 new variable +skmg#:#skmg_skill_needs_self_eval_box#:#Please note that you have not conducted a self-evaluation for at least one competence in this profile. You will not see the competence target for the affected competences until a self-evaluation is done.###09 11 2022 new variable +skmg#:#skmg_skill_no_needs_impr#:#Il tuo livello di competenze è sufficiente per il profilo selezionato. +skmg#:#skmg_skill_no_needs_impr_info#:#You achieved the target for this competence.###31 03 2023 new variable +skmg#:#skmg_skill_overview#:#Overview###28 07 2023 new variable +skmg#:#skmg_skill_profile_records#:#Competence Records###28 07 2023 new variable skmg#:#skmg_skill_profiles#:#Profili -skmg#:#skmg_skill_template#:#Template di Competenza. -skmg#:#skmg_skill_templates#:#Templates di Competenza. -skmg#:#skmg_skill_tree#:#Competence Tree###29 07 2022 new variable -skmg#:#skmg_skill_trees#:#Competence Trees###29 07 2022 new variable +skmg#:#skmg_skill_template#:#Template di competenze. +skmg#:#skmg_skill_templates#:#Templates di competenze. +skmg#:#skmg_skill_tree#:#Competence Tree###31 03 2023 new variable +skmg#:#skmg_skill_trees#:#Competence Trees###31 03 2023 new variable skmg#:#skmg_skills#:#Competenze. -skmg#:#skmg_sktr#:#Relazione di Templates di Competenza. +skmg#:#skmg_sktr#:#Relazione di Templates di competenze. skmg#:#skmg_status#:#Stato skmg#:#skmg_status_draft#:#Bozza (Offline) skmg#:#skmg_status_draft_info#:#La voce verrà nascosta. -skmg#:#skmg_status_outdated#:#Obsolete -skmg#:#skmg_status_outdated_info#:#Le voci non possono essere nuovamente selezionate dagli utenti come abilità personale o assegnate agli oggetti repository o profili di abilità. Tuttavia, le assegnazioni e i dati esistenti vengono ancora presentati. +skmg#:#skmg_status_outdated#:#Obsoleto +skmg#:#skmg_status_outdated_info#:#Le voci non possono essere nuovamente selezionate dagli utenti come competenze personale o assegnate agli oggetti repository o profili di competenze. Tuttavia, le assegnazioni e i dati esistenti vengono ancora presentati. skmg#:#skmg_status_publish#:#Pubblicato skmg#:#skmg_status_publish_info#:#La voce può essere utilizzata se anche tutti i principali sono pubblicati. Una volta che le voci sono utilizzate, lo stato non può più essere impostato per la bozza, e non possono nemmeno essere eliminate. skmg#:#skmg_suggested#:#Risorsa suggerita skmg#:#skmg_suggested_resources#:#Risorse suggerite skmg#:#skmg_sure_delete_self_evaluation#:#Vuoi veramente cancellare le seguenti auto valutazioni? skmg#:#skmg_target_level#:#Livello profilo di destinazione -skmg#:#skmg_target_levels#:#Competence Targets###29 07 2022 new variable +skmg#:#skmg_target_levels#:#Target Levels skmg#:#skmg_trigger#:#Trigger. skmg#:#skmg_type#:#Tipo -skmg#:#skmg_type_of_formation#:#Type of Formation +skmg#:#skmg_type_of_formation#:#Tipo di formazione skmg#:#skmg_update_order#:#Aggiorna l'Ordine. skmg#:#skmg_usage#:#Utilizzo skmg#:#skmg_usage_obj_objects#:#Oggetto/i @@ -15894,57 +15901,57 @@ skmg#:#skmg_usage_obj_profiles#:#Profilo/i skmg#:#skmg_usage_obj_users#:#Utente/i skmg#:#skmg_usage_type_info_gen#:#Utilizzo generico negli oggetti repository skmg#:#skmg_usage_type_info_mat#:#Gli utenti hanno assegnato materiale dal loro spazio di lavoro personale -skmg#:#skmg_usage_type_info_pers#:#Selezionato dagli utenti come abilità personale -skmg#:#skmg_usage_type_info_prof#:#Utilizzato nei profili di abilità +skmg#:#skmg_usage_type_info_pers#:#Selezionato dagli utenti come competenze personale +skmg#:#skmg_usage_type_info_prof#:#Utilizzato nei profili di competenze skmg#:#skmg_usage_type_info_res#:#Oggetti repository assegnati come risorsa suggerita skmg#:#skmg_usage_type_info_user#:#Assegnato agli utenti skmg#:#skmg_your_self_evaluation#:#La tua auto valutazione. -stus#:#stus_action_delete#:#Delete###29 10 2025 new variable -stus#:#stus_action_edit#:#Edit###29 10 2025 new variable -stus#:#stus_action_toggle#:#Activate/Deactivate###29 10 2025 new variable -stus#:#stus_active#:#Active###29 10 2025 new variable -stus#:#stus_alias#:#Shortlink###29 10 2025 new variable -stus#:#stus_alias_already_exists#:#The shortlink is already taken. Please choose another one.###29 10 2025 new variable -stus#:#stus_alias_invalid#:#The shortlink contains invalid characters. Permitted characters: A-Z, a-z, 0-9, - and _###29 10 2025 new variable -stus#:#stus_confirm_delete#:#Delete entries###29 10 2025 new variable -stus#:#stus_create_shortlink#:#Create shortlink###29 10 2025 new variable -stus#:#stus_delete#:#Delete###29 10 2025 new variable -stus#:#stus_delete_shortlink#:#Delete###29 10 2025 new variable -stus#:#stus_delete_shortlink_msg#:#Shortlink deleted###29 10 2025 new variable -stus#:#stus_index#:#Manage###29 10 2025 new variable -stus#:#stus_info#:#Information###29 10 2025 new variable -stus#:#stus_info_active#:#Inactive shortlinks are not redirected when called up.###29 10 2025 new variable -stus#:#stus_info_alias#:#May only contain the following characters: A-Z, a-z, 0-9, - und _###29 10 2025 new variable -stus#:#stus_info_target_ref_id#:#Target object###29 10 2025 new variable -stus#:#stus_order_saved#:#Order saved###29 10 2025 new variable -stus#:#stus_prefix#:#Prefix###29 10 2025 new variable -stus#:#stus_rbac_permissions#:#Permissions###29 10 2025 new variable -stus#:#stus_shortlink#:#Shortlink###29 10 2025 new variable -stus#:#stus_shortlinks#:#Shortlinks###29 10 2025 new variable -stus#:#stus_shortlinks_deleted#:#Shortlinks have been deleted###29 10 2025 new variable -stus#:#stus_shortlinks_toggled#:#Shortlinks have been deactivated/activated###29 10 2025 new variable -stus#:#stus_stus_stored_sucessfully#:#Shortlink successfully saved###29 10 2025 new variable -stus#:#stus_stus_toggle#:#Deactivate/Activate###29 10 2025 new variable -stus#:#stus_target_link#:#Target object###29 10 2025 new variable -stus#:#stus_target_ref_id#:#Target object###29 10 2025 new variable -stus#:#stus_target_ref_id_required#:#Select a target object.###29 10 2025 new variable -stus#:#stus_toggle#:#Deactivate/Activate###29 10 2025 new variable -stus#:#stus_toggle_shortlink#:#Change status###29 10 2025 new variable -stus#:#stus_toggle_shortlink_msg#:#Would you like to change the active status of the following entries?###29 10 2025 new variable -style#:#Style#:#Style###07 02 2020 new variable +stus#:#stus_action_delete#:#Delete###28 11 2025 new variable +stus#:#stus_action_edit#:#Edit###28 11 2025 new variable +stus#:#stus_action_toggle#:#Activate/Deactivate###28 11 2025 new variable +stus#:#stus_active#:#Active###28 11 2025 new variable +stus#:#stus_alias#:#Shortlink###28 11 2025 new variable +stus#:#stus_alias_already_exists#:#The shortlink is already taken. Please choose another one.###28 11 2025 new variable +stus#:#stus_alias_invalid#:#The shortlink contains invalid characters. Permitted characters: A-Z, a-z, 0-9, - and _###28 11 2025 new variable +stus#:#stus_confirm_delete#:#Delete entries###28 11 2025 new variable +stus#:#stus_create_shortlink#:#Create shortlink###28 11 2025 new variable +stus#:#stus_delete#:#Delete###28 11 2025 new variable +stus#:#stus_delete_shortlink#:#Delete###28 11 2025 new variable +stus#:#stus_delete_shortlink_msg#:#Shortlink deleted###28 11 2025 new variable +stus#:#stus_index#:#Manage###28 11 2025 new variable +stus#:#stus_info#:#Information###28 11 2025 new variable +stus#:#stus_info_active#:#Inactive shortlinks are not redirected when called up.###28 11 2025 new variable +stus#:#stus_info_alias#:#May only contain the following characters: A-Z, a-z, 0-9, - und _###28 11 2025 new variable +stus#:#stus_info_target_ref_id#:#Target object###28 11 2025 new variable +stus#:#stus_order_saved#:#Order saved###28 11 2025 new variable +stus#:#stus_prefix#:#Prefix###28 11 2025 new variable +stus#:#stus_rbac_permissions#:#Permissions###28 11 2025 new variable +stus#:#stus_shortlink#:#Shortlink###28 11 2025 new variable +stus#:#stus_shortlinks#:#Shortlinks###28 11 2025 new variable +stus#:#stus_shortlinks_deleted#:#Shortlinks have been deleted###28 11 2025 new variable +stus#:#stus_shortlinks_toggled#:#Shortlinks have been deactivated/activated###28 11 2025 new variable +stus#:#stus_stus_stored_sucessfully#:#Shortlink successfully saved###28 11 2025 new variable +stus#:#stus_stus_toggle#:#Deactivate/Activate###28 11 2025 new variable +stus#:#stus_target_link#:#Target object###28 11 2025 new variable +stus#:#stus_target_ref_id#:#Target object###28 11 2025 new variable +stus#:#stus_target_ref_id_required#:#Select a target object.###28 11 2025 new variable +stus#:#stus_toggle#:#Deactivate/Activate###28 11 2025 new variable +stus#:#stus_toggle_shortlink#:#Change status###28 11 2025 new variable +stus#:#stus_toggle_shortlink_msg#:#Would you like to change the active status of the following entries?###28 11 2025 new variable +style#:#Style#:# style#:#adapt_icon#:#Adatta icona style#:#adapt_icon_description#:#Adatta colori icona o cambia l’icona. style#:#adapt_icons#:#Adatta colori icona style#:#adapt_icons_description#:#Tutte le icone che si possono trovare nelle icone svg nella cartella delle immagini di interfaccia sono elencate qui. Se viene cambiato un colore, verrà cambiato in tutte le icone che hanno questo colore. -style#:#adapt_scss#:#Adapt scss###26 08 2024 new variable -style#:#adapt_scss_description#:#This is a direct representation of all scss variables from the settings files used in the selected skin. Variable names and descriptions are drawn directly from those files and are therefore only available in their original language. The selected style will be recompiled completely by updating/reseting the variables. Resetting variables will create a copy of the default delos style.###26 08 2024 new variable +style#:#adapt_scss#:#Adapt scss###30 04 2024 new variable +style#:#adapt_scss_description#:#This is a direct representation of all scss variables from the settings files used in the selected skin. Variable names and descriptions are drawn directly from those files and are therefore only available in their original language. The selected style will be recompiled completely by updating/reseting the variables. Resetting variables will create a copy of the default delos style.###30 04 2024 new variable style#:#add_substyle#:#Aggiungi sottotitolo style#:#add_system_style#:#Aggiungi stile di sistema style#:#assignment#:#Assegnazione style#:#blue_color#:#Colore blu style#:#blue_colors#:#Colori blu style#:#blue_colors_description#:#Descrizione colore blu -style#:#can_not_read_scss_file#:#Cannot read scss file. Path:###26 08 2024 new variable +style#:#can_not_read_scss_file#:#Cannot read scss file. Path:###30 04 2024 new variable style#:#cant_deactivate_default_style#:#Gli stili predefiniti non possono essere disattivati. style#:#cant_delete_activated_style#:#Gli stili attivati non possono essere eliminati. style#:#cant_delete_if_users_assigned#:#Gli stili non possono essere eliminati se gli utenti sono ancora assegnati. @@ -15956,11 +15963,11 @@ style#:#color_changed_to#:#a: style#:#color_reset#:#I colori delle icone sono state ripristinate. Importante: Bisogna notare che il caching potrebbe prevenire le tue modifiche dall’essere mostrate. Potrebbe essere necessario cancellare la cache nel browser. style#:#color_update#:#I colori delle icone sono state aggiornate. Importante: Bisogna notare che il caching potrebbe prevenire le tue modifiche dall’essere mostrate. Potrebbe essere necessario cancellare la cache nel browser. style#:#default_style_set_to#:#Lo stile di sistema predefinito è stato impostato per: -style#:#dir_changed_to#:#The directory has been moved to:###26 08 2024 new variable +style#:#dir_changed_to#:#The directory has been moved to:###30 04 2024 new variable style#:#dir_copied_from#:#Il seguente elenco è stato copiato da: -style#:#dir_created#:#The following directory has been created:###26 08 2024 new variable +style#:#dir_created#:#The following directory has been created:###30 04 2024 new variable style#:#dir_deleted#:#Il seguente elenco dei dati è stato eliminato: -style#:#dir_preserved_backup#:#Preserved Backup folder:###26 08 2024 new variable +style#:#dir_preserved_backup#:#Preserved Backup folder:###30 04 2024 new variable style#:#dir_preserved_linked#:#Link mantenuto: style#:#directory_created#:#Elenco copiato: style#:#documentation#:#Documentazione @@ -15982,23 +15989,23 @@ style#:#icons#:#Icone style#:#icons_gallery#:#Galleria icone style#:#image_dir#:#Elenco immagine style#:#image_dir_description#:#Cartella per memorizzare le immagini (per lo più icone) dell’interfaccia. Questa directory può essere condivisa con altri stili e stili secondari dell’interfaccia. -style#:#in_main_scss_file#:#is not imported inside the system styles main scss file:###26 08 2024 new variable -style#:#invalid_scss_path#:#The provided sass/scss path is either not valid or the webserver does not have the proper permission to read and execute sass/scss. Sass/scss (or the file linked to by the file pointed to by the scss path) has to be readable and executable by your webserver.###26 08 2024 new variable +style#:#in_main_scss_file#:#is not imported inside the system styles main scss file:###30 04 2024 new variable +style#:#invalid_scss_path#:#The provided sass/scss path is not valid or the webserver does not have the proper permission to read and execute sass/scss. Sass/scss (or the file linked to by the file pointed to by the scss path) has to be readabele and executable by your webserver.###30 04 2024 new variable style#:#ks_documentation_of_style#:#Kitchen Sink documentazione di stile: style#:#ks_documentation_of_substyle#:#Kitchen Sink documentazione dello stile secondario: -style#:#main_scss_created#:#Main SCSS has been created:###26 08 2024 new variable +style#:#main_scss_created#:#Main SCSS has been created:###30 04 2024 new variable style#:#manage_system_styles#:#Gestisci stili sistema style#:#msg_sub_style_created#:#Lo stile secondario è stato creato. style#:#msg_sys_style_created#:#Il nuovo stile di sistema è stato creato con successo. style#:#msg_sys_style_update#:#Gli stili del sistema sono stati aggiornati -style#:#no_scss_path_set#:#No Scss Path set###26 08 2024 new variable +style#:#no_scss_path_set#:#No Scss Path set###30 04 2024 new variable style#:#no_style_selected#:#Nessun stile secondario è stato selezionato. style#:#of_parent#:#del principale: style#:#open_documentation#:#Apri documentazione style#:#parent#:#Stile principale style#:#personal#:#Personale style#:#personal_style_set_to#:#Il tuo stile personale è stato impostato per: -style#:#provided_scss_path#:#Provided scss path:###26 08 2024 new variable +style#:#provided_scss_path#:#Provided scss path:###30 04 2024 new variable style#:#red_color#:#Colore rosso style#:#red_colors#:#Colori rosso style#:#red_colors_description#:#Descrizione colore rosso @@ -16007,17 +16014,17 @@ style#:#remove_assignment#:#Rimuovi assegnazione style#:#reset_icons#:#Reimposta icone style#:#reset_variables#:#Ripristina variabili style#:#scope#:#Ambito -style#:#scss#:#Scss###26 08 2024 new variable -style#:#scss_can_not_be_modified#:#Scss cannot be modified###26 08 2024 new variable -style#:#scss_compile_failed#:#Something in the compilation of the scss file went wrong. Is scss installed and the path set correctly in ILIAS setup? Original error:###26 08 2024 new variable -style#:#scss_file_reset#:#The scss variables have been reset. Important: Note that caching might prevent your changes from being shown. You might need to clear your browsers cache.###26 08 2024 new variable -style#:#scss_file_updated#:#The scss variables have been updated. Important: Note that caching might prevent your changes from being shown. You might need to clear your browsers cache.###26 08 2024 new variable -style#:#scss_folder_reset#:#Scss folder reset###26 08 2024 new variable -style#:#scss_folder_updated#:#Scss folder has been updated###26 08 2024 new variable -style#:#scss_scss_installation_detected#:#Scss/sass installation detected at:###26 08 2024 new variable -style#:#scss_variable_empty#:#This variable was empty. The default from your settings files has been set. Please check if this is correct before compiling.###26 08 2024 new variable -style#:#scss_variables_empty_might_have_changed#:#There are empty variables in your form. You might have changed your settings files since loading this form. The defaults from the settings files have been set for the empty fields. Please check those marked empty fields before compiling and saving the values to your settings files.###26 08 2024 new variable -style#:#scss_variables_file_not_included#:#The scss variables files:###26 08 2024 new variable +style#:#scss#:#Scss###30 04 2024 new variable +style#:#scss_can_not_be_modified#:#Scss cannot be modified###30 04 2024 new variable +style#:#scss_compile_failed#:#Something in the compilation of the scss file went wrong. Is scss installed and the path set correctly in ILIAS setup? Original error:###30 04 2024 new variable +style#:#scss_file_reset#:#The scss variables have been reset. Important: Note that caching might prevent your changes from being shown. You might need to clear your browsers cache.###30 04 2024 new variable +style#:#scss_file_updated#:#The scss variables have been updated. Important: Note that caching might prevent your changes from being shown. You might need to clear your browsers cache.###30 04 2024 new variable +style#:#scss_folder_reset#:#Scss folder reset###30 04 2024 new variable +style#:#scss_folder_updated#:#Scss folder has been updated###30 04 2024 new variable +style#:#scss_scss_installation_detected#:#Scss/sass installation detected at:###30 04 2024 new variable +style#:#scss_variable_empty#:#This variable was empty. The default from your settings files has been set. Please check if this is correct before compiling.###30 04 2024 new variable +style#:#scss_variables_empty_might_have_changed#:#There are empty variables in your form. You might have changed your settings files since loading this form. The defaults from the settings files have been set for the empty fields. Please check those marked empty fields before compiling and saving the values to your settings files.###30 04 2024 new variable +style#:#scss_variables_file_not_included#:#The scss variables files:###30 04 2024 new variable style#:#select_icon#:#Seleziona icona style#:#settings_of_style#:#Gestisci stile style#:#settings_of_substyle#:#Gestisci sottotitolo @@ -16028,18 +16035,18 @@ style#:#skin_id_description#:#Le interfacce sono contenitori per stili e stili s style#:#skin_id_exists#:#Esiste già un’interfaccia con questo ID. style#:#skin_name#:#Nome interfaccia style#:#skin_name_description#:#Il nome dell’interfaccia può essere utilizzato per descrivere l’area di applicazione dell’interfaccia in forma leggibile. Apparirà in tutti gli elementi dell’interfaccia utente permettendo la selezione delle interfacce. -style#:#skin_version#:#Versione interfaccia -style#:#skin_version_description#:#La versione interfaccia è utilizzata per memorizzare nuovamente lo stile dopo le modifiche. Viene aggiornato automaticamente. +style#:#skin_version#:#Versione Interfaccia +style#:#skin_version_description#:#La versione interfaccia è utilizzata per memorizzare nuovamente lo stile dopo le modifiche. Viene aggiornata automaticamente. style#:#sound_dir#:#Elenco suoni style#:#sound_dir_description#:#Cartella per memorizzare i suoni dell’interfaccia. Questa directory può essere condivisa con altri stili e stili secondari dell’interfaccia. style#:#sty_acopy#:#Copia. -style#:#sty_add_assignment#:#Add Assignment. +style#:#sty_add_assignment#:#Aggiungi assegnazione. style#:#sty_add_characteristic#:#Aggiungi Classe di Stile. style#:#sty_add_color#:#Aggiungi Colore. style#:#sty_add_content_style#:#Aggiungi Stile di Contenuto. style#:#sty_add_image#:#Aggiungi Immagine style#:#sty_add_media_query#:#Aggiungi Media Query -style#:#sty_add_media_query_info#:#E.g. "only screen and (max-width: 600px)" for browser window smaller than 600px or "print" for printing devices.###07 02 2020 new variable +style#:#sty_add_media_query_info#:#Per esempio. "solo schermo e (larghezza massima: 600 px)" per la finestra del browser inferiore a 600 px o "stampa" per i dispositivi di stampa. style#:#sty_add_pgl#:#Aggiungi Layout di Pagina style#:#sty_add_template#:#Aggiungi Template style#:#sty_added_characteristic#:#Classe di Stile Aggiunta. @@ -16054,7 +16061,7 @@ style#:#sty_background_position#:#Posizione Sfondo style#:#sty_background_repeat#:#Ripeti Sfondo style#:#sty_base_color#:#Colore di base style#:#sty_based_on#:#Basato su -style#:#sty_bg_img_info#:#To add images to the dropdown selection please upload them in the "Images" section of the style first.###29 07 2022 new variable +style#:#sty_bg_img_info#:#To add images to the dropdown selection please upload them in the "Images" section of the style first.###31 03 2023 new variable style#:#sty_border#:#Bordo style#:#sty_border_color#:#Colore Bordo style#:#sty_border_style#:#Stile Bordo @@ -16064,15 +16071,15 @@ style#:#sty_ca_cntr_class#:#Sequenza contenitore style#:#sty_ca_icntr_class#:#Sequenza contenitore di oggetti style#:#sty_ca_icont_class#:#Sequenza contenuto della voce style#:#sty_ca_ihead_class#:#Sequenza intestazione della voce -style#:#sty_cannot_be_copied#:#The following style types cannot be copied###29 10 2025 new variable +style#:#sty_cannot_be_copied#:#The following style types cannot be copied###20 05 2025 new variable style#:#sty_caption#:#Didascalia style#:#sty_caption_class#:#Didascalia style#:#sty_carousel_templates#:#Modelli di sequenza -style#:#sty_cat_assignments#:#Stile/Categoria Assignments -style#:#sty_change_user_assignment#:#Change User Assignment###29 10 2025 new variable +style#:#sty_cat_assignments#:#Stile/Categoria Compiti +style#:#sty_change_user_assignment#:#Change User Assignment###28 11 2025 new variable style#:#sty_characteristic_already_exists#:#Una classe di stile con questo titolo esiste già in questo stile. -style#:#sty_class#:#Style Class###29 07 2022 new variable -style#:#sty_class_name#:#Class Name###29 07 2022 new variable +style#:#sty_class#:#Style Class###31 03 2023 new variable +style#:#sty_class_name#:#Class Name###31 03 2023 new variable style#:#sty_clear#:#Pulisci style#:#sty_col_foot_class#:#pie' di pagina della Colonna. style#:#sty_col_head_class#:#Intestazione Colonna @@ -16081,7 +16088,7 @@ style#:#sty_color_already_exists#:#Un colore con questo nome esiste già in ques style#:#sty_color_code#:#Codice Colore style#:#sty_color_flavors#:#Tipi di Colore style#:#sty_color_info#:#I Colori Predefiniti permettono un facile riutilizzo per diverse applicazioni. Fai riferimento ad un colore predefinito utilizzando il suo nome standard "!" per ogni attributo colore presente nella Classe di Stile. Per utilizzare un attributo, aggiungere il valore tra parentesi dopo nome del colore, ad esempio: MyColor (20). -style#:#sty_color_name#:#Nome del Colore. +style#:#sty_color_name#:#Nome del Colore style#:#sty_colors#:#Colori style#:#sty_commands#:#Comandi style#:#sty_confirm_char_deletion#:#Sei sicuro di voler cancellare le seguenti classi di stile? @@ -16091,20 +16098,20 @@ style#:#sty_confirm_del_ind_styles_desc#:#Tutte le unità didattiche con stili i style#:#sty_confirm_template_deletion#:#Conferma Cancellazione del Template style#:#sty_copied_please_select_target#:#Le Classi di Stile sono state copiate. Per favore apri lo Stile di destinazionee clicca su "Incolla Classi di Stile". style#:#sty_copy_other_stylesheet#:#Copia Stile dalle Risorse Locali -style#:#sty_copy_other_system_style#:#Clone an existing system style. -style#:#sty_copy_to#:#to:###29 07 2022 new variable +style#:#sty_copy_other_system_style#:#Clonare uno stile di sistema esistente. +style#:#sty_copy_to#:#to: style#:#sty_create_ind_style#:#Crea Stile Personale -style#:#sty_create_new_class#:#Create new style class###29 07 2022 new variable +style#:#sty_create_new_class#:#Create new style class###31 03 2023 new variable style#:#sty_create_new_stylesheet#:#Crea Nuovo Stile -style#:#sty_create_new_system_style#:#Create a new system style. -style#:#sty_create_new_system_sub_style#:#Create a new system sub style. +style#:#sty_create_new_system_style#:#Crea un nuovo stile di sistema. +style#:#sty_create_new_system_sub_style#:#Crea un nuovo stile secondario di sistema. style#:#sty_create_pgl#:#Crea Layout di Pagina style#:#sty_cursor#:#Cursore style#:#sty_custom#:#Personalizza style#:#sty_custom_par#:#Parametri personalizzati -style#:#sty_custom_par_info#:#Add custom CSS parameters using format "parameter: value". +style#:#sty_custom_par_info#:#Aggiungi parametri CSS personalizzati usando il formato "parametro: valore". style#:#sty_default#:#Impostazione predefinita -style#:#sty_default_style#:#Stile di Default +style#:#sty_default_style#:#Stile Predefinito style#:#sty_del_template#:#Cancella Templates e Classi style#:#sty_del_template_keep_classes#:#Cancella ed Archivia le Classi di Stile style#:#sty_delete_other_selected#:#Continua @@ -16124,23 +16131,23 @@ style#:#sty_font_weight#:#Spessore Font style#:#sty_from#:#Da style#:#sty_generate_template#:#Genera Template style#:#sty_glo_char#:#Glossario -style#:#sty_ha_cntr_class#:#Hor. Contenitore a fisarmonica -style#:#sty_ha_icntr_class#:#Hor. Contenitore di oggetti a fisarmonica -style#:#sty_ha_icont_class#:#Hor. Contenuto di oggetti a fisarmonica +style#:#sty_ha_cntr_class#:#Orizzontale Contenitore a fisarmonica +style#:#sty_ha_icntr_class#:#Orizzontale Contenitore di oggetti a fisarmonica +style#:#sty_ha_icont_class#:#Orizzontale Contenuto di oggetti a fisarmonica style#:#sty_ha_ihcap_class#:#Orizzontale Didascalia a fisarmonica -style#:#sty_ha_ihead_class#:#Hor. Testata di Oggetto a fisarmonica +style#:#sty_ha_ihead_class#:#Orizzontale Testata di Oggetto a fisarmonica style#:#sty_ha_iheada_class#:#Orizzontale Intestazione a fisarmonica (attiva) -style#:#sty_haccordion_templates#:#Hor. Template a fisarmonica +style#:#sty_haccordion_templates#:#Orizzontale Template a fisarmonica style#:#sty_height#:#Altezza style#:#sty_hide#:#Nascondi style#:#sty_horizontal#:#Orizzontale style#:#sty_if_style_class_already_exists#:#Se la Classe di Stile già esiste... style#:#sty_image_file#:#File Immagine style#:#sty_images#:#Immagini -style#:#sty_import_page_layout#:#Importa il lay out di pagina. +style#:#sty_import_page_layout#:#Importa il layout di pagina. style#:#sty_import_stylesheet#:#Importa Stile -style#:#sty_import_system_style#:#Import an existing system style as zip. -style#:#sty_imported_layout#:#Imported Page Layout###29 10 2025 new variable +style#:#sty_import_system_style#:#Importa uno stile di sistema esistente come zip. +style#:#sty_imported_layout#:#Imported Page Layout###28 11 2025 new variable style#:#sty_individual_styles#:#Stili Personali style#:#sty_keep_existing#:#Mantieni l'esistente style#:#sty_left#:#Sinistra @@ -16156,41 +16163,41 @@ style#:#sty_lightness_header_text#:#Luminosità del Testo del Titolo style#:#sty_line_height#:#Altezza Righe style#:#sty_link_char#:#Collegamento style#:#sty_list_char#:#Lista -style#:#sty_list_style_position#:#List Style Position###26 08 2024 new variable -style#:#sty_list_style_type#:#List Style Type###26 08 2024 new variable -style#:#sty_make_global_default#:#Assegna come Default Globale -style#:#sty_make_global_fixed#:#Assegna come Fisso Globale +style#:#sty_list_style_position#:#List Style Position###30 04 2024 new variable +style#:#sty_list_style_type#:#List Style Type###30 04 2024 new variable +style#:#sty_make_global_default#:#Imposta come stile predefinito +style#:#sty_make_global_fixed#:#Forza questo stile su tutti gli oggetti style#:#sty_margin#:#Margine -style#:#sty_margin_and_padding#:#Margine e Padding +style#:#sty_margin_and_padding#:#Margine e Rientro style#:#sty_media_char#:#Supporti style#:#sty_media_queries#:#Media Query -style#:#sty_media_query_info#:#A separete CSS block is added for each media query after the default (no special media query) block. +style#:#sty_media_query_info#:#Un blocco CSS separato viene aggiunto per ogni media query dopo il blocco predefinito (nessuna media query speciale). style#:#sty_min_height#:#Altezza Minima style#:#sty_move_lm_styles#:#Cambia lo Stile dell'Unità Didattica style#:#sty_move_style#:#Cambia Stile style#:#sty_move_user_styles#:#Cambia Stile degli Utenti -style#:#sty_move_user_styles_saved#:#The assignment of the users assigned to skind-id %s has been changed to skin-id %s.###29 10 2025 new variable +style#:#sty_move_user_styles_saved#:#The assignment of the users assigned to skind-id %s has been changed to skin-id %s.###28 11 2025 new variable style#:#sty_msg_characteristic_must_only_include#:#Il titolo della Classe di Stile deve includere i seguenti caratteri: style#:#sty_msg_color_must_only_include#:#Il nome del Colore deve contenere i seguenti caratteri: style#:#sty_msg_input_must_be_numeric#:#Il Valore inserito deve essere un numero style#:#sty_name#:#Nome style#:#sty_nr_learning_modules#:#Numero di Unità Didattiche -style#:#sty_nr_objects#:#Number of Objects###29 10 2025 new variable +style#:#sty_nr_objects#:#Number of Objects###23 09 2025 new variable style#:#sty_odd_col_class#:#Colonne Dispari style#:#sty_odd_row_class#:#Righe Dispari -style#:#sty_ol#:#Ordered List###26 08 2024 new variable +style#:#sty_ol#:#Ordered List###30 04 2024 new variable style#:#sty_opacity#:#Opacità style#:#sty_opt_saved#:#Opzioni salvate style#:#sty_order#:#Ordine -style#:#sty_outdated#:#Outdated###29 07 2022 new variable +style#:#sty_outdated#:#Outdated###31 03 2023 new variable style#:#sty_overflow#:#Overflow style#:#sty_overwrite#:#Sovrascrivi -style#:#sty_overwrite_existing_class#:#Overwrite existing style class###29 07 2022 new variable +style#:#sty_overwrite_existing_class#:#Overwrite existing style class###31 03 2023 new variable style#:#sty_padding#:#Spaziatura interna style#:#sty_page_char#:#Pagina -style#:#sty_parameters#:#Parameters###29 07 2022 new variable +style#:#sty_parameters#:#Parameters###31 03 2023 new variable style#:#sty_paste_characteristics#:#Incolla le Classi di Stile -style#:#sty_paste_chars#:#Paste Classes###29 07 2022 new variable +style#:#sty_paste_chars#:#Paste Classes###31 03 2023 new variable style#:#sty_paste_style_classes#:#Incolla le Classi di Stile style#:#sty_position#:#Posizione style#:#sty_positioning#:#Posizionamento @@ -16199,24 +16206,24 @@ style#:#sty_query#:#Query style#:#sty_question_char#:#Domanda style#:#sty_remove_global_default_state#:#Rimuovi lo stato di "default" globale style#:#sty_remove_global_fixed_state#:#Rimuovi lo stato di "fisso" globale -style#:#sty_remove_outdated#:#Remove Outdated Status###29 07 2022 new variable -style#:#sty_resize#:#Resize###29 07 2022 new variable -style#:#sty_resize_image#:#Resize Image###29 07 2022 new variable +style#:#sty_remove_outdated#:#Remove Outdated Status###31 03 2023 new variable +style#:#sty_resize#:#Resize###31 03 2023 new variable +style#:#sty_resize_image#:#Resize Image###31 03 2023 new variable style#:#sty_right#:#Destra style#:#sty_row_foot_class#:#Pie' di pagina della Riga style#:#sty_row_head_class#:#Intestazione Riga style#:#sty_rte_char#:#RTE SCORM style#:#sty_save_active_styles#:#Salva Stili Attivi -style#:#sty_save_hide_order_status#:#Save Order and Hidden Status###29 07 2022 new variable +style#:#sty_save_hide_order_status#:#Save Order and Hidden Status###31 03 2023 new variable style#:#sty_save_hide_status#:#Salva Status Nascosti style#:#sty_save_order#:#Salva ordine -style#:#sty_save_order_status#:#Save Order###29 07 2022 new variable +style#:#sty_save_order_status#:#Save Order###31 03 2023 new variable style#:#sty_sco_char#:#SCO & Obiettivo style#:#sty_scope#:#Obiettivo style#:#sty_section_char#:#Sezione -style#:#sty_set_outdated#:#Set Outdated###29 07 2022 new variable +style#:#sty_set_outdated#:#Set Outdated###31 03 2023 new variable style#:#sty_set_scope#:#Imposta Obiettivo -style#:#sty_some_styles_obligatory_delete_rest#:#The following style classes are obligatory and cannot be deleted. Do you want to continue and delete the remaining selected style classes? +style#:#sty_some_styles_obligatory_delete_rest#:#Le seguenti classi di stile sono obbligatorie e non possono essere eliminate. Vuoi continuare ed eliminare le restanti classi di stile selezionate? style#:#sty_source#:#Sorgente style#:#sty_special#:#Speciale style#:#sty_style_chars#:#Classi di Stili @@ -16246,7 +16253,7 @@ style#:#sty_text_decoration#:#Decorazione Testo style#:#sty_text_indent#:#Indentazione Testo style#:#sty_text_inline_char#:#Testo (Carattere) style#:#sty_text_transform#:#Trasforma Testo -style#:#sty_titles#:#Titles###29 07 2022 new variable +style#:#sty_titles#:#Titles###31 03 2023 new variable style#:#sty_to#:#A style#:#sty_top#:#Superiore style#:#sty_top_bottom_padding#:#Margine Interno delle Celle (Superiore/Inferiore) @@ -16257,9 +16264,9 @@ style#:#sty_type_ca_cntr#:#Sequenza contenitore style#:#sty_type_ca_icntr#:#Sequenza contenitore di oggetti style#:#sty_type_ca_icont#:#Sequenza contenuto della voce style#:#sty_type_ca_ihead#:#Sequenza intestazione della voce -style#:#sty_type_code_block#:#Code (Block)###07 02 2020 new variable -style#:#sty_type_code_inline#:#Code (Inline)###07 02 2020 new variable -style#:#sty_type_em#:#Emphasised###26 08 2024 new variable +style#:#sty_type_code_block#:#Codice (blocco) +style#:#sty_type_code_inline#:#Codice (in linea) +style#:#sty_type_em#:#Emphasised###30 04 2024 new variable style#:#sty_type_flist#:#Lista di File style#:#sty_type_flist_a#:#Link Elemento Lista di File style#:#sty_type_flist_cont#:#Contenitore di Lista di File @@ -16270,11 +16277,11 @@ style#:#sty_type_glo_overlay#:#Glossario sovrapposizione style#:#sty_type_glo_ovtitle#:#Termine/Titolo (Sovrapposizione) style#:#sty_type_glo_ovuglink#:#Link unità glossario style#:#sty_type_glo_ovuglistlink#:#Elenco link unità glossario -style#:#sty_type_ha_cntr#:#Hor. Contenitore a fisarmonica -style#:#sty_type_ha_icntr#:#Hor. Contenitore di oggetti, a fisarmonica. -style#:#sty_type_ha_icont#:#Hor. Contenuto di oggetto, a fisarmonica +style#:#sty_type_ha_cntr#:#Orizzontale Contenitore a fisarmonica +style#:#sty_type_ha_icntr#:#Orizzontale Contenitore di oggetti, a fisarmonica. +style#:#sty_type_ha_icont#:#Orizzontale Contenuto di oggetto, a fisarmonica style#:#sty_type_ha_ihcap#:#Orizzontale Didascalia a fisarmonica -style#:#sty_type_ha_ihead#:#Hor. Testata di oggetto, a fisarmonica +style#:#sty_type_ha_ihead#:#Orizzontale Testata di oggetto, a fisarmonica style#:#sty_type_ha_iheada#:#Orizzontale Intestazione a fisarmonica (attiva) style#:#sty_type_heading1#:#Intestazione 1 style#:#sty_type_heading2#:#Intestazione 2 @@ -16331,7 +16338,7 @@ style#:#sty_type_sco_keyw#:#Parole chiave SCO style#:#sty_type_sco_obj#:#SCO Obiettivo style#:#sty_type_sco_title#:#Titolo SCO style#:#sty_type_section#:#Sezione -style#:#sty_type_strong#:#Strong###26 08 2024 new variable +style#:#sty_type_strong#:#Strong###30 04 2024 new variable style#:#sty_type_sub#:#Indice inferiore style#:#sty_type_sup#:#Indice superiore style#:#sty_type_table#:#Tabella @@ -16344,7 +16351,7 @@ style#:#sty_type_va_icont#:#Verticale Contenuto dell'elemento della fisarmonica style#:#sty_type_va_ihcap#:#Verticale Didascalia a fisarmonica style#:#sty_type_va_ihead#:#Verticale Intestazione dell'elemento della fisarmonica style#:#sty_type_va_iheada#:#Verticale Intestazione a fisarmonica (attiva) -style#:#sty_ul#:#Unordered List###26 08 2024 new variable +style#:#sty_ul#:#Unordered List###30 04 2024 new variable style#:#sty_va_cntr_class#:#Verticale Contenitore fisarmonica style#:#sty_va_icntr_class#:#Verticale Contenitore di oggetti per fisarmonica style#:#sty_va_icont_class#:#Verticale Contenuto dell'elemento della fisarmonica @@ -16358,7 +16365,7 @@ style#:#sty_white_space#:#Spazio Vuoto style#:#sty_width#:#Larghezza style#:#sty_width_height#:#Larghezza x Altezza style#:#sty_word_spacing#:#Spaziatura delle Parole -style#:#style#:#Stile +style#:#style#:#Style###09 03 2022 new variable style#:#style_assignments_deleted#:#Le assegnazioni di stile del seguente stile secondario è stato eliminato: style#:#style_copied#:#Lo stile è stato copiato con successo. style#:#style_current_style#:#Stile corrente. @@ -16371,11 +16378,11 @@ style#:#style_imported#:#Lo stile è stato importato con successo in: style#:#style_name#:#Nome stile style#:#style_name_description#:#Il nome dello stile può essere utilizzato per descrivere l’area di applicazione dello stile in forma leggibile. Apparirà in tutti gli elementi dell’interfaccia utente permettendo la selezione degli stili. style#:#style_not_deleted#:#Lo stile non è stato eliminato per le seguenti ragioni: -style#:#style_page_layout_module_learning_module#:#ILIAS Learning Module###07 02 2020 new variable -style#:#style_page_layout_module_portfolio#:#Portfolio. -style#:#style_page_layout_module_scorm#:#Scorm. -style#:#style_support_reuse#:#Re-Use###29 07 2022 new variable -style#:#style_support_reuse_info#:#Allow sub-objects of the current container to re-use this content style.###29 07 2022 new variable +style#:#style_page_layout_module_learning_module#:#Modulo di apprendimento ILIAS +style#:#style_page_layout_module_portfolio#:#Portfolio +style#:#style_page_layout_module_scorm#:#Scorm +style#:#style_support_reuse#:#Re-Use###31 03 2023 new variable +style#:#style_support_reuse_info#:#Allow sub-objects of the current container to re-use this content style.###31 03 2023 new variable style#:#styles_not_deleted#:#Gli stili non sono stati eliminati per le seguenti ragioni: style#:#sub_style#:#Sottotitolo style#:#sub_style_id#:#ID sottotitolo @@ -16392,7 +16399,7 @@ style#:#update_icon#:#Aggiorna icona style#:#update_variables#:#Aggiorna variabili style#:#usages#:#Utilizzi: style#:#used_colors#:#Colori utilizzati: -style#:#zip_export_failed#:#L’esportazione ZIP è fallita. Sono avvenuti i seguenti errori: +style#:#zip_export_failed#:#L’esportazione ZIP è fallita. Si sono verificati i seguenti errori: survey#:#SurveyMatrixQuestion#:#Matrice di Domande survey#:#SurveyMetricQuestion#:#Domanda Metrica survey#:#SurveyMultipleChoiceQuestion#:#Domanda a scelta multipla (Risposta Multipla) @@ -16419,7 +16426,7 @@ survey#:#combobox#:#Menu a tendina survey#:#concatenation#:#Concatenazione survey#:#confirm_delete_all_user_data#:#Sei sicuro di voler eliminare tutti i dati del sondaggio? survey#:#confirm_delete_single_user_data#:#Sei sicuro di voler cancellare i dati di sondaggio degli utenti selezionati? -survey#:#confirm_remove_heading#:#Sei sicuro di voler eliminare l& +survey#:#confirm_remove_heading#:#Vuoi rimuovere l'intestazione? survey#:#confirm_sync_questions#:#La domanda che hai cambiato è la copia di una che è stata creata per essere usata in un sondaggio ancora attivo. Vuoi modificare anche la domanda originale? survey#:#conjunction_and#:#se ogni condizioni è stata soddisfatta survey#:#conjunction_and_title#:#Soddisfa ciascuna delle seguenti condizioni @@ -16428,8 +16435,8 @@ survey#:#conjunction_or_title#:#Soddisfa una delle seguenti condizioni survey#:#constraint_add#:#Aggiungi precondizioni survey#:#constraint_fulfilled#:#Mostra pagina survey#:#constraints#:#Vincoli -survey#:#constraints_first_question_description#:#La prima entit& -survey#:#constraints_introduction#:#Per tutte le entit& +survey#:#constraints_first_question_description#:#La prima entità non può avere alcun routing perché non ci sono domande precedenti. +survey#:#constraints_introduction#:#È possibile aggiungere una regola di routing a una singola domanda o un blocco di domande con più domande. A seconda della risposta specifica data a una domanda precedente, i partecipanti ricevono una domanda successiva definita. Pertanto, le domande irrilevanti per un partecipante non verranno poste e il sondaggio diventa più breve o più specifico a seconda delle risposte fornite in precedenza. Non è possibile impostare regole di routing per la prima domanda o il blocco di domande in un sondaggio. survey#:#constraints_list_of_entities#:#Disponibili sondaggi per precondizioni survey#:#constraints_no_nonessay_available#:#Non ci sono domande (o sono disponibili solo domande di autovalutazione) per il calcolo delle precondizioni (le domande di autovalutazione non sono valide per il calcolo delle precondizioni) survey#:#constraints_no_questions_or_questionblocks_selected#:#Seleziona almeno una domanda o un blocco di domande! @@ -16446,8 +16453,8 @@ survey#:#dc_fair#:#giusto survey#:#dc_false#:#sbagliato survey#:#dc_good#:#buono survey#:#dc_manytimes#:#molte volte -survey#:#dc_morenegative#:#pi& -survey#:#dc_morepositive#:#pi& +survey#:#dc_morenegative#:#più negativo +survey#:#dc_morepositive#:#più positivo survey#:#dc_mostcertainly#:#molto sicuro survey#:#dc_mostcertainlynot#:#molto insicuro survey#:#dc_must#:#deve @@ -16476,16 +16483,16 @@ survey#:#default_codes_mail_subject#:#Il tuo codice d'accesso è %s survey#:#define_questionblock#:#Definisci un blocco di domande survey#:#delete_saved_message#:#Cancella il testo del messaggio survey#:#display_all_available#:#Mostra -survey#:#dont_use_questionpool#:#Don't insert the questions in a questionpool (only available in this survey) +survey#:#dont_use_questionpool#:#Non inserire le domande in un pool di domande (disponibile solo in questo sondaggio) survey#:#duplicate#:#Duplica -survey#:#edit_heading#:#Modifica l& +survey#:#edit_heading#:#Modifica intestazione survey#:#end_date#:#Termine ultimo -survey#:#end_date_reached#:#Non puoi iniziare il sondaggio. La data di scadenza & +survey#:#end_date_reached#:#Non è possibile avviare il sondaggio. La data di fine è stata raggiunta! survey#:#enter_anonymous_id#:#Codice di accesso al sondaggio survey#:#enter_valid_number_of_codes#:#Per favore indica un numero valido per poter generare i codici di accesso al sondaggio! survey#:#err_external_rcp_no_email#:#I dati importati devono contenere almeno un campo 'email' -survey#:#err_external_rcp_no_email_column#:#The import data must at least contain a column 'email' with the title 'email' in the first row and the email addresses in the following rows -survey#:#err_maxvaluegeminvalue#:#Il valore massimo deve essere maggiore del valore minimo e minore o uguale del numero massimo di risposte. +survey#:#err_external_rcp_no_email_column#:#I dati di importazione devono contenere almeno una colonna "email" con il titolo "email" nella prima riga e gli indirizzi email nelle righe seguenti +survey#:#err_maxvaluegeminvalue#:#Il valore massimo deve essere maggiore o uguale al valore minimo e inferiore o uguale al numero massimo di risposte. survey#:#err_minvalueganswers#:#Il numero minimo di risposte deve essere minore o uguale di quello massimo. survey#:#err_no_exact_answers#:#Per favore spunta esattamente %s risposte. survey#:#err_no_max_answers#:#Per favore spunta al massimo %s risposte. @@ -16547,11 +16554,11 @@ survey#:#mail_sent_short#:#Invia survey#:#mail_survey_codes#:#Codice di accesso mail survey#:#mailaddresses#:#Indirizzo del destinatario survey#:#mailaddresses_info#:#Scrivi un elenco di destinatari, separato da virgola, che riceveranno la notifica ad ogni sondaggio terminato. -survey#:#mailnotification#:#Notifica via e-mail +survey#:#mailnotification#:#Notifica via e-mail per ogni sondaggio terminato survey#:#mailparticipantdata#:#Dati aggiuntivi per i partecipanti -survey#:#mailparticipantdata_info#:#Aggiunge un'introduzione alla mail di notifica. Puoi utilizzare dei segnaposto per i dati relativi ai partecipanti, es. [matriculation], [email], [firstname]. I segnaposto saranno sostituiti dai dati reali dell'utente nel sondaggi personalizzati. -survey#:#mailparticipantdata_placeholder#:#The following placeholders will be replaced with real user data in personalized surveys: -survey#:#maintenance#:#Manutenzione +survey#:#mailparticipantdata_info#:#Questa informazione sarà preceduta dalla sezione dei risultati inclusa automaticamente nella mail di notifica. +survey#:#mailparticipantdata_placeholder#:#I seguenti segnaposto verranno sostituiti con dati utente reali in sondaggi personalizzati: +survey#:#maintenance#:#Partecipanti survey#:#matrix_appearance#:#Aspetto survey#:#matrix_bipolar_adjectives#:#Aggettivi Bipolari survey#:#matrix_bipolar_adjectives_description#:#Puoi utilizzare un paio di aggettivi bipolari per limitare la colonna di risposte a parole, brevi frasi o testi. @@ -16579,16 +16586,16 @@ survey#:#median_between#:#tra survey#:#menuback#:#Indietro survey#:#menubacktosurvey#:#Indietro al sondaggio survey#:#message_content_info#:#Scrivi il messaggio della e-mail di notifica contenente il codice per i partecipanti al sondaggio. Puoi utilizzare i segnaposto [code] (il codice d'accesso), [url] (l'indirizzo web del sondaggio), e quelli dei dati relativi ai partecipanti, in base ai tuoi campi di importazione: %s. I segnaposto saranno sostituiti con i dati del singolo destinatario. -survey#:#metric_question_floating_point#:#Il valore indicato & -survey#:#metric_question_not_a_value#:#Il valore indicato non & -survey#:#metric_question_out_of_bounds#:#Il valore che hai inserito non & +survey#:#metric_question_floating_point#:#Il valore inserito è un valore in virgola mobile. I valori in virgola mobile non sono consentiti per questo tipo di domanda! +survey#:#metric_question_not_a_value#:#Il valore inserito non è un valore numerico! +survey#:#metric_question_out_of_bounds#:#Il valore inserito non è compreso tra il valore minimo e massimo! survey#:#metric_subtype_description_interval#:#Intervalli equivalenti fra le misure permettono un confronto significativo fra coppie casuali di misure. Lo zero scala è arbitrario, in questo modo possono essere utilizzati valori negativi. Esempi di intervalli di valori sono le date od intervalli di temperatura (es. scala Celsius) -survey#:#metric_subtype_description_ratioabsolute#:#La misurazione assoluta del rapporto utilizza numeri naturali in aggiunta al non-arbitrario punto zero, e.s. il numero di bambini in una famiglia o la sua probabilità. +survey#:#metric_subtype_description_ratioabsolute#:#La misurazione assoluta del rapporto utilizza numeri naturali in aggiunta al non-arbitrario punto zero, e.s. il numero di bambini in una famiglia o la sua probcompetenze. survey#:#metric_subtype_description_rationonabsolute#:#Oltre alla misurazione dell'intervallo ci sono anche rapporti significativi tra coppie arbitrarie di numeri. Il valore zero su una scala di rapporto non è arbitrario. La maggior parte delle quantità fisiche, come la lunghezza in centimetri o la durata in secondi, vengono misurate su scale di rapporto. survey#:#minimum#:#Valore minimo -survey#:#mode#:#Valore pi& +survey#:#mode#:#Valore più selezionato survey#:#mode_nr_of_selections#:#Nr di selezioni -survey#:#mode_text#:#Valore pi& +survey#:#mode_text#:#Valore più selezionato (testo) survey#:#msg_duplicate_scale#:#Per favore scrivi un'unica scala di valori survey#:#msg_enter_value_for_valid_constraint#:#Per favore scrivi un valore per creare una condizione preliminare valida! survey#:#msg_input_only_positive_numbers#:#Si prega di digitare numeri positivi nella scala dei valori. @@ -16630,7 +16637,7 @@ survey#:#question_mr_no_other_answer#:#Per favore scrivi un testo per l'altra ri survey#:#question_mr_no_other_answer_checked#:#È necessario selezionare la casella di controllo se si inserisce un testo per una risposta survey#:#question_mr_not_checked#:#Per favore spunta almeno una della domande! survey#:#question_not_checked#:#Per favore, seleziona una delle risposte disponibili! -survey#:#question_obligatory#:#Questa domanda & +survey#:#question_obligatory#:#La domanda è obbligatoria! survey#:#question_sr_no_other_answer_checked#:#È necessario selezionare il pulsante di opzione se si inserisce un testo per una risposta survey#:#question_type#:#Tipo di domanda survey#:#questionblock#:#Blocco di domande @@ -16658,8 +16665,8 @@ survey#:#search_groups#:#Gruppi survey#:#search_term#:#Ricerca il termine survey#:#select_option#:#--- Scegli un valore --- survey#:#select_prior_question#:#Seleziona la domanda precedente -survey#:#select_questionpool#:#Scegli la raccolta di domande alla quale verr& -survey#:#select_questionpool_short#:#Scegli la raccolta +survey#:#select_questionpool#:#Seleziona un pool di domande per memorizzare la domanda creata +survey#:#select_questionpool_short#:#Pool di domande Sondaggio survey#:#select_relation#:#Seleziona una relazione survey#:#select_target_position_for_move_question#:#Per favore, seleziona la posizione di destinazione nella quale spostare le domande e premi uno dei pulsanti Inserisci! survey#:#select_value#:#Seleziona un valore @@ -16669,19 +16676,19 @@ survey#:#send_to_answered#:#A tutti i partecipanti che hanno completato il sonda survey#:#send_to_unanswered#:#A tutti i partecipanti che non hanno completato il sondaggio survey#:#show_questiontext#:#Visualizza il testo della domanda survey#:#show_questiontext_description#:#Se la casella è spuntata, verrà mostrato il testo di ogni domanda del blocco; altrimenti sarà nascosto. -survey#:#skipped#:#saltato +survey#:#skipped#:#Saltato survey#:#spl_copy_insert_clipboard#:#Le domande selezionate sono state copiate negli appunti survey#:#spl_copy_select_none#:#Per favore spunta almeno una domanda da copiare negli appunti survey#:#spl_move_insert_clipboard#:#Le domande selezionate sono pronte ad essere spostate survey#:#spl_move_same_pool#:#Spostare domande all'interno della stessa raccolta non comporta alcuna modifica. survey#:#spl_move_select_none#:#Per favore spunta almeno una domanda da muovere survey#:#spl_online_property#:#Online -survey#:#spl_online_property_description#:#Se la raccolta di domande non & +survey#:#spl_online_property_description#:#Se il pool di domande non è online, non può essere utilizzato nei sondaggi. survey#:#spl_paste_no_objects#:#Non sono presenti domande negli appunti. Per favore copia o muovi una domanda negli appunti. survey#:#spl_paste_success#:#Le domande sono state incollate nella raccolta di domade. -survey#:#spl_save_obligatory_state#:#Save Obligatory States +survey#:#spl_save_obligatory_state#:#Salva gli Stati obbligatori survey#:#start_date#:#Giorno di esecuzione -survey#:#start_date_not_reached#:#Non puoi eseguire il sondaggio fino a che la data di inizio non & +survey#:#start_date_not_reached#:#Non è possibile avviare il sondaggio fino al raggiungimento della data di inizio! survey#:#start_survey#:#Inizia il sondaggio survey#:#subtype#:#Sottotipo survey#:#survey_360_add_external_rater#:#Aggiungi valutatore esterno @@ -16689,7 +16696,7 @@ survey#:#survey_360_add_self_appraisee#:#Aggiungi te stesso come valutato a ques survey#:#survey_360_appraisee#:#Valutato survey#:#survey_360_appraisee_close_action#:#Chiudi sondaggio per i valutatori survey#:#survey_360_appraisee_close_action_info#:#Questo fornirà l’accesso alle tue statistiche. -survey#:#survey_360_appraisee_close_action_info_skill#:#Questo fornirà l’accesso alle tue statistiche e aggiornerà i livello di competenza. +survey#:#survey_360_appraisee_close_action_info_skill#:#Questo fornirà l’accesso alle tue statistiche e aggiornerà i livello di competenze. survey#:#survey_360_appraisee_close_action_status#:#Il sondaggio è stato chiuso al %s. survey#:#survey_360_appraisee_close_action_success#:#Hai chiuso il tuo sondaggio a 360° per i tupi valutatori. survey#:#survey_360_appraisee_close_action_success_admin#:#I sondaggi a 360° sono stati chiusi dai valutati per i valutatori. @@ -16702,7 +16709,7 @@ survey#:#survey_360_mode#:#Feedback a 360° survey#:#survey_360_mode_info#:#Utilizza per revisione tra pari di persone survey#:#survey_360_no_appraisees#:#Attualmente non ci sono valutati per te da valutare. survey#:#survey_360_no_closed_appraisees#:#Nessun valutato ha ancora chiuso il proprio sondaggio. -survey#:#survey_360_rate_other_appraisee#:#Rate Appraisee###28 10 2024 new variable +survey#:#survey_360_rate_other_appraisee#:#Rate Appraisee###28 11 2025 new variable survey#:#survey_360_rate_other_appraisees#:#Effettua valutazione valutati survey#:#survey_360_rater_finished#:#Sondaggio terminato survey#:#survey_360_rater_mail_sent#:#Invia mail @@ -16716,46 +16723,46 @@ survey#:#survey_360_raters_finished#:#Valutazioni terminate survey#:#survey_360_raters_status_info#:#Valutazioni terminate survey#:#survey_360_remove_appraisees#:#Rimuovi valutato/i survey#:#survey_360_results#:#Accesso ai risultati per i valutati -survey#:#survey_360_results_all#:#To All Appraisees -survey#:#survey_360_results_all_info#:#todo11 -survey#:#survey_360_results_none#:#None -survey#:#survey_360_results_none_info#:#todo9 -survey#:#survey_360_results_own#:#To Own Raters -survey#:#survey_360_results_own_info#:#todo10 +survey#:#survey_360_results_all#:#A tutti i valutati +survey#:#survey_360_results_all_info#:#Tutti i valutatori del sondaggio a 360° possono visualizzare tutti i feedback forniti da tutti i valutatori, non solo dai propri valutatori. +survey#:#survey_360_results_none#:#Nessun accesso ai risultati +survey#:#survey_360_results_none_info#:#I valutatori non possono accedere al feedback fornito dai valutatori +survey#:#survey_360_results_own#:#Accesso al feedback dei propri valutatori +survey#:#survey_360_results_own_info#:#I valutatori possono accedere solo al feedback dei propri valutatori. survey#:#survey_360_select_appraisee#:#Seleziona -survey#:#survey_360_self_appraisee#:#Users Can Add Themselves As Appraisees -survey#:#survey_360_self_appraisee_info#:#todo8 -survey#:#survey_360_self_evaluation#:#Appraisees Can Rate Themselves -survey#:#survey_360_self_evaluation_info#:#todo6 -survey#:#survey_360_self_raters#:#Appraisees Can Manage Their Raters -survey#:#survey_360_self_raters_info#:#todo7 +survey#:#survey_360_self_appraisee#:#Apri Feedback a 360° +survey#:#survey_360_self_appraisee_info#:#Nella scheda "Informazioni" viene visualizzato un collegamento a tutti gli utenti. Facendo clic su questo collegamento possono aggiungersi come periti e ricevere feedback. +survey#:#survey_360_self_evaluation#:#Auto Valutazione +survey#:#survey_360_self_evaluation_info#:#I valutatori possono valutare loro stessi utilizzando le domande. +survey#:#survey_360_self_raters#:#I periti possono gestire i loro valutatori +survey#:#survey_360_self_raters_info#:#I valutatori selezionano e invitano autonomamente le persone che dovrebbero fornire loro un feedback. survey#:#survey_360_sure_appraisee_close#:#Sei sicuro di voler chiudere il sondaggio per tutti i tuoi valutatori? survey#:#survey_360_sure_appraisee_close_admin#:#Sei sicuro di voler chiudere il sondaggio per tutti i seguenti valutati? survey#:#survey_360_sure_delete_appraises#:#Sei sicuro di voler rimuovere i seguenti valutati? survey#:#survey_360_sure_delete_raters#:#Sei sicuro di voler rimuovere i seguenti valutati per %s? survey#:#survey_access_codes#:#Autenticazione tramite codici di accesso -survey#:#survey_access_codes_info#:#Users get access to the survey by entering a code on the 'Info'-tab. These access codes are generated in a sub-tab 'Access Codes' in the tab 'Participants'. -survey#:#survey_activate_skill_service#:#Attivare il servizio di competenza -survey#:#survey_activate_skill_service_info#:#todo12 -survey#:#survey_add_new_question#:#Add new Page -survey#:#survey_assign_competence#:#Assegna competenza +survey#:#survey_access_codes_info#:#Gli utenti ottengono l'accesso al sondaggio inserendo un codice nella scheda "Informazioni". Questi codici di accesso sono generati in una sottoscheda "Codici di accesso" nella scheda "Partecipanti". +survey#:#survey_activate_skill_service#:#Attivare il servizio di competenze +survey#:#survey_activate_skill_service_info#:#Verrà visualizzata una nuova scheda "Competenze". In questa scheda le domande vengono assegnate alle competenze, quindi vengono attribuite le soglie per raggiungere un livello specifico di una competenza. +survey#:#survey_add_new_question#:#Crea domanda +survey#:#survey_assign_competence#:#Assegna competenze survey#:#survey_auto_block_title#:#Intestazione pagina survey#:#survey_available_question_pools#:#Gruppi disponibili -survey#:#survey_calc_skills#:#Determina livelli di competenza -survey#:#survey_calculate_sum_score#:#Calculate Sum Score###29 07 2022 new variable -survey#:#survey_calculate_sum_score_info#:#Calculates the sum of all scale values for single choice, multiple choice and matrix questions for each participant. Caution: If participants skip these kind of questions, the whole sum score will not be calculated anymore.###29 07 2022 new variable +survey#:#survey_calc_skills#:#Determina livelli di competenze +survey#:#survey_calculate_sum_score#:#Calculate Sum Score +survey#:#survey_calculate_sum_score_info#:#Calculates the sum of all scale values for single choice, multiple choice and matrix questions for each participant. Caution: If participants skip these kind of questions, the whole sum score will not be calculated anymore. survey#:#survey_cancel_preview#:#Elimina anteprima survey#:#survey_cannot_preview_survey#:#Anteprima non disponibile survey#:#survey_code#:#Codice di accesso al sondaggio survey#:#survey_code_delete_sure#:#Sei sicuro di voler eliminare i seguenti codici di accesso? -survey#:#survey_code_url#:#URL per l& -survey#:#survey_code_url_name#:#URL (usa il tasto destro del mouse per copiare l& +survey#:#survey_code_url#:#URL per accesso diretto +survey#:#survey_code_url_name#:#URL (utilizzare il pulsante destro del mouse per copiare l'URL) survey#:#survey_code_used#:#Stato del codice survey#:#survey_codes_lang#:#Lingua del sondaggio survey#:#survey_codes_no_anonymization#:#Devi creare un sondaggio anonimo con codici d'accesso per poter creare un nuovi codici d'accesso! survey#:#survey_competences#:#Competenze survey#:#survey_constraint_deleted#:#La regola di gestione è stata eliminata. -survey#:#survey_copy_questions_to_pool#:#Copy Questions To Pool +survey#:#survey_copy_questions_to_pool#:#Copia domande nel pool survey#:#survey_copy_select_questionpool#:#Gruppo di domande per inserire le copie survey#:#survey_copy_to_questionpool_success#:#Le domande sono state copiate con successo nel gruppo. survey#:#survey_delete_heading#:#Rimuovi intestazione @@ -16763,25 +16770,25 @@ survey#:#survey_edit_heading#:#Modifica intestazione survey#:#survey_edit_settings#:#Modifica impostazioni survey#:#survey_error_insert_incomplete_question#:#Hai provato ad inserire nel sondaggio una domanda incompleta! La domanda non è stata inserita. survey#:#survey_execution_exit#:#Torna al repository -survey#:#survey_execution_exit_360#:#Back###26 08 2024 new variable +survey#:#survey_execution_exit_360#:#Back###31 03 2023 new variable survey#:#survey_execution_sure_finish#:#Sei sicuro di voler terminare questo sondaggio? In seguito non potrai modificare le tue risposte. survey#:#survey_existing_pool#:#Utilizza gruppo di domande esistente survey#:#survey_finish#:#Salva e finisci il sondaggio >>> -survey#:#survey_finished#:#Il sondaggio & +survey#:#survey_finished#:#Hai finito il sondaggio. Grazie per la vostra partecipazione! survey#:#survey_has_datasets_warning#:#Il sondaggio contiene già dei dati di partecipazione. Non puoi modificare le domande prima di aver rimosso i dati stessi, utilizzando la sezione "Manutenzione" -survey#:#survey_has_datasets_warning_page_view#:#The survey already contains datasets. You cannot edit the survey questions until you remove these datasets. +survey#:#survey_has_datasets_warning_page_view#:#Il sondaggio contiene già set di dati. Non è possibile modificare le domande del sondaggio fino a quando non si rimuovono questi set di dati. survey#:#survey_has_datasets_warning_page_view_link#:#Modifica partecipanti -survey#:#survey_introduction_info#:#This message appears at the beginning of the survey. -survey#:#survey_is_offline#:#Non puoi eseguire il sondaggio! Il sondaggio & +survey#:#survey_introduction_info#:#Questo messaggio appare all'inizio del sondaggio. +survey#:#survey_is_offline#:#Non puoi iniziare il sondaggio! Il sondaggio è attualmente offline. survey#:#survey_new_pool#:#Crea nuovo gruppo di domande survey#:#survey_next#:#Salva e vai avanti >>> survey#:#survey_no_pool#:#Non utilizzare gruppo di domande survey#:#survey_not_available#:#non pertinente survey#:#survey_notification_finished_introduction#:#I seguenti partecipanti hanno terminato il sondaggio. -survey#:#survey_notification_finished_reason#:#You are receiving this email because you activated notifications for the survey mentioned above. +survey#:#survey_notification_finished_reason#:#Ricevi questa email perché hai attivato le notifiche per il sondaggio sopra menzionato. survey#:#survey_notification_target_group#:#Gruppo di destinazione -survey#:#survey_notification_target_group_invited#:#All users who got the survey put on their Personal Desktop###29 07 2022 new variable -survey#:#survey_notification_target_group_invited_info#:#Currently invited users: %s +survey#:#survey_notification_target_group_invited#:#All users manually invited to the survey +survey#:#survey_notification_target_group_invited_info#:#Utenti attualmente invitati: %s survey#:#survey_notification_target_group_parent_course#:#Tutti i membri del corso/gruppo principale survey#:#survey_notification_target_group_parent_course_inactive#:#Nessun corso/gruppo principale fornito - non sarà inviato alcun promemoria! survey#:#survey_notification_tutor_body#:#Il seguente sondaggio è stato terminato da tutti i partecipanti @@ -16789,26 +16796,26 @@ survey#:#survey_notification_tutor_link#:#Link al sondaggio survey#:#survey_notification_tutor_recipients#:#Tutor (accesso/i) survey#:#survey_notification_tutor_recipients_invalid#:#Si prega di dichiarare gli utenti con permessi di scrittura. survey#:#survey_notification_tutor_salutation#:#Ciao %s, -survey#:#survey_notification_tutor_setting#:#Notify tutors when all participants have finished +survey#:#survey_notification_tutor_setting#:#Avvisa i tutor quando tutti i partecipanti hanno terminato survey#:#survey_notification_tutor_subject#:#Tutti i partecipanti hanno terminato il sondaggio "%s" survey#:#survey_order#:#Ordinamento survey#:#survey_pool_selection#:#Selezione del gruppo survey#:#survey_previous#:#<<< Salva e torna indietro survey#:#survey_question_editor#:#Lista Domande -survey#:#survey_question_obligatory#:#(Questa domanda & +survey#:#survey_question_obligatory#:#Questa domanda è obbligatoria. Devi rispondere alla domanda! survey#:#survey_question_pool#:#Gruppo di domande survey#:#survey_question_pool_title#:#Titolo del gruppo -survey#:#survey_question_pool_usage#:#Choose Pool when creating questions +survey#:#survey_question_pool_usage#:#Scegli Pool durante la creazione di domande survey#:#survey_question_pool_usage_active#:#Questions can be added optionally to a question pool. -survey#:#survey_question_pool_usage_active_info#:#The questions can be re-used in other surveys. +survey#:#survey_question_pool_usage_active_info#:#Le domande possono essere riutilizzate in altri sondaggi. survey#:#survey_question_pool_usage_inactive#:#Le domande sono create direttamente nel sondaggio. -survey#:#survey_question_pool_usage_inactive_info#:#The questions cannot be re-used in other surveys. +survey#:#survey_question_pool_usage_inactive_info#:#Le domande non possono essere riutilizzate in altri sondaggi. survey#:#survey_question_title#:#Titolo domanda survey#:#survey_questions#:#Domande survey#:#survey_questions_to_clipboard_copy#:#La/e domanda/e è/sono copiata/e negli appunti. Si prega di selezionare un obiettivo o svuota gli appunti. survey#:#survey_reached_level#:#Livello raggiunto survey#:#survey_reminder_body#:#non hai ancora terminato il seguente sondaggio -survey#:#survey_reminder_cron#:#Remind users to participate###29 07 2022 new variable +survey#:#survey_reminder_cron#:#Remind users to participate / Send results to tutors survey#:#survey_reminder_cron_info#:#Se attivato, agli utenti verrà ricordato di partecipare ai sondaggi. survey#:#survey_reminder_end#:#Fine survey#:#survey_reminder_frequency#:#Frequenza @@ -16818,23 +16825,23 @@ survey#:#survey_reminder_salutation#:#Ciao %s, survey#:#survey_reminder_setting#:#Ricorda agli utenti di partecipare survey#:#survey_reminder_start#:#Avvio survey#:#survey_reminder_subject#:#Il sondaggio "%s" non è stato terminato -survey#:#survey_remove_competence#:#Rimuovi competenza +survey#:#survey_remove_competence#:#Rimuovi competenze survey#:#survey_results_anonymization#:#Privacy -survey#:#survey_results_anonymized#:#Without Names -survey#:#survey_results_anonymized_info#:#In the tab 'Results' participants' names are replaced by codes. Users having acces to this tab cannot attribute answers to named participants but only to user "iTXaF" (example). +survey#:#survey_results_anonymized#:#Senza nomi +survey#:#survey_results_anonymized_info#:#Nella scheda "Risultati" i nomi dei partecipanti sono sostituiti da codici. Gli utenti che hanno accesso a questa scheda non possono attribuire le risposte ai partecipanti nominati ma solo all'utente "iT XaF" (esempio). survey#:#survey_results_finished#:#Sondaggio terminato survey#:#survey_results_not_started#:#Sondaggio non iniziato survey#:#survey_results_personalized#:#Con nomi -survey#:#survey_results_personalized_info#:#In the tab 'Results' the names of the partcipants and their respective answers are listed. Users having access to this tab can inspect who has provided which answer. +survey#:#survey_results_personalized_info#:#Nella scheda "Risultati" sono elencati i nomi dei partecipanti e le rispettive risposte. Gli utenti che hanno accesso a questa scheda possono verificare chi ha fornito la risposta. survey#:#survey_results_started#:#Sondaggio iniziato survey#:#survey_show_blocktitle#:#Mostra titolo blocco survey#:#survey_show_blocktitle_description#:#Se attivato, il titolo del blocco verrà visualizzato nel sondaggio. -survey#:#survey_skill#:#Competenza -survey#:#survey_skill_assign#:#Assegnazione della domanda/competenza -survey#:#survey_skill_level#:#Livello di competenza +survey#:#survey_skill#:#competenze +survey#:#survey_skill_assign#:#Assegnazione della domanda/competenze +survey#:#survey_skill_level#:#Livello di competenze survey#:#survey_skill_max_scale_points#:#Punti di massima Scala survey#:#survey_skill_nr_q#:#Numero delle domande -survey#:#survey_skill_thresholds#:#Limiti di competenza +survey#:#survey_skill_thresholds#:#Limiti di competenze survey#:#survey_start#:#<<< Salva e vai alla pagina iniziale survey#:#survey_sum_of_means#:#Somma aritmetica Strumenti per domanda survey#:#survey_sure_delete_constraint#:#Sei sicuro di voler eliminare la regola di gestione "%1$s" per la domanda "%2$s"? @@ -16845,12 +16852,12 @@ survey#:#survey_sync_question_copies_info#:#Le domande selezionate verranno sost survey#:#survey_sync_success#:#Le domande selezionate sono state aggiornate. survey#:#survey_up_to_x_points#:#Fino a x punti survey#:#survey_use_start_button#:#Premi il tasto "Inizia il sondaggio" per iniziare! -survey#:#svy_activation_limited_visibility_info#:#If chosen, the survey is visible even outside of the given availability. -survey#:#svy_activation_online_info#:#Activate this setting to make the survey accessible to users. -survey#:#svy_add_internal_user#:#Add User###29 07 2022 new variable -survey#:#svy_add_internal_user_info#:#The rater has a registered user on this platform.###29 07 2022 new variable -survey#:#svy_add_rater#:#Add Rater###29 07 2022 new variable -survey#:#svy_all_raters#:#All Raters###29 07 2022 new variable +survey#:#svy_activation_limited_visibility_info#:#Se scelto, il sondaggio è visibile anche al di fuori della data disponibilità. +survey#:#svy_activation_online_info#:#Attiva questa impostazione per rendere il sondaggio accessibile agli utenti. +survey#:#svy_add_internal_user#:#Add User###31 03 2023 new variable +survey#:#svy_add_internal_user_info#:#The rater has a registered user on this platform.###31 03 2023 new variable +survey#:#svy_add_rater#:#Add Rater###31 03 2023 new variable +survey#:#svy_all_raters#:#All Raters###31 03 2023 new variable survey#:#svy_all_survey_competences#:#Tutte le competenze di sondaggio survey#:#svy_all_user_data_deleted#:#Tutti i dati degli utenti di questo sondaggio sono stati eliminati! survey#:#svy_analysis#:#Analisi @@ -16860,34 +16867,34 @@ survey#:#svy_anonymous_participants_min#:#Numero minimo di partecipanti survey#:#svy_anonymous_participants_min_info#:#La lista sarà disponibile solo se c’è almeno un numero minimo di partecipanti. survey#:#svy_anonymous_participants_svy#:#Lista dei partecipanti survey#:#svy_anonymous_participants_svy_info#:#Se attivata, una lista dei partecipanti è disponibile dopo la fine della data. -survey#:#svy_answer_too_long#:#Your current answer is too long (%s characters). Please shorten your answer.###07 02 2020 new variable -survey#:#svy_app_see_rater_info#:#Appraisees can access rater information in the results screens, including names and e-mail addresses, if entered before when adding raters.###29 07 2022 new variable -survey#:#svy_appraisses_cannot_be_raters#:#User cannot be added as rater. Use self evaluation option in the survey settings instead.###07 02 2020 new variable +survey#:#svy_answer_too_long#:#La tua risposta attuale è troppo lunga (%s caratteri). Per favore abbrevia la tua risposta. +survey#:#svy_app_see_rater_info#:#Appraisees can access rater information in the results screens, including names and e-mail addresses, if entered before when adding raters.###31 03 2023 new variable +survey#:#svy_appraisses_cannot_be_raters#:#L'utente non può essere aggiunto come rater. Utilizzare invece l'opzione di autovalutazione nelle impostazioni del sondaggio. survey#:#svy_back#:#Indietro -survey#:#svy_categories#:#Risposte -survey#:#svy_check_evaluation_access_introduction#:#Il sondaggio di prova & +survey#:#svy_categories#:#Answers###28 11 2025 new variable +survey#:#svy_check_evaluation_access_introduction#:#Poiché questa valutazione del sondaggio è accessibile solo dai partecipanti al sondaggio, è necessario inserire il codice di accesso al sondaggio per aprire la valutazione. survey#:#svy_check_evaluation_authentication_needed#:#Autenticazione necessaria survey#:#svy_check_evaluation_wrong_key#:#Hai inserito un codice di accesso non riconosciuto o non puoi partecipare al sondaggio. Accesso negato. -survey#:#svy_compress_view#:#Compressed View###29 07 2022 new variable -survey#:#svy_compress_view_info#:#If activated, all single choice questions with similar scales will be presented matrix-like.###29 07 2022 new variable +survey#:#svy_compress_view#:#Visualizzazione compressa +survey#:#svy_compress_view_info#:#Se attivato, tutte le domande a scelta singola con scale simili saranno presentate a matrice. survey#:#svy_copy#:#Copia sondaggio survey#:#svy_create_question#:#Crea domanda survey#:#svy_delete_all_user_data#:#Elimina tutti i dati degli utenti -survey#:#svy_dont_send#:#Don't send a message###29 07 2022 new variable +survey#:#svy_dont_send#:#Don't send a message###31 03 2023 new variable survey#:#svy_eval_captions#:#Valori survey#:#svy_eval_captions_abs#:#Assoluto survey#:#svy_eval_captions_abs_perc#:#Assoluti e percentuali survey#:#svy_eval_captions_perc#:#Percentuale -survey#:#svy_eval_competences#:#Risultati di competenza +survey#:#svy_eval_competences#:#Risultati di competenze survey#:#svy_eval_cumulated#:#Risultati aggregati survey#:#svy_eval_detail#:#Risultati aggregati (dettagli) -survey#:#svy_eval_skipped_value#:#Results: "skipped" +survey#:#svy_eval_skipped_value#:#Risultati: "ignorato" survey#:#svy_eval_skipped_value_custom#:#Utilizza valore personalizzato survey#:#svy_eval_skipped_value_custom_info#:#Definire qualsiasi valore (o vuoto) da utilizzare per le risposte saltate survey#:#svy_eval_skipped_value_custom_value#:#Valore survey#:#svy_eval_skipped_value_lng#:#Utilizza la voce del file di lingua survey#:#svy_eval_skipped_value_lng_info#:#Valore attuale: "%s" -survey#:#svy_eval_user#:#Risultati dell& +survey#:#svy_eval_user#:#Per Participant survey#:#svy_eval_view#:#Visualizza survey#:#svy_eval_view_charts#:#Grafici survey#:#svy_eval_view_tables#:#Tabella @@ -16897,84 +16904,84 @@ survey#:#svy_evaluation_access_off_info#:#Solo gli utenti che possono modificare survey#:#svy_evaluation_access_participants_info#:#Tutti gli utenti che hanno partecipato al sondaggio possono scegliere di guardare i risultati dopo averlo terminato. survey#:#svy_export_files#:#Esporta file survey#:#svy_export_format#:#Esporta dati di sondaggio come -survey#:#svy_export_pdf#:#Export PDF###07 02 2020 new variable -survey#:#svy_ext_rater_firstname#:#First name of external rater###29 07 2022 new variable -survey#:#svy_ext_rater_lastname#:#Last name of external rater###29 07 2022 new variable -survey#:#svy_external_rater#:#Add External Rater###29 07 2022 new variable -survey#:#svy_external_rater_info#:#The rater is not registered on this platform.###29 07 2022 new variable +survey#:#svy_export_pdf#:#Export PDF +survey#:#svy_ext_rater_firstname#:#First name of external rater###31 03 2023 new variable +survey#:#svy_ext_rater_lastname#:#Last name of external rater###31 03 2023 new variable +survey#:#svy_external_rater#:#Add External Rater###31 03 2023 new variable +survey#:#svy_external_rater_info#:#The rater is not registered on this platform.###31 03 2023 new variable survey#:#svy_fraction_of_selections#:#Frazioni delle selezioni survey#:#svy_gap_analysis#:#Analisi gap survey#:#svy_general_properties#:#Proprietà generali survey#:#svy_import_codes#:#Importa codici survey#:#svy_import_codes_info#:#Questa importazione richiede un "%s" file di esportazione. -survey#:#svy_ind_feedb_info#:#Users get distinct evaluations by others.###29 07 2022 new variable -survey#:#svy_ind_feedb_mode#:#Individual Feedback###29 07 2022 new variable +survey#:#svy_ind_feedb_info#:#Users get distinct evaluations by others.###31 03 2023 new variable +survey#:#svy_ind_feedb_mode#:#Individual Feedback###31 03 2023 new variable survey#:#svy_mail_confirmation_subject#:#Sondaggio "%s" - La tua conferma di partecipazione -survey#:#svy_mail_context_rater_invitation_info#:#Invite raters to participate in a survey.###29 07 2022 new variable -survey#:#svy_mail_context_rater_invitation_survey_title#:#Survey Title###29 07 2022 new variable -survey#:#svy_mail_context_rater_invitation_title#:#Survey: Rater Invitation###29 07 2022 new variable +survey#:#svy_mail_context_rater_invitation_info#:#Invite raters to participate in a survey.###31 03 2023 new variable +survey#:#svy_mail_context_rater_invitation_survey_title#:#Survey Title###31 03 2023 new variable +survey#:#svy_mail_context_rater_invitation_title#:#Survey: Rater Invitation###31 03 2023 new variable survey#:#svy_mail_context_reminder_info#:#Ricorda agli utenti di partecipare al sondaggio survey#:#svy_mail_context_reminder_survey_title#:#Titolo di sondaggio survey#:#svy_mail_context_reminder_title#:#Promemoria sondaggio survey#:#svy_mail_own_results#:#Visualizza le risposte date -survey#:#svy_mail_own_results_body#:#the following is a complete summary of your survey participation. +survey#:#svy_mail_own_results_body#:#di seguito è riportato un riepilogo completo della partecipazione al sondaggio. survey#:#svy_mail_own_results_subject#:#Sondaggio "%s" - Le tue risposte survey#:#svy_mail_send_confirmation#:#Invia conferma di partecipazione survey#:#svy_matrix_layout_percentages_sum_invalid#:#Le impostazioni di colonna non raggiungono il 100%. -survey#:#svy_max_sum_score#:#Maximum Sum Score###29 07 2022 new variable -survey#:#svy_neutral_answer#:#Text for a Neutral Answer ("Not Specified", "I don't know" etc.) -survey#:#svy_no_appraisees_found#:#No appraisees with feedbacks found.###26 08 2024 new variable -survey#:#svy_notification_tutor_results#:#One E-Mail including Survey Results###07 02 2020 new variable -survey#:#svy_notification_tutor_results_alert#:#This requires an end date.###07 02 2020 new variable -survey#:#svy_notification_tutor_results_info#:#After reaching the end data a cron job will send an email with the detailed survey results attached to it.###07 02 2020 new variable -survey#:#svy_only_max_one_external_rater#:#Please select only one external rater.###29 07 2022 new variable +survey#:#svy_max_sum_score#:#Maximum Sum Score +survey#:#svy_neutral_answer#:#Testo per una risposta neutra ("Non specificato", "Non lo so" ecc.) +survey#:#svy_no_appraisees_found#:#No appraisees with feedbacks found.###28 11 2023 new variable +survey#:#svy_notification_tutor_results#:#One E-Mail including Survey Results +survey#:#svy_notification_tutor_results_alert#:#This requires an end date. +survey#:#svy_notification_tutor_results_info#:#After reaching the end data a cron job will send an email with the detailed survey results attached to it. +survey#:#svy_only_max_one_external_rater#:#Please select only one external rater.###31 03 2023 new variable survey#:#svy_page_add_question#:#Aggiungi nuovo %s -survey#:#svy_page_error#:#Si & +survey#:#svy_page_error#:#Si è verificato un errore durante la risposta a una domanda del sondaggio. Si prega di fare riferimento alla domanda per ottenere maggiori informazioni sull'errore! survey#:#svy_page_errors#:#Si sono verificati degli errori rispondendo alle domande del sondaggio. Specifica le domande se vuoi avere maggiori informazioni sugli errori! -survey#:#svy_participant#:#Participant -survey#:#svy_participants#:#Participants###26 08 2024 new variable +survey#:#svy_participant#:#Partecipante +survey#:#svy_participants#:#Participants###30 07 2024 new variable survey#:#svy_participation#:#Adesione -survey#:#svy_please_select_unused_codes#:#Please select at least one unused code.###26 08 2024 new variable +survey#:#svy_please_select_unused_codes#:#Please select at least one unused code.###31 03 2023 new variable survey#:#svy_print_hide_labels#:#Nascondi etichette survey#:#svy_print_show_labels#:#Mostra etichette -survey#:#svy_privacy_info#:#Privacy###29 07 2022 new variable -survey#:#svy_rater#:#Rater###29 07 2022 new variable -survey#:#svy_rater_see_app_info#:#The names of appraisees will be presented to raters to enable them evaluating the questions.###29 07 2022 new variable +survey#:#svy_privacy_info#:#Privacy###31 03 2023 new variable +survey#:#svy_rater#:#Rater###31 03 2023 new variable +survey#:#svy_rater_see_app_info#:#The names of appraisees will be presented to raters to enable them evaluating the questions.###31 03 2023 new variable survey#:#svy_reminder_mail_template#:#Modello di mail survey#:#svy_reminder_mail_template_none#:#Non utilizzare il modello di mail survey#:#svy_result_mail_notification_info#:#Al termine del sondaggio, le risposte di ciascun partecipante saranno inviate ai destinatari definiti. survey#:#svy_results#:#Risultati survey#:#svy_results_mail_confirm#:#I partecipanti possono richiedere la conferma di partecipazione survey#:#svy_results_mail_confirm_info#:#I partecipanti possono richiedere una mail di conferma della partecipazione alla fine del sondaggio. -survey#:#svy_results_mail_own#:#Participant can mail own answers -survey#:#svy_results_mail_own_info#:#todo5 -survey#:#svy_results_view_own#:#Participant can view own answers -survey#:#svy_results_view_own_info#:#todo4 -survey#:#svy_save_and_continue#:#Save and Continue###29 07 2022 new variable +survey#:#svy_results_mail_own#:#Includere le risposte fornite +survey#:#svy_results_mail_own_info#:#Le risposte fornite saranno incluse nella conferma di partecipazione. +survey#:#svy_results_view_own#:#I partecipanti possono visualizzare le proprie risposte +survey#:#svy_results_view_own_info#:#Dopo aver terminato il sondaggio, i partecipanti possono visualizzare un elenco di tutte le risposte fornite. Non possono cambiare le loro risposte +survey#:#svy_save_and_continue#:#Save and Continue###31 03 2023 new variable survey#:#svy_save_sync#:#Salva e sincronizza le copie delle domande -survey#:#svy_search_user#:#Search User###29 07 2022 new variable -survey#:#svy_search_user_info#:#Search for users or roles and pick participants.###29 07 2022 new variable +survey#:#svy_search_user#:#Search User###31 03 2023 new variable +survey#:#svy_search_user_info#:#Search for users or roles and pick participants.###31 03 2023 new variable survey#:#svy_search_users#:#Cerca partecipanti -survey#:#svy_select_rater#:#Select Rater###29 07 2022 new variable +survey#:#svy_select_rater#:#Select Rater###31 03 2023 new variable survey#:#svy_selected_user_data_deleted#:#I dati di partecipazione al sondaggio degli utenti selezionati sono stati rimossi con successo -survey#:#svy_self_ev_access_results_all#:#Access to Self-Evaluations of All Participants -survey#:#svy_self_ev_access_results_none#:#No Access to Results -survey#:#svy_self_ev_access_results_own#:#Access to Own Self-Evaluations -survey#:#svy_self_ev_info#:#Use for self evaluation. -survey#:#svy_self_ev_mode#:#Self-Evaluation Only +survey#:#svy_self_ev_access_results_all#:#Accesso alle autovalutazioni di tutti i partecipanti +survey#:#svy_self_ev_access_results_none#:#Nessun accesso ai risultati +survey#:#svy_self_ev_access_results_own#:#Accesso alle proprie autovalutazioni +survey#:#svy_self_ev_info#:#Utilizzare per l'autovalutazione. +survey#:#svy_self_ev_mode#:#Solo autovalutazione survey#:#svy_settings_section_access#:#Amministrare il sondaggio: Accesso survey#:#svy_settings_section_before_start#:#Informazioni prima di iniziare il sondaggio survey#:#svy_settings_section_finishing#:#Terminare il sondaggio -survey#:#svy_settings_section_question_behaviour#:#Administering the Survey: Behaviour of the Question +survey#:#svy_settings_section_question_behaviour#:#Gestione del sondaggio: comportamento della domanda survey#:#svy_settings_section_reminders#:#Promemoria survey#:#svy_show_questiontitles#:#Mostra i titoli delle domande nel sondaggio survey#:#svy_skl_comp_assignm_not_supported#:#L'assegnazione delle competenze non è supportata per questo tipo di domanda. -survey#:#svy_sum_score#:#Sum Score###29 07 2022 new variable -survey#:#svy_type_of_rater#:#Type of Rater###29 07 2022 new variable +survey#:#svy_sum_score#:#Sum Score +survey#:#svy_type_of_rater#:#Type of Rater###31 03 2023 new variable survey#:#svy_view_own_results#:#Visualizza le risposte date -survey#:#svy_wrong_or_expired_code#:#Sorry, you entered an invalid or expired code.###26 08 2024 new variable -survey#:#text_maximum_chars_allowed#:#Per favore non inserire pi& -survey#:#text_question_not_filled_out#:#Per favore, riempi il campo della risposta! +survey#:#svy_wrong_or_expired_code#:#Sorry, you entered an invalid or expired code.###31 03 2023 new variable +survey#:#text_maximum_chars_allowed#:#Non inserire più di un massimo di %s caratteri. Tutti i caratteri in eccedenza saranno tagliati. +survey#:#text_question_not_filled_out#:#Per favore, riempi ogni campo di risposta! survey#:#unfold#:#Apri blocco di domande survey#:#upper_limit#:#Limite superiore survey#:#use_anonymous_id#:#Mostra il codice del sondaggio @@ -16989,47 +16996,47 @@ survey#:#users_invited#:#%s degli utenti sono stati invitati survey#:#users_skipped#:#Utenti che hanno saltato survey#:#values#:#Valori survey#:#vertical#:#verticale -survey#:#warning_question_not_complete#:#La domanda non & +survey#:#warning_question_not_complete#:#La domanda non è completa! survey#:#workingtime#:#Tempo di lavoro svy#:#survey_360_appraisees_remind_info#:#Se l’autovalutazione è attivata, ai valutati che non hanno ancora terminato il sondaggio verrà inviato un promemoria. svy#:#survey_360_raters_remind_info#:#Ai valutatori che non hanno ancora terminato il sondaggio verrà inviato un promemoria. -svy#:#svy_0_open_appraisees#:#You cannot perform the survey for any appraisee anymore.###28 10 2024 new variable -svy#:#svy_all_pages#:#All Pages###29 07 2022 new variable -svy#:#svy_all_participants#:#All Participants###29 07 2022 new variable -svy#:#svy_all_questions#:#All Questions###29 07 2022 new variable -svy#:#svy_code#:#Access Code###28 10 2024 new variable -svy#:#svy_codes#:#Access Codes###07 02 2020 new variable -svy#:#svy_current_page#:#Current Page###29 07 2022 new variable -svy#:#svy_finish_survey#:#Finish survey '%1'###07 02 2020 new variable -svy#:#svy_finished_x_appraisees#:#You have finished the survey for %s appraisee(s).###28 10 2024 new variable -svy#:#svy_information#:#Information###28 10 2024 new variable -svy#:#svy_invite_participants#:#Invite Participants###07 02 2020 new variable -svy#:#svy_link_to_svy#:#Link to Survey###26 08 2024 new variable -svy#:#svy_part_overview#:#Overview###07 02 2020 new variable -svy#:#svy_placeholders_label#:#Available Placeholders###26 08 2024 new variable -svy#:#svy_print_selection#:#Print View Selection###29 07 2022 new variable -svy#:#svy_remove_all_participants#:#Remove all Participants###07 02 2020 new variable -svy#:#svy_remove_participants#:#Remove Participants###07 02 2020 new variable -svy#:#svy_selected_participants#:#Selected Participants###29 07 2022 new variable -svy#:#svy_selected_questions#:#Selected Questions###29 07 2022 new variable -svy#:#svy_selection#:#Selection###29 07 2022 new variable -svy#:#svy_status#:#Status###07 02 2020 new variable -svy#:#svy_status_finished#:#Finished###07 02 2020 new variable -svy#:#svy_status_in_progress#:#In Progress###07 02 2020 new variable -svy#:#svy_status_invited#:#Invited###07 02 2020 new variable -svy#:#svy_user_added_appraisee#:#Survey '%1'###26 08 2024 new variable -svy#:#svy_user_added_appraisee_close_mail#:#The survey has been closed for your raters.###26 08 2024 new variable -svy#:#svy_user_added_appraisee_mail#:#You have been added to the survey as an appraisee.###26 08 2024 new variable -svy#:#svy_user_added_rater#:#Survey '%1'###26 08 2024 new variable -svy#:#svy_user_added_rater_mail#:#You have been added as a rater to the survey.###26 08 2024 new variable -svy#:#svy_user_added_rater_reminder_mail#:#Please finish to rate the following appraisees:###26 08 2024 new variable -svy#:#svy_user_not_found#:#User not found.###26 08 2024 new variable -svy#:#svy_users_invited#:#Users have been invited.###07 02 2020 new variable -svy#:#svy_x_appraisees_closed_for_raters#:#%s appraisee(s) has/have closed the survey for raters.###28 10 2024 new variable -svy#:#svy_x_open_appraisees#:#%s appraisee(s) are open for you to rate.###28 10 2024 new variable -svy#:#svy_your_appraisees#:#Your Appraisees###28 10 2024 new variable -svy#:#svy_your_raters#:#Your Raters###28 10 2024 new variable -svy#:#svy_your_raters_finished#:#%s of your raters have finished the survey.###28 10 2024 new variable +svy#:#svy_0_open_appraisees#:#There are no more appraisees for you to rate or the survey is no longer open to raters.###28 11 2025 new variable +svy#:#svy_all_pages#:#All Pages###31 03 2023 new variable +svy#:#svy_all_participants#:#All Participants###31 03 2023 new variable +svy#:#svy_all_questions#:#All Questions###31 03 2023 new variable +svy#:#svy_code#:#Access Code###28 11 2025 new variable +svy#:#svy_codes#:#Codici di accesso +svy#:#svy_current_page#:#Current Page###31 03 2023 new variable +svy#:#svy_finish_survey#:#Finish survey '%1' +svy#:#svy_finished_x_appraisees#:#You have already completed the survey for %s appraisee(s).###28 11 2025 new variable +svy#:#svy_information#:#Information###28 11 2025 new variable +svy#:#svy_invite_participants#:#Invita partecipanti +svy#:#svy_link_to_svy#:#Link to Survey###31 03 2023 new variable +svy#:#svy_part_overview#:#Panoramica +svy#:#svy_placeholders_label#:#Verfügbare Platzhalter###14 02 2024 new variable +svy#:#svy_print_selection#:#Print View Selection###31 03 2023 new variable +svy#:#svy_remove_all_participants#:#Rimuovi tutti i partecipanti +svy#:#svy_remove_participants#:#Rimuovi partecipanti +svy#:#svy_selected_participants#:#Selected Participants###31 03 2023 new variable +svy#:#svy_selected_questions#:#Selected Questions###31 03 2023 new variable +svy#:#svy_selection#:#Selection###31 03 2023 new variable +svy#:#svy_status#:#Stato +svy#:#svy_status_finished#:#Finito +svy#:#svy_status_in_progress#:#In Progress +svy#:#svy_status_invited#:#Invitato +svy#:#svy_user_added_appraisee#:#Survey '%1'###31 03 2023 new variable +svy#:#svy_user_added_appraisee_close_mail#:#The survey has been closed for your raters.###31 03 2023 new variable +svy#:#svy_user_added_appraisee_mail#:#You have been added to the survey as an appraisee.###31 03 2023 new variable +svy#:#svy_user_added_rater#:#Survey '%1'###31 03 2023 new variable +svy#:#svy_user_added_rater_mail#:#You have been added as a rater to the survey.###31 03 2023 new variable +svy#:#svy_user_added_rater_reminder_mail#:#Please finish to rate the following appraisees:###31 03 2023 new variable +svy#:#svy_user_not_found#:#User not found.###31 03 2023 new variable +svy#:#svy_users_invited#:#Gli utenti sono stati invitati. +svy#:#svy_x_appraisees_closed_for_raters#:#The survey has been closed to raters by %s appraisee(s).###28 11 2025 new variable +svy#:#svy_x_open_appraisees#:#You have %s appraisee(s) awaiting your feedback.###28 11 2025 new variable +svy#:#svy_your_appraisees#:#Your Appraisees###28 11 2025 new variable +svy#:#svy_your_raters#:#Your Raters###28 11 2025 new variable +svy#:#svy_your_raters_finished#:#%s of your raters have finished the survey.###28 11 2025 new variable sysc#:#sysc_action_list_tree#:#Crea dump dell’albero del repository sysc#:#sysc_action_repair#:#Ripara sysc#:#sysc_action_show_tree#:#Mostra dump dell’albero del repository @@ -17037,10 +17044,10 @@ sysc#:#sysc_action_validate#:#Convalida sysc#:#sysc_administrate_deleted#:#Amministra oggetti eliminati sysc#:#sysc_btn_tree_missing#:#Ripristina mancante sysc#:#sysc_btn_tree_structure#:#Ricrea struttura ad albero -sysc#:#sysc_completed_num#:#Fullfilled Tasks +sysc#:#sysc_completed_num#:#Compiti svolti sysc#:#sysc_cron_empty_trash#:#Elimina cestino sysc#:#sysc_cron_empty_trash_desc#:#Se abilitato, il cestino del repository verrà eliminato in base a determinati criteri (età, tipo di oggetto o numero massimo di oggetti). -sysc#:#sysc_failed_num#:#Not Fullfilled Tasks +sysc#:#sysc_failed_num#:#Attività non soddisfatte sysc#:#sysc_groups#:#Gruppi di controllo del sistema sysc#:#sysc_grp_tree#:#Albero repository sysc#:#sysc_grp_tree_desc#:#Esegue un’analisi della struttura e stampa i nodi di struttura insieme ai dati dell’analisi. @@ -17073,102 +17080,102 @@ sysc#:#sysc_trash_limit_type#:#Limite per tipo sysc#:#sysc_trash_remove#:#Rimuovi oggetti eliminati dal sistema sysc#:#sysc_trash_remove_info#:#Rimuovi oggetti eliminati (nel cestino) dal sistema sysc#:#sysc_trash_restore#:#Ripristina oggetti eliminati -sysc#:#sysc_trash_restore_info#:#Restore deleted objects from trash bin and move the to the "Recovery Folder" -sysc#:#sysc_tree_duplicate_failures#:#Found duplicate entries in tree structure. Number of duoplicate entries +sysc#:#sysc_trash_restore_info#:#Ripristina gli oggetti eliminati dal cestino e sposta la "Cartella di ripristino" +sysc#:#sysc_tree_duplicate_failures#:#Trovate voci duplicate nella struttura ad albero. Numero di voci duplicate sysc#:#sysc_tree_list_failures#:#È stato creato un dump dell’albero del repository. Numero degli errori nella struttura ad albero: sysc#:#sysc_tree_missing_failures#:#Voci mancanti trovate nella struttura ad albero. Numero delle voci mancanti: sysc#:#sysc_tree_structure_failures#:#Numero dei guasti nella struttura ad albero (Relazione principale): -tagging#:#no_tag_text_1#:#You have not yet used any tags. To do this, you must take two steps:###29 07 2022 new variable -tagging#:#no_tag_text_2#:#Click on '%s' and select a learning object from the available offer, e.g. a learning module or a forum.###29 07 2022 new variable -tagging#:#no_tag_text_3#:#To attach any tags to the object select 'Set Tags' from the actions menu.###29 07 2022 new variable +tagging#:#no_tag_text_1#:#Non hai utilizzato ancora alcun tag. Per farlo, devi seguire due passaggi: +tagging#:#no_tag_text_2#:#Clicca su '%s' e selezione un oggetto formativo dalla variabile offerta, ad esempio un modulo formativo o un forum. +tagging#:#no_tag_text_3#:#Per associare qualsiasi tag all'ggetto, seleziona "Imposta Tag" dal menù delle azioni. tagging#:#tag_remove_tags_of_obj_without_access#:#Rimuovi tag tagging#:#tag_some_obj_tagged_without_access#:#Non si hanno più le autorizzazione per accedere ad alcuni degli oggetti contrassegnati. Il tag deve essere rimosso per questi oggetti? tagging#:#tag_tags_deleted#:#Il tag è stato rimosso dagli oggetti non accessibili. tagging#:#tagging_all_users#:#Tutti gli utenti tagging#:#tagging_edit_settings#:#Modifica le impostazioni tagging#:#tagging_enable_all_users#:#Mostra i tag di tutti gli utenti -tagging#:#tagging_enable_all_users_info#:#Aggiundi una sezione "Tutti gli utenti" alle scrren info che elenchi tutti i tag di tutti gli utenti legati alla risorsa. -tagging#:#tagging_enable_tagging#:#Attiva il Tagging -tagging#:#tagging_forbidden_tags#:#Tags negati -tagging#:#tagging_no_obj_for_tag#:#No Resources tagged with %s.###29 07 2022 new variable -tagging#:#tagging_no_perm_write#:#You have no permission to change this data.###28 10 2024 new variable -tagging#:#tagging_other_users#:#Other Users +tagging#:#tagging_enable_all_users_info#:#Aggiungi una sezione "Tutti gli utenti" alle screen info che elenchi tutti i tag di tutti gli utenti legati alla risorsa. +tagging#:#tagging_enable_tagging#:#Attiva il tagging +tagging#:#tagging_forbidden_tags#:#Tags vietati +tagging#:#tagging_no_obj_for_tag#:#No Resources tagged with %s.###09 03 2022 new variable +tagging#:#tagging_no_perm_write#:#You have no permission to change this data.###10 12 2024 new variable +tagging#:#tagging_other_users#:#Tag di altri utenti tagging#:#tagging_resources_for_tag#:#Risorse taggate col %s tagging#:#tagging_search_users#:#Cerca utenti tagging#:#tagging_set_tag#:#Imposta tag tagging#:#tagging_settings#:#Impostazioni tagging#:#tagging_tag#:#Tag -tagging#:#tagging_tag_info#:#Per assegnare un tag ad una risorsa, apri la schermata info delle risorse ed inserisci il tuo tag. -tagging#:#tagging_tags#:#Tag +tagging#:#tagging_tag_info#:#Per assegnare un tag ad una risorsa, apri la schermata info della risorsa ed inserisci il tuo tag. +tagging#:#tagging_tags#:#Tags tagging#:#tagging_users_using_tag#:#Utenti che utilizzano i tag -task#:#task_deadline#:#End###07 02 2020 new variable -task#:#task_derived_tasks#:#Tasks###07 02 2020 new variable -task#:#task_details#:#Details###07 02 2020 new variable -task#:#task_no_task_items#:#Es sind keine To-Dos für Sie vorhanden.###07 02 2020 new variable -task#:#task_no_tasks#:#You do not have any open tasks.###07 02 2020 new variable -task#:#task_start#:#Start###07 02 2020 new variable -task#:#task_task#:#Task###07 02 2020 new variable -task#:#task_tasks_with_deadline#:#With Deadline###07 02 2020 new variable -task#:#task_tasks_without_deadline#:#Without Deadline###07 02 2020 new variable +task#:#task_deadline#:#Fine +task#:#task_derived_tasks#:#Attività +task#:#task_details#:#Dettagli +task#:#task_no_task_items#:#Non ci sono attività per te. +task#:#task_no_tasks#:#Non hai nessuna attività aperta. +task#:#task_start#:#Inizia +task#:#task_task#:#Attività +task#:#task_tasks_with_deadline#:#Con scadenza +task#:#task_tasks_without_deadline#:#Senza scadenza tax#:#obj_taxn#:#Nodo tax#:#tax_add_taxonomy#:#Aggiungi tassonomia tax#:#tax_added#:#La tassonomia è stata creata. -tax#:#tax_admin_settings_repository#:#Tassonomie repository +tax#:#tax_admin_settings_repository#:#Repository delle tassonomie tax#:#tax_alphabetical#:#Alfabetico tax#:#tax_assigned_items#:#Voci assegnate tax#:#tax_confirm_deletion#:#Vuoi davvero eliminare l’intera tassonomia e tutte le sue relazioni? tax#:#tax_create_node#:#Crea nodo -tax#:#tax_item_sorting#:#Supporto ordinamento degli elementi assegnati +tax#:#tax_item_sorting#:#Supportare l'ordinamento degli elementi assegnati tax#:#tax_manual#:#Manuale -tax#:#tax_max_one_tax#:#Puoi utilizzare al massimo una tassonomia in questo contesto. +tax#:#tax_max_one_tax#:#Puoi utilizzare solo una tassonomia in questo contesto. tax#:#tax_new_tax_node#:#Nuovo nodo tax#:#tax_node#:#Nodo tax#:#tax_node_sorting#:#Ordinamento dei nodi tax#:#tax_nodes#:#Nodi tax#:#tax_order#:#Ordine -tax#:#tax_order_nr#:#Numero Ordine -tax#:#tax_please_select_target#:#Si prega di selezionare la destinazione. -tax#:#tax_target_within_nodes#:#The target must not be a subnode of the selected items. -tax#:#tax_tax_assignment#:#Assegnazione tassonomia +tax#:#tax_order_nr#:#Numero dell ordine +tax#:#tax_please_select_target#:#Si prega di selezionare la destinazione! +tax#:#tax_target_within_nodes#:#Il target non può essere un nodo secondario degli elementi selezionati. +tax#:#tax_tax_assignment#:#Assegnazione della tassonomia tax#:#tax_tax_deleted#:#La tassonomia è stata eliminata. tax#:#tax_tax_settings#:#Impostazioni tassonomia tax#:#tax_taxonomy#:#Tassonomia -tbl#:#tbl_export_csv#:#Export .csv -tbl#:#tbl_export_excel#:#Export .xls -tos#:#tos_accept_usr_agreement_anonymous#:#Terms of Service###26 08 2024 new variable -tos#:#tos_accept_usr_agreement_anonymous_intro#:#Before you proceed to ILIAS you accept the following Terms of Service.###26 08 2024 new variable -tos#:#tos_account_reg_not_possible#:#A self registration is not possible because of a missing user agreement. Please contact your system administrator for further information. -tos#:#tos_agree_date#:#ToS agreed on###26 08 2024 new variable +tbl#:#tbl_export_csv#:#Esporta .csv +tbl#:#tbl_export_excel#:#Esporta .xls +tos#:#tos_accept_usr_agreement_anonymous#:#Terms of Service###18 06 2024 new variable +tos#:#tos_accept_usr_agreement_anonymous_intro#:#Before you proceed to ILIAS you accept the following Terms of Service.###18 06 2024 new variable +tos#:#tos_account_reg_not_possible#:#Una registrazione automatica non è possibile a causa del contratto utente mancante. Per favore contatta il tuoamministratore di sistema per maggiori informazioni. +tos#:#tos_agree_date#:#ToS agreed on###30 04 2024 new variable tos#:#tos_agreement#:#Termini di servizio -tos#:#tos_disabled_no_docs_left#:#The user agreements are now disabled, because all documents have been deleted. Please create at least one document before enabling the user agreements again. -tos#:#tos_last_reset_date#:#I termini di servizio sono stati azzerati %s. -tos#:#tos_never_reset#:#The terms of service have not been reset, yet. +tos#:#tos_disabled_no_docs_left#:#I contratti utente sono ora disabilitati, poiché tutti i documenti sono stati eliminati. Si prega di creare almeno un documento prima di abilitare nuovamente gli accordi utente. +tos#:#tos_last_reset_date#:#Gli accordi utente sono stati reimpostati l'ultima volta il %s. Reimposta il contratto utente solo se nel frattempo è cambiato e desideri approvare il contratto modificato. +tos#:#tos_never_reset#:#I termini di servizio non sono ancora stati ripristinati. tos#:#tos_no_documents_exist#:#Attualmente non ci sono termini di servizio per ogni lingua installata. tos#:#tos_no_documents_exist_cant_save#:#Attualmente non ci sono termini di servizio per ogni lingua installata. Si prega di aggiungere almeno un documento per ogni lingua installata. -tos#:#tos_reset_for_all_users#:#Reset Terms of Service###26 08 2024 new variable -tos#:#tos_reset_successful#:#The terms of service have been reset successfully. +tos#:#tos_reset_for_all_users#:#Reset Terms of Service###30 04 2024 new variable +tos#:#tos_reset_successful#:#I termini di servizio sono stati ripristinati correttamente. tos#:#tos_status_desc#:#Se attivato, gli utenti sono costretti ad accettare i termini di servizio prima di poter entrare in ILIAS. -tos#:#tos_status_enable#:#Consentito -tos#:#tos_sure_reset_tos#:#Are you sure you want to reset the terms of service for all users in system? This also applies to those accounts that are used for the SOAP webservices, the chat server, or the cron job. -tos#:#tos_withdrawal_usr_deletion#:#Account Deletion Upon Withdrawal From Terms of Service###29 07 2022 new variable -tos#:#tos_withdrawal_usr_deletion_desc#:#If a user withdraws their acceptance from a previously accepted Terms of Service document, this will result in the deletion of the user’s account.###26 08 2024 new variable -trac#:#cmix_lp_mode_deactivated#:#Learning Progress is Deactivated###07 02 2020 new variable -trac#:#cmix_lp_mode_deactivated_info#:#The learning progress status is not displayed and does not influence parent objects.###07 02 2020 new variable -trac#:#cmix_lp_mode_when_completed#:#Completed when 'completed'###07 02 2020 new variable -trac#:#cmix_lp_mode_when_completed_info#:#ILIAS status 'completed' is set when verb of last relevant xAPI-Statement is 'completed'.###07 02 2020 new variable -trac#:#cmix_lp_mode_when_passed#:#Completed when 'passed'###07 02 2020 new variable -trac#:#cmix_lp_mode_when_passed_info#:#ILIAS status 'completed' is set when verb of last relevant xAPI-Statement is 'passed' or 'satisfied'.###07 02 2020 new variable -trac#:#cmix_lp_mode_when_passed_or_completed#:#Completed when passed or completed###07 02 2020 new variable -trac#:#cmix_lp_mode_when_passed_or_completed_info#:#ILIAS status 'completed' is set when verb of last relevant xAPI-Statement is 'completed' or 'passed' or 'satisfied'.###07 02 2020 new variable -trac#:#cmix_lp_mode_with_failed#:#Also consider failed###07 02 2020 new variable -trac#:#cmix_lp_mode_with_failed_info#:#The status could be 'failed' instead of 'in progress'.###07 02 2020 new variable +tos#:#tos_status_enable#:#Attiva i contratti di utilizzo +tos#:#tos_sure_reset_tos#:#Sei sicuro di voler ripristinare i termini di servizio per tutti gli utenti del sistema? Questo vale anche per quegli account che vengono utilizzati per i servizi web SOAP, il server di chat o il cron job. +tos#:#tos_withdrawal_usr_deletion#:#Eliminazione dell'account in caso di ritiro dei termini di servizio +tos#:#tos_withdrawal_usr_deletion_desc#:#If a user withdraws their acceptance from a previously accepted Terms of Service document, this will result in the deletion of the user’s account.###30 04 2024 new variable +trac#:#cmix_lp_mode_deactivated#:#Il progresso di apprendimento è disattivato +trac#:#cmix_lp_mode_deactivated_info#:#Lo stato di avanzamento dell'apprendimento non viene visualizzato e non influenza gli oggetti padre. +trac#:#cmix_lp_mode_when_completed#:#Completato quando "completato" +trac#:#cmix_lp_mode_when_completed_info#:#Lo stato ILIAS 'completato' è impostato quando il verbo dell'ultima dichiarazione xAPI rilevante è 'completato'. +trac#:#cmix_lp_mode_when_passed#:#Completato quando "superato" +trac#:#cmix_lp_mode_when_passed_info#:#Lo stato ILIAS 'completato' è impostato quando il verbo dell'ultima dichiarazione xAPI rilevante è 'passato' o 'soddisfatto'. +trac#:#cmix_lp_mode_when_passed_or_completed#:#Completato quando superato o completato +trac#:#cmix_lp_mode_when_passed_or_completed_info#:#Lo stato ILIAS 'completato' è impostato quando il verbo dell'ultima dichiarazione xAPI rilevante è 'completato' o 'passato' o 'soddisfatto'. +trac#:#cmix_lp_mode_with_failed#:#Considera anche fallito +trac#:#cmix_lp_mode_with_failed_info#:#Lo stato potrebbe essere "fallito" anziché "in corso". trac#:#create_date_max#:#Ultima registrazione trac#:#create_date_min#:#Prima registrazione trac#:#info_valid_request#:#Tempo massimo disponibile tra due richieste dello stesso utente. trac#:#meta_typical_learning_time#:#Tempo tipico di apprendimento trac#:#obj_types#:#Tipi di oggetto: -trac#:#personal_learning_progress_view_description#:#Ongoing courses with membership###29 10 2025 new variable -trac#:#personal_learning_progress_view_title#:#Your Learning Progress###29 10 2025 new variable +trac#:#personal_learning_progress_view_description#:#Ongoing courses with membership###28 11 2025 new variable +trac#:#personal_learning_progress_view_title#:#Your Learning Progress###28 11 2025 new variable trac#:#read_count_avg#:#Visualizzazioni della pagina media trac#:#registration_filter#:#Data di registrazione trac#:#search_area_info#:#Seleziona un oggetto. @@ -17177,7 +17184,7 @@ trac#:#session_statistics#:#Statistiche di sessione trac#:#trac_aggregation#:#Raggruppamento trac#:#trac_all#:#Tutte trac#:#trac_anonymized#:#Rendi anonimo -trac#:#trac_anonymized_info#:#Se selezionato, tutte le statistiche saranno rese anonime. +trac#:#trac_anonymized_info#:#Se attivato non verranno rilasciati dati personali trac#:#trac_anonymized_info_short#:#(Anonimo) trac#:#trac_assigned#:#Assegnato trac#:#trac_average#:#Media @@ -17185,9 +17192,9 @@ trac#:#trac_begin_at#:#Data di inizio trac#:#trac_closed_expire#:#Timeout trac#:#trac_closed_login#:#Anonimo per l’accesso trac#:#trac_closed_manual#:#Logout -trac#:#trac_closed_misc#:#Vari -trac#:#trac_collection_assign#:#Assegna -trac#:#trac_collection_deassign#:#Rimuovi assegnamento +trac#:#trac_closed_misc#:#Altri +trac#:#trac_collection_assign#:#Selezionare per determinare il progresso dell'apprendimento +trac#:#trac_collection_deassign#:#Rimuovi assegnazione trac#:#trac_collection_manual_learner_changed_ts#:#Cambiato in trac#:#trac_collection_manual_learner_info#:#Il processo di apprendimento per questo oggetto deve essere impostato manualmente. trac#:#trac_collection_manual_learner_lm_info#:#Attiva tutti i capitoli completati. @@ -17196,132 +17203,132 @@ trac#:#trac_collection_tlt_learner_subitem#:#Hai utilizzato %s del %s necessario trac#:#trac_comment#:#Commento trac#:#trac_completed#:#Completato trac#:#trac_cron_info#:#Si prega di attivare le "Statistiche oggetti" cron job per raccogliere i dati. -trac#:#trac_crs_objects#:#Learning progress of course members +trac#:#trac_crs_objects#:#Progressi di apprendimento dei membri del corso trac#:#trac_current#:#Attuale trac#:#trac_current_system_load#:#Carico di sistema corrente trac#:#trac_data_deleted#:#I dati sono stati eliminati. trac#:#trac_defaults#:#Stato di completamento -trac#:#trac_defaults_inactive#:#Disattiva -trac#:#trac_defaults_info#:#Imposta la modalità di determinazione dello stato di completamento per i tipi di oggetti supportati. Utilizzata da alcuni tipi di badge. +trac#:#trac_defaults_inactive#:#Tracciamento inattivo +trac#:#trac_defaults_info#:#Imposta la modalità di determinazione dello stato di completamento per i tipi di oggetti supportati. Utilizzata da alcuni tipi di badge e certificati. trac#:#trac_delete_data#:#Elimina dati trac#:#trac_determines_learning_progress#:#Determina il progresso dell'apprendimento -trac#:#trac_edit_collection#:#Assegna le risorse del corso. Se lo stato di tutti gli oggetti & +trac#:#trac_edit_collection#:#Si prega di assegnare materiali. Se lo stato di tutti gli elementi assegnati è "Completato", lo stato generale viene completato dall'utente. trac#:#trac_end_at#:#Data di fine trac#:#trac_failed#:#Non riuscito trac#:#trac_figure#:#Figura chiave -trac#:#trac_filter_area#:#Area: -trac#:#trac_filter_has_status#:#Show not attempted objects -trac#:#trac_filter_hidden#:#Nascosto: +trac#:#trac_filter_area#:#Area +trac#:#trac_filter_has_status#:#Mostra oggetti non utilizzati +trac#:#trac_filter_hidden#:#Nascosto trac#:#trac_first_access#:#Primo accesso -trac#:#trac_first_and_last_access#:#First and Last Acces -trac#:#trac_frm_contribution_num_postings#:#Minimum number of Postings###29 07 2022 new variable -trac#:#trac_frm_contribution_num_postings_info_p#:#%s: %s Posts###26 08 2024 new variable -trac#:#trac_frm_contribution_num_postings_info_s#:#%s: %s Post###26 08 2024 new variable -trac#:#trac_group_materials#:#Group Materials -trac#:#trac_group_materials_save#:#Save Number of Obligatory Materials -trac#:#trac_grouped_material_obligatory_err#:#Il numero di materiali che devono essere passati deve essere maggiore di 0 e minore del numero di materiali del raggruppamento. +trac#:#trac_first_and_last_access#:#Primo e ultimo accesso +trac#:#trac_frm_contribution_num_postings#:#Minimum number of Postings###31 03 2023 new variable +trac#:#trac_frm_contribution_num_postings_info_p#:#%s: %s Postings###30 04 2024 new variable +trac#:#trac_frm_contribution_num_postings_info_s#:#%s: %s Posting###30 04 2024 new variable +trac#:#trac_group_materials#:#Crea raggruppamenti con materiali opzionali +trac#:#trac_group_materials_save#:#Salva il numero di materiali obbligatori +trac#:#trac_grouped_material_obligatory_err#:#Il numero di materiali che devono essere superati deve essere maggiore di 0 e minore del numero di materiali del raggruppamento. trac#:#trac_hide#:#Nascondi trac#:#trac_hide_selected#:#Nascondi elementi selezionati trac#:#trac_in_progress#:#In esecuzione -trac#:#trac_info_edited#:#Modifica lo stato a & +trac#:#trac_info_edited#:#Imposta lo stato su "Completato" se ritieni di aver elaborato tutto il contenuto. trac#:#trac_last_access#:#Ultimo accesso trac#:#trac_last_aggregation#:#Ultimo raggruppamento trac#:#trac_learning_progress#:#Progressi di apprendimento -trac#:#trac_learning_progress_of#:#Lernfortschritt von %s -trac#:#trac_learning_progress_settings_info#:#Activate the display of the following values inside the Learning Progress tables: -trac#:#trac_lhist_obj_completed#:#$1$ was completed. -trac#:#trac_lhist_obj_completed_in#:#$1$ was completed in $2$. +trac#:#trac_learning_progress_of#:#Progressi di apprendimento da %s +trac#:#trac_learning_progress_settings_info#:#Attiva la visualizzazione dei seguenti valori nelle tabelle Avanzamento apprendimento: +trac#:#trac_lhist_obj_completed#:#$1$ è stato terminato. +trac#:#trac_lhist_obj_completed_in#:#$1$ è stato completato in $2$. trac#:#trac_log_info#:#Ultimo raggruppamento: %s (Elementi non elaborati: %s) trac#:#trac_log_info_link#:#Aggiorna trac#:#trac_long_system_load#:#A lungo termine -trac#:#trac_lp_determination#:#Learning Progress Status Determination -trac#:#trac_lp_determination_info_crs#:#Select the items that determine the overall learning progress status of the course. +trac#:#trac_lp_determination#:#Determinazione dello stato di avanzamento dell'apprendimento +trac#:#trac_lp_determination_info_crs#:#Seleziona gli elementi che determinano lo stato generale di avanzamento dell'apprendimento del corso. trac#:#trac_lp_determination_info_crs_tutor#:#Questa selezione non è connessa allo stato di avanzamento dell'apprendimento. trac#:#trac_lp_determination_info_mob#:#Seleziona gli elementi che determinano lo stato generale di avanzamento dell'apprendimento del Mediacast trac#:#trac_lp_determination_info_sco#:#Selezionare gli elementi che determinano lo stato generale di avanzamento dell'apprendimento del modulo di apprendimento SCORM. trac#:#trac_lp_determination_tutor#:#Visualizzazione di oggetti in corso di apprendimento -trac#:#trac_lp_learner_access#:#View Own Learning Progress###29 07 2022 new variable +trac#:#trac_lp_learner_access#:#Guarda il tuo avanzamento dell'apprendimento trac#:#trac_lp_learner_access_info#:#Se attivo, gli utenti possono accedere al loro stato di progresso di apprendimento. -trac#:#trac_lp_list_gui#:#Desktop personale, Repository, Cerca +trac#:#trac_lp_list_gui#:#Desktop personale, Repository, Ricerca trac#:#trac_lp_list_gui_info#:#Se attivo, lo stato del progresso di apprendimento è incluso nelle liste degli oggetti. -trac#:#trac_lp_settings_info_parent_container#:#Learning Progress of Parent Objects +trac#:#trac_lp_settings_info_parent_container#:#Progressi di apprendimento degli oggetti padre trac#:#trac_lp_settings_info_parent_legend#:#Lo stato del progresso di apprendimento di questo oggetto è influenzato da "%s". -trac#:#trac_manual_display#:#Visualizzazione in corso di apprendimento -trac#:#trac_manual_is_displayed#:#Viene visualizzato -trac#:#trac_manual_no_display#:#Non visualizzare in corso di apprendimento -trac#:#trac_mark#:#Segno +trac#:#trac_manual_display#:#Mostra in progresso di apprendimento +trac#:#trac_manual_is_displayed#:#Determina il progresso di apprendimento +trac#:#trac_manual_no_display#:#Non mostrare in progresso di apprendimento +trac#:#trac_mark#:#Valutazione trac#:#trac_matrix#:#Visualizzazione matrice trac#:#trac_measure#:#Valore trac#:#trac_members_short#:#Membri trac#:#trac_min_passed#:#Numero minimo di materiali passati: -trac#:#trac_mode#:#Modalit& -trac#:#trac_mode_cmix_compl_or_passed_with_failed#:#Completed when verb 'completed' or 'passed' or 'satisfied' was sent. Verb 'failed' sets status of ILIAS to 'Failed'.###26 08 2024 new variable -trac#:#trac_mode_cmix_compl_or_passed_with_failed_info#:# ###26 08 2024 new variable -trac#:#trac_mode_cmix_compl_with_failed#:#Completed when verb 'completed' was sent. Verb 'failed' sets status of ILIAS to 'Failed'.###26 08 2024 new variable -trac#:#trac_mode_cmix_compl_with_failed_info#:# ###26 08 2024 new variable -trac#:#trac_mode_cmix_completed#:#Completed when verb 'completed' was sent. Verb 'failed' sets status of ILIAS to 'In Progress'.###26 08 2024 new variable -trac#:#trac_mode_cmix_completed_info#:# ###26 08 2024 new variable -trac#:#trac_mode_cmix_completed_or_passed#:#Completed when verb 'completed' or 'passed' or 'satisfied' was sent. Verb 'failed' sets status of ILIAS to 'In Progress'.###26 08 2024 new variable -trac#:#trac_mode_cmix_completed_or_passed_info#:# ###26 08 2024 new variable -trac#:#trac_mode_cmix_passed#:#Completed when verb 'passed' or 'satisfied' was sent. Verb 'failed' sets status of ILIAS to 'In Progress'.###26 08 2024 new variable -trac#:#trac_mode_cmix_passed_info#:# ###26 08 2024 new variable -trac#:#trac_mode_cmix_passed_with_failed#:#Completed when verb 'passed' or 'satisfied' was sent. Verb 'failed' sets status of ILIAS to 'Failed'.###26 08 2024 new variable -trac#:#trac_mode_cmix_passed_with_failed_info#:# ###26 08 2024 new variable -trac#:#trac_mode_collection#:#Collezione di oggetti -trac#:#trac_mode_collection_info#:#Define the materials that will determine the learning progress status. -trac#:#trac_mode_collection_manual#:#Manual by Learner (per Chapter) -trac#:#trac_mode_collection_manual_info#:#Users have to decide for each chapter whether their status is completed or not. -trac#:#trac_mode_collection_mobs#:#Raccolta oggetti multimediali -trac#:#trac_mode_collection_mobs_info#:#Lo stato del processo di apprendimento sarà determinato dallo stato di visualizzazione degli oggetti multimediali selezionati. -trac#:#trac_mode_collection_tlt#:#Typical Learning Time (per Chapter) -trac#:#trac_mode_collection_tlt_info#:#Users who reached the Typical Learning Time of all relevant chapters will gain the status 'Completed'. -trac#:#trac_mode_content_visited#:#Visited -trac#:#trac_mode_content_visited_info#:#Learning progress status is set to 'completed' when object has been presented to user. -trac#:#trac_mode_contribution_to_discussion#:#Contributions to Discussion###29 07 2022 new variable -trac#:#trac_mode_contribution_to_discussion_info#:#The learning progress status will be determined by the number of written postings.###29 07 2022 new variable -trac#:#trac_mode_course_reference#:#Adopted from Course###07 02 2020 new variable -trac#:#trac_mode_course_reference_info#:#The mode is automatically adopted from the course this course link points to.###07 02 2020 new variable -trac#:#trac_mode_deactivated#:#Deattivato -trac#:#trac_mode_deactivated_info_new#:#The learning progress status will not be displayed. -trac#:#trac_mode_event#:#Participation in Sessions -trac#:#trac_mode_event_info#:#The learning progress status will be determined by the participation status. -trac#:#trac_mode_exercise_returned#:#Exercise returned -trac#:#trac_mode_exercise_returned_info#:#The status 'Completed' can be set only by tutors. +trac#:#trac_mode#:#Modalità in progresso di apprendimento +trac#:#trac_mode_cmix_compl_or_passed_with_failed#:#Completato quando è stato inviato il verbo 'completato' o 'passato' o 'soddisfatto'. Il verbo 'Fallito' imposta lo stato di ILIAS su 'Fallito'. +trac#:#trac_mode_cmix_compl_or_passed_with_failed_info#:# ###31 03 2023 new variable +trac#:#trac_mode_cmix_compl_with_failed#:#Completato quando è stato inviato il verbo 'completato'. Il verbo 'Fallito' imposta lo stato di ILIAS su 'Fallito'. +trac#:#trac_mode_cmix_compl_with_failed_info#:# ###31 03 2023 new variable +trac#:#trac_mode_cmix_completed#:#Completato quando è stato inviato il verbo 'completato'. Il verbo "fallito" imposta lo stato di ILIAS su "In corso". +trac#:#trac_mode_cmix_completed_info#:# ###31 03 2023 new variable +trac#:#trac_mode_cmix_completed_or_passed#:#Completato quando è stato inviato il verbo 'completato' o 'passato' o 'soddisfatto'. Il verbo "fallito" imposta lo stato di ILIAS su "In corso". +trac#:#trac_mode_cmix_completed_or_passed_info#:# ###31 03 2023 new variable +trac#:#trac_mode_cmix_passed#:#Completato quando è stato inviato il verbo 'passato' o 'soddisfatto'. Il verbo "fallito" imposta lo stato di ILIAS su "In corso". +trac#:#trac_mode_cmix_passed_info#:# ###31 03 2023 new variable +trac#:#trac_mode_cmix_passed_with_failed#:#Completato quando è stato inviato il verbo 'passato' o 'soddisfatto'. Il verbo 'Failed' imposta lo stato di ILIAS su 'Failed'. +trac#:#trac_mode_cmix_passed_with_failed_info#:# ###31 03 2023 new variable +trac#:#trac_mode_collection#:#Lo stato è determinato sulla base di una selezione di oggetti +trac#:#trac_mode_collection_info#:#Lo stato dell'avanzamento dell'apprendimento dell'oggetto è determinato automaticamente dallo stato degli oggetti selezionati. Dopo aver salvato questa impostazione, gli oggetti desiderati possono essere selezionati in questa pagina. +trac#:#trac_mode_collection_manual#:#L'utente decide autonomamente sullo stato del progresso dell'apprendimento nel rispettivo capitolo. +trac#:#trac_mode_collection_manual_info#:#Gli utenti decidono da soli quando hanno lavorato con successo a un capitolo del modulo di apprendimento. Non appena hai finito di modificare un capitolo, imposta lo stato di questo capitolo su "Modificato" nella scheda "Informazioni". Dopo aver salvato queste impostazioni, è possibile selezionare i capitoli in questa pagina per il progresso dell'apprendimento. +trac#:#trac_mode_collection_mobs#:#Scelta tra gli oggetti multimediali +trac#:#trac_mode_collection_mobs_info#:#Lo stato del processo di apprendimento sarà determinato automaticamente dallo stato di visualizzazione degli oggetti multimediali selezionati. +trac#:#trac_mode_collection_tlt#:#Tempo di apprendimento tipico (per capitolo) +trac#:#trac_mode_collection_tlt_info#:#Lo stato di un utente viene impostato automaticamente in base al tempo che questo utente trascorre a lavorare su un capitolo. Lo stato di un capitolo su "elaborato" viene fornito se il "tempo di apprendimento tipico" di tutti i capitoli rilevanti per il progresso dell'apprendimento viene superato. Dopo aver salvato queste impostazioni, è possibile selezionare i capitoli in questa pagina e definire i "Tempi di apprendimento tipici". +trac#:#trac_mode_content_visited#:#Visitato +trac#:#trac_mode_content_visited_info#:#Lo stato di avanzamento dell'apprendimento è impostato su "completato" quando l'oggetto è stato presentato all'utente. +trac#:#trac_mode_contribution_to_discussion#:#Contributions to Discussion###31 03 2023 new variable +trac#:#trac_mode_contribution_to_discussion_info#:#The learning progress status will be determined by the number of written postings.###31 03 2023 new variable +trac#:#trac_mode_course_reference#:#Ripreso dal corso +trac#:#trac_mode_course_reference_info#:#La modalità viene adottata automaticamente dal percorso a cui punta questo collegamento al corso. +trac#:#trac_mode_deactivated#:#I progressi di apprendimento sono stati disattivati +trac#:#trac_mode_deactivated_info_new#:#Lo stato di avanzamento dell'apprendimento non verrà visualizzato. +trac#:#trac_mode_event#:#Partecipazione a sessioni +trac#:#trac_mode_event_info#:#Lo stato di avanzamento dell'apprendimento sarà determinato dallo stato di partecipazione. +trac#:#trac_mode_exercise_returned#:#Il tutor decide lo stato +trac#:#trac_mode_exercise_returned_info#:#Lo stato 'Completato' può essere impostato solo dai tutor. trac#:#trac_mode_individual_assessment#:#Classificato manualmente dal tutor o dal formatore trac#:#trac_mode_individual_assessment_info#:#La registrazione dell’utente deve essere finalizzata dal tutor al fine di completare l’assegnazione individuale. -trac#:#trac_mode_lti_outcome#:#Mastery Score Must be reached###07 02 2020 new variable -trac#:#trac_mode_lti_outcome_info#:#The Learning Progress will be evaluated from the LTI outcome and the mastery score threshold.###07 02 2020 new variable -trac#:#trac_mode_manual#:#Manuale -trac#:#trac_mode_manual_by_tutor#:#Manual by Tutor -trac#:#trac_mode_manual_by_tutor_info#:#The overall status can only be set by tutors. -trac#:#trac_mode_manual_info#:#Users have to decide whether their status is completed or not. +trac#:#trac_mode_lti_outcome#:#Il punteggio master deve essere raggiunto +trac#:#trac_mode_lti_outcome_info#:#Il Learning Progress sarà valutato in base al risultato LTI e alla soglia del punteggio di padronanza. +trac#:#trac_mode_manual#:#L'utente decide autonomamente lo stato del progresso di apprendimento per l'intero oggetto. +trac#:#trac_mode_manual_by_tutor#:#I tutor monitorano e impostano lo stato +trac#:#trac_mode_manual_by_tutor_info#:#Lo stato generale può essere impostato solo dai tutor. +trac#:#trac_mode_manual_info#:#Gli utenti devono decidere se il loro stato è completato o meno. trac#:#trac_mode_objectives#:#Obiettivi formativi -trac#:#trac_mode_objectives_info#:#The learning progress will be calculated automatically according to the number of passed learning objectives. +trac#:#trac_mode_objectives_info#:#Il progresso dell'apprendimento verrà calcolato automaticamente in base al numero di obiettivi di apprendimento superati. trac#:#trac_mode_plugin#:#Plug-in -trac#:#trac_mode_questions#:#Questions -trac#:#trac_mode_questions_info#:#Users who answered all questions correctly will gain the status 'Completed'. -trac#:#trac_mode_scorm#:#SCORM/AICC -trac#:#trac_mode_scorm_info#:#The learning progress status will be determined by the status of SCO's. -trac#:#trac_mode_scorm_package#:#Automatic by SCORM Course Status -trac#:#trac_mode_scorm_package_info#:#The learning progress status will be determined by the SCORM course package status directly. +trac#:#trac_mode_questions#:#E' stato risposto correttamente a tutte le domande +trac#:#trac_mode_questions_info#:#Gli utenti che hanno risposto correttamente a tutte le domande otterranno lo stato "Completato". +trac#:#trac_mode_scorm#:#Lo stato è determinato sulla base di una selezione di capitoli SCORM (per SCO) +trac#:#trac_mode_scorm_info#:#Lo stato del progresso di apprendimento dell'intero modulo di apprendimento è determinato automaticamente dallo stato dei capitoli selezionati (SCO). Dopo aver salvato questa impostazione, gli SCO desiderati possono essere selezionati in questa pagina. +trac#:#trac_mode_scorm_package#:#Lo stato è determinato dal pacchetto SCORM (intero modulo di apprendimento) +trac#:#trac_mode_scorm_package_info#:#Lo stato di un utente viene impostato automaticamente su "Completato" quando l'intero modulo di apprendimento è stato elaborato. Tutti gli SCO contenuti nel pacchetto vengono presi in considerazione nel processo di apprendimento. trac#:#trac_mode_study_programme#:#Programma di studio completato trac#:#trac_mode_survey_finished#:#Sondaggio terminato trac#:#trac_mode_survey_finished_info#:#Il sondaggio deve essere terminato da un utente per ricevere lo stato di 'Completato'. -trac#:#trac_mode_test_finished#:#Test completato -trac#:#trac_mode_test_finished_info#:#Users have to finish a test completely. -trac#:#trac_mode_test_passed#:#Test superato -trac#:#trac_mode_test_passed_info#:#The test has to be passed by an user to receive the status 'Completed'. -trac#:#trac_mode_tlt#:#Tempo tipico di apprendimento -trac#:#trac_mode_tlt_info#:#Users who reached the Typical Learning Time will gain the status 'Completed'. -trac#:#trac_mode_visited_pages#:#Visited Pages -trac#:#trac_mode_visited_pages_info#:#Users who visited all pages will gain the status ‘Completed’. -trac#:#trac_mode_visits#:#Numero di accessi -trac#:#trac_mode_visits_info#:#Define the number of visits that is required for completing this learning material. +trac#:#trac_mode_test_finished#:#Gli utenti devono completare completamente un test. +trac#:#trac_mode_test_finished_info#:#Lo stato di un utente viene impostato automaticamente su "Modificato" dopo che l'utente ha fatto clic su "Termina test". Non importa se l'utente ha superato o meno il test. +trac#:#trac_mode_test_passed#:#Gli utenti devono superare completamente un test. +trac#:#trac_mode_test_passed_info#:#Lo stato di un utente viene impostato automaticamente su "Modificato" dopo che l'utente ha superato il test. Nella scheda "Impostazioni", nella sezione "Schema di valutazione", è possibile impostare i valori di soglia per il superamento del test. +trac#:#trac_mode_tlt#:#Tempo di apprendimento minimo per l'intero modulo di apprendimento +trac#:#trac_mode_tlt_info#:#Lo stato di un utente viene impostato automaticamente in base al tempo che questo utente trascorre lavorando sul modulo di apprendimento. Lo stato "elaborato" viene assegnato non appena il "tempo di apprendimento tipico" è stato superato. Il "Tempo di apprendimento tipico" del modulo di apprendimento è specificato nella scheda "Metadati". +trac#:#trac_mode_visited_pages#:#Pagine visitate +trac#:#trac_mode_visited_pages_info#:#Gli utenti che hanno visitato tutte le pagine otterranno lo stato "Completato". +trac#:#trac_mode_visits#:#Lo stato viene determinato in base al numero di accessi +trac#:#trac_mode_visits_info#:#Lo stato di un utente viene impostato automaticamente su "Completato" se l'utente ha richiamato il modulo di apprendimento più spesso del numero minimo di chiamate richiesto. Gli utenti possono vedere il numero di chiamate effettuate e la percentuale che soddisfano i requisiti minimi. trac#:#trac_name_of_installation#:#Nome dell’installazione trac#:#trac_no_attempted#:#Non eseguito trac#:#trac_not_accessed#:#Non accceduto trac#:#trac_not_assigned#:#Non assegnato -trac#:#trac_not_attempted#:#Non eseguito +trac#:#trac_not_attempted#:#Non cominciato trac#:#trac_not_completed#:#Non completato trac#:#trac_not_participated#:#Non partecipato trac#:#trac_not_registered#:#Non registrato @@ -17331,28 +17338,28 @@ trac#:#trac_object_owner#:#Proprietario dell'oggetto trac#:#trac_object_stat_access#:#Intensità di utilizzo trac#:#trac_object_stat_admin#:#Gestisci dati trac#:#trac_object_stat_daily#:#Utilizzo giornaliero -trac#:#trac_object_stat_lp#:#Corso di statistica sui progressi di apprendimento +trac#:#trac_object_stat_lp#:#Corso di statistica dello stato di apprendimento trac#:#trac_object_stat_lp_max#:#Max. trac#:#trac_object_stat_lp_min#:#Min. -trac#:#trac_object_stat_types#:#Numero degli oggetto -trac#:#trac_object_statistics#:#Statistiche oggetti +trac#:#trac_object_stat_types#:#Numero degli oggetti +trac#:#trac_object_statistics#:#Statistiche dell'oggetto trac#:#trac_object_statistics_info#:#Se attivati, i dati di base per le statistiche di utilizzo saranno raccolti ed elaborati. trac#:#trac_objects#:#Liste di oggetti -trac#:#trac_others#:#Other +trac#:#trac_others#:#Altri trac#:#trac_participants#:#Mostra partecipanti trac#:#trac_participated#:#Partecipato -trac#:#trac_paths#:#Paths###29 07 2022 new variable +trac#:#trac_paths#:#Paths###31 03 2023 new variable trac#:#trac_percentage#:#Percentuale -trac#:#trac_periodic_system_load#:#Periodica +trac#:#trac_periodic_system_load#:#Visualizzazione periodica del carico trac#:#trac_progress#:#Progressi didattici personali -trac#:#trac_progress_block_title#:#Your Learning Progress###29 10 2025 new variable -trac#:#trac_read_count#:#Numero di accesso -trac#:#trac_read_count_spent_seconds#:#Tempo impiegato/Accesso +trac#:#trac_progress_block_title#:#Your Learning Progress###28 11 2025 new variable +trac#:#trac_read_count#:#Numero di accessi +trac#:#trac_read_count_spent_seconds#:#Tempo impiegato/Accessi trac#:#trac_reference#:#Riferimenti -trac#:#trac_reference_ids_column#:#Reference-Ids###29 07 2022 new variable -trac#:#trac_registered#:#Registrati -trac#:#trac_release_materials#:#Disintegrate Material Group -trac#:#trac_report_date#:#Data di segnalazione +trac#:#trac_reference_ids_column#:#Reference-Ids###31 03 2023 new variable +trac#:#trac_registered#:#Registrato +trac#:#trac_release_materials#:#Sciogliere il raggruppamento con materiali opzionali +trac#:#trac_report_date#:#Data della segnalazione trac#:#trac_report_owner#:#Titolare della segnalazione trac#:#trac_required_visits#:#Numero di accessi richiesto trac#:#trac_sahs_relevant_items#:#SCO @@ -17369,16 +17376,16 @@ trac#:#trac_session_statistics_mode_month#:#Mese trac#:#trac_session_statistics_mode_today#:#Oggi trac#:#trac_session_statistics_mode_week#:#Settimana trac#:#trac_session_statistics_mode_year#:#Anno -trac#:#trac_session_statistics_no_data#:#Non possono essere trovati dati per queste statistiche. -trac#:#trac_sessions_closed#:#Permessi +trac#:#trac_session_statistics_no_data#:#Non ci sono dati per queste statistiche. +trac#:#trac_sessions_closed#:#Uscite trac#:#trac_sessions_opened#:#Accessi trac#:#trac_settings#:#Impostazioni -trac#:#trac_settings_saved#:#Impostazioni salvate -trac#:#trac_short_system_load#:#A breve termine -trac#:#trac_show_graph#:#Mostra grafico -trac#:#trac_show_progress_block#:#Show Personal Progress Chart in ‘Content’-Tab###29 10 2025 new variable -trac#:#trac_show_repository_views#:#Changes in the repository -trac#:#trac_show_repository_views_info#:#Mostra le informazioni di tracking per gli oggetti del repository nella pagina informazioni. +trac#:#trac_settings_saved#:#Le impostazioni sono state salvate +trac#:#trac_short_system_load#:#Storia a breve termine +trac#:#trac_show_graph#:#Mostra come grafico +trac#:#trac_show_progress_block#:#Show Personal Progress Chart in ‘Content’-Tab###28 11 2025 new variable +trac#:#trac_show_repository_views#:#Mostra numero di accessi +trac#:#trac_show_repository_views_info#:#Mostra le informazioni di accesso per gli oggetti del repository nella pagina informazioni. trac#:#trac_spent_seconds#:#Tempo trascorso trac#:#trac_spent_time#:#Tempo trascorso trac#:#trac_status#:#Stato @@ -17386,16 +17393,16 @@ trac#:#trac_status_changed#:#Ultima modifica dello stato trac#:#trac_subitems#:#Mostra elementi secondari trac#:#trac_sum#:#Somma trac#:#trac_summary#:#Riepilogo -trac#:#trac_sure_delete_data#:#Are you sure you want to delete the complete data for the following months? +trac#:#trac_sure_delete_data#:#Vuoi davvero cancellare i dati per i mesi successivi? Ciò rimuove le seguenti statistiche per questo periodo: intensità di utilizzo, corso della giornata, statistiche sullo stato di apprendimento del corso e numero di oggetti. trac#:#trac_sync_obj_stats#:#Aggiorna dati trac#:#trac_sync_obj_stats_success#:#I dati sono stati aggiornati. trac#:#trac_sync_session_stats#:#Raggruppa dati trac#:#trac_sync_session_stats_success#:#I dati sono stati raggruppati con successo. -trac#:#trac_time_passed#:#Modifica del tempo superato +trac#:#trac_time_passed#:#Tempo di elaborazione superato trac#:#trac_title#:#Titolo trac#:#trac_title_description#:#Titolo/Descrizione trac#:#trac_total_online#:#Tempo totale di connessione -trac#:#trac_trash#:#sposta nel Cestino +trac#:#trac_trash#:#di cui nel cestino trac#:#trac_update_edit_user#:#Impostazioni salvate trac#:#trac_updated_status#:#Stato dei progressi didattici salvato trac#:#trac_user_data#:#Dati utente @@ -17405,108 +17412,108 @@ trac#:#trac_view_list#:#Torna alla lista trac#:#trac_view_mode#:#Visualizza modalità trac#:#trac_view_mode_all#:#Tutti gli oggetti trac#:#trac_view_mode_collection#:#Solo gli oggetti che determinano lo stato generale -trac#:#trac_visits#:#Numero delle visite -trac#:#trac_visits_info#:#Conta le pagine viste nello stesso accesso come una. +trac#:#trac_visits#:#Numero minimo di chiamate +trac#:#trac_visits_info#:#Una chiamata viene conteggiata come una nuova chiamata solo dopo %s secondi. trac#:#user_total#:#Totale utenti trac#:#view_mode#:#Visualizza modalità -trac#:#view_mode_all#:#All###29 10 2025 new variable -trac#:#view_mode_current#:#Current###29 10 2025 new variable -trac#:#view_mode_future#:#Future###29 10 2025 new variable -trac#:#view_mode_past#:#Past###29 10 2025 new variable -tstv#:#tstv_create#:#Create Test Verification -tstv#:#tstv_create_info#:#Select a completed test to generate a verification for it -ui#:#1stars#:#one of five stars###26 08 2024 new variable -ui#:#2stars#:#two of five stars###26 08 2024 new variable -ui#:#3stars#:#three of five stars###26 08 2024 new variable -ui#:#4stars#:#four of five stars###26 08 2024 new variable -ui#:#5stars#:#five of five stars###26 08 2024 new variable -ui#:#datatable_close_warning#:#OK###29 10 2025 new variable -ui#:#datatable_multiaction_label#:#Bulk Actions###26 08 2024 new variable -ui#:#datatable_multiactionmodal_actionlabel#:#Action for All Entries###26 08 2024 new variable -ui#:#datatable_multiactionmodal_apply#:#Apply###26 08 2024 new variable -ui#:#datatable_multiactionmodal_listentry#:#Actions for Entire Table###26 08 2024 new variable -ui#:#datatable_multiactionmodal_msg#:#Selected action will affect all entries in this table.###26 08 2024 new variable -ui#:#datatable_multiactionmodal_title#:#Actions for Entire Table###26 08 2024 new variable -ui#:#drilldown_no_items#:#No Matching Elements###26 08 2024 new variable -ui#:#duration_default_label_end#:#end###29 07 2022 new variable -ui#:#duration_default_label_start#:#start###29 07 2022 new variable -ui#:#duration_end_must_not_be_earlier_than_start#:#Start must not be later than end.###29 07 2022 new variable -ui#:#filter_nodes_in#:#Filter Nodes in %s###26 08 2024 new variable -ui#:#footer_icons#:#Footer Icons###28 10 2024 new variable -ui#:#footer_link_groups#:#Footer Link-Groups###28 10 2024 new variable -ui#:#footer_links#:#Footer Links###28 10 2024 new variable -ui#:#footer_permanent_link#:#Footer Permanent Link###28 10 2024 new variable -ui#:#footer_texts#:#Footer Texts###28 10 2024 new variable -ui#:#image_alt_text#:#Alternate Text###29 10 2025 new variable -ui#:#image_purpose_decorative#:#Decorative Image###29 10 2025 new variable -ui#:#image_purpose_informative#:#Informative Image###29 10 2025 new variable -ui#:#image_purpose_user_defined#:#Image Purpose###29 10 2025 new variable -ui#:#label_fieldselection#:#Field Selection###26 08 2024 new variable -ui#:#label_fieldselection_refresh#:#Apply###26 08 2024 new variable -ui#:#label_modeviewcontrol#:#view mode###29 10 2025 new variable -ui#:#label_pagination_limit#:#Pagination Number of Rows###26 08 2024 new variable -ui#:#label_pagination_offset#:#Pagination Offset###26 08 2024 new variable -ui#:#label_sortation#:#Sortation###26 08 2024 new variable -ui#:#order_option_alphabetical_ascending#:#A to Z###26 08 2024 new variable -ui#:#order_option_alphabetical_descending#:#Z to A###26 08 2024 new variable -ui#:#order_option_chronological_ascending#:#Earliest first###26 08 2024 new variable -ui#:#order_option_chronological_descending#:#Most Recent first###26 08 2024 new variable -ui#:#order_option_first#:#first###26 08 2024 new variable -ui#:#order_option_generic_ascending#:#ascending###26 08 2024 new variable -ui#:#order_option_generic_descending#:#descending###26 08 2024 new variable -ui#:#order_option_numerical_ascending#:#0 to 9###26 08 2024 new variable -ui#:#order_option_numerical_descending#:#9 to 0###26 08 2024 new variable -ui#:#presentation_table_collapse#:#collapse all###26 08 2024 new variable -ui#:#presentation_table_expand#:#expand all###26 08 2024 new variable -ui#:#rating_average#:#others rated %s of 5###26 08 2024 new variable -ui#:#reset_stars#:#neutral###26 08 2024 new variable -ui#:#select_node#:#Add node %s to selection###29 10 2025 new variable -ui#:#table_posinput_col_title#:#Position###26 08 2024 new variable -ui#:#ui_chars_max#:#Maximum: -ui#:#ui_chars_min#:#Minimum: -ui#:#ui_chars_remaining#:#Characters remaining: -ui#:#ui_error#:#Error###28 10 2024 new variable -ui#:#ui_error_in_group#:#There is some error in this part.###29 07 2022 new variable -ui#:#ui_error_switchable_group_required#:#Please select an option.###29 07 2022 new variable -ui#:#ui_field_option_filter_clear_search#:#Clear search###29 10 2025 new variable -ui#:#ui_field_option_filter_filtered_results_aria_label#:#List of options - collapsible and filterable###29 10 2025 new variable -ui#:#ui_field_option_filter_no_match#:#There was no match for the search term you entered.###29 10 2025 new variable -ui#:#ui_field_option_filter_no_selection#:#Nothing selected.###29 10 2025 new variable -ui#:#ui_field_option_filter_options_shown#:#Currently showing %s options.###29 10 2025 new variable -ui#:#ui_field_option_filter_screen_reader_hint#:#Start typing and the field options below will be filtered accordingly.###29 10 2025 new variable -ui#:#ui_field_option_filter_search_in#:#Find###29 10 2025 new variable -ui#:#ui_field_option_filter_show_all_options#:#Show all options###29 10 2025 new variable -ui#:#ui_field_option_filter_show_less#:#Show less###29 10 2025 new variable -ui#:#ui_file_input_general_error#:#An error occurred! You can check the JavaScript console of your browser for more information and/or contact your ILIAS system administration about this incident.###29 07 2022 new variable -ui#:#ui_file_input_invalid_amount#:#You cannot upload this many files, please remove some in order to continue.###29 07 2022 new variable -ui#:#ui_file_input_invalid_mime#:#Files of type '%s' are not allowed###29 07 2022 new variable -ui#:#ui_file_input_invalid_size#:#File exceeds the maximum size of %s.###29 07 2022 new variable -ui#:#ui_file_upload_max_nr#:#Max Number of Files:###26 08 2024 new variable -ui#:#ui_invalid_url#:#Invalid URL-format###29 07 2022 new variable -ui#:#ui_link_label#:#Label###29 07 2022 new variable -ui#:#ui_link_url#:#URL###29 07 2022 new variable -ui#:#ui_md_input_edit#:#Edit###26 08 2024 new variable -ui#:#ui_md_input_view#:#View###26 08 2024 new variable -ui#:#ui_nav_sequence_control_label#:#Sequence control for contents below###29 10 2025 new variable -ui#:#ui_nav_sequence_description#:#Used to navigate through this content or trigger actions and filters on the entire sequence.###29 10 2025 new variable -ui#:#ui_pagination_unlimited#:#Unlimited###26 08 2024 new variable -ui#:#ui_select_dropdown_label#:#Please select###26 08 2024 new variable -ui#:#ui_table_no_records#:#No records###26 08 2024 new variable -ui#:#ui_table_order#:#Order###29 10 2025 new variable -ui#:#ui_transcription#:#Transcript###29 07 2022 new variable -ui#:#unselect_node#:#Remove node %s from selection###29 10 2025 new variable -ui#:#vc_sort#:#Sort by:###29 10 2025 new variable -ui#:#warning_url_too_long_msg#:#The amount of selected rows will result in a very large URL; the Server will probably block this request.
Please select less rows or perform the action on all entries.###29 10 2025 new variable -user#:#activate_in_profile_fields#:#To change this setting, the user must first be allowed to change their login name under Profile > Profile Fields###29 10 2025 new variable -user#:#administrative_settings#:#Administrative Settings###29 10 2025 new variable +trac#:#view_mode_all#:#All###28 11 2025 new variable +trac#:#view_mode_current#:#Current###28 11 2025 new variable +trac#:#view_mode_future#:#Future###28 11 2025 new variable +trac#:#view_mode_past#:#Past###28 11 2025 new variable +tstv#:#tstv_create#:#Crea certificato del test +tstv#:#tstv_create_info#:#Scegli un test per il quale hai bisogno di un certificato +ui#:#1stars#:#one of five stars###28 11 2025 new variable +ui#:#2stars#:#two of five stars###28 11 2025 new variable +ui#:#3stars#:#three of five stars###28 11 2025 new variable +ui#:#4stars#:#four of five stars###28 11 2025 new variable +ui#:#5stars#:#five of five stars###28 11 2025 new variable +ui#:#datatable_close_warning#:#OK###28 11 2025 new variable +ui#:#datatable_multiaction_label#:#Bulk Actions###30 04 2024 new variable +ui#:#datatable_multiactionmodal_actionlabel#:#operation###30 04 2024 new variable +ui#:#datatable_multiactionmodal_apply#:#Apply###18 06 2024 new variable +ui#:#datatable_multiactionmodal_listentry#:#apply to all objects###30 04 2024 new variable +ui#:#datatable_multiactionmodal_msg#:#Caution! multiple objects affected.###30 04 2024 new variable +ui#:#datatable_multiactionmodal_title#:#Operation on multiple objects###30 04 2024 new variable +ui#:#drilldown_no_items#:#No Matching Elements###28 11 2025 new variable +ui#:#duration_default_label_end#:#end###31 03 2023 new variable +ui#:#duration_default_label_start#:#start###31 03 2023 new variable +ui#:#duration_end_must_not_be_earlier_than_start#:#Start must not be later than end.###09 03 2022 new variable +ui#:#filter_nodes_in#:#Filter Nodes in %s###28 11 2025 new variable +ui#:#footer_icons#:#Footer Icons###28 11 2025 new variable +ui#:#footer_link_groups#:#Footer Link-Groups###28 11 2025 new variable +ui#:#footer_links#:#Footer Links###28 11 2025 new variable +ui#:#footer_permanent_link#:#Footer Permanent Link###28 11 2025 new variable +ui#:#footer_texts#:#Footer Texts###28 11 2025 new variable +ui#:#image_alt_text#:#Alternate Text###28 11 2025 new variable +ui#:#image_purpose_decorative#:#Decorative Image###28 11 2025 new variable +ui#:#image_purpose_informative#:#Informative Image###28 11 2025 new variable +ui#:#image_purpose_user_defined#:#Image Purpose###28 11 2025 new variable +ui#:#label_fieldselection#:#Field Selection###30 04 2024 new variable +ui#:#label_fieldselection_refresh#:#Apply###30 04 2024 new variable +ui#:#label_modeviewcontrol#:#view mode###28 11 2025 new variable +ui#:#label_pagination_limit#:#Pagination Number of Rows###30 04 2024 new variable +ui#:#label_pagination_offset#:#Pagination Offset###30 04 2024 new variable +ui#:#label_sortation#:#Sortation###30 04 2024 new variable +ui#:#order_option_alphabetical_ascending#:#A to Z###30 04 2024 new variable +ui#:#order_option_alphabetical_descending#:#Z to A###30 04 2024 new variable +ui#:#order_option_chronological_ascending#:#Earliest first###30 04 2024 new variable +ui#:#order_option_chronological_descending#:#Most Recent first###30 04 2024 new variable +ui#:#order_option_first#:#first###30 04 2024 new variable +ui#:#order_option_generic_ascending#:#ascending###30 04 2024 new variable +ui#:#order_option_generic_descending#:#descending###30 04 2024 new variable +ui#:#order_option_numerical_ascending#:#0 to 9###30 04 2024 new variable +ui#:#order_option_numerical_descending#:#9 to 0###30 04 2024 new variable +ui#:#presentation_table_collapse#:#collapse all###30 04 2024 new variable +ui#:#presentation_table_expand#:#expand all###30 04 2024 new variable +ui#:#rating_average#:#Others rated %s of 5###28 11 2025 new variable +ui#:#reset_stars#:#neutral###28 11 2025 new variable +ui#:#select_node#:#Add node %s to selection###28 11 2025 new variable +ui#:#table_posinput_col_title#:#Position###01 04 2025 new variable +ui#:#ui_chars_max#:#Massimo: +ui#:#ui_chars_min#:#Minimo: +ui#:#ui_chars_remaining#:#Caratteri rimanenti: +ui#:#ui_error#:#Error###28 11 2025 new variable +ui#:#ui_error_in_group#:#C'è un errore in questa parte. +ui#:#ui_error_switchable_group_required#:#Please select an option.###31 03 2023 new variable +ui#:#ui_field_option_filter_clear_search#:#Clear search###28 11 2025 new variable +ui#:#ui_field_option_filter_filtered_results_aria_label#:#List of options - collapsible and filterable###28 11 2025 new variable +ui#:#ui_field_option_filter_no_match#:#There was no match for the search term you entered.###28 11 2025 new variable +ui#:#ui_field_option_filter_no_selection#:#Nothing selected.###28 11 2025 new variable +ui#:#ui_field_option_filter_options_shown#:#Currently showing %s options.###28 11 2025 new variable +ui#:#ui_field_option_filter_screen_reader_hint#:#Start typing and the field options below will be filtered accordingly.###28 11 2025 new variable +ui#:#ui_field_option_filter_search_in#:#Find###28 11 2025 new variable +ui#:#ui_field_option_filter_show_all_options#:#Show all options###28 11 2025 new variable +ui#:#ui_field_option_filter_show_less#:#Show less###28 11 2025 new variable +ui#:#ui_file_input_general_error#:#An error occurred! You can check the JavaScript console of your browser for more information and/or contact your ILIAS system administration about this incident.###31 03 2023 new variable +ui#:#ui_file_input_invalid_amount#:#You cannot upload this many files, please remove some in order to continue.###31 03 2023 new variable +ui#:#ui_file_input_invalid_mime#:#Files of type '%s' are not allowed###31 03 2023 new variable +ui#:#ui_file_input_invalid_size#:#File exceeds the maximum size of %s MiB.###31 08 2022 new variable +ui#:#ui_file_upload_max_nr#:#Max Number of Files:###28 11 2025 new variable +ui#:#ui_invalid_url#:#Invalid URL-format###31 03 2023 new variable +ui#:#ui_link_label#:#Label###31 03 2023 new variable +ui#:#ui_link_url#:#URL###31 03 2023 new variable +ui#:#ui_md_input_edit#:#Edit###30 04 2024 new variable +ui#:#ui_md_input_view#:#View###30 04 2024 new variable +ui#:#ui_nav_sequence_control_label#:#Sequence control for contents below###28 11 2025 new variable +ui#:#ui_nav_sequence_description#:#Used to navigate through this content or trigger actions and filters on the entire sequence.###28 11 2025 new variable +ui#:#ui_pagination_unlimited#:#Unlimited###30 04 2024 new variable +ui#:#ui_select_dropdown_label#:#Please select###30 04 2024 new variable +ui#:#ui_table_no_records#:#No records###30 04 2024 new variable +ui#:#ui_table_order#:#Order###28 11 2025 new variable +ui#:#ui_transcription#:#Transcript###31 03 2023 new variable +ui#:#unselect_node#:#Remove node %s from selection###28 11 2025 new variable +ui#:#vc_sort#:#Sort by:###28 11 2025 new variable +ui#:#warning_url_too_long_msg#:#The amount of selected rows will result in a very large URL; the Server will probably block this request.
Please select less rows or perform the action on all entries.###28 11 2025 new variable +user#:#activate_in_profile_fields#:#To change this setting, the user must first be allowed to change their login name under Profile > Profile Fields###28 11 2025 new variable +user#:#administrative_settings#:#Administrative Settings###28 11 2025 new variable user#:#all_roles_has_starting_point#:#Tutti i ruoli hanno dei punti di inizio user#:#back_to_starting_points_list#:#Torna ai punti di inizio -user#:#change_email_email_confirmation_body#:#The email address for the account %s was changed. To confirm this change, please click on this link %s. The link is valid for %s minutes.###28 10 2024 new variable -user#:#change_email_email_confirmation_subject#:#Confirm Email Address###28 10 2024 new variable -user#:#change_email_email_information_body#:#The process to change the email address for the account %s to %s was started. An email with a link to confirm the change was sent to the new address. The link is valid for %s minutes.###28 10 2024 new variable -user#:#change_email_email_information_subject#:#Information about Change of Email Address###28 10 2024 new variable -user#:#change_email_email_sent#:#An email with a link to confirm your change has been sent. Please check your inbox and make sure to also look in the spam-folder if the email doesn't arrive within the next minutes.###28 10 2024 new variable -user#:#change_email_info_message#:#There is a pending request to change the email address for this account.###28 10 2024 new variable +user#:#change_email_email_confirmation_body#:#The email address for the account %s was changed. To confirm this change, please click on this link %s. The link is valid for %s minutes.###28 11 2025 new variable +user#:#change_email_email_confirmation_subject#:#Confirm Email Address###28 11 2025 new variable +user#:#change_email_email_information_body#:#The process to change the email address for the account %s to %s was started. An email with a link to confirm the change was sent to the new address. The link is valid for %s minutes.###28 11 2025 new variable +user#:#change_email_email_information_subject#:#Information about Change of Email Address###28 11 2025 new variable +user#:#change_email_email_sent#:#An email with a link to confirm your change has been sent. Please check your inbox and make sure to also look in the spam-folder if the email doesn't arrive within the next minutes.###28 11 2025 new variable +user#:#change_email_info_message#:#There is a pending request to change the email address for this account.###28 11 2025 new variable user#:#clipboard_add_btn#:#Aggiungi agli Appunti user#:#clipboard_add_from_btn#:#Aggiungi da Appunti user#:#clipboard_empty_btn#:#Svuota Appunti @@ -17514,55 +17521,55 @@ user#:#clipboard_remove_btn#:#Rimuovi da Appunti user#:#clipboard_table_title#:#Appunti (account utente) user#:#clipboard_user_added#:#Aggiunti gli utenti selezionati agli Appunti. user#:#confirm_delete_starting_point#:#Sei sicuro di voler eliminare questa regola? -user#:#confirm_logout_for_email_change#:#You changed your email. To finalize this change, you will need to provide your password. The system is thus going to log you out and you will have 5 minutes to log in again. All other changes will be saved before logging you out.###26 08 2024 new variable -user#:#confirm_logout_for_email_change_with_confirmation#:#Additionally, a confirmation that you control the new email address will be required. After you have logged in again, an email will be sent to you. Please click on the link in the email to confirm that you contoll the address. The change of the email address will only take effect once this second step is also finalized.###28 10 2024 new variable +user#:#confirm_logout_for_email_change#:#You changed your email. To finalize this change, you will need to provide your password. The system is thus going to log you out and you will have 5 minutes to log in again. All other changes will be saved before logging you out.###23 10 2023 new variable +user#:#confirm_logout_for_email_change_with_confirmation#:#Additionally, a confirmation that you control the new email address will be required. After you have logged in again, an email will be sent to you. Please click on the link in the email to confirm that you contoll the address. The change of the email address will only take effect once this second step is also finalized.###28 11 2025 new variable user#:#create_starting_point#:#Crea ruolo user#:#criteria#:#Criteri -user#:#del_mail_body#:#Hello %1$s, %2$s you haven't logged in for a long period of time, on %3$s. So your account will be deleted in %4$s days. You have to login again to prevent the deletion of your account. -user#:#del_mail_subject#:#(ILIAS) - Il tuo account verrà eliminato +user#:#del_mail_body#:#Ciao %1$s, %2$s non hai effettuato l'accesso per un lungo periodo di tempo, su %3$s. Quindi il tuo account verrà eliminato tra %4$ s giorni. Devi accedere di nuovo per impedire la cancellazione del tuo account. +user#:#del_mail_subject#:#[ILIAS] - Il tuo account verrà eliminato user#:#delete_inactive_user_accounts_frequency#:#Frequenza -user#:#delete_inactive_user_accounts_frequency_desc#:#Frequency, in which the deletion and email distibution will be tested. -user#:#edit_field#:#Edit Field###29 10 2025 new variable -user#:#edit_setting#:#Edit Setting###29 10 2025 new variable +user#:#delete_inactive_user_accounts_frequency_desc#:#Frequenza, in cui verranno testati la cancellazione e la distribuzione della posta elettronica. +user#:#edit_field#:#Edit Field###28 11 2025 new variable +user#:#edit_setting#:#Edit Setting###28 11 2025 new variable user#:#editing_this_role#:#Ruolo -user#:#email_could_not_be_changed#:#The request to change your email could not be finalized.###26 08 2024 new variable +user#:#email_could_not_be_changed#:#The request to change your email could not be finalized.###23 10 2023 new variable user#:#enable_local_user_administration#:#Abilita l'amministrazione di utenti locali user#:#enable_local_user_administration_info#:#Se abilitato, gli account degli utenti locali possono essere categorizzati. -user#:#feedhash#:#Newsfeedhash -user#:#field_type_custom#:#Custom###29 10 2025 new variable +user#:#feedhash#:#News feed hash +user#:#field_type_custom#:#Custom###28 11 2025 new variable user#:#has_role#:#Ruolo -user#:#info_accessFree_sure#:#Are you sure you want to remove the valid until date from the following accounts?###26 08 2024 new variable -user#:#inform_user_mail_info#:#If activated, an email will be sent to the user. Its content can be defined in Administration > User Management > Settings > New Account Mail. +user#:#info_accessFree_sure#:#Are you sure you want to remove the valid until date from the following accounts?###30 07 2024 new variable +user#:#inform_user_mail_info#:#Se attivato, verrà inviata un'email all'utente. Il suo contenuto può essere definito in Amministrazione> Gestione utenti> Impostazioni> Nuova posta account. user#:#interests#:#Interessi user#:#interests_general#:#Interessi generali user#:#interests_help_looking#:#Cercare aiuto user#:#interests_help_offered#:#Offrire aiuto -user#:#ldoc_accepted_content#:#Accepted Content###26 08 2024 new variable -user#:#ldoc_not_accepted_yet#:#Not accepted yet###26 08 2024 new variable -user#:#msg_spoint_not_modified#:#Starting point not modified###07 02 2020 new variable -user#:#no_deactivate_yourself#:#You cannot deactivate your own user account.###26 08 2024 new variable -user#:#obj_ref_id_not_exist#:#The entered Reference-Id does not exist###07 02 2020 new variable -user#:#personalise_additional#:#Personalise Additional Settings###29 10 2025 new variable -user#:#personalise_communication#:#Personalise Communication Settings###29 10 2025 new variable -user#:#personalise_privacy#:#Personalise Privacy Settings###29 10 2025 new variable -user#:#profile_fields#:#Profile Fields###29 10 2025 new variable -user#:#profile_section#:#Section###29 10 2025 new variable +user#:#ldoc_accepted_content#:#Accepted Content###30 04 2024 new variable +user#:#ldoc_not_accepted_yet#:#Not accepted yet###30 04 2024 new variable +user#:#msg_spoint_not_modified#:#Punto di partenza non modificato +user#:#no_deactivate_yourself#:#You cannot deactivate your own user account.###28 07 2023 new variable +user#:#obj_ref_id_not_exist#:#L'ID di riferimento inserito non esiste +user#:#personalise_additional#:#Personalise Additional Settings###28 11 2025 new variable +user#:#personalise_communication#:#Personalise Communication Settings###28 11 2025 new variable +user#:#personalise_privacy#:#Personalise Privacy Settings###28 11 2025 new variable +user#:#profile_fields#:#Profile Fields###28 11 2025 new variable +user#:#profile_section#:#Section###28 11 2025 new variable user#:#restrict_user_access#:#Accesso Ristretto agli Account Utenti user#:#restrict_user_access_info#:#Se abilitato, l'accesso agli utenti è ristretto. L'accesso dipende dal "Permesso di Lettura agli utenti locali" in "Account Utente" e "Categorie". user#:#roles_without_starting_point#:#Ruoli senza un punto di inizio definito: user#:#save_order#:#Salva ordine user#:#send_mail_reminder_window_too_small#:#L’impostazione di frequenza è troppo grande per questo valore di promemoria. -user#:#send_mail_to_inactive_users#:#Earliest date in days for sending a reminder mail -user#:#send_mail_to_inactive_users_desc#:#A reminder mail will be send to user's e-mail address to warn about an upcoming account deletion. -user#:#send_mail_to_inactive_users_must_be_smaller_than#:#This value must be smaller than the value 'Days passed since last login'. +user#:#send_mail_to_inactive_users#:#Mail di avviso +user#:#send_mail_to_inactive_users_desc#:#Se impostato, un messaggio di avviso verrà inviato all'utente prima che il suo account venga eliminato a causa di inattività. Assicurati che sia possibile inviare mail esterne. All'attivazione con posta promemoria, può accadere che il lasso di tempo tra la posta promemoria e cancellazione sia inferiore al periodo di tempo configurato. +user#:#send_mail_to_inactive_users_must_be_smaller_than#:#Questo valore deve essere inferiore al valore "Giorni trascorsi dall'ultimo accesso". user#:#send_mail_to_inactive_users_numbers_only#:#Vengono accettati solo numeri non decimali positivi. user#:#send_mail_to_inactive_users_suffix#:#Giorni precedenti alla cancellazione. -user#:#show_own_online_status#:#Show My Online Status###07 02 2020 new variable -user#:#starting_page#:#Punto di inizio +user#:#show_own_online_status#:#Mostra il mio stato in linea +user#:#starting_page#:#Pagina di inizio user#:#starting_point#:#Punto di inizio user#:#starting_point_settings#:#Impostazione punto di inizio user#:#starting_points#:#Punti di inizio -user#:#udf_select_options#:#Options###29 10 2025 new variable +user#:#udf_select_options#:#Options###28 11 2025 new variable user#:#user_access_limited#:#Limitato user#:#user_access_unlimited#:#Illimitato user#:#user_account_code#:#Codice @@ -17580,33 +17587,33 @@ user#:#user_account_codes_add#:#Aggiungi codici user#:#user_account_codes_edit_header#:#Aggiungi codici user#:#user_account_codes_export#:#Esporta codici user#:#user_account_codes_number#:#Numero dei codici -user#:#user_account_deleted_confirmation#:#Your account has been deleted. An email containing detailed information has been sent to you. +user#:#user_account_deleted_confirmation#:#Il tuo account è stato cancellato Ti è stata inviata un'e-mail con informazioni dettagliate. user#:#user_activate_public_profile#:#Attiva un profilo pubblico user#:#user_activate_public_profile_info#:#Attivazione globale del tuo profilo utente. Se attivato il tuo nome e cognome sarà visibile agli altri utenti. user#:#user_activation#:#Attivazione -user#:#user_admin_options#:#Options###29 10 2025 new variable +user#:#user_admin_options#:#Options###28 11 2025 new variable user#:#user_all#:#Tutti user#:#user_allow_delete_own_account#:#Consente agli utenti di eliminare il proprio account user#:#user_any#:#Qualsiasi user#:#user_awrn_all_users#:#Tutti gli utenti -user#:#user_awrn_all_users_info#:#All users of the platform are listed. -user#:#user_check_profile_data#:#Check profile data###07 02 2020 new variable +user#:#user_awrn_all_users_info#:#Tutti gli utenti della piattaforma sono elencati. Si prega di notare che l'impostazione "Online e Offline" può ridurre notevolmente le prestazioni su installazioni con un numero elevato di utenti. +user#:#user_check_profile_data#:#Controlla i dati del profilo user#:#user_chooses_starting_page#:#L’utente sceglie il punto di inizio user#:#user_delete_own_account#:#Elimina account user#:#user_delete_own_account_aborted#:#Eliminazione interrotta, l'account non è stato modificato. -user#:#user_delete_own_account_email_body#:#Your user account "%s" has been deleted from %s. +user#:#user_delete_own_account_email_body#:#Il tuo account utente "%s" è stato eliminato da %s. user#:#user_delete_own_account_email_subject#:#Account utente eliminato user#:#user_delete_own_account_final_confirmation#:#Si prega di confermare l’ultima volta per rimuovere l’account utente da ILIAS! user#:#user_delete_own_account_info#:#Qui è possibile eliminare l’attuale account. Tieni a mente che la cancellazione del tuo account è irreversibile! user#:#user_delete_own_account_logout_button#:#Procedi con l’autenticazione user#:#user_delete_own_account_logout_confirmation#:#Il tuo account è stato contrassegnato per l'eliminazione. Si prega di autenticare per continuare il processo. -user#:#user_delete_own_account_notification_email#:#Notification Email +user#:#user_delete_own_account_notification_email#:#Email di notifica user#:#user_field#:#Campo user#:#user_global_role#:#Ruolo Globale user#:#user_last_login_before#:#Ultimo login user#:#user_limited_access#:#Accesso Limitato -user#:#user_local_role#:#Local Role###29 07 2022 new variable -user#:#user_lv_do_not_store#:#Never remeber last visited +user#:#user_local_role#:#Local Role###31 03 2023 new variable +user#:#user_lv_do_not_store#:#Non ricordare mai l'ultima visita user#:#user_lv_keep_entries#:#Ricorda ultima visita user#:#user_lv_keep_only_for_session#:#Ricorda solo durante la sessione attuale user#:#user_make_profile_public#:#Pubblica profilo @@ -17618,39 +17625,39 @@ user#:#user_ownership#:#Oggetti repository user#:#user_please_select_course_group#:#Per favore seleziona un corso o un gruppo user#:#user_portfolios#:#Portfolio user#:#user_portfolios_desc#:#Gli utenti possono creare un portfolio e utilizzarlo come profilo. -user#:#user_privacy_checklist#:#Privacy Checklist###07 02 2020 new variable -user#:#user_profile_data#:#Profile Data###07 02 2020 new variable -user#:#user_profile_data_checked#:#Profile data checked###07 02 2020 new variable -user#:#user_profile_info#:#Informazione profilo utente -user#:#user_profile_info_std#:#Default User Profile Info###07 02 2020 new variable +user#:#user_privacy_checklist#:#Lista di controllo sulla privacy +user#:#user_profile_data#:#Dati del Profilo +user#:#user_profile_data_checked#:#Dati del profilo controllati +user#:#user_profile_info#:#Informazioni Utente +user#:#user_profile_info_std#:#Informazioni Utente Default user#:#user_profile_info_text_info#:#Questo testo è presentato in cima al modulo per l'inserimento dei dati personali. -user#:#user_profile_portfolio#:#You can use a portfolio as public profile. -user#:#user_profile_portfolio_selected#:#You are currently using a portfolio as your profile. +user#:#user_profile_portfolio#:#Se vuoi utilizzare un portfolio come profilo, vai nella sezione "Portfolio" e seleziona "Mio profilo" per quel portfolio. +user#:#user_profile_portfolio_selected#:#Attualmente stai utilizzando un portfolio come profilo. user#:#user_profile_preview#:#Anteprima -user#:#user_profile_prompt_text#:#Prompt Text###28 10 2024 new variable -user#:#user_profile_prompt_text_info#:#This text will replace the default info text, if a user has been prompted to the profile. -user#:#user_prompt_incomplete#:#Only if profile is incomplete -user#:#user_prompt_incomplete_info#:#If the user has to enter required fields, the profile will be shown after login. -user#:#user_prompt_once_after_login#:#Once after specific number of days after first login -user#:#user_prompt_once_after_login_info#:#After this period the user will be prompted with the profile, if the user did not publish the profile yet. -user#:#user_prompt_repeat#:#Repeat every specific number of days -user#:#user_prompt_repeat_info#:#The user will be prompted periodically with the profile, if the user did not publish the profile yet. -user#:#user_prompting_recurrence#:#Prompting Recurrence -user#:#user_prompting_settings#:#Prompting Settings +user#:#user_profile_prompt_text#:#Prompt Text###28 11 2025 new variable +user#:#user_profile_prompt_text_info#:#Questo testo sostituirà il testo informativo predefinito, se al profilo è stato richiesto un utente. +user#:#user_prompt_incomplete#:#Solo se il profilo è incompleto +user#:#user_prompt_incomplete_info#:#Se l'utente deve inserire i campi richiesti, il profilo verrà mostrato dopo il login. +user#:#user_prompt_once_after_login#:#Una volta dopo il numero specifico di giorni dopo il primo accesso +user#:#user_prompt_once_after_login_info#:#Dopo questo periodo verrà richiesto all'utente con il profilo, se l'utente non ha ancora pubblicato il profilo. +user#:#user_prompt_repeat#:#Ripeti ogni numero specifico di giorni +user#:#user_prompt_repeat_info#:#All'utente verrà richiesto periodicamente il profilo, se l'utente non ha ancora pubblicato il profilo. +user#:#user_prompting_recurrence#:#Richiesta di ricorrenza +user#:#user_prompting_settings#:#Impostazioni di richiesta user#:#user_public_profile_info#:#Seleziona quali dati personali saranno visibili agli altri utenti. -user#:#user_publish_options#:#Publish Profile###07 02 2020 new variable -user#:#user_role_selection#:#Role Selection###26 08 2024 new variable +user#:#user_publish_options#:#Pubblica Profilo +user#:#user_role_selection#:#Role Selection###28 11 2023 new variable user#:#user_role_starting_point#:#Utente - Punto di inizio -user#:#user_save_continue#:#Save and Continue###07 02 2020 new variable +user#:#user_save_continue#:#Salva e Continua user#:#user_save_ordering_and_titles#:#Salva ordine e titoli user#:#user_select_course_group#:#Seleziona Corso/Gruppo -user#:#user_set_publishing_options#:#Set publishing options###07 02 2020 new variable -user#:#user_set_visibilty_options#:#Set visibility options###07 02 2020 new variable -user#:#user_settings#:#User Settings###29 10 2025 new variable +user#:#user_set_publishing_options#:#Imposta le opzioni di pubblicazione +user#:#user_set_visibilty_options#:#Imposta le opzioni di visibilità +user#:#user_settings#:#User Settings###28 11 2025 new variable user#:#user_store_last_visited#:#Ultima visita -user#:#user_visibility_settings#:#Visibility###07 02 2020 new variable +user#:#user_visibility_settings#:#Visibilità user#:#user_visible_in_profile#:#Visibile nel Profilo -user#:#usr_id#:#System ID +user#:#usr_id#:#ID Utente user#:#usr_letter_avatars#:#Lettera avatar user#:#usr_letter_avatars_info#:#Mostra l'iniziale del nome utente o l'accesso come immagine del profilo, se non viene fornita alcuna immagine pubblica. user#:#usr_public_profile_disabled#:#Profilo Pubblico disabilitato @@ -17660,137 +17667,137 @@ user#:#usr_public_profile_logged_in#:#Utenti connessi usr#:#user_action#:#Azione utente usr#:#user_actions#:#Azioni utente usr#:#user_actions_activation_info#:#Le azioni saranno elencate solo per gli utenti, se i servizi corrispondenti vengono attivati e vengono fornite tutte le condizioni preliminari (ad esempio, i requisiti di autorizzazione). -validation#:#datetime_required#:#Time/Date required###29 07 2022 new variable -validation#:#no_array#:#Given value is not an array###29 07 2022 new variable -validation#:#not_a_null#:#Value of type '%s' is not a null. -validation#:#not_a_string#:#Value of type '%s' is not a string. -validation#:#not_an_array#:#'%s' is not an array. -validation#:#not_an_array_of#:#The elements of the array fail constraints: %s -validation#:#not_an_int#:#Value of type '%s' is not an integer. -validation#:#not_generic#:#It is not the case that: %s -validation#:#not_greater_than#:#'%s' is not greater than '%s'. -validation#:#not_greater_than_or_equal#:#The value is not greater than or equal '%s'.###29 07 2022 new variable -validation#:#not_less_than#:#'%s' is not less than '%s'. -validation#:#not_less_than_or_equal#:#The value is not less than or equal '%s'.###29 07 2022 new variable -validation#:#not_max_length#:#The entered text has a length more than '%s'. -validation#:#not_min_length#:#Your input has a length of %d and falls below the minimum length %d. -validation#:#not_numeric#:#'%s' is not numeric. -validation#:#not_numeric_empty_string#:#Your input is not numeric.###07 02 2020 new variable -validation#:#numeric_only#:#Please insert a whole number.###26 08 2024 new variable -validation#:#required#:#This input is required.###29 10 2025 new variable -validation#:#tag_required#:#Please insert at least one tag.###26 08 2024 new variable -violation#:#not_a_string#:#Given value is not a String###29 07 2022 new variable +validation#:#datetime_required#:#Time/Date required###30 04 2024 new variable +validation#:#no_array#:#Given value is not an array###31 03 2023 new variable +validation#:#not_a_null#:#Value of type '%s' non è un null. +validation#:#not_a_string#:#Value of type '%s' non è una stringa. +validation#:#not_an_array#:#'%s' non è un array. +validation#:#not_an_array_of#:#Gli elementi della matrice non vincolano i vincoli: %s +validation#:#not_an_int#:#Il valore di tipo '%s' non è un numero intero. +validation#:#not_generic#:#Non è il caso che:%s +validation#:#not_greater_than#:#'%s' non è maggiore di '%s'. +validation#:#not_greater_than_or_equal#:#The value is not greater than or equal '%s'.###31 03 2023 new variable +validation#:#not_less_than#:#'%s' non è inferiore a '%s'. +validation#:#not_less_than_or_equal#:#The value is not less than or equal '%s'.###31 03 2023 new variable +validation#:#not_max_length#:#Il testo inserito ha una lunghezza superiore a '%s'. +validation#:#not_min_length#:#L'input ha una lunghezza di %d e scende al di sotto della lunghezza minima %d. +validation#:#not_numeric#:# '%s' non è numerico. +validation#:#not_numeric_empty_string#:#Your input is not numeric. +validation#:#numeric_only#:#Please insert a whole number.###30 04 2024 new variable +validation#:#required#:#This input is required.###08 07 2025 new variable +validation#:#tag_required#:#Please insert at least one tag.###30 04 2024 new variable +violation#:#not_a_string#:#Given value is not a String###31 03 2023 new variable webr#:#invalid_links_tbl#:#Collegamenti non validi webr#:#webr_active#:#Attiva -webr#:#webr_container_info#:#Si prega di inserire un titolo e facoltativamente una descrizione per la presentazione di questo elenco collegamento web nel repository. -webr#:#webr_copy#:#Copia link web -webr#:#webr_deactivate#:#Deactivate Link -webr#:#webr_edit_links#:#Edit Links -webr#:#webr_edit_list#:#Edit Web Resource Lis +webr#:#webr_container_info#:#Si prega di inserire un titolo e facoltativamente una descrizione per la presentazione di questo elenco di collegamenti web nel repository. +webr#:#webr_copy#:#Copia collegamento web +webr#:#webr_deactivate#:#Disattiva collegamento web +webr#:#webr_edit_links#:#Modifica collegamento web +webr#:#webr_edit_list#:#Modifica raccolta collegamenti web webr#:#webr_edit_settings#:#Modifica impostazioni webr#:#webr_import#:#Importa collegamento web -webr#:#webr_inactive_success#:#Il collegamento scelto è disattivo. -webr#:#webr_link_added#:#È stato creato un nuovo collegamento. -webr#:#webr_link_target#:#Link Target -webr#:#webr_link_title#:#Link Name -webr#:#webr_link_type_list#:#Weblink List###29 07 2022 new variable -webr#:#webr_link_type_single#:#Single Weblink###29 07 2022 new variable -webr#:#webr_list_added#:#A new weblink list has been created.###29 07 2022 new variable -webr#:#webr_list_desc#:#Description of Web Resource List -webr#:#webr_list_set#:#The weblink has been set to a weblink list.###29 07 2022 new variable -webr#:#webr_list_title#:#Title of Web Resource List -webr#:#webr_new#:#Create Weblink###29 10 2025 new variable -webr#:#webr_new_link#:#Add New Link -webr#:#webr_new_list#:#Add New Weblink List###29 07 2022 new variable -webr#:#webr_new_list_info#:#Please enter a title and optionally a description for the presentation of this Weblink List in the repository.###29 07 2022 new variable -webr#:#webr_set_to_list#:#Set to Weblink List###29 07 2022 new variable +webr#:#webr_inactive_success#:#Il collegamento web scelto è stato disattivato. +webr#:#webr_link_added#:#È stato creato un nuovo collegamento web. +webr#:#webr_link_target#:#Target collegamento web +webr#:#webr_link_title#:#Nome collegamento web/ Nome raccolta collegamento web +webr#:#webr_link_type_list#:#Elenco dei collegamenti web +webr#:#webr_link_type_single#:#Collegamento web singolo +webr#:#webr_list_added#:#È stato creato un nuovo elenco di collegamenti web. +webr#:#webr_list_desc#:#Descrizione della raccolta di collegamenti web +webr#:#webr_list_set#:#Il collegamento web è stato modificato in una raccolta di collegamenti web. +webr#:#webr_list_title#:#Titolo dell'a raccolta di collegamenti web +webr#:#webr_new#:#Create Weblink###28 11 2025 new variable +webr#:#webr_new_link#:#Aggiungi Nuovo collegamento web +webr#:#webr_new_list#:#Aggiungi nuova raccolta di collegamenti web +webr#:#webr_new_list_info#:#Si prega di inserire un titolo e, facoltativamente, una descrizione per la presentazione di questa raccolta di collegamento web nel repository. +webr#:#webr_set_to_list#:#Modificare in elenco di collegamenti web webr#:#webr_sort_manual#:#Ordina manualmente -webr#:#webr_sort_title#:#Sort by Title -webr#:#webr_sorting#:#Link Sorting +webr#:#webr_sort_title#:#Ordina alfabeticamente per titolo +webr#:#webr_sorting#:#Ordinamento dei collegamenti web wfld#:#wfld_add#:#Crea cartella -wfld#:#wfld_alphabetically_asc#:#Alphabetically, asc.###07 02 2020 new variable -wfld#:#wfld_alphabetically_desc#:#Alphabetically, desc.###07 02 2020 new variable -wfld#:#wfld_creation_asc#:#Creation Date, asc.###07 02 2020 new variable -wfld#:#wfld_creation_desc#:#Creation Date, desc.###07 02 2020 new variable -wfld#:#wfld_derive#:#Adopt from parent###07 02 2020 new variable +wfld#:#wfld_alphabetically_asc#:#Alfabetico, asc. +wfld#:#wfld_alphabetically_desc#:#Alfabetico, disc. +wfld#:#wfld_creation_asc#:#Data di creazione, asc. +wfld#:#wfld_creation_desc#:#Data di creazione, disc. +wfld#:#wfld_derive#:#Come cartella principale wfld#:#wfld_edit#:#Modifica cartella wfld#:#wfld_new#:#Crea nuova cartella -wfld#:#wfld_sortation#:#Sortation###07 02 2020 new variable -wiki#:#wiki_activate_extended_rating#:#Attiva categorie di classificazione -wiki#:#wiki_activate_new_page_rating#:#Attiva classificazione per Nuove pagine -wiki#:#wiki_activate_page_rating#:#Attiva classificazione -wiki#:#wiki_activate_rating#:#Activate Rating +wfld#:#wfld_sortation#:#Ordinamento +wiki#:#wiki_activate_extended_rating#:#Attiva categorie di valutazione +wiki#:#wiki_activate_new_page_rating#:#Attiva valutazione per nuove pagine +wiki#:#wiki_activate_page_rating#:#Attiva valutazione +wiki#:#wiki_activate_rating#:#Attiva valutazione per le pagine wiki#:#wiki_add_link#:#Aggiungi link -wiki#:#wiki_add_template#:#Imposta stato del modello -wiki#:#wiki_advmd_block_title#:#Metadati avanzati della pagina +wiki#:#wiki_add_template#:#Utilizzare come modello di contenuto +wiki#:#wiki_advmd_block_title#:#Metadati personalizzati della pagina wiki#:#wiki_all_pages#:#Tutte le pagine -wiki#:#wiki_block_page#:#Block Page -wiki#:#wiki_change_notification_body_new#:#è stata creata la seguente pagina Wiki -wiki#:#wiki_change_notification_link#:#Link to wiki: %s -wiki#:#wiki_change_notification_page_body_comment#:#a comment has been added to the following wiki page###07 02 2020 new variable -wiki#:#wiki_change_notification_page_body_delete#:#the following wiki page has been deleted###07 02 2020 new variable -wiki#:#wiki_change_notification_page_body_update#:#In wiki "%s" the page "%s" was updated. -wiki#:#wiki_change_notification_page_link#:#Link to wiki page: %s +wiki#:#wiki_block_page#:#Imposta in sola lettura +wiki#:#wiki_change_notification_body_new#:# la seguente pagina Wiki è nuova +wiki#:#wiki_change_notification_link#:#URL +wiki#:#wiki_change_notification_page_body_comment#:#un commento è stato aggiunto alla seguente pagina wiki +wiki#:#wiki_change_notification_page_body_delete#:#la seguente pagina wiki è stata cancellata +wiki#:#wiki_change_notification_page_body_update#:#la seguente pagina wiki è stata aggiornata +wiki#:#wiki_change_notification_page_link#:#URL wiki#:#wiki_change_notification_salutation#:#Ciao %s, -wiki#:#wiki_change_notification_subject#:#Wiki "%s" has been changed +wiki#:#wiki_change_notification_subject#:#Wiki "%1$s" è stato cambiato: %2$s wiki#:#wiki_changed_by#:#Modificato da -wiki#:#wiki_commented_by#:#Commented by###07 02 2020 new variable -wiki#:#wiki_contributor#:#Contribuente -wiki#:#wiki_contributors#:#Contribuenti +wiki#:#wiki_commented_by#:#Autore +wiki#:#wiki_contributor#:#Collaboratore +wiki#:#wiki_contributors#:#Collaboratori wiki#:#wiki_copy#:#Copia wiki wiki#:#wiki_create_page#:#Crea pagina wiki#:#wiki_created_by#:#Creato da -wiki#:#wiki_deactivate_page_rating#:#Disattiva classificazione +wiki#:#wiki_deactivate_page_rating#:#Valutazione disattivata wiki#:#wiki_delete_page#:#Elimina pagina -wiki#:#wiki_download_submission#:#Download Submission File +wiki#:#wiki_download_submission#:#Scarica il file di invio wiki#:#wiki_empty_page#:#Pagina vuota -wiki#:#wiki_empty_page_template#:#Modello di pagina vuoto nella creazione della pagina -wiki#:#wiki_exc_template#:#Wiki Template -wiki#:#wiki_exc_wiki_created#:#Wiki has been created. -wiki#:#wiki_exercise_info#:#This wiki is part of the assignment "%s" of exercise "%s". -wiki#:#wiki_exercise_submitted_info#:#Your last submission was on %s. Please check the export file. +wiki#:#wiki_empty_page_template#:#Creazione di una nuova pagina senza un modello (pagina vuota) +wiki#:#wiki_exc_template#:#Modello Wiki +wiki#:#wiki_exc_wiki_created#:#Wiki è stato creato. +wiki#:#wiki_exercise_info#:#Questo wiki fa parte del compito "%s" dell'esercizio "%s". +wiki#:#wiki_exercise_submitted_info#:#Il tuo ultimo invio è stato il %s. Si prega di controllare il file di esportazione. wiki#:#wiki_failed#:#Non riuscito wiki#:#wiki_feedback_from_tutor#:#Feedback dal tutor -wiki#:#wiki_finalize_wiki#:#Finalize and Submit Wiki -wiki#:#wiki_finalized#:#Wiki has been finalized and submitted. +wiki#:#wiki_finalize_wiki#:#Finalizza e invia Wiki +wiki#:#wiki_finalized#:#Wiki è stato finalizzato e inviato. wiki#:#wiki_functions#:#Funzioni Wiki wiki#:#wiki_general_settings#:#Impostazioni generali -wiki#:#wiki_grading#:#Classificazione -wiki#:#wiki_html_export#:#HTML exportieren -wiki#:#wiki_imp_page_added#:#Pagina aggiunta. +wiki#:#wiki_grading#:#Valutazione +wiki#:#wiki_html_export#:#Esporta HTML +wiki#:#wiki_imp_page_added#:#La pagina è stata aggiunta wiki#:#wiki_import#:#Importa Wiki -wiki#:#wiki_incl_comments#:#including comments###29 07 2022 new variable +wiki#:#wiki_incl_comments#:#Commenti inclusi wiki#:#wiki_indentation#:#Rientro wiki#:#wiki_introduction#:#Introduzione wiki#:#wiki_last_changed#:#Ultima modifica -wiki#:#wiki_last_changed_by#:#Ultima modifica da +wiki#:#wiki_last_changed_by#:#Ultima modifica di wiki#:#wiki_last_edited#:#Ultima modifica wiki#:#wiki_last_visited_page#:#Ultima pagina visitata wiki#:#wiki_link_md_values#:#Collegamento automatico wiki#:#wiki_link_md_values_info#:#Collega automaticamente le proprietà presentate nel blocco laterale alle pagine wiki con lo stesso nome. wiki#:#wiki_link_text#:#Link di testo wiki#:#wiki_mark#:#Segno -wiki#:#wiki_master_existing#:#Page Exists in Master Language###26 08 2024 new variable -wiki#:#wiki_master_title#:#Title of Page in Master Language###26 08 2024 new variable +wiki#:#wiki_master_existing#:#Page Exists in Master Language###30 04 2024 new variable +wiki#:#wiki_master_title#:#Title of Page in Master Language###30 04 2024 new variable wiki#:#wiki_navigation#:#Navigazione Wiki -wiki#:#wiki_navigation_info#:#Qui è possibile aggiungere e rimuovere i collegamenti alle pagine wiki esistenti nel blocca di navigazione nel wiki. +wiki#:#wiki_navigation_info#:#Qui è possibile aggiungere e rimuovere i collegamenti alle pagine wiki esistenti nel blocco di navigazione del wiki. wiki#:#wiki_new_page#:#Nuova pagina -wiki#:#wiki_new_page_name#:#Nuovo titolo +wiki#:#wiki_new_page_name#:#Nuovo titolo della pagina wiki#:#wiki_new_pages#:#Nuove pagine wiki#:#wiki_news_page_changed#:#La pagina Wiki è stata aggiornata. wiki#:#wiki_news_page_created#:#È stata creata una nuova pagina wiki. -wiki#:#wiki_no_master#:#Page Does Not Exist in Master Language###26 08 2024 new variable +wiki#:#wiki_no_master#:#Page Does Not Exist in Master Language###30 04 2024 new variable wiki#:#wiki_no_page_found#:#Nessun pagina wiki trovata per il termine di ricerca '$1'. wiki#:#wiki_no_search_term#:#Non è stato inserito alcun termine di ricerca. Tutte le pagine del wiki sono elencate di seguito. wiki#:#wiki_no_start_page#:#In Wiki manca una pagina di partenza valida. -wiki#:#wiki_not_existing#:#not existing yet###26 08 2024 new variable -wiki#:#wiki_notgraded#:#Non classificata +wiki#:#wiki_not_existing#:#not existing yet###30 04 2024 new variable +wiki#:#wiki_notgraded#:#Non valutata wiki#:#wiki_notification_activate_page#:#Attiva notifica per pagina wiki#:#wiki_notification_activate_wiki#:#Attiva notifica per Wiki wiki#:#wiki_notification_activated#:#Notifica attivata (Wiki intero) -wiki#:#wiki_notification_comment#:#the following Wiki Page has been commented.###07 02 2020 new variable -wiki#:#wiki_notification_comment_subject#:#A comment was added to %s: %s###07 02 2020 new variable -wiki#:#wiki_notification_deactivate_page#:#Disattiva notifica per pagina +wiki#:#wiki_notification_comment#:#La seguente pagina Wiki è stata commentata +wiki#:#wiki_notification_comment_subject#:#È stato aggiunto un commento alla pagina %s: %s aggiunto +wiki#:#wiki_notification_deactivate_page#:#Disattiva notifica per pagina wiki wiki#:#wiki_notification_deactivate_wiki#:#Disattiva notifica per Wiki wiki#:#wiki_notification_deactivated#:#Notifica disattivata wiki#:#wiki_number_users_notes_or_comments#:#Numero di utenti che hanno allegato note o commenti a questa pagina @@ -17801,28 +17808,28 @@ wiki#:#wiki_other_pages_linking#:#Altre pagine collegate a questa pagina wiki#:#wiki_page#:#Pagina wiki#:#wiki_page_actions#:#Azioni pagina wiki#:#wiki_page_already_exists#:#Una pagina con questo titolo esiste già. -wiki#:#wiki_page_blocked#:#Wiki page blocked. -wiki#:#wiki_page_changes#:#Modifiche pagina +wiki#:#wiki_page_blocked#:#Pagina Wiki bloccata. Solo gli utenti con il diritto «Modifica impostazioni» hanno accesso in scrittura. +wiki#:#wiki_page_changes#:#Pagine modificate wiki#:#wiki_page_deleted#:#Pagina Wiki eliminata. wiki#:#wiki_page_deletion_confirmation#:#Vuoi davvero eliminare questa pagina Wiki? wiki#:#wiki_page_exists#:#Pagina esistente wiki#:#wiki_page_hits#:#Riscontri pagina -wiki#:#wiki_page_in_master_language#:#Page in Master Language###26 08 2024 new variable -wiki#:#wiki_page_list_form_info#:#Adds a list of pages of this wiki that are all assigned to the selected metadata below. +wiki#:#wiki_page_in_master_language#:#Page in Master Language###30 04 2024 new variable +wiki#:#wiki_page_list_form_info#:#Aggiungi un elenco di pagine di questa wiki che sono tutte assegnate ai metadati selezionati di seguito. wiki#:#wiki_page_list_mode#:#Tipo di lista wiki#:#wiki_page_list_mode_ordered#:#Numerata wiki#:#wiki_page_list_mode_unordered#:#Non numerata wiki#:#wiki_page_lists#:#Elenchi pagina wiki#:#wiki_page_not_exist_select_templ#:#Questa pagina non esiste ancora. Si prega di selezionare un modello per la nuova pagina. wiki#:#wiki_page_notification_activated#:#Notifica attivata (Pagina singola) -wiki#:#wiki_page_status_blocked#:#Editing of this page is currently blocked for learners. +wiki#:#wiki_page_status_blocked#:#La modifica di questa pagina è attualmente bloccata. wiki#:#wiki_page_template#:#Modello di pagina wiki#:#wiki_page_templates#:#Modelli di pagina wiki#:#wiki_page_title_too_long#:#Spiacenti, il titolo della pagina Wiki è troppo lungo. Si prega di sostituirlo con un titolo più breve. wiki#:#wiki_page_toc#:#Consenti blocco panoramica della pagina wiki#:#wiki_page_toc_info#:#In questo elenco vengono elencate tutte le intestazioni collegate al contenuto all'inizio di ogni pagina se tale pagina utilizza almeno due intestazioni. -wiki#:#wiki_page_type_wpg#:#Wiki Page###29 07 2022 new variable -wiki#:#wiki_page_unblocked#:#Wiki page unblocked. +wiki#:#wiki_page_type_wpg#:#Pagina Wiki +wiki#:#wiki_page_unblocked#:#Pagina Wiki sbloccata. wiki#:#wiki_pages#:#Pagine wiki#:#wiki_pages_found#:#Le pagine seguenti corrispondono al tuo termine di ricerca '$1'. wiki#:#wiki_passed#:#Approvata @@ -17833,26 +17840,26 @@ wiki#:#wiki_print_view#:#Visualizzazione stampa wiki#:#wiki_public_comments#:#Commenti pubblici wiki#:#wiki_purpose#:#Obiettivo wiki#:#wiki_quick_navigation#:#Navigazione veloce Wiki -wiki#:#wiki_rate_overall#:#Classifica Wiki -wiki#:#wiki_rate_page#:#Rate this Page +wiki#:#wiki_rate_overall#:#Valutazione Wiki +wiki#:#wiki_rate_page#:#Valuta questa pagina wiki#:#wiki_recent_changes#:#Modifiche recenti -wiki#:#wiki_remove_template_status#:#Rimuovi stato del modello -wiki#:#wiki_removed_imp_pages#:#Pagine importanti eliminate dall’elenco. +wiki#:#wiki_remove_template_status#:#Rimuovi template +wiki#:#wiki_removed_imp_pages#:#Le pagine sono state eliminate dall’elenco. wiki#:#wiki_rename#:#Rinomina wiki#:#wiki_rename_page#:#Rinomina pagina wiki#:#wiki_save_ordering_and_indent#:#Salva ordine e rientro wiki#:#wiki_search#:#Cerca -wiki#:#wiki_search_results#:#Cerca risultati -wiki#:#wiki_sec_protect_info#:#Protected sections can only be edited by users having "Edit Settings" permission.###29 07 2022 new variable +wiki#:#wiki_search_results#:#Risultati +wiki#:#wiki_sec_protect_info#:#Protected sections can only be edited by users having "Edit Settings" permission.###31 03 2023 new variable wiki#:#wiki_select_one_item#:#Si prega di selezionare una voce. wiki#:#wiki_selected_pages#:#Pagine selezionate -wiki#:#wiki_set_as_start_page#:#Imposta come pagina di avvio +wiki#:#wiki_set_as_start_page#:#Imposta come pagina di partenza wiki#:#wiki_settings#:#Impostazioni Wiki wiki#:#wiki_short_title_already_in_use#:#Questo titolo è già utilizzato da un altro wiki. Si prega di selezionare un titolo differente. wiki#:#wiki_show_pdf_export#:#Esportazione PDF wiki#:#wiki_show_print_view#:#Visualizzazione stampa wiki#:#wiki_start_page#:#Inizio pagina -wiki#:#wiki_start_page_info#:#Se non esiste ancora una pagina con questo titolo, ne verrà creata una nuova. +wiki#:#wiki_start_page_info#:#Se non esiste ancora una pagina con questo titolo, ne verrà creata una vuota. wiki#:#wiki_stat_chars#:#Numero dei caratteri wiki#:#wiki_stat_chars_avg#:#Numero medio di caratteri per pagina wiki#:#wiki_stat_deleted_pages#:#Numero di pagine eliminate @@ -17876,96 +17883,96 @@ wiki#:#wiki_stat_page_characters#:#Numero dei caratteri wiki#:#wiki_stat_page_external_links#:#Numero di collegamenti esterni wiki#:#wiki_stat_page_footnotes#:#Numero delle note a piè di pagina wiki#:#wiki_stat_page_internal_links#:#Numero di collegamenti interni -wiki#:#wiki_stat_page_ratings#:#Numero dei classificazioni +wiki#:#wiki_stat_page_ratings#:#Numero delle valutazioni wiki#:#wiki_stat_page_read#:#Numero di accessi in lettura wiki#:#wiki_stat_page_user_edit#:#Numero di utenti che hanno modificato le pagine wiki#:#wiki_stat_page_words#:#Numero delle parole -wiki#:#wiki_stat_rating_avg#:#Classificazione media +wiki#:#wiki_stat_rating_avg#:#Valutazione media wiki#:#wiki_stat_read_pages#:#Numero di accessi in lettura wiki#:#wiki_stat_scope#:#Lasso di tempo wiki#:#wiki_stat_user_edit_pages#:#Numero di utenti che ha modificato le pagine wiki#:#wiki_stat_user_edit_pages_avg#:#Numero medio di utenti che hanno modificato le pagine wiki#:#wiki_stat_words#:#Numero delle parole -wiki#:#wiki_stat_words_avg#:# Numero medio di parole per pagina +wiki#:#wiki_stat_words_avg#:#Numero medio di parole per pagina wiki#:#wiki_style#:#Stile wiki#:#wiki_sure_remove_imp_pages#:#Vuoi davvero eliminare le seguenti pagine dalla lista delle pagine importanti? wiki#:#wiki_target_page#:#Pagina di destinazione -wiki#:#wiki_team_members#:#Team Members +wiki#:#wiki_team_members#:#Membri del team wiki#:#wiki_templ_add_to_page#:#Disponibile per essere aggiunto alle pagine esistenti -wiki#:#wiki_templ_new_pages#:#Disponibile per la creazione di pagine -wiki#:#wiki_template_added#:#Pagina modella aggiunta. -wiki#:#wiki_template_status_removed#:#Stato del modello rimosso. -wiki#:#wiki_translate_page_master_info#:#You are creating a new wiki page translation. Please specify, if this translation belongs to an existing master version of the page, or if a completely new page is being created. In the second case you need to specify a page title for the master version.###26 08 2024 new variable -wiki#:#wiki_translation_page#:#Translation Page###26 08 2024 new variable -wiki#:#wiki_translations#:#Translations###26 08 2024 new variable +wiki#:#wiki_templ_new_pages#:#Disponibile per le nuove pagine +wiki#:#wiki_template_added#:#Modello di pagina aggiunta. +wiki#:#wiki_template_status_removed#:#Utilizzo come modello di contenuto annullato. +wiki#:#wiki_translate_page_master_info#:#You are creating a new wiki page translation. Please specify, if this translation belongs to an existing master version of the page, or if a completely new page is being created. In the second case you need to specify a page title for the master version.###30 04 2024 new variable +wiki#:#wiki_translation_page#:#Translation Page###30 04 2024 new variable +wiki#:#wiki_translations#:#Translations###30 04 2024 new variable wiki#:#wiki_type_wiki_team#:#Team Wiki -wiki#:#wiki_unblock_page#:#Unblock Page +wiki#:#wiki_unblock_page#:#Togli sblocco wiki#:#wiki_unhide_meta_adv_records#:#Mostra proprietà aggiuntive -wiki#:#wiki_what_links_here#:#Quali collegamenti qui? -wiki#:#wiki_what_links_to_page#:#Quali collegamenti alla pagina "%s"? +wiki#:#wiki_what_links_here#:#Cosa è collegato qui? +wiki#:#wiki_what_links_to_page#:#Cosa collega alla pagina "%s"? wiki#:#wiki_whole_wiki#:#Wiki intero wiki#:#wiki_wiki_page#:#Pagina Wiki wiki#:#wiki_wiki_search#:#Cerca Wiki wiki#:#wiki_wpg#:#Pagina Wiki -wopi#:#action_edit#:#Edit###28 10 2024 new variable -wopi#:#action_view#:#View###28 10 2024 new variable -wopi#:#activate_saving_interval#:#Activate Saving Interval###28 10 2024 new variable -wopi#:#activate_wopi#:#Activate WOPI###26 08 2024 new variable -wopi#:#close_wopi_editor#:#Close Editor###26 08 2024 new variable -wopi#:#close_wopi_editor_info#:#It can take up to several minutes for the external editor to transfer the changes to ILIAS. Visit this page again at a later time if the changes you have made are not yet visible.###26 08 2024 new variable -wopi#:#currently_supported#:#Currently supported Suffixes: %s###26 08 2024 new variable -wopi#:#msg_error_wopi_invalid_discorvery_url#:#The Discovery URL entered is invalid or cannot be accessed.###26 08 2024 new variable -wopi#:#msg_wopi_settings_modified#:#Settings stored###26 08 2024 new variable -wopi#:#open_external_editor#:#Open in external Editor###26 08 2024 new variable -wopi#:#open_external_viewer#:#Show Content###28 10 2024 new variable -wopi#:#saving_interval#:#Interval###28 10 2024 new variable -wopi#:#saving_interval_byline#:#By default, ILIAS adds all changes made by an external editor to a draft version until this version is published manually. Activating the save interval causes a new version to be published after the specified number of seconds, if possible. Please note that a low value can lead to a large number of file versions, which in turn takes up a multiple of the hard disk space.###28 10 2024 new variable -wopi#:#wopi_crawler_cronjob_description#:#Updates the information of the connected WOPI service.###26 08 2024 new variable -wopi#:#wopi_crawler_cronjob_no_apps#:#No WOPI apps were found in the discovery.###26 08 2024 new variable -wopi#:#wopi_crawler_cronjob_not_activated#:#WOPI is not activated.###26 08 2024 new variable -wopi#:#wopi_crawler_cronjob_success#:#WOPI information updated successfully.###26 08 2024 new variable -wopi#:#wopi_crawler_cronjob_title#:#Update WOPI Discovery###26 08 2024 new variable -wopi#:#wopi_settings#:#WOPI###26 08 2024 new variable -wopi#:#wopi_url#:#WOPI Discovery URL###26 08 2024 new variable -wopi#:#wopi_url_byline#:#Complete URL of the WOPI-Discovery, this must be accessible through the ILIAS server. The XML data of the Discover is read in and stored by ILIAS, the information is regularly updated by the cronjob "Update WOPI Discovery". Example: https://example.org/hosting/discovery###26 08 2024 new variable -wsp#:#element_already_shared#:#Questo oggetto è appena condiviso con questo utente. -wsp#:#element_shared#:#Oggetto condiviso. -wsp#:#error_creating_certificate_pdf#:#The certificate could not be created. Please contact the administrator to check the certificate server. -wsp#:#search_no_match#:#La ricerca non corrisponde a nessun risultato. +wopi#:#action_edit#:#Edit###28 11 2025 new variable +wopi#:#action_view#:#View###28 11 2025 new variable +wopi#:#activate_saving_interval#:#Activate Saving Interval###28 11 2025 new variable +wopi#:#activate_wopi#:#Activate WOPI###30 04 2024 new variable +wopi#:#close_wopi_editor#:#Close Editor###30 04 2024 new variable +wopi#:#close_wopi_editor_info#:#It can take up to several minutes for the external editor to transfer the changes to ILIAS. Visit this page again at a later time if the changes you have made are not yet visible.###30 04 2024 new variable +wopi#:#currently_supported#:#Currently supported Suffixes: %s###30 04 2024 new variable +wopi#:#msg_error_wopi_invalid_discorvery_url#:#The Discovery URL entered is invalid or cannot be accessed.###30 04 2024 new variable +wopi#:#msg_wopi_settings_modified#:#Settings stored###30 04 2024 new variable +wopi#:#open_external_editor#:#Open in external Editor###30 04 2024 new variable +wopi#:#open_external_viewer#:#Show Content###28 11 2025 new variable +wopi#:#saving_interval#:#Interval###28 11 2025 new variable +wopi#:#saving_interval_byline#:#By default, ILIAS adds all changes made by an external editor to a draft version until this version is published manually. Activating the saving interval causes a new version to be published, if possible, after the specified number of seconds. Please note that a low value can lead to a large number of file versions, which in turn will take up a much larger amount of hard disk space.###28 11 2025 new variable +wopi#:#wopi_crawler_cronjob_description#:#Updates the information of the connected WOPI service.###30 04 2024 new variable +wopi#:#wopi_crawler_cronjob_no_apps#:#No WOPI apps were found in the discovery.###30 04 2024 new variable +wopi#:#wopi_crawler_cronjob_not_activated#:#WOPI is not activated.###30 04 2024 new variable +wopi#:#wopi_crawler_cronjob_success#:#WOPI information updated successfully.###30 04 2024 new variable +wopi#:#wopi_crawler_cronjob_title#:#Update WOPI Discovery###30 04 2024 new variable +wopi#:#wopi_settings#:#WOPI###30 04 2024 new variable +wopi#:#wopi_url#:#WOPI Discovery URL###30 04 2024 new variable +wopi#:#wopi_url_byline#:#Complete URL of the WOPI-Discovery, this must be accessible through the ILIAS server. The XML data of the Discover is read in and stored by ILIAS, the information is regularly updated by the cronjob "Update WOPI Discovery". Example: https://example.org/hosting/discovery###30 04 2024 new variable +wsp#:#element_already_shared#:#La risorsa è già stata rilasciata per questo utente. +wsp#:#element_shared#:#Risorsa condivisa. +wsp#:#error_creating_certificate_pdf#:#Non è stato possibile creare il certificato. Si prega di contattare l'amministratore per verificare il server dei certificati. +wsp#:#search_no_match#:#Non è stato trovato nessun utente con questo nome utente wsp#:#share#:#Condividi -wsp#:#share_content#:#Condividi oggetto +wsp#:#share_content#:#Condividi risorsa wsp#:#share_with#:#Nome utente wsp#:#wsp_copy_to_repository#:#Copia nel repository wsp#:#wsp_invalid_password#:#La password fornita non è valida. -wsp#:#wsp_list_cmxv#:#Certificate of xAPI/cmi5 Object###07 02 2020 new variable +wsp#:#wsp_list_cmxv#:#Certificato dell'oggetto xAPI/cmi5 wsp#:#wsp_list_crsv#:#Certificato del corso -wsp#:#wsp_list_excv#:#Esercizio certificato -wsp#:#wsp_list_ltiv#:#Certificate of LTI Consumer Object###07 02 2020 new variable +wsp#:#wsp_list_excv#:#Certificato dell'esercizio +wsp#:#wsp_list_ltiv#:#Certificato dell'oggetto LTI Consumer wsp#:#wsp_list_scov#:#Certificato SCORM -wsp#:#wsp_list_tstv#:#Test certificato -wsp#:#wsp_move_to_repository#:#Sposta in repository +wsp#:#wsp_list_tstv#:#Certificato del test +wsp#:#wsp_move_to_repository#:#Sposta nel repository wsp#:#wsp_password_for#:#Password per wsp#:#wsp_password_protected_resource#:#Risorsa protetta da password wsp#:#wsp_password_protected_resource_info#:#Per accedere a questa risorsa è necessario immettere una password. -wsp#:#wsp_permission_all_info#:#This object has been published. +wsp#:#wsp_permission_all_info#:#Questo oggetto è stato pubblicato. wsp#:#wsp_permission_all_pw_info#:#Dopo aver fornito la password questo oggetto è visibile per tutti gli utenti di Internet. wsp#:#wsp_permission_registered_info#:#Questo oggetto è condiviso con tutti gli utenti registrati. -wsp#:#wsp_permission_removed#:#The item has been removed. +wsp#:#wsp_permission_removed#:#L'articolo è stato rimosso. wsp#:#wsp_permissions#:#Condividi -wsp#:#wsp_personal_resources_description#:#Here you can manage your private files, blogs and artifacts.###07 02 2020 new variable -wsp#:#wsp_send_mail#:#Send Mail###26 08 2024 new variable -wsp#:#wsp_set_permission_all#:#Publish -wsp#:#wsp_set_permission_all_password#:#Publish (Password required) -wsp#:#wsp_set_permission_course#:#Course -wsp#:#wsp_set_permission_group#:#Group +wsp#:#wsp_personal_resources_description#:#Da qui è possibile gestire i tuoi files privati, blog e prove didattiche. +wsp#:#wsp_send_mail#:#Send Mail###30 04 2024 new variable +wsp#:#wsp_set_permission_all#:#Pubblica +wsp#:#wsp_set_permission_all_password#:#Pubblica (richiesta password) +wsp#:#wsp_set_permission_course#:#Corso +wsp#:#wsp_set_permission_group#:#Membro del gruppo wsp#:#wsp_set_permission_registered#:#Tutti gli utenti registrati -wsp#:#wsp_set_permission_single_user#:#Single User +wsp#:#wsp_set_permission_single_user#:#Singolo utente wsp#:#wsp_share_search_users#:#Cerca utenti wsp#:#wsp_share_success#:#È stata aggiunta una nuova voce. wsp#:#wsp_share_with_members#:#Condividi con i membri wsp#:#wsp_share_with_users#:#Condividi con gli utenti wsp#:#wsp_shared_date#:#Data di condivisione -wsp#:#wsp_shared_date_filter#:#Condiviso da +wsp#:#wsp_shared_date_filter#:#Condiviso dal wsp#:#wsp_shared_filter_button#:#Cerca wsp#:#wsp_shared_filter_reset_button#:#Ripristina ricerca wsp#:#wsp_shared_mandatory_filter_info#:#Si prega di impostare almeno un attributo di filtro. I filtri di testo devono essere lunghi almeno 4 caratteri. @@ -17973,23 +17980,23 @@ wsp#:#wsp_shared_member_filter#:#Membri del corso/gruppo wsp#:#wsp_shared_object_type#:#Tipo di risorsa wsp#:#wsp_shared_resources#:#Risorse condivise wsp#:#wsp_shared_table_title#:#Condivisi -wsp#:#wsp_shared_title#:#Titolo di risorsa +wsp#:#wsp_shared_title#:#Titolo della risorsa wsp#:#wsp_shared_type#:#Condiviso con wsp#:#wsp_shared_user_filter#:#Accesso/Nome wsp#:#wsp_shared_with#:#Condiviso con wsp#:#wsp_status_shared#:#Condiviso -wsp#:#wsp_switch_to_repo_tree#:#Switch to Repository###07 02 2020 new variable -wsp#:#wsp_switch_to_wsp_tree#:#Switch to Personal Resources###07 02 2020 new variable +wsp#:#wsp_switch_to_repo_tree#:#Cambia a "Repository" +wsp#:#wsp_switch_to_wsp_tree#:#Cambia a "Risorse Personali" wsp#:#wsp_tab_ownership#:#Il mio oggetto repository wsp#:#wsp_tab_personal#:#Le mie risorse -wsp#:#wsp_tab_shared#:#Shared By Other Users +wsp#:#wsp_tab_shared#:#Condiviso da altri utenti wsp#:#wsp_type_blog#:#Blog -wsp#:#wsp_type_cmxv#:#Certificate: xAPI/cmi5###07 02 2020 new variable +wsp#:#wsp_type_cmxv#:#Certificato: xAPI/cmi5 wsp#:#wsp_type_crsv#:#Certificato: Corso -wsp#:#wsp_type_excv#:#Verification: Exercise +wsp#:#wsp_type_excv#:#Certificato: Esercizio wsp#:#wsp_type_file#:#File -wsp#:#wsp_type_ltiv#:#Certificate: LTI Consumer###07 02 2020 new variable +wsp#:#wsp_type_ltiv#:#Certificato: LTI Consumer wsp#:#wsp_type_scov#:#Certificato: SCORM -wsp#:#wsp_type_tstv#:#Verification: Test +wsp#:#wsp_type_tstv#:#Certificato: Test wsp#:#wsp_type_webr#:#Collegamento web wsp#:#wsp_type_wfld#:#Cartella \ No newline at end of file From 851c40558997efff3daff76300683fb15109bc54 Mon Sep 17 00:00:00 2001 From: Alex Killing Date: Fri, 28 Nov 2025 14:15:49 +0100 Subject: [PATCH 065/865] added roadmap for guided tour --- components/ILIAS/Help/ROADMAP-guided-tour.md | 48 ++++++++++++++++++++ components/ILIAS/Help/ROADMAP.md | 6 ++- 2 files changed, 52 insertions(+), 2 deletions(-) create mode 100644 components/ILIAS/Help/ROADMAP-guided-tour.md diff --git a/components/ILIAS/Help/ROADMAP-guided-tour.md b/components/ILIAS/Help/ROADMAP-guided-tour.md new file mode 100644 index 000000000000..311f458f8eef --- /dev/null +++ b/components/ILIAS/Help/ROADMAP-guided-tour.md @@ -0,0 +1,48 @@ +# Roadmap Guided Tour + +The feature depends on several parts of the general infrastructure provide its features. Some of them are already integrated in last generation components like global screen or ui framework, others rely on legacy behavior. But also the collaboration with ui elements and the global screen has sometimes a workaround-ish state. + +## Obtaining IDs for UI Elements + +These are abstract IDs that are used to be stored with the different steps of a guided tour. If these IDs change in the code, the steps in the guided tour may break. + +- Screen ID: The screen ID is obtained from an ilCtrl observer implemented by the Help component. The IDs are derived from the class names being involved in the ilCtrl flow. These class names may be subject to technical refactorings in the components, so they may change with major releases. It is possible to decouple this via attributes in the class code, but the JF decided not to introduce this decoupling via rector. So developers would need to take care of the stability of screen IDs individually. +- Metabar and Mainbar button IDs: The help component implements the AbstractModificationProvider provided by the global screen service. This allows to collect all items (buttons) and their internal identifiers. These should be quite stable, since they are also used, e.g. for the main menu configuration in the ILIAS administration. +- Tab IDs: Tabs are a legacy UI component in ILIAS. They are not collected by the global screen service, thus providing their IDs to the help component is part of the legacy tab code. Components using tabs need to provide these IDs in general, since they are used, e.g. for activation of tabs, too. The current approach results in a high coupling of the help and tab component, even if these are only a few lines. + +## Presenting UI Element IDs + +Authors of guided tours need to know the IDs of screens and ui elements, since they need to enter these IDs when creating steps for these elements. + +- Screen ID: The screen ID is displayed by implementing the AbstractNotificationProvider interface of the global screen service. +- Metabar and Mainbar button IDs: These IDs are displayed by attaching KS Help\Topic ui element to the items in the AbstractModificationProvider implementations using withTopics() methods. +- Tabs IDs: The tabs are using KS link elements and attach KS Help\Topic similarly. However the coupling is again higher, since this code is part of the legacy tab implementation. + +The presentation of the KS Help\Topic ui elements is suffering from a longtime bug which is already part of ILIAS 10, https://mantis.ilias.de/view.php?id=42421 + +## Mapping Element IDs to HTML DOM IDs + +The content of guided tour steps is displayed in a KS popover element. The popover is placed via Javascript closed to the target element. The are not attached to the usual click event of these elements, since this is not the desired behaviour. The target elements (e.g. mainbar entries) should still do their normal action „on click“. + +The DOM IDs of KS ui elements are generated during runtime for each request. The get different IDs for each request, thus the „identification part“ of an ID concept is not well supported through requests. + +The guided tour stores the mapping by attaching JS code for these elements. This is not necessary for the Screen IDs or for elements that are not identified by their ID (first form or first table of a view). + +- Metabar and Mainbar ID mapping: As part of a AbstractModificationProvider implementation, the guided tour components attaches Javascript calls like `il.guidedTour.addMapping('$name', '$id');` to the items. +- Tab ID mapping: The tabs call `$ilHelp->registerTabLink` which adds a `il.guidedTour.addMapping('$name', '$id');` call to the links. + +## Attaching the Popover to DOM elements + +As written above this cannot be done using the usual mechanism „on click“ of the target elements, since the popover is shown and attached to the target elements via Javascript. + +Like many KS elements the popover provides a method to obtain a signal ID. This ID can be used in an event to show the popup. The event can contain a triggerer parameter to attach the popover to a DOM element. If this is considered an official supported part if the interface is questionable. Additionally attaching the element this way, also binds the presentation of the popover to the click event of the DOM element which is not desired. It required a workaround to inject a „trigger: manual“ behavior here which does not seem to be sustainable. + +Some elements like the first form, table or primary button are not identified by any ID provided by global screen or KS elements. These elements are retrieved via Javascript/CSS selectors during runtime. Even if the main HTML structure of the ILIAS view is pretty stable, this part of the code might need adaptions with every major release. + +## Recommendations for Improvements + +- The popover element should get an official supported Javascript interface to allow presentation and attaching to other KS elements. It should also provide a method to hide all popovers. +- The global screen component should organize more elements similar to the mainbar and metabar, at least tabs, maybe also forms and tables. +- Internal IDs from the global screen should be rendered as data attributes with the KS elements. This would make it possible to remove the ID mapping in the guided tour. +- The KS page element should provide a stable structure that enables other components to address elements like forms or tables in the main content and other areas reliably. This is also important for skins or plugins trying to modify these elements. +- The KS tooltip element needs to be fixed. It should be possible to use it on all major interactive elements. diff --git a/components/ILIAS/Help/ROADMAP.md b/components/ILIAS/Help/ROADMAP.md index 7d1349c8a244..0ecf2b745bc0 100755 --- a/components/ILIAS/Help/ROADMAP.md +++ b/components/ILIAS/Help/ROADMAP.md @@ -1,4 +1,6 @@ -# Roadmap +# Roadmap Help + +There is a separated roadmap file for the guided tour: [ROADMAP-guided-tour.md](./ROADMAP-guided-tour.md) ## Short Term @@ -18,4 +20,4 @@ It should be possible to import and activate more than one help module. This wil ### Refactor / Abandon Tooltips -The legacy tooltip implementation is a constant source of issues, mostly tooltips are not disappearing which might be due to an side effect occuring in ILIAS when the qTip library is being used. Either this feature is abandoned or moved to another UI component. Additionally the accessibility of the feature needs to be ensured. \ No newline at end of file +The legacy tooltip implementation is a constant source of issues, mostly tooltips are not disappearing which might be due to an side effect occuring in ILIAS when the qTip library is being used. Either this feature is abandoned or moved to another UI component. Additionally the accessibility of the feature needs to be ensured. From 70079227a0ee59cbfbfd40abc42f744ec1693387 Mon Sep 17 00:00:00 2001 From: Matthias Kunkel Date: Fri, 28 Nov 2025 19:51:17 +0100 Subject: [PATCH 066/865] Fixed Mantis #44894 and #44908 - label improvements to support OER --- lang/ilias_de.lang | 4 ++-- lang/ilias_en.lang | 6 +++--- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/lang/ilias_de.lang b/lang/ilias_de.lang index b1b3b1e5c4b0..a85cc131a2a9 100644 --- a/lang/ilias_de.lang +++ b/lang/ilias_de.lang @@ -9805,7 +9805,7 @@ export#:#export_create#:#Neu erstellen export#:#export_create_new_file#:#Neue Exportdatei erstellen export#:#export_existing#:#Wiederverwenden export#:#export_export_date#:#Exportdatum -export#:#export_info_public_access#:#Öffentlich zugängliche Exportdatei +export#:#export_info_public_access#:#Öffentliche Exportdatei export#:#export_info_public_access_download#:#Download export#:#export_last_export#:#Letzter Export export#:#export_last_export_file#:#Letzte Exportdatei benutzen @@ -12059,7 +12059,7 @@ meta#:#md_import_file_vocab#:#Importdatei meta#:#md_import_vocab#:#Vokabular importieren meta#:#md_import_vocab_modal#:#Aus Datei importieren meta#:#md_months#:#Monate: -meta#:#md_oai_contact_mail#:#E-Mail-Kontaktadresse +meta#:#md_oai_contact_mail#:#E-Mail-Kontakt dieser Organisation meta#:#md_oai_identifier_prefix#:#OAI Präfix meta#:#md_oai_identifier_prefix_info#:#Dieser Präfix wird als Namespace in den Bezeichnern von abgefragten OER-Datensätzen benutzt. meta#:#md_oai_pmh_enabled#:#Abfragen über OAI-PMH Schnittstelle erlauben diff --git a/lang/ilias_en.lang b/lang/ilias_en.lang index 0680e381de58..119665d12ec0 100644 --- a/lang/ilias_en.lang +++ b/lang/ilias_en.lang @@ -9806,7 +9806,7 @@ export#:#export_create#:#Create export#:#export_create_new_file#:#Create New Export File export#:#export_existing#:#Reuse export#:#export_export_date#:#Export Date -export#:#export_info_public_access#:#Public Access Export +export#:#export_info_public_access#:#Public Export export#:#export_info_public_access_download#:#Download export#:#export_last_export#:#Last Export export#:#export_last_export_file#:#Use Last Export File @@ -12060,12 +12060,12 @@ meta#:#md_import_file_vocab#:#Import File meta#:#md_import_vocab#:#Import meta#:#md_import_vocab_modal#:#Import From File meta#:#md_months#:#Months: -meta#:#md_oai_contact_mail#:#Contact E-Mail +meta#:#md_oai_contact_mail#:#Contact e-mail of this organisation meta#:#md_oai_identifier_prefix#:#OAI Prefix meta#:#md_oai_identifier_prefix_info#:#This prefix is used as a namespace in the identifiers of returned OER records. meta#:#md_oai_pmh_enabled#:#Allow Querying via OAI-PMH Interface meta#:#md_oai_pmh_enabled_info#:#If enabled, harvested OER can be queried by external interested parties, e.g. OER repositories. -meta#:#md_oai_repository_name#:#Repository Name +meta#:#md_oai_repository_name#:#Installation Name meta#:#md_oai_repository_name_info#:#This is returned as the name of this ILIAS installation when queried. meta#:#md_obj_types#:#Assigned Objects meta#:#md_record_export_table#:#Export Files From e49ee140f87c5b5dbf815bee9843f4f6a13b347b Mon Sep 17 00:00:00 2001 From: Aaron Bidzan Date: Tue, 25 Nov 2025 13:28:58 +0100 Subject: [PATCH 067/865] Streamlines some language variables in T&A --- lang/ilias_de.lang | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/lang/ilias_de.lang b/lang/ilias_de.lang index a85cc131a2a9..689dad6a957f 100644 --- a/lang/ilias_de.lang +++ b/lang/ilias_de.lang @@ -1425,7 +1425,7 @@ assessment#:#tst_change_points_for_question#:#Punkte für die Antwort assessment#:#tst_change_quest_set_type_from_old_to_new_with_conflict#:#Wenn Sie die Auswahl der Testfragen von %s auf %s ändern, geht die aktuelle Fragenzuordnung verloren. Sie müssen dann für die neue Konfiguration erneut Fragen zuordnen bzw. den Fragenpool entsprechend konfigurieren.
Klicken Sie auf Bestätigen, um die neue Einstellung zu verwenden, oder wählen Sie Abbrechen, wenn die aktuell eingestellte Auswahl der Testfragen beibehalten werden soll. assessment#:#tst_change_workingtime#:#Zeitverlängerung für einen Teilnehmer erstellen assessment#:#tst_comp_eval_mode#:#Evaluierung über -assessment#:#tst_comp_points#:#Kompetenz-Punkte +assessment#:#tst_comp_points#:#Kompetenzpunkte assessment#:#tst_competence#:#Kompetenz assessment#:#tst_competence_tree#:#Kompetenzbaum assessment#:#tst_conditions_checkbox_enabled#:#Prüfungsbedingungen @@ -1454,7 +1454,7 @@ assessment#:#tst_derive_new_pool#:#Neuen Fragenpool ableiten assessment#:#tst_derive_new_pools#:#Neue Fragenpools ableiten assessment#:#tst_dont_show_msg_again_in_current_session#:#Diese Meldung in meiner aktuellen Sitzung nicht mehr anzeigen. assessment#:#tst_dont_use_previous_answers#:#Ihre vorherigen Antworten werden in zukünftigen Testdurchläufen nicht als vorgegebene Werte verwendet -assessment#:#tst_edit_competence_assign#:#Bearbeite Zuordnungs-Eigenschaften +assessment#:#tst_edit_competence_assign#:#Bearbeite Zuordnungseigenschaften assessment#:#tst_edit_scoring#:#Ändere Bewertung assessment#:#tst_enable_questionlist#:#Fragenliste assessment#:#tst_enable_questionlist_description#:#Teilnehmer können sich links neben den Testfragen eine Fragenliste anzeigen lassen. @@ -1618,7 +1618,7 @@ assessment#:#tst_man_scoring_finalized_only#:#Nur bewertete Antworten anzeigen assessment#:#tst_man_scoring_only_answered#:#Nur beantwortete assessment#:#tst_man_scoring_questionselection#:#Fragen assessment#:#tst_man_scoring_userselection#:#Teilnehmer -assessment#:#tst_manage_competence_assigns#:#Kompetenz-Zuordnungen verwalten +assessment#:#tst_manage_competence_assigns#:#Kompetenzzuordnungen verwalten assessment#:#tst_manage_competence_select_skills#:#Kompetenzen auswählen assessment#:#tst_manscoring_input_max_points_for_question#:#Maximale Punktezahl für die Frage assessment#:#tst_manscoring_input_of_max#:#von @@ -1636,7 +1636,7 @@ assessment#:#tst_mark_passed#:#Bestanden assessment#:#tst_mark_reset_to_simple_mark_schema#:#Auf Einfaches Notenschema zurücksetzen assessment#:#tst_mark_reset_to_simple_mark_schema_confirmation#:#Möchten Sie wirklich fortfahren? Das aktuelle Notenschema wird durch ein einfaches Notenschema mit den Stufen „bestanden“ und „nicht bestanden“ ersetzt. Alle lokalen Änderungen werden gelöscht. assessment#:#tst_mark_short_form#:#Kurzbezeichnung -assessment#:#tst_max_comp_points#:#Maximale Kompetenz-Punkte +assessment#:#tst_max_comp_points#:#Maximale Kompetenzpunkte assessment#:#tst_maximum_points#:#Maximale Punktezahl assessment#:#tst_mc_label_none_above#:#Keine der obigen Antworten assessment#:#tst_median_mark_panel#:#Note des Median @@ -1662,8 +1662,8 @@ assessment#:#tst_msg_random_qsc_modified_add_new_rule#:#Die Konfiguration für d assessment#:#tst_msg_random_question_set_config_modified#:#Die Konfiguration für den Test mit zufälliger Fragenauswahl wurde erfolgreich geändert. assessment#:#tst_msg_random_question_set_synced#:#Die Fragen zur aktuellen Konfiguration des Tests mit zufälliger Fragenauswahl wurde erfolgreich synchronisiert. assessment#:#tst_msg_skl_lvl_thresholds_saved#:#Die Kompetenz-Schwellenwerte wurden gespeichert. -assessment#:#tst_msg_skl_qst_assign_points_not_saved#:#Die Kompetenz-Punkte wurden nicht gespeichert. Bitte überprüfen Sie Ihre Eingabe. -assessment#:#tst_msg_skl_qst_assign_points_saved#:#Die Kompetenz-Punkte wurden gespeichert. +assessment#:#tst_msg_skl_qst_assign_points_not_saved#:#Die Kompetenzpunkte wurden nicht gespeichert. Bitte überprüfen Sie Ihre Eingabe. +assessment#:#tst_msg_skl_qst_assign_points_saved#:#Die Kompetenzpunkte wurden gespeichert. assessment#:#tst_msg_source_pool_definitions_deleted#:#Die Regel für die Fragenauswahl wurde erfolgreich gelöscht. assessment#:#tst_nav_next_locks_current_answer_confirm#:#Wenn Sie zur nächsten Frage navigieren wird die Antwort zur aktuellen Frage festgeschrieben und kann nicht nochmals verändert werden. assessment#:#tst_nav_next_locks_current_answer_header#:#Aktuelle Antwort festschreiben? @@ -1763,8 +1763,8 @@ assessment#:#tst_qbt_filter_question_title#:#Fragentitel assessment#:#tst_qst_added_to_pool_p#:#Die Fragen wurden erfolgreich in den Fragenpool übernommen. assessment#:#tst_qst_added_to_pool_s#:#Die Frage wurde erfolgreich in den Fragenpool übernommen. assessment#:#tst_qst_order#:#Nr. -assessment#:#tst_qst_skl_cfg_in_pool_hint_dynquestset#:#Die Fragen-Kompetenz-Zuordnung für Tests im Modus „%s“ müssen grundsätzlich im zugeordneten Fragenpool vorgenommen werden:
%s

Die Vergabe der Kompetenz-Schwellwerte erfolgt hier im Test. -assessment#:#tst_qst_skl_cfg_in_pool_hint_rndquestset#:#Die Fragen-Kompetenz-Zuordnung für Tests im Modus „%s“ müssen grundsätzlich in den zugeordneten Fragenpools vorgenommen werden:
%s

Die Vergabe der Kompetenz-Schwellwerte erfolgt hier im Test. +assessment#:#tst_qst_skl_cfg_in_pool_hint_dynquestset#:#Die Fragen-Kompetenzzuordnung für Tests im Modus „%s“ müssen grundsätzlich im zugeordneten Fragenpool vorgenommen werden:
%s

Die Vergabe der Kompetenz-Schwellwerte erfolgt hier im Test. +assessment#:#tst_qst_skl_cfg_in_pool_hint_rndquestset#:#Die Fragen-Kompetenzzuordnung für Tests im Modus „%s“ müssen grundsätzlich in den zugeordneten Fragenpools vorgenommen werden:
%s

Die Vergabe der Kompetenz-Schwellwerte erfolgt hier im Test. assessment#:#tst_question#:#Frage assessment#:#tst_question_amount#:#Anzahl Fragen assessment#:#tst_question_answer_status#:#Welche Fragen sollen in die Wiedervorlage? @@ -1858,7 +1858,7 @@ assessment#:#tst_rnd_quest_set_cfg_pool_form#:#Regel für die Auswahl von Fragen assessment#:#tst_rnd_quest_set_tb_add_pool_btn#:#Regel für Fragenauswahl hinzufügen assessment#:#tst_save_and_create_new_rule#:#Speichern und neue Regel hinzufügen assessment#:#tst_save_and_proceed#:#Speichern und weiter -assessment#:#tst_save_comp_points#:#Speichere Kompetenz-Punkte +assessment#:#tst_save_comp_points#:#Speichere Kompetenzpunkte assessment#:#tst_save_manscoring_failed#:#Die Bewertung für Testdurchlauf %s konnte nicht gespeichert werden. assessment#:#tst_save_thresholds#:#Speichere Schwellenwerte assessment#:#tst_saved_manscoring_by_question_successfully#:#Die Bewertung der Frage %s für Testdurchlauf %s wurde erfolgreich gespeichert. @@ -1885,7 +1885,7 @@ assessment#:#tst_settings_not_found_msg#:#Testeinstellungen wurden nicht gefunde assessment#:#tst_show_answer_sheet#:#Antwortenübersicht anzeigen assessment#:#tst_show_cancel#:#"Test unterbrechen" anzeigen assessment#:#tst_show_cancel_description#:#Zeigt während der Durchführung des Tests einen Button an, mit der der Test unterbrochen werden kann. Achtung: Das Unterbrechen des Tests hält nicht die unter „Maximale Bearbeitungsdauer“ festgelegte Bearbeitungszeit an. -assessment#:#tst_show_comp_results#:#Kompetenz-Ergebnisse +assessment#:#tst_show_comp_results#:#Kompetenzergebnisse assessment#:#tst_show_results#:#Testergebnisse assessment#:#tst_show_side_list#:#Fragenliste an assessment#:#tst_show_solution_answers_only#:#Druckausgabe der Ergebnisse (nur Antworten) @@ -1980,7 +1980,7 @@ assessment#:#tst_use_previous_answers#:#Verwendung vorheriger Lösungen assessment#:#tst_use_previous_answers_description#:#Zeigt Teilnehmern die Antworten aus dem vorherigen Testdurchlauf an. Die Übernahme der Lösungen muss vom Teilnehmer vor Beginn des Testdurchlaufs in einem Modal per Checkbox aktiviert werden. assessment#:#tst_use_previous_answers_user#:#Meine Lösungen aus einem vorherigen Testdurchlauf als vorgegebene Werte verwenden assessment#:#tst_user_finished_test#:#Ein Teilnehmer hat den Test beendet (%s) -assessment#:#tst_view_competence_assign#:#Zeige Zuordnungs-Eigenschaften +assessment#:#tst_view_competence_assign#:#Zeige Zuordnungseigenschaften assessment#:#tst_virtual_pass_header_lo_initial#:#Einstiegsergebnisse zum Lernziel
%s assessment#:#tst_virtual_pass_header_lo_qualifying#:#Qualifizierende Ergebnisse zum Lernziel
%s assessment#:#tst_wf_info_answer_adopted_from_prev_pass#:#Ihre Antwort aus einem früheren Versuch wurde übernommen. From f5650ff4d74e325656252b73d5dd24639a7524be Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thomas=20Jou=C3=9Fen?= Date: Wed, 26 Nov 2025 14:40:52 +0100 Subject: [PATCH 068/865] T&A Adjust german language files for competence translations --- lang/ilias_de.lang | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/lang/ilias_de.lang b/lang/ilias_de.lang index 689dad6a957f..6d28864f86a0 100644 --- a/lang/ilias_de.lang +++ b/lang/ilias_de.lang @@ -496,7 +496,7 @@ assessment#:#ass_cloze_gap_fb_txt_match_label#:#Lücke %s - Angegebene Antwort: assessment#:#ass_cloze_gap_fb_txt_nomatch_label#:#Lücke %s - Falsche Eingabe assessment#:#ass_commented_questions_only#:#Nur kommentierte Fragen assessment#:#ass_comments#:#Kommentare -assessment#:#ass_competence_respect_level_ordering#:#Bitte beachten Sie, dass die Kompetenz-Schwellenwerte gemäß der Reihenfolge der Kompetenzstufen in aufsteigender Reihenfolge definiert werden müssen. +assessment#:#ass_competence_respect_level_ordering#:#Bitte beachten Sie, dass die Kompetenzschwellenwerte gemäß der Reihenfolge der Kompetenzstufen in aufsteigender Reihenfolge definiert werden müssen. assessment#:#ass_completion_by_submission#:#Bestehen durch Abgabe assessment#:#ass_completion_by_submission_info#:#Falls aktiviert, führt die Abgabe einer Lösungsdatei zur Vergabe der Maximalpunktzahl für diese Frage. Die Bewertung kann jederzeit manuell angepasst werden. Das Ändern dieser Einstellung hat keine nachträglichen Auswirkungen auf bereits eingereichte Lösungen. assessment#:#ass_create_export_file_with_results#:#inkl. Teilnehmerergebnisse @@ -1661,7 +1661,7 @@ assessment#:#tst_msg_rand_quest_set_stage_pool_last_sync#:#Zeitpunkt der letzten assessment#:#tst_msg_random_qsc_modified_add_new_rule#:#Die Konfiguration für den Test mit zufälliger Fragenauswahl wurde erfolgreich geändert. Sie können nun eine neue Regel hinzufügen. assessment#:#tst_msg_random_question_set_config_modified#:#Die Konfiguration für den Test mit zufälliger Fragenauswahl wurde erfolgreich geändert. assessment#:#tst_msg_random_question_set_synced#:#Die Fragen zur aktuellen Konfiguration des Tests mit zufälliger Fragenauswahl wurde erfolgreich synchronisiert. -assessment#:#tst_msg_skl_lvl_thresholds_saved#:#Die Kompetenz-Schwellenwerte wurden gespeichert. +assessment#:#tst_msg_skl_lvl_thresholds_saved#:#Die Kompetenzschwellenwerte wurden gespeichert. assessment#:#tst_msg_skl_qst_assign_points_not_saved#:#Die Kompetenzpunkte wurden nicht gespeichert. Bitte überprüfen Sie Ihre Eingabe. assessment#:#tst_msg_skl_qst_assign_points_saved#:#Die Kompetenzpunkte wurden gespeichert. assessment#:#tst_msg_source_pool_definitions_deleted#:#Die Regel für die Fragenauswahl wurde erfolgreich gelöscht. @@ -1914,10 +1914,10 @@ assessment#:#tst_single_answer_details#:#Zeige einzelne Antwort assessment#:#tst_skill_triggerings_num_req_answers#:#Benötigte Anzahl Antworten für Kompetenzerhebungen assessment#:#tst_skill_triggerings_num_req_answers_desc#:#Kompetenzen werden erst erhoben, wenn mindestens diese Anzahl Antworten zur Berechnung der Kompetenzstufe beitragen. assessment#:#tst_skill_triggerings_num_req_answers_not_reached_warn#:#Mindestens eine im Test adressierte Kompetenz ist nicht ausreichend vielen Fragen zugeordnet. Für diese Kompetenzen werden keine Kompetenzeinträge für Teilnehmer erfasst.
Die Mindestanzahl für zugewiesene Fragen: %s -assessment#:#tst_skl_level_thresholds_link#:#Kompetenz-Schwellenwerte konfigurieren +assessment#:#tst_skl_level_thresholds_link#:#Kompetenzschwellenwerte konfigurieren assessment#:#tst_skl_level_thresholds_missing#:#Es sind noch nicht für alle relevanten Kompetenzen Schwellenwerte definiert worden! assessment#:#tst_skl_res_interpretation_hint_msg#:#Beachten Sie, dass die Kompetenzergebnisse eines einzelnen Tests nur bedingt aussagekräftig sind. Je mehr Informationen zu den einzelnen Kompetenzen gesammelt werden, desto valider die Aussage. Sollten einzelne Kompetenzen keinen Eintrag erhalten haben, standen für diese Kompetenz zu wenig Informationen zur Verfügung. -assessment#:#tst_skl_sub_tab_thresholds#:#Kompetenz-Schwellenwerte +assessment#:#tst_skl_sub_tab_thresholds#:#Kompetenzschwellenwerte assessment#:#tst_sol_comp_expressions#:#Vergleichsausdrücke assessment#:#tst_solution_compare_cfg#:#Konfiguration für Antwortvergleich assessment#:#tst_source_question_pool#:#Fragenpool From 9f3c2db146daf016e5b3b791282a2ad66a0e3ccf Mon Sep 17 00:00:00 2001 From: Stephan Kergomard Date: Mon, 1 Dec 2025 10:48:59 +0100 Subject: [PATCH 069/865] COPage: Fix Wrong Link Target See: https://mantis.ilias.de/view.php?id=46393 --- components/ILIAS/COPage/classes/class.ilPageLinker.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/components/ILIAS/COPage/classes/class.ilPageLinker.php b/components/ILIAS/COPage/classes/class.ilPageLinker.php index c70cfd829a4d..f2dfe49a1d5d 100755 --- a/components/ILIAS/COPage/classes/class.ilPageLinker.php +++ b/components/ILIAS/COPage/classes/class.ilPageLinker.php @@ -186,7 +186,7 @@ public function getLinkXML(array $int_links): string $href = ""; if (ilUserUtil::hasPublicProfile($target_id)) { $href = $this->ctrl->getLinkTargetByClass( - [PublicProfileGUI::class], + [ilPublicProfileBaseClassGUI, PublicProfileGUI::class], "getHTML", "", false, From 038ec92b197283521c3462ae3a4d7e7ab04c2e80 Mon Sep 17 00:00:00 2001 From: Stephan Kergomard Date: Mon, 1 Dec 2025 11:04:24 +0100 Subject: [PATCH 070/865] Test: Fix Missing Array Index in Settings See: https://mantis.ilias.de/view.php?id=46384 --- .../src/Settings/MainSettings/class.SettingsMainGUI.php | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/components/ILIAS/Test/src/Settings/MainSettings/class.SettingsMainGUI.php b/components/ILIAS/Test/src/Settings/MainSettings/class.SettingsMainGUI.php index c8a5f1199184..5d97d7d39117 100755 --- a/components/ILIAS/Test/src/Settings/MainSettings/class.SettingsMainGUI.php +++ b/components/ILIAS/Test/src/Settings/MainSettings/class.SettingsMainGUI.php @@ -292,11 +292,9 @@ private function getFormConstraints(): Constraint { return $this->refinery->custom()->constraint( function (array $vs): bool { - if ($vs[self::PARTICIPANTS_FUNCTIONALITY_SETTINGS_LABEL]['postponed_questions_behaviour'] === true - && $vs[self::QUESTION_BEHAVIOUR_SETTINGS_LABEL]['lock_answers']['lock_answer_on_next_question']) { - return false; - } - return true; + return $vs[self::PARTICIPANTS_FUNCTIONALITY_SETTINGS_LABEL]['postponed_questions_behaviour'] === false + || !($vs[self::QUESTION_BEHAVIOUR_SETTINGS_LABEL]['lock_answers']['lock_answer_on_next_question'] + ?? $this->main_settings->getQuestionBehaviourSettings()->getLockAnswerOnNextQuestionEnabled()); }, $this->lng->txt('tst_settings_conflict_postpone_and_lock') ); From 88b55412f840af33cb1082c5c7f8a9ed7e2d86b5 Mon Sep 17 00:00:00 2001 From: Stephan Kergomard Date: Mon, 1 Dec 2025 11:08:37 +0100 Subject: [PATCH 071/865] COPage: Fix Forgotten Property Access --- components/ILIAS/COPage/classes/class.ilPageLinker.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/components/ILIAS/COPage/classes/class.ilPageLinker.php b/components/ILIAS/COPage/classes/class.ilPageLinker.php index f2dfe49a1d5d..51d164e4a204 100755 --- a/components/ILIAS/COPage/classes/class.ilPageLinker.php +++ b/components/ILIAS/COPage/classes/class.ilPageLinker.php @@ -186,7 +186,7 @@ public function getLinkXML(array $int_links): string $href = ""; if (ilUserUtil::hasPublicProfile($target_id)) { $href = $this->ctrl->getLinkTargetByClass( - [ilPublicProfileBaseClassGUI, PublicProfileGUI::class], + [ilPublicProfileBaseClassGUI::class, PublicProfileGUI::class], "getHTML", "", false, From 95ee0f288402e67c25ac6a8497f4f8ac626f664a Mon Sep 17 00:00:00 2001 From: Matheus Zych Date: Thu, 6 Nov 2025 15:19:43 +0100 Subject: [PATCH 072/865] Fixes issue with being undefinded when time runs out in test while working on it in multiple tabs --- .../ILIAS/Test/classes/class.ilTestPlayerAbstractGUI.php | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/components/ILIAS/Test/classes/class.ilTestPlayerAbstractGUI.php b/components/ILIAS/Test/classes/class.ilTestPlayerAbstractGUI.php index 311f84b01937..0e98895d0d95 100755 --- a/components/ILIAS/Test/classes/class.ilTestPlayerAbstractGUI.php +++ b/components/ILIAS/Test/classes/class.ilTestPlayerAbstractGUI.php @@ -355,14 +355,9 @@ public function saveQuestionSolution( return false; } - if ($this->canSaveResult() || $force) { - $saved = $this->save($question_obj, $authorized); - } - - if (!$saved - || ($question_obj instanceof QuestionPartiallySaveable - && !$question_obj->validateSolutionSubmit())) { + $saved = ($force || $this->canSaveResult()) && $this->save($question_obj, $authorized); + if (!$saved || ($question_obj instanceof QuestionPartiallySaveable && !$question_obj->validateSolutionSubmit())) { $this->ctrl->setParameter($this, 'save_error', '1'); ilSession::set('previouspost', $this->testrequest->getParsedBody()); } From 4e4c74c4a65f2ad8b272801722bc6ae4ef44b175 Mon Sep 17 00:00:00 2001 From: Matheus Zych Date: Wed, 5 Nov 2025 09:18:59 +0100 Subject: [PATCH 073/865] Fixes long menu question options modal not showing up --- .../TestQuestionPool/resources/js/dist/longMenuQuestion.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/components/ILIAS/TestQuestionPool/resources/js/dist/longMenuQuestion.js b/components/ILIAS/TestQuestionPool/resources/js/dist/longMenuQuestion.js index f49a3ab413cf..b9a7feb6d01b 100644 --- a/components/ILIAS/TestQuestionPool/resources/js/dist/longMenuQuestion.js +++ b/components/ILIAS/TestQuestionPool/resources/js/dist/longMenuQuestion.js @@ -382,7 +382,7 @@ var longMenuQuestion = (function () { pro.redrawAnswerList = function(question_id) { pro.checkAnswersArray(question_id); - const answer_options_element = document.querySelector('#ilGapModal .modal_answer_options'); + const answer_options_element = document.querySelector(`#${pub.gap_modal_id} .modal_answer_options`); answer_options_element.innerHTML = ''; if (pro.inputFieldsStillPossible(question_id)) From a86b87b2dbd69448b0226d32d41d46f6958f6d73 Mon Sep 17 00:00:00 2001 From: Tim Schmitz Date: Mon, 1 Dec 2025 11:53:14 +0100 Subject: [PATCH 074/865] Container: fix order of new items by title for manual ordering (46373) --- components/ILIAS/Container/Sorting/class.ilContainerSorting.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/components/ILIAS/Container/Sorting/class.ilContainerSorting.php b/components/ILIAS/Container/Sorting/class.ilContainerSorting.php index 92b92c2f9e0f..ca82fc6388d5 100755 --- a/components/ILIAS/Container/Sorting/class.ilContainerSorting.php +++ b/components/ILIAS/Container/Sorting/class.ilContainerSorting.php @@ -494,7 +494,7 @@ private function sortOrderDefault(array $items): array $no_position, 'title', ($this->getSortingSettings()->getSortDirection() === ilContainer::SORT_DIRECTION_ASC) ? 'asc' : 'desc', - true + false ); break; case ilContainer::SORT_NEW_ITEMS_ORDER_CREATION: From 86d3f99206472c09549d8b4e86f89ba68403f665 Mon Sep 17 00:00:00 2001 From: Aaron Bidzan Date: Wed, 15 Oct 2025 11:32:45 +0200 Subject: [PATCH 075/865] Removes byline for maximum duration of test in minutes --- .../Test/src/Settings/MainSettings/SettingsTestBehaviour.php | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/components/ILIAS/Test/src/Settings/MainSettings/SettingsTestBehaviour.php b/components/ILIAS/Test/src/Settings/MainSettings/SettingsTestBehaviour.php index 417e8dcfc99f..b322d130f013 100755 --- a/components/ILIAS/Test/src/Settings/MainSettings/SettingsTestBehaviour.php +++ b/components/ILIAS/Test/src/Settings/MainSettings/SettingsTestBehaviour.php @@ -249,8 +249,7 @@ static function (?array $vs): array { $sub_inputs_time_limit_for_completion['time_limit_for_completion_value'] = $f ->numeric( - $lng->txt('tst_processing_time_duration'), - $lng->txt('tst_processing_time_desc') + $lng->txt('tst_processing_time_duration') ) ->withRequired(true) ->withAdditionalTransformation($refinery->int()->isGreaterThan(0)) From a99d12becb377ac801d53098863e09bc401712cb Mon Sep 17 00:00:00 2001 From: Matheus Zych Date: Fri, 14 Nov 2025 09:19:38 +0100 Subject: [PATCH 076/865] Adds fix for json_decode issue in MoveSettingsTemplatesMigration --- .../ILIAS/Test/src/Setup/MoveSettingsTemplatesMigration.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/components/ILIAS/Test/src/Setup/MoveSettingsTemplatesMigration.php b/components/ILIAS/Test/src/Setup/MoveSettingsTemplatesMigration.php index e3cac43860f4..43111599c4ed 100644 --- a/components/ILIAS/Test/src/Setup/MoveSettingsTemplatesMigration.php +++ b/components/ILIAS/Test/src/Setup/MoveSettingsTemplatesMigration.php @@ -83,7 +83,7 @@ public function step(Environment $environment): void ); // Migrate the legacy json decoded to a row in 'tst_mark' - $raw_marks = json_decode($row['marks'], true); + $raw_marks = json_decode($row['marks'] ?? '[]', true) ?? []; foreach ($raw_marks as $mark_data) { $mark_id = $this->db->nextId('tst_mark'); $this->db->insert( From 34a517212e0751300fcef001c08f417512228659 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thomas=20Jou=C3=9Fen?= Date: Wed, 19 Nov 2025 16:58:28 +0100 Subject: [PATCH 077/865] Streamline plugin question type discovery based on type tag and plugin attribute --- .../GeneralQuestionPropertiesRepository.php | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/components/ILIAS/TestQuestionPool/src/Questions/GeneralQuestionPropertiesRepository.php b/components/ILIAS/TestQuestionPool/src/Questions/GeneralQuestionPropertiesRepository.php index 614beb9b99ad..8b31bfdcafe5 100755 --- a/components/ILIAS/TestQuestionPool/src/Questions/GeneralQuestionPropertiesRepository.php +++ b/components/ILIAS/TestQuestionPool/src/Questions/GeneralQuestionPropertiesRepository.php @@ -363,7 +363,7 @@ private function getForWhereClause(string $where): array $questions = []; while ($db_record = $this->db->fetchObject($query_result)) { - if (!$this->isQuestionTypeAvailable($db_record->plugin_name)) { + if (!$this->isQuestionTypeAvailable((bool) $db_record->is_plugin, $db_record->type_tag)) { continue; } $questions[$db_record->question_id] = $this @@ -372,12 +372,9 @@ private function getForWhereClause(string $where): array return $questions; } - /* - * $param array $question_data - */ - private function isQuestionTypeAvailable(?string $plugin_name): bool + private function isQuestionTypeAvailable(bool $is_plugin, string $question_type): bool { - if ($plugin_name === null) { + if ($is_plugin === false) { return true; } @@ -386,10 +383,10 @@ private function isQuestionTypeAvailable(?string $plugin_name): bool 'TestQuestionPool' )->getPluginSlotById('qst'); - if (!$plugin_slot->hasPluginName($plugin_name)) { + if (!$plugin_slot->hasPluginName($question_type)) { return false; } - return $plugin_slot->getPluginByName($plugin_name)->isActive(); + return $plugin_slot->getPluginByName($question_type)->isActive(); } } From ef109bf5cc9672c09b4f834b5109d11b828c1e04 Mon Sep 17 00:00:00 2001 From: Matheus Zych Date: Tue, 4 Nov 2025 15:05:37 +0100 Subject: [PATCH 078/865] Fixes issue with divisible by error --- .../classes/class.assFormulaQuestionGUI.php | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/components/ILIAS/TestQuestionPool/classes/class.assFormulaQuestionGUI.php b/components/ILIAS/TestQuestionPool/classes/class.assFormulaQuestionGUI.php index bc0ffdd27698..525cbe6546a8 100755 --- a/components/ILIAS/TestQuestionPool/classes/class.assFormulaQuestionGUI.php +++ b/components/ILIAS/TestQuestionPool/classes/class.assFormulaQuestionGUI.php @@ -612,16 +612,13 @@ public function editQuestion( $custom_errors = true; } - $int_precision = $form->getItemByPostVar('intprecision_' . $variable->getVariable()); - if (!$variable->isIntPrecisionValid($int_precision?->getValue(), $min_range_value, $max_range_value)) { - $int_precision?->setAlert($this->lng->txt('err_divider_too_big_specific')); - $custom_errors = true; - continue; - } - $decimal_spots = $form->getItemByPostVar('precision_' . $variable->getVariable()); + $int_precision = $form->getItemByPostVar('intprecision_' . $variable->getVariable()); if ($decimal_spots instanceof ilFormPropertyGUI && $decimal_spots->getValue() === 0) { - $int_precision?->setAlert($this->lng->txt('err_division')); + $txt = !$variable->isIntPrecisionValid($int_precision?->getValue(), $min_range_value, $max_range_value) + ? 'err_divider_too_big_specific' + : 'err_division'; + $int_precision?->setAlert($this->lng->txt($txt)); $custom_errors = true; } } From de174ba1da6412f5ff395ae4d89ee7baba7bf6e6 Mon Sep 17 00:00:00 2001 From: iszmais <45942348+iszmais@users.noreply.github.com> Date: Mon, 1 Dec 2025 14:09:27 +0100 Subject: [PATCH 079/865] add aria-describedby attribute to file wizard input (#10586) --- components/ILIAS/Form/resources/filewizard.js | 22 +++++++++++++++++++ .../default/tpl.prop_filewizardinput.html | 14 +++++++----- 2 files changed, 30 insertions(+), 6 deletions(-) diff --git a/components/ILIAS/Form/resources/filewizard.js b/components/ILIAS/Form/resources/filewizard.js index 1a7a0a2006a3..77b3e5fc4c51 100644 --- a/components/ILIAS/Form/resources/filewizard.js +++ b/components/ILIAS/Form/resources/filewizard.js @@ -1,3 +1,19 @@ +/** + * This file is part of ILIAS, a powerful learning management system + * published by ILIAS open source e-Learning e.V. + * + * ILIAS is licensed with the GPL-3.0, + * see https://www.gnu.org/licenses/gpl-3.0.en.html + * You should have received a copy of said license along with the + * source code, too. + * + * If this is not the case or you just want to try ILIAS, you'll find + * us at: + * https://www.ilias.de + * https://github.com/ILIAS-eLearning + * + ******************************************************************** */ + var ilFileWizardInputTemplate = { tag_container: 'div.wzdcnt', @@ -45,6 +61,7 @@ var ilFileWizardInputTemplate = { $(this).find('input:file').each(function () { that.handleId(this, 'id', rowindex); that.handleId(this, 'name', rowindex); + that.handleId(this, 'aria-describedby', rowindex); }); // hidden @@ -58,6 +75,11 @@ var ilFileWizardInputTemplate = { that.handleId(this, 'data-name', rowindex); }); + // help text + $(this).find('> div.help-blocks').each(function () { + that.handleId(this, 'id', rowindex); + }); + rowindex++; }); } diff --git a/components/ILIAS/Form/templates/default/tpl.prop_filewizardinput.html b/components/ILIAS/Form/templates/default/tpl.prop_filewizardinput.html index e844389203ab..99f44baa1a9b 100755 --- a/components/ILIAS/Form/templates/default/tpl.prop_filewizardinput.html +++ b/components/ILIAS/Form/templates/default/tpl.prop_filewizardinput.html @@ -2,18 +2,20 @@
{ALT_IMAGE}
- + {ADD_BUTTON} {REMOVE_BUTTON} {UP_BUTTON} {DOWN_BUTTON} -
{TXT_MAX_SIZE}
-
{TXT_MAX_UPLOADS}
- -
{TXT_ALLOWED_SUFFIXES}
- +
+
{TXT_MAX_SIZE}
+
{TXT_MAX_UPLOADS}
+ +
{TXT_ALLOWED_SUFFIXES}
+ +
\ No newline at end of file From 02ae86c1f294cb7b8aa85758b385b99008b4eb9b Mon Sep 17 00:00:00 2001 From: Stephan Kergomard Date: Mon, 1 Dec 2025 14:40:54 +0100 Subject: [PATCH 080/865] User: Revert to Wrong Direct Usage of DIC See: https://mantis.ilias.de/view.php?id=46285 --- components/ILIAS/User/classes/class.ilObjUser.php | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/components/ILIAS/User/classes/class.ilObjUser.php b/components/ILIAS/User/classes/class.ilObjUser.php index 1405af811519..6c78d7d08da2 100755 --- a/components/ILIAS/User/classes/class.ilObjUser.php +++ b/components/ILIAS/User/classes/class.ilObjUser.php @@ -492,7 +492,14 @@ public function delete(): bool ilSession::_destroyByUserId($this->getId()); ilLDAPRoleGroupMapping::_getInstance()->deleteUser($this->getId()); - $this->rbac_admin->removeUser($this->getId()); + + /** + * skergomard, 2025-12-01: Ok, this is not right, but we can sadly not change this + * as the User is initialized before RbacAdmin, so that the corresponding property + * that actually does exist, is never initialized in this class. + */ + global $DIC; + $DIC['rbac_admin']->removeUser($this->getId()); (ilOrgUnitUserAssignmentQueries::getInstance())->deleteAllAssignmentsOfUser($this->getId()); $mailbox = new ilMailbox($this->getId()); From 7347ccbafc7113c20d8fd94c4a4f85242cd6acbc Mon Sep 17 00:00:00 2001 From: Stephan Kergomard Date: Mon, 1 Dec 2025 14:44:52 +0100 Subject: [PATCH 081/865] User: Uuuups, Wrong Array Key --- components/ILIAS/User/classes/class.ilObjUser.php | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/components/ILIAS/User/classes/class.ilObjUser.php b/components/ILIAS/User/classes/class.ilObjUser.php index 6c78d7d08da2..1efc2d2fec73 100755 --- a/components/ILIAS/User/classes/class.ilObjUser.php +++ b/components/ILIAS/User/classes/class.ilObjUser.php @@ -498,8 +498,9 @@ public function delete(): bool * as the User is initialized before RbacAdmin, so that the corresponding property * that actually does exist, is never initialized in this class. */ + /** @var ILIAS\DI\Container $DIC */ global $DIC; - $DIC['rbac_admin']->removeUser($this->getId()); + $DIC['rbacadmin']->removeUser($this->getId()); (ilOrgUnitUserAssignmentQueries::getInstance())->deleteAllAssignmentsOfUser($this->getId()); $mailbox = new ilMailbox($this->getId()); From 88df2a237a434b12ccfc28ff3bda4280e977f063 Mon Sep 17 00:00:00 2001 From: Thibeau Fuhrer Date: Tue, 7 Oct 2025 16:57:37 +0200 Subject: [PATCH 082/865] #45899 ilCtrl: throw `RuntimeException` if invalid cmdNode is requested. Signed-off-by: Releasemanager --- .../classes/Path/class.ilCtrlExistingPath.php | 23 +++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/components/ILIAS/UICore/classes/Path/class.ilCtrlExistingPath.php b/components/ILIAS/UICore/classes/Path/class.ilCtrlExistingPath.php index 061223889de5..780e93e30400 100755 --- a/components/ILIAS/UICore/classes/Path/class.ilCtrlExistingPath.php +++ b/components/ILIAS/UICore/classes/Path/class.ilCtrlExistingPath.php @@ -36,5 +36,28 @@ public function __construct(ilCtrlStructureInterface $structure, string $cid_pat parent::__construct($structure); $this->cid_path = $cid_path; + $this->ensureValidCidPath(); + } + + /** + * Ensures each consecutive pair of CIDs must have a valid parent–child relationship. + * CID-paths with <= 1 CID are to be considered valid. + */ + protected function ensureValidCidPath(): void + { + $cid_array = $this->getCidArray(SORT_ASC); + $cid_count = count($cid_array); + if ($cid_count <= 1) { + return; + } + for ($current = 0, $max = ($cid_count - 1); $current < $max; $current++) { + $parent_cid = $cid_array[$current]; + $child_cid = $cid_array[$current + 1]; + $child_class = $this->structure->getClassNameByCid($child_cid); + $allowed_children = $this->structure->getChildrenByCid($parent_cid); + if (null === $child_class || !in_array($child_class, $allowed_children, true)) { + throw new RuntimeException('ilCtrl: invalid ' . ilCtrlInterface::PARAM_CID_PATH . ' parameter requested.'); + } + } } } From 1579efbec9459186b0a0e19ae6b32f478ac293b0 Mon Sep 17 00:00:00 2001 From: Thibeau Fuhrer Date: Mon, 1 Dec 2025 15:12:50 +0100 Subject: [PATCH 083/865] [FIX] #46364 UICore: type-error inside `ilCtrlExistingPath::ensureValidCidPath()`. * Fixes https://mantis.ilias.de/view.php?id=46364 * Always pass an array to `in_array()` --- .../ILIAS/UICore/classes/Path/class.ilCtrlExistingPath.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/components/ILIAS/UICore/classes/Path/class.ilCtrlExistingPath.php b/components/ILIAS/UICore/classes/Path/class.ilCtrlExistingPath.php index 780e93e30400..c777bdb1ed4f 100755 --- a/components/ILIAS/UICore/classes/Path/class.ilCtrlExistingPath.php +++ b/components/ILIAS/UICore/classes/Path/class.ilCtrlExistingPath.php @@ -54,7 +54,7 @@ protected function ensureValidCidPath(): void $parent_cid = $cid_array[$current]; $child_cid = $cid_array[$current + 1]; $child_class = $this->structure->getClassNameByCid($child_cid); - $allowed_children = $this->structure->getChildrenByCid($parent_cid); + $allowed_children = $this->structure->getChildrenByCid($parent_cid) ?? []; if (null === $child_class || !in_array($child_class, $allowed_children, true)) { throw new RuntimeException('ilCtrl: invalid ' . ilCtrlInterface::PARAM_CID_PATH . ' parameter requested.'); } From 23ba90fe74c6bac13d83cf73788dba77983a09cf Mon Sep 17 00:00:00 2001 From: Stephan Kergomard Date: Mon, 1 Dec 2025 15:31:43 +0100 Subject: [PATCH 084/865] User: Fix Redirect for LegalDocuments See: https://mantis.ilias.de/view.php?id=46286 --- .../ILIAS/User/src/StaticURLHandler.php | 58 ++++++++++++++++--- 1 file changed, 50 insertions(+), 8 deletions(-) diff --git a/components/ILIAS/User/src/StaticURLHandler.php b/components/ILIAS/User/src/StaticURLHandler.php index d25b49868a6f..2e44c27edffe 100755 --- a/components/ILIAS/User/src/StaticURLHandler.php +++ b/components/ILIAS/User/src/StaticURLHandler.php @@ -22,6 +22,7 @@ use ILIAS\User\Profile\PersonalProfileGUI; use ILIAS\User\Profile\PublicProfileGUI; +use ILIAS\LegalDocuments\Conductor as LegalDocumentsConductor; use ILIAS\StaticURL\Handler\Handler; use ILIAS\StaticURL\Request\Request; use ILIAS\StaticURL\Context; @@ -30,7 +31,6 @@ use ILIAS\StaticURL\Handler\BaseHandler; use ILIAS\StaticURL\Builder\StandardURIBuilder; use ILIAS\StaticURL\StaticURLConfig; -use ILIAS\Data\ReferenceId; class StaticURLHandler extends BaseHandler implements Handler { @@ -42,6 +42,14 @@ class StaticURLHandler extends BaseHandler implements Handler public const CONTACT_APPROVE_OPERATION = '_contact_approved'; public const CONTACT_IGNORE_OPERATION = '_contact_ignored'; + private readonly LegalDocumentsConductor $legal_documents; + + public function __construct() + { + global $DIC; + $this->legal_documents = $DIC['legalDocuments']; + } + public function getNamespace(): string { return self::NAMESPACE; @@ -80,11 +88,7 @@ public function handle( $context->ctrl(), 'ignoreContactRequest' ), - default => $this->buildProfileUrl( - $request->getReferenceId(), - $context->ctrl(), - PublicProfileGUI::DEFAULT_CMD - ) + default => $this->getRedirectToLegalDocumentsOrProfile($request, $context) }; return $response_factory->can($uri); @@ -114,12 +118,50 @@ private function getLoginUrl( } + private function getRedirectToLegalDocumentsOrProfile( + Request $request, + Context $context + ): string { + $user_id_as_ref_id = $request->getReferenceId(); + + if ($user_id_as_ref_id !== null) { + return $this->buildProfileUrl( + $user_id_as_ref_id->toInt(), + $context->ctrl(), + PublicProfileGUI::DEFAULT_CMD + ); + } + + $legal_documents_target = $this->legal_documents->findGotoLink( + $request->getAdditionalParameters()[0] ?? 'default' + ); + if ($legal_documents_target->isOK()) { + $context->ctrl()->setTargetScript('ilias.php'); + foreach ($legal_documents_target->value()->queryParams() as $key => $value) { + $context->ctrl()->setParameterByClass( + $legal_documents_target->value()->guiName(), + (string) $key, + $value + ); + } + return $context->ctrl()->getLinkTargetByClass( + $legal_documents_target->value()->guiPath(), + $legal_documents_target->value()->command() + ); + } + + return $context->ctrl()->getLinkTargetByClass( + [\ilDashboardGUI::class], + 'jumpToProfile' + ); + } + private function buildProfileUrl( - ReferenceId $target_user_id, + int $target_user_id, \ilCtrl $ctrl, string $cmd ): string { - $ctrl->setParameterByClass(PublicProfileGUI::class, 'user_id', $target_user_id->toInt()); + $ctrl->setParameterByClass(PublicProfileGUI::class, 'user_id', $target_user_id); return $ctrl->getLinkTargetByClass([\ilPublicProfileBaseClassGUI::class, PublicProfileGUI::class], $cmd); } } From d1b4c08c2cb42b22f7e8f75606beaaa7554e50f6 Mon Sep 17 00:00:00 2001 From: Matheus Zych Date: Fri, 14 Nov 2025 12:13:21 +0100 Subject: [PATCH 085/865] Adds fixes for other issues regarding the competences --- .../classes/class.ilAssQuestionList.php | 2 +- ...class.ilAssQuestionSkillAssignmentsGUI.php | 19 +++++++++++++------ 2 files changed, 14 insertions(+), 7 deletions(-) diff --git a/components/ILIAS/TestQuestionPool/classes/class.ilAssQuestionList.php b/components/ILIAS/TestQuestionPool/classes/class.ilAssQuestionList.php index 3e2ffeb6959e..31c6edfb9bae 100755 --- a/components/ILIAS/TestQuestionPool/classes/class.ilAssQuestionList.php +++ b/components/ILIAS/TestQuestionPool/classes/class.ilAssQuestionList.php @@ -671,7 +671,7 @@ private function isActiveQuestionType(array $questionData): bool ->isActive(); } - public function getDataArrayForQuestionId(int $questionId) + public function getDataArrayForQuestionId(int $questionId): array { return $this->questions[$questionId]; } diff --git a/components/ILIAS/TestQuestionPool/classes/class.ilAssQuestionSkillAssignmentsGUI.php b/components/ILIAS/TestQuestionPool/classes/class.ilAssQuestionSkillAssignmentsGUI.php index 72fae798974c..3cfebbbf6096 100755 --- a/components/ILIAS/TestQuestionPool/classes/class.ilAssQuestionSkillAssignmentsGUI.php +++ b/components/ILIAS/TestQuestionPool/classes/class.ilAssQuestionSkillAssignmentsGUI.php @@ -339,7 +339,7 @@ private function updateSkillQuestionAssignmentsCmd(): void } } - $this->ctrl->redirect($this, self::CMD_EDIT_SKILL_QUEST_ASSIGNS); + $this->editSkillQuestionAssignmentCmd(); } private function showSkillSelectionCmd(): void @@ -528,6 +528,11 @@ private function editSkillQuestionAssignmentCmd(): void ) ); + $this->ctrl->setParameterByClass( + ilAssQuestionSkillAssignmentsGUI::class, + 'q_id', + $this->request_data_collector->getQuestionId() + ); $this->toolbar->addComponent( $this->ui_factory->button()->standard( $this->lng->txt('tst_manage_competence_select_skills'), @@ -537,6 +542,7 @@ private function editSkillQuestionAssignmentCmd(): void ) ) ); + $this->ctrl->setParameterByClass(ilAssQuestionSkillAssignmentsGUI::class, 'q_id', null); $components = (new EditSkillsOfQuestionTable( $this->request_data_collector, @@ -552,7 +558,7 @@ private function editSkillQuestionAssignmentCmd(): void $this->tpl->setContent($this->ui_renderer->render($components)); } - private function isSyncOriginalPossibleAndAllowed($questionId): bool + private function isSyncOriginalPossibleAndAllowed(int $questionId): bool { $questionData = $this->question_list->getDataArrayForQuestionId($questionId); @@ -775,11 +781,12 @@ private function handleAssignmentConfigurationHintMessage(): void } } - private function getSkillSelectorHeader($questionId): string + private function getSkillSelectorHeader(int $questionId): string { - $questionData = $this->question_list->getDataArrayForQuestionId($questionId); - - return sprintf($this->lng->txt('qpl_qst_skl_selection_for_question_header'), $questionData['title']); + return sprintf( + $this->lng->txt('qpl_qst_skl_selection_for_question_header'), + $this->question_list->getDataArrayForQuestionId($questionId)['title'] + ); } private function sortAlphabetically($array) From b871d31a993a6adf7a716f844d4693e90004adb9 Mon Sep 17 00:00:00 2001 From: Matheus Zych Date: Mon, 27 Oct 2025 09:18:29 +0100 Subject: [PATCH 086/865] Improves participant data export and import and also fixes inconsistent participant naming in different tables --- .../ILIAS/Test/classes/class.ilObjTest.php | 104 +++++++++--------- .../classes/class.ilTestParticipantList.php | 23 ++-- .../class.ilTestResultsImportParser.php | 50 ++++----- .../Test/classes/class.ilTestResultsToXML.php | 52 ++++----- .../ILIAS/Test/src/ExportImport/Export.php | 12 +- .../ILIAS/Test/src/ExportImport/Factory.php | 13 +-- .../ExportFixedQuestionSetTest.php | 5 +- .../ExportRandomQuestionSetTest.php | 5 +- .../Test/tests/ilTestResultsToXMLTest.php | 7 +- 9 files changed, 133 insertions(+), 138 deletions(-) diff --git a/components/ILIAS/Test/classes/class.ilObjTest.php b/components/ILIAS/Test/classes/class.ilObjTest.php index 9972db05ccbd..67c6f13f6b78 100755 --- a/components/ILIAS/Test/classes/class.ilObjTest.php +++ b/components/ILIAS/Test/classes/class.ilObjTest.php @@ -3243,7 +3243,7 @@ public function toXML(): string $a_xml_writer->xmlStartTag("qtimetadatafield"); $a_xml_writer->xmlElement("fieldlabel", null, "anonymity"); - $a_xml_writer->xmlElement("fieldentry", null, sprintf("%d", $main_settings->getGeneralSettings()->getAnonymity())); + $a_xml_writer->xmlElement("fieldentry", null, $main_settings->getGeneralSettings()->getAnonymity() ? 1 : 0); $a_xml_writer->xmlEndTag("qtimetadatafield"); $a_xml_writer->xmlStartTag("qtimetadatafield"); @@ -3253,7 +3253,7 @@ public function toXML(): string $a_xml_writer->xmlStartTag("qtimetadatafield"); $a_xml_writer->xmlElement("fieldlabel", null, "sequence_settings"); - $a_xml_writer->xmlElement("fieldentry", null, $main_settings->getParticipantFunctionalitySettings()->getPostponedQuestionsMoveToEnd()); + $a_xml_writer->xmlElement("fieldentry", null, $main_settings->getParticipantFunctionalitySettings()->getPostponedQuestionsMoveToEnd() ? 1 : 0); $a_xml_writer->xmlEndTag("qtimetadatafield"); $a_xml_writer->xmlStartTag("qtimetadatafield"); @@ -3263,7 +3263,7 @@ public function toXML(): string $a_xml_writer->xmlStartTag("qtimetadatafield"); $a_xml_writer->xmlElement("fieldlabel", null, "reset_processing_time"); - $a_xml_writer->xmlElement("fieldentry", null, (int) $main_settings->getTestBehaviourSettings()->getResetProcessingTime()); + $a_xml_writer->xmlElement("fieldentry", null, $main_settings->getTestBehaviourSettings()->getResetProcessingTime() ? 1 : 0); $a_xml_writer->xmlEndTag("qtimetadatafield"); $a_xml_writer->xmlStartTag("qtimetadatafield"); @@ -3298,7 +3298,7 @@ public function toXML(): string $a_xml_writer->xmlStartTag('qtimetadatafield'); $a_xml_writer->xmlElement('fieldlabel', null, 'pass_deletion_allowed'); - $a_xml_writer->xmlElement('fieldentry', null, (int) $this->isPassDeletionAllowed()); + $a_xml_writer->xmlElement('fieldentry', null, $this->isPassDeletionAllowed() ? 1 : 0); $a_xml_writer->xmlEndTag('qtimetadatafield'); if ($this->getScoreSettings()->getResultSummarySettings()->getReportingDate() !== null) { @@ -3316,12 +3316,12 @@ public function toXML(): string $a_xml_writer->xmlStartTag("qtimetadatafield"); $a_xml_writer->xmlElement("fieldlabel", null, "nr_of_tries"); - $a_xml_writer->xmlElement("fieldentry", null, sprintf("%d", $main_settings->getTestBehaviourSettings()->getNumberOfTries())); + $a_xml_writer->xmlElement("fieldentry", null, $main_settings->getTestBehaviourSettings()->getNumberOfTries()); $a_xml_writer->xmlEndTag("qtimetadatafield"); $a_xml_writer->xmlStartTag('qtimetadatafield'); $a_xml_writer->xmlElement('fieldlabel', null, 'block_after_passed'); - $a_xml_writer->xmlElement('fieldentry', null, (int) $main_settings->getTestBehaviourSettings()->getBlockAfterPassedEnabled()); + $a_xml_writer->xmlElement('fieldentry', null, $main_settings->getTestBehaviourSettings()->getBlockAfterPassedEnabled() ? 1 : 0); $a_xml_writer->xmlEndTag('qtimetadatafield'); $a_xml_writer->xmlStartTag("qtimetadatafield"); @@ -3331,7 +3331,7 @@ public function toXML(): string $a_xml_writer->xmlStartTag("qtimetadatafield"); $a_xml_writer->xmlElement("fieldlabel", null, "kiosk"); - $a_xml_writer->xmlElement("fieldentry", null, sprintf("%d", $main_settings->getTestBehaviourSettings()->getKioskMode())); + $a_xml_writer->xmlElement("fieldentry", null, $main_settings->getTestBehaviourSettings()->getKioskMode()); $a_xml_writer->xmlEndTag("qtimetadatafield"); $a_xml_writer->xmlStartTag('qtimetadatafield'); @@ -3346,130 +3346,134 @@ public function toXML(): string $a_xml_writer->xmlStartTag("qtimetadatafield"); $a_xml_writer->xmlElement("fieldlabel", null, "use_previous_answers"); - $a_xml_writer->xmlElement("fieldentry", null, (int) $main_settings->getParticipantFunctionalitySettings()->getUsePreviousAnswerAllowed()); + $a_xml_writer->xmlElement("fieldentry", null, $main_settings->getParticipantFunctionalitySettings()->getUsePreviousAnswerAllowed() ? 1 : 0); $a_xml_writer->xmlEndTag("qtimetadatafield"); $a_xml_writer->xmlStartTag('qtimetadatafield'); $a_xml_writer->xmlElement('fieldlabel', null, 'question_list_enabled'); - $a_xml_writer->xmlElement('fieldentry', null, (int) $main_settings->getParticipantFunctionalitySettings()->getQuestionListEnabled()); + $a_xml_writer->xmlElement('fieldentry', null, $main_settings->getParticipantFunctionalitySettings()->getQuestionListEnabled() ? 1 : 0); $a_xml_writer->xmlEndTag('qtimetadatafield'); $a_xml_writer->xmlStartTag("qtimetadatafield"); $a_xml_writer->xmlElement("fieldlabel", null, "title_output"); - $a_xml_writer->xmlElement("fieldentry", null, sprintf("%d", $main_settings->getQuestionBehaviourSettings()->getQuestionTitleOutputMode())); + $a_xml_writer->xmlElement("fieldentry", null, $main_settings->getQuestionBehaviourSettings()->getQuestionTitleOutputMode()); $a_xml_writer->xmlEndTag("qtimetadatafield"); $a_xml_writer->xmlStartTag("qtimetadatafield"); $a_xml_writer->xmlElement("fieldlabel", null, "results_presentation"); - $a_xml_writer->xmlElement("fieldentry", null, sprintf("%d", $this->getScoreSettings()->getResultDetailsSettings()->getResultsPresentation())); + $a_xml_writer->xmlElement("fieldentry", null, $this->getScoreSettings()->getResultDetailsSettings()->getResultsPresentation()); $a_xml_writer->xmlEndTag("qtimetadatafield"); $a_xml_writer->xmlStartTag("qtimetadatafield"); $a_xml_writer->xmlElement("fieldlabel", null, "examid_in_test_pass"); - $a_xml_writer->xmlElement("fieldentry", null, sprintf("%d", $main_settings->getTestBehaviourSettings()->getExamIdInTestAttemptEnabled())); + $a_xml_writer->xmlElement("fieldentry", null, $main_settings->getTestBehaviourSettings()->getExamIdInTestAttemptEnabled() ? 1 : 0); $a_xml_writer->xmlEndTag("qtimetadatafield"); $a_xml_writer->xmlStartTag("qtimetadatafield"); $a_xml_writer->xmlElement("fieldlabel", null, "examid_in_test_res"); - $a_xml_writer->xmlElement("fieldentry", null, sprintf("%d", $this->getScoreSettings()->getResultDetailsSettings()->getShowExamIdInTestResults())); + $a_xml_writer->xmlElement("fieldentry", null, $this->getScoreSettings()->getResultDetailsSettings()->getShowExamIdInTestResults() ? 1 : 0); $a_xml_writer->xmlEndTag("qtimetadatafield"); $a_xml_writer->xmlStartTag("qtimetadatafield"); $a_xml_writer->xmlElement("fieldlabel", null, "usr_pass_overview_mode"); - $a_xml_writer->xmlElement("fieldentry", null, sprintf("%d", $main_settings->getParticipantFunctionalitySettings()->getUsrPassOverviewMode())); + $a_xml_writer->xmlElement("fieldentry", null, $main_settings->getParticipantFunctionalitySettings()->getUsrPassOverviewMode()); $a_xml_writer->xmlEndTag("qtimetadatafield"); $a_xml_writer->xmlStartTag("qtimetadatafield"); $a_xml_writer->xmlElement("fieldlabel", null, "score_reporting"); - $a_xml_writer->xmlElement("fieldentry", null, sprintf("%d", $this->getScoreSettings()->getResultSummarySettings()->getScoreReporting()->value)); + $a_xml_writer->xmlElement("fieldentry", null, $this->getScoreSettings()->getResultSummarySettings()->getScoreReporting()->value); $a_xml_writer->xmlEndTag("qtimetadatafield"); $a_xml_writer->xmlStartTag("qtimetadatafield"); $a_xml_writer->xmlElement("fieldlabel", null, "show_solution_list_comparison"); - $a_xml_writer->xmlElement("fieldentry", null, (int) $this->score_settings->getResultDetailsSettings()->getShowSolutionListComparison()); + $a_xml_writer->xmlElement("fieldentry", null, $this->score_settings->getResultDetailsSettings()->getShowSolutionListComparison() ? 1 : 0); $a_xml_writer->xmlEndTag("qtimetadatafield"); $a_xml_writer->xmlStartTag("qtimetadatafield"); $a_xml_writer->xmlElement("fieldlabel", null, "instant_verification"); - $a_xml_writer->xmlElement("fieldentry", null, sprintf("%d", (int) $main_settings->getQuestionBehaviourSettings()->getInstantFeedbackSolutionEnabled())); + $a_xml_writer->xmlElement("fieldentry", null, $main_settings->getQuestionBehaviourSettings()->getInstantFeedbackSolutionEnabled() ? 1 : 0); $a_xml_writer->xmlEndTag("qtimetadatafield"); $a_xml_writer->xmlStartTag("qtimetadatafield"); $a_xml_writer->xmlElement("fieldlabel", null, "answer_feedback"); - $a_xml_writer->xmlElement("fieldentry", null, sprintf("%d", (int) $main_settings->getQuestionBehaviourSettings()->getInstantFeedbackGenericEnabled())); + $a_xml_writer->xmlElement("fieldentry", null, $main_settings->getQuestionBehaviourSettings()->getInstantFeedbackGenericEnabled() ? 1 : 0); $a_xml_writer->xmlEndTag("qtimetadatafield"); $a_xml_writer->xmlStartTag("qtimetadatafield"); $a_xml_writer->xmlElement("fieldlabel", null, "instant_feedback_specific"); - $a_xml_writer->xmlElement("fieldentry", null, sprintf("%d", (int) $main_settings->getQuestionBehaviourSettings()->getInstantFeedbackSpecificEnabled())); + $a_xml_writer->xmlElement("fieldentry", null, $main_settings->getQuestionBehaviourSettings()->getInstantFeedbackSpecificEnabled() ? 1 : 0); $a_xml_writer->xmlEndTag("qtimetadatafield"); $a_xml_writer->xmlStartTag("qtimetadatafield"); $a_xml_writer->xmlElement("fieldlabel", null, "answer_feedback_points"); - $a_xml_writer->xmlElement("fieldentry", null, sprintf("%d", (int) $main_settings->getQuestionBehaviourSettings()->getInstantFeedbackPointsEnabled())); + $a_xml_writer->xmlElement("fieldentry", null, $main_settings->getQuestionBehaviourSettings()->getInstantFeedbackPointsEnabled() ? 1 : 0); $a_xml_writer->xmlEndTag("qtimetadatafield"); $a_xml_writer->xmlStartTag("qtimetadatafield"); $a_xml_writer->xmlElement("fieldlabel", null, "follow_qst_answer_fixation"); - $a_xml_writer->xmlElement("fieldentry", null, (int) $main_settings->getQuestionBehaviourSettings()->getLockAnswerOnNextQuestionEnabled()); + $a_xml_writer->xmlElement("fieldentry", null, $main_settings->getQuestionBehaviourSettings()->getLockAnswerOnNextQuestionEnabled() ? 1 : 0); $a_xml_writer->xmlEndTag("qtimetadatafield"); $a_xml_writer->xmlStartTag("qtimetadatafield"); $a_xml_writer->xmlElement("fieldlabel", null, "instant_feedback_answer_fixation"); - $a_xml_writer->xmlElement("fieldentry", null, (int) $main_settings->getQuestionBehaviourSettings()->getLockAnswerOnInstantFeedbackEnabled()); + $a_xml_writer->xmlElement("fieldentry", null, $main_settings->getQuestionBehaviourSettings()->getLockAnswerOnInstantFeedbackEnabled() ? 1 : 0); $a_xml_writer->xmlEndTag("qtimetadatafield"); $a_xml_writer->xmlStartTag("qtimetadatafield"); $a_xml_writer->xmlElement("fieldlabel", null, "force_instant_feedback"); - $a_xml_writer->xmlElement("fieldentry", null, (int) $main_settings->getQuestionBehaviourSettings()->getForceInstantFeedbackOnNextQuestion()); + $a_xml_writer->xmlElement("fieldentry", null, $main_settings->getQuestionBehaviourSettings()->getForceInstantFeedbackOnNextQuestion() ? 1 : 0); $a_xml_writer->xmlEndTag("qtimetadatafield"); $highscore_metadata = [ - 'highscore_enabled' => ['value' => $this->getHighscoreEnabled()], - 'highscore_anon' => ['value' => $this->getHighscoreAnon()], - 'highscore_achieved_ts' => ['value' => $this->getHighscoreAchievedTS()], - 'highscore_score' => ['value' => $this->getHighscoreScore()], - 'highscore_percentage' => ['value' => $this->getHighscorePercentage()], - 'highscore_wtime' => ['value' => $this->getHighscoreWTime()], - 'highscore_own_table' => ['value' => $this->getHighscoreOwnTable()], - 'highscore_top_table' => ['value' => $this->getHighscoreTopTable()], - 'highscore_top_num' => ['value' => $this->getHighscoreTopNum()], + 'highscore_enabled' => $this->getHighscoreEnabled(), + 'highscore_anon' => $this->getHighscoreAnon(), + 'highscore_achieved_ts' => $this->getHighscoreAchievedTS(), + 'highscore_score' => $this->getHighscoreScore(), + 'highscore_percentage' => $this->getHighscorePercentage(), + 'highscore_hints' => $this->getHighscoreHints(), + 'highscore_wtime' => $this->getHighscoreWTime(), + 'highscore_own_table' => $this->getHighscoreOwnTable(), + 'highscore_top_table' => $this->getHighscoreTopTable(), ]; - foreach ($highscore_metadata as $label => $data) { + foreach ($highscore_metadata as $label => $value) { $a_xml_writer->xmlStartTag("qtimetadatafield"); $a_xml_writer->xmlElement("fieldlabel", null, $label); - $a_xml_writer->xmlElement("fieldentry", null, sprintf("%d", $data['value'])); + $a_xml_writer->xmlElement("fieldentry", null, $value ? 1 : 0); $a_xml_writer->xmlEndTag("qtimetadatafield"); } + $a_xml_writer->xmlStartTag("qtimetadatafield"); + $a_xml_writer->xmlElement("fieldlabel", null, "highscore_top_num"); + $a_xml_writer->xmlElement("fieldentry", null, $this->getHighscoreTopNum()); + $a_xml_writer->xmlEndTag("qtimetadatafield"); $a_xml_writer->xmlStartTag("qtimetadatafield"); $a_xml_writer->xmlElement("fieldlabel", null, "suspend_test_allowed"); - $a_xml_writer->xmlElement("fieldentry", null, sprintf("%d", (int) $main_settings->getParticipantFunctionalitySettings()->getSuspendTestAllowed())); + $a_xml_writer->xmlElement("fieldentry", null, $main_settings->getParticipantFunctionalitySettings()->getSuspendTestAllowed() ? 1 : 0); $a_xml_writer->xmlEndTag("qtimetadatafield"); $a_xml_writer->xmlStartTag("qtimetadatafield"); $a_xml_writer->xmlElement("fieldlabel", null, "show_marker"); - $a_xml_writer->xmlElement("fieldentry", null, sprintf("%d", (int) $main_settings->getParticipantFunctionalitySettings()->getQuestionMarkingEnabled())); + $a_xml_writer->xmlElement("fieldentry", null, $main_settings->getParticipantFunctionalitySettings()->getQuestionMarkingEnabled() ? 1 : 0); $a_xml_writer->xmlEndTag("qtimetadatafield"); $a_xml_writer->xmlStartTag("qtimetadatafield"); $a_xml_writer->xmlElement("fieldlabel", null, "fixed_participants"); - $a_xml_writer->xmlElement("fieldentry", null, sprintf("%d", (int) $main_settings->getAccessSettings()->getFixedParticipants())); + $a_xml_writer->xmlElement("fieldentry", null, $main_settings->getAccessSettings()->getFixedParticipants() ? 1 : 0); $a_xml_writer->xmlEndTag("qtimetadatafield"); $a_xml_writer->xmlStartTag("qtimetadatafield"); $a_xml_writer->xmlElement("fieldlabel", null, "show_introduction"); - $a_xml_writer->xmlElement("fieldentry", null, sprintf("%d", (int) $main_settings->getIntroductionSettings()->getIntroductionEnabled())); + $a_xml_writer->xmlElement("fieldentry", null, $main_settings->getIntroductionSettings()->getIntroductionEnabled() ? 1 : 0); $a_xml_writer->xmlEndTag("qtimetadatafield"); $a_xml_writer->xmlStartTag("qtimetadatafield"); $a_xml_writer->xmlElement("fieldlabel", null, 'exam_conditions'); - $a_xml_writer->xmlElement("fieldentry", null, sprintf("%d", (int) $main_settings->getIntroductionSettings()->getExamConditionsCheckboxEnabled())); + $a_xml_writer->xmlElement("fieldentry", null, $main_settings->getIntroductionSettings()->getExamConditionsCheckboxEnabled() ? 1 : 0); $a_xml_writer->xmlEndTag("qtimetadatafield"); $a_xml_writer->xmlStartTag("qtimetadatafield"); $a_xml_writer->xmlElement("fieldlabel", null, "show_concluding_remarks"); - $a_xml_writer->xmlElement("fieldentry", null, sprintf("%d", (int) $main_settings->getFinishingSettings()->getConcludingRemarksEnabled())); + $a_xml_writer->xmlElement("fieldentry", null, $main_settings->getFinishingSettings()->getConcludingRemarksEnabled() ? 1 : 0); $a_xml_writer->xmlEndTag("qtimetadatafield"); $a_xml_writer->xmlStartTag("qtimetadatafield"); @@ -3479,7 +3483,7 @@ public function toXML(): string $a_xml_writer->xmlStartTag("qtimetadatafield"); $a_xml_writer->xmlElement("fieldlabel", null, "shuffle_questions"); - $a_xml_writer->xmlElement("fieldentry", null, sprintf("%d", (int) $main_settings->getQuestionBehaviourSettings()->getShuffleQuestions())); + $a_xml_writer->xmlElement("fieldentry", null, $main_settings->getQuestionBehaviourSettings()->getShuffleQuestions() ? 1 : 0); $a_xml_writer->xmlEndTag("qtimetadatafield"); $a_xml_writer->xmlStartTag("qtimetadatafield"); @@ -3489,12 +3493,12 @@ public function toXML(): string $a_xml_writer->xmlStartTag("qtimetadatafield"); $a_xml_writer->xmlElement("fieldlabel", null, "enable_examview"); - $a_xml_writer->xmlElement("fieldentry", null, (int) $main_settings->getFinishingSettings()->getShowAnswerOverview()); + $a_xml_writer->xmlElement("fieldentry", null, $main_settings->getFinishingSettings()->getShowAnswerOverview() ? 1 : 0); $a_xml_writer->xmlEndTag("qtimetadatafield"); $a_xml_writer->xmlStartTag("qtimetadatafield"); $a_xml_writer->xmlElement("fieldlabel", null, "skill_service"); - $a_xml_writer->xmlElement("fieldentry", null, (int) $main_settings->getAdditionalSettings()->getSkillsServiceEnabled()); + $a_xml_writer->xmlElement("fieldentry", null, $main_settings->getAdditionalSettings()->getSkillsServiceEnabled() ? 1 : 0); $a_xml_writer->xmlEndTag("qtimetadatafield"); if ($this->getInstantFeedbackSolution() == 1) { @@ -3508,17 +3512,17 @@ public function toXML(): string $a_xml_writer->xmlStartTag("qtimetadatafield"); $a_xml_writer->xmlElement("fieldlabel", null, "show_grading_status"); - $a_xml_writer->xmlElement("fieldentry", null, (int) $this->isShowGradingStatusEnabled()); + $a_xml_writer->xmlElement("fieldentry", null, $this->isShowGradingStatusEnabled() ? 1 : 0); $a_xml_writer->xmlEndTag("qtimetadatafield"); $a_xml_writer->xmlStartTag("qtimetadatafield"); $a_xml_writer->xmlElement("fieldlabel", null, "show_grading_mark"); - $a_xml_writer->xmlElement("fieldentry", null, (int) $this->isShowGradingMarkEnabled()); + $a_xml_writer->xmlElement("fieldentry", null, $this->isShowGradingMarkEnabled() ? 1 : 0); $a_xml_writer->xmlEndTag("qtimetadatafield"); $a_xml_writer->xmlStartTag('qtimetadatafield'); $a_xml_writer->xmlElement('fieldlabel', null, 'hide_info_tab'); - $a_xml_writer->xmlElement('fieldentry', null, (int) $this->getMainSettings()->getAdditionalSettings()->getHideInfoTab()); + $a_xml_writer->xmlElement('fieldentry', null, $this->getMainSettings()->getAdditionalSettings()->getHideInfoTab() ? 1 : 0); $a_xml_writer->xmlEndTag("qtimetadatafield"); if ($this->getStartingTime() > 0) { @@ -3549,7 +3553,7 @@ public function toXML(): string $a_xml_writer->xmlStartTag("qtimetadatafield"); $a_xml_writer->xmlElement("fieldlabel", null, "autosave"); - $a_xml_writer->xmlElement("fieldentry", null, (int) $main_settings->getQuestionBehaviourSettings()->getAutosaveEnabled()); + $a_xml_writer->xmlElement("fieldentry", null, $main_settings->getQuestionBehaviourSettings()->getAutosaveEnabled() ? 1 : 0); $a_xml_writer->xmlEndTag("qtimetadatafield"); $a_xml_writer->xmlStartTag("qtimetadatafield"); @@ -3559,17 +3563,17 @@ public function toXML(): string $a_xml_writer->xmlStartTag("qtimetadatafield"); $a_xml_writer->xmlElement("fieldlabel", null, "instant_feedback_specific"); - $a_xml_writer->xmlElement("fieldentry", null, (int) $main_settings->getQuestionBehaviourSettings()->getInstantFeedbackSpecificEnabled()); + $a_xml_writer->xmlElement("fieldentry", null, $main_settings->getQuestionBehaviourSettings()->getInstantFeedbackSpecificEnabled() ? 1 : 0); $a_xml_writer->xmlEndTag("qtimetadatafield"); $a_xml_writer->xmlStartTag("qtimetadatafield"); $a_xml_writer->xmlElement("fieldlabel", null, "instant_feedback_answer_fixation"); - $a_xml_writer->xmlElement("fieldentry", null, (int) $main_settings->getQuestionBehaviourSettings()->getLockAnswerOnInstantFeedbackEnabled()); + $a_xml_writer->xmlElement("fieldentry", null, $main_settings->getQuestionBehaviourSettings()->getLockAnswerOnInstantFeedbackEnabled() ? 1 : 0); $a_xml_writer->xmlEndTag("qtimetadatafield"); $a_xml_writer->xmlStartTag("qtimetadatafield"); $a_xml_writer->xmlElement("fieldlabel", null, "enable_processing_time"); - $a_xml_writer->xmlElement("fieldentry", null, (int) $main_settings->getTestBehaviourSettings()->getProcessingTimeEnabled()); + $a_xml_writer->xmlElement("fieldentry", null, $main_settings->getTestBehaviourSettings()->getProcessingTimeEnabled() ? 1 : 0); $a_xml_writer->xmlEndTag("qtimetadatafield"); foreach ($this->getMarkSchema()->getMarkSteps() as $index => $mark) { diff --git a/components/ILIAS/Test/classes/class.ilTestParticipantList.php b/components/ILIAS/Test/classes/class.ilTestParticipantList.php index 35b80fc6491e..bd61cb6c2bd5 100755 --- a/components/ILIAS/Test/classes/class.ilTestParticipantList.php +++ b/components/ILIAS/Test/classes/class.ilTestParticipantList.php @@ -333,30 +333,25 @@ protected function lookupLastAccess(?int $active_id): string return $this->getTestObj()->_getLastAccess($active_id); } - protected function buildFullname(ilTestParticipant $participant): string + public function buildFullname(ilTestParticipant $participant): string { - if ($this->getTestObj()->getMainSettings()->getAccessSettings()->getFixedParticipants() && !$participant->getActiveId()) { - return $this->buildInviteeFullname($participant); - } - - return $this->buildParticipantsFullname($participant); + $active_id = $participant->getActiveId(); + $fixed_participants = $this->getTestObj()->getMainSettings()->getAccessSettings()->getFixedParticipants(); + return $fixed_participants && !$active_id + ? $this->buildInviteeFullname($participant) + : ilObjTestAccess::_getParticipantData($active_id); } protected function buildInviteeFullname(ilTestParticipant $participant): string { - if (strlen($participant->getFirstname() . $participant->getLastname()) == 0) { - return $this->lng->txt("deleted_user"); + if ("{$participant->getFirstname()}{$participant->getLastname()}" === '') { + return $this->lng->txt('deleted_user'); } if ($this->getTestObj()->getAnonymity()) { return $this->lng->txt('anonymous'); } - return trim($participant->getLastname() . ", " . $participant->getFirstname()); - } - - protected function buildParticipantsFullname(ilTestParticipant $participant): string - { - return ilObjTestAccess::_getParticipantData($participant->getActiveId()); + return trim("{$participant->getLastname()}, {$participant->getFirstname()}"); } } diff --git a/components/ILIAS/Test/classes/class.ilTestResultsImportParser.php b/components/ILIAS/Test/classes/class.ilTestResultsImportParser.php index c55ab970e300..86e4e3c68364 100755 --- a/components/ILIAS/Test/classes/class.ilTestResultsImportParser.php +++ b/components/ILIAS/Test/classes/class.ilTestResultsImportParser.php @@ -109,44 +109,44 @@ public function handlerBeginTag($a_xml_parser, $a_name, $a_attribs): void case 'tst_active': if (!$this->user_criteria_checked) { $this->user_criteria_checked = true; - if (isset($a_attribs['user_criteria']) - && $this->db->tableColumnExists('usr_data', $a_attribs['user_criteria'])) { - $analyzer = new ilDBAnalyzer(); - $info = $analyzer->getFieldInformation('usr_data'); - $this->user_criteria_field = $a_attribs['user_criteria']; - $this->user_criteria_type = $info[$a_attribs['user_criteria']]['type']; + $user_criteria = $a_attribs['user_criteria'] ?? null; + if ( + is_string($user_criteria) + && $this->db->tableColumnExists('usr_data', $user_criteria) + ) { + $info = (new ilDBAnalyzer())->getFieldInformation('usr_data'); + $this->user_criteria_field = $user_criteria; + $this->user_criteria_type = $info[$user_criteria]['type']; } } $usr_id = ANONYMOUS_USER_ID; if ($this->user_criteria_field !== '') { $result = $this->db->queryF( - 'SELECT usr_id FROM usr_data WHERE ' - . $this->user_criteria_field . ' = %s', + "SELECT usr_id FROM usr_data WHERE {$this->user_criteria_field} = %s", [$this->user_criteria_type], [$a_attribs[$this->user_criteria_field]] ); if ($result->numRows()) { - $row = $this->db->fetchAssoc($result); - $usr_id = $row['usr_id']; + $usr_id = $this->db->fetchAssoc($result)['usr_id']; } } - $next_id = $this->db->nextId('tst_active'); + $next_id = $this->db->nextId('tst_active'); $this->db->insert('tst_active', [ - 'active_id' => ['integer', $next_id], - 'user_fi' => ['integer', $usr_id], - 'anonymous_id' => ['text', strlen($a_attribs['anonymous_id']) ? $a_attribs['anonymous_id'] : null], - 'test_fi' => ['integer', $this->test_obj->getTestId()], - 'lastindex' => ['integer', $a_attribs['lastindex']], - 'tries' => ['integer', $a_attribs['tries']], - 'submitted' => ['integer', $a_attribs['submitted']], - 'submittimestamp' => ['timestamp', strlen($a_attribs['submittimestamp']) ? $a_attribs['submittimestamp'] : null], - 'tstamp' => ['integer', $a_attribs['tstamp']], - 'importname' => ['text', $a_attribs['fullname']], - 'last_finished_pass' => ['integer', $this->fetchLastFinishedPass($a_attribs)], - 'last_started_pass' => ['integer', $this->fetchLastStartedPass($a_attribs)], - 'answerstatusfilter' => ['integer', $this->fetchAttribute($a_attribs, 'answer_status_filter')], - 'objective_container' => ['integer', $this->fetchAttribute($a_attribs, 'objective_container')] + 'active_id' => [ilDBConstants::T_INTEGER, $next_id], + 'user_fi' => [ilDBConstants::T_INTEGER, $usr_id], + 'anonymous_id' => [ilDBConstants::T_TEXT, $a_attribs['anonymous_id'] ?: null], + 'test_fi' => [ilDBConstants::T_INTEGER, $this->test_obj->getTestId()], + 'lastindex' => [ilDBConstants::T_INTEGER, $a_attribs['lastindex']], + 'tries' => [ilDBConstants::T_INTEGER, $a_attribs['tries']], + 'submitted' => [ilDBConstants::T_INTEGER, $a_attribs['submitted']], + 'submittimestamp' => [ilDBConstants::T_TIMESTAMP, $a_attribs['submittimestamp'] ?: null], + 'tstamp' => [ilDBConstants::T_INTEGER, $a_attribs['tstamp']], + 'importname' => [ilDBConstants::T_TEXT, $a_attribs['fullname']], + 'last_finished_pass' => [ilDBConstants::T_INTEGER, $this->fetchLastFinishedPass($a_attribs)], + 'last_started_pass' => [ilDBConstants::T_INTEGER, $this->fetchLastStartedPass($a_attribs)], + 'answerstatusfilter' => [ilDBConstants::T_INTEGER, $this->fetchAttribute($a_attribs, 'answer_status_filter')], + 'objective_container' => [ilDBConstants::T_INTEGER, $this->fetchAttribute($a_attribs, 'objective_container')] ]); $this->active_id_mapping[$a_attribs['active_id']] = $next_id; break; diff --git a/components/ILIAS/Test/classes/class.ilTestResultsToXML.php b/components/ILIAS/Test/classes/class.ilTestResultsToXML.php index 9c9453c76e14..bc3a6d67888d 100755 --- a/components/ILIAS/Test/classes/class.ilTestResultsToXML.php +++ b/components/ILIAS/Test/classes/class.ilTestResultsToXML.php @@ -22,16 +22,17 @@ class ilTestResultsToXML extends ilXmlWriter { - private $active_ids; + private array $active_ids = []; protected bool $include_random_test_questions_enabled = false; public function __construct( - private int $test_id, - private ilDBInterface $db, - private ResourceStorage $irss, - private string $objects_export_directory, - private bool $anonymized = false + private readonly ilObjTest $test_obj, + private readonly ilDBInterface $db, + private readonly ResourceStorage $irss, + private readonly ilObjUser $user, + private readonly ilLanguage $lng, + private string $objects_export_directory ) { parent::__construct(); } @@ -48,30 +49,25 @@ public function setIncludeRandomTestQuestionsEnabled(bool $include_random_test_q protected function exportActiveIDs(): void { - $assessment_setting = new ilSetting('assessment'); - $user_criteria = $assessment_setting->get('user_criteria'); - if ($user_criteria === null || $user_criteria === '') { - $user_criteria = 'usr_id'; - } + $user_criteria = (new ilSetting('assessment'))->get('user_criteria', 'usr_id'); + + $query = $this->test_obj->getAnonymity() + ? 'SELECT * FROM tst_active WHERE test_fi = %s' + : "SELECT tst_active.*, usr_data.{$user_criteria} FROM tst_active, usr_data WHERE tst_active.test_fi = %s AND tst_active.user_fi = usr_data.usr_id"; + $result = $this->db->queryF($query, [ilDBConstants::T_INTEGER], [$this->test_obj->getTestId()]); + + $test_participant_list = new ilTestParticipantList($this->test_obj, $this->user, $this->lng, $this->db); + $test_participant_list->initializeFromDbRows($this->test_obj->getTestParticipants()); - if ($this->anonymized) { - $result = $this->db->queryF( - 'SELECT * FROM tst_active WHERE test_fi = %s', - ['integer'], - [$this->test_id] - ); - } else { - $result = $this->db->queryF( - 'SELECT tst_active.*, usr_data.' . $user_criteria . ' FROM tst_active, usr_data WHERE tst_active.test_fi = %s AND tst_active.user_fi = usr_data.usr_id', - ['integer'], - [$this->test_id] - ); - } $this->xmlStartTag('tst_active', null); while ($row = $this->db->fetchAssoc($result)) { + $this->active_ids[] = $row['active_id']; + $participant = $test_participant_list->getParticipantByActiveId($row['active_id']); + $attrs = [ 'active_id' => $row['active_id'], - 'user_fi' => $row['user_fi'] ?? '', + 'user_fi' => $this->test_obj->getAnonymity() ? '' : ($row['user_fi'] ?? ''), + 'fullname' => $participant ? $test_participant_list->buildFullname($participant) : '', 'anonymous_id' => $row['anonymous_id'] ?? '', 'test_fi' => $row['test_fi'], 'lastindex' => $row['lastindex'] ?? '', @@ -82,12 +78,12 @@ protected function exportActiveIDs(): void 'submittimestamp' => $row['submittimestamp'] ?? '', 'tstamp' => $row['tstamp'] ?? '' ]; - $attrs['fullname'] = ilObjTestAccess::_getParticipantData($row['active_id']); - if (!$this->anonymized) { + + if (!$this->test_obj->getAnonymity()) { $attrs['user_criteria'] = $user_criteria; $attrs[$user_criteria] = $row[$user_criteria]; } - array_push($this->active_ids, $row['active_id']); + $this->xmlElement('row', $attrs); } $this->xmlEndTag('tst_active'); diff --git a/components/ILIAS/Test/src/ExportImport/Export.php b/components/ILIAS/Test/src/ExportImport/Export.php index 22b528d4402e..0589f705b5d2 100755 --- a/components/ILIAS/Test/src/ExportImport/Export.php +++ b/components/ILIAS/Test/src/ExportImport/Export.php @@ -54,7 +54,7 @@ abstract class Export implements Exporter protected string $inst_id; public function __construct( - protected readonly Language $lng, + protected readonly \ilLanguage $lng, protected readonly \ilDBInterface $db, protected readonly \ilBenchmark $bench, protected readonly TestLogger $logger, @@ -63,7 +63,8 @@ public function __construct( protected readonly GeneralQuestionPropertiesRepository $questionrepository, protected readonly FileDeliveryServices $file_delivery, protected readonly \ilObjTest $test_obj, - protected readonly ResourceStorage $irss + protected readonly ResourceStorage $irss, + protected readonly \ilObjUser $user ) { $this->inst_id = (string) IL_INST_ID; $this->export_dir = $test_obj->getExportDirectory(); @@ -166,11 +167,12 @@ public function write(): ?string if ($this->isResultExportingEnabled()) { $resultwriter = new \ilTestResultsToXML( - $this->test_obj->getTestId(), + $this->test_obj, $this->db, $this->irss, - $this->export_dir . "/" . $this->subdir . "/objects", - $this->test_obj->getAnonymity() + $this->user, + $this->lng, + "{$this->export_dir}/{$this->subdir}/objects" ); $resultwriter->setIncludeRandomTestQuestionsEnabled($this->test_obj->isRandomTest()); $this->bench->start('TestExport', 'write_results'); diff --git a/components/ILIAS/Test/src/ExportImport/Factory.php b/components/ILIAS/Test/src/ExportImport/Factory.php index c9bdc60e7866..b1b3d9340e3c 100755 --- a/components/ILIAS/Test/src/ExportImport/Factory.php +++ b/components/ILIAS/Test/src/ExportImport/Factory.php @@ -85,10 +85,7 @@ public function getExporter( case Types::XML: case Types::XML_WITH_RESULTS: - $export_class = ExportFixedQuestionSet::class; - if (!$test_obj->isFixedTest()) { - $export_class = ExportRandomQuestionSet::class; - } + $export_class = $test_obj->isFixedTest() ? ExportFixedQuestionSet::class : ExportRandomQuestionSet::class; $export = new $export_class( $this->lng, @@ -100,13 +97,11 @@ public function getExporter( $this->questionrepository, $this->file_delivery, $test_obj, - $this->irss + $this->irss, + $this->current_user ); - if ($export_type === Types::XML_WITH_RESULTS) { - return $export->withResultExportingEnabled(true); - } - return $export; + return $export->withResultExportingEnabled($export_type === Types::XML_WITH_RESULTS); case Types::PLUGIN: if ($plugin_type === null) { diff --git a/components/ILIAS/Test/tests/ExportImport/ExportFixedQuestionSetTest.php b/components/ILIAS/Test/tests/ExportImport/ExportFixedQuestionSetTest.php index cd87aeac6e75..7266ca3cab9d 100755 --- a/components/ILIAS/Test/tests/ExportImport/ExportFixedQuestionSetTest.php +++ b/components/ILIAS/Test/tests/ExportImport/ExportFixedQuestionSetTest.php @@ -39,7 +39,7 @@ protected function setUp(): void $this->addGlobal_resourceStorage(); $this->testObj = new ExportFixedQuestionSet( - $this->createMock(\ILIAS\Language\Language::class), + $this->createMock(\ilLanguage::class), $this->createMock(\ilDBInterface::class), $this->createMock(\ilBenchmark::class), $this->createMock(\ILIAS\Test\Logging\TestLogger::class), @@ -48,7 +48,8 @@ protected function setUp(): void $this->createMock(\ILIAS\TestQuestionPool\Questions\GeneralQuestionPropertiesRepository::class), $this->createMock(\ILIAS\FileDelivery\Services::class), $this->createMock(\ilObjTest::class), - $DIC['resource_storage'] + $DIC['resource_storage'], + $DIC['ilUser'] ); } diff --git a/components/ILIAS/Test/tests/ExportImport/ExportRandomQuestionSetTest.php b/components/ILIAS/Test/tests/ExportImport/ExportRandomQuestionSetTest.php index 6c10d8527cf0..acb3bbbaffd8 100755 --- a/components/ILIAS/Test/tests/ExportImport/ExportRandomQuestionSetTest.php +++ b/components/ILIAS/Test/tests/ExportImport/ExportRandomQuestionSetTest.php @@ -38,7 +38,7 @@ protected function setUp(): void $this->addGlobal_resourceStorage(); $this->testObj = new ExportRandomQuestionSet( - $this->createMock(\ILIAS\Language\Language::class), + $this->createMock(\ilLanguage::class), $this->createMock(\ilDBInterface::class), $this->createmOck(\ilBenchmark::class), $this->createMock(\ILIAS\Test\Logging\TestLogger::class), @@ -47,7 +47,8 @@ protected function setUp(): void $this->createMock(\ILIAS\TestQuestionPool\Questions\GeneralQuestionPropertiesRepository::class), $this->createMock(\ILIAS\FileDelivery\Services::class), $this->getTestObjMock(), - $DIC['resource_storage'] + $DIC['resource_storage'], + $DIC['ilUser'] ); } diff --git a/components/ILIAS/Test/tests/ilTestResultsToXMLTest.php b/components/ILIAS/Test/tests/ilTestResultsToXMLTest.php index 7dc6c6ecd4cf..9cb7405aab4f 100755 --- a/components/ILIAS/Test/tests/ilTestResultsToXMLTest.php +++ b/components/ILIAS/Test/tests/ilTestResultsToXMLTest.php @@ -32,11 +32,12 @@ protected function setUp(): void parent::setUp(); $this->testObj = new ilTestResultsToXML( - 0, + $this->createMock(ilObjTest::class), $DIC['ilDB'], $DIC['resource_storage'], - '', - false + $DIC['ilUser'], + $DIC['lng'], + '' ); } From 232a442e90df626b80598545ea0b00626fb8409b Mon Sep 17 00:00:00 2001 From: Stephan Kergomard Date: Mon, 1 Dec 2025 17:05:19 +0100 Subject: [PATCH 087/865] User: Add More Missing Static Urls See: https://mantis.ilias.de/view_user_page.php?id=466 --- .../src/Account/class.DeleteAccountGUI.php | 5 +- .../ILIAS/User/src/StaticURLHandler.php | 77 +++++++++++++------ lang/ilias_de.lang | 1 + lang/ilias_en.lang | 1 + 4 files changed, 61 insertions(+), 23 deletions(-) diff --git a/components/ILIAS/User/src/Account/class.DeleteAccountGUI.php b/components/ILIAS/User/src/Account/class.DeleteAccountGUI.php index 77369095a375..12bea97d611f 100755 --- a/components/ILIAS/User/src/Account/class.DeleteAccountGUI.php +++ b/components/ILIAS/User/src/Account/class.DeleteAccountGUI.php @@ -96,7 +96,10 @@ protected function deleteOwnAccountLogout(): void \ilSession::setClosingContext(\ilSession::SESSION_CLOSE_USER); $this->auth_session->logout(); - $this->ctrl->redirectToURL('login.php?cmd=force_login&target=usr_' . md5('usrdelown')); + $this->ctrl->redirectToURL( + 'login.php?cmd=force_login&target=usr_' + . StaticURLHandler::DEL_OWN_ACCOUNT_OPERATION + ); } protected function deleteOwnAccountStep2(): void diff --git a/components/ILIAS/User/src/StaticURLHandler.php b/components/ILIAS/User/src/StaticURLHandler.php index 2e44c27edffe..4c251c9a122b 100755 --- a/components/ILIAS/User/src/StaticURLHandler.php +++ b/components/ILIAS/User/src/StaticURLHandler.php @@ -20,8 +20,10 @@ namespace ILIAS\User; +use ILIAS\User\LocalDIC; use ILIAS\User\Profile\PersonalProfileGUI; use ILIAS\User\Profile\PublicProfileGUI; +use ILIAS\User\Settings\StartingPoint\Repository as StartingPointRepository; use ILIAS\LegalDocuments\Conductor as LegalDocumentsConductor; use ILIAS\StaticURL\Handler\Handler; use ILIAS\StaticURL\Request\Request; @@ -39,15 +41,20 @@ class StaticURLHandler extends BaseHandler implements Handler public const REGISTRATION_OPERATION = 'registration'; public const USERNAME_ASSIST_OPERATION = 'nameassist'; public const PASSWORD_ASSIST_OPERATION = 'pwassist'; + public const DEL_OWN_ACCOUNT_OPERATION = 'delown'; public const CONTACT_APPROVE_OPERATION = '_contact_approved'; public const CONTACT_IGNORE_OPERATION = '_contact_ignored'; private readonly LegalDocumentsConductor $legal_documents; + private readonly \ilObjUser $user; + private readonly StartingPointRepository $starting_point_repository; public function __construct() { global $DIC; $this->legal_documents = $DIC['legalDocuments']; + $this->user = $DIC['ilUser']; + $this->starting_point_repository = LocalDIC::dic()[StartingPointRepository::class]; } public function getNamespace(): string @@ -61,8 +68,9 @@ public function handle( Factory $response_factory ): Response { $additional_params = $request->getAdditionalParameters(); + $cmd = $additional_params[0] ?? ''; - $uri = match ($additional_params[0] ?? 'default') { + $uri = match ($cmd) { self::CHANGE_EMAIL_OPERATION => $context->isUserLoggedIn() ? $this->buildChangeEmailUrl($additional_params[1], $context->ctrl()) : $this->getLoginUrl($request, $context), @@ -79,16 +87,21 @@ public function handle( '' ), self::CONTACT_APPROVE_OPERATION => $this->buildProfileUrl( - $request->getReferenceId(), $context->ctrl(), + $request->getReferenceId(), 'approveContactRequest' ), self::CONTACT_IGNORE_OPERATION => $this->buildProfileUrl( - $request->getReferenceId(), $context->ctrl(), + $request->getReferenceId(), 'ignoreContactRequest' ), - default => $this->getRedirectToLegalDocumentsOrProfile($request, $context) + self::DEL_OWN_ACCOUNT_OPERATION => $this->buildDeleteUsrUrl($context), + default => $this->getRedirectToOtherComponentsOrProfile( + $context->ctrl(), + $request->getReferenceId(), + $cmd + ) }; return $response_factory->can($uri); @@ -118,49 +131,69 @@ private function getLoginUrl( } - private function getRedirectToLegalDocumentsOrProfile( - Request $request, + private function buildDeleteUsrUrl( Context $context ): string { - $user_id_as_ref_id = $request->getReferenceId(); - - if ($user_id_as_ref_id !== null) { - return $this->buildProfileUrl( - $user_id_as_ref_id->toInt(), - $context->ctrl(), - PublicProfileGUI::DEFAULT_CMD + if ($context->getUserId() !== ANONYMOUS_USER_ID + && $this->user->hasDeletionFlag()) { + $context->ctrl()->setTargetScript('ilias.php'); + return $context->ctrl()->getLinkTargetByClass( + [\ilDashboardGUI::class, \ilPersonalSkillsGUI::class], + 'deleteOwnAccountStep2' ); } - $legal_documents_target = $this->legal_documents->findGotoLink( - $request->getAdditionalParameters()[0] ?? 'default' + $context->mainTemplate()->setOnScreenMessage( + 'failure', + $context->lng()->txt('account_not_flagged_for_deletion'), + true ); + return $this->starting_point_repository->getValidAndAccessibleStartingPointAsUrl(); + } + + private function getRedirectToOtherComponentsOrProfile( + \ilCtrl $ctrl, + ?int $target_user_id, + string $cmd + ): string { + if (substr($cmd, -4) == '_bdg') { + return $ctrl->getLinkTargetByClass(\ilDashboardGUI::class, 'jumpToBadges'); + } + + $legal_documents_target = $this->legal_documents->findGotoLink($cmd); if ($legal_documents_target->isOK()) { - $context->ctrl()->setTargetScript('ilias.php'); + $ctrl->setTargetScript('ilias.php'); foreach ($legal_documents_target->value()->queryParams() as $key => $value) { - $context->ctrl()->setParameterByClass( + $ctrl->setParameterByClass( $legal_documents_target->value()->guiName(), (string) $key, $value ); } - return $context->ctrl()->getLinkTargetByClass( + return $ctrl->getLinkTargetByClass( $legal_documents_target->value()->guiPath(), $legal_documents_target->value()->command() ); } - return $context->ctrl()->getLinkTargetByClass( - [\ilDashboardGUI::class], - 'jumpToProfile' + return $this->buildProfileUrl( + $target_user_id->toInt(), + $ctrl, + PublicProfileGUI::DEFAULT_CMD ); } private function buildProfileUrl( - int $target_user_id, \ilCtrl $ctrl, + ?int $target_user_id, string $cmd ): string { + if ($target_user_id === null) { + return $ctrl->getLinkTargetByClass( + [\ilDashboardGUI::class], + 'jumpToProfile' + ); + } $ctrl->setParameterByClass(PublicProfileGUI::class, 'user_id', $target_user_id); return $ctrl->getLinkTargetByClass([\ilPublicProfileBaseClassGUI::class, PublicProfileGUI::class], $cmd); } diff --git a/lang/ilias_de.lang b/lang/ilias_de.lang index 6d28864f86a0..477401d80dbb 100644 --- a/lang/ilias_de.lang +++ b/lang/ilias_de.lang @@ -17505,6 +17505,7 @@ ui#:#ui_transcription#:#Abschrift ui#:#unselect_node#:#Knoten %s von der Auswahl entfernen ui#:#vc_sort#:#Sortiert nach: ui#:#warning_url_too_long_msg#:#Die Anzahl der ausgewählten Zeilen führt zu einer zu großen Datenmenge, die nicht übertragen werden kann. Wählen Sie weniger Zeilen aus oder führen Sie die Aktion für die gesamte Tabelle durch (Sammelaktionen). +user#:#account_not_flagged_for_deletion#:#Das Konto ist nicht zum Löschen markiert. user#:#activate_in_profile_fields#:#Das Ändern des Anmeldenamens muss unter Profil > Profile aktiviert werden, bevor diese Einstellung angepasst werden kann. user#:#administrative_settings#:#Administrative Einstellungen user#:#all_roles_has_starting_point#:#Alle Rollen mit definierter Startseite diff --git a/lang/ilias_en.lang b/lang/ilias_en.lang index 119665d12ec0..040d5cd54635 100644 --- a/lang/ilias_en.lang +++ b/lang/ilias_en.lang @@ -17506,6 +17506,7 @@ ui#:#ui_transcription#:#Transcript ui#:#unselect_node#:#Remove node %s from selection ui#:#vc_sort#:#Sort by: ui#:#warning_url_too_long_msg#:#The amount of selected rows will result in a very large URL; the Server will probably block this request.
Please select less rows or perform the action on all entries. +user#:#account_not_flagged_for_deletion#:#The account is not flagged for deletion. user#:#activate_in_profile_fields#:#To change this setting, the user must first be allowed to change their login name under Profile > Profile Fields user#:#administrative_settings#:#Administrative Settings user#:#all_roles_has_starting_point#:#All the roles have starting points From 081e37ecc2e501e029a4d1418d909ac3f015556a Mon Sep 17 00:00:00 2001 From: Stephan Kergomard Date: Mon, 1 Dec 2025 17:15:57 +0100 Subject: [PATCH 088/865] Object: Always Load LangModule For Repository See: https://mantis.ilias.de/view.php?id=46299 --- .../ILIASObject/src/Properties/MultiPropertiesManipulator.php | 1 + 1 file changed, 1 insertion(+) diff --git a/components/ILIAS/ILIASObject/src/Properties/MultiPropertiesManipulator.php b/components/ILIAS/ILIASObject/src/Properties/MultiPropertiesManipulator.php index 98513ceb41f8..b0928c8ce831 100755 --- a/components/ILIAS/ILIASObject/src/Properties/MultiPropertiesManipulator.php +++ b/components/ILIAS/ILIASObject/src/Properties/MultiPropertiesManipulator.php @@ -41,6 +41,7 @@ public function __construct( private readonly \ilGlobalTemplateInterface $tpl, private readonly Refinery $refinery ) { + $this->language->loadLanguageModule('rep'); } public function getAvailabilityPeriodButton(): StandardButton From 47a1ef645c822f925ab9c613009bc7c1e3f4e65e Mon Sep 17 00:00:00 2001 From: Lukas Eichenauer Date: Tue, 25 Nov 2025 15:04:22 +0100 Subject: [PATCH 089/865] fix: keep question id between redirects in ilAssQuestionSkillAssignmentsGUI --- .../classes/class.ilAssQuestionSkillAssignmentsGUI.php | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/components/ILIAS/TestQuestionPool/classes/class.ilAssQuestionSkillAssignmentsGUI.php b/components/ILIAS/TestQuestionPool/classes/class.ilAssQuestionSkillAssignmentsGUI.php index 3cfebbbf6096..dcf3b8182a4b 100755 --- a/components/ILIAS/TestQuestionPool/classes/class.ilAssQuestionSkillAssignmentsGUI.php +++ b/components/ILIAS/TestQuestionPool/classes/class.ilAssQuestionSkillAssignmentsGUI.php @@ -276,6 +276,7 @@ private function saveSkillPointsCmd(): void private function updateSkillQuestionAssignmentsCmd(): void { + $this->keepAssignmentParameters(); $question_id = $this->request_data_collector->getQuestionId(); if ($this->isTestQuestion($question_id)) { @@ -344,7 +345,7 @@ private function updateSkillQuestionAssignmentsCmd(): void private function showSkillSelectionCmd(): void { - $this->ctrl->saveParameter($this, 'q_id'); + $this->keepAssignmentParameters(); $question_id = $this->request_data_collector->getQuestionId(); $assignmentList = new ilAssQuestionSkillAssignmentList($this->db); @@ -521,6 +522,8 @@ private function editSkillQuestionAssignmentCmd(): void $assignment_list->loadFromDb(); $assignment_list->loadAdditionalSkillData(); + $this->keepAssignmentParameters(); + $edit_uri = $this->data_factory->uri( ILIAS_HTTP_PATH . '/' . $this->ctrl->getLinkTargetByClass( self::class, From 5281aa16a539e998ed9deebb12168e6c6feeaa83 Mon Sep 17 00:00:00 2001 From: Matheus Zych Date: Tue, 4 Nov 2025 15:21:36 +0100 Subject: [PATCH 090/865] Adds missing parameter to getTotalRowCount method call --- .../Test/src/Questions/Presentation/QuestionsBrowserTable.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/components/ILIAS/Test/src/Questions/Presentation/QuestionsBrowserTable.php b/components/ILIAS/Test/src/Questions/Presentation/QuestionsBrowserTable.php index 76115504f289..6d7177f3a219 100644 --- a/components/ILIAS/Test/src/Questions/Presentation/QuestionsBrowserTable.php +++ b/components/ILIAS/Test/src/Questions/Presentation/QuestionsBrowserTable.php @@ -171,7 +171,7 @@ public function getTotalRowCount( ): int { $filter_data ??= []; $this->addFiltersToQuestionList($filter_data); - return $this->question_list->getTotalRowCount($filter_data, $additional_parameters); + return $this->question_list->getTotalRowCount($additional_viewcontrol_data, $filter_data, $additional_parameters); } public function loadRecords(array $filters = [], ?Order $order = null, ?Range $range = null): array From 21ffd3e4ff337f605dc283d1dfdd6f0e5fe6bfba Mon Sep 17 00:00:00 2001 From: Matheus Zych Date: Thu, 20 Nov 2025 22:07:37 +0100 Subject: [PATCH 091/865] Adds typecast to unit id in assFormulaQuestion --- .../ILIAS/TestQuestionPool/classes/class.assFormulaQuestion.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/components/ILIAS/TestQuestionPool/classes/class.assFormulaQuestion.php b/components/ILIAS/TestQuestionPool/classes/class.assFormulaQuestion.php index 3bb249fbd269..7a76c6c07f64 100755 --- a/components/ILIAS/TestQuestionPool/classes/class.assFormulaQuestion.php +++ b/components/ILIAS/TestQuestionPool/classes/class.assFormulaQuestion.php @@ -853,7 +853,7 @@ public function calculateReachedPointsFromPreviewSession(ilAssQuestionPreviewSes $this->getVariables(), $this->getResults(), $user_solution[$result->getResult()] ?? '', - $unit_id !== null ? $this->unitrepository->getUnit($unit_id) : null, + $unit_id !== null ? $this->unitrepository->getUnit((int) $unit_id) : null, $this->unitrepository->getUnits() ); } From 3a6757ff52d9299d6c4bd698899d0e7971f48ddd Mon Sep 17 00:00:00 2001 From: Lukas Eichenauer Date: Thu, 27 Nov 2025 08:13:42 +0100 Subject: [PATCH 092/865] refactor: move typecast to ensure unit_id will always be int or null --- .../TestQuestionPool/classes/class.assFormulaQuestion.php | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/components/ILIAS/TestQuestionPool/classes/class.assFormulaQuestion.php b/components/ILIAS/TestQuestionPool/classes/class.assFormulaQuestion.php index 7a76c6c07f64..f2346cb561b8 100755 --- a/components/ILIAS/TestQuestionPool/classes/class.assFormulaQuestion.php +++ b/components/ILIAS/TestQuestionPool/classes/class.assFormulaQuestion.php @@ -848,12 +848,15 @@ public function calculateReachedPointsFromPreviewSession(ilAssQuestionPreviewSes $points = 0; foreach ($this->getResults() as $result) { - $unit_id = $user_solution[$result->getResult() . '_unit'] ?? null; + $unit_id = isset($user_solution[$result->getResult() . '_unit']) + ? (int) $user_solution[$result->getResult() . '_unit'] + : null; + $points += $result->getReachedPoints( $this->getVariables(), $this->getResults(), $user_solution[$result->getResult()] ?? '', - $unit_id !== null ? $this->unitrepository->getUnit((int) $unit_id) : null, + $unit_id !== null ? $this->unitrepository->getUnit($unit_id) : null, $this->unitrepository->getUnits() ); } From bb64be48a6d96f9daec0a88dbb1cbc4203ac1517 Mon Sep 17 00:00:00 2001 From: Lukas Eichenauer Date: Mon, 1 Dec 2025 15:14:06 +0100 Subject: [PATCH 093/865] refactor: add numeric check for unit id --- .../TestQuestionPool/classes/class.assFormulaQuestion.php | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/components/ILIAS/TestQuestionPool/classes/class.assFormulaQuestion.php b/components/ILIAS/TestQuestionPool/classes/class.assFormulaQuestion.php index f2346cb561b8..c3c8a7c44231 100755 --- a/components/ILIAS/TestQuestionPool/classes/class.assFormulaQuestion.php +++ b/components/ILIAS/TestQuestionPool/classes/class.assFormulaQuestion.php @@ -848,8 +848,9 @@ public function calculateReachedPointsFromPreviewSession(ilAssQuestionPreviewSes $points = 0; foreach ($this->getResults() as $result) { - $unit_id = isset($user_solution[$result->getResult() . '_unit']) - ? (int) $user_solution[$result->getResult() . '_unit'] + $result_unit = $result->getResult() . '_unit'; + $unit_id = isset($user_solution[$result_unit]) && is_numeric($user_solution[$result_unit]) + ? (int) $user_solution[$result_unit] : null; $points += $result->getReachedPoints( From 01f989fa0d7abe4579f36811391b79833b873e90 Mon Sep 17 00:00:00 2001 From: Thibeau Fuhrer Date: Tue, 2 Dec 2025 08:21:27 +0100 Subject: [PATCH 094/865] [FIX] #45677 UICore: decode `cmdNode` GET parameter. * Fixes https://mantis.ilias.de/view.php?id=45677 * Decode possibly encoded `cmdNode` GET parameter when initialing `ilCtrl` --- components/ILIAS/UICore/classes/class.ilCtrlContext.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/components/ILIAS/UICore/classes/class.ilCtrlContext.php b/components/ILIAS/UICore/classes/class.ilCtrlContext.php index b620ab712402..71b0c2ef856b 100755 --- a/components/ILIAS/UICore/classes/class.ilCtrlContext.php +++ b/components/ILIAS/UICore/classes/class.ilCtrlContext.php @@ -298,7 +298,7 @@ protected function adoptRequestParameters(): void // if an existing path is provided use it by default. $existing_path = $this->getQueryParam(ilCtrlInterface::PARAM_CID_PATH); if (null !== $existing_path) { - $this->path = $this->path_factory->existing($existing_path); + $this->path = $this->path_factory->existing(rawurldecode($existing_path)); } // set the provided baseclass, which might override the From ea486e7a356a7977b13ff6b5e8c190a2d8abf4ba Mon Sep 17 00:00:00 2001 From: Thibeau Fuhrer Date: Tue, 2 Dec 2025 09:10:20 +0100 Subject: [PATCH 095/865] [FIX] #46072 UI: bundle `drilldown.min.js` for latest changes. * Fixes https://mantis.ilias.de/view.php?id=46072 * Bundles `drilldown.min.js` with Rollup REMINDER: These files should not be kept inside the repository, this makes cherry-picking fixes a nightmare. --- components/ILIAS/UI/resources/js/Menu/dist/drilldown.min.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/components/ILIAS/UI/resources/js/Menu/dist/drilldown.min.js b/components/ILIAS/UI/resources/js/Menu/dist/drilldown.min.js index e71dc3342fc8..cf730357d0c7 100644 --- a/components/ILIAS/UI/resources/js/Menu/dist/drilldown.min.js +++ b/components/ILIAS/UI/resources/js/Menu/dist/drilldown.min.js @@ -12,4 +12,4 @@ * https://www.ilias.de * https://github.com/ILIAS-eLearning */ -!function(e,t,s){"use strict";class i{#e=new Set;#t;#s;#i;#l;constructor(e,t,s,i,l,r){this.#t=s,this.#s=i,this.#i=l,this.#l=r,e.on(t,this.#l,(()=>{this.#r()})),this.#i.maybeAddFilterHandler((e=>{"Tab"!==e.key&&"Shift"!==e.key&&this.#n(e)})),this.parseLevels(),this.engageLevel(this.#t.read())}parseLevels(){this.#i.parseLevel(((e,t,s,i,l)=>this.#s.addLevel(e,t,s,i,l)),((e,t)=>this.#s.buildLeaf(e,t)),(e=>{this.engageLevel(e)}))}removeEngageListener(e){this.#e.has(e)&&this.#e.delete(e)}addEngageListener(e){this.#e.has(e)||this.#e.add(e)}getBackSignal(){return this.#l}engageLevel(e){this.#s.engageLevel(e),this.#a(),this.#e.forEach((t=>{t(e)}))}getParentLevel(){return this.#s.getCurrent()?.parent??null}getCurrentLevel(){return this.#s.getCurrent().id}#n(e){this.#s.engageLevel(0),this.#s.filter(e),this.#i.setFiltered(this.#s.getFiltered()),e.target.focus()}#r(){this.#s.upLevel(),this.engageLevel(this.#s.getCurrent().id)}#a(){const e=this.#s.getCurrent(),t=this.#s.getParent();let s=2;null===e.parent?s=0:"0"===e.parent&&(s=1),this.#i.setEngaged(e.id),this.#t.store(e.id),this.#i.setHeader(e.headerDisplayElement,t.headerDisplayElement),this.#i.setHeaderBacknav(s),this.#i.correctRightColumnPositionAndHeight(e.id)}}class l{#d="level_id";#h;constructor(e){this.#h=e}#c(){return this.#h}read(){return this.#h.items[this.#d]??"0"}store(e){this.#h.add(this.#d,e),this.#h.store()}}class r{#o={id:null,parent:null,engaged:!1,headerDisplayElement:"",leaves:[]};#E={index:null,text:null,filtered:!1};#u=[];#g(e,t,s,i){const l={...this.#o};return l.id=e,l.parent=s,l.headerDisplayElement=t,l.leaves=i,l}buildLeaf(e,t){const s={...this.#E};return s.index=e,s.text=t,s}addLevel(e,t,s,i=null){let l=i;if(null===l){l=this.#u.length.toString();const i=this.#g(l,e,t,s);this.#u[i.id]=i}else this.#u[l].leaves=s;return this.#u[l]}engageLevel(e){this.#u.forEach((t=>{t.engaged=t.id===e}))}getLevel(e){const t=this.#u.find((t=>t.id===e));return t||null}getCurrent(){const e=this.#u.find((e=>e.engaged));return void 0!==e?e:this.#u[0]}getParent(){const e=this.getCurrent();return e.parent?this.getLevel(e.parent):{}}upLevel(){const e=this.getCurrent();e.parent&&this.engageLevel(this.getLevel(e.parent).id)}#m(e){null!==e&&0!==e||(this.#u[e].filtered=!1,null!==this.#u[e].parent&&0!==this.#u[e].parent&&this.#m(this.#u[e].parent))}filter(e){const t=e.target.value.toLowerCase();this.#u.forEach((e=>{e.leaves.forEach((e=>{const s=e;""!==t?!1!==s.text.toLowerCase().includes(t)?s.filtered=!1:s.filtered=!0:s.filtered=!1}))}))}getFiltered(){const e=[];return this.#u.forEach((t=>{const s=t.leaves.filter((e=>e.filtered));if(s.length>0){const i=this.#g(t.id,t.headerDisplayElement,t.parent,[...s]);e.push(i)}})),e}}function n(e,t){for(let s=0;s input`)?.addEventListener("keyup",e)}parseLevel(e,t,s){n(this.#_().querySelectorAll(this.#L.LIST_TAG),(i=>{const l=i.getAttribute(this.#L.ID_ATTRIBUTE),r=e(this.#f(i),this.#I(i),this.#A(i,t),l);null===l&&(this.#y(i,r.id),this.registerHandler(i,s,r.id),this.#v.levels[r.id]=i)}))}#y(e,t){e.setAttribute(this.#L.ID_ATTRIBUTE,t)}#f(e){const t=e.parentElement.querySelector(`:scope > .${this.#L.HEADER_ELEMENT}`);if(null===t)return null;let s=null;return s=this.#p.createElement("h2"),s.textContent=t.innerText,s}#I(e){return e.parentElement.parentElement.getAttribute(this.#L.ID_ATTRIBUTE)}#A(e,t){const s=e.querySelectorAll(`:scope >.${this.#L.MENU_LEAF}`),i=[];return n(s,((e,s)=>{i.push(t(s,e.firstElementChild.innerText))})),i}registerHandler(e,t,s){const i=e.parentElement.querySelector(`:scope > .${this.#L.HEADER_ELEMENT}`);null!==i&&i.addEventListener("click",(()=>{t(s)}))}setEngaged(e){this.#v.dd.querySelector(`.${this.#L.ACTIVE}`)?.classList.remove(`${this.#L.ACTIVE}`),this.#v.dd.querySelector(`.${this.#L.ACTIVE_ITEM}`)?.classList.remove(`${this.#L.ACTIVE_ITEM}`),this.#v.dd.querySelector(`.${this.#L.ACTIVE_PARENT}`)?.classList.remove(`${this.#L.ACTIVE_PARENT}`);const t=this.#v.levels[e];t.classList.add(this.#L.ACTIVE);const s=t.parentElement.parentElement;"UL"===s.nodeName?(t.parentElement.classList.add(this.#L.ACTIVE_ITEM),s.classList.add(this.#L.ACTIVE_PARENT)):t.classList.add(this.#L.ACTIVE_PARENT);const i=this.#v.levels[e].querySelector(":scope > li")?.firstElementChild;i?.focus()}setFiltered(e){const t=this.#v.dd.querySelectorAll(`${this.#L.LIST_TAG}`),s=this.#v.dd.querySelectorAll(`.${this.#L.MENU_LEAF}`),i=e.map((e=>e.id)),l=this.#v.dd.querySelectorAll(`.${this.#L.MENU} > ul > .${this.#L.MENU_BRANCH}`);if(this.#v.levels.forEach((e=>{const t=e;t.style.removeProperty("top"),t.style.removeProperty("height")})),s.forEach((e=>{e.classList.remove(this.#L.FILTERED)})),0===e.length)return this.#v.dd.classList.remove(this.#L.MENU_FILTERED),l.forEach((e=>{const t=e;t.firstElementChild.disabled=!1,t.classList.remove(this.#L.FILTERED)})),void this.correctRightColumnPositionAndHeight("0");this.setEngaged(0),this.#v.dd.classList.add(this.#L.MENU_FILTERED),l.forEach((e=>{const t=e;t.firstElementChild.disabled=!0,t.classList.remove(this.#L.FILTERED)})),i.forEach(((s,i)=>{const[l]=[...t].filter((e=>e.getAttribute(this.#L.ID_ATTRIBUTE)===s)),r=l.querySelectorAll(`:scope >.${this.#L.MENU_LEAF}`);e[i].leaves.forEach((e=>r[e.index].classList.add(this.#L.FILTERED)))})),l.forEach((e=>{if(0===e.querySelectorAll(`.${this.#L.MENU_LEAF}:not(.${this.#L.FILTERED})`).length){e.classList.add(this.#L.FILTERED)}}))}setHeader(e,t){this.#v.header.children[1].replaceWith(this.#p.createElement("div")),null!==e?(this.#v.header.firstElementChild.replaceWith(e),null!==t&&this.#v.header.children[1].replaceWith(t)):this.#v.header.firstElementChild.replaceWith(this.#p.createElement("div"))}setHeaderBacknav(e){this.#v.header.classList.remove(this.#L.WITH_BACKLINK_TWO_COL),this.#v.header.classList.remove(this.#L.WITH_BACKLINK_ONE_COL),0!==e&&(e>1&&this.#v.header.classList.add(this.#L.WITH_BACKLINK_TWO_COL),this.#v.header.classList.add(this.#L.WITH_BACKLINK_ONE_COL))}correctRightColumnPositionAndHeight(e){let t=this.#v.levels[e];const s=this.#v.dd.querySelector(`.${this.#L.MENU}`),i=this.#v.dd.querySelector(`.${this.#L.MENU}`).offsetHeight;if(0!==i)this.#v.levels.forEach((e=>{const t=e;t.style.removeProperty("top"),t.style.removeProperty("height")})),"0"===e&&(t=t.querySelector(`:scope > .${this.#L.MENU_BRANCH} > ul`)),0!==t.offsetHeight&&(t.style.top=`-${t.offsetTop}px`,t.style.height=`${i}px`);else{const t=new this.#T((i=>{i[0].target.offsetHeight>0&&(this.correctRightColumnPositionAndHeight(e),t.unobserve(s))}));t.observe(s)}}}s.UI=s.UI||{},s.UI.menu=s.UI.menu||{},s.UI.menu.drilldown=new class{#C=[];#p;#T;#N;#R;constructor(e,t,s,i){this.#N=e,this.#T=t,this.#p=s,this.#R=i}init(e,t,s){if(void 0!==this.#C[e])throw new Error(`Drilldown with id '${e}' has already been initialized.`);null!==this.#p.getElementById(e)&&(this.#C[e]=new i(this.#N,this.#p,new l(new this.#R.Utilities.CookieStorage(s)),new r,new a(this.#p,this.#T,e),t))}getInstance(e){return void 0!==this.#C[e]?this.#C[e]:null}}(new class{#S;constructor(e){this.#S=e}on(e,t,s){this.#S(e).on(t,s)}off(e,t,s){this.#S(e).off(t,s)}}(t),e.defaultView.ResizeObserver,e,s)}(document,$,il); +!function(e,t,s){"use strict";class i{#e=new Set;#t;#s;#i;#l;constructor(e,t,s,i,l,r){this.#t=s,this.#s=i,this.#i=l,this.#l=r,e.on(t,this.#l,(()=>{this.#r()})),this.#i.maybeAddFilterHandler((e=>{"Tab"===e.key||"Shift"===e.key||e.isComposing||this.#n(e)})),this.parseLevels(),this.engageLevel(this.#t.read())}parseLevels(){this.#i.parseLevel(((e,t,s,i,l)=>this.#s.addLevel(e,t,s,i,l)),((e,t)=>this.#s.buildLeaf(e,t)),(e=>{this.engageLevel(e)}))}removeEngageListener(e){this.#e.has(e)&&this.#e.delete(e)}addEngageListener(e){this.#e.has(e)||this.#e.add(e)}getBackSignal(){return this.#l}engageLevel(e){this.#s.engageLevel(e),this.#a(),this.#e.forEach((t=>{t(e)}))}getParentLevel(){return this.#s.getCurrent()?.parent??null}getCurrentLevel(){return this.#s.getCurrent().id}#n(e){this.#s.engageLevel(0),this.#s.filter(e),this.#i.setFiltered(this.#s.getFiltered()),e.target.focus()}#r(){this.#s.upLevel(),this.engageLevel(this.#s.getCurrent().id)}#a(){const e=this.#s.getCurrent(),t=this.#s.getParent();let s=2;null===e.parent?s=0:"0"===e.parent&&(s=1),this.#i.setEngaged(e.id),this.#t.store(e.id),this.#i.setHeader(e.headerDisplayElement,t.headerDisplayElement),this.#i.setHeaderBacknav(s),this.#i.correctRightColumnPositionAndHeight(e.id)}}class l{#d="level_id";#h;constructor(e){this.#h=e}#c(){return this.#h}read(){return this.#h.items[this.#d]??"0"}store(e){this.#h.add(this.#d,e),this.#h.store()}}class r{#o={id:null,parent:null,engaged:!1,headerDisplayElement:"",leaves:[]};#E={index:null,text:null,filtered:!1};#u=[];#g(e,t,s,i){const l={...this.#o};return l.id=e,l.parent=s,l.headerDisplayElement=t,l.leaves=i,l}buildLeaf(e,t){const s={...this.#E};return s.index=e,s.text=t,s}addLevel(e,t,s,i=null){let l=i;if(null===l){l=this.#u.length.toString();const i=this.#g(l,e,t,s);this.#u[i.id]=i}else this.#u[l].leaves=s;return this.#u[l]}engageLevel(e){this.#u.forEach((t=>{t.engaged=t.id===e}))}getLevel(e){const t=this.#u.find((t=>t.id===e));return t||null}getCurrent(){const e=this.#u.find((e=>e.engaged));return void 0!==e?e:this.#u[0]}getParent(){const e=this.getCurrent();return e.parent?this.getLevel(e.parent):{}}upLevel(){const e=this.getCurrent();e.parent&&this.engageLevel(this.getLevel(e.parent).id)}#m(e){null!==e&&0!==e||(this.#u[e].filtered=!1,null!==this.#u[e].parent&&0!==this.#u[e].parent&&this.#m(this.#u[e].parent))}filter(e){const t=e.target.value.toLowerCase();this.#u.forEach((e=>{e.leaves.forEach((e=>{const s=e;""!==t?!1!==s.text.toLowerCase().includes(t)?s.filtered=!1:s.filtered=!0:s.filtered=!1}))}))}getFiltered(){const e=[];return this.#u.forEach((t=>{const s=t.leaves.filter((e=>e.filtered));if(s.length>0){const i=this.#g(t.id,t.headerDisplayElement,t.parent,[...s]);e.push(i)}})),e}}function n(e,t){for(let s=0;s input`)?.addEventListener("keyup",e)}parseLevel(e,t,s){n(this.#_().querySelectorAll(this.#L.LIST_TAG),(i=>{const l=i.getAttribute(this.#L.ID_ATTRIBUTE),r=e(this.#f(i),this.#I(i),this.#A(i,t),l);null===l&&(this.#y(i,r.id),this.registerHandler(i,s,r.id),this.#v.levels[r.id]=i)}))}#y(e,t){e.setAttribute(this.#L.ID_ATTRIBUTE,t)}#f(e){const t=e.parentElement.querySelector(`:scope > .${this.#L.HEADER_ELEMENT}`);if(null===t)return null;let s=null;return s=this.#p.createElement("h2"),s.textContent=t.innerText,s}#I(e){return e.parentElement.parentElement.getAttribute(this.#L.ID_ATTRIBUTE)}#A(e,t){const s=e.querySelectorAll(`:scope >.${this.#L.MENU_LEAF}`),i=[];return n(s,((e,s)=>{i.push(t(s,e.firstElementChild.innerText))})),i}registerHandler(e,t,s){const i=e.parentElement.querySelector(`:scope > .${this.#L.HEADER_ELEMENT}`);null!==i&&i.addEventListener("click",(()=>{t(s)}))}setEngaged(e){this.#v.dd.querySelector(`.${this.#L.ACTIVE}`)?.classList.remove(`${this.#L.ACTIVE}`),this.#v.dd.querySelector(`.${this.#L.ACTIVE_ITEM}`)?.classList.remove(`${this.#L.ACTIVE_ITEM}`),this.#v.dd.querySelector(`.${this.#L.ACTIVE_PARENT}`)?.classList.remove(`${this.#L.ACTIVE_PARENT}`);const t=this.#v.levels[e];t.classList.add(this.#L.ACTIVE);const s=t.parentElement.parentElement;"UL"===s.nodeName?(t.parentElement.classList.add(this.#L.ACTIVE_ITEM),s.classList.add(this.#L.ACTIVE_PARENT)):t.classList.add(this.#L.ACTIVE_PARENT);const i=this.#v.levels[e].querySelector(":scope > li")?.firstElementChild;i?.focus()}setFiltered(e){const t=this.#v.dd.querySelectorAll(`${this.#L.LIST_TAG}`),s=this.#v.dd.querySelectorAll(`.${this.#L.MENU_LEAF}`),i=e.map((e=>e.id)),l=this.#v.dd.querySelectorAll(`.${this.#L.MENU} > ul > .${this.#L.MENU_BRANCH}`);if(this.#v.levels.forEach((e=>{const t=e;t.style.removeProperty("top"),t.style.removeProperty("height")})),s.forEach((e=>{e.classList.remove(this.#L.FILTERED)})),0===e.length)return this.#v.dd.classList.remove(this.#L.MENU_FILTERED),l.forEach((e=>{const t=e;t.firstElementChild.disabled=!1,t.classList.remove(this.#L.FILTERED)})),void this.correctRightColumnPositionAndHeight("0");this.setEngaged(0),this.#v.dd.classList.add(this.#L.MENU_FILTERED),l.forEach((e=>{const t=e;t.firstElementChild.disabled=!0,t.classList.remove(this.#L.FILTERED)})),i.forEach(((s,i)=>{const[l]=[...t].filter((e=>e.getAttribute(this.#L.ID_ATTRIBUTE)===s)),r=l.querySelectorAll(`:scope >.${this.#L.MENU_LEAF}`);e[i].leaves.forEach((e=>r[e.index].classList.add(this.#L.FILTERED)))})),l.forEach((e=>{if(0===e.querySelectorAll(`.${this.#L.MENU_LEAF}:not(.${this.#L.FILTERED})`).length){e.classList.add(this.#L.FILTERED)}}))}setHeader(e,t){this.#v.header.children[1].replaceWith(this.#p.createElement("div")),null!==e?(this.#v.header.firstElementChild.replaceWith(e),null!==t&&this.#v.header.children[1].replaceWith(t)):this.#v.header.firstElementChild.replaceWith(this.#p.createElement("div"))}setHeaderBacknav(e){this.#v.header.classList.remove(this.#L.WITH_BACKLINK_TWO_COL),this.#v.header.classList.remove(this.#L.WITH_BACKLINK_ONE_COL),0!==e&&(e>1&&this.#v.header.classList.add(this.#L.WITH_BACKLINK_TWO_COL),this.#v.header.classList.add(this.#L.WITH_BACKLINK_ONE_COL))}correctRightColumnPositionAndHeight(e){let t=this.#v.levels[e];const s=this.#v.dd.querySelector(`.${this.#L.MENU}`),i=this.#v.dd.querySelector(`.${this.#L.MENU}`).offsetHeight;if(0!==i)this.#v.levels.forEach((e=>{const t=e;t.style.removeProperty("top"),t.style.removeProperty("height")})),"0"===e&&(t=t.querySelector(`:scope > .${this.#L.MENU_BRANCH} > ul`)),0!==t.offsetHeight&&(t.style.top=`-${t.offsetTop}px`,t.style.height=`${i}px`);else{const t=new this.#T((i=>{i[0].target.offsetHeight>0&&(this.correctRightColumnPositionAndHeight(e),t.unobserve(s))}));t.observe(s)}}}s.UI=s.UI||{},s.UI.menu=s.UI.menu||{},s.UI.menu.drilldown=new class{#C=[];#p;#T;#N;#R;constructor(e,t,s,i){this.#N=e,this.#T=t,this.#p=s,this.#R=i}init(e,t,s){if(void 0!==this.#C[e])throw new Error(`Drilldown with id '${e}' has already been initialized.`);null!==this.#p.getElementById(e)&&(this.#C[e]=new i(this.#N,this.#p,new l(new this.#R.Utilities.CookieStorage(s)),new r,new a(this.#p,this.#T,e),t))}getInstance(e){return void 0!==this.#C[e]?this.#C[e]:null}}(new class{#S;constructor(e){this.#S=e}on(e,t,s){this.#S(e).on(t,s)}off(e,t,s){this.#S(e).off(t,s)}}(t),e.defaultView.ResizeObserver,e,s)}(document,$,il); From 3e4b5df3f3bb461e674d47a02970dfdd552f247d Mon Sep 17 00:00:00 2001 From: iszmais <45942348+iszmais@users.noreply.github.com> Date: Tue, 2 Dec 2025 10:42:44 +0100 Subject: [PATCH 096/865] [FIX] YUI: remove component and all includes. (#10593) --- components/ILIAS/COPage/Editor/UI/Init.php | 1 - .../class.ilConsultationHoursGUI.php | 2 - .../classes/class.ilCalendarDayGUI.php | 2 - .../classes/class.ilCalendarMonthGUI.php | 2 - .../classes/class.ilCalendarWeekGUI.php | 2 - .../class.ilDataCollectionGlobalTemplate.php | 3 - .../Form/classes/class.ilPropertyFormGUI.php | 3 - .../Export/class.LMHtmlExport.php | 9 - .../class.ilLMPresentationGUI.php | 1 - .../LegalDocuments/classes/Legacy/Table.php | 3 - .../RTE/classes/class.ilRTEGlobalTemplate.php | 2 - .../classes/class.ilSCORM13PlayerGUI.php | 191 ++++++++--------- .../Session/classes/class.ilObjSessionGUI.php | 2 - .../ILIAS/Table/classes/class.ilTable2GUI.php | 2 - .../Tagging/classes/class.ilTaggingGUI.php | 1 - .../class.ilAdvancedSelectionListGUI.php | 3 - .../Explorer/classes/class.ilExplorer.php | 1 - .../classes/class.ilExplorerBaseGUI.php | 2 - .../UICore/classes/class.ilGlobalTemplate.php | 4 - components/ILIAS/YUI/ROADMAP.md | 62 ------ components/ILIAS/YUI/YUI.php | 67 ------ .../ILIAS/YUI/classes/class.ilYuiUtil.php | 198 ------------------ components/ILIAS/YUI/maintenance.json | 16 -- .../YUI/templates/default/DragDropList.css | 52 ----- .../templates/default/tpl.dragdroplist.html | 157 -------------- .../templates/default/tpl.simpledialog.css | 48 ----- components/ILIAS/YUI/tests/YUITest.php | 43 ---- 27 files changed, 96 insertions(+), 783 deletions(-) delete mode 100755 components/ILIAS/YUI/ROADMAP.md delete mode 100644 components/ILIAS/YUI/YUI.php delete mode 100755 components/ILIAS/YUI/classes/class.ilYuiUtil.php delete mode 100755 components/ILIAS/YUI/maintenance.json delete mode 100755 components/ILIAS/YUI/templates/default/DragDropList.css delete mode 100755 components/ILIAS/YUI/templates/default/tpl.dragdroplist.html delete mode 100755 components/ILIAS/YUI/templates/default/tpl.simpledialog.css delete mode 100755 components/ILIAS/YUI/tests/YUITest.php diff --git a/components/ILIAS/COPage/Editor/UI/Init.php b/components/ILIAS/COPage/Editor/UI/Init.php index b5e4706291ed..5d7eeb26ddb9 100755 --- a/components/ILIAS/COPage/Editor/UI/Init.php +++ b/components/ILIAS/COPage/Editor/UI/Init.php @@ -61,7 +61,6 @@ public function initUI( $main_tpl->addJavaScript("node_modules/tinymce/tinymce.min.js"); } - \ilYuiUtil::initConnection(); $main_tpl->addJavaScript("assets/js/ilExplorer.js"); // ensure that form.js is loaded which is needed for file input (js that shows file names) diff --git a/components/ILIAS/Calendar/classes/ConsultationHours/class.ilConsultationHoursGUI.php b/components/ILIAS/Calendar/classes/ConsultationHours/class.ilConsultationHoursGUI.php index a933bf6a8da8..3097264f2258 100755 --- a/components/ILIAS/Calendar/classes/ConsultationHours/class.ilConsultationHoursGUI.php +++ b/components/ILIAS/Calendar/classes/ConsultationHours/class.ilConsultationHoursGUI.php @@ -462,8 +462,6 @@ protected function createSequence(): void */ protected function initFormSequence(int $a_mode): ilPropertyFormGUI { - ilYuiUtil::initDomEvent(); - $this->form = new ilPropertyFormGUI(); $this->form->setFormAction($this->ctrl->getFormAction($this)); diff --git a/components/ILIAS/Calendar/classes/class.ilCalendarDayGUI.php b/components/ILIAS/Calendar/classes/class.ilCalendarDayGUI.php index 61a975e2fb36..7c3217d16860 100755 --- a/components/ILIAS/Calendar/classes/class.ilCalendarDayGUI.php +++ b/components/ILIAS/Calendar/classes/class.ilCalendarDayGUI.php @@ -97,8 +97,6 @@ protected function show(): void $this->tpl = new ilTemplate('tpl.day_view.html', true, true, 'components/ILIAS/Calendar'); - ilYuiUtil::initDragDrop(); - $bkid = $this->initBookingUserFromQuery(); if ($bkid) { $user_id = $bkid; diff --git a/components/ILIAS/Calendar/classes/class.ilCalendarMonthGUI.php b/components/ILIAS/Calendar/classes/class.ilCalendarMonthGUI.php index 4065cf7cd47d..1035bf9cc2ee 100755 --- a/components/ILIAS/Calendar/classes/class.ilCalendarMonthGUI.php +++ b/components/ILIAS/Calendar/classes/class.ilCalendarMonthGUI.php @@ -97,8 +97,6 @@ public function show(): void { $this->tpl = new ilTemplate('tpl.month_view.html', true, true, 'components/ILIAS/Calendar'); - ilYuiUtil::initDragDrop(); - $navigation = new ilCalendarHeaderNavigationGUI($this, $this->seed, ilDateTime::MONTH); $this->tpl->setVariable('NAVIGATION', $navigation->getHTML()); diff --git a/components/ILIAS/Calendar/classes/class.ilCalendarWeekGUI.php b/components/ILIAS/Calendar/classes/class.ilCalendarWeekGUI.php index 6f93caeab829..7106c07c6210 100755 --- a/components/ILIAS/Calendar/classes/class.ilCalendarWeekGUI.php +++ b/components/ILIAS/Calendar/classes/class.ilCalendarWeekGUI.php @@ -96,8 +96,6 @@ public function show(): void $this->tpl = new ilTemplate('tpl.week_view.html', true, true, 'components/ILIAS/Calendar'); - ilYuiUtil::initDragDrop(); - $navigation = new ilCalendarHeaderNavigationGUI($this, $this->seed, ilDateTime::WEEK); $this->tpl->setVariable('NAVIGATION', $navigation->getHTML()); $this->setUpCalendar(); diff --git a/components/ILIAS/DataCollection/classes/class.ilDataCollectionGlobalTemplate.php b/components/ILIAS/DataCollection/classes/class.ilDataCollectionGlobalTemplate.php index 0f0a6a9bf9bb..e70fdcfc3aff 100755 --- a/components/ILIAS/DataCollection/classes/class.ilDataCollectionGlobalTemplate.php +++ b/components/ILIAS/DataCollection/classes/class.ilDataCollectionGlobalTemplate.php @@ -1005,9 +1005,6 @@ public function printToStdout( $this->http->sendResponse(); exit; default: - // include yahoo dom per default - ilYuiUtil::initDom(); - header('P3P: CP="CURa ADMa DEVa TAIa PSAa PSDa IVAa IVDa OUR BUS IND UNI COM NAV INT CNT STA PRE"'); header("Content-type: text/html; charset=UTF-8"); diff --git a/components/ILIAS/Form/classes/class.ilPropertyFormGUI.php b/components/ILIAS/Form/classes/class.ilPropertyFormGUI.php index 299210224469..fc883cdad01a 100755 --- a/components/ILIAS/Form/classes/class.ilPropertyFormGUI.php +++ b/components/ILIAS/Form/classes/class.ilPropertyFormGUI.php @@ -490,9 +490,6 @@ public function getContent(): string $tpl = $DIC["tpl"]; $ilSetting = $this->settings; - ilYuiUtil::initEvent(); - ilYuiUtil::initDom(); - $tpl->addJavaScript("assets/js/Basic.js"); $tpl->addJavaScript("assets/js/Form.js"); diff --git a/components/ILIAS/LearningModule/Export/class.LMHtmlExport.php b/components/ILIAS/LearningModule/Export/class.LMHtmlExport.php index 130b3b714221..405a336196d0 100755 --- a/components/ILIAS/LearningModule/Export/class.LMHtmlExport.php +++ b/components/ILIAS/LearningModule/Export/class.LMHtmlExport.php @@ -268,15 +268,6 @@ protected function addSupplyingExportFiles(): void protected function getSupplyingExportFiles(string $a_target_dir = "."): array { $scripts = array( - array("source" => \ilYuiUtil::getLocalPath('yahoo/yahoo-min.js'), - "target" => $a_target_dir . '/js/yahoo/yahoo-min.js', - "type" => "js"), - array("source" => \ilYuiUtil::getLocalPath('yahoo-dom-event/yahoo-dom-event.js'), - "target" => $a_target_dir . '/js/yahoo/yahoo-dom-event.js', - "type" => "js"), - array("source" => \ilYuiUtil::getLocalPath('animation/animation-min.js'), - "target" => $a_target_dir . '/js/yahoo/animation-min.js', - "type" => "js"), array("source" => './components/ILIAS/Accordion/js/accordion.js', "target" => $a_target_dir . '/js/accordion.js', "type" => "js"), diff --git a/components/ILIAS/LearningModule/Presentation/class.ilLMPresentationGUI.php b/components/ILIAS/LearningModule/Presentation/class.ilLMPresentationGUI.php index 5f62ddc732b0..46a0dd5417f9 100755 --- a/components/ILIAS/LearningModule/Presentation/class.ilLMPresentationGUI.php +++ b/components/ILIAS/LearningModule/Presentation/class.ilLMPresentationGUI.php @@ -650,7 +650,6 @@ protected function addResourceFiles(): void // from main menu // $this->tpl->addJavascript("assets/js/Basic.js"); - ilYuiUtil::initConnection($this->tpl); } } diff --git a/components/ILIAS/LegalDocuments/classes/Legacy/Table.php b/components/ILIAS/LegalDocuments/classes/Legacy/Table.php index 13d945cdaab5..2f24070b8d10 100644 --- a/components/ILIAS/LegalDocuments/classes/Legacy/Table.php +++ b/components/ILIAS/LegalDocuments/classes/Legacy/Table.php @@ -20,7 +20,6 @@ namespace ILIAS\LegalDocuments\Legacy; -use ilYuiUtil; use iljQueryUtil; use Closure; use ILIAS\LegalDocuments\Table as TableInterface; @@ -60,8 +59,6 @@ public function __construct(?object $gui, string $command, TableInterface $table $this->setExternalSorting(true); $this->setExternalSegmentation(true); iljQueryUtil::initjQuery($DIC->ui()->mainTemplate()); - ilYuiUtil::initPanel(false, $DIC->ui()->mainTemplate()); - ilYuiUtil::initOverlay($DIC->ui()->mainTemplate()); $DIC->ui()->mainTemplate()->addJavaScript('assets/js/Form.js'); $this->determineOffsetAndOrder(); $this->setData($table->rows($this)); diff --git a/components/ILIAS/RTE/classes/class.ilRTEGlobalTemplate.php b/components/ILIAS/RTE/classes/class.ilRTEGlobalTemplate.php index 6b693382961b..cf48c9fd8143 100755 --- a/components/ILIAS/RTE/classes/class.ilRTEGlobalTemplate.php +++ b/components/ILIAS/RTE/classes/class.ilRTEGlobalTemplate.php @@ -283,8 +283,6 @@ public function printToStdout( $http = $DIC->http(); switch ($http->request()->getHeaderLine('Accept')) { default: - ilYuiUtil::initDom(); - header('P3P: CP="CURa ADMa DEVa TAIa PSAa PSDa IVAa IVDa OUR BUS IND UNI COM NAV INT CNT STA PRE"'); header('Content-type: text/html; charset=UTF-8'); diff --git a/components/ILIAS/Scorm2004/classes/class.ilSCORM13PlayerGUI.php b/components/ILIAS/Scorm2004/classes/class.ilSCORM13PlayerGUI.php index 4b3c51858ebb..a6f0f6b53c3b 100755 --- a/components/ILIAS/Scorm2004/classes/class.ilSCORM13PlayerGUI.php +++ b/components/ILIAS/Scorm2004/classes/class.ilSCORM13PlayerGUI.php @@ -39,99 +39,99 @@ class ilSCORM13PlayerGUI * @var array>> */ private static array $schema = array // order of entries matters! - ( - 'package' => array( - 'user_id' => array('pattern' => null, 'permission' => self::NONE, 'default' => null, 'dbfield' => 'user_id'), - 'learner_name' => array('pattern' => null, 'permission' => self::NONE, 'default' => null, 'dbfield' => 'learner_name'), - 'slm_id' => array('pattern' => null, 'permission' => self::NONE, 'default' => null, 'dbfield' => 'slm_id'), - 'mode' => array('pattern' => null, 'permission' => self::NONE, 'default' => null, 'dbfield' => 'c_mode'), - 'credit' => array('pattern' => null, 'permission' => self::NONE, 'default' => null, 'dbfield' => 'credit'), - ), - 'node' => array( - 'accesscount' => array('pattern' => null, 'permission' => self::READWRITE, 'default' => null, 'dbfield' => 'accesscount'), - 'accessduration' => array('pattern' => null, 'permission' => self::READWRITE, 'default' => null, 'dbfield' => 'accessduration'), - 'accessed' => array('pattern' => null, 'permission' => self::READWRITE, 'default' => null, 'dbfield' => 'accessed'), - 'activityAbsoluteDuration' => array('pattern' => null, 'permission' => self::READWRITE, 'default' => null, 'dbfield' => 'activityabsduration'), - 'activityAttemptCount' => array('pattern' => null, 'permission' => self::READWRITE, 'default' => null, 'dbfield' => 'activityattemptcount'), - 'activityExperiencedDuration' => array('pattern' => null, 'permission' => self::READWRITE, 'default' => null, 'dbfield' => 'activityexpduration'), - 'activityProgressStatus' => array('pattern' => null, 'permission' => self::READWRITE, 'default' => null, 'dbfield' => 'activityprogstatus'), - 'attemptAbsoluteDuration' => array('pattern' => null, 'permission' => self::READWRITE, 'default' => null, 'dbfield' => 'attemptabsduration'), - 'attemptCompletionAmount' => array('pattern' => null, 'permission' => self::READWRITE, 'default' => null, 'dbfield' => 'attemptcomplamount'), - 'attemptCompletionStatus' => array('pattern' => null, 'permission' => self::READWRITE, 'default' => null, 'dbfield' => 'attemptcomplstatus'), - 'attemptExperiencedDuration' => array('pattern' => null, 'permission' => self::READWRITE, 'default' => null, 'dbfield' => 'attemptexpduration'), - 'attemptProgressStatus' => array('pattern' => null, 'permission' => self::READWRITE, 'default' => null, 'dbfield' => 'attemptprogstatus'), - 'audio_captioning' => array('pattern' => null, 'permission' => self::READWRITE, 'default' => null, 'dbfield' => 'audio_captioning'), - 'audio_level' => array('pattern' => null, 'permission' => self::READWRITE, 'default' => null, 'dbfield' => 'audio_level'), - 'availableChildren' => array('pattern' => null, 'permission' => self::READWRITE, 'default' => null, 'dbfield' => 'availablechildren'), - 'cmi_node_id' => array('pattern' => null, 'permission' => self::NONE, 'default' => null, 'dbfield' => 'cmi_node_id'), - 'completion' => array('pattern' => null, 'permission' => self::READWRITE, 'default' => null, 'dbfield' => 'completion'), - 'completion_status' => array('pattern' => null, 'permission' => self::READWRITE, 'default' => null, 'dbfield' => 'completion_status'), - 'completion_threshold' => array('pattern' => null, 'permission' => self::READWRITE, 'default' => null, 'dbfield' => 'completion_threshold'), - 'cp_node_id' => array('pattern' => null, 'permission' => self::NONE, 'default' => null, 'dbfield' => 'cp_node_id'), - 'created' => array('pattern' => null, 'permission' => self::READWRITE, 'default' => null, 'dbfield' => 'created'), - 'credit' => array('pattern' => null, 'permission' => self::READWRITE, 'default' => null, 'dbfield' => 'credit'), - 'delivery_speed' => array('pattern' => null, 'permission' => self::READWRITE, 'default' => null, 'dbfield' => 'delivery_speed'), - 'entry' => array('pattern' => null, 'permission' => self::READWRITE, 'default' => null, 'dbfield' => 'c_entry'), - 'exit' => array('pattern' => null, 'permission' => self::READWRITE, 'default' => null, 'dbfield' => 'c_exit'), - 'language' => array('pattern' => null, 'permission' => self::READWRITE, 'default' => null, 'dbfield' => 'c_language'), - 'launch_data' => array('pattern' => null, 'permission' => self::READWRITE, 'default' => null, 'dbfield' => 'launch_data'), - 'learner_name' => array('pattern' => null, 'permission' => self::READWRITE, 'default' => null, 'dbfield' => 'learner_name'), - 'location' => array('pattern' => null, 'permission' => self::READWRITE, 'default' => null, 'dbfield' => 'location'), - 'max' => array('pattern' => null, 'permission' => self::READWRITE, 'default' => null, 'dbfield' => 'c_max'), - 'min' => array('pattern' => null, 'permission' => self::READWRITE, 'default' => null, 'dbfield' => 'c_min'), - 'mode' => array('pattern' => null, 'permission' => self::READWRITE, 'default' => null, 'dbfield' => 'c_mode'), - 'modified' => array('pattern' => null, 'permission' => self::READWRITE, 'default' => null, 'dbfield' => 'modified'), - 'progress_measure' => array('pattern' => null, 'permission' => self::READWRITE, 'default' => null, 'dbfield' => 'progress_measure'), - 'raw' => array('pattern' => null, 'permission' => self::READWRITE, 'default' => null, 'dbfield' => 'c_raw'), - 'scaled' => array('pattern' => null, 'permission' => self::READWRITE, 'default' => null, 'dbfield' => 'scaled'), - 'scaled_passing_score' => array('pattern' => null, 'permission' => self::READWRITE, 'default' => null, 'dbfield' => 'scaled_passing_score'), - 'session_time' => array('pattern' => null, 'permission' => self::READWRITE, 'default' => null, 'dbfield' => 'session_time'), - 'success_status' => array('pattern' => null, 'permission' => self::READWRITE, 'default' => null, 'dbfield' => 'success_status'), - 'suspend_data' => array('pattern' => null, 'permission' => self::READWRITE, 'default' => null, 'dbfield' => 'suspend_data'), - 'total_time' => array('pattern' => null, 'permission' => self::READWRITE, 'default' => null, 'dbfield' => 'total_time'), - 'user_id' => array('pattern' => null, 'permission' => self::NONE, 'default' => null, 'dbfield' => 'user_id'), - ), - 'comment' => array( - 'cmi_comment_id' => array('pattern' => null, 'permission' => self::NONE, 'default' => null, 'dbfield' => 'cmi_comment_id'), - 'cmi_node_id' => array('pattern' => null, 'permission' => self::NONE, 'default' => null, 'dbfield' => 'cmi_node_id'), - 'comment' => array('pattern' => null, 'permission' => self::READWRITE, 'default' => null, 'dbfield' => 'c_comment'), - 'timestamp' => array('pattern' => null, 'permission' => self::READWRITE, 'default' => null, 'dbfield' => 'c_timestamp'), - 'location' => array('pattern' => null, 'permission' => self::READWRITE, 'default' => null, 'dbfield' => 'location'), - 'sourceIsLMS' => array('pattern' => null, 'permission' => self::READWRITE, 'default' => null, 'dbfield' => 'sourceislms'), - ), - 'correct_response' => array( - 'cmi_correct_response_id' => array('pattern' => null, 'permission' => self::NONE, 'default' => null, 'dbfield' => 'cmi_correct_resp_id'), - 'cmi_interaction_id' => array('pattern' => null, 'permission' => self::NONE, 'default' => null, 'dbfield' => 'cmi_interaction_id'), - 'pattern' => array('pattern' => null, 'permission' => self::READWRITE, 'default' => null, 'dbfield' => 'pattern'), - ), - 'interaction' => array( - 'cmi_interaction_id' => array('pattern' => null, 'permission' => self::NONE, 'default' => null, 'dbfield' => 'cmi_interaction_id'), - 'cmi_node_id' => array('pattern' => null, 'permission' => self::NONE, 'default' => null, 'dbfield' => 'cmi_node_id'), - 'description' => array('pattern' => null, 'permission' => self::READWRITE, 'default' => null, 'dbfield' => 'description'), - 'id' => array('pattern' => null, 'permission' => self::READWRITE, 'default' => null, 'dbfield' => 'id'), - 'latency' => array('pattern' => null, 'permission' => self::READWRITE, 'default' => null, 'dbfield' => 'latency'), - 'learner_response' => array('pattern' => null, 'permission' => self::READWRITE, 'default' => null, 'dbfield' => 'learner_response'), - 'result' => array('pattern' => null, 'permission' => self::READWRITE, 'default' => null, 'dbfield' => 'result'), - 'timestamp' => array('pattern' => null, 'permission' => self::READWRITE, 'default' => null, 'dbfield' => 'c_timestamp'), - 'type' => array('pattern' => null, 'permission' => self::READWRITE, 'default' => null, 'dbfield' => 'c_type'), - 'weighting' => array('pattern' => null, 'permission' => self::READWRITE, 'default' => null, 'dbfield' => 'weighting'), - ), - 'objective' => array( - 'cmi_interaction_id' => array('pattern' => null, 'permission' => self::NONE, 'default' => null, 'dbfield' => 'cmi_interaction_id'), - 'cmi_node_id' => array('pattern' => null, 'permission' => self::NONE, 'default' => null, 'dbfield' => 'cmi_node_id'), - 'cmi_objective_id' => array('pattern' => null, 'permission' => self::NONE, 'default' => null, 'dbfield' => 'cmi_objective_id'), - 'completion_status' => array('pattern' => null, 'permission' => self::READWRITE, 'default' => null, 'dbfield' => 'completion_status'), - 'description' => array('pattern' => null, 'permission' => self::READWRITE, 'default' => null, 'dbfield' => 'description'), - 'id' => array('pattern' => null, 'permission' => self::READWRITE, 'default' => null, 'dbfield' => 'id'), - 'max' => array('pattern' => null, 'permission' => self::READWRITE, 'default' => null, 'dbfield' => 'c_max'), - 'min' => array('pattern' => null, 'permission' => self::READWRITE, 'default' => null, 'dbfield' => 'c_min'), - 'raw' => array('pattern' => null, 'permission' => self::READWRITE, 'default' => null, 'dbfield' => 'c_raw'), - 'scaled' => array('pattern' => null, 'permission' => self::READWRITE, 'default' => null, 'dbfield' => 'scaled'), - 'progress_measure' => array('pattern' => null, 'permission' => self::READWRITE, 'default' => null, 'dbfield' => 'progress_measure'), - 'success_status' => array('pattern' => null, 'permission' => self::READWRITE, 'default' => null, 'dbfield' => 'success_status'), - 'scope' => array('pattern' => null, 'permission' => self::READWRITE, 'default' => null, 'dbfield' => 'scope'), - ), - ); + ( + 'package' => array( + 'user_id' => array('pattern' => null, 'permission' => self::NONE, 'default' => null, 'dbfield' => 'user_id'), + 'learner_name' => array('pattern' => null, 'permission' => self::NONE, 'default' => null, 'dbfield' => 'learner_name'), + 'slm_id' => array('pattern' => null, 'permission' => self::NONE, 'default' => null, 'dbfield' => 'slm_id'), + 'mode' => array('pattern' => null, 'permission' => self::NONE, 'default' => null, 'dbfield' => 'c_mode'), + 'credit' => array('pattern' => null, 'permission' => self::NONE, 'default' => null, 'dbfield' => 'credit'), + ), + 'node' => array( + 'accesscount' => array('pattern' => null, 'permission' => self::READWRITE, 'default' => null, 'dbfield' => 'accesscount'), + 'accessduration' => array('pattern' => null, 'permission' => self::READWRITE, 'default' => null, 'dbfield' => 'accessduration'), + 'accessed' => array('pattern' => null, 'permission' => self::READWRITE, 'default' => null, 'dbfield' => 'accessed'), + 'activityAbsoluteDuration' => array('pattern' => null, 'permission' => self::READWRITE, 'default' => null, 'dbfield' => 'activityabsduration'), + 'activityAttemptCount' => array('pattern' => null, 'permission' => self::READWRITE, 'default' => null, 'dbfield' => 'activityattemptcount'), + 'activityExperiencedDuration' => array('pattern' => null, 'permission' => self::READWRITE, 'default' => null, 'dbfield' => 'activityexpduration'), + 'activityProgressStatus' => array('pattern' => null, 'permission' => self::READWRITE, 'default' => null, 'dbfield' => 'activityprogstatus'), + 'attemptAbsoluteDuration' => array('pattern' => null, 'permission' => self::READWRITE, 'default' => null, 'dbfield' => 'attemptabsduration'), + 'attemptCompletionAmount' => array('pattern' => null, 'permission' => self::READWRITE, 'default' => null, 'dbfield' => 'attemptcomplamount'), + 'attemptCompletionStatus' => array('pattern' => null, 'permission' => self::READWRITE, 'default' => null, 'dbfield' => 'attemptcomplstatus'), + 'attemptExperiencedDuration' => array('pattern' => null, 'permission' => self::READWRITE, 'default' => null, 'dbfield' => 'attemptexpduration'), + 'attemptProgressStatus' => array('pattern' => null, 'permission' => self::READWRITE, 'default' => null, 'dbfield' => 'attemptprogstatus'), + 'audio_captioning' => array('pattern' => null, 'permission' => self::READWRITE, 'default' => null, 'dbfield' => 'audio_captioning'), + 'audio_level' => array('pattern' => null, 'permission' => self::READWRITE, 'default' => null, 'dbfield' => 'audio_level'), + 'availableChildren' => array('pattern' => null, 'permission' => self::READWRITE, 'default' => null, 'dbfield' => 'availablechildren'), + 'cmi_node_id' => array('pattern' => null, 'permission' => self::NONE, 'default' => null, 'dbfield' => 'cmi_node_id'), + 'completion' => array('pattern' => null, 'permission' => self::READWRITE, 'default' => null, 'dbfield' => 'completion'), + 'completion_status' => array('pattern' => null, 'permission' => self::READWRITE, 'default' => null, 'dbfield' => 'completion_status'), + 'completion_threshold' => array('pattern' => null, 'permission' => self::READWRITE, 'default' => null, 'dbfield' => 'completion_threshold'), + 'cp_node_id' => array('pattern' => null, 'permission' => self::NONE, 'default' => null, 'dbfield' => 'cp_node_id'), + 'created' => array('pattern' => null, 'permission' => self::READWRITE, 'default' => null, 'dbfield' => 'created'), + 'credit' => array('pattern' => null, 'permission' => self::READWRITE, 'default' => null, 'dbfield' => 'credit'), + 'delivery_speed' => array('pattern' => null, 'permission' => self::READWRITE, 'default' => null, 'dbfield' => 'delivery_speed'), + 'entry' => array('pattern' => null, 'permission' => self::READWRITE, 'default' => null, 'dbfield' => 'c_entry'), + 'exit' => array('pattern' => null, 'permission' => self::READWRITE, 'default' => null, 'dbfield' => 'c_exit'), + 'language' => array('pattern' => null, 'permission' => self::READWRITE, 'default' => null, 'dbfield' => 'c_language'), + 'launch_data' => array('pattern' => null, 'permission' => self::READWRITE, 'default' => null, 'dbfield' => 'launch_data'), + 'learner_name' => array('pattern' => null, 'permission' => self::READWRITE, 'default' => null, 'dbfield' => 'learner_name'), + 'location' => array('pattern' => null, 'permission' => self::READWRITE, 'default' => null, 'dbfield' => 'location'), + 'max' => array('pattern' => null, 'permission' => self::READWRITE, 'default' => null, 'dbfield' => 'c_max'), + 'min' => array('pattern' => null, 'permission' => self::READWRITE, 'default' => null, 'dbfield' => 'c_min'), + 'mode' => array('pattern' => null, 'permission' => self::READWRITE, 'default' => null, 'dbfield' => 'c_mode'), + 'modified' => array('pattern' => null, 'permission' => self::READWRITE, 'default' => null, 'dbfield' => 'modified'), + 'progress_measure' => array('pattern' => null, 'permission' => self::READWRITE, 'default' => null, 'dbfield' => 'progress_measure'), + 'raw' => array('pattern' => null, 'permission' => self::READWRITE, 'default' => null, 'dbfield' => 'c_raw'), + 'scaled' => array('pattern' => null, 'permission' => self::READWRITE, 'default' => null, 'dbfield' => 'scaled'), + 'scaled_passing_score' => array('pattern' => null, 'permission' => self::READWRITE, 'default' => null, 'dbfield' => 'scaled_passing_score'), + 'session_time' => array('pattern' => null, 'permission' => self::READWRITE, 'default' => null, 'dbfield' => 'session_time'), + 'success_status' => array('pattern' => null, 'permission' => self::READWRITE, 'default' => null, 'dbfield' => 'success_status'), + 'suspend_data' => array('pattern' => null, 'permission' => self::READWRITE, 'default' => null, 'dbfield' => 'suspend_data'), + 'total_time' => array('pattern' => null, 'permission' => self::READWRITE, 'default' => null, 'dbfield' => 'total_time'), + 'user_id' => array('pattern' => null, 'permission' => self::NONE, 'default' => null, 'dbfield' => 'user_id'), + ), + 'comment' => array( + 'cmi_comment_id' => array('pattern' => null, 'permission' => self::NONE, 'default' => null, 'dbfield' => 'cmi_comment_id'), + 'cmi_node_id' => array('pattern' => null, 'permission' => self::NONE, 'default' => null, 'dbfield' => 'cmi_node_id'), + 'comment' => array('pattern' => null, 'permission' => self::READWRITE, 'default' => null, 'dbfield' => 'c_comment'), + 'timestamp' => array('pattern' => null, 'permission' => self::READWRITE, 'default' => null, 'dbfield' => 'c_timestamp'), + 'location' => array('pattern' => null, 'permission' => self::READWRITE, 'default' => null, 'dbfield' => 'location'), + 'sourceIsLMS' => array('pattern' => null, 'permission' => self::READWRITE, 'default' => null, 'dbfield' => 'sourceislms'), + ), + 'correct_response' => array( + 'cmi_correct_response_id' => array('pattern' => null, 'permission' => self::NONE, 'default' => null, 'dbfield' => 'cmi_correct_resp_id'), + 'cmi_interaction_id' => array('pattern' => null, 'permission' => self::NONE, 'default' => null, 'dbfield' => 'cmi_interaction_id'), + 'pattern' => array('pattern' => null, 'permission' => self::READWRITE, 'default' => null, 'dbfield' => 'pattern'), + ), + 'interaction' => array( + 'cmi_interaction_id' => array('pattern' => null, 'permission' => self::NONE, 'default' => null, 'dbfield' => 'cmi_interaction_id'), + 'cmi_node_id' => array('pattern' => null, 'permission' => self::NONE, 'default' => null, 'dbfield' => 'cmi_node_id'), + 'description' => array('pattern' => null, 'permission' => self::READWRITE, 'default' => null, 'dbfield' => 'description'), + 'id' => array('pattern' => null, 'permission' => self::READWRITE, 'default' => null, 'dbfield' => 'id'), + 'latency' => array('pattern' => null, 'permission' => self::READWRITE, 'default' => null, 'dbfield' => 'latency'), + 'learner_response' => array('pattern' => null, 'permission' => self::READWRITE, 'default' => null, 'dbfield' => 'learner_response'), + 'result' => array('pattern' => null, 'permission' => self::READWRITE, 'default' => null, 'dbfield' => 'result'), + 'timestamp' => array('pattern' => null, 'permission' => self::READWRITE, 'default' => null, 'dbfield' => 'c_timestamp'), + 'type' => array('pattern' => null, 'permission' => self::READWRITE, 'default' => null, 'dbfield' => 'c_type'), + 'weighting' => array('pattern' => null, 'permission' => self::READWRITE, 'default' => null, 'dbfield' => 'weighting'), + ), + 'objective' => array( + 'cmi_interaction_id' => array('pattern' => null, 'permission' => self::NONE, 'default' => null, 'dbfield' => 'cmi_interaction_id'), + 'cmi_node_id' => array('pattern' => null, 'permission' => self::NONE, 'default' => null, 'dbfield' => 'cmi_node_id'), + 'cmi_objective_id' => array('pattern' => null, 'permission' => self::NONE, 'default' => null, 'dbfield' => 'cmi_objective_id'), + 'completion_status' => array('pattern' => null, 'permission' => self::READWRITE, 'default' => null, 'dbfield' => 'completion_status'), + 'description' => array('pattern' => null, 'permission' => self::READWRITE, 'default' => null, 'dbfield' => 'description'), + 'id' => array('pattern' => null, 'permission' => self::READWRITE, 'default' => null, 'dbfield' => 'id'), + 'max' => array('pattern' => null, 'permission' => self::READWRITE, 'default' => null, 'dbfield' => 'c_max'), + 'min' => array('pattern' => null, 'permission' => self::READWRITE, 'default' => null, 'dbfield' => 'c_min'), + 'raw' => array('pattern' => null, 'permission' => self::READWRITE, 'default' => null, 'dbfield' => 'c_raw'), + 'scaled' => array('pattern' => null, 'permission' => self::READWRITE, 'default' => null, 'dbfield' => 'scaled'), + 'progress_measure' => array('pattern' => null, 'permission' => self::READWRITE, 'default' => null, 'dbfield' => 'progress_measure'), + 'success_status' => array('pattern' => null, 'permission' => self::READWRITE, 'default' => null, 'dbfield' => 'success_status'), + 'scope' => array('pattern' => null, 'permission' => self::READWRITE, 'default' => null, 'dbfield' => 'scope'), + ), + ); private int $userId; private array $flat_structure; @@ -904,7 +904,9 @@ public function writeSharedData(int $sco_node_id): void $ilUser = $DIC->user(); $g_data = json_decode(file_get_contents('php://input')); - if ($g_data == null) return; + if ($g_data == null) { + return; + } //Step 1: Get the writeable stores for this SCO that already have values $query = 'SELECT dm.target_id, sd.store ' @@ -1697,7 +1699,6 @@ public function debugGUI(): void $logfile = $this->logFileName() . ".html"; $this->tpl->setVariable('LOGFILE', $this->logFileName() . ".html"); $this->tpl->setVariable('FILES_DATA', json_encode($this->getLogFileList($lng->txt("debugwindow_delete"), $lng->txt("debugwindow_download"), $lng->txt("debugwindow_open")))); - $this->tpl->setVariable('PATH_YUI', ilYuiUtil::getLocalPath()); //} echo $this->tpl->get("DEFAULT", true); } diff --git a/components/ILIAS/Session/classes/class.ilObjSessionGUI.php b/components/ILIAS/Session/classes/class.ilObjSessionGUI.php index 692689ac1f28..8c8a59209080 100755 --- a/components/ILIAS/Session/classes/class.ilObjSessionGUI.php +++ b/components/ILIAS/Session/classes/class.ilObjSessionGUI.php @@ -1410,8 +1410,6 @@ protected function initForm(string $a_mode): bool $object_service = $this->object_service; $this->lng->loadLanguageModule('dateplaner'); - ilYuiUtil::initDomEvent(); - $this->form = new ilPropertyFormGUI(); $this->form->setMultipart(true); $this->form->setTableWidth('600px'); diff --git a/components/ILIAS/Table/classes/class.ilTable2GUI.php b/components/ILIAS/Table/classes/class.ilTable2GUI.php index 56fc4688a8cd..825c4cb11c0f 100755 --- a/components/ILIAS/Table/classes/class.ilTable2GUI.php +++ b/components/ILIAS/Table/classes/class.ilTable2GUI.php @@ -1496,8 +1496,6 @@ private function renderFilter(): void return; } - ilYuiUtil::initConnection(); - $ccnt = 0; // render standard filter diff --git a/components/ILIAS/Tagging/classes/class.ilTaggingGUI.php b/components/ILIAS/Tagging/classes/class.ilTaggingGUI.php index aaa39846102a..aee752caba00 100755 --- a/components/ILIAS/Tagging/classes/class.ilTaggingGUI.php +++ b/components/ILIAS/Tagging/classes/class.ilTaggingGUI.php @@ -274,7 +274,6 @@ public static function initJavascript( $lng->loadLanguageModule("tagging"); $lng->toJS("tagging_tags", $tpl); - ilYuiUtil::initConnection($tpl); iljQueryUtil::initjQuery($tpl); $tpl->addJavaScript("assets/js/ilTagging.js"); //$tpl->addJavaScript("../components/ILIAS/Tagging/resources/ilTagging.js"); diff --git a/components/ILIAS/UIComponent/AdvancedSelectionList/classes/class.ilAdvancedSelectionListGUI.php b/components/ILIAS/UIComponent/AdvancedSelectionList/classes/class.ilAdvancedSelectionListGUI.php index ffcc07862cb4..d45aee147572 100755 --- a/components/ILIAS/UIComponent/AdvancedSelectionList/classes/class.ilAdvancedSelectionListGUI.php +++ b/components/ILIAS/UIComponent/AdvancedSelectionList/classes/class.ilAdvancedSelectionListGUI.php @@ -395,9 +395,6 @@ public function getAdditionalToggleElement(): ?array public function setAsynch(bool $a_val): void { - if ($a_val) { - ilYuiUtil::initConnection(); - } $this->asynch = $a_val; } diff --git a/components/ILIAS/UIComponent/Explorer/classes/class.ilExplorer.php b/components/ILIAS/UIComponent/Explorer/classes/class.ilExplorer.php index 00b6e292afb2..9d03f34203f2 100755 --- a/components/ILIAS/UIComponent/Explorer/classes/class.ilExplorer.php +++ b/components/ILIAS/UIComponent/Explorer/classes/class.ilExplorer.php @@ -530,7 +530,6 @@ public function getOutput(): string $this->createLines($i); } - ilYuiUtil::initConnection(); $tpl->addJavaScript("assets/js/ilExplorer.js"); //echo "hh"; diff --git a/components/ILIAS/UIComponent/Explorer2/classes/class.ilExplorerBaseGUI.php b/components/ILIAS/UIComponent/Explorer2/classes/class.ilExplorerBaseGUI.php index d06af7c8e25a..634666a78009 100755 --- a/components/ILIAS/UIComponent/Explorer2/classes/class.ilExplorerBaseGUI.php +++ b/components/ILIAS/UIComponent/Explorer2/classes/class.ilExplorerBaseGUI.php @@ -93,7 +93,6 @@ public function __construct( $this->requested_searchterm = ($params["searchterm"] ?? ""); $this->nodeOnclickEnabled = true; - ilYuiUtil::initConnection(); } public function setChildLimit(int $a_val): void @@ -601,7 +600,6 @@ public static function init(?ilGlobalTemplateInterface $a_main_tpl = null): void $tpl = $a_main_tpl ?? $DIC["tpl"]; - ilYuiUtil::initConnection(); iljQueryUtil::initjQuery($tpl); $tpl->addJavaScript(self::getLocalExplorerJsPath()); diff --git a/components/ILIAS/UICore/classes/class.ilGlobalTemplate.php b/components/ILIAS/UICore/classes/class.ilGlobalTemplate.php index fb1d0ef29dc6..b218923e4c1c 100755 --- a/components/ILIAS/UICore/classes/class.ilGlobalTemplate.php +++ b/components/ILIAS/UICore/classes/class.ilGlobalTemplate.php @@ -128,7 +128,6 @@ public function __construct( public function printToString(string $part = self::DEFAULT_BLOCK): string { global $DIC; - ilYuiUtil::initDom(); return $this->renderPage($part, true, false, $DIC); } @@ -1006,9 +1005,6 @@ public function printToStdout( ): void { global $DIC; - // include yahoo dom per default - ilYuiUtil::initDom(); - header('P3P: CP="CURa ADMa DEVa TAIa PSAa PSDa IVAa IVDa OUR BUS IND UNI COM NAV INT CNT STA PRE"'); header("Content-type: text/html; charset=UTF-8"); diff --git a/components/ILIAS/YUI/ROADMAP.md b/components/ILIAS/YUI/ROADMAP.md deleted file mode 100755 index 2574be8c0e79..000000000000 --- a/components/ILIAS/YUI/ROADMAP.md +++ /dev/null @@ -1,62 +0,0 @@ -# ROADMAP - -This service is deprecated. - -## Usages - -Event (util.Event) -- Form -> HierarchyForm, flashAddParam -- Scorm2004 (not used?) -- TestQuestionPool - - -Dom -- DataCollection -- GlobalTemplate -- PropertyForm -- ... - -DragDrop -- Survey -- Calendar -- COPage -- HierarchyForm - -DomEvent -- Session -- Test -- Calendar - - -Panel -- Test -- TermsOfService - - -Connection -- Cloud -- DataCollection -- LearningModule -- Accordion -- Block -- COPage -- Help -- Link -- MainMenu -- MediaObjects -- Table -- AdvancedSelectionList -- Explorer -- Explorer2 - -ConnectionWithAnimation -- Test -- Form - -Overlay -- Test -- TermsOfService -- AdvancedSelectionList - -Cookie -- Authentication (SessionReminder) diff --git a/components/ILIAS/YUI/YUI.php b/components/ILIAS/YUI/YUI.php deleted file mode 100644 index 7503db9e4fdc..000000000000 --- a/components/ILIAS/YUI/YUI.php +++ /dev/null @@ -1,67 +0,0 @@ - - new Component\Resource\NodeModule("yui2/build/yahoo-dom-event/yahoo-dom-event.js"); - $contribute[Component\Resource\PublicAsset::class] = static fn() => - new Component\Resource\NodeModule("yui2/build/connection/connection-min.js"); - $contribute[Component\Resource\PublicAsset::class] = static fn() => - new Component\Resource\NodeModule("yui2/build/dragdrop/dragdrop-min.js"); - $contribute[Component\Resource\PublicAsset::class] = static fn() => - new Component\Resource\NodeModule("yui2/build/element/element-min.js"); - $contribute[Component\Resource\PublicAsset::class] = static fn() => - new Component\Resource\NodeModule("yui2/build/container/container-min.js"); - $contribute[Component\Resource\PublicAsset::class] = static fn() => - new Component\Resource\NodeModule("yui2/build/utilities/utilities.js"); - $contribute[Component\Resource\PublicAsset::class] = static fn() => - new Component\Resource\NodeModule("yui2/build/resize/resize-min.js"); - $contribute[Component\Resource\PublicAsset::class] = static fn() => - new Component\Resource\NodeModule("yui2/build/container/container_core-min.js"); - $contribute[Component\Resource\PublicAsset::class] = static fn() => - new Component\Resource\NodeModule("yui2/build/menu/menu-min.js"); - $contribute[Component\Resource\PublicAsset::class] = static fn() => - new Component\Resource\NodeModule("yui2/build/button/button-min.js"); - $contribute[Component\Resource\PublicAsset::class] = static fn() => - new Component\Resource\NodeModule("yui2/build/cookie/cookie.js"); - - $contribute[Component\Resource\PublicAsset::class] = static fn() => - new Component\Resource\NodeModule("yui2/build/container/assets/skins/sam/container.css"); - $contribute[Component\Resource\PublicAsset::class] = static fn() => - new Component\Resource\NodeModule("yui2/build/button/assets/skins/sam/button.css"); - $contribute[Component\Resource\PublicAsset::class] = static fn() => - new Component\Resource\NodeModule("yui2/build/menu/assets/skins/sam/menu.css"); - */ - } -} diff --git a/components/ILIAS/YUI/classes/class.ilYuiUtil.php b/components/ILIAS/YUI/classes/class.ilYuiUtil.php deleted file mode 100755 index 07f2c98701b3..000000000000 --- a/components/ILIAS/YUI/classes/class.ilYuiUtil.php +++ /dev/null @@ -1,198 +0,0 @@ - - */ -class ilYuiUtil -{ - protected const YUI_BASE = "./node_modules/yui2/build"; - - private static function ensureGlobalTemplate( - ?ilGlobalTemplateInterface $main_tpl = null - ): ilGlobalTemplateInterface { - global $DIC; - return $main_tpl === null ? $DIC->ui()->mainTemplate() : $main_tpl; - } - - /** - * Init YUI Connection module - */ - public static function initConnection( - ?ilGlobalTemplateInterface $a_main_tpl = null - ): void { - $tpl = self::ensureGlobalTemplate($a_main_tpl); - $tpl->addJavaScript("assets/js/yahoo-dom-event.js"); - $tpl->addJavaScript("assets/js/connection-min.js"); - } - - - /** - * Init YUI Event - */ - public static function initEvent( - ?ilGlobalTemplateInterface $a_main_tpl = null - ): void { - $tpl = self::ensureGlobalTemplate($a_main_tpl); - $tpl->addJavaScript("assets/js/yahoo-dom-event.js"); - } - - - /** - * Init YUI Dom - */ - public static function initDom( - ?ilGlobalTemplateInterface $a_main_tpl = null - ): void { - $tpl = self::ensureGlobalTemplate($a_main_tpl); - $tpl->addJavaScript("assets/js/yahoo-dom-event.js"); - } - - - /** - * Init YUI Drag and Drop - * used in Modules/Survey, Services/Calendar, Services/COPage, Services/Form (Jan 2022) - * @deprecated - */ - public static function initDragDrop( - ?ilGlobalTemplateInterface $a_main_tpl = null - ): void { - $tpl = self::ensureGlobalTemplate($a_main_tpl); - $tpl->addJavaScript("assets/js/yahoo-dom-event.js"); - $tpl->addJavaScript("assets/js/dragdrop-min.js"); - $tpl->addJavaScript("assets/js/element-min.js"); - } - - - /** - * Init YUI DomEvent - * used in Services/Calendar, Modules/Session, Modules/Test (Jan 2022) - * @deprecated - */ - public static function initDomEvent( - ?ilGlobalTemplateInterface $a_main_tpl = null - ): void { - $tpl = self::ensureGlobalTemplate($a_main_tpl); - $tpl->addJavaScript("assets/js/yahoo-dom-event.js"); - } - - /** - * Init yui panel - * used in Modules/Test, Services/TermsOfService (Jan 2022) - * @deprecated - */ - public static function initPanel( - bool $a_resize = false, - ?ilGlobalTemplateInterface $a_main_tpl = null - ): void { - $tpl = self::ensureGlobalTemplate($a_main_tpl); - $tpl->addJavaScript("assets/js/yahoo-dom-event.js"); - $tpl->addJavaScript("assets/js/container-min.js"); - self::addContainerCss($tpl); - $tpl->addCss("./components/ILIAS/Calendar/css/panel_min.css"); - - if ($a_resize) { - $tpl->addCss(self::YUI_BASE . "/resize/assets/skins/sam/resize.css"); - $tpl->addJavaScript("assets/js/utilities.js"); - $tpl->addJavaScript("assets/js/resize-min.js"); - } - } - - - /** - * Init YUI connection and animation module - * used in Modules/Test (Jan 2022) - * @deprecated - */ - public static function initConnectionWithAnimation(): void - { - $tpl = self::ensureGlobalTemplate(); - $tpl->addJavaScript("assets/js/yahoo-dom-event.js"); - $tpl->addJavaScript("assets/js/animation-min.js"); - $tpl->addJavaScript("assets/js/connection-min.js"); - } - - - - /** - * Init YUI Overlay module - * used in Modules/Test, Services/TermsOfService, Services/Tracking, Services/UIComponent - * @deprecated - */ - public static function initOverlay( - ?ilGlobalTemplateInterface $a_main_tpl = null - ): void { - $tpl = self::ensureGlobalTemplate($a_main_tpl); - $tpl->addJavaScript("assets/js/yahoo-dom-event.js"); - $tpl->addJavaScript("assets/js/container_core-min.js"); - self::addContainerCss($tpl); - } - - - /** - * init button control - * In the moment used for calendar color picker button - */ - public static function initButtonControl(): void - { - $tpl = self::ensureGlobalTemplate(); - $tpl->addJavaScript("assets/js/yahoo-dom-event.js"); - $tpl->addJavaScript("assets/js/element-min.js"); - - $tpl->addJavaScript("assets/js/container_core-min.js"); - $tpl->addJavaScript("assets/js/menu-min.js"); - - $tpl->addJavaScript("assets/js/button-min.js"); - - $tpl->addCss("assets/css/button.css"); - $tpl->addCss("assets/css/menu.css"); - } - - /** - * used in Services/Authentication (Session Reminder) Jan 2022 - * @deprecated - */ - public static function initCookie(): void - { - $tpl = self::ensureGlobalTemplate(); - $tpl->addJavaScript("assets/js/yahoo-min.js", 1); - $tpl->addJavaScript("assets/js/cookie.js", 1); - } - - - /** - * Get local path of a YUI js file - */ - public static function getLocalPath(string $a_name = ""): string - { - return self::YUI_BASE . "/" . $a_name; - } - - - /** - * Add container css - */ - protected static function addContainerCss( - ?ilGlobalTemplateInterface $a_main_tpl = null - ): void { - $tpl = self::ensureGlobalTemplate($a_main_tpl); - $tpl->addCss("assets/css/container.css"); - - } -} diff --git a/components/ILIAS/YUI/maintenance.json b/components/ILIAS/YUI/maintenance.json deleted file mode 100755 index cecb2960d30b..000000000000 --- a/components/ILIAS/YUI/maintenance.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "maintenance_model": "Classic", - "first_maintainer": "", - "second_maintainer": "", - "implicit_maintainers": [ - "" - ], - "coordinator": [ - "" - ], - "tester": "", - "testcase_writer": "", - "path": "Services/YUI", - "belong_to_component": "None", - "used_in_components": [] -} \ No newline at end of file diff --git a/components/ILIAS/YUI/templates/default/DragDropList.css b/components/ILIAS/YUI/templates/default/DragDropList.css deleted file mode 100755 index 0d54e4f47a59..000000000000 --- a/components/ILIAS/YUI/templates/default/DragDropList.css +++ /dev/null @@ -1,52 +0,0 @@ -div.workarea { padding:10px; float:left } - -div.workarea h3 { - font-size: 100%; -} - -ul.draglist { - position: relative; - width: 200px; - height:240px; - background: #f7f7f7; - border: 1px solid gray; - list-style: none; - margin:0; - padding:0; - overflow: auto; -} - -ul.draglist li { - margin: 1px; - cursor: move; -} - -ul.draglist_alt { - position: relative; - width: 200px; - list-style: none; - margin:0; - padding:0; - /* - The bottom padding provides the cushion that makes the empty - list targetable. Alternatively, we could leave the padding - off by default, adding it when we detect that the list is empty. - */ - padding-bottom:20px; -} - -ul.draglist_alt li { - margin: 1px; - cursor: move; -} - - -li.list1 { - background-color: #D1E6EC; - border:1px solid #7EA6B2; -} - -li.list2 { - background-color: #D1E6EC; - border:1px solid #7EA6B2; -} diff --git a/components/ILIAS/YUI/templates/default/tpl.dragdroplist.html b/components/ILIAS/YUI/templates/default/tpl.dragdroplist.html deleted file mode 100755 index a00b610e70cd..000000000000 --- a/components/ILIAS/YUI/templates/default/tpl.dragdroplist.html +++ /dev/null @@ -1,157 +0,0 @@ -
-

{TITLE_LIST_1}

-
    - -
  • {ELEMENT_NAME}
  • - -
-
- -
-

{TITLE_LIST_2}

-
    - -
  • {ELEMENT_NAME}
  • - -
-
- - \ No newline at end of file diff --git a/components/ILIAS/YUI/templates/default/tpl.simpledialog.css b/components/ILIAS/YUI/templates/default/tpl.simpledialog.css deleted file mode 100755 index 76ab92b019cc..000000000000 --- a/components/ILIAS/YUI/templates/default/tpl.simpledialog.css +++ /dev/null @@ -1,48 +0,0 @@ -.yui-simple-dialog .bd span.blckicon { - background: none; -} - -.yui-simple-dialog .bd span.alrticon { - background: none; -} - -.yui-simple-dialog .bd span.hlpicon { - background: none; -} - -.yui-simple-dialog .bd span.infoicon { - background: none; -} - -.yui-simple-dialog .bd span.warnicon { - background: none; -} - -.yui-simple-dialog .bd span.tipicon { - background: none; -} - -.yui-panel .container-close { - position:absolute; - top:5px; - right:4px; - z-index:6; - height:16px; - width:16px; - margin:0px; - padding:0px; - cursor:pointer; - visibility:inherit; -} - -.yui-panel .hd { - background-color:#3d77cb; - color:black; - font-size:100%; - line-height:100%; - border:1px solid #FFF; - border-bottom:1px solid #000; - font-weight:bold; - overflow:hidden; - padding:4px; -} diff --git a/components/ILIAS/YUI/tests/YUITest.php b/components/ILIAS/YUI/tests/YUITest.php deleted file mode 100755 index 9933f5020650..000000000000 --- a/components/ILIAS/YUI/tests/YUITest.php +++ /dev/null @@ -1,43 +0,0 @@ - - */ -class YUITest extends TestCase -{ - protected function tearDown(): void - { - } - - /** - * Test sort - */ - public function testPath(): void - { - $path = ilYuiUtil::getLocalPath("test.js"); - $this->assertEquals( - "./node_modules/yui2/build/test.js", - $path - ); - } -} From c7a0e6be14a46a452a378151b2564760b7ac845b Mon Sep 17 00:00:00 2001 From: Matheus Zych Date: Fri, 14 Nov 2025 14:31:45 +0100 Subject: [PATCH 097/865] Displays max points for competences with comparisons --- .../TestQuestionPool/src/Skills/EditSkillsOfQuestionTable.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/components/ILIAS/TestQuestionPool/src/Skills/EditSkillsOfQuestionTable.php b/components/ILIAS/TestQuestionPool/src/Skills/EditSkillsOfQuestionTable.php index 8d9aab5dd874..ddb2ab4a2424 100644 --- a/components/ILIAS/TestQuestionPool/src/Skills/EditSkillsOfQuestionTable.php +++ b/components/ILIAS/TestQuestionPool/src/Skills/EditSkillsOfQuestionTable.php @@ -80,7 +80,7 @@ public function getRows( 'eval_mode' => $this->lng->txt($record->hasEvalModeBySolution() ? 'qpl_skill_point_eval_mode_solution_compare' : 'qpl_skill_point_eval_mode_quest_result'), - 'points' => $record->getSkillPoints(), + 'points' => $record->getMaxSkillPoints(), ] ), $record From 64dd1acf688c2b1f78d12283c2d5bfbbebe630f5 Mon Sep 17 00:00:00 2001 From: Matheus Zych Date: Fri, 14 Nov 2025 14:32:37 +0100 Subject: [PATCH 098/865] Improves code structure of ilAssQuestionSkillAssignmentList, ilAssQuestionSolutionComparisonExpression and ilAssQuestionSolutionComparisonExpressionList --- ...class.ilAssQuestionSkillAssignmentList.php | 196 ++++++------------ ...ssQuestionSolutionComparisonExpression.php | 162 ++++----------- ...estionSolutionComparisonExpressionList.php | 112 +++------- 3 files changed, 130 insertions(+), 340 deletions(-) diff --git a/components/ILIAS/TestQuestionPool/classes/class.ilAssQuestionSkillAssignmentList.php b/components/ILIAS/TestQuestionPool/classes/class.ilAssQuestionSkillAssignmentList.php index 7dc7b4f836f2..9d9d3e6c1b71 100755 --- a/components/ILIAS/TestQuestionPool/classes/class.ilAssQuestionSkillAssignmentList.php +++ b/components/ILIAS/TestQuestionPool/classes/class.ilAssQuestionSkillAssignmentList.php @@ -16,100 +16,55 @@ * *********************************************************************/ -/** - * @author Björn Heyser - * @version $Id$ - * - * @package components\ILIAS/Test - */ +declare(strict_types=1); + class ilAssQuestionSkillAssignmentList { - /** - * @var ilDBInterface - */ - private $db; + private ?int $parent_obj_id = null; - /** - * @var integer - */ - private $parentObjId; + private array $assignments = []; - /** - * @var array - */ - private $assignments; + private array $num_assigns_by_skill = []; - /** - * @var array - */ - private $numAssignsBySkill; + private array $max_points_by_skill = []; - /** - * @var array - */ - private $maxPointsBySkill; + private ?int $question_id_filter = null; - /** - * @var integer - */ - private $questionIdFilter; - - public function __construct(ilDBInterface $db) - { - $this->db = $db; - - $this->parentObjId = null; - $this->assignments = []; - $this->numAssignsBySkill = []; - $this->maxPointsBySkill = []; - $this->questionIdFilter = null; + public function __construct( + private readonly ilDBInterface $db + ) { } - /** - * @param int $parentObjId - */ - public function setParentObjId($parentObjId): void + public function setParentObjId(int $parent_obj_id): void { - $this->parentObjId = $parentObjId; + $this->parent_obj_id = $parent_obj_id; } - /** - * @return int - */ public function getParentObjId(): ?int { - return $this->parentObjId; + return $this->parent_obj_id; } - /** - * @return int - */ public function getQuestionIdFilter(): ?int { - return $this->questionIdFilter; + return $this->question_id_filter; } - /** - * @param int $questionIdFilter - */ - public function setQuestionIdFilter($questionIdFilter): void + public function setQuestionIdFilter(int $question_id_filter): void { - $this->questionIdFilter = $questionIdFilter; + $this->question_id_filter = $question_id_filter; } public function reset(): void { $this->assignments = []; - $this->numAssignsBySkill = []; - $this->maxPointsBySkill = []; + $this->num_assigns_by_skill = []; + $this->max_points_by_skill = []; } public function addAssignment(ilAssQuestionSkillAssignment $assignment): void { - if (!isset($this->assignments[$assignment->getQuestionId()])) { - $this->assignments[$assignment->getQuestionId()] = []; - } - + $this->assignments[$assignment->getQuestionId()] ??= []; $this->assignments[$assignment->getQuestionId()][] = $assignment; } @@ -117,22 +72,16 @@ private function incrementNumAssignsBySkill(ilAssQuestionSkillAssignment $assign { $key = $this->buildSkillKey($assignment->getSkillBaseId(), $assignment->getSkillTrefId()); - if (!isset($this->numAssignsBySkill[$key])) { - $this->numAssignsBySkill[$key] = 0; - } - - $this->numAssignsBySkill[$key]++; + $this->num_assigns_by_skill[$key] ??= 0; + $this->num_assigns_by_skill[$key]++; } private function incrementMaxPointsBySkill(ilAssQuestionSkillAssignment $assignment): void { $key = $this->buildSkillKey($assignment->getSkillBaseId(), $assignment->getSkillTrefId()); - if (!isset($this->maxPointsBySkill[$key])) { - $this->maxPointsBySkill[$key] = 0; - } - - $this->maxPointsBySkill[$key] += $assignment->getMaxSkillPoints(); + $this->max_points_by_skill[$key] ??= 0; + $this->max_points_by_skill[$key] += $assignment->getMaxSkillPoints(); } public function loadFromDb(): void @@ -149,7 +98,7 @@ public function loadFromDb(): void $assignment = $this->buildSkillQuestionAssignmentByArray($row); if ($assignment->hasEvalModeBySolution()) { - $assignment->loadComparisonExpressions(); // db query + $assignment->loadComparisonExpressions(); } $this->addAssignment($assignment); @@ -160,22 +109,16 @@ public function loadFromDb(): void private function getWhereConditions(): string { - $conditions = [ - 'obj_fi = ' . $this->db->quote($this->getParentObjId(), 'integer') - ]; + $conditions = ["obj_fi = {$this->db->quote($this->getParentObjId(), ilDBConstants::T_INTEGER)}"]; if ($this->getQuestionIdFilter()) { - $conditions[] = 'question_fi = ' . $this->db->quote($this->getQuestionIdFilter(), 'integer'); + $conditions[] = "question_fi = {$this->db->quote($this->getQuestionIdFilter(), ilDBConstants::T_INTEGER)}"; } return implode(' AND ', $conditions); } - /** - * @param array $data - * @return ilAssQuestionSkillAssignment - */ - private function buildSkillQuestionAssignmentByArray($data): ilAssQuestionSkillAssignment + private function buildSkillQuestionAssignmentByArray(array $data): ilAssQuestionSkillAssignment { $assignment = new ilAssQuestionSkillAssignment($this->db); @@ -189,45 +132,40 @@ private function buildSkillQuestionAssignmentByArray($data): ilAssQuestionSkillA return $assignment; } - private function buildSkillKey($skillBaseId, $skillTrefId): string + private function buildSkillKey(int $skill_base_id, int $skill_tref_id): string { - return $skillBaseId . ':' . $skillTrefId; + return "{$skill_base_id}:{$skill_tref_id}"; } public function loadAdditionalSkillData(): void { - foreach ($this->assignments as $assignmentsByQuestion) { - foreach ($assignmentsByQuestion as $assignment) { + foreach ($this->assignments as $assignments_by_question) { + foreach ($assignments_by_question as $assignment) { $assignment->loadAdditionalSkillData(); } } } /** - * @param $questionId - * @return array of ilAssQuestionSkillAssignment + * @return ilAssQuestionSkillAssignment[] */ - public function getAssignmentsByQuestionId($questionId): array + public function getAssignmentsByQuestionId(int $question_id): array { - if (!isset($this->assignments[$questionId])) { - return []; - } - - return $this->assignments[$questionId]; + return $this->assignments[$question_id] ?? []; } - public function isAssignedToQuestionId($skillBaseId, $skillTrefId, $questionId): bool + public function isAssignedToQuestionId(int $skill_base_id, int $skill_tref_id, int $question_id): bool { - if (!isset($this->assignments[$questionId])) { + if (!isset($this->assignments[$question_id])) { return false; } - foreach ($this->assignments[$questionId] as $assignment) { - if ($assignment->getSkillBaseId() != $skillBaseId) { + foreach ($this->assignments[$question_id] as $assignment) { + if ($assignment->getSkillBaseId() !== $skill_base_id) { continue; } - if ($assignment->getSkillTrefId() != $skillTrefId) { + if ($assignment->getSkillTrefId() !== $skill_tref_id) { continue; } @@ -241,40 +179,38 @@ public function getUniqueAssignedSkills(): array { $skills = []; - foreach ($this->assignments as $assignmentsByQuestion) { - foreach ($assignmentsByQuestion as $assignment) { + foreach ($this->assignments as $assignments_by_question) { + foreach ($assignments_by_question as $assignment) { $key = $this->buildSkillKey($assignment->getSkillBaseId(), $assignment->getSkillTrefId()); - if (!isset($skills[$key])) { - $skills[$key] = [ - 'skill' => new ilBasicSkill($assignment->getSkillBaseId()), - 'skill_base_id' => $assignment->getSkillBaseId(), - 'skill_tref_id' => $assignment->getSkillTrefId(), - 'skill_title' => $assignment->getSkillTitle(), - 'skill_path' => $assignment->getSkillPath(), - 'num_assigns' => $this->getNumAssignsBySkill( - $assignment->getSkillBaseId(), - $assignment->getSkillTrefId() - ), - 'max_points' => $this->getMaxPointsBySkill( - $assignment->getSkillBaseId(), - $assignment->getSkillTrefId() - ) - ]; - } + $skills[$key] ??= [ + 'skill' => new ilBasicSkill($assignment->getSkillBaseId()), + 'skill_base_id' => $assignment->getSkillBaseId(), + 'skill_tref_id' => $assignment->getSkillTrefId(), + 'skill_title' => $assignment->getSkillTitle(), + 'skill_path' => $assignment->getSkillPath(), + 'num_assigns' => $this->getNumAssignsBySkill( + $assignment->getSkillBaseId(), + $assignment->getSkillTrefId() + ), + 'max_points' => $this->getMaxPointsBySkill( + $assignment->getSkillBaseId(), + $assignment->getSkillTrefId() + ) + ]; } } return $skills; } - public function isAssignedSkill($skillBaseId, $skillTrefId): bool + public function isAssignedSkill(int $skill_base_id, int $skill_tref_id): bool { foreach ($this->getUniqueAssignedSkills() as $assignedSkill) { - if ($assignedSkill['skill_base_id'] != $skillBaseId) { + if ($assignedSkill['skill_base_id'] !== $skill_base_id) { continue; } - if ($assignedSkill['skill_tref_id'] == $skillTrefId) { + if ($assignedSkill['skill_tref_id'] === $skill_tref_id) { return true; } } @@ -282,20 +218,22 @@ public function isAssignedSkill($skillBaseId, $skillTrefId): bool return false; } - public function getNumAssignsBySkill($skillBaseId, $skillTrefId) + public function getNumAssignsBySkill(int $skill_base_id, int $skill_tref_id) { - return $this->numAssignsBySkill[$this->buildSkillKey($skillBaseId, $skillTrefId)] ?? null; + return $this->num_assigns_by_skill[$this->buildSkillKey($skill_base_id, $skill_tref_id)] ?? null; } - public function getMaxPointsBySkill($skillBaseId, $skillTrefId) + public function getMaxPointsBySkill(int $skill_base_id, int $skill_tref_id) { - return $this->maxPointsBySkill[$this->buildSkillKey($skillBaseId, $skillTrefId)] ?? null; + return $this->max_points_by_skill[$this->buildSkillKey($skill_base_id, $skill_tref_id)] ?? null; } public function hasSkillsAssignedLowerThanBarrier(): bool { - $global_barrier = (new ilObjTestFolder())->getGlobalSettingsRepository() - ->getGlobalSettings()->getSkillTriggeringNumberOfAnswers(); + $global_barrier = (new ilObjTestFolder()) + ->getGlobalSettingsRepository() + ->getGlobalSettings() + ->getSkillTriggeringNumberOfAnswers(); foreach ($this->getUniqueAssignedSkills() as $skill_data) { if ($skill_data['num_assigns'] < $global_barrier) { diff --git a/components/ILIAS/TestQuestionPool/classes/class.ilAssQuestionSolutionComparisonExpression.php b/components/ILIAS/TestQuestionPool/classes/class.ilAssQuestionSolutionComparisonExpression.php index 97afbce9810c..7e1e3c1bb2f9 100755 --- a/components/ILIAS/TestQuestionPool/classes/class.ilAssQuestionSolutionComparisonExpression.php +++ b/components/ILIAS/TestQuestionPool/classes/class.ilAssQuestionSolutionComparisonExpression.php @@ -16,195 +16,107 @@ * *********************************************************************/ -/** - * @author Björn Heyser - * @version $Id$ - * - * @package components\ILIAS/TestQuestionPool - */ +declare(strict_types=1); + class ilAssQuestionSolutionComparisonExpression { - /** - * @var ilDBInterface - */ - protected $db; - - /** - * @var integer - */ - private $questionId; - - /** - * @var integer - */ - private $skillBaseId; - - /** - * @var integer - */ - private $skillTrefId; - - /** - * @var integer - */ - private $orderIndex; - - /** - * @var string - */ - private $expression; - - /** - * @var integer - */ - private $points; - - /** - * Constructor - */ - public function __construct() - { - $this->questionId = null; - $this->skillBaseId = null; - $this->skillTrefId = null; - $this->orderIndex = null; - $this->expression = null; - $this->points = null; - } + protected ilDBInterface $db; + + private ?int $question_id = null; + + private ?int $skill_base_id = null; + + private ?int $skill_tref_id = null; + + private ?int $order_index = null; + + private ?string $expression = null; + + private ?int $points = null; public function save(): void { $this->db->replace( 'qpl_qst_skl_sol_expr', [ - 'question_fi' => ['integer', $this->getQuestionId()], - 'skill_base_fi' => ['integer', $this->getSkillBaseId()], - 'skill_tref_fi' => ['integer', $this->getSkillTrefId()], - 'order_index' => ['integer', $this->getOrderIndex()] + 'question_fi' => [ilDBConstants::T_INTEGER, $this->getQuestionId()], + 'skill_base_fi' => [ilDBConstants::T_INTEGER, $this->getSkillBaseId()], + 'skill_tref_fi' => [ilDBConstants::T_INTEGER, $this->getSkillTrefId()], + 'order_index' => [ilDBConstants::T_INTEGER, $this->getOrderIndex()] ], [ - 'expression' => ['text', $this->getExpression()], - 'points' => ['integer', $this->getPoints()] + 'expression' => [ilDBConstants::T_TEXT, $this->getExpression()], + 'points' => [ilDBConstants::T_INTEGER, $this->getPoints()] ] ); } - /** - * @return ilDBInterface - */ - public function getDb(): ilDBInterface - { - return $this->db; - } - - /** - * @param ilDBInterface $db - */ - public function setDb($db): void + public function setDb(ilDBInterface $db): void { $this->db = $db; } - /** - * @return int - */ public function getQuestionId(): ?int { - return $this->questionId; + return $this->question_id; } - /** - * @param int $questionId - */ - public function setQuestionId($questionId): void + public function setQuestionId(int $question_id): void { - $this->questionId = $questionId; + $this->question_id = $question_id; } - /** - * @return int - */ public function getSkillBaseId(): ?int { - return $this->skillBaseId; + return $this->skill_base_id; } - /** - * @param int $skillBaseId - */ - public function setSkillBaseId($skillBaseId): void + public function setSkillBaseId(int $skill_base_id): void { - $this->skillBaseId = $skillBaseId; + $this->skill_base_id = $skill_base_id; } - /** - * @return int - */ public function getSkillTrefId(): ?int { - return $this->skillTrefId; + return $this->skill_tref_id; } - /** - * @param int $skillTrefId - */ - public function setSkillTrefId($skillTrefId): void + public function setSkillTrefId(int $skill_tref_id): void { - $this->skillTrefId = $skillTrefId; + $this->skill_tref_id = $skill_tref_id; } - /** - * @return int - */ public function getOrderIndex(): ?int { - return $this->orderIndex; + return $this->order_index; } - /** - * @param int $orderIndex - */ - public function setOrderIndex($orderIndex): void + public function setOrderIndex(int $order_index): void { - $this->orderIndex = $orderIndex; + $this->order_index = $order_index; } - /** - * @return string - */ public function getExpression(): ?string { return $this->expression; } - /** - * @param string $expression - */ - public function setExpression($expression): void + public function setExpression(string $expression): void { $this->expression = $expression; } - /** - * @return int - */ public function getPoints(): ?int { return $this->points; } - /** - * @param int $points - */ - public function setPoints($points): void + public function setPoints(int $points): void { $this->points = $points; } - /** - * @param array $data - */ - public function initInstanceFromArray($data): void + public function initInstanceFromArray(array $data): void { $this->setQuestionId($data['question_fi']); $this->setSkillBaseId($data['skill_base_fi']); diff --git a/components/ILIAS/TestQuestionPool/classes/class.ilAssQuestionSolutionComparisonExpressionList.php b/components/ILIAS/TestQuestionPool/classes/class.ilAssQuestionSolutionComparisonExpressionList.php index 8929d6ffd290..494d2038b28e 100755 --- a/components/ILIAS/TestQuestionPool/classes/class.ilAssQuestionSolutionComparisonExpressionList.php +++ b/components/ILIAS/TestQuestionPool/classes/class.ilAssQuestionSolutionComparisonExpressionList.php @@ -16,64 +16,28 @@ * *********************************************************************/ -/** - * @author Björn Heyser - * @version $Id$ - * - * @package components\ILIAS/Test - */ +declare(strict_types=1); + class ilAssQuestionSolutionComparisonExpressionList { - /** - * @var ilDBInterface - */ - protected $db; - - /** - * @var integer - */ - private $questionId; - - /** - * @var integer - */ - private $skillBaseId; - - /** - * @var integer - */ - private $skillTrefId; - - /** - * @var array - */ - private $expressions; - - /** - * @param ilDBInterface $db - */ - public function __construct(ilDBInterface $db) - { - $this->db = $db; + private ?int $question_id = null; - $this->questionId = null; - $this->skillBaseId = null; - $this->skillTrefId = null; + private ?int $skill_base_id = null; - $this->expressions = []; + private ?int $skill_tref_id = null; + + private array $expressions = []; + + public function __construct( + protected readonly ilDBInterface $db + ) { } public function load(): void { - $query = " - SELECT * - FROM qpl_qst_skl_sol_expr - WHERE question_fi = %s AND skill_base_fi = %s AND skill_tref_fi = %s - "; - $res = $this->db->queryF( - $query, - ['integer', 'integer', 'integer'], + 'SELECT * FROM qpl_qst_skl_sol_expr WHERE question_fi = %s AND skill_base_fi = %s AND skill_tref_fi = %s', + [ilDBConstants::T_INTEGER, ilDBConstants::T_INTEGER, ilDBConstants::T_INTEGER], [$this->getQuestionId(), $this->getSkillBaseId(), $this->getSkillTrefId()] ); @@ -90,9 +54,8 @@ public function save(): void { $this->delete(); - foreach ($this->expressions as $orderIndex => $expression) { - /* @var ilAssQuestionSolutionComparisonExpression $expression */ - + /* @var ilAssQuestionSolutionComparisonExpression $expression */ + foreach ($this->expressions as $expression) { $expression->setQuestionId($this->getQuestionId()); $expression->save(); } @@ -100,14 +63,9 @@ public function save(): void public function delete(): void { - $query = " - DELETE FROM qpl_qst_skl_sol_expr - WHERE question_fi = %s AND skill_base_fi = %s AND skill_tref_fi = %s - "; - $this->db->manipulateF( - $query, - ['integer', 'integer', 'integer'], + 'DELETE FROM qpl_qst_skl_sol_expr WHERE question_fi = %s AND skill_base_fi = %s AND skill_tref_fi = %s', + [ilDBConstants::T_INTEGER, ilDBConstants::T_INTEGER, ilDBConstants::T_INTEGER], [$this->getQuestionId(), $this->getSkillBaseId(), $this->getSkillTrefId()] ); } @@ -132,51 +90,33 @@ public function reset(): void $this->expressions = []; } - /** - * @return int - */ public function getQuestionId(): ?int { - return $this->questionId; + return $this->question_id; } - /** - * @param int $questionId - */ - public function setQuestionId($questionId): void + public function setQuestionId(int $question_id): void { - $this->questionId = $questionId; + $this->question_id = $question_id; } - /** - * @return int - */ public function getSkillBaseId(): ?int { - return $this->skillBaseId; + return $this->skill_base_id; } - /** - * @param int $skillBaseId - */ - public function setSkillBaseId($skillBaseId): void + public function setSkillBaseId(int $skill_base_id): void { - $this->skillBaseId = $skillBaseId; + $this->skill_base_id = $skill_base_id; } - /** - * @return int - */ public function getSkillTrefId(): ?int { - return $this->skillTrefId; + return $this->skill_tref_id; } - /** - * @param int $skillTrefId - */ - public function setSkillTrefId($skillTrefId): void + public function setSkillTrefId(int $skill_tref_id): void { - $this->skillTrefId = $skillTrefId; + $this->skill_tref_id = $skill_tref_id; } } From 9c23a9c3915c7357c91c049e43de0d376477f6b8 Mon Sep 17 00:00:00 2001 From: Aaron Bidzan Date: Mon, 1 Dec 2025 17:51:13 +0100 Subject: [PATCH 099/865] Refactors setters to also be nullable --- .../class.ilAssQuestionSkillAssignmentList.php | 4 ++-- ...ass.ilAssQuestionSolutionComparisonExpression.php | 12 ++++++------ ...ilAssQuestionSolutionComparisonExpressionList.php | 6 +++--- 3 files changed, 11 insertions(+), 11 deletions(-) diff --git a/components/ILIAS/TestQuestionPool/classes/class.ilAssQuestionSkillAssignmentList.php b/components/ILIAS/TestQuestionPool/classes/class.ilAssQuestionSkillAssignmentList.php index 9d9d3e6c1b71..3bad9658c401 100755 --- a/components/ILIAS/TestQuestionPool/classes/class.ilAssQuestionSkillAssignmentList.php +++ b/components/ILIAS/TestQuestionPool/classes/class.ilAssQuestionSkillAssignmentList.php @@ -35,7 +35,7 @@ public function __construct( ) { } - public function setParentObjId(int $parent_obj_id): void + public function setParentObjId(?int $parent_obj_id): void { $this->parent_obj_id = $parent_obj_id; } @@ -50,7 +50,7 @@ public function getQuestionIdFilter(): ?int return $this->question_id_filter; } - public function setQuestionIdFilter(int $question_id_filter): void + public function setQuestionIdFilter(?int $question_id_filter): void { $this->question_id_filter = $question_id_filter; } diff --git a/components/ILIAS/TestQuestionPool/classes/class.ilAssQuestionSolutionComparisonExpression.php b/components/ILIAS/TestQuestionPool/classes/class.ilAssQuestionSolutionComparisonExpression.php index 7e1e3c1bb2f9..3ba6845f11ae 100755 --- a/components/ILIAS/TestQuestionPool/classes/class.ilAssQuestionSolutionComparisonExpression.php +++ b/components/ILIAS/TestQuestionPool/classes/class.ilAssQuestionSolutionComparisonExpression.php @@ -61,7 +61,7 @@ public function getQuestionId(): ?int return $this->question_id; } - public function setQuestionId(int $question_id): void + public function setQuestionId(?int $question_id): void { $this->question_id = $question_id; } @@ -71,7 +71,7 @@ public function getSkillBaseId(): ?int return $this->skill_base_id; } - public function setSkillBaseId(int $skill_base_id): void + public function setSkillBaseId(?int $skill_base_id): void { $this->skill_base_id = $skill_base_id; } @@ -81,7 +81,7 @@ public function getSkillTrefId(): ?int return $this->skill_tref_id; } - public function setSkillTrefId(int $skill_tref_id): void + public function setSkillTrefId(?int $skill_tref_id): void { $this->skill_tref_id = $skill_tref_id; } @@ -91,7 +91,7 @@ public function getOrderIndex(): ?int return $this->order_index; } - public function setOrderIndex(int $order_index): void + public function setOrderIndex(?int $order_index): void { $this->order_index = $order_index; } @@ -101,7 +101,7 @@ public function getExpression(): ?string return $this->expression; } - public function setExpression(string $expression): void + public function setExpression(?string $expression): void { $this->expression = $expression; } @@ -111,7 +111,7 @@ public function getPoints(): ?int return $this->points; } - public function setPoints(int $points): void + public function setPoints(?int $points): void { $this->points = $points; } diff --git a/components/ILIAS/TestQuestionPool/classes/class.ilAssQuestionSolutionComparisonExpressionList.php b/components/ILIAS/TestQuestionPool/classes/class.ilAssQuestionSolutionComparisonExpressionList.php index 494d2038b28e..bede1c958e5a 100755 --- a/components/ILIAS/TestQuestionPool/classes/class.ilAssQuestionSolutionComparisonExpressionList.php +++ b/components/ILIAS/TestQuestionPool/classes/class.ilAssQuestionSolutionComparisonExpressionList.php @@ -95,7 +95,7 @@ public function getQuestionId(): ?int return $this->question_id; } - public function setQuestionId(int $question_id): void + public function setQuestionId(?int $question_id): void { $this->question_id = $question_id; } @@ -105,7 +105,7 @@ public function getSkillBaseId(): ?int return $this->skill_base_id; } - public function setSkillBaseId(int $skill_base_id): void + public function setSkillBaseId(?int $skill_base_id): void { $this->skill_base_id = $skill_base_id; } @@ -115,7 +115,7 @@ public function getSkillTrefId(): ?int return $this->skill_tref_id; } - public function setSkillTrefId(int $skill_tref_id): void + public function setSkillTrefId(?int $skill_tref_id): void { $this->skill_tref_id = $skill_tref_id; } From a8413107bf7b42e7bce1a6a34d4526561f908fb4 Mon Sep 17 00:00:00 2001 From: iszmais <45942348+iszmais@users.noreply.github.com> Date: Tue, 2 Dec 2025 11:12:43 +0100 Subject: [PATCH 100/865] remove last remains of yui (#10597) --- components/ILIAS/Accordion/classes/class.ilAccordionGUI.php | 2 -- components/ILIAS/Scorm2004/classes/class.ilSCORM13PlayerGUI.php | 2 -- 2 files changed, 4 deletions(-) diff --git a/components/ILIAS/Accordion/classes/class.ilAccordionGUI.php b/components/ILIAS/Accordion/classes/class.ilAccordionGUI.php index 25163c486e07..c8507fc6becf 100755 --- a/components/ILIAS/Accordion/classes/class.ilAccordionGUI.php +++ b/components/ILIAS/Accordion/classes/class.ilAccordionGUI.php @@ -228,8 +228,6 @@ public static function addJavaScript(?ilGlobalTemplate $main_tpl = null): void $tpl = $DIC["tpl"]; } - ilYuiUtil::initConnection($tpl); - foreach (self::getLocalJavascriptFiles() as $f) { $tpl->addJavaScript($f, true, 3); } diff --git a/components/ILIAS/Scorm2004/classes/class.ilSCORM13PlayerGUI.php b/components/ILIAS/Scorm2004/classes/class.ilSCORM13PlayerGUI.php index a6f0f6b53c3b..5e0162e0ab98 100755 --- a/components/ILIAS/Scorm2004/classes/class.ilSCORM13PlayerGUI.php +++ b/components/ILIAS/Scorm2004/classes/class.ilSCORM13PlayerGUI.php @@ -464,8 +464,6 @@ public function getPlayer(): void $this->tpl->setVariable('JSON_LANGSTRINGS', json_encode($langstrings)); - // include_once("../components/ILIAS/YUI/classes/class.ilYuiUtil.php"); - // $this->tpl->setVariable('YUI_PATH', ilYuiUtil::getLocalPath()); // $this->tpl->setVariable('TREE_JS', "../components/ILIAS/UIComponent/NestedList/js/ilNestedList.js"); $this->tpl->setVariable('TREE_JS', "components/ILIAS/Scorm2004/scripts/ilNestedList.js"); foreach ($langstrings as $key => $value) { From a0329ae9f83494bd1a2df1a71f671be6dfa04616 Mon Sep 17 00:00:00 2001 From: Stephan Kergomard Date: Tue, 2 Dec 2025 11:18:17 +0100 Subject: [PATCH 101/865] Test: Fix Export See: https://mantis.ilias.de/view.php?id=46417 and: https://mantis.ilias.de/view.php?id=46418 --- components/ILIAS/Test/classes/class.ilObjTest.php | 1 - components/ILIAS/Test/classes/class.ilObjTestGUI.php | 6 ++---- components/ILIAS/Test/classes/class.ilTestExportGUI.php | 9 ++++++++- 3 files changed, 10 insertions(+), 6 deletions(-) diff --git a/components/ILIAS/Test/classes/class.ilObjTest.php b/components/ILIAS/Test/classes/class.ilObjTest.php index 67c6f13f6b78..ac0f4e22bce0 100755 --- a/components/ILIAS/Test/classes/class.ilObjTest.php +++ b/components/ILIAS/Test/classes/class.ilObjTest.php @@ -3430,7 +3430,6 @@ public function toXML(): string 'highscore_achieved_ts' => $this->getHighscoreAchievedTS(), 'highscore_score' => $this->getHighscoreScore(), 'highscore_percentage' => $this->getHighscorePercentage(), - 'highscore_hints' => $this->getHighscoreHints(), 'highscore_wtime' => $this->getHighscoreWTime(), 'highscore_own_table' => $this->getHighscoreOwnTable(), 'highscore_top_table' => $this->getHighscoreTopTable(), diff --git a/components/ILIAS/Test/classes/class.ilObjTestGUI.php b/components/ILIAS/Test/classes/class.ilObjTestGUI.php index 1456c6df7d17..07b0e0f626f3 100755 --- a/components/ILIAS/Test/classes/class.ilObjTestGUI.php +++ b/components/ILIAS/Test/classes/class.ilObjTestGUI.php @@ -366,10 +366,8 @@ public function executeCommand(): void $this->export_repository, $this->temp_file_system, $this->participant_access_filter_factory, - new ilTestHTMLGenerator(), - $selected_files, - $this->questionrepository, - $this->testrequest + $this->test_pass_result_repository, + new ilTestHTMLGenerator() ); $this->ctrl->forwardCommand($export_gui); break; diff --git a/components/ILIAS/Test/classes/class.ilTestExportGUI.php b/components/ILIAS/Test/classes/class.ilTestExportGUI.php index e3240cbb2e39..88e324fde351 100755 --- a/components/ILIAS/Test/classes/class.ilTestExportGUI.php +++ b/components/ILIAS/Test/classes/class.ilTestExportGUI.php @@ -21,6 +21,7 @@ use ILIAS\Test\Scoring\Manual\TestScoring; use ILIAS\Test\ExportImport\DBRepository; use ILIAS\Test\ExportImport\ResultsExportStakeholder; +use ILIAS\Test\Results\Data\Repository as TestResultsRepository; use ILIAS\UI\Factory as UIFactory; use ILIAS\UI\Renderer as UIRenderer; use ILIAS\ResourceStorage\Services as IRSS; @@ -49,6 +50,7 @@ public function __construct( private readonly DBRepository $export_repository, private readonly Filesystem $temp_file_system, private readonly ilTestParticipantAccessFilterFactory $participant_access_filter_factory, + private readonly TestResultsRepository $test_results_repository, private readonly ilTestHTMLGenerator $html_generator ) { parent::__construct($parent_gui, null); @@ -153,7 +155,12 @@ public function createTestArchiveExport() $test_ref ); - $scoring = new TestScoring($this->obj, $this->user, $this->db, $this->lng); + $scoring = new TestScoring( + $this->obj, + $this->user, + $this->db, + $this->test_results_repository + ); $best_solution = $scoring->calculateBestSolutionForTest(); $tmpFileName = ilFileUtils::ilTempnam(); From 546c1e1a8f23c979f43a587bce1e0b1fcb6ccc64 Mon Sep 17 00:00:00 2001 From: iszmais <45942348+iszmais@users.noreply.github.com> Date: Tue, 2 Dec 2025 11:28:47 +0100 Subject: [PATCH 102/865] Form: make autocomplete work for multi-text inputs (44429) (#9181) (#10599) Co-authored-by: Tim Schmitz <104776863+schmitz-ilias@users.noreply.github.com> --- .../Form/classes/class.ilTextInputGUI.php | 5 + .../ILIAS/Form/resources/ServiceFormMulti.js | 488 ++++++++---------- .../autocomplete/dist/legacyAutocomplete.js | 2 +- .../autocomplete/src/autocompleteHandler.js | 3 +- 4 files changed, 237 insertions(+), 261 deletions(-) diff --git a/components/ILIAS/Form/classes/class.ilTextInputGUI.php b/components/ILIAS/Form/classes/class.ilTextInputGUI.php index cffafe697e69..4f19b4cc9df0 100755 --- a/components/ILIAS/Form/classes/class.ilTextInputGUI.php +++ b/components/ILIAS/Form/classes/class.ilTextInputGUI.php @@ -372,6 +372,11 @@ public function render(string $a_mode = ""): string $this->global_tpl->addOnLoadCode( "il.LegacyForm.autocomplete.init(document.querySelector(`{$sel_auto}`), {$config});" ); + if ($this->multi) { + $this->global_tpl->addOnLoadCode( + "ilMultiFormValues.addAutocomplete(`" . $this->getFieldId() . "`, " . $config . ");" + ); + } } if ($a_mode == "toolbar") { diff --git a/components/ILIAS/Form/resources/ServiceFormMulti.js b/components/ILIAS/Form/resources/ServiceFormMulti.js index 8e4e50b9cd28..f201c481307a 100644 --- a/components/ILIAS/Form/resources/ServiceFormMulti.js +++ b/components/ILIAS/Form/resources/ServiceFormMulti.js @@ -12,263 +12,237 @@ * https://www.ilias.de * https://github.com/ILIAS-eLearning * - *********************************************************************/ + ******************************************************************** */ +/* eslint-disable */ var ilMultiFormValues = { - - // - auto_complete_urls: {}, - - /** + + // + autocompleteConfigs: {}, + + /** * Bind click events and handle preset values */ - init: function() { - // add click event to +-icons - $('button[id*="ilMultiAdd"]').on('click', function(e) { - ilMultiFormValues.addEvent(e); - }); - // add click event to --icons - $('button[id*="ilMultiRmv"]').on('click', function(e) { - ilMultiFormValues.removeEvent(e); - }); - // add click event to down-icons - $('button[id*="ilMultiDwn"]').on('click', function(e) { - ilMultiFormValues.downEvent(e); - }); - // add click event to up-icons - $('button[id*="ilMultiUp"]').on('click', function(e) { - ilMultiFormValues.upEvent(e); - }); - // return triggers add (BEFORE adding preset items) - $('button[id*="ilMultiAdd"]').each(function() { - var id = $(this).attr('id').split('~'); - // only text inputs are supported yet - $('div[id="ilFormField~' + id[1] + '~' + id[2] + '"]').find('input:text[id*="' + id[1] + '"]').on('keydown', function(e) { - ilMultiFormValues.keyDown(e); - }); - }); - - // handle preset values (in hidden inputs) - $('input[id*="ilMultiValues"]').each(function() { - ilMultiFormValues.handlePreset(this); - }); - }, - - /** + init() { + // add click event to +-icons + $('button[id*="ilMultiAdd"]').on('click', (e) => { + ilMultiFormValues.addEvent(e); + }); + // add click event to --icons + $('button[id*="ilMultiRmv"]').on('click', (e) => { + ilMultiFormValues.removeEvent(e); + }); + // add click event to down-icons + $('button[id*="ilMultiDwn"]').on('click', (e) => { + ilMultiFormValues.downEvent(e); + }); + // add click event to up-icons + $('button[id*="ilMultiUp"]').on('click', (e) => { + ilMultiFormValues.upEvent(e); + }); + // return triggers add (BEFORE adding preset items) + $('button[id*="ilMultiAdd"]').each(function () { + const id = $(this).attr('id').split('~'); + // only text inputs are supported yet + $(`div[id="ilFormField~${id[1]}~${id[2]}"]`).find(`input:text[id*="${id[1]}"]`).on('keydown', (e) => { + ilMultiFormValues.keyDown(e); + }); + }); + + // handle preset values (in hidden inputs) + $('input[id*="ilMultiValues"]').each(function () { + ilMultiFormValues.handlePreset(this); + }); + }, + + /** * Add multi item (click event) - * + * * @param event e */ - addEvent: function(e) { - var id = $(e.delegateTarget).attr('id').split('~'); - ilMultiFormValues.add(id[1], id[2], []); - }, + addEvent(e) { + const id = $(e.delegateTarget).attr('id').split('~'); + ilMultiFormValues.add(id[1], id[2], []); + }, - /** + /** * Remove multi item (click event) - * + * * @param event e */ - removeEvent: function(e) { - var id = $(e.delegateTarget).attr('id').split('~'); - if($('div[id*="ilFormField~' + id[1] + '"]').length > 1) { - $('div[id="ilFormField~' + id[1] + '~' + id[2] + '"]').remove(); - } - else { - $('div[id="ilFormField~' + id[1] + '~' + id[2] + '"]').find('input:text[id*="' + id[1] + '"]').attr('value', ''); - $('div[id="ilFormField~' + id[1] + '~' + id[2] + '"]').find('select[id*="' + id[1] + '"]').attr('value', ''); // #18055 - } - }, - - /** + removeEvent(e) { + const id = $(e.delegateTarget).attr('id').split('~'); + if ($(`div[id*="ilFormField~${id[1]}"]`).length > 1) { + $(`div[id="ilFormField~${id[1]}~${id[2]}"]`).remove(); + } else { + $(`div[id="ilFormField~${id[1]}~${id[2]}"]`).find(`input:text[id*="${id[1]}"]`).attr('value', ''); + $(`div[id="ilFormField~${id[1]}~${id[2]}"]`).find(`select[id*="${id[1]}"]`).attr('value', ''); // #18055 + } + }, + + /** * Move multi item down (click event) - * + * * @param event e */ - downEvent: function(e) { - var id = $(e.delegateTarget).attr('id').split('~'); - var original_element = $('div[id="ilFormField~' + id[1] + '~' + id[2] + '"]'); - var next = $(original_element).next(); - if(next[0]) - { - $(next).after($(original_element)); - } - }, - - /** + downEvent(e) { + const id = $(e.delegateTarget).attr('id').split('~'); + const original_element = $(`div[id="ilFormField~${id[1]}~${id[2]}"]`); + const next = $(original_element).next(); + if (next[0]) { + $(next).after($(original_element)); + } + }, + + /** * Move multi item up (click event) - * + * * @param event e */ - upEvent: function(e) { - var id = $(e.delegateTarget).attr('id').split('~'); - var original_element = $('div[id="ilFormField~' + id[1] + '~' + id[2] + '"]'); - var prev = $(original_element).prev(); - if(prev[0]) - { - $(prev).before($(original_element)); - } - }, - - /** + upEvent(e) { + const id = $(e.delegateTarget).attr('id').split('~'); + const original_element = $(`div[id="ilFormField~${id[1]}~${id[2]}"]`); + const prev = $(original_element).prev(); + if (prev[0]) { + $(prev).before($(original_element)); + } + }, + + /** * Add multi item - * - * @param string group_id - * @param int index - * @param mixed preset + * + * @param string group_id + * @param int index + * @param mixed preset */ - add: function(group_id, index, preset) { -//console.log(group_id); -//console.log(index); - // find maximum id in group - var new_id = 0; - var sub_id = 0; - $('div[id*="ilFormField~' + group_id + '"]').each(function() { - sub_id = $(this).attr('id').split('~')[2]; - sub_id = parseInt(sub_id); - if(sub_id > new_id) { - new_id = sub_id; - } - }); - new_id = new_id + 1; - - var original_element = $('div[id="ilFormField~' + group_id + '~' + index + '"]'); - - // clone original element - var new_element = $(original_element).clone(); - - // fix id of cloned element - $(new_element).attr('id', 'ilFormField~' + group_id + '~' + new_id); - - // binding +-icon - $(new_element).find('[id*="ilMultiAdd"]').each(function() { - $(this).attr('id', 'ilMultiAdd~' + group_id + '~' + new_id); - $(this).on('click', function(e) { - ilMultiFormValues.addEvent(e); - }); - }); + add(group_id, index, preset) { + // console.log(group_id); + // console.log(index); + // find maximum id in group + let new_id = 0; + let sub_id = 0; + $(`div[id*="ilFormField~${group_id}"]`).each(function () { + sub_id = $(this).attr('id').split('~')[2]; + sub_id = parseInt(sub_id); + if (sub_id > new_id) { + new_id = sub_id; + } + }); + new_id += 1; - // binding --icon - $(new_element).find('[id*="ilMultiRmv"]').each(function() { - $(this).attr('id', 'ilMultiRmv~' + group_id + '~' + new_id); - $(this).on('click', function(e) { - ilMultiFormValues.removeEvent(e); - }); - }); - - // binding down-icon - $(new_element).find('[id*="ilMultiDwn"]').each(function() { - $(this).attr('id', 'ilMultiDwn~' + group_id + '~' + new_id); - $(this).on('click', function(e) { - ilMultiFormValues.downEvent(e); - }); - }); - - // binding up-icon - $(new_element).find('[id*="ilMultiUp"]').each(function() { - $(this).attr('id', 'ilMultiUp~' + group_id + '~' + new_id); - $(this).on('click', function(e) { - ilMultiFormValues.upEvent(e); - }); - }); + const original_element = $(`div[id="ilFormField~${group_id}~${index}"]`); + + // clone original element + const new_element = $(original_element).clone(); + + // fix id of cloned element + $(new_element).attr('id', `ilFormField~${group_id}~${new_id}`); + + // binding +-icon + $(new_element).find('[id*="ilMultiAdd"]').each(function () { + $(this).attr('id', `ilMultiAdd~${group_id}~${new_id}`); + $(this).on('click', (e) => { + ilMultiFormValues.addEvent(e); + }); + }); - // resetting value for new elements if none given - ilMultiFormValues.setValue(new_element, preset); - - // insert clone into html - $(original_element).after(new_element); - - // #15798 - remove multi-values hidden inputs (when disabled) - if(preset) - { - $(new_element).find('input:hidden[name="' + group_id + '[]"]').each(function() { - // #15944 - if($(this).prev().attr("disabled")) - { - $(this).remove(); - } - }); - } - - // add autocomplete - if (typeof ilMultiFormValues.auto_complete_urls[group_id] != 'undefined' && - ilMultiFormValues.auto_complete_urls[group_id] != "") { - - /* - $('[id="' + group_id + '~' + new_id + '"]').autocomplete({ - source: ilMultiFormValues.auto_complete_urls[group_id], - minLength: 3 - }); - */ - - // #17418 - request result structure has changed due to "more" - $('[id="' + group_id + '~' + new_id + '"]').iladvancedautocomplete({ - requestUrl: ilMultiFormValues.auto_complete_urls[group_id], - source: function( request, response ) { - var that = this; - $.getJSON( that.options.requestUrl, { - term: request.term - }, function(data) { - if (typeof data.items == "undefined") { - response(data); - } else { - that.more = data.hasMoreResults; - response(data.items); - } - }); - }, - minLength: 3 - }); - - } - }, - - /** + // binding --icon + $(new_element).find('[id*="ilMultiRmv"]').each(function () { + $(this).attr('id', `ilMultiRmv~${group_id}~${new_id}`); + $(this).on('click', (e) => { + ilMultiFormValues.removeEvent(e); + }); + }); + + // binding down-icon + $(new_element).find('[id*="ilMultiDwn"]').each(function () { + $(this).attr('id', `ilMultiDwn~${group_id}~${new_id}`); + $(this).on('click', (e) => { + ilMultiFormValues.downEvent(e); + }); + }); + + // binding up-icon + $(new_element).find('[id*="ilMultiUp"]').each(function () { + $(this).attr('id', `ilMultiUp~${group_id}~${new_id}`); + $(this).on('click', (e) => { + ilMultiFormValues.upEvent(e); + }); + }); + + // resetting value for new elements if none given + ilMultiFormValues.setValue(new_element, preset); + + // insert clone into html + $(original_element).after(new_element); + + // #15798 - remove multi-values hidden inputs (when disabled) + if (preset) { + $(new_element).find(`input:hidden[name="${group_id}[]"]`).each(function () { + // #15944 + if ($(this).prev().attr('disabled')) { + $(this).remove(); + } + }); + } + + // add autocomplete + if ( + typeof ilMultiFormValues.autocompleteConfigs[group_id] !== 'undefined' + && ilMultiFormValues.autocompleteConfigs[group_id] != '' + ) { + il.LegacyForm.autocomplete.init( + $(new_element).find('input')[0], + ilMultiFormValues.autocompleteConfigs[group_id], + ); + } + }, + + /** * Use value from hidden item to add preset multi items - * + * * @param node element */ - handlePreset: function(element) { - // build id for added elements - var element_id = $(element).attr('id').split('~'); - element_id = element_id[1]; - - // add element for each additional value - JSON.parse(atob($(element).attr('value'))).slice(1).forEach(function(value, i) { - ilMultiFormValues.add(element_id, i, (typeof value === 'object') ? value : [value]); - }); - }, - - /** + handlePreset(element) { + // build id for added elements + let element_id = $(element).attr('id').split('~'); + element_id = element_id[1]; + + // add element for each additional value + JSON.parse(atob($(element).attr('value'))).slice(1).forEach((value, i) => { + ilMultiFormValues.add(element_id, i, (typeof value === 'object') ? value : [value]); + }); + }, + + /** * Set value for input element, set option for select - * + * * @param node element * @param mixed preset */ - setValue: function(element, preset) { - var group_id = $(element).attr('id').split('~'); - var element_id = group_id[2]; - group_id = group_id[1]; - - // fix id of first element? - var original = $('#' + group_id); - if(original) { - $(original).attr('id', group_id + '~0'); - } - - // only select and text inputs are supported yet - - // fixing id - //$(element).find('select[id*="' + group_id + '"]').attr('id', group_id + '~' + element_id); - //$(element).find('input:text[id*="' + group_id + '"]').attr('id', group_id + '~' + element_id); - // new version, alex 10.5.2013, works also if multiple input fields are within one div - $(element).find('select[id*="' + group_id + '"], input:text[id*="' + group_id + '"], span[id*="' + group_id + '"], input:hidden[id*="hidden' + group_id + '"]').each(function() { - var cid = $(this).attr('id').split('~'); - $(this).attr('id', cid[0] + '~' + element_id); - }); - - - // try to set value + setValue(element, preset) { + let group_id = $(element).attr('id').split('~'); + const element_id = group_id[2]; + group_id = group_id[1]; + + // fix id of first element? + const original = $(`#${group_id}`); + if (original) { + $(original).attr('id', `${group_id}~0`); + } + + // only select and text inputs are supported yet + + // fixing id + // $(element).find('select[id*="' + group_id + '"]').attr('id', group_id + '~' + element_id); + // $(element).find('input:text[id*="' + group_id + '"]').attr('id', group_id + '~' + element_id); + // new version, alex 10.5.2013, works also if multiple input fields are within one div + $(element).find(`select[id*="${group_id}"], input:text[id*="${group_id}"], span[id*="${group_id}"], input:hidden[id*="hidden${group_id}"]`).each(function () { + const cid = $(this).attr('id').split('~'); + $(this).attr('id', `${cid[0]}~${element_id}`); + }); + + // try to set value $(element).find('select[id*="' + group_id + '"],input:text[id*="' + group_id + '"]').each(function (i) { const value = preset[Object.keys(preset)[i]]; $(this).find('option:selected').removeAttr('selected'); @@ -280,37 +254,33 @@ var ilMultiFormValues = { } }); - // non-editable value - $(element).find('span[id*="' + group_id + '"]').html(preset); - $(element).find('input:hidden[id*="hidden' + group_id + '"]').attr('value', preset); - - // return triggers add - $(element).find('input:text[id*="' + group_id + '"]').on('keydown', function(e) { - ilMultiFormValues.keyDown(e); - }); - - return; - }, - - keyDown: function(e) { - if(e.which == 13) - { - e.preventDefault(); - - var id = $(e.delegateTarget).attr('id').split('~'); - if(id.length < 2) - { - id[1] = "0"; - } - $('[id="ilMultiAdd~'+id[0]+'~'+id[1]+'"]').click(); - } - }, - - addAutocomplete: function (id, url) { - ilMultiFormValues.auto_complete_urls[id] = url; - } + // non-editable value + $(element).find(`span[id*="${group_id}"]`).html(preset); + $(element).find(`input:hidden[id*="hidden${group_id}"]`).attr('value', preset); + + // return triggers add + $(element).find(`input:text[id*="${group_id}"]`).on('keydown', (e) => { + ilMultiFormValues.keyDown(e); + }); + }, + + keyDown(e) { + if (e.which == 13) { + e.preventDefault(); + + const id = $(e.delegateTarget).attr('id').split('~'); + if (id.length < 2) { + id[1] = '0'; + } + $(`[id="ilMultiAdd~${id[0]}~${id[1]}"]`).click(); + } + }, + + addAutocomplete(group_id, config) { + ilMultiFormValues.autocompleteConfigs[group_id] = config; + }, }; -$(document).ready(function() { +$(document).ready(() => { ilMultiFormValues.init(); }); diff --git a/components/ILIAS/Form/resources/autocomplete/dist/legacyAutocomplete.js b/components/ILIAS/Form/resources/autocomplete/dist/legacyAutocomplete.js index 90735af81dec..800d1eecc811 100644 --- a/components/ILIAS/Form/resources/autocomplete/dist/legacyAutocomplete.js +++ b/components/ILIAS/Form/resources/autocomplete/dist/legacyAutocomplete.js @@ -12,4 +12,4 @@ * https://www.ilias.de * https://github.com/ILIAS-eLearning */ -!function(e){"use strict";const t="more",n=500;let o,i;function r(e,t,n){const o=document.createElement("li");return o.tabIndex=0,o.textContent=e,o.dataset.value=t,void 0!==n&&(o.dataset.id=n),o}function a(e){"UL"===e.nextElementSibling?.nodeName&&e.nextElementSibling.remove()}function l(){"number"==typeof i&&(window.clearTimeout(i),i=void 0)}async function u(e,n,i){try{const{signal:l}=o,u=await fetch(e,{signal:l});if(!u.ok)throw new Error(`Response status: ${u.status}`);const s=await u.json(),m=function(e){if(void 0===e.items)return e;const t=[];return Object.entries(e.items).forEach((([e,n])=>{t[e]=n})),t}(s);if(0===m.length)return void a(n);const g=document.createElement("ul");if(g.style.left=`${n.offsetLeft}px`,g.style.minWidth=`${n.offsetWidth}px`,g.classList.add("c-form__autocomplete"),m.forEach((e=>{n.value!==e.value&&n.value.includes(e.value)||g.appendChild(r(e.label,e.value,e.id))})),s.hasMoreResults&&g.appendChild(r(i.moreText,t)),0===g.children.length)return;g.addEventListener("keydown",(e=>{d(e,i)})),g.addEventListener("click",(e=>{c(e,i)}));const p=document.activeElement.dataset.value;a(n),n.parentNode.appendChild(g),void 0!==p&&n.parentNode.querySelector(`[data-value="${p}"]`).focus()}catch(e){}}function d(e,t){"Enter"===e.key&&"LI"===e.target.nodeName&&(e.preventDefault(),c(e,t)),"ArrowDown"===e.key&&(e.stopImmediatePropagation(),e.preventDefault(),"UL"===e.target.nextElementSibling?.nodeName&&e.target.nextElementSibling.firstElementChild.focus(),"LI"===e.target.nodeName&&null!==e.target.nextElementSibling&&e.target.nextElementSibling.focus()),"ArrowUp"===e.key&&"LI"===e.target.nodeName&&(e.stopImmediatePropagation(),e.preventDefault(),null===e.target.previousElementSibling?e.target.parentElement.previousElementSibling.focus():e.target.previousElementSibling.focus())}function s(e,t){return null===t?e.trim():e.split(t).at(-1).trim()}function c(e,n){o.abort(),o=new AbortController;let{value:i}=e.target.dataset;if(i!==t){if(null!==n.delimiter){const t=e.target.parentNode.previousElementSibling.value.split(n.delimiter);let o="";t.length>1&&(o=`${t.slice(0,-1).join(`${n.delimiter} `)}${n.delimiter} `),i=`${o}${i}${n.delimiter} `}e.target.parentNode.previousElementSibling.value=i,e.target.parentNode.previousElementSibling.focus(),e.target.parentNode.remove(),n.submitOnSelection&&"id"in e.target.dataset&&(window.location.href=`${n.submitUrl}&selected_id=${encodeURIComponent(e.target.dataset.id)}`)}else{const t=s(e.target.parentNode.previousElementSibling.value,n.delimiter);u(`${n.dataSource}&term=${encodeURIComponent(t)}&fetchall=1`,e.target.parentNode.previousElementSibling,n)}}function m(e,t){o=new AbortController,function(e){const t=document.createAttribute("role");t.value="status",e.setAttributeNode(t);const n=document.createAttribute("aria-relevant");n.value="additions",e.setAttributeNode(n)}(e.parentElement),e.addEventListener("keydown",(e=>{d(e,t)})),e.addEventListener("keyup",(e=>{!function(e,t){if(void 0===e.key||"Tab"===e.key||"ArrowDown"===e.key||"ArrowUp"===e.key)return;if(e.target.value.length{u(`${t.dataSource}&term=${encodeURIComponent(o)}`,e.target,t)}),n)}(e,t)}))}e.LegacyForm=e.LegacyForm||{},e.LegacyForm.autocomplete=e.LegacyForm.autocomplete||{},e.LegacyForm.autocomplete.init=(e,t)=>m(e,t)}(il); +!function(e){"use strict";const t="more",n=500;let o,i;function r(e,t,n){const o=document.createElement("li");return o.tabIndex=0,o.textContent=e,o.dataset.value=t,void 0!==n&&(o.dataset.id=n),o}function a(e){"UL"===e.nextElementSibling?.nodeName&&e.nextElementSibling.remove()}function l(){"number"==typeof i&&(window.clearTimeout(i),i=void 0)}async function u(e,n,i){try{const{signal:l}=o,u=await fetch(e,{signal:l});if(!u.ok)throw new Error(`Response status: ${u.status}`);const s=await u.json(),m=function(e){if(void 0===e.items)return e;const t=[];return Object.entries(e.items).forEach((([e,n])=>{t[e]=n})),t}(s);if(0===m.length)return void a(n);const g=document.createElement("ul");if(g.style.left=`${n.offsetLeft}px`,g.style.minWidth=`${n.offsetWidth}px`,g.classList.add("c-form__autocomplete"),m.forEach((e=>{n.value!==e.value&&n.value.includes(e.value)||g.appendChild(r(e.label,e.value,e.id))})),s.hasMoreResults&&g.appendChild(r(i.moreText,t)),0===g.children.length)return;g.addEventListener("keydown",(e=>{d(e,i)})),g.addEventListener("click",(e=>{c(e,i)}));const p=document.activeElement.dataset.value;a(n),n.parentNode.insertBefore(g,n.nextElementSibling),void 0!==p&&n.parentNode.querySelector(`[data-value="${p}"]`).focus()}catch(e){}}function d(e,t){"Enter"===e.key&&"LI"===e.target.nodeName&&(e.preventDefault(),c(e,t)),"ArrowDown"===e.key&&(e.stopImmediatePropagation(),e.preventDefault(),"UL"===e.target.nextElementSibling?.nodeName&&e.target.nextElementSibling.firstElementChild.focus(),"LI"===e.target.nodeName&&null!==e.target.nextElementSibling&&e.target.nextElementSibling.focus()),"ArrowUp"===e.key&&"LI"===e.target.nodeName&&(e.stopImmediatePropagation(),e.preventDefault(),null===e.target.previousElementSibling?e.target.parentElement.previousElementSibling.focus():e.target.previousElementSibling.focus())}function s(e,t){return null===t?e.trim():e.split(t).at(-1).trim()}function c(e,n){o.abort(),o=new AbortController;let{value:i}=e.target.dataset;if(i!==t){if(null!==n.delimiter){const t=e.target.parentNode.previousElementSibling.value.split(n.delimiter);let o="";t.length>1&&(o=`${t.slice(0,-1).join(`${n.delimiter} `)}${n.delimiter} `),i=`${o}${i}${n.delimiter} `}e.target.parentNode.previousElementSibling.value=i,e.target.parentNode.previousElementSibling.focus(),e.target.parentNode.remove(),n.submitOnSelection&&"id"in e.target.dataset&&(window.location.href=`${n.submitUrl}&selected_id=${encodeURIComponent(e.target.dataset.id)}`)}else{const t=s(e.target.parentNode.previousElementSibling.value,n.delimiter);u(`${n.dataSource}&term=${encodeURIComponent(t)}&fetchall=1`,e.target.parentNode.previousElementSibling,n)}}function m(e,t){o=new AbortController,function(e){const t=document.createAttribute("role");t.value="status",e.setAttributeNode(t);const n=document.createAttribute("aria-relevant");n.value="additions",e.setAttributeNode(n)}(e.parentElement),e.addEventListener("keydown",(e=>{d(e,t)})),e.addEventListener("keyup",(e=>{!function(e,t){if(void 0===e.key||"Tab"===e.key||"ArrowDown"===e.key||"ArrowUp"===e.key)return;if(e.target.value.length{u(`${t.dataSource}&term=${encodeURIComponent(o)}`,e.target,t)}),n)}(e,t)}))}e.LegacyForm=e.LegacyForm||{},e.LegacyForm.autocomplete=e.LegacyForm.autocomplete||{},e.LegacyForm.autocomplete.init=(e,t)=>m(e,t)}(il); diff --git a/components/ILIAS/Form/resources/autocomplete/src/autocompleteHandler.js b/components/ILIAS/Form/resources/autocomplete/src/autocompleteHandler.js index 26fccac3f8d4..142eb0498e00 100644 --- a/components/ILIAS/Form/resources/autocomplete/src/autocompleteHandler.js +++ b/components/ILIAS/Form/resources/autocomplete/src/autocompleteHandler.js @@ -137,11 +137,12 @@ async function fetchListItemsAndBuildSelector(fullUrl, inputField, config) { list.addEventListener('click', (e) => { onSelectHandler(e, config); }); const activeElementValue = document.activeElement.dataset.value; removeList(inputField); - inputField.parentNode.appendChild(list); + inputField.parentNode.insertBefore(list, inputField.nextElementSibling); if (typeof activeElementValue !== 'undefined') { inputField.parentNode.querySelector(`[data-value="${activeElementValue}"]`).focus(); } } catch (e) { + // nothing to do } } From 151b9a84de5c284984122bcf305b078449662151 Mon Sep 17 00:00:00 2001 From: Stephan Kergomard Date: Tue, 2 Dec 2025 11:29:28 +0100 Subject: [PATCH 103/865] AccessControl: Fix Autocomplete for Owner See: https://mantis.ilias.de/view.php?id=46423 --- .../classes/class.ilPermissionGUI.php | 25 +++++++++++++------ 1 file changed, 17 insertions(+), 8 deletions(-) diff --git a/components/ILIAS/AccessControl/classes/class.ilPermissionGUI.php b/components/ILIAS/AccessControl/classes/class.ilPermissionGUI.php index 1bd0e72952b6..5e66bce8a146 100755 --- a/components/ILIAS/AccessControl/classes/class.ilPermissionGUI.php +++ b/components/ILIAS/AccessControl/classes/class.ilPermissionGUI.php @@ -914,17 +914,26 @@ public function owner(): void { $this->__initSubTabs('owner'); - $form = new ilPropertyFormGUI(); - $form->setFormAction($this->ctrl->getFormAction($this, "owner")); - $form->setTitle($this->lng->txt("info_owner_of_object")); + $this->tpl->setOnScreenMessage('info', $this->lng->txt('chown_warning')); - $login = new ilTextInputGUI($this->lng->txt("login"), "owner"); - $login->setDataSource($this->ctrl->getLinkTargetByClass([get_class($this), - 'ilRepositorySearchGUI' - ], 'doUserAutoComplete', '', true)); + $form = new ilPropertyFormGUI(); + $form->setFormAction($this->ctrl->getFormAction($this, 'owner')); + $form->setTitle($this->lng->txt('info_owner_of_object')); + + $login = new ilTextInputGUI($this->lng->txt('login'), 'owner'); + $login->setDataSource( + $this->ctrl->getLinkTargetByClass( + [ + $this::class, + ilRepositorySearchGUI::class + ], + 'doUserAutoComplete', + '', + true + ) + ); $login->setRequired(true); $login->setSize(50); - $login->setInfo($this->lng->txt("chown_warning")); $login->setValue(ilObjUser::_lookupLogin($this->gui_obj->getObject()->getOwner())); $form->addItem($login); $form->addCommandButton("changeOwner", $this->lng->txt("change_owner")); From 2785b0dc3cddf1f3e4ca85d5396bbcb923a5e5d4 Mon Sep 17 00:00:00 2001 From: Fabian Helfer Date: Fri, 7 Nov 2025 09:11:28 +0100 Subject: [PATCH 104/865] Forum: Fix behavior of first/root post in Thread (cherry picked from commit 18eb93b4425b9e46bbe2253da984af73e040c8a5) --- .../ILIAS/Forum/classes/class.ilForumPost.php | 2 +- .../Forum/classes/class.ilForumTopic.php | 17 +--------- .../ILIAS/Forum/tests/ilForumTopicTest.php | 34 ------------------- 3 files changed, 2 insertions(+), 51 deletions(-) diff --git a/components/ILIAS/Forum/classes/class.ilForumPost.php b/components/ILIAS/Forum/classes/class.ilForumPost.php index 13a0ddf4c614..ef0cd16966e6 100755 --- a/components/ILIAS/Forum/classes/class.ilForumPost.php +++ b/components/ILIAS/Forum/classes/class.ilForumPost.php @@ -116,7 +116,7 @@ public function update(): bool ] ); - if ($this->objThread->getFirstVisiblePostId() === $this->id) { + if ($this->objThread->getPostRootId() === $this->id) { $this->objThread->setSubject($this->subject); $this->objThread->update(); $this->objThread->reload(); diff --git a/components/ILIAS/Forum/classes/class.ilForumTopic.php b/components/ILIAS/Forum/classes/class.ilForumTopic.php index bf458cc37173..5e6e729a4fb0 100755 --- a/components/ILIAS/Forum/classes/class.ilForumTopic.php +++ b/components/ILIAS/Forum/classes/class.ilForumTopic.php @@ -224,21 +224,6 @@ public function getPostRootId(): int return 0; } - public function getFirstVisiblePostId(): int - { - $this->db->setLimit(1); - $res = $this->db->queryF( - 'SELECT pos_fk FROM frm_posts_tree WHERE thr_fk = %s AND parent_pos != %s AND depth = %s ORDER BY rgt DESC', - ['integer', 'integer', 'integer'], - [$this->id, 0, 2] - ); - - if (($row = $this->db->fetchObject($res)) !== null) { - return (int) $row->pos_fk ?: 0; - } - return 0; - } - public function updateVisits(): void { $checkTime = time() - (60 * 60); @@ -1024,7 +1009,7 @@ public function updateThreadTitle(): void ); try { - $first_node = $this->getFirstVisiblePostNode(); + $first_node = $this->getPostRootNode(); $first_node->setSubject($this->getSubject()); $first_node->update(); } catch (OutOfBoundsException) { diff --git a/components/ILIAS/Forum/tests/ilForumTopicTest.php b/components/ILIAS/Forum/tests/ilForumTopicTest.php index 1f94ff5a9af3..33223f33b12a 100755 --- a/components/ILIAS/Forum/tests/ilForumTopicTest.php +++ b/components/ILIAS/Forum/tests/ilForumTopicTest.php @@ -228,24 +228,6 @@ public function testGetPostRootId(): void $this->assertSame($stdObject->pos_fk, $instance->getPostRootId()); } - public function testGetFirstVisiblePostId(): void - { - $id = 909; - $stdObject = new stdClass(); - $stdObject->pos_fk = 5678; - $mockStatement = $this->getMockBuilder(ilDBStatement::class)->disableOriginalConstructor()->getMock(); - $this->mockDatabase->expects(self::once())->method('queryF')->with( - 'SELECT pos_fk FROM frm_posts_tree WHERE thr_fk = %s AND parent_pos != %s AND depth = %s ORDER BY rgt DESC', - ['integer', 'integer', 'integer'], - [$id, 0, 2] - )->willReturn($mockStatement); - $this->mockDatabase->expects(self::once())->method('fetchObject')->with($mockStatement)->willReturn($stdObject); - - $instance = new ilForumTopic(); - $instance->setId($id); - $this->assertSame($stdObject->pos_fk, $instance->getFirstVisiblePostId()); - } - public function testGetPostRootIdFailed(): void { $id = 909; @@ -262,22 +244,6 @@ public function testGetPostRootIdFailed(): void $this->assertSame(0, $instance->getPostRootId()); } - public function testGetFirstVisiblePostIdFailed(): void - { - $id = 909; - $mockStatement = $this->getMockBuilder(ilDBStatement::class)->disableOriginalConstructor()->getMock(); - $this->mockDatabase->expects(self::once())->method('queryF')->with( - 'SELECT pos_fk FROM frm_posts_tree WHERE thr_fk = %s AND parent_pos != %s AND depth = %s ORDER BY rgt DESC', - ['integer', 'integer', 'integer'], - [$id, 0, 2] - )->willReturn($mockStatement); - $this->mockDatabase->expects(self::once())->method('fetchObject')->with($mockStatement)->willReturn(null); - - $instance = new ilForumTopic(); - $instance->setId($id); - $this->assertSame(0, $instance->getFirstVisiblePostId()); - } - public function testCountPosts(): void { $id = 789; From 2bcbae91b4dc1a3407cc7597f6e5ac7aa518af99 Mon Sep 17 00:00:00 2001 From: Stephan Kergomard Date: Tue, 2 Dec 2025 11:42:46 +0100 Subject: [PATCH 105/865] User: Fix vCard Download See: https://mantis.ilias.de/view.php?id=46357 --- components/ILIAS/User/src/Profile/VCard.php | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/components/ILIAS/User/src/Profile/VCard.php b/components/ILIAS/User/src/Profile/VCard.php index eea30c03c7eb..63b4f364236a 100755 --- a/components/ILIAS/User/src/Profile/VCard.php +++ b/components/ILIAS/User/src/Profile/VCard.php @@ -221,25 +221,25 @@ public function buildVCard(): string $adr = 'ADR'; $adr_types = []; if ($address['TYPE'] > 0) { - if (($address['TYPE'] & ADR_TYPE_DOM) > 0) { + if (($address['TYPE'] & self::ADR_TYPE_DOM) > 0) { $adr_types[] = 'dom'; } - if (($address['TYPE'] & ADR_TYPE_INTL) > 0) { + if (($address['TYPE'] & self::ADR_TYPE_INTL) > 0) { $adr_types[] = 'intl'; } - if (($address['TYPE'] & ADR_TYPE_POSTAL) > 0) { + if (($address['TYPE'] & self::ADR_TYPE_POSTAL) > 0) { $adr_types[] = 'postal'; } - if (($address['TYPE'] & ADR_TYPE_PARCEL) > 0) { + if (($address['TYPE'] & self::ADR_TYPE_PARCEL) > 0) { $adr_types[] = 'parcel'; } - if (($address['TYPE'] & ADR_TYPE_HOME) > 0) { + if (($address['TYPE'] & self::ADR_TYPE_HOME) > 0) { $adr_types[] = 'home'; } - if (($address['TYPE'] & ADR_TYPE_WORK) > 0) { + if (($address['TYPE'] & self::ADR_TYPE_WORK) > 0) { $adr_types[] = 'work'; } - if (($address['TYPE'] & ADR_TYPE_PREF) > 0) { + if (($address['TYPE'] & self::ADR_TYPE_PREF) > 0) { $adr_types[] = 'pref'; } $adr .= ';TYPE=' . implode(',', $adr_types); From d8b984d9475853613ecf38f4b011a24f02f3db74 Mon Sep 17 00:00:00 2001 From: Stephan Kergomard Date: Tue, 2 Dec 2025 11:58:46 +0100 Subject: [PATCH 106/865] User: Show Custom Fields on vCard See: https://mantis.ilias.de/view.php?id=46356 --- .../User/src/Profile/class.PersonalProfileGUI.php | 2 +- .../User/src/Profile/class.PublicProfileGUI.php | 14 +++++++------- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/components/ILIAS/User/src/Profile/class.PersonalProfileGUI.php b/components/ILIAS/User/src/Profile/class.PersonalProfileGUI.php index 5f583c75c349..090ae2ff2b9b 100755 --- a/components/ILIAS/User/src/Profile/class.PersonalProfileGUI.php +++ b/components/ILIAS/User/src/Profile/class.PersonalProfileGUI.php @@ -623,7 +623,7 @@ public function showPublicProfileFields( [FirstName::class, LastName::class, Alias::class, OrganisationalUnits::class, Roles::class] ) as $field) { $value = $field->retrieveValueFromUser($this->user); - if (!$anonymized && ($value === '' || $value === '-')) { + if (!$anonymized && ($value === '' || $value === '-' || $value === null)) { continue; } if ($anonymized) { diff --git a/components/ILIAS/User/src/Profile/class.PublicProfileGUI.php b/components/ILIAS/User/src/Profile/class.PublicProfileGUI.php index e85c119ca361..067e3b00ca0d 100755 --- a/components/ILIAS/User/src/Profile/class.PublicProfileGUI.php +++ b/components/ILIAS/User/src/Profile/class.PublicProfileGUI.php @@ -530,14 +530,14 @@ public function getEmbeddable(bool $a_add_goto = false): string } foreach ($this->profile->getVisibleUserDefinedFields(Context::User) as $field) { - // public setting - if ($this->getPublicPref($user, 'public_udf_' . $field->getIdentifier()) === 'y' - && !empty(($value = $field->retrieveValueFromUser($user)))) { - $tpl->setCurrentBlock('udf_data'); - $tpl->setVariable('TXT_UDF_DATA', $field->getLabel($this->lng)); - $tpl->setVariable('UDF_DATA', $value); - $tpl->parseCurrentBlock(); + $value = $field->retrieveValueFromUser($user); + if ($value === '' || $value === '-' || $value === null) { + continue; } + $tpl->setCurrentBlock('udf_data'); + $tpl->setVariable('TXT_UDF_DATA', $field->getLabel($this->lng)); + $tpl->setVariable('UDF_DATA', $value); + $tpl->parseCurrentBlock(); } foreach ($this->getAdditional() as $key => $val) { From bd75f6b172402491dba4940b7e84062a4b5441b2 Mon Sep 17 00:00:00 2001 From: Alex Killing Date: Tue, 2 Dec 2025 12:02:18 +0100 Subject: [PATCH 107/865] guided tour: language improvements --- .../Admin/class.ilGuidedTourAdminGUI.php | 5 ++- .../Help/GuidedTour/Tour/TourManager.php | 3 +- lang/ilias_de.lang | 40 ++++++++++--------- lang/ilias_en.lang | 4 +- 4 files changed, 29 insertions(+), 23 deletions(-) diff --git a/components/ILIAS/Help/GuidedTour/Admin/class.ilGuidedTourAdminGUI.php b/components/ILIAS/Help/GuidedTour/Admin/class.ilGuidedTourAdminGUI.php index 612d01d2549b..2a7f3ceeb6a6 100644 --- a/components/ILIAS/Help/GuidedTour/Admin/class.ilGuidedTourAdminGUI.php +++ b/components/ILIAS/Help/GuidedTour/Admin/class.ilGuidedTourAdminGUI.php @@ -214,7 +214,7 @@ protected function listTours(): void $ctrl->getLinkTargetByClass(self::class, "listSteps") ); $actions[] = $f->link()->standard( - $lng->txt("settings"), + $lng->txt("gdtr_tour_settings"), $ctrl->getLinkTargetByClass(self::class, "editSettings") ); $reset_modal = $this->getResetTourModal($tour->getId()); @@ -225,7 +225,7 @@ protected function listTours(): void $ui_items[] = $reset_modal; $delete_modal = $this->getDeleteTourModal($tour->getId()); $actions[] = $f->button()->shy( - $lng->txt("delete"), + $lng->txt("gdtr_delete_tour"), "#" )->withOnClick($delete_modal->getShowSignal()); $ui_items[] = $delete_modal; @@ -381,6 +381,7 @@ protected function getSettingsForm(): FormAdapterGUI "", $settings?->isActive() ) + ->section("sec2", $lng->txt("gdtr_presentation_limitation")) ->text( "screen_ids", $lng->txt("gdtr_screen_ids"), diff --git a/components/ILIAS/Help/GuidedTour/Tour/TourManager.php b/components/ILIAS/Help/GuidedTour/Tour/TourManager.php index 418498f4298d..83afcc367060 100644 --- a/components/ILIAS/Help/GuidedTour/Tour/TourManager.php +++ b/components/ILIAS/Help/GuidedTour/Tour/TourManager.php @@ -50,7 +50,8 @@ public function createTour( $tour_obj->getId(), false, "", - PermissionType::None + PermissionType::None, + "de" )); return $tour_obj->getId(); } diff --git a/lang/ilias_de.lang b/lang/ilias_de.lang index 477401d80dbb..a0b7eb2ccafa 100644 --- a/lang/ilias_de.lang +++ b/lang/ilias_de.lang @@ -10516,7 +10516,7 @@ gsfo#:#translate#:#Übersetzen gsfo#:#translations#:#Übersetzungen help#:#gdtr_active#:#Aktiv help#:#gdtr_add_step#:#Schritt hinzufügen -help#:#gdtr_add_tour#:#Add Tour +help#:#gdtr_add_tour#:#Tour hinzufügen help#:#gdtr_close#:#Tour beenden help#:#gdtr_delete_step#:#Schritt löschen help#:#gdtr_delete_step_mess#:#Sind Sie sicher, dass dieser Schritt gelöscht werden soll? @@ -10528,44 +10528,46 @@ help#:#gdtr_edit_content#:#Inhalt bearbeiten help#:#gdtr_edit_page_info#:#Bearbeiten Sie den Inhalt, der erscheinen soll um das ausgewählte Bedienelement zu beschreiben. help#:#gdtr_edit_properties#:#Eigenschaften bearbeiten help#:#gdtr_edit_step_info#:#In diesem Formular spezifizieren Sie das Bedienelement auf dem Bildschirm, welches einen Erklärungstext in diesem Schritt der Tour erhalten soll. In der Präsentation wird dann ein Popover mit dem definierten Erklärungstext neben dem angegebenen Element dargestellt. -help#:#gdtr_edit_steps#:#Edit Steps +help#:#gdtr_edit_steps#:#Schritte bearbeiten help#:#gdtr_element_id#:#Element ID help#:#gdtr_form#:#Formular help#:#gdtr_form_info#:#Das erste Formular im Hauptbereich der Ansicht. Normalerweise sollen Ansichten nur max. ein Formular enthalten. -help#:#gdtr_guided_tours#:#Guided Tours -help#:#gdtr_id_pres_users#:#IDs anzeigen für ILIAS-Konten -help#:#gdtr_id_pres_users_info#:#ILIAS-Konten, denen die Element IDs angezeigt werden. Mehrere Einträge müssen durch Kommas separiert werden. -help#:#gdtr_id_settings#:#ID Einstellungen +help#:#gdtr_guided_tours#:#Touren +help#:#gdtr_id_pres_users#:#IDs anzeigen für +help#:#gdtr_id_pres_users_info#:#Tragen Sie einen oder mehrere Anmeldenamen ein. Diesen Personen werden auf der Bedienoberfläche Tooltipps mit den IDs der einzelnen Elemente angezeigt. Fahren Sie mit der Maus über die Elemente, um die Tooltipps zu sehen. +help#:#gdtr_id_settings#:#Einstellungen help#:#gdtr_import_tour#:#Tour importieren -help#:#gdtr_language#:#Sprache -help#:#gdtr_language_info#:#Aktiviert eine Guided-Tour nur für Personen mit der eingestellten Sprache. -help#:#gdtr_list_tours_mess#:#Um die Anzeige von Screen- und Element-IDs als Tooltips zu aktivieren, müssen Sie ihren Accountnamen in den ID Einstellungen eintragen. +help#:#gdtr_language#:#Nach Sprache +help#:#gdtr_language_info#:#Nur Personen mit der ausgewählten Sprache sehen die Tour. +help#:#gdtr_list_tours_mess#:#Um Touren auszuarbeiten, müssen Sie zunächst Ihren Anmeldenamen im Unterreiter „Einstellungen“ eintragen. help#:#gdtr_mainbar#:#Mainbar -help#:#gdtr_mainbar_info#:#Die Mainbar ist das Hauptmenü auf der linken Seite. Bei aktivierter ID-Darstellung werden die Element-IDs der einzelnen Einträge als Tooltip dargestellt. +help#:#gdtr_mainbar_info#:#Die Mainbar ist das Hauptmenü auf der linken Seite. Bei aktivierter ID-Darstellung werden die Element-IDs der einzelnen Einträge als Tooltipp dargestellt. help#:#gdtr_metabar#:#Metabar -help#:#gdtr_metabar_info#:#Die Metabar ist das Menü im rechten, oberen Bildrand. Bei aktivierter ID-Darstellung werden die Element-IDs der einzelnen Einträge als Tooltip dargestellt. +help#:#gdtr_metabar_info#:#Die Metabar ist das Menü im rechten, oberen Bildrand. Bei aktivierter ID-Darstellung werden die Element-IDs der einzelnen Einträge als Tooltipp dargestellt. help#:#gdtr_next_step#:#Nächster Schritt -help#:#gdtr_permission#:#Berechtigung -help#:#gdtr_permission_info#:#Aktiviert eine Guided-Tour für Personen mit gegebener Berechtigung, z.B. nur wenn das "Einstellungen bearbeiten" Recht vorhanden ist. Bei der Auswahl von "Erstellen" muss der Nutzende im aktuellen Bereich irgendein Objekt erstellen können. +help#:#gdtr_permission#:#Nach Rechten +help#:#gdtr_permission_info#:#Nur Personen mit den ausgewählten Rechten sehen die Tour. Diese Einstellung sollte nur zusammen mit der Einstellung „Nach Screen-ID“ genutzt werden. +help#:#gdtr_presentation_limitation#:#Anzeige einschränken help#:#gdtr_primary_button#:#Primary Button help#:#gdtr_primary_button_info#:#Der erste Primary-Button im Hauptbereich der Ansicht. Dieser wird um Gegensatz zu anderen Aktionsknöpfen betont dargestellt. Normalerweise sollen Ansichten nur max. eine Primary-Button enthalten. help#:#gdtr_reset_tour#:#Tour zurücksetzen help#:#gdtr_reset_tour_mess#:#Wenn Sie die Tour zurücksetzen, werden alle diejenigen, die zuvor die Tour abgeschlossen haben, die Tour erneut präsentiert bekommen. Möchten Sie fortfahren? -help#:#gdtr_screen_ids#:#Screen IDs -help#:#gdtr_screen_ids_info#:#Ermöglicht es, eine Guided-Tour für einzelne Ansichten des Systems zu aktivieren. Wenn die ID-Anzeige aktiviert ist, wird die Screen-ID einer Ansicht ganz oben im Kopfbereich angezeigt. Mehrere IDs müssen durch Kommas separiert werden. +help#:#gdtr_screen_ids#:#Nach Screen-IDs +help#:#gdtr_screen_ids_info#:#Tragen Sie hier die Screen-IDs der Seiten ein, auf denen die Tour angezeigt wird – falls diese nicht überall gezeigt werden soll. Mehrere Screen-IDs müssen durch Kommas getrennt werden. help#:#gdtr_step#:#Schritt help#:#gdtr_step_type#:#Bedienelement help#:#gdtr_table#:#Tabelle help#:#gdtr_table_info#:#Die erste Tabelle im Hauptbereich der Ansicht. Normalerweise sollen Ansichten nur max. eine Tabelle enthalten. help#:#gdtr_tabs#:#Reiter -help#:#gdtr_tabs_info#:#Die Reiter werden in der Mitte unter dem Haupttitel einer Ansicht dargestellt. Bei aktivierter ID-Darstellung werden die Element-IDs der einzelnen Einträge als Tooltip dargestellt. +help#:#gdtr_tabs_info#:#Die Reiter werden in der Mitte unter dem Haupttitel einer Ansicht dargestellt. Bei aktivierter ID-Darstellung werden die Element-IDs der einzelnen Einträge als Tooltipp dargestellt. help#:#gdtr_toolbar#:#Toolbar help#:#gdtr_toolbar_info#:#Die erste Toolbar im Hauptbereich der Ansicht. Diese wird normalerweise unterhalb der Reiter dargestellt und kann mehrere Bedienelemente enthalten. Normalerweise sollen Ansichten nur max. eine Toolbar enthalten. help#:#gdtr_tour_has_been_reset#:#Die Tour wurde zurückgesetzt. +help#:#gdtr_tour_settings#:#Einstellungen bearbeiten help#:#gdtr_tour_steps#:#Schritte -help#:#gdtr_tours#:#Tours +help#:#gdtr_tours#:#Touren help#:#gdtr_type#:#Typ -help#:#guided_tour#:#Guided Tour +help#:#guided_tour#:#Interaktive Touren help#:#help_all#:#Alle help#:#help_component#:#Komponente help#:#help_filter#:#Filter @@ -18001,4 +18003,4 @@ wsp#:#wsp_type_ltiv#:#Zertifikat: LTI-Konsument wsp#:#wsp_type_scov#:#Zertifikat: SCORM wsp#:#wsp_type_tstv#:#Zertifikat: Test wsp#:#wsp_type_webr#:#Weblink -wsp#:#wsp_type_wfld#:#Ordner \ No newline at end of file +wsp#:#wsp_type_wfld#:#Ordner diff --git a/lang/ilias_en.lang b/lang/ilias_en.lang index 040d5cd54635..0cf62990599a 100644 --- a/lang/ilias_en.lang +++ b/lang/ilias_en.lang @@ -10548,6 +10548,7 @@ help#:#gdtr_metabar_info#:#The metabar is the menu on the top, right. If element help#:#gdtr_next_step#:#Next Step help#:#gdtr_permission#:#Permission help#:#gdtr_permission_info#:#Activates a guided tour only for users with a certain permission on the current repository object, e.g. only for users with "edit settings" permission for a course. If you "Create" is selected, the tour is active, if the user has any creation permission. +help#:#gdtr_presentation_limitation#:#Presentation Limitation help#:#gdtr_primary_button#:#Primary Button help#:#gdtr_primary_button_info#:#The first primary button of the main content area. Primary buttons are presented emphasised compared to standard buttons. Usually views should only contain one primary button. help#:#gdtr_reset_tour#:#Reset Tour @@ -10564,6 +10565,7 @@ help#:#gdtr_toolbar#:#Toolbar help#:#gdtr_toolbar_info#:#The first toolbar of the main content area, usually presented below the tabs. Views should only contain one toolbar. help#:#gdtr_tour_has_been_reset#:#Tour has been reset. help#:#gdtr_tour_steps#:#Tour Steps +help#:#gdtr_tour_settings#:#Edit Settings help#:#gdtr_tours#:#Tours help#:#gdtr_type#:#Type help#:#guided_tour#:#Guided Tour @@ -18002,4 +18004,4 @@ wsp#:#wsp_type_ltiv#:#Certificate: LTI Consumer wsp#:#wsp_type_scov#:#Certificate: SCORM wsp#:#wsp_type_tstv#:#Certificate: Test wsp#:#wsp_type_webr#:#Weblink -wsp#:#wsp_type_wfld#:#Folder \ No newline at end of file +wsp#:#wsp_type_wfld#:#Folder From 188863d8bd1ee9fc52a2c53ea5fd58026d44c0e1 Mon Sep 17 00:00:00 2001 From: Stephan Kergomard Date: Tue, 2 Dec 2025 12:32:01 +0100 Subject: [PATCH 108/865] Data: Fix Import of Master Language See: https://mantis.ilias.de/view.php?id=46336 --- .../ILIAS/ILIASObject/classes/class.ilObjectDataSet.php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/components/ILIAS/ILIASObject/classes/class.ilObjectDataSet.php b/components/ILIAS/ILIASObject/classes/class.ilObjectDataSet.php index 06c83d780dc0..1b428e57e09a 100755 --- a/components/ILIAS/ILIASObject/classes/class.ilObjectDataSet.php +++ b/components/ILIAS/ILIASObject/classes/class.ilObjectDataSet.php @@ -327,13 +327,13 @@ public function importRecord( break; } $transl = $this->translations_repository->getFor($new_id); - if ($transl->getLaguageForCode($rec['MasterLang']) === null) { - self::$base_lang = $rec['MasterLang']; + if ($transl->getLaguageForCode($rec['LangCode']) === null) { + self::$base_lang = $rec['LangCode']; break; } $this->translations_repository->store( - $transl->withBaseLanguage($rec['MasterLang']) + $transl->withBaseLanguage($rec['LangCode']) ); break; From f32bb44450c03d1c655c1b73fdc4d3d0cac46dec Mon Sep 17 00:00:00 2001 From: Tim Schmitz <104776863+schmitz-ilias@users.noreply.github.com> Date: Tue, 2 Dec 2025 13:19:14 +0100 Subject: [PATCH 109/865] [FIX] #46098 UI: provide correct data to `Table\DataRetrieval` when rendered. (#10602) * Fixes https://mantis.ilias.de/view.php?id=46098 * Updates the arguments passed inside `Table\Renderer::renderDataTable()` --- .../ILIAS/UI/src/Implementation/Component/Table/Renderer.php | 1 - 1 file changed, 1 deletion(-) diff --git a/components/ILIAS/UI/src/Implementation/Component/Table/Renderer.php b/components/ILIAS/UI/src/Implementation/Component/Table/Renderer.php index 0b2c91768a07..5f11031c401d 100755 --- a/components/ILIAS/UI/src/Implementation/Component/Table/Renderer.php +++ b/components/ILIAS/UI/src/Implementation/Component/Table/Renderer.php @@ -204,7 +204,6 @@ public function renderDataTable(Component\Table\Data $component, RendererInterfa $component = $this->registerActions($component); [$component, $view_controls] = $component->applyViewControls( - $component->getAdditionalViewControlData(), $component->getFilter(), $component->getAdditionalParameters() ); From 646ad6832b907273a028e7f4d476e1f201f9503d Mon Sep 17 00:00:00 2001 From: mjansen Date: Tue, 2 Dec 2025 13:40:41 +0100 Subject: [PATCH 110/865] OnScreenChat: Remove `moment` file inclusion --- .../ILIAS/OnScreenChat/classes/class.ilOnScreenChatGUI.php | 1 - 1 file changed, 1 deletion(-) diff --git a/components/ILIAS/OnScreenChat/classes/class.ilOnScreenChatGUI.php b/components/ILIAS/OnScreenChat/classes/class.ilOnScreenChatGUI.php index 3db6445a9538..27164a96e7ea 100755 --- a/components/ILIAS/OnScreenChat/classes/class.ilOnScreenChatGUI.php +++ b/components/ILIAS/OnScreenChat/classes/class.ilOnScreenChatGUI.php @@ -311,7 +311,6 @@ public static function initializeFrontend(ilGlobalTemplateInterface $page): void $page->addJavaScript('assets/js/modal.min.js'); $page->addJavaScript('assets/js/socket.io.min.js'); $page->addJavaScript('assets/js/Chatroom.min.js'); - $page->addJavaScript('assets/js/moment-with-locales.min.js'); $page->addJavaScript('assets/js/BrowserNotifications.min.js'); $page->addJavaScript('assets/js/onscreenchat-notifications.js'); $page->addJavaScript('assets/js/moment.js'); From 489f2265b3bbaa753b5adb4eb4932309a6380c4a Mon Sep 17 00:00:00 2001 From: Alex Killing Date: Tue, 2 Dec 2025 14:30:36 +0100 Subject: [PATCH 111/865] lang sorting --- lang/ilias_de.lang | 2 +- lang/ilias_en.lang | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/lang/ilias_de.lang b/lang/ilias_de.lang index a0b7eb2ccafa..bdec9ed01b92 100644 --- a/lang/ilias_de.lang +++ b/lang/ilias_de.lang @@ -18003,4 +18003,4 @@ wsp#:#wsp_type_ltiv#:#Zertifikat: LTI-Konsument wsp#:#wsp_type_scov#:#Zertifikat: SCORM wsp#:#wsp_type_tstv#:#Zertifikat: Test wsp#:#wsp_type_webr#:#Weblink -wsp#:#wsp_type_wfld#:#Ordner +wsp#:#wsp_type_wfld#:#Ordner \ No newline at end of file diff --git a/lang/ilias_en.lang b/lang/ilias_en.lang index 0cf62990599a..5d1cdb6f0da3 100644 --- a/lang/ilias_en.lang +++ b/lang/ilias_en.lang @@ -10564,8 +10564,8 @@ help#:#gdtr_tabs_info#:#The tabs are displayed below the main header of the scre help#:#gdtr_toolbar#:#Toolbar help#:#gdtr_toolbar_info#:#The first toolbar of the main content area, usually presented below the tabs. Views should only contain one toolbar. help#:#gdtr_tour_has_been_reset#:#Tour has been reset. -help#:#gdtr_tour_steps#:#Tour Steps help#:#gdtr_tour_settings#:#Edit Settings +help#:#gdtr_tour_steps#:#Tour Steps help#:#gdtr_tours#:#Tours help#:#gdtr_type#:#Type help#:#guided_tour#:#Guided Tour @@ -18004,4 +18004,4 @@ wsp#:#wsp_type_ltiv#:#Certificate: LTI Consumer wsp#:#wsp_type_scov#:#Certificate: SCORM wsp#:#wsp_type_tstv#:#Certificate: Test wsp#:#wsp_type_webr#:#Weblink -wsp#:#wsp_type_wfld#:#Folder +wsp#:#wsp_type_wfld#:#Folder \ No newline at end of file From af1206fab1aa8c43575414517116270c30058c8d Mon Sep 17 00:00:00 2001 From: iszmais <45942348+iszmais@users.noreply.github.com> Date: Tue, 2 Dec 2025 14:33:52 +0100 Subject: [PATCH 112/865] fix service worker check (#10605) --- components/ILIAS/JavaScript/resources/Basic.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/components/ILIAS/JavaScript/resources/Basic.js b/components/ILIAS/JavaScript/resources/Basic.js index 0b0d28646364..ef63f270ad33 100755 --- a/components/ILIAS/JavaScript/resources/Basic.js +++ b/components/ILIAS/JavaScript/resources/Basic.js @@ -1019,6 +1019,6 @@ $(document).ready(() => { numericInputCheck(); }); -if (navigator.serviceWorker !== 'undefined') { +if (typeof navigator.serviceWorker !== 'undefined') { navigator.serviceWorker.register('/service-worker.js'); } From c5f0b7c9ae27c87dfe1c65b2676907b105df2ecf Mon Sep 17 00:00:00 2001 From: Stephan Kergomard Date: Tue, 2 Dec 2025 15:36:28 +0100 Subject: [PATCH 113/865] User: Fix Logout on Email Change See: https://mantis.ilias.de/view.php?id=46149 --- .../ILIAS/User/src/Profile/ProfileImplementation.php | 5 +++++ .../User/src/Profile/class.PersonalProfileGUI.php | 10 ++++++---- 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/components/ILIAS/User/src/Profile/ProfileImplementation.php b/components/ILIAS/User/src/Profile/ProfileImplementation.php index acdf909cc818..11f357f1b49b 100644 --- a/components/ILIAS/User/src/Profile/ProfileImplementation.php +++ b/components/ILIAS/User/src/Profile/ProfileImplementation.php @@ -81,6 +81,11 @@ public function getFieldByIdentifier(string $identifier): ?ProfileField return $this->profile_fields_repository->getByIdentifier($identifier); } + public function getFieldByClass(string $class): ?ProfileField + { + return $this->profile_fields_repository->getByClass($class); + } + public function addFieldsToForm( \ilPropertyFormGUI $form, Context $context, diff --git a/components/ILIAS/User/src/Profile/class.PersonalProfileGUI.php b/components/ILIAS/User/src/Profile/class.PersonalProfileGUI.php index 090ae2ff2b9b..a5f444a087f5 100755 --- a/components/ILIAS/User/src/Profile/class.PersonalProfileGUI.php +++ b/components/ILIAS/User/src/Profile/class.PersonalProfileGUI.php @@ -34,6 +34,7 @@ use ILIAS\User\Profile\Fields\Standard\Alias; use ILIAS\User\Profile\Fields\Standard\OrganisationalUnits; use ILIAS\User\Profile\Fields\Standard\Roles; +use ILIAS\User\Profile\Fields\Standard\Email; use ILIAS\User\Settings\Settings as UserSettings; use ILIAS\Language\Language; use ILIAS\FileUpload\FileUpload; @@ -80,7 +81,7 @@ class PersonalProfileGUI private ChangeMailRepository $change_mail_token_repo; private PromptRepository $prompt_repository; private GUIRequest $profile_request; - private Profile $profile; + private ProfileImplementation $profile; private UserSettings $user_settings; private \ilLogger $logger; @@ -365,9 +366,10 @@ public function savePersonalData(): void private function emailChanged(): bool { - $email_input = $this->form->getItemByPostVar('usr_email'); + $identifier_email = $this->profile->getFieldByClass(Email::class)->getIdentifier(); + $email_input = $this->form->getItemByPostVar($identifier_email); if ($email_input !== null && !$email_input->getDisabled() - && $this->form->getInput('usr_email') !== $this->user->getEmail()) { + && $this->form->getInput($identifier_email) !== $this->user->getEmail()) { return true; } @@ -379,7 +381,7 @@ private function emailCompletionForced(): bool $current_email = $this->user->getEmail(); if ( $this->user->getProfileIncomplete() - && $this->settings->get('require_email') === '1' + && $this->profile->getFieldByClass(Email::class)->isRequired() && ($current_email === null || $current_email === '') ) { return true; From 686027169ceef220a0c7f4cc3d66c6d4f2e873ca Mon Sep 17 00:00:00 2001 From: Lukas Scharmer Date: Tue, 2 Dec 2025 15:41:19 +0100 Subject: [PATCH 114/865] OnScreenChat: Fix sync issue with receiveMessage & onHistory --- .../OnScreenChat/resources/onscreenchat.js | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/components/ILIAS/OnScreenChat/resources/onscreenchat.js b/components/ILIAS/OnScreenChat/resources/onscreenchat.js index 23c5c936bb6f..9dd6a4b72bef 100644 --- a/components/ILIAS/OnScreenChat/resources/onscreenchat.js +++ b/components/ILIAS/OnScreenChat/resources/onscreenchat.js @@ -17,6 +17,14 @@ (function(triggerSignal, $scope, $chat, dateTimeFormatter){ 'use strict'; + // Ensure historyRequested is always set when calling getHistory, but + // don't pollute external prototype chain of $chat, keep it inside a local object. + $chat = Object.create($chat); + $chat.getHistory = (original => (conversationId, oldestMessageTimestamp, reverseSorting = false) => { + getModule().historyRequested = {conversationId, oldestMessageTimestamp, reverseSorting}; + return original.call($chat, conversationId, oldestMessageTimestamp, reverseSorting); + })($chat.getHistory); + const TYPE_CONSTANT = 'osc'; const PREFIX_CONSTANT = TYPE_CONSTANT + '_'; const ACTION_SHOW_CONV = 'show'; @@ -101,6 +109,7 @@ storage: undefined, user: undefined, historyBlocked: false, + historyRequested: null, inputHeight: undefined, historyTimestamps: {}, printedMessages: {}, @@ -301,7 +310,7 @@ if (conversation == null) { let participant = { id: this.getAttribute('data-onscreenchat-userid'), - name: link.getAttribute('data-onscreenchat-username') + name: this.getAttribute('data-onscreenchat-username') }; if (typeof participant.id !== "undefined" && participant.id.length > 0) { @@ -758,7 +767,8 @@ const img = new Image(); img.src = item.profile_image; getModule().participantsImages[id] = img; - document.querySelector('[data-onscreenchat-avatar="'+id+'"]').setAttribute('src', img.src); + const node = document.querySelector('[data-onscreenchat-avatar="'+id+'"]'); + node && node.setAttribute('src', img.src); }); dfd.resolve(); @@ -874,6 +884,7 @@ }, onHistory: function (conversation) { + getModule().historyRequested = null; const container = document.querySelector('[data-onscreenchat-window="' + conversation.id + '"]'); const messages = Object.values(conversation.messages); const messagesHeight = container.querySelector('[data-onscreenchat-body]').getBoundingClientRect().height; @@ -978,6 +989,10 @@ return false; } + if((getModule().historyRequested || {}).oldestMessageTimestamp === null){ + return false; + } + if (!getModule().printedMessages.hasOwnProperty(conversation.id)) { getModule().printedMessages[conversation.id] = {}; } From 97c6ca293978dcb6439024e7141bf49ad87bd068 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thomas=20Jou=C3=9Fen?= Date: Tue, 2 Dec 2025 11:25:17 +0100 Subject: [PATCH 115/865] T&A: Add column skill_path to competence skill usage table --- .../ILIAS/TestQuestionPool/src/Skills/SkillUsagesTable.php | 1 + 1 file changed, 1 insertion(+) diff --git a/components/ILIAS/TestQuestionPool/src/Skills/SkillUsagesTable.php b/components/ILIAS/TestQuestionPool/src/Skills/SkillUsagesTable.php index bde874700acf..a01274ebf0b5 100644 --- a/components/ILIAS/TestQuestionPool/src/Skills/SkillUsagesTable.php +++ b/components/ILIAS/TestQuestionPool/src/Skills/SkillUsagesTable.php @@ -51,6 +51,7 @@ public function getColumns(): array return [ 'skill_title' => $column_factory->text($this->lng->txt('qpl_qst_skl_usg_skill_col')), + 'skill_path' => $column_factory->text($this->lng->txt('tst_competence_tree')), 'num_assigns' => $column_factory->number($this->lng->txt('qpl_qst_skl_usg_numq_col')), 'max_points' => $column_factory->number($this->lng->txt('qpl_qst_skl_usg_sklpnt_col')) ]; From 08b449e0d88fa924554417dfc0e8b30e2c288106 Mon Sep 17 00:00:00 2001 From: Stephan Kergomard Date: Tue, 2 Dec 2025 17:12:28 +0100 Subject: [PATCH 116/865] AccessControl: Fix Log Table See: https://mantis.ilias.de/view.php?id=46403 --- components/ILIAS/AccessControl/src/Log/Table.php | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/components/ILIAS/AccessControl/src/Log/Table.php b/components/ILIAS/AccessControl/src/Log/Table.php index cfa7476f0751..450e3a86696d 100644 --- a/components/ILIAS/AccessControl/src/Log/Table.php +++ b/components/ILIAS/AccessControl/src/Log/Table.php @@ -216,7 +216,10 @@ private function applyFilterValuesTrafos(array $filter_values): array private function buildChangeColumn(int $action, array $data): string { if ($action === \ilRbacLog::CHANGE_OWNER) { - $user_name = \ilObjUser::_lookupFullname($data[0] ?? 0); + + $user_name = isset($data[0]) && is_numeric($data[0]) + ? \ilObjUser::_lookupFullname((int) $data[0]) + : ''; return "{$this->lng->txt('rbac_log_changed_owner')}: {$user_name}"; } From b41095f07b2c107c0d18133786450e9be018d057 Mon Sep 17 00:00:00 2001 From: Stephan Kergomard Date: Tue, 2 Dec 2025 17:38:01 +0100 Subject: [PATCH 117/865] ContentPage: Only Initialize Actions After Calling See: https://mantis.ilias.de/view.php?id=46294 --- .../classes/class.ilObjContentPageGUI.php | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/components/ILIAS/ContentPage/classes/class.ilObjContentPageGUI.php b/components/ILIAS/ContentPage/classes/class.ilObjContentPageGUI.php index 0284d9406f8d..2b8067007de6 100755 --- a/components/ILIAS/ContentPage/classes/class.ilObjContentPageGUI.php +++ b/components/ILIAS/ContentPage/classes/class.ilObjContentPageGUI.php @@ -219,14 +219,6 @@ public function executeCommand(): void $this->addToNavigationHistory(); - if (!$this->in_page_editor_style_context && - strtolower($nextClass) !== strtolower(ilObjectContentStyleSettingsGUI::class) && - (strtolower($cmd) !== strtolower(self::UI_CMD_EDIT) || strtolower($nextClass) !== strtolower( - ilContentPagePageGUI::class - ))) { - $this->renderHeaderActions(); - } - switch (strtolower($nextClass)) { case strtolower(TranslationGUI::class): $this->checkPermission('write'); @@ -417,6 +409,15 @@ public function executeCommand(): void parent::executeCommand(); } + + if (!$this->in_page_editor_style_context && + strtolower($nextClass) !== strtolower(ilObjectContentStyleSettingsGUI::class) && + (strtolower($cmd) !== strtolower(self::UI_CMD_EDIT) || strtolower($nextClass) !== strtolower( + ilContentPagePageGUI::class + ))) { + $this->renderHeaderActions(); + } + } protected function addToDesk(): void From 20761766c595798a7ac76f2ef678e3dcfb8ac04c Mon Sep 17 00:00:00 2001 From: Stephan Kergomard Date: Tue, 2 Dec 2025 14:40:49 +0100 Subject: [PATCH 118/865] Mail: Fix Wrong E-Mail in Settings See: https://mantis.ilias.de/view.php?id=46318 --- .../Form/class.ilIncomingMailInputGUI.php | 24 +++++++++++++------ .../Mail/src/UserSettings/IncomingMail.php | 1 + 2 files changed, 18 insertions(+), 7 deletions(-) diff --git a/components/ILIAS/Mail/classes/Form/class.ilIncomingMailInputGUI.php b/components/ILIAS/Mail/classes/Form/class.ilIncomingMailInputGUI.php index 906fa2c9f857..5eacc98adeda 100755 --- a/components/ILIAS/Mail/classes/Form/class.ilIncomingMailInputGUI.php +++ b/components/ILIAS/Mail/classes/Form/class.ilIncomingMailInputGUI.php @@ -25,6 +25,8 @@ class ilIncomingMailInputGUI extends ilRadioGroupInputGUI protected bool $free_option_choice = true; protected bool $options_initialized = false; + private ?ilObjUser $user = null; + public function __construct(string $title = '', string $post_var = '', bool $free_option_choice = true) { parent::__construct($title, $post_var); @@ -85,13 +87,15 @@ public function setFreeOptionChoice(bool $free_option_choice): void $this->free_option_choice = $free_option_choice; } + public function setUser(ilObjUser $user): void + { + $this->user = $user; + } + private function addSubOptions(): void { global $DIC; - $incoming_mail_changable_by_user = $DIC['user']->getSettings() - ->getSettingByDefinitionClass(IncomingMail::class)->isChangeableByUser(); - $incoming_local = new ilRadioOption( $DIC->language()->txt('mail_incoming_local'), (string) ilMailOptions::INCOMING_LOCAL @@ -169,13 +173,16 @@ private function addSubOptions(): void $this->setDisabled(true); } - if (empty($DIC->user()->getEmail())) { + $email = $this->user !== null + ? $this->user->getEmail() + : $DIC->user()->getEmail(); + if (empty($email)) { $sub_mail_opt1->setInfo($DIC->language()->txt('first_email_missing_info')); $sub_mail_opt3->setInfo($DIC->language()->txt('first_email_missing_info')); $sub_both_opt1->setInfo($DIC->language()->txt('first_email_missing_info')); $sub_both_opt3->setInfo($DIC->language()->txt('first_email_missing_info')); } else { - $email_info[] = $DIC->user()->getEmail(); + $email_info[] = $email; } if ($DIC->settings()->get('usr_settings_disable_mail_incoming_mail') === '1') { $sub_mail_opt1->setDisabled(true); @@ -184,13 +191,16 @@ private function addSubOptions(): void $sub_both_opt3->setDisabled(true); } - if (empty($DIC->user()->getSecondEmail())) { + $second_email = $this->user !== null + ? $this->user->getSecondEmail() + : $DIC->user()->getSecondEmail(); + if (empty($second_email)) { $sub_mail_opt2->setInfo($DIC->language()->txt('second_email_missing_info')); $sub_mail_opt3->setInfo($DIC->language()->txt('second_email_missing_info')); $sub_both_opt2->setInfo($DIC->language()->txt('second_email_missing_info')); $sub_both_opt3->setInfo($DIC->language()->txt('second_email_missing_info')); } else { - $email_info[] = $DIC->user()->getSecondEmail(); + $email_info[] = $second_email; } if ($DIC->settings()->get('usr_settings_disable_mail_incoming_mail') === '1') { $sub_mail_opt2->setDisabled(true); diff --git a/components/ILIAS/Mail/src/UserSettings/IncomingMail.php b/components/ILIAS/Mail/src/UserSettings/IncomingMail.php index dd0d5c557551..02f72cb3454b 100644 --- a/components/ILIAS/Mail/src/UserSettings/IncomingMail.php +++ b/components/ILIAS/Mail/src/UserSettings/IncomingMail.php @@ -109,6 +109,7 @@ public function getLegacyInput( $input = new \ilIncomingMailInputGUI($lng->txt('mail_incoming'), 'incoming_mail'); $input->setFreeOptionChoice(false); + $input->setUser($user); $input->setValueByArray( $user !== null ? $this->retrieveValueFromUser($user) From 5f3a236f0492764755c0518c459c7872eee497da Mon Sep 17 00:00:00 2001 From: mjansen Date: Tue, 2 Dec 2025 20:01:07 +0100 Subject: [PATCH 119/865] Multiple Components: Show phpunit deprecations when running local tests (cherry picked from commit 9ebe626e4ba639a31286cb0c061212778f6e4bde) --- components/ILIAS/AuthApache/phpunit.xml | 1 + components/ILIAS/Certificate/phpunit.xml | 1 + components/ILIAS/Chatroom/phpunit.xml | 1 + components/ILIAS/Contact/phpunit.xml | 1 + components/ILIAS/ContentPage/phpunit.xml | 1 + components/ILIAS/Environment/phpunit.xml | 1 + components/ILIAS/Forum/phpunit.xml | 1 + components/ILIAS/Html/phpunit.xml | 1 + components/ILIAS/Mail/phpunit.xml | 1 + components/ILIAS/OnScreenChat/phpunit.xml | 1 + components/ILIAS/Password/phpunit.xml | 1 + components/ILIAS/Saml/phpunit.xml | 1 + 12 files changed, 12 insertions(+) diff --git a/components/ILIAS/AuthApache/phpunit.xml b/components/ILIAS/AuthApache/phpunit.xml index dd3871d35d69..7fa9d3ece399 100755 --- a/components/ILIAS/AuthApache/phpunit.xml +++ b/components/ILIAS/AuthApache/phpunit.xml @@ -9,6 +9,7 @@ displayDetailsOnTestsThatTriggerWarnings="true" displayDetailsOnTestsThatTriggerDeprecations="true" displayDetailsOnTestsThatTriggerNotices="true" + displayDetailsOnPhpunitDeprecations="true" displayDetailsOnSkippedTests="true" backupGlobals="false" bootstrap="./tests/bootstrap.php" diff --git a/components/ILIAS/Certificate/phpunit.xml b/components/ILIAS/Certificate/phpunit.xml index 4b6a8ad79799..bba062f26b5e 100755 --- a/components/ILIAS/Certificate/phpunit.xml +++ b/components/ILIAS/Certificate/phpunit.xml @@ -10,6 +10,7 @@ displayDetailsOnTestsThatTriggerDeprecations="true" displayDetailsOnTestsThatTriggerNotices="true" displayDetailsOnSkippedTests="true" + displayDetailsOnPhpunitDeprecations="true" backupGlobals="false" bootstrap="./tests/bootstrap.php" xsi:noNamespaceSchemaLocation="https://schema.phpunit.de/10.5/phpunit.xsd"> diff --git a/components/ILIAS/Chatroom/phpunit.xml b/components/ILIAS/Chatroom/phpunit.xml index dd3871d35d69..c4683eec1534 100755 --- a/components/ILIAS/Chatroom/phpunit.xml +++ b/components/ILIAS/Chatroom/phpunit.xml @@ -10,6 +10,7 @@ displayDetailsOnTestsThatTriggerDeprecations="true" displayDetailsOnTestsThatTriggerNotices="true" displayDetailsOnSkippedTests="true" + displayDetailsOnPhpunitDeprecations="true" backupGlobals="false" bootstrap="./tests/bootstrap.php" xsi:noNamespaceSchemaLocation="https://schema.phpunit.de/10.5/phpunit.xsd"> diff --git a/components/ILIAS/Contact/phpunit.xml b/components/ILIAS/Contact/phpunit.xml index 49c84870454f..ed28564b412e 100755 --- a/components/ILIAS/Contact/phpunit.xml +++ b/components/ILIAS/Contact/phpunit.xml @@ -10,6 +10,7 @@ displayDetailsOnTestsThatTriggerDeprecations="true" displayDetailsOnTestsThatTriggerNotices="true" displayDetailsOnSkippedTests="true" + displayDetailsOnPhpunitDeprecations="true" backupGlobals="false" bootstrap="./tests/bootstrap.php" xsi:noNamespaceSchemaLocation="https://schema.phpunit.de/10.5/phpunit.xsd"> diff --git a/components/ILIAS/ContentPage/phpunit.xml b/components/ILIAS/ContentPage/phpunit.xml index 5adf9789015b..f9050f389f82 100755 --- a/components/ILIAS/ContentPage/phpunit.xml +++ b/components/ILIAS/ContentPage/phpunit.xml @@ -10,6 +10,7 @@ displayDetailsOnTestsThatTriggerDeprecations="true" displayDetailsOnTestsThatTriggerNotices="true" displayDetailsOnSkippedTests="true" + displayDetailsOnPhpunitDeprecations="true" backupGlobals="false" bootstrap="./tests/bootstrap.php" xsi:noNamespaceSchemaLocation="https://schema.phpunit.de/10.5/phpunit.xsd"> diff --git a/components/ILIAS/Environment/phpunit.xml b/components/ILIAS/Environment/phpunit.xml index dd3871d35d69..c4683eec1534 100755 --- a/components/ILIAS/Environment/phpunit.xml +++ b/components/ILIAS/Environment/phpunit.xml @@ -10,6 +10,7 @@ displayDetailsOnTestsThatTriggerDeprecations="true" displayDetailsOnTestsThatTriggerNotices="true" displayDetailsOnSkippedTests="true" + displayDetailsOnPhpunitDeprecations="true" backupGlobals="false" bootstrap="./tests/bootstrap.php" xsi:noNamespaceSchemaLocation="https://schema.phpunit.de/10.5/phpunit.xsd"> diff --git a/components/ILIAS/Forum/phpunit.xml b/components/ILIAS/Forum/phpunit.xml index 5adf9789015b..f9050f389f82 100755 --- a/components/ILIAS/Forum/phpunit.xml +++ b/components/ILIAS/Forum/phpunit.xml @@ -10,6 +10,7 @@ displayDetailsOnTestsThatTriggerDeprecations="true" displayDetailsOnTestsThatTriggerNotices="true" displayDetailsOnSkippedTests="true" + displayDetailsOnPhpunitDeprecations="true" backupGlobals="false" bootstrap="./tests/bootstrap.php" xsi:noNamespaceSchemaLocation="https://schema.phpunit.de/10.5/phpunit.xsd"> diff --git a/components/ILIAS/Html/phpunit.xml b/components/ILIAS/Html/phpunit.xml index 9eafb42b5b0f..b09d309b3dde 100755 --- a/components/ILIAS/Html/phpunit.xml +++ b/components/ILIAS/Html/phpunit.xml @@ -10,6 +10,7 @@ displayDetailsOnTestsThatTriggerDeprecations="true" displayDetailsOnTestsThatTriggerNotices="true" displayDetailsOnSkippedTests="true" + displayDetailsOnPhpunitDeprecations="true" backupGlobals="false" bootstrap="./tests/bootstrap.php" xsi:noNamespaceSchemaLocation="https://schema.phpunit.de/10.5/phpunit.xsd"> diff --git a/components/ILIAS/Mail/phpunit.xml b/components/ILIAS/Mail/phpunit.xml index 897b86690056..2a3541fe8617 100755 --- a/components/ILIAS/Mail/phpunit.xml +++ b/components/ILIAS/Mail/phpunit.xml @@ -10,6 +10,7 @@ displayDetailsOnTestsThatTriggerDeprecations="true" displayDetailsOnTestsThatTriggerNotices="true" displayDetailsOnSkippedTests="true" + displayDetailsOnPhpunitDeprecations="true" backupGlobals="false" bootstrap="./tests/bootstrap.php" xsi:noNamespaceSchemaLocation="https://schema.phpunit.de/10.5/phpunit.xsd"> diff --git a/components/ILIAS/OnScreenChat/phpunit.xml b/components/ILIAS/OnScreenChat/phpunit.xml index dd3871d35d69..c4683eec1534 100755 --- a/components/ILIAS/OnScreenChat/phpunit.xml +++ b/components/ILIAS/OnScreenChat/phpunit.xml @@ -10,6 +10,7 @@ displayDetailsOnTestsThatTriggerDeprecations="true" displayDetailsOnTestsThatTriggerNotices="true" displayDetailsOnSkippedTests="true" + displayDetailsOnPhpunitDeprecations="true" backupGlobals="false" bootstrap="./tests/bootstrap.php" xsi:noNamespaceSchemaLocation="https://schema.phpunit.de/10.5/phpunit.xsd"> diff --git a/components/ILIAS/Password/phpunit.xml b/components/ILIAS/Password/phpunit.xml index 897b86690056..2a3541fe8617 100755 --- a/components/ILIAS/Password/phpunit.xml +++ b/components/ILIAS/Password/phpunit.xml @@ -10,6 +10,7 @@ displayDetailsOnTestsThatTriggerDeprecations="true" displayDetailsOnTestsThatTriggerNotices="true" displayDetailsOnSkippedTests="true" + displayDetailsOnPhpunitDeprecations="true" backupGlobals="false" bootstrap="./tests/bootstrap.php" xsi:noNamespaceSchemaLocation="https://schema.phpunit.de/10.5/phpunit.xsd"> diff --git a/components/ILIAS/Saml/phpunit.xml b/components/ILIAS/Saml/phpunit.xml index 897b86690056..2a3541fe8617 100755 --- a/components/ILIAS/Saml/phpunit.xml +++ b/components/ILIAS/Saml/phpunit.xml @@ -10,6 +10,7 @@ displayDetailsOnTestsThatTriggerDeprecations="true" displayDetailsOnTestsThatTriggerNotices="true" displayDetailsOnSkippedTests="true" + displayDetailsOnPhpunitDeprecations="true" backupGlobals="false" bootstrap="./tests/bootstrap.php" xsi:noNamespaceSchemaLocation="https://schema.phpunit.de/10.5/phpunit.xsd"> From 324b0c69ae7d4374cebbc13f35ad13b57a429ba6 Mon Sep 17 00:00:00 2001 From: mjansen Date: Tue, 2 Dec 2025 20:39:27 +0100 Subject: [PATCH 120/865] Cron: Show phpunit deprecations when running local tests (cherry picked from commit d5cf58f32e0e2d9a0bf41486f5351f8e117cefe7) --- components/ILIAS/Cron/phpunit.xml | 1 + 1 file changed, 1 insertion(+) diff --git a/components/ILIAS/Cron/phpunit.xml b/components/ILIAS/Cron/phpunit.xml index ff0134aabb8e..46365f78cdc9 100755 --- a/components/ILIAS/Cron/phpunit.xml +++ b/components/ILIAS/Cron/phpunit.xml @@ -10,6 +10,7 @@ displayDetailsOnTestsThatTriggerDeprecations="true" displayDetailsOnTestsThatTriggerNotices="true" displayDetailsOnSkippedTests="true" + displayDetailsOnPhpunitDeprecations="true" backupGlobals="false" bootstrap="./tests/bootstrap.php" xsi:noNamespaceSchemaLocation="https://schema.phpunit.de/10.5/phpunit.xsd"> From ea61fea5e6cbc40445fb8674d2e85c5984902777 Mon Sep 17 00:00:00 2001 From: Stephan Kergomard Date: Wed, 3 Dec 2025 08:43:00 +0100 Subject: [PATCH 121/865] Test: Fix Export Results With time See: https://mantis.ilias.de/view.php?id=46434 --- components/ILIAS/Test/classes/class.ilObjTest.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/components/ILIAS/Test/classes/class.ilObjTest.php b/components/ILIAS/Test/classes/class.ilObjTest.php index ac0f4e22bce0..6406d5dbede9 100755 --- a/components/ILIAS/Test/classes/class.ilObjTest.php +++ b/components/ILIAS/Test/classes/class.ilObjTest.php @@ -5893,7 +5893,7 @@ public function getAggregatedResultsData(): array $results['overview']['tst_eval_total_passed_average_points'] = sprintf('%2.2f', $average_passed_reached) . ' ' . strtolower('of') . ' ' . sprintf('%2.2f', $average_passed_max); $results['overview']['tst_eval_total_passed_average_time'] = - $this->secondsToHoursMinutesSecondsString($average_passed_time); + $this->secondsToHoursMinutesSecondsString((int) $average_passed_time); } foreach ($data->getQuestionTitles() as $question_id => $question_title) { From c987b7654d08a0ed91e34105e56e2d89baf3438f Mon Sep 17 00:00:00 2001 From: Stephan Kergomard Date: Wed, 3 Dec 2025 08:55:40 +0100 Subject: [PATCH 122/865] Test: Fix Import of Intro/Outro See: https://mantis.ilias.de/view.php?id=46434 --- .../ILIAS/Test/classes/class.ilObjTest.php | 57 ++++--------------- .../Test/classes/class.ilTestImporter.php | 1 - 2 files changed, 12 insertions(+), 46 deletions(-) diff --git a/components/ILIAS/Test/classes/class.ilObjTest.php b/components/ILIAS/Test/classes/class.ilObjTest.php index 6406d5dbede9..54c71d3c48c7 100755 --- a/components/ILIAS/Test/classes/class.ilObjTest.php +++ b/components/ILIAS/Test/classes/class.ilObjTest.php @@ -2784,12 +2784,6 @@ public function getAvailableQuestions($arr_filter, $completeonly = 0): array */ public function fromXML(ilQTIAssessment $assessment, array $mappings): void { - if (($importdir = ilSession::get('path_to_container_import_file')) === null) { - $importdir = $this->buildImportDirectoryFromImportFile(ilSession::get('path_to_import_file')); - } - ilSession::clear('path_to_container_import_file'); - ilSession::clear('import_mob_xhtml'); - $this->saveToDb(true); $main_settings = $this->getMainSettings(); @@ -2808,7 +2802,6 @@ public function fromXML(ilQTIAssessment $assessment, array $mappings): void $introduction_settings = $this->addIntroductionToSettingsFromImport( $introduction_settings, $this->qtiMaterialToArray($material), - $importdir, $mappings ); } @@ -2822,7 +2815,6 @@ public function fromXML(ilQTIAssessment $assessment, array $mappings): void $this->qtiMaterialToArray( $assessment->getPresentationMaterial()->getFlowMat(0)->getMaterial(0) ), - $importdir, $mappings ); } @@ -3114,21 +3106,19 @@ public function fromXML(ilQTIAssessment $assessment, array $mappings): void private function addIntroductionToSettingsFromImport( SettingsIntroduction $settings, array $material, - string $importdir, array $mappings ): SettingsIntroduction { - if (!str_starts_with($text, '')) { + if (!str_starts_with($material['text'], '')) { return $settings; } - $text = $this->replaceMobsInPageImports( - $text, - $mappings['components/ILIAS/MediaObjects']['mob'] ?? [] - ); $text = $this->replaceFilesInPageImports( - $text, - $mappings['components/ILIAS/File']['file'] ?? [] + $this->replaceMobsInPageImports( + $material['text'], + $mappings['components/ILIAS/MediaObjects']['mob'] ?? [] + ) ); + $page_object = new ilTestPage(); $page_object->setParentId($this->getId()); $page_object->setXMLContent($text); @@ -3139,21 +3129,19 @@ private function addIntroductionToSettingsFromImport( private function addConcludingRemarksToSettingsFromImport( SettingsFinishing $settings, array $material, - string $importdir, array $mappings ): SettingsFinishing { - if (!str_starts_with($text, '')) { + if (!str_starts_with($material['text'], '')) { return $settings; } - $text = $this->replaceMobsInPageImports( - $text, - $mappings['components/ILIAS/MediaObjects']['mob'] ?? [] - ); $text = $this->replaceFilesInPageImports( - $text, - $mappings['components/ILIAS/File']['file'] ?? [] + $this->replaceMobsInPageImports( + $material['text'], + $mappings['components/ILIAS/MediaObjects']['mob'] ?? [] + ) ); + $page_object = new ilTestPage(); $page_object->setParentId($this->getId()); $page_object->setXMLContent($text); @@ -3186,26 +3174,6 @@ private function replaceFilesInPageImports(string $text, array $mappings): strin return $text; } - private function retrieveMobsFromLegacyImports(string $text, array $mobs, string $importdir): string - { - foreach ($mobs as $mob) { - $importfile = $importdir . DIRECTORY_SEPARATOR . $mob['uri']; - if (file_exists($importfile)) { - $media_object = ilObjMediaObject::_saveTempFileAsMediaObject(basename($importfile), $importfile, false); - ilObjMediaObject::_saveUsage($media_object->getId(), 'tst:html', $this->getId()); - $text = ilRTE::_replaceMediaObjectImageSrc( - str_replace( - 'src="' . $mob['mob'] . '"', - 'src="' . 'il_' . IL_INST_ID . '_mob_' . $media_object->getId() . '"', - $text - ), - 1 - ); - } - } - return $text; - } - /** * Returns a QTI xml representation of the test * @@ -5303,7 +5271,6 @@ public function qtiMaterialToArray($a_material): array $result = $decoded_result; } - $this->logger->info(print_r(ilSession::get('import_mob_xhtml'), true)); return [ 'text' => $result, 'mobs' => $mobs diff --git a/components/ILIAS/Test/classes/class.ilTestImporter.php b/components/ILIAS/Test/classes/class.ilTestImporter.php index 742f932b74db..6c195c2836ca 100755 --- a/components/ILIAS/Test/classes/class.ilTestImporter.php +++ b/components/ILIAS/Test/classes/class.ilTestImporter.php @@ -64,7 +64,6 @@ public function importXmlRepresentation( $new_obj = ilObjectFactory::getInstanceByObjId((int) $new_id, false); $new_obj->saveToDb(); - ilSession::set('path_to_container_import_file', $this->getImportDirectory()); [$importdir, $xmlfile, $qtifile] = $this->buildImportDirectoriesFromContainerImport( $this->getImportDirectory() ); From 68d5f0c3190ef194310139efcbb127bddfdd1754 Mon Sep 17 00:00:00 2001 From: Tim Schmitz <104776863+schmitz-ilias@users.noreply.github.com> Date: Wed, 3 Dec 2025 13:54:49 +0100 Subject: [PATCH 123/865] Maps: stop ServiceOpenLayers.js from overwriting Map (46368) (#10594) --- .../ILIAS/Maps/js/src/ServiceOpenLayers.js | 6 +-- .../ILIAS/Maps/resources/ServiceOpenLayers.js | 44 +++++++++---------- 2 files changed, 25 insertions(+), 25 deletions(-) diff --git a/components/ILIAS/Maps/js/src/ServiceOpenLayers.js b/components/ILIAS/Maps/js/src/ServiceOpenLayers.js index 1bcdfc534e71..ce4d138ba26d 100755 --- a/components/ILIAS/Maps/js/src/ServiceOpenLayers.js +++ b/components/ILIAS/Maps/js/src/ServiceOpenLayers.js @@ -14,7 +14,7 @@ */ import View from 'ol/View'; -import Map from 'ol/Map'; +import OLMap from 'ol/Map'; import TileLayer from 'ol/layer/Tile'; import OSM from 'ol/source/OSM'; import {defaults as control} from 'ol/control'; @@ -95,7 +95,7 @@ export default class ServiceOpenLayers { * @return {void} */ initMap(id, replace_marker) { - this.map = new Map({ + this.map = new OLMap({ layers: [ new TileLayer({ preload: 4, @@ -373,4 +373,4 @@ export default class ServiceOpenLayers { $("#" + id + "_lng").val(human_pos[0]); $("#" + id + "_lat").val(human_pos[1]); } -} \ No newline at end of file +} diff --git a/components/ILIAS/Maps/resources/ServiceOpenLayers.js b/components/ILIAS/Maps/resources/ServiceOpenLayers.js index ae516d91b858..3fc8e3b49233 100644 --- a/components/ILIAS/Maps/resources/ServiceOpenLayers.js +++ b/components/ILIAS/Maps/resources/ServiceOpenLayers.js @@ -4835,7 +4835,7 @@ var LinearRing = /** @class */ (function (_super) { */ _this.maxDeltaRevision_ = -1; if (opt_layout !== undefined && !Array.isArray(coordinates[0])) { - _this.setFlatCoordinates(opt_layout, + _this.setFlatCoordinates(opt_layout, /** @type {Array} */ (coordinates)); } else { @@ -5052,7 +5052,7 @@ var Point = /** @class */ (function (_super) { * @return {boolean} Contains extent. */ function linearRingContainsExtent(flatCoordinates, offset, end, stride, extent) { - var outside = forEachCorner(extent, + var outside = forEachCorner(extent, /** * @param {import("../../coordinate.js").Coordinate} coordinate Coordinate. * @return {boolean} Contains (x, y). @@ -5249,7 +5249,7 @@ function intersectsLineString(flatCoordinates, offset, end, stride, extent) { if (coordinatesExtent[1] >= extent[1] && coordinatesExtent[3] <= extent[3]) { return true; } - return forEach(flatCoordinates, offset, end, stride, + return forEach(flatCoordinates, offset, end, stride, /** * @param {import("../../coordinate.js").Coordinate} point1 Start point. * @param {import("../../coordinate.js").Coordinate} point2 End point. @@ -5491,7 +5491,7 @@ var Polygon = /** @class */ (function (_super) { */ _this.orientedFlatCoordinates_ = null; if (opt_layout !== undefined && opt_ends) { - _this.setFlatCoordinates(opt_layout, + _this.setFlatCoordinates(opt_layout, /** @type {Array} */ (coordinates)); _this.ends_ = opt_ends; } @@ -9898,7 +9898,7 @@ var MapBrowserEventHandler = /** @class */ (function (_super) { this.down_ = pointerEvent; if (this.dragListenerKeys_.length === 0) { var doc = this.map_.getOwnerDocument(); - this.dragListenerKeys_.push(listen(doc, MapBrowserEventType.POINTERMOVE, this.handlePointerMove_, this), listen(doc, MapBrowserEventType.POINTERUP, this.handlePointerUp_, this), + this.dragListenerKeys_.push(listen(doc, MapBrowserEventType.POINTERMOVE, this.handlePointerMove_, this), listen(doc, MapBrowserEventType.POINTERUP, this.handlePointerUp_, this), /* Note that the listener for `pointercancel is set up on * `pointerEventHandler_` and not `documentPointerEventHandler_` like * the `pointerup` and `pointermove` listeners. @@ -10312,14 +10312,14 @@ var TileQueue = /** @class */ (function (_super) { * @param {function(): ?} tileChangeCallback Function called on each tile change event. */ function TileQueue(tilePriorityFunction, tileChangeCallback) { - var _this = _super.call(this, + var _this = _super.call(this, /** * @param {Array} element Element. * @return {number} Priority. */ function (element) { return tilePriorityFunction.apply(null, element); - }, + }, /** * @param {Array} element Element. * @return {string} Key. @@ -10785,14 +10785,14 @@ var PluggableMap = /** @class */ (function (_super) { function (control) { control.setMap(this); }.bind(_this)); - _this.controls.addEventListener(CollectionEventType.ADD, + _this.controls.addEventListener(CollectionEventType.ADD, /** * @param {import("./Collection.js").CollectionEvent} event CollectionEvent. */ function (event) { event.element.setMap(this); }.bind(_this)); - _this.controls.addEventListener(CollectionEventType.REMOVE, + _this.controls.addEventListener(CollectionEventType.REMOVE, /** * @param {import("./Collection.js").CollectionEvent} event CollectionEvent. */ @@ -10807,14 +10807,14 @@ var PluggableMap = /** @class */ (function (_super) { function (interaction) { interaction.setMap(this); }.bind(_this)); - _this.interactions.addEventListener(CollectionEventType.ADD, + _this.interactions.addEventListener(CollectionEventType.ADD, /** * @param {import("./Collection.js").CollectionEvent} event CollectionEvent. */ function (event) { event.element.setMap(this); }.bind(_this)); - _this.interactions.addEventListener(CollectionEventType.REMOVE, + _this.interactions.addEventListener(CollectionEventType.REMOVE, /** * @param {import("./Collection.js").CollectionEvent} event CollectionEvent. */ @@ -10822,7 +10822,7 @@ var PluggableMap = /** @class */ (function (_super) { event.element.setMap(null); }.bind(_this)); _this.overlays_.forEach(_this.addOverlayInternal_.bind(_this)); - _this.overlays_.addEventListener(CollectionEventType.ADD, + _this.overlays_.addEventListener(CollectionEventType.ADD, /** * @param {import("./Collection.js").CollectionEvent} event CollectionEvent. */ @@ -10830,7 +10830,7 @@ var PluggableMap = /** @class */ (function (_super) { this.addOverlayInternal_( /** @type {import("./Overlay.js").default} */ (event.element)); }.bind(_this)); - _this.overlays_.addEventListener(CollectionEventType.REMOVE, + _this.overlays_.addEventListener(CollectionEventType.REMOVE, /** * @param {import("./Collection.js").CollectionEvent} event CollectionEvent. */ @@ -11028,7 +11028,7 @@ var PluggableMap = /** @class */ (function (_super) { */ PluggableMap.prototype.getEventPixel = function (event) { var viewportPosition = this.viewport_.getBoundingClientRect(); - var eventPosition = + var eventPosition = //FIXME Are we really calling this with a TouchEvent anywhere? 'changedTouches' in event ? /** @type {TouchEvent} */ (event).changedTouches[0] @@ -13725,7 +13725,7 @@ var PointerInteraction = /** @class */ (function (_super) { function PointerInteraction(opt_options) { var _this = this; var options = opt_options ? opt_options : {}; - _this = _super.call(this, + _this = _super.call(this, /** @type {import("./Interaction.js").InteractionOptions} */ (options)) || this; if (options.handleDownEvent) { _this.handleDownEvent = options.handleDownEvent; @@ -15169,7 +15169,7 @@ var MouseWheelZoom = /** @class */ (function (_super) { function MouseWheelZoom(opt_options) { var _this = this; var options = opt_options ? opt_options : {}; - _this = _super.call(this, + _this = _super.call(this, /** @type {import("./Interaction.js").InteractionOptions} */ (options)) || this; /** * @private @@ -16733,12 +16733,12 @@ var __extends$M = (undefined && undefined.__extends) || (function () { * * @api */ -var Map = /** @class */ (function (_super) { - __extends$M(Map, _super); +var OLMap = /** @class */ (function (_super) { + __extends$M(OLMap, _super); /** * @param {import("./PluggableMap.js").MapOptions} options Map options. */ - function Map(options) { + function OLMap(options) { var _this = this; options = assign({}, options); if (!options.controls) { @@ -16752,10 +16752,10 @@ var Map = /** @class */ (function (_super) { _this = _super.call(this, options) || this; return _this; } - Map.prototype.createRenderer = function () { + OLMap.prototype.createRenderer = function () { return new CompositeMapRenderer(this); }; - return Map; + return OLMap; }(PluggableMap)); /** @@ -21277,7 +21277,7 @@ class ServiceOpenLayers { * @return {void} */ initMap(id, replace_marker) { - this.map = new Map({ + this.map = new OLMap({ layers: [ new TileLayer({ preload: 4, From 47a31b16213f0eaa543b805dd10dc5f0c0be7b0e Mon Sep 17 00:00:00 2001 From: iszmais <45942348+iszmais@users.noreply.github.com> Date: Wed, 3 Dec 2025 13:55:20 +0100 Subject: [PATCH 124/865] dc fix table name limitation (#10619) --- .../Content/class.ilDclContentExporter.php | 65 ++++--------------- 1 file changed, 11 insertions(+), 54 deletions(-) diff --git a/components/ILIAS/DataCollection/classes/Content/class.ilDclContentExporter.php b/components/ILIAS/DataCollection/classes/Content/class.ilDclContentExporter.php index 8e021facc688..473d70ff2c8f 100755 --- a/components/ILIAS/DataCollection/classes/Content/class.ilDclContentExporter.php +++ b/components/ILIAS/DataCollection/classes/Content/class.ilDclContentExporter.php @@ -18,32 +18,16 @@ declare(strict_types=1); -/** - * Hook-Class for exporting data-collections (used in SOAP-Class) - * This Class avoids duplicated code by routing the request to the right place - */ class ilDclContentExporter { public const SOAP_FUNCTION_NAME = 'exportDataCollectionContent'; public const EXPORT_EXCEL = 'xlsx'; public const IN_PROGRESS_POSTFIX = '.prog'; - /** - * Ref-ID of DataCollection - */ protected int $ref_id; - /** - * Table-Id for export - */ protected ?int $table_id; - /** - * Array with filters - */ protected array $filter; - protected ilObjDataCollection $dcl; - protected ilLanguage $lng; - protected ilDclTable $table; private ilGlobalTemplateInterface $main_tpl; protected array $tables; @@ -52,7 +36,7 @@ public function __construct(int $ref_id, ?int $table_id, array $filter = []) { global $DIC; $this->main_tpl = $DIC->ui()->mainTemplate(); - $lng = $DIC['lng']; + $lng = $DIC->language(); $this->ref_id = $ref_id; $this->table_id = $table_id; @@ -76,17 +60,11 @@ public function sanitizeFilename(string $filename): string return str_replace($dangerous_filename_characters, "_", iconv("utf-8", "ascii//TRANSLIT", $filename)); } - /** - * Return export path - */ public function getExportContentPath(string $format): string { return ilExport::_getExportDirectory($this->dcl->getId(), $format, 'dcl') . '/'; } - /** - * Fill a excel row - */ protected function fillRowExcel( ilDclTable $table, ilExcel $worksheet, @@ -101,9 +79,6 @@ protected function fillRowExcel( } } - /** - * Fill Excel header - */ protected function fillHeaderExcel(ilDclTable $table, ilExcel $worksheet, int $row): void { $col = 0; @@ -115,24 +90,12 @@ protected function fillHeaderExcel(ilDclTable $table, ilExcel $worksheet, int $r } } - /** - * Fill Excel meta-data - */ protected function fillMetaExcel(ilDclTable $table, ilExcel $worksheet, int $row): void { } - /** - * Creates an export of a specific data collection table - * @return bool|void - * @throws \PhpOffice\PhpSpreadsheet\Writer\Exception|\PhpOffice\PhpSpreadsheet\Exception - */ - public function export(string $format = self::EXPORT_EXCEL, ?string $filepath = null, bool $send = false) + public function export(string $format = self::EXPORT_EXCEL, ?string $filepath = null, bool $send = false): bool { - if (count($this->tables) == 0) { - return; - } - if (empty($filepath)) { $filepath = $this->getExportContentPath($format); ilFileUtils::makeDirParents($filepath); @@ -159,20 +122,14 @@ public function export(string $format = self::EXPORT_EXCEL, ?string $filepath = $data_available = $data_available || ($list['total'] > 0); $fields_available = $fields_available || (count($table->getExportableFields()) > 0); if ($list['total'] > 0 && count($table->getExportableFields()) > 0) { - // only 31 character-long table-titles are allowed - $title = substr($table->getTitle(), 0, 31); - $adapter->addSheet($title); + $adapter->addSheet($table->getTitle()); $row = 1; - $this->fillMetaExcel($table, $adapter, $row); - - // #14813 $this->fillHeaderExcel($table, $adapter, $row); $row++; - foreach ($list['records'] as $set) { $this->fillRowExcel($table, $adapter, $set, $row); - $row++; // #14760 + $row++; } $data_available = true; @@ -201,30 +158,30 @@ public function export(string $format = self::EXPORT_EXCEL, ?string $filepath = public function exportAsync(string $format = self::EXPORT_EXCEL, ?string $filepath = null): mixed { global $DIC; - $ilLog = $DIC['ilLog']; $method = self::SOAP_FUNCTION_NAME; $soap_params = [$this->dcl->getRefId()]; array_push($soap_params, $this->table_id, $format, $filepath); - $new_session_id = ilSession::_duplicate($_COOKIE[session_name()]); - $client_id = $_COOKIE['ilClientId']; + $new_session_id = ilSession::_duplicate( + $DIC->http()->wrapper()->cookie()->retrieve(session_name(), $DIC->refinery()->kindlyTo()->string()) + ); + $client_id = $DIC->http()->wrapper()->cookie()->retrieve('ilClientId', $DIC->refinery()->kindlyTo()->string()); - // Start cloning process using soap call $soap_client = new ilSoapClient(); $soap_client->setResponseTimeout(5); $soap_client->enableWSDL(true); - $ilLog->write(__METHOD__ . ': Trying to call Soap client...'); + $DIC->logger()->root()->write(__METHOD__ . ': Trying to call Soap client...'); array_unshift($soap_params, $new_session_id . '::' . $client_id); if ($soap_client->init()) { - $ilLog->info('Calling soap ' . $method . ' method with params ' . print_r($soap_params, true)); + $DIC->logger()->root()->info('Calling soap ' . $method . ' method with params ' . print_r($soap_params, true)); $res = $soap_client->call($method, $soap_params); } else { - $ilLog->warning('SOAP clone call failed. Calling clone method manually'); + $DIC->logger()->root()->warning('SOAP clone call failed. Calling clone method manually'); if (method_exists('ilSoapFunctions', $method)) { $res = ilSoapFunctions::$method( $new_session_id . '::' . $client_id, From 3719a5db614822ce744bbe9f7ee0d8a0247b33df Mon Sep 17 00:00:00 2001 From: Stephan Kergomard Date: Wed, 3 Dec 2025 14:04:16 +0100 Subject: [PATCH 125/865] User: Allow To Set OrgUnits to Searchable See: https://mantis.ilias.de/view.php?id=46453 --- .../User/src/Profile/Fields/Standard/OrganisationalUnits.php | 5 ----- 1 file changed, 5 deletions(-) diff --git a/components/ILIAS/User/src/Profile/Fields/Standard/OrganisationalUnits.php b/components/ILIAS/User/src/Profile/Fields/Standard/OrganisationalUnits.php index d884c4d3ee4a..50a51fa8e60c 100644 --- a/components/ILIAS/User/src/Profile/Fields/Standard/OrganisationalUnits.php +++ b/components/ILIAS/User/src/Profile/Fields/Standard/OrganisationalUnits.php @@ -70,11 +70,6 @@ public function requiredForcedTo(): ?bool return false; } - public function searchableForcedTo(): ?bool - { - return false; - } - public function availableInCertificatesForcedTo(): ?bool { return false; From d627dc3f77414f02471411221ba6cf1a23ee3437 Mon Sep 17 00:00:00 2001 From: mjansen Date: Wed, 3 Dec 2025 14:16:08 +0100 Subject: [PATCH 126/865] Mail: Fix "Incoming Mail" input - https://mantis.ilias.de/view.php?id=46446 - https://mantis.ilias.de/view.php?id=46447 --- .../Mail/classes/Form/class.ilIncomingMailInputGUI.php | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/components/ILIAS/Mail/classes/Form/class.ilIncomingMailInputGUI.php b/components/ILIAS/Mail/classes/Form/class.ilIncomingMailInputGUI.php index 5eacc98adeda..3e5b5a91c50e 100755 --- a/components/ILIAS/Mail/classes/Form/class.ilIncomingMailInputGUI.php +++ b/components/ILIAS/Mail/classes/Form/class.ilIncomingMailInputGUI.php @@ -18,13 +18,10 @@ declare(strict_types=1); -use ILIAS\Mail\UserSettings\IncomingMail; - class ilIncomingMailInputGUI extends ilRadioGroupInputGUI { - protected bool $free_option_choice = true; - protected bool $options_initialized = false; - + private bool $free_option_choice = true; + private bool $options_initialized = false; private ?ilObjUser $user = null; public function __construct(string $title = '', string $post_var = '', bool $free_option_choice = true) @@ -87,7 +84,7 @@ public function setFreeOptionChoice(bool $free_option_choice): void $this->free_option_choice = $free_option_choice; } - public function setUser(ilObjUser $user): void + public function setUser(?ilObjUser $user): void { $this->user = $user; } From db2a817873e12134bd11cb59a2df6715c404ae57 Mon Sep 17 00:00:00 2001 From: iszmais <45942348+iszmais@users.noreply.github.com> Date: Wed, 3 Dec 2025 15:08:34 +0100 Subject: [PATCH 127/865] dc preserve table view on select (#10628) --- .../classes/Content/class.ilDclRecordListGUI.php | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/components/ILIAS/DataCollection/classes/Content/class.ilDclRecordListGUI.php b/components/ILIAS/DataCollection/classes/Content/class.ilDclRecordListGUI.php index bb52e38e5f4e..364fc62d3d2b 100755 --- a/components/ILIAS/DataCollection/classes/Content/class.ilDclRecordListGUI.php +++ b/components/ILIAS/DataCollection/classes/Content/class.ilDclRecordListGUI.php @@ -467,6 +467,13 @@ private function recordBelongsToCollection(ilDclBaseRecordModel $record): bool protected function setSubTabs(string $active_mode = self::GET_MODE): void { $this->ctrl->setParameter($this, self::GET_MODE, self::MODE_VIEW); + if ($this->http->wrapper()->query()->has(self::GET_TABLEVIEW_ID)) { + $this->ctrl->setParameter( + $this, + self::GET_TABLEVIEW_ID, + $this->http->wrapper()->query()->retrieve(self::GET_TABLEVIEW_ID, $this->refinery->kindlyTo()->int()) + ); + } $this->tabs->addSubTab( self::MODE_VIEW, $this->lng->txt('view'), From 92f6b35a4ba4993a5537aabe72686b6087e3cb25 Mon Sep 17 00:00:00 2001 From: Stephan Kergomard Date: Wed, 3 Dec 2025 15:45:36 +0100 Subject: [PATCH 128/865] Test: Fix Shuffle&Lock Constraint See: https://mantis.ilias.de/view.php?id=46384#c120712 --- .../src/Settings/MainSettings/SettingsQuestionBehaviour.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/components/ILIAS/Test/src/Settings/MainSettings/SettingsQuestionBehaviour.php b/components/ILIAS/Test/src/Settings/MainSettings/SettingsQuestionBehaviour.php index d37458f3bd82..55459c4fafd0 100755 --- a/components/ILIAS/Test/src/Settings/MainSettings/SettingsQuestionBehaviour.php +++ b/components/ILIAS/Test/src/Settings/MainSettings/SettingsQuestionBehaviour.php @@ -311,7 +311,7 @@ private function getShuffleAndLockAnswersConstraint( return $refinery->custom()->constraint( function ($vs): bool { if ($vs['shuffle_questions'] === true - && $vs['lock_answers']['lock_answer_on_next_question']) { + && $vs['lock_answers']['lock_answer_on_next_question'] ?? $this->getLockAnswerOnNextQuestionEnabled()) { return false; } return true; From 04446f3cc8fd35a9906b1aaf03138f4426df7e16 Mon Sep 17 00:00:00 2001 From: Stephan Kergomard Date: Wed, 3 Dec 2025 15:51:35 +0100 Subject: [PATCH 129/865] Test: Fix Shuffle&Lock Constraint See: https://mantis.ilias.de/view.php?id=46384#c120712 --- .../src/Settings/MainSettings/SettingsQuestionBehaviour.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/components/ILIAS/Test/src/Settings/MainSettings/SettingsQuestionBehaviour.php b/components/ILIAS/Test/src/Settings/MainSettings/SettingsQuestionBehaviour.php index 55459c4fafd0..cffe0b59e240 100755 --- a/components/ILIAS/Test/src/Settings/MainSettings/SettingsQuestionBehaviour.php +++ b/components/ILIAS/Test/src/Settings/MainSettings/SettingsQuestionBehaviour.php @@ -311,7 +311,7 @@ private function getShuffleAndLockAnswersConstraint( return $refinery->custom()->constraint( function ($vs): bool { if ($vs['shuffle_questions'] === true - && $vs['lock_answers']['lock_answer_on_next_question'] ?? $this->getLockAnswerOnNextQuestionEnabled()) { + && ($vs['lock_answers']['lock_answer_on_next_question'] ?? $this->getLockAnswerOnNextQuestionEnabled())) { return false; } return true; From c00569f49769471e64cfb0ed95d15db9b7554d29 Mon Sep 17 00:00:00 2001 From: Tim Schmitz Date: Wed, 3 Dec 2025 15:53:34 +0100 Subject: [PATCH 130/865] EmployeeTalk: fix cloning talks when series is created (46449) --- .../classes/Talk/class.ilObjEmployeeTalk.php | 27 +++++++++---------- 1 file changed, 12 insertions(+), 15 deletions(-) diff --git a/components/ILIAS/EmployeeTalk/classes/Talk/class.ilObjEmployeeTalk.php b/components/ILIAS/EmployeeTalk/classes/Talk/class.ilObjEmployeeTalk.php index faaa12c6ee58..ece643bf5d10 100755 --- a/components/ILIAS/EmployeeTalk/classes/Talk/class.ilObjEmployeeTalk.php +++ b/components/ILIAS/EmployeeTalk/classes/Talk/class.ilObjEmployeeTalk.php @@ -26,24 +26,12 @@ final class ilObjEmployeeTalk extends ilObject { public const string TYPE = 'etal'; - /** - * @var int - */ private static int $root_ref_id = -1; - /** - * @var int - */ private static int $root_id = -1; - /** - * @var EmployeeTalkRepository $repository - */ - private $repository; - - /** - * @var EmployeeTalk $data - */ - private $data; + private EmployeeTalkRepository $repository; + private EmployeeTalk $data; + private ?ilObjEmployeeTalkSeries $parent_series = null; /** * @param int $a_id @@ -119,6 +107,15 @@ public function update(): bool parent::update(); $this->repository->update($this->data); + if (!$this->getRefId()) { + /* + * During cloning, update is sometimes called before + * the newly created object has any references. In these + * cases we skip the updating the calendar. + */ + return true; + } + $app = new ilCalendarAppointmentTemplate($this->getParent()->getId()); $app->setTitle($this->getTitle()); $app->setSubtitle($this->getParent()->getTitle()); From 8745608e063be80c5b7904c8a2f7b878f18408d5 Mon Sep 17 00:00:00 2001 From: Tim Schmitz Date: Wed, 3 Dec 2025 15:55:11 +0100 Subject: [PATCH 131/865] EmployeeTalk: some clean up --- .../ILIAS/EmployeeTalk/classes/Talk/class.ilObjEmployeeTalk.php | 1 - 1 file changed, 1 deletion(-) diff --git a/components/ILIAS/EmployeeTalk/classes/Talk/class.ilObjEmployeeTalk.php b/components/ILIAS/EmployeeTalk/classes/Talk/class.ilObjEmployeeTalk.php index ece643bf5d10..9d5db9f75556 100755 --- a/components/ILIAS/EmployeeTalk/classes/Talk/class.ilObjEmployeeTalk.php +++ b/components/ILIAS/EmployeeTalk/classes/Talk/class.ilObjEmployeeTalk.php @@ -31,7 +31,6 @@ final class ilObjEmployeeTalk extends ilObject private EmployeeTalkRepository $repository; private EmployeeTalk $data; - private ?ilObjEmployeeTalkSeries $parent_series = null; /** * @param int $a_id From 0b4504f1d350bb62b6b945ad514b7816c5238524 Mon Sep 17 00:00:00 2001 From: Matthias Kunkel Date: Wed, 3 Dec 2025 15:55:35 +0100 Subject: [PATCH 132/865] =?UTF-8?q?Typo:=20Tooltip=20=E2=86=92=20Tooltipp?= =?UTF-8?q?=20in=20German?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lang/ilias_de.lang | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/lang/ilias_de.lang b/lang/ilias_de.lang index bdec9ed01b92..242636390e52 100644 --- a/lang/ilias_de.lang +++ b/lang/ilias_de.lang @@ -502,7 +502,7 @@ assessment#:#ass_completion_by_submission_info#:#Falls aktiviert, führt die Abg assessment#:#ass_create_export_file_with_results#:#inkl. Teilnehmerergebnisse assessment#:#ass_create_export_test_archive#:#als Archivdatei assessment#:#ass_create_question#:#Frage erstellen -assessment#:#ass_imap_hint#:#Hinweis (angezeigt als Tooltip) +assessment#:#ass_imap_hint#:#Hinweis (angezeigt als Tooltipp) assessment#:#ass_imap_map_file_not_readable#:#Die hochgeladene Imagemap kann nicht gelesen werden. assessment#:#ass_imap_no_map_found#:#In der hochgeladenen Imagemap konnte keine unterstützte Form gefunden werden. assessment#:#ass_lac_expression#:#Ausdruck @@ -6576,7 +6576,7 @@ content#:#cont_hacc_needs_width#:#Bitte geben Sie für horizontale Akkordeons ei content#:#cont_has_row_header#:#Kopfzeile content#:#cont_header#:#Kopfzeile content#:#cont_height#:#Höhe in Pixel -content#:#cont_help_no_valid_tooltip_id#:#Die eingegebene Tooltip-ID ist nicht gültig. +content#:#cont_help_no_valid_tooltip_id#:#Die eingegebene Tooltipp-ID ist nicht gültig. content#:#cont_hide_adv#:#Vertiefungswissen verbergen content#:#cont_hide_head_foot_print#:#Kopf- und Fußzeile im Ausdruck ausblenden. content#:#cont_hidenavig#:#Linken Navigationsbaum ausblenden @@ -10583,12 +10583,12 @@ help#:#help_search_label#:#Suche in Hilfe help#:#help_select_a_file#:#Bitte wählen Sie eine Datei. help#:#help_set_mode#:#Hilfemodus setzen help#:#help_sure_delete_help_modules#:#Wollen Sie diese Pakete wirklich löschen? -help#:#help_toggle_tooltips#:#Hilfe-Tooltips -help#:#help_toggle_tooltips_info#:#Hilfe-Tooltips zu Menüs und Reitern anzeigen. -help#:#help_tooltip_id#:#Tooltip-ID -help#:#help_tooltips#:#Hilfe-Tooltips -help#:#help_tooltips_and_help#:#Tooltips und Handlungsanweisungen -help#:#help_tooltips_only#:#Nur Tooltips +help#:#help_toggle_tooltips#:#Hilfe-Tooltipps +help#:#help_toggle_tooltips_info#:#Hilfe-Tooltipps zu Menüs und Reitern anzeigen. +help#:#help_tooltip_id#:#Tooltipp-ID +help#:#help_tooltips#:#Hilfe-Tooltipps +help#:#help_tooltips_and_help#:#Tooltipps und Handlungsanweisungen +help#:#help_tooltips_only#:#Nur Tooltipps help#:#help_topcis#:#Themen help#:#help_tt_text#:#Text htlm#:#file_import_from_upload_dir_failed#:#Datei aus Uploadverzeichnis nicht importiert From 8b0ccdb784d0d9624ae9fdc132bbc51c837ed6d4 Mon Sep 17 00:00:00 2001 From: Tim Schmitz Date: Wed, 3 Dec 2025 16:27:53 +0100 Subject: [PATCH 133/865] EmployeeTalk: fix ics for full day events (46448) --- .../EmployeeTalk/classes/Notification/Calendar/VEvent.php | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/components/ILIAS/EmployeeTalk/classes/Notification/Calendar/VEvent.php b/components/ILIAS/EmployeeTalk/classes/Notification/Calendar/VEvent.php index f9ce6f941645..66109d8bb31e 100755 --- a/components/ILIAS/EmployeeTalk/classes/Notification/Calendar/VEvent.php +++ b/components/ILIAS/EmployeeTalk/classes/Notification/Calendar/VEvent.php @@ -78,8 +78,9 @@ protected function renderStartAndEndDates(): string $end = $end->setTimezone(new \DateTimeZone('Europe/Paris')); if ($this->all_day) { + // end date is exclusive, so has to be one day later! return 'DTSTART;TZID=Europe/Paris;VALUE=DATE:' . $start->format('Ymd') . "\r\n" . - 'DTEND;TZID=Europe/Paris;VALUE=DATE:' . $end->format('Ymd') . "\r\n" . + 'DTEND;TZID=Europe/Paris;VALUE=DATE:' . $end->add(new \DateInterval('P1D'))->format('Ymd') . "\r\n" . "X-MICROSOFT-CDO-ALLDAYEVENT: TRUE\r\n"; } else { return 'DTSTART;TZID=Europe/Paris:' . $start->format('Ymd\THis') . "\r\n" . From 29fcf0546f977b9995450de460636cfcf235448d Mon Sep 17 00:00:00 2001 From: Stephan Kergomard Date: Wed, 3 Dec 2025 16:27:25 +0100 Subject: [PATCH 134/865] User: Fix Saving Email in Profile See: https://mantis.ilias.de/view.php?id=46149 --- .../User/src/Profile/ProfileImplementation.php | 5 +++-- .../User/src/Profile/class.PersonalProfileGUI.php | 13 ++++++++----- 2 files changed, 11 insertions(+), 7 deletions(-) diff --git a/components/ILIAS/User/src/Profile/ProfileImplementation.php b/components/ILIAS/User/src/Profile/ProfileImplementation.php index 11f357f1b49b..936efc44b0d8 100644 --- a/components/ILIAS/User/src/Profile/ProfileImplementation.php +++ b/components/ILIAS/User/src/Profile/ProfileImplementation.php @@ -108,10 +108,11 @@ function (\ilPropertyFormGUI $c, array $v) use ($context, $user, $do_require): \ public function addFormValuesToUser( \ilPropertyFormGUI $form, Context $context, - \ilObjUser $user + \ilObjUser $user, + array $skip_fields = [] ): \ilObjUser { return array_reduce( - $this->getVisibleFields($context, $user), + $this->getVisibleFields($context, $user, [], $skip_fields), static function (\ilObjUser $c, ProfileField $v) use ($form, $context, $user): \ilObjUser { if ($form->getItemByPostVar($v->getIdentifier())->getDisabled()) { return $c; diff --git a/components/ILIAS/User/src/Profile/class.PersonalProfileGUI.php b/components/ILIAS/User/src/Profile/class.PersonalProfileGUI.php index a5f444a087f5..4cb48df0e6e3 100755 --- a/components/ILIAS/User/src/Profile/class.PersonalProfileGUI.php +++ b/components/ILIAS/User/src/Profile/class.PersonalProfileGUI.php @@ -461,7 +461,7 @@ public function goToEmailConfirmation(): void $this->showPersonalData(true); return; } - $this->addDataFromFormToUser(); + $this->addDataFromFormToUser([Email::class]); $this->user->update(); \ilSession::setClosingContext(\ilSession::SESSION_CLOSE_USER); @@ -469,7 +469,9 @@ public function goToEmailConfirmation(): void session_unset(); $token = $this->change_mail_token_repo->getNewTokenForUser( $this->user, - $this->form->getInput('usr_email'), + $this->form->getInput( + $this->profile->getFieldByClass(Email::class)->getIdentifier() + ), time() ); $this->ctrl->redirectToURL( @@ -477,9 +479,10 @@ public function goToEmailConfirmation(): void ); } - private function addDataFromFormToUser(): void - { - $this->user = $this->profile->addFormValuesToUser($this->form, Context::User, $this->user); + private function addDataFromFormToUser( + array $skip_fields = [] + ): void { + $this->user = $this->profile->addFormValuesToUser($this->form, Context::User, $this->user, $skip_fields); $this->user->setProfileIncomplete(false); $this->user->setTitle($this->user->getFullname()); From 12918ccf84b9f7b9f32cc462863449c19320ec8a Mon Sep 17 00:00:00 2001 From: Stephan Kergomard Date: Wed, 3 Dec 2025 16:57:25 +0100 Subject: [PATCH 135/865] Test: Show Intermediate Solution in Error-Text See: https://mantis.ilias.de/view.php?id=46218 --- .../classes/class.assErrorTextGUI.php | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/components/ILIAS/TestQuestionPool/classes/class.assErrorTextGUI.php b/components/ILIAS/TestQuestionPool/classes/class.assErrorTextGUI.php index c8994f6222bd..4fa6450c0f7b 100755 --- a/components/ILIAS/TestQuestionPool/classes/class.assErrorTextGUI.php +++ b/components/ILIAS/TestQuestionPool/classes/class.assErrorTextGUI.php @@ -237,7 +237,7 @@ public function getSolutionOutput( bool $show_question_text = true, bool $show_inline_feedback = true ): string { - $user_solutions = $this->getUsersSolutionFromPreviewOrDatabase($active_id, $pass); + $user_solutions = $this->getUsersSolutionFromPreviewOrDatabase($active_id, $pass, true); return $this->renderSolutionOutput( $user_solutions, $active_id, @@ -273,7 +273,7 @@ public function renderSolutionOutput( $selections = [ 'user' => $user_solutions ? $user_solutions : - $this->getUsersSolutionFromPreviewOrDatabase($active_id, $pass) + $this->getUsersSolutionFromPreviewOrDatabase($active_id, $pass, true) ]; $selections['best'] = $this->object->getBestSelection(); @@ -355,7 +355,7 @@ public function getTestOutput( bool $show_specific_inline_feedback = false ): string { $selections = [ - 'user' => $this->getUsersSolutionFromPreviewOrDatabase($active_id, $pass) + 'user' => $this->getUsersSolutionFromPreviewOrDatabase($active_id, $pass, false) ]; return $this->outQuestionPage( @@ -393,15 +393,20 @@ private function generateQuestionOutput($selections, $show_question_only): strin return $this->getILIASPage($questionoutput); } - private function getUsersSolutionFromPreviewOrDatabase(int $active_id = 0, ?int $pass = null): array - { + private function getUsersSolutionFromPreviewOrDatabase( + int $active_id = 0, + ?int $pass = null, + bool $only_authorized = false + ): array { if (is_object($this->getPreviewSession())) { return (array) $this->getPreviewSession()->getParticipantsSolution(); } if ($active_id > 0) { $selections = []; - $solutions = $this->object->getSolutionValues($active_id, $pass ?? 0, true); + $solutions = $only_authorized + ? $this->object->getSolutionValues($active_id, $pass ?? 0, true) + : $this->object->getUserSolutionPreferingIntermediate($active_id, $pass); foreach ($solutions as $solution) { $selections[] = $solution['value1']; } From 99442b0e60cb7adb30a9c4e36a04793ea7833d62 Mon Sep 17 00:00:00 2001 From: Stephan Kergomard Date: Thu, 4 Dec 2025 10:30:39 +0100 Subject: [PATCH 136/865] User: Add a Space in E-Mail Change E-Mail See: https://mantis.ilias.de/view.php?id=46149 --- lang/ilias_en.lang | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lang/ilias_en.lang b/lang/ilias_en.lang index 5d1cdb6f0da3..91bbe4f8be18 100644 --- a/lang/ilias_en.lang +++ b/lang/ilias_en.lang @@ -17513,7 +17513,7 @@ user#:#activate_in_profile_fields#:#To change this setting, the user must first user#:#administrative_settings#:#Administrative Settings user#:#all_roles_has_starting_point#:#All the roles have starting points user#:#back_to_starting_points_list#:#Back to Starting Points -user#:#change_email_email_confirmation_body#:#The email address for the account %s was changed. To confirm this change, please click on this link %s. The link is valid for %s minutes. +user#:#change_email_email_confirmation_body#:#The email address for the account %s was changed. To confirm this change, please click on this link %s . The link is valid for %s minutes. user#:#change_email_email_confirmation_subject#:#Confirm Email Address user#:#change_email_email_information_body#:#The process to change the email address for the account %s to %s was started. An email with a link to confirm the change was sent to the new address. The link is valid for %s minutes. user#:#change_email_email_information_subject#:#Information about Change of Email Address From eb1d68c60dcf67a2bb8825fda932c518b70caeb1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thomas=20Jou=C3=9Fen?= Date: Thu, 4 Dec 2025 14:47:37 +0100 Subject: [PATCH 137/865] T&A Fix routing for edit competence skill assignment --- .../classes/class.ilAssQuestionSkillAssignmentsGUI.php | 8 ++++---- ...class.ilAssQuestionSkillAssignmentPropertyFormGUI.php | 5 +++-- .../ILIAS/TestQuestionPool/src/RequestDataCollector.php | 9 +++++++++ 3 files changed, 16 insertions(+), 6 deletions(-) diff --git a/components/ILIAS/TestQuestionPool/classes/class.ilAssQuestionSkillAssignmentsGUI.php b/components/ILIAS/TestQuestionPool/classes/class.ilAssQuestionSkillAssignmentsGUI.php index dcf3b8182a4b..f8e7aa6ea136 100755 --- a/components/ILIAS/TestQuestionPool/classes/class.ilAssQuestionSkillAssignmentsGUI.php +++ b/components/ILIAS/TestQuestionPool/classes/class.ilAssQuestionSkillAssignmentsGUI.php @@ -391,8 +391,8 @@ private function showSkillQuestionAssignmentPropertiesFormCmd( $question_id = $this->request_data_collector->getQuestionId(); $question_gui ??= assQuestionGUI::_getQuestionGUI('', $question_id); - $row_id_parameter = $this->request_data_collector->strArray(EditSkillsOfQuestionTableActions::FULL_ROW_ID_PARAMETER); - [1 => $skill_base_id, 2 => $skill_tref_id] = explode('_', $row_id_parameter[0]); + $row_id_parameter = $this->request_data_collector->getRowIdParameter(EditSkillsOfQuestionTableActions::FULL_ROW_ID_PARAMETER); + [1 => $skill_base_id, 2 => $skill_tref_id] = explode('_', $row_id_parameter); $assignment ??= $this->buildQuestionSkillAssignment($question_id, (int) $skill_base_id, (int) $skill_tref_id); $form ??= $this->buildSkillQuestionAssignmentPropertiesForm($question_gui->getObject(), $assignment); @@ -407,7 +407,7 @@ private function saveSkillQuestionAssignmentPropertiesFormCmd(): void if ($this->isTestQuestion($question_id)) { $question_gui = assQuestionGUI::_getQuestionGUI('', $question_id); - $row_id_parameter = $this->request_data_collector->string(EditSkillsOfQuestionTableActions::FULL_ROW_ID_PARAMETER); + $row_id_parameter = $this->request_data_collector->getRowIdParameter(EditSkillsOfQuestionTableActions::FULL_ROW_ID_PARAMETER); [1 => $skill_base_id, 2 => $skill_tref_id] = explode('_', $row_id_parameter); $assignment = $this->buildQuestionSkillAssignment($question_id, (int) $skill_base_id, (int) $skill_tref_id); @@ -462,7 +462,7 @@ private function saveSkillQuestionAssignmentPropertiesFormCmd(): void } } - $this->ctrl->redirect($this, self::CMD_SHOW_SKILL_QUEST_ASSIGNS); + $this->ctrl->redirect($this, self::CMD_EDIT_SKILL_QUEST_ASSIGNS); } private function buildSkillQuestionAssignmentPropertiesForm( diff --git a/components/ILIAS/TestQuestionPool/classes/forms/class.ilAssQuestionSkillAssignmentPropertyFormGUI.php b/components/ILIAS/TestQuestionPool/classes/forms/class.ilAssQuestionSkillAssignmentPropertyFormGUI.php index ec211720763a..f7692ccc7e7d 100755 --- a/components/ILIAS/TestQuestionPool/classes/forms/class.ilAssQuestionSkillAssignmentPropertyFormGUI.php +++ b/components/ILIAS/TestQuestionPool/classes/forms/class.ilAssQuestionSkillAssignmentPropertyFormGUI.php @@ -96,12 +96,12 @@ public function build(): void ); $this->addCommandButton( - ilAssQuestionSkillAssignmentsGUI::CMD_SHOW_SKILL_QUEST_ASSIGNS, + ilAssQuestionSkillAssignmentsGUI::CMD_EDIT_SKILL_QUEST_ASSIGNS, $this->lng->txt('cancel') ); } else { $this->addCommandButton( - ilAssQuestionSkillAssignmentsGUI::CMD_SHOW_SKILL_QUEST_ASSIGNS, + ilAssQuestionSkillAssignmentsGUI::CMD_EDIT_SKILL_QUEST_ASSIGNS, $this->lng->txt('back') ); } @@ -208,6 +208,7 @@ private function buildResultSkillPointsInputField(): ilNumberInputGUI $questResultSkillPoints->setMinValue(1); $questResultSkillPoints->allowDecimals(false); $questResultSkillPoints->setValue((string) $this->assignment->getSkillPoints()); + if (!$this->isManipulationEnabled()) { $questResultSkillPoints->setDisabled(true); } diff --git a/components/ILIAS/TestQuestionPool/src/RequestDataCollector.php b/components/ILIAS/TestQuestionPool/src/RequestDataCollector.php index 26801bb7042b..dd4a08784419 100755 --- a/components/ILIAS/TestQuestionPool/src/RequestDataCollector.php +++ b/components/ILIAS/TestQuestionPool/src/RequestDataCollector.php @@ -245,6 +245,15 @@ public function rawArray(string $key): array return $this->retrieveArray($key, 1, $this->refinery->identity()); } + public function getRowIdParameter(string $key): string|int + { + return $this->get($key, $this->refinery->byTrying([ + $this->refinery->kindlyTo()->int(), + $this->refinery->kindlyTo()->string(), + $this->refinery->custom()->transformation(fn(array $v): string|int => $v[0]) + ])); + } + /** * @return array|string */ From 98a2a9da92918014d84dcad3b37ad08ba8a9acf3 Mon Sep 17 00:00:00 2001 From: Ahmed Hamouda Date: Thu, 4 Dec 2025 18:32:07 +0100 Subject: [PATCH 138/865] Mantis #45368: Remove usage of domxml_open_mem method ilias 11 --- .../class.ilSoapUserAdministration.php | 28 +++++++++++-------- 1 file changed, 16 insertions(+), 12 deletions(-) diff --git a/components/ILIAS/soap/classes/class.ilSoapUserAdministration.php b/components/ILIAS/soap/classes/class.ilSoapUserAdministration.php index 333abc4fce77..846b6bc241ae 100755 --- a/components/ILIAS/soap/classes/class.ilSoapUserAdministration.php +++ b/components/ILIAS/soap/classes/class.ilSoapUserAdministration.php @@ -1,4 +1,5 @@ loadXML($usr_xml); + $errors = libxml_get_errors(); + libxml_clear_errors(); + + if (!$is_loadable) { + $msg = []; + foreach ($errors as $err) { + $msg[] = "(" . $err->line . "," . $err->column . "): " . trim($err->message); } + libxml_clear_errors(); $msg = implode("\n", $msg); return $this->raiseError($msg, "Client"); } From 113572922fdb292095914d2cc39894ba9a46a16d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thomas=20Jou=C3=9Fen?= Date: Thu, 4 Dec 2025 18:37:15 +0100 Subject: [PATCH 139/865] T&A Integrate getRowIdparameter into test RequestDataCollector and interface --- components/ILIAS/Test/src/RequestDataCollector.php | 9 +++++++++ .../src/RequestDataCollectorInterface.php | 2 ++ 2 files changed, 11 insertions(+) diff --git a/components/ILIAS/Test/src/RequestDataCollector.php b/components/ILIAS/Test/src/RequestDataCollector.php index 3ac2768782e4..90efe1e23543 100755 --- a/components/ILIAS/Test/src/RequestDataCollector.php +++ b/components/ILIAS/Test/src/RequestDataCollector.php @@ -184,6 +184,15 @@ private function retrieveArrayFromPost(string $key, Transformation $transformati ); } + public function getRowIdParameter(string $key): string|int + { + return $this->get($key, $this->refinery->byTrying([ + $this->refinery->kindlyTo()->int(), + $this->refinery->kindlyTo()->string(), + $this->refinery->custom()->transformation(fn(array $v): string|int => $v[0]) + ])); + } + /** * @return array|string */ diff --git a/components/ILIAS/TestQuestionPool/src/RequestDataCollectorInterface.php b/components/ILIAS/TestQuestionPool/src/RequestDataCollectorInterface.php index ebecb6fa70ac..c92e13064b95 100644 --- a/components/ILIAS/TestQuestionPool/src/RequestDataCollectorInterface.php +++ b/components/ILIAS/TestQuestionPool/src/RequestDataCollectorInterface.php @@ -54,4 +54,6 @@ public function getPostKeys(): array; * @return array|string */ public function getMultiSelectionIds(string $key): array|string; + + public function getRowIdParameter(string $key): string|int; } From 9918d24f3a2efe65bfe6039bb70da44d7965d2a8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thomas=20Jou=C3=9Fen?= Date: Thu, 4 Dec 2025 18:44:30 +0100 Subject: [PATCH 140/865] T&A Show max competence point in SkillsByQuestionOverviewTable --- .../src/Skills/SkillsByQuestionOverviewTable.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/components/ILIAS/TestQuestionPool/src/Skills/SkillsByQuestionOverviewTable.php b/components/ILIAS/TestQuestionPool/src/Skills/SkillsByQuestionOverviewTable.php index d0d90e1604af..d6c233baabf5 100644 --- a/components/ILIAS/TestQuestionPool/src/Skills/SkillsByQuestionOverviewTable.php +++ b/components/ILIAS/TestQuestionPool/src/Skills/SkillsByQuestionOverviewTable.php @@ -68,7 +68,7 @@ private function mapRow(PresentationRow $row, SkillAssignments $record, URI $edi : 'qpl_skill_point_eval_mode_quest_result' ) ) - ->withProperty($this->lng->txt('tst_comp_points'), (string) $skill_assignment->getSkillPoints()); + ->withProperty($this->lng->txt('tst_comp_points'), (string) $skill_assignment->getMaxSkillPoints()); } $row = $row From ab311fdae34879183126414df8fae7ec8ddac736 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thomas=20Jou=C3=9Fen?= Date: Thu, 4 Dec 2025 19:58:22 +0100 Subject: [PATCH 141/865] T&A Fix cancel action for file download in content for recapitulation --- .../ILIAS/TestQuestionPool/classes/class.assQuestionGUI.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/components/ILIAS/TestQuestionPool/classes/class.assQuestionGUI.php b/components/ILIAS/TestQuestionPool/classes/class.assQuestionGUI.php index 264f8d30348b..0b9bdea9515a 100755 --- a/components/ILIAS/TestQuestionPool/classes/class.assQuestionGUI.php +++ b/components/ILIAS/TestQuestionPool/classes/class.assQuestionGUI.php @@ -1102,7 +1102,7 @@ public function suggestedsolution(bool $save = false): void $options = $this->getTypeOptions(); $solution_type = $this->ctrl->getCmd() === 'cancelSuggestedSolution' - ? $solution->getType() + ? $solution?->getType() : $this->request_data_collector->string('solutiontype'); if ($solution_type === SuggestedSolution::TYPE_FILE && ($solution === null || $solution->getType() !== SuggestedSolution::TYPE_FILE) From 679d7e13657faed2fce1cad2152188a39adb7d4d Mon Sep 17 00:00:00 2001 From: Sergio Santiago Date: Fri, 5 Dec 2025 07:30:37 +0100 Subject: [PATCH 142/865] fix: LTI connection Due to the upgrade from ILIAS 10 to ILIAS 11, some of the LTI connectivity features became unusable. At the same time, the improvements incorporated in ILIAS 10 have been implemented. These changes resolve the following issues: - LTI 1.1 connectivity - LTI 1.3 connectivity - AppEventListener reactivity within LTI - Saving consumers with the correct LTI version - Some lang variables missing --- ...class.ilLTIConsumerDatabaseUpdateSteps.php | 20 ++ .../classes/class.ilLTIConsumeProvider.php | 22 +- .../class.ilLTIConsumeProviderFormGUI.php | 22 +- .../class.ilLTIConsumeProviderSettingsGUI.php | 11 +- .../classes/class.ilLTIConsumerContentGUI.php | 26 +- .../classes/class.ilLTIConsumerResult.php | 19 +- .../class.ilLTIConsumerResultService.php | 43 +-- .../class.ilLTIConsumerSettingsFormGUI.php | 2 +- .../classes/class.ilObjLTIConsumer.php | 81 ++++-- .../classes/class.ilObjLTIConsumerGUI.php | 2 - .../ILIAS/LTIConsumer/resources/ltiauth.php | 97 +++++-- .../ILIAS/LTIConsumer/resources/lticerts.php | 5 +- .../ILIAS/LTIConsumer/resources/lticonfig.php | 6 +- .../ILIAS/LTIConsumer/resources/ltiregend.php | 6 +- .../LTIConsumer/resources/ltiregistration.php | 5 +- .../LTIConsumer/resources/ltiregstart.php | 5 +- .../ILIAS/LTIConsumer/resources/ltiresult.php | 5 +- .../LTIConsumer/resources/ltiservices.php | 5 +- .../ILIAS/LTIConsumer/resources/ltitoken.php | 5 +- .../class.ilAuthProviderLTI.php | 100 +++---- .../class.ilLTIProviderObjectSettingGUI.php | 7 +- .../classes/class.ilLTIAppEventListener.php | 47 +++- .../classes/class.ilLTICronOutcomeService.php | 2 +- .../classes/class.ilLTIDataConnector.php | 247 +++++++++--------- .../class.ilLTIProviderAppEventListener.php | 192 ++++++++++++++ .../ILIAS/LTIProvider/resources/lti.php | 12 +- lang/ilias_ar.lang | 16 ++ lang/ilias_bg.lang | 16 ++ lang/ilias_cs.lang | 16 ++ lang/ilias_da.lang | 16 ++ lang/ilias_de.lang | 16 ++ lang/ilias_el.lang | 16 ++ lang/ilias_en.lang | 16 ++ lang/ilias_es.lang | 16 ++ lang/ilias_et.lang | 16 ++ lang/ilias_fa.lang | 16 ++ lang/ilias_fr.lang | 16 ++ lang/ilias_hr.lang | 16 ++ lang/ilias_hu.lang | 16 ++ lang/ilias_it.lang | 2 + lang/ilias_ja.lang | 16 ++ lang/ilias_ka.lang | 16 ++ lang/ilias_lt.lang | 16 ++ lang/ilias_nl.lang | 16 ++ lang/ilias_pl.lang | 16 ++ lang/ilias_pt.lang | 16 ++ lang/ilias_ro.lang | 16 ++ lang/ilias_ru.lang | 16 ++ lang/ilias_sk.lang | 16 ++ lang/ilias_sl.lang | 16 ++ lang/ilias_sq.lang | 16 ++ lang/ilias_sr.lang | 16 ++ lang/ilias_sv.lang | 16 ++ lang/ilias_tr.lang | 16 ++ lang/ilias_uk.lang | 16 ++ lang/ilias_vi.lang | 16 ++ lang/ilias_zh.lang | 16 ++ 57 files changed, 1165 insertions(+), 311 deletions(-) create mode 100644 components/ILIAS/LTIProvider/classes/class.ilLTIProviderAppEventListener.php diff --git a/components/ILIAS/LTIConsumer/classes/Setup/class.ilLTIConsumerDatabaseUpdateSteps.php b/components/ILIAS/LTIConsumer/classes/Setup/class.ilLTIConsumerDatabaseUpdateSteps.php index e963637684cd..2a4c5935524e 100755 --- a/components/ILIAS/LTIConsumer/classes/Setup/class.ilLTIConsumerDatabaseUpdateSteps.php +++ b/components/ILIAS/LTIConsumer/classes/Setup/class.ilLTIConsumerDatabaseUpdateSteps.php @@ -236,4 +236,24 @@ public function step_15(): void $this->db->addIndex("lti_consumer_grades", array("obj_id","usr_id"), 'i1'); } } + + public function step_16(): void + { + if (!$this->db->tableColumnExists('lti_consumer_results', 'attended')) { + $this->db->addTableColumn('lti_consumer_results', 'attended', [ + 'type' => 'integer', + 'notnull' => true, + 'length' => 1, + 'default' => 0 + ]); + + $query = /** @lang sql */ + " + UPDATE lti_consumer_results + SET attended = 1 + WHERE result IS NOT NULL AND result > 0 + "; + $this->db->manipulate($query); + } + } } diff --git a/components/ILIAS/LTIConsumer/classes/class.ilLTIConsumeProvider.php b/components/ILIAS/LTIConsumer/classes/class.ilLTIConsumeProvider.php index 418ff34b66a6..c684a0bfcc17 100755 --- a/components/ILIAS/LTIConsumer/classes/class.ilLTIConsumeProvider.php +++ b/components/ILIAS/LTIConsumer/classes/class.ilLTIConsumeProvider.php @@ -174,6 +174,11 @@ public function __construct(?int $providerId = null) } } + private function preventClientIdInUrl(string $url): string + { + return preg_replace('/(\?|&)?client_id=[^&]*/', '', $url); + } + /** * Inits class static * @throws IOException @@ -255,12 +260,12 @@ public function setLogLevel(int $log_level): void public function getProviderUrl(): string { - return $this->provider_url; + return $this->preventClientIdInUrl($this->provider_url); } public function setProviderUrl(string $provider_url): void { - $this->provider_url = $provider_url; + $this->provider_url = $this->preventClientIdInUrl($provider_url); } public function getProviderKey(): string @@ -737,22 +742,22 @@ public function setPublicKeyset(string $public_keyset): void public function getInitiateLogin(): string { - return $this->initiate_login; + return $this->preventClientIdInUrl($this->initiate_login); } public function setInitiateLogin(string $initiate_login): void { - $this->initiate_login = $initiate_login; + $this->initiate_login = $this->preventClientIdInUrl($initiate_login); } public function getRedirectionUris(): string { - return $this->redirection_uris; + return $this->preventClientIdInUrl($this->redirection_uris); } public function setRedirectionUris(string $redirection_uris): void { - $this->redirection_uris = $redirection_uris; + $this->redirection_uris = $this->preventClientIdInUrl($redirection_uris); } public function isContentItem(): bool @@ -767,12 +772,12 @@ public function setContentItem(bool $content_item): void public function getContentItemUrl(): string { - return $this->content_item_url; + return $this->preventClientIdInUrl($this->content_item_url); } public function setContentItemUrl(string $content_item_url): void { - $this->content_item_url = $content_item_url; + $this->content_item_url = $this->preventClientIdInUrl($content_item_url); } public function isGradeSynchronization(): bool @@ -990,6 +995,7 @@ public function insert(): void */ protected function getInsertUpdateFields(): array { + // dump($this->getProviderUrl());exit(); return array( 'id' => array('integer', $this->getId()), 'title' => array('text', $this->getTitle()), diff --git a/components/ILIAS/LTIConsumer/classes/class.ilLTIConsumeProviderFormGUI.php b/components/ILIAS/LTIConsumer/classes/class.ilLTIConsumeProviderFormGUI.php index 84c927326d4b..b9903c81634a 100755 --- a/components/ILIAS/LTIConsumer/classes/class.ilLTIConsumeProviderFormGUI.php +++ b/components/ILIAS/LTIConsumer/classes/class.ilLTIConsumeProviderFormGUI.php @@ -59,7 +59,8 @@ public function setAdminContext(bool $adminContext): void public function initForm(string $formaction, string $saveCmd, string $cancelCmd): void { - global $DIC; /* @var \ILIAS\DI\Container $DIC */ + global $DIC; + /* @var \ILIAS\DI\Container $DIC */ $lng = $DIC->language(); $this->setFormAction($formaction); @@ -144,22 +145,22 @@ public function initForm(string $formaction, string $saveCmd, string $cancelCmd) //key_type $keyType = new ilRadioGroupInputGUI($lng->txt('lti_con_key_type'), 'key_type'); - $keyType->setRequired(false); + $keyType->setRequired(true); //RSA $keyRsa = new ilRadioOption($lng->txt('lti_con_key_type_rsa'), 'RSA_KEY'); $keyType->addOption($keyRsa); $publicKey = new ilTextAreaInputGUI($lng->txt('lti_con_key_type_rsa_public_key'), 'public_key'); $publicKey->setRows(6); $publicKey->setValue($this->provider->getPublicKey()); - $publicKey->setRequired(false); $publicKey->setInfo($lng->txt('lti_con_key_type_rsa_public_key_info')); + $publicKey->setRequired(true); $keyRsa->addSubItem($publicKey); //JWK $keyJwk = new ilRadioOption($lng->txt('lti_con_key_type_jwk'), 'JWK_KEYSET'); $keyType->addOption($keyJwk); $keyset = new ilTextInputGUI($lng->txt('lti_con_key_type_jwk_url'), 'public_keyset'); $keyset->setValue($this->provider->getPublicKeyset()); - $keyset->setRequired(false); + $keyset->setRequired(true); $keyJwk->addSubItem($keyset); $keyType->setValue($this->provider->getKeyType()); @@ -449,7 +450,8 @@ public function initForm(string $formaction, string $saveCmd, string $cancelCmd) public function initToolConfigForm(string $formaction, string $saveCmd, string $cancelCmd): void { - global $DIC; /* @var \ILIAS\DI\Container $DIC */ + global $DIC; + /* @var \ILIAS\DI\Container $DIC */ $lng = $DIC->language(); $this->setFormAction($formaction); @@ -930,7 +932,8 @@ public function initProvider(ilLTIConsumeProvider $provider): void public function initDynRegForm(string $formaction): void { - global $DIC; /* @var \ILIAS\DI\Container $DIC */ + global $DIC; + /* @var \ILIAS\DI\Container $DIC */ $lng = $DIC->language(); $this->setFormAction($formaction); $this->clearCommandButtons(); @@ -971,8 +974,8 @@ public function getDynRegRequest(): string if (!empty($customParams)) { $regUrl .= "&custom_params=" . urlencode($customParams); } - $showToolConfigUrl = $DIC->ctrl()->getLinkTargetByClass([ilRepositoryGUI::class,ilObjLTIConsumerGUI::class], 'showToolConfig'); - $regErrorUrl = $DIC->ctrl()->getLinkTargetByClass([ilRepositoryGUI::class,ilObjLTIConsumerGUI::class], 'addDynReg'); + $showToolConfigUrl = $DIC->ctrl()->getLinkTargetByClass([ilRepositoryGUI::class, ilObjLTIConsumerGUI::class], 'showToolConfig'); + $regErrorUrl = $DIC->ctrl()->getLinkTargetByClass([ilRepositoryGUI::class, ilObjLTIConsumerGUI::class], 'addDynReg'); $this->getItemByPostVar('lti_dyn_reg_url')->setDisabled(true); $this->getItemByPostVar('lti_dyn_reg_custom_params')->setDisabled(true); $this->clearCommandButtons(); @@ -990,7 +993,8 @@ public function getDynRegRequest(): string public function getDynRegError(): string { - global $DIC; /* @var \ILIAS\DI\Container $DIC */ + global $DIC; + /* @var \ILIAS\DI\Container $DIC */ $lng = $DIC->language(); $this->removeItemByPostVar('lti_dyn_reg_url'); $this->removeItemByPostVar('lti_dyn_reg_custom_params'); diff --git a/components/ILIAS/LTIConsumer/classes/class.ilLTIConsumeProviderSettingsGUI.php b/components/ILIAS/LTIConsumer/classes/class.ilLTIConsumeProviderSettingsGUI.php index 7026cbaa9525..db0bfa1cd830 100755 --- a/components/ILIAS/LTIConsumer/classes/class.ilLTIConsumeProviderSettingsGUI.php +++ b/components/ILIAS/LTIConsumer/classes/class.ilLTIConsumeProviderSettingsGUI.php @@ -99,6 +99,16 @@ protected function saveSettingsCmd(): void $this->showSettingsCmd($form); } + private function getClientIdFromProviderUrl(string $providerUrl): string + { + $res = ""; + $first = explode(".", $providerUrl)[0]; + $secondSplit = explode("//", $first); + if (count($secondSplit) > 1) { + $res = $secondSplit[1]; + } + return $res; + } /** * @throws ilMDServicesException @@ -130,7 +140,6 @@ public function initMetadata(\ilObject $object): void protected function buildForm(ilLTIConsumeProvider $provider): ilLTIConsumeProviderFormGUI { global $DIC; /* @var \ILIAS\DI\Container $DIC */ - $form = new ilLTIConsumeProviderFormGUI($provider); $form->initForm( $DIC->ctrl()->getFormAction($this), diff --git a/components/ILIAS/LTIConsumer/classes/class.ilLTIConsumerContentGUI.php b/components/ILIAS/LTIConsumer/classes/class.ilLTIConsumerContentGUI.php index da8cfcf03657..cdceb858ab45 100755 --- a/components/ILIAS/LTIConsumer/classes/class.ilLTIConsumerContentGUI.php +++ b/components/ILIAS/LTIConsumer/classes/class.ilLTIConsumerContentGUI.php @@ -65,6 +65,17 @@ public function executeCommand(): void $this->{$command}(); } + public function getJwtForContentSelection(string $redirectUri, string $clientId, int $deploymentId, string $nonce, ?array $additionalArguments = null): string + { + $jwt = ""; + $this->initCmixUser(); + $jwtArray = $this->getLaunchParametersLTI13($redirectUri, $clientId, $deploymentId, $nonce, $additionalArguments); + if (isset($jwtArray['id_token'])) { + $jwt = $jwtArray['id_token']; + } + return $jwt; + } + /** * @throws ilCtrlException * @throws ilTemplateException @@ -83,7 +94,6 @@ protected function launch(): void $this->dic->toolbar()->addText($this->getStartButtonTxt11()); } } else { - if ($this->object->isLaunchMethodEmbedded() && (ilSession::get('lti13_login_data') == null)) { $tpl = new ilTemplate('tpl.lti_content.html', true, true, 'components/ILIAS/LTIConsumer'); $tpl->setVariable("EMBEDDED_IFRAME_SRC", $this->dic->ctrl()->getLinkTarget( @@ -258,7 +268,6 @@ function ltilaunch() { document.getElementById("lti_launch_form").style.display = "none"; document.getElementById("lti_launched").style.display = "inline"; }'; - //dump($output);exit(); return($output); } @@ -355,7 +364,7 @@ protected function getLaunchParameters(): array ); } - protected function getLaunchParametersLTI13(string $endpoint, string $clientId, int $deploymentId, string $nonce): ?array + protected function getLaunchParametersLTI13(string $endpoint, string $clientId, int $deploymentId, string $nonce, ?array $additionalArguments = null): ?array { $ilLTIConsumerLaunch = new ilLTIConsumerLaunch($this->object->getRefId()); $launchContext = $ilLTIConsumerLaunch->getContext(); @@ -369,6 +378,11 @@ protected function getLaunchParametersLTI13(string $endpoint, string $clientId, $this->object->getRefId(), $this->object->getId() ); + $returnUrl = !$this->object->isLaunchMethodOwnWin() ? '' : str_replace( + '&', + '&', + ilObjLTIConsumer::getIliasHttpPath() . "/" . $this->dic->ctrl()->getLinkTarget($this, "", "", false) + ); $cmixUser = $this->cmixUser; return $this->object->buildLaunchParametersLTI13( @@ -380,7 +394,9 @@ protected function getLaunchParametersLTI13(string $endpoint, string $clientId, $nonce, $launchContextType, $launchContextId, - $launchContextTitle + $launchContextTitle, + $returnUrl, + $additionalArguments ); } @@ -440,7 +456,7 @@ private function validateLTI13InitalLogin(array $loginData): ?string } if ($ok) { list($ref_id, $ilias_client_id) = explode(':', ilSession::get('lti_message_hint'), 2); - if ((int) $this->object->getRefId() !== (int) $ref_id) { + if ((int)$this->object->getRefId() !== (int) $ref_id) { $ok = false; $error = 'invalid_request'; } diff --git a/components/ILIAS/LTIConsumer/classes/class.ilLTIConsumerResult.php b/components/ILIAS/LTIConsumer/classes/class.ilLTIConsumerResult.php index 4d2cff2f57eb..2fcb38d7105b 100755 --- a/components/ILIAS/LTIConsumer/classes/class.ilLTIConsumerResult.php +++ b/components/ILIAS/LTIConsumer/classes/class.ilLTIConsumerResult.php @@ -48,6 +48,11 @@ class ilLTIConsumerResult */ public ?float $result = null; + /** + * @var bool + */ + public bool $attended = false; + /** * Get a result by id */ @@ -110,6 +115,7 @@ protected function fillData(array $data): void $this->obj_id = (int) $data['obj_id']; $this->usr_id = (int) $data['usr_id']; $this->result = $data['result'] == null ? null : (float) $data['result']; + $this->attended = (bool) $data['attended']; } /** @@ -142,7 +148,8 @@ public function save(): bool array( 'obj_id' => array('integer', $this->obj_id), 'usr_id' => array('integer', $this->usr_id), - 'result' => array('float', $this->result) + 'result' => array('float', $this->result), + 'attended' => array('integer', $this->attended) ) ); return true; @@ -168,6 +175,16 @@ public function getResult(): ?float return $this->result; } + public function isAttended(): bool + { + return $this->attended; + } + + public function setAttended(bool $attended): void + { + $this->attended = $attended; + } + /** * @param $objId * @return ilLTIConsumerResult[] diff --git a/components/ILIAS/LTIConsumer/classes/class.ilLTIConsumerResultService.php b/components/ILIAS/LTIConsumer/classes/class.ilLTIConsumerResultService.php index bbcba21c0cf3..56e906ecfb53 100755 --- a/components/ILIAS/LTIConsumer/classes/class.ilLTIConsumerResultService.php +++ b/components/ILIAS/LTIConsumer/classes/class.ilLTIConsumerResultService.php @@ -21,6 +21,7 @@ use ceLTIc\LTI\OAuth\OAuthRequest; use ceLTIc\LTI\OAuth\OAuthServer; use ceLTIc\LTI\OAuth\OAuthSignatureMethod_HMAC_SHA1; +use ceLTIc\LTI\OAuth\OAuthUtil; use ceLTIc\LTI\OAuthDataStore; /** @@ -137,10 +138,12 @@ public function handleRequest(): void // Verify the signature $this->readFields($this->result->obj_id); - $result = $this->checkSignature($this->fields['KEY'], $this->fields['SECRET']); - if ($result instanceof Exception) { - $logger->error('LTI Consumer Result Service: Incoming request'); - $this->respondUnauthorized($result->getMessage()); + try { + $this->checkSignature($this->fields['KEY'], $this->fields['SECRET']); + } catch (Exception $e) { + $logger->error('LTI Consumer Result Service: Incoming request failed: ' . $e->getMessage()); + $logger->debug('Incoming request failed: ' . $e->getTraceAsString()); + $this->respondUnauthorized(); return; } @@ -206,12 +209,13 @@ protected function replaceResult(\SimpleXMLElement $request): void $description = "The result is out of range from 0 to 1."; } else { $this->result->result = (float) $result; + $this->result->setAttended(true); $this->result->save(); if ($result >= $this->getMasteryScore()) { $lp_status = ilLPStatus::LP_STATUS_COMPLETED_NUM; } else { - $lp_status = ilLPStatus::LP_STATUS_IN_PROGRESS_NUM; + $lp_status = ilLPStatus::LP_STATUS_FAILED_NUM; } $lp_percentage = (int) round(100 * $result); @@ -241,9 +245,10 @@ protected function replaceResult(\SimpleXMLElement $request): void protected function deleteResult(\SimpleXMLElement $request): void { $this->result->result = null; + $this->result->setAttended(false); $this->result->save(); - $lp_status = ilLPStatus::LP_STATUS_IN_PROGRESS_NUM; + $lp_status = ilLPStatus::LP_STATUS_NOT_ATTEMPTED_NUM; $lp_percentage = 0; ilLPStatus::writeStatus($this->result->obj_id, $this->result->usr_id, $lp_status, $lp_percentage, true); @@ -363,7 +368,7 @@ private function readFields(int $a_obj_id): void $query = " SELECT lti_ext_provider.provider_key, lti_ext_provider.provider_secret, lti_consumer_settings.launch_key, lti_consumer_settings.launch_secret - FROM lti_ext_provider, lti_consumer_settings + FROM lti_ext_provider, lti_consumer_settings WHERE lti_ext_provider.id = lti_consumer_settings.provider_id AND lti_consumer_settings.obj_id = %s "; @@ -385,30 +390,34 @@ private function readFields(int $a_obj_id): void } /** - * Check the reqest signature - * @return bool Exception or true + * Check the request signature + * @throws Exception in case of failure */ - private function checkSignature(string $a_key, string $a_secret): bool + private function checkSignature(string $a_key, string $a_secret): void { + global $DIC; + $logger = $DIC->logger()->root(); $platform = new ilLTIPlatform(); $platform->setKey($a_key); $platform->setSecret($a_secret); + $platform->setRecordId($this->result->obj_id); $store = new OAuthDataStore($platform); $server = new OAuthServer($store); $method = new OAuthSignatureMethod_HMAC_SHA1(); - $server->add_signature_method($method); - $request = OAuthRequest::from_request(); + $server->add_signature_method($method); + $logger->info("s_key: " . $a_key . " s_secret: " . $a_secret . " platform key: " . $platform->getKey()); - try { - $server->verify_request($request); - } catch (Exception $e) { - return false; + $request_headers = OAuthUtil::get_headers(); + if (isset($request_headers['Authorization']) && str_starts_with($request_headers['Authorization'], 'OAuth ')) { + $parameters = OAuthUtil::split_header($request_headers['Authorization']); } - return true; + $request = OAuthRequest::from_request(null, null, $parameters ?? []); + $logger->info("Request: " . json_encode($request)); + $server->verify_request($request); } protected function updateLP(): void diff --git a/components/ILIAS/LTIConsumer/classes/class.ilLTIConsumerSettingsFormGUI.php b/components/ILIAS/LTIConsumer/classes/class.ilLTIConsumerSettingsFormGUI.php index 2bf406fc06b6..3bc7797ad092 100755 --- a/components/ILIAS/LTIConsumer/classes/class.ilLTIConsumerSettingsFormGUI.php +++ b/components/ILIAS/LTIConsumer/classes/class.ilLTIConsumerSettingsFormGUI.php @@ -143,7 +143,7 @@ protected function initForm(string $formaction, string $saveCommand, string $can $item->addOption($optEmbedded); $this->addItem($item); - $customParams = new ilTextAreaInputGUI($DIC->language()->txt('launch_custom_params'), 'custom_params'); + $customParams = new ilTextAreaInputGUI($DIC->language()->txt('lti_con_prov_custom_params'), 'custom_params'); $customParams->setRows(6); $customParams->setValue($this->object->getCustomParams()); $customParams->setInfo($DIC->language()->txt('lti_con_prov_custom_params_info')); diff --git a/components/ILIAS/LTIConsumer/classes/class.ilObjLTIConsumer.php b/components/ILIAS/LTIConsumer/classes/class.ilObjLTIConsumer.php index 081a00fd8643..e091a93ad815 100755 --- a/components/ILIAS/LTIConsumer/classes/class.ilObjLTIConsumer.php +++ b/components/ILIAS/LTIConsumer/classes/class.ilObjLTIConsumer.php @@ -106,6 +106,24 @@ public function __construct(int $a_id = 0, bool $a_reference = true) parent::__construct($a_id, $a_reference); } + public static function getRefIdOfConsumerByDeploymentId(string $dep_id): int + { + global $ilDB; + $refId = null; + $refIds = array(); + $query = /** @lang text */ + 'SELECT ref_id from lti_consumer_settings join object_reference on lti_consumer_settings.obj_id=object_reference.obj_id where provider_id = ' . $dep_id; + $res = $ilDB->query($query); + while ($row = $res->fetchRow(ilDBConstants::FETCHMODE_OBJECT)) { + $refIds[] = $row->ref_id; + } + + if (!empty($refIds)) { + $refId = $refIds[0]; + } + return $refId; + } + protected function initType(): void { $this->type = "lti"; @@ -749,7 +767,6 @@ public function buildLaunchParameters( "lis_person_name_full" => $nameFull, "lis_person_contact_email_primary" => $emailPrimary, "context_id" => $contextId, - "context_type" => $contextType, "context_title" => $contextTitle, "context_label" => $contextType . " " . $contextId, "launch_presentation_locale" => $this->lng->getLangKey(), @@ -772,8 +789,7 @@ public function buildLaunchParameters( "tool_consumer_info_version" => ILIAS_VERSION, "lis_result_sourcedid" => $token, "lis_outcome_service_url" => self::getIliasHttpPath( - ) . "/ltiresult.php?client_id=" . CLIENT_ID, - "role_scope_mentor" => "" + ) . "/ltiresult.php?client_id=" . CLIENT_ID ]; $OAuthParams = [ @@ -804,7 +820,8 @@ public function buildLaunchParametersLTI13( string $contextType, string $contextId, string $contextTitle, - ?string $returnUrl = '' + ?string $returnUrl = '', + ?array $additionalArguments = null ): ?array { global $DIC; /* @var \ILIAS\DI\Container $DIC */ @@ -865,7 +882,7 @@ public function buildLaunchParametersLTI13( } $toolConsumerInstanceGuid .= $parseIliasUrl["host"]; $launch_vars = [ - "lti_message_type" => "basic-lti-launch-request", + "lti_message_type" => "LtiResourceLinkRequest", "lti_version" => "1.3.0", "resource_link_id" => (string) $resource_link_id, "resource_link_title" => $this->getTitle(), @@ -898,11 +915,7 @@ public function buildLaunchParametersLTI13( "tool_consumer_instance_contact_email" => $DIC->settings()->get("admin_email"), "launch_presentation_css_url" => "", "tool_consumer_info_product_family_code" => "ilias", - "tool_consumer_info_version" => ILIAS_VERSION, - "lis_result_sourcedid" => $token, - "lis_outcome_service_url" => self::getIliasHttpPath( - ) . "/ltiresult.php?client_id=" . CLIENT_ID, - "role_scope_mentor" => "" + "tool_consumer_info_version" => ILIAS_VERSION ]; $provider_custom_params = self::getProviderCustomParamsArray($this->getProvider()); @@ -912,15 +925,16 @@ public function buildLaunchParametersLTI13( $launch_vars['custom_' . $key] = $value; } - if ($this->getProvider()->isGradeSynchronization()) { + if ($this->getProvider()->isGradeSynchronization() || $this->getProvider()->getHasOutcome()) { $gradeservice = new ilLTIConsumerGradeService(); $launch_vars['custom_lineitem_url'] = self::getIliasHttpPath( ) . "/ltiservices.php/gradeservice/" . $contextId . "/lineitems/" . $this->id . "/lineitem"; // ! Moodle as tool provider requires a custom_lineitems_url even though this should be optional in launch request, especially if only posting score scope is permitted by platform // http://www.imsglobal.org/spec/lti-ags/v2p0#example-link-has-a-single-line-item-tool-can-only-post-score - $launch_vars['custom_lineitems_url'] = self::getIliasHttpPath( - ) . "/ltiservices.php/gradeservice/" . $contextId . "/linetitems/"; + + $launch_vars['custom_lineitems_url'] = self::getIliasHttpPath() + . "/ltiservices.php/gradeservice/" . $contextId . "/lineitems/"; $launch_vars['custom_ags_scopes'] = implode(",", $gradeservice->getPermittedScopes()); } @@ -929,7 +943,7 @@ public function buildLaunchParametersLTI13( $DIC->ui()->mainTemplate()->setOnScreenMessage('failure', 'ERROR_OPEN_SSL_CONF', true); return null; } - return self::LTISignJWT($launch_vars, $endpoint, $clientId, $deploymentId, $nonce); + return self::LTISignJWT($launch_vars, $endpoint, $clientId, $deploymentId, $nonce, $additionalArguments); } /** @@ -1046,7 +1060,8 @@ public static function LTISignJWT( string $endpoint, string $oAuthConsumerKey, $typeId = 0, - string $nonce = '' + string $nonce = '', + ?array $additionalPayload = null, ): array { if (empty($typeId)) { $typeId = 0; @@ -1089,6 +1104,28 @@ public static function LTISignJWT( $payLoad[self::LTI_JWT_CLAIM_PREFIX . '/claim/target_link_uri'] = $endpoint; } + if (!empty($parms['custom_lineitem_url']) || !empty($parms['custom_lineitems_url']) || !empty($parms['custom_ags_scopes'])) { + $ags_claim = []; + + if (!empty($parms['custom_lineitem_url'])) { + $ags_claim['lineitem'] = $parms['custom_lineitem_url']; + } + if (!empty($parms['custom_lineitems_url'])) { + $ags_claim['lineitems'] = $parms['custom_lineitems_url']; + } + if (!empty($parms['custom_ags_scopes'])) { + // scopes are comma-separated in launch_vars + $ags_claim['scope'] = array_values(array_filter(array_map('trim', explode(',', $parms['custom_ags_scopes'])))); + } + + if (!empty($ags_claim)) { + $payLoad['https://purl.imsglobal.org/spec/lti-ags/claim/endpoint'] = $ags_claim; + } + + // prevent them from also being added to custom/claim/custom later + unset($parms['custom_lineitem_url'], $parms['custom_lineitems_url'], $parms['custom_ags_scopes']); + } + foreach ($parms as $key => $value) { $claim = self::LTI_JWT_CLAIM_PREFIX; if (array_key_exists($key, $claimMapping)) { @@ -1118,11 +1155,13 @@ public static function LTISignJWT( $payLoad["{$claim}/claim/ext"][substr($key, 4)] = $value; } } - //self::getLogger()->debug(json_encode($payLoad,JSON_PRETTY_PRINT)); if (!empty(self::verifyPrivateKey())) { throw new DomainException(self::ERROR_OPEN_SSL_CONF); } $privateKey = self::getPrivateKey(); + if (isset($additionalPayload)) { + $payLoad = array_merge($payLoad, $additionalPayload); + } $jwt = Firebase\JWT\JWT::encode($payLoad, $privateKey['key'], 'RS256', $privateKey['kid']); $newParms = array(); $newParms['id_token'] = $jwt; @@ -1321,7 +1360,11 @@ public static function registerClient(array $data, object $tokenObj): array $reponseData = $data; $provider = new ilLTIConsumeProvider(); $toolConfig = $data['https://purl.imsglobal.org/spec/lti-tool-configuration']; - $provider->setTitle(strip_tags($data['client_name'], ilObjectGUI::ALLOWED_TAGS_IN_TITLE_AND_DESCRIPTION)); + $provider->setTitle( + $DIC->refinery()->encode()->htmlSpecialCharsAsEntities()->transform( + $data['client_name'] + ) + ); $provider->setProviderUrl($toolConfig['target_link_uri']); $provider->setInitiateLogin($data['initiate_login_uri']); $provider->setRedirectionUris(implode(",", $data['redirect_uris'])); @@ -1403,7 +1446,7 @@ public static function getRawData(): ?string return file_get_contents('php://input'); } - public static function getTokenObject(string $token): ?object + public static function getTokenObject(string $token): ?stdClass { try { $keys = JWK::parseKeySet(self::getJwks()); @@ -1420,6 +1463,8 @@ public static function verifyToken(): ?object if (count($auth) < 1) { self::sendResponseError(405, "missing Authorization header"); } + $logger = $DIC->logger()->root(); + $logger->info("Verifying token: " . json_encode($auth) . " HEADER: " . json_encode($DIC->http()->request()->getHeaders()) . " REQUEST getParsedBody: " . json_encode($DIC->http()->request()->getParsedBody()) . " REQUEST getParsedBody" . json_encode($DIC->http()->request()->getQueryParams())); preg_match('/Bearer\s+(.+)$/i', $auth[0], $matches); if (count($matches) != 2) { self::sendResponseError(405, "missing required Authorization Baerer token"); diff --git a/components/ILIAS/LTIConsumer/classes/class.ilObjLTIConsumerGUI.php b/components/ILIAS/LTIConsumer/classes/class.ilObjLTIConsumerGUI.php index e96caf99bb53..9032f4e194f4 100755 --- a/components/ILIAS/LTIConsumer/classes/class.ilObjLTIConsumerGUI.php +++ b/components/ILIAS/LTIConsumer/classes/class.ilObjLTIConsumerGUI.php @@ -685,9 +685,7 @@ public function executeCommand(): void { global $DIC; /* @var \ILIAS\DI\Container $DIC */ - // TODO: general access checks (!) - if (!ilLTIConsumerContentGUI::isEmbeddedLaunchRequest()) { $this->prepareOutput(); $this->addHeaderAction(); diff --git a/components/ILIAS/LTIConsumer/resources/ltiauth.php b/components/ILIAS/LTIConsumer/resources/ltiauth.php index 5c15cf3ac0a1..c846c9328eff 100644 --- a/components/ILIAS/LTIConsumer/resources/ltiauth.php +++ b/components/ILIAS/LTIConsumer/resources/ltiauth.php @@ -18,14 +18,22 @@ declare(strict_types=1); -/** @noRector */ -require_once("../vendor/composer/vendor/autoload.php"); - /** * There is no way to process a $_GET Request with * a valid third-party client_id param in regular initILIAS */ + +function sanitizeJson(string $string) +{ + $string = preg_replace('/(\w+):(\w+)/', '"$1":"$2"', $string); + $string = str_replace("'", '"', $string); + $string = str_replace('{', '{', $string); + $string = str_replace('}', '}', $string); + return json_decode($string, true); +} + + if (strtoupper($_SERVER['REQUEST_METHOD']) == 'POST') { $orig = new ArrayObject($_POST); $data = $orig->getArrayCopy(); @@ -43,48 +51,91 @@ exit; } -ilInitialisation::initILIAS(); +require_once '../vendor/composer/vendor/autoload.php'; +require_once __DIR__ . '/../artifacts/bootstrap_default.php'; +entry_point('ILIAS Legacy Initialisation Adapter'); global $DIC; +$scope = $data['scope'] ?? ''; +$responseType = $data['response_type'] ?? ''; +$redirectUri = $data['redirect_uri'] ?? ''; +$clientId = $data['client_id'] ?? $data['id'] ?? ''; +$state = $data['state'] ?? ''; +$nonce = $data['nonce'] ?? ''; +$ltiMessageHint = $data['lti_message_hint'] ?? ''; +$loginHint = $data['login_hint'] ?? ''; + +$isDlMode = false; +$hint = null; +$deploymentId = null; +$provider_id = 0; +$childRefId = 0; +$refId = 0; + +if ( + $scope === 'openid' && + $responseType === 'id_token' && + $redirectUri !== '' && + $clientId !== '' +) { + $provider_id = ilLTIConsumeProvider::getProviderIdFromClientId($clientId); + $provider = ilLTIConsumeProvider::getInstance($provider_id); + + $hint = sanitizeJson($ltiMessageHint); + if ($provider->getContentItemUrl() == $redirectUri && isset($hint['deployment_id'])) { + + $isDlMode = true; + $deploymentId = (int)$hint['deployment_id']; + $ownerId = ilObjectFactory::getInstanceByRefId(224)->getOwner(); + $childRefId = ilObjLTIConsumer::getRefIdOfConsumerByDeploymentId((string)$deploymentId); + $refId = $DIC->repositoryTree()->getParentId($childRefId); + } + +} -$ltiMessageHint = $data['lti_message_hint']; if (empty($ltiMessageHint)) { $DIC->http()->saveResponse( - $DIC->http()->response() - ->withStatus(400) + $DIC->http()->response()->withStatus(400) ); - try { - $DIC->http()->sendResponse(); - $DIC->http()->close(); - } catch (\ILIAS\HTTP\Response\Sender\ResponseSendingException $e) { - $DIC->http()->close(); - } + $DIC->http()->sendResponse(); + $DIC->http()->close(); + exit; } -$mh = explode(":", $ltiMessageHint); + +$parts = explode(":", $ltiMessageHint); $isContentSelection = false; $ref_id = ''; -$client_id = ''; +$il_client_id = ''; $redirect_uri = ''; -if (count($mh) == 2) { // launch message auth - list($ref_id, $client_id) = explode(":", $ltiMessageHint); -} else { // contentSelection message auth +if (count($parts) === 2) { + [$ref_id, $il_client_id] = $parts; +} elseif (count($parts) === 3) { + [$first, $second, $third] = $parts; + $il_client_id = $third; + $ref_id = explode(",", $second)[0]; +} else { $isContentSelection = true; - list($ref_id, $client_id, $redirect_uri) = explode(":", $ltiMessageHint); + [$ref_id, $il_client_id, $redirect_uri] = $parts; } ilSession::set('lti13_login_data', $data); + if ($isContentSelection) { $url = "../../../" . base64_decode($redirect_uri); } else { - $url = "../../../goto.php?target=lti_" . $ref_id . "&client_id=" . $client_id; + $url = "../../../goto.php?target=lti_" . $ref_id . "&client_id=" . $il_client_id; +} +if (!$DIC->http()->wrapper()->query()->has("prompt")) { + dump("kjbvi"); + exit(); } - $DIC->http()->saveResponse( $DIC->http()->response() - ->withStatus(302) - ->withAddedHeader('Location', $url) + ->withStatus(302) + ->withAddedHeader('Location', $url) ); + try { $DIC->http()->sendResponse(); $DIC->http()->close(); diff --git a/components/ILIAS/LTIConsumer/resources/lticerts.php b/components/ILIAS/LTIConsumer/resources/lticerts.php index 17cf76bafa34..977dc98151aa 100644 --- a/components/ILIAS/LTIConsumer/resources/lticerts.php +++ b/components/ILIAS/LTIConsumer/resources/lticerts.php @@ -19,10 +19,11 @@ declare(strict_types=1); /** @noRector */ -require_once("../vendor/composer/vendor/autoload.php"); +require_once '../vendor/composer/vendor/autoload.php'; +require_once __DIR__ . '/../artifacts/bootstrap_default.php'; +entry_point('ILIAS Legacy Initialisation Adapter'); ilContext::init(ilContext::CONTEXT_SCORM); -ilInitialisation::initILIAS(); if (!empty(ilObjLTIConsumer::verifyPrivateKey())) { echo "ERROR_OPEN_SSL_CONF"; diff --git a/components/ILIAS/LTIConsumer/resources/lticonfig.php b/components/ILIAS/LTIConsumer/resources/lticonfig.php index 2bdb922e95b0..8d48894d1d95 100644 --- a/components/ILIAS/LTIConsumer/resources/lticonfig.php +++ b/components/ILIAS/LTIConsumer/resources/lticonfig.php @@ -19,9 +19,11 @@ declare(strict_types=1); /** @noRector */ -require_once("../vendor/composer/vendor/autoload.php"); +require_once '../vendor/composer/vendor/autoload.php'; +require_once __DIR__ . '/../artifacts/bootstrap_default.php'; +entry_point('ILIAS Legacy Initialisation Adapter'); ilContext::init(ilContext::CONTEXT_SCORM); -ilInitialisation::initILIAS(); + header('Content-Type: application/json; charset=utf-8'); echo json_encode(ilObjLTIConsumer::getOpenidConfig(), JSON_UNESCAPED_SLASHES | JSON_PRETTY_PRINT); diff --git a/components/ILIAS/LTIConsumer/resources/ltiregend.php b/components/ILIAS/LTIConsumer/resources/ltiregend.php index 4e35c59643be..cf45a3b90791 100644 --- a/components/ILIAS/LTIConsumer/resources/ltiregend.php +++ b/components/ILIAS/LTIConsumer/resources/ltiregend.php @@ -19,10 +19,10 @@ declare(strict_types=1); /** @noRector */ -require_once("../vendor/composer/vendor/autoload.php"); +require_once '../vendor/composer/vendor/autoload.php'; +require_once __DIR__ . '/../artifacts/bootstrap_default.php'; +entry_point('ILIAS Legacy Initialisation Adapter'); - -ilInitialisation::initILIAS(); $clientId = (ilSession::has('lti_dynamic_registration_client_id')) ? (string) ilSession::get('lti_dynamic_registration_client_id') : ''; $response = []; if (empty($clientId)) { diff --git a/components/ILIAS/LTIConsumer/resources/ltiregistration.php b/components/ILIAS/LTIConsumer/resources/ltiregistration.php index b7400a8d4b05..89bd307360cb 100644 --- a/components/ILIAS/LTIConsumer/resources/ltiregistration.php +++ b/components/ILIAS/LTIConsumer/resources/ltiregistration.php @@ -19,10 +19,11 @@ declare(strict_types=1); /** @noRector */ -require_once("../vendor/composer/vendor/autoload.php"); +require_once '../vendor/composer/vendor/autoload.php'; +require_once __DIR__ . '/../artifacts/bootstrap_default.php'; +entry_point('ILIAS Legacy Initialisation Adapter'); ilContext::init(ilContext::CONTEXT_SCORM); -ilInitialisation::initILIAS(); try { $token = ilObjLTIConsumer::verifyToken(); diff --git a/components/ILIAS/LTIConsumer/resources/ltiregstart.php b/components/ILIAS/LTIConsumer/resources/ltiregstart.php index 26bce8f9ab2b..e7cd895880ce 100644 --- a/components/ILIAS/LTIConsumer/resources/ltiregstart.php +++ b/components/ILIAS/LTIConsumer/resources/ltiregstart.php @@ -19,9 +19,10 @@ declare(strict_types=1); /** @noRector */ -require_once("../vendor/composer/vendor/autoload.php"); +require_once '../vendor/composer/vendor/autoload.php'; +require_once __DIR__ . '/../artifacts/bootstrap_default.php'; +entry_point('ILIAS Legacy Initialisation Adapter'); -ilInitialisation::initILIAS(); global $DIC; if (!$DIC->user()->getId() || !ilLTIConsumerAccess::hasCustomProviderCreationAccess()) { diff --git a/components/ILIAS/LTIConsumer/resources/ltiresult.php b/components/ILIAS/LTIConsumer/resources/ltiresult.php index 46bda047fdd8..b03bc622434f 100644 --- a/components/ILIAS/LTIConsumer/resources/ltiresult.php +++ b/components/ILIAS/LTIConsumer/resources/ltiresult.php @@ -18,7 +18,9 @@ declare(strict_types=1); -require_once("../vendor/composer/vendor/autoload.php"); +require_once '../vendor/composer/vendor/autoload.php'; +require_once __DIR__ . '/../artifacts/bootstrap_default.php'; +entry_point('ILIAS Legacy Initialisation Adapter'); if (!isset($_GET['client_id']) || !strlen($_GET['client_id'])) { $log = ilLoggerFactory::getLogger('lti'); @@ -28,7 +30,6 @@ } \ilContext::init(\ilContext::CONTEXT_SCORM); -\ilInitialisation::initILIAS(); $dic = $GLOBALS['DIC']; $log = ilLoggerFactory::getLogger('lti'); diff --git a/components/ILIAS/LTIConsumer/resources/ltiservices.php b/components/ILIAS/LTIConsumer/resources/ltiservices.php index 116a4ac29cbf..e6cf8113de42 100644 --- a/components/ILIAS/LTIConsumer/resources/ltiservices.php +++ b/components/ILIAS/LTIConsumer/resources/ltiservices.php @@ -20,10 +20,11 @@ /** @noRector */ -require_once("../vendor/composer/vendor/autoload.php"); +require_once '../vendor/composer/vendor/autoload.php'; +require_once __DIR__ . '/../artifacts/bootstrap_default.php'; +entry_point('ILIAS Legacy Initialisation Adapter'); ilContext::init(ilContext::CONTEXT_SCORM); -ilInitialisation::initILIAS(); global $DIC; diff --git a/components/ILIAS/LTIConsumer/resources/ltitoken.php b/components/ILIAS/LTIConsumer/resources/ltitoken.php index 31dffb3083d0..aaccf034fa1a 100644 --- a/components/ILIAS/LTIConsumer/resources/ltitoken.php +++ b/components/ILIAS/LTIConsumer/resources/ltitoken.php @@ -23,10 +23,11 @@ use Firebase\JWT\JWT; use Firebase\JWT\JWK; -require_once("../vendor/composer/vendor/autoload.php"); +require_once '../vendor/composer/vendor/autoload.php'; +require_once __DIR__ . '/../artifacts/bootstrap_default.php'; +entry_point('ILIAS Legacy Initialisation Adapter'); ilContext::init(ilContext::CONTEXT_SCORM); -ilInitialisation::initILIAS(); global $DIC; diff --git a/components/ILIAS/LTIProvider/classes/InternalProvider/class.ilAuthProviderLTI.php b/components/ILIAS/LTIProvider/classes/InternalProvider/class.ilAuthProviderLTI.php index 263946ff478a..90d81df38b71 100644 --- a/components/ILIAS/LTIProvider/classes/InternalProvider/class.ilAuthProviderLTI.php +++ b/components/ILIAS/LTIProvider/classes/InternalProvider/class.ilAuthProviderLTI.php @@ -83,7 +83,8 @@ public static function getActiveAuthModes(): array global $ilDB; // move to connector - $query = 'SELECT consumer_pk from lti2_consumer where enabled = ' . $ilDB->quote(1, 'integer'); + $query = /** @lang text */ + 'SELECT consumer_pk from lti2_consumer where enabled = ' . $ilDB->quote(1, 'integer'); $res = $ilDB->query($query); $sids = array(); @@ -101,7 +102,8 @@ public static function getAuthModes(): array global $ilDB; // move to connector - $query = 'SELECT distinct(consumer_pk) consumer_pk from lti2_consumer'; + $query = /** @lang text */ + 'SELECT distinct(consumer_pk) consumer_pk from lti2_consumer'; $res = $ilDB->query($query); $sids = array(); @@ -161,10 +163,11 @@ protected function findAuthKeyId(string $a_oauth_consumer_key): int { global $ilDB; - $query = 'SELECT consumer_pk from lti2_consumer where consumer_key = ' . $ilDB->quote( - $a_oauth_consumer_key, - 'text' - ); + $query = /** @lang text */ + 'SELECT consumer_pk from lti2_consumer where consumer_key = ' . $ilDB->quote( + $a_oauth_consumer_key, + 'text' + ); // $query = 'SELECT id from lti_ext_consumer where consumer_key = '.$ilDB->quote($a_oauth_consumer_key,'text'); $this->getLogger()->debug($query); $res = $ilDB->query($query); @@ -187,7 +190,8 @@ protected function findAuthPrefix(int $a_lti_id): string { global $ilDB; - $query = 'SELECT prefix from lti_ext_consumer where id = ' . $ilDB->quote($a_lti_id, 'integer'); + $query = /** @lang text */ + 'SELECT prefix from lti_ext_consumer where id = ' . $ilDB->quote($a_lti_id, 'integer'); $this->getLogger()->debug($query); $res = $ilDB->query($query); @@ -209,7 +213,8 @@ protected function findGlobalRole(int $a_lti_id): ?int { global $ilDB; - $query = 'SELECT role from lti_ext_consumer where id = ' . $ilDB->quote($a_lti_id, 'integer'); + $query = /** @lang text */ + 'SELECT role from lti_ext_consumer where id = ' . $ilDB->quote($a_lti_id, 'integer'); $this->getLogger()->debug($query); $res = $ilDB->query($query); @@ -240,6 +245,11 @@ public function doAuthentication(\ilAuthStatus $status): bool setcookie("launch_presentation_return_url", $this->launchReturnUrl, time() + 86400, "/", "", true, true); $this->logger->info("Setting launch_presentation_return_url in cookie storage " . $this->launchReturnUrl); } + $pk = ilObjLTIConsumer::getPrivateKey(); + + $lti_provider->rsaKey = $pk['key']; + $lti_provider->kid = $pk['kid']; + $lti_provider->signatureMethod = 'RS256'; $lti_provider->handleRequest(); $this->provider = $lti_provider; $this->messageParameters = $this->provider->getMessageParameters(); @@ -403,8 +413,8 @@ protected function updateUser(int $a_local_user_id, ilLTIPlatform $consumer): in $user_obj->setTimeLimitFrom(time() - 60); $user_obj->setTimeLimitUntil(time() + (int) $ilClientIniFile->readVariable("session", "expire")); } - $user_obj->refreshLogin(); $user_obj->update(); + $user_obj->refreshLogin(); $GLOBALS['DIC']->rbac()->admin()->assignUser($consumer->getRole(), $user_obj->getId()); $this->getLogger()->debug('Assigned user to: ' . $consumer->getRole()); @@ -431,76 +441,31 @@ protected function createUser(ilLTIPlatform $consumer): int // } $userObj = new ilObjUser(); $local_user = ilAuthUtils::_generateLogin($consumer->getPrefix() . '_' . $this->getCredentials()->getUsername()); - - $newUser["login"] = $local_user; + $userObj->setLogin($local_user); if (isset($this->messageParameters['lis_person_name_given'])) { - $newUser["firstname"] = $this->messageParameters['lis_person_name_given']; + $userObj->setFirstname($this->messageParameters['lis_person_name_given']); } else { - $newUser["firstname"] = '-'; + $userObj->setFirstname('-'); } if (isset($this->messageParameters['lis_person_name_family'])) { - $newUser["lastname"] = $this->messageParameters['lis_person_name_family']; + $userObj->setLastname($this->messageParameters['lis_person_name_family']); } else { - $newUser["lastname"] = '-'; + $userObj->setLastname('-'); } - $newUser['email'] = $this->messageParameters['lis_person_contact_email_primary']; + $userObj->setEmail($this->messageParameters['lis_person_contact_email_primary']); // set "plain md5" password (= no valid password) // $newUser["passwd"] = ""; - $newUser["passwd_type"] = ilObjUser::PASSWD_CRYPTED; + $userObj->setPasswd(ilObjUser::PASSWD_CRYPTED); - $newUser["auth_mode"] = 'lti_' . $consumer->getExtConsumerId(); - $newUser['ext_account'] = $this->getCredentials()->getUsername(); - $newUser["profile_incomplete"] = 0; + $userObj->setAuthMode('lti_' . $consumer->getExtConsumerId()); + $userObj->setExternalAccount($this->getCredentials()->getUsername()); + $userObj->setProfileIncomplete(false); // ILIAS 8 //check - $newUser["gender"] = 'n'; - $newUser["title"] = null; - $newUser["birthday"] = null; - $newUser["institution"] = null; - $newUser["department"] = null; - $newUser["street"] = null; - $newUser["city"] = null; - $newUser["zipcode"] = null; - $newUser["country"] = null; - $newUser["sel_country"] = null; - $newUser["phone_office"] = null; - $newUser["phone_home"] = null; - $newUser["phone_mobile"] = null; - $newUser["fax"] = null; - $newUser["matriculation"] = null; - $newUser["second_email"] = null; - $newUser["hobby"] = null; - $newUser["client_ip"] = null; - $newUser["passwd_salt"] = null;//$newUser->getPasswordSalt(); - $newUser["latitude"] = null; - $newUser["longitude"] = null; - $newUser["loc_zoom"] = null; - $newUser["last_login"] = null; - $newUser["first_login"] = null; - $newUser["last_profile_prompt"] = null; - $newUser["last_update"] = ilUtil::now(); - $newUser["create_date"] = ilUtil::now(); - $newUser["referral_comment"] = null; - $newUser["approve_date"] = null; - $newUser["agree_date"] = null; - $newUser["inactivation_date"] = null; - $newUser["time_limit_from"] = null; - $newUser["time_limit_until"] = null; - $newUser["is_self_registered"] = null; - //end to check - - $newUser["passwd_enc_type"] = ""; - $newUser["active"] = true; - $newUser["time_limit_owner"] = 7; - $newUser["time_limit_unlimited"] = 0; - $newUser["time_limit_message"] = 0; - $newUser["passwd"] = " "; - // $newUser["last_update"] - - // system data - $userObj->assignData($newUser); + $userObj->setGender('n'); + $userObj->setTitle($userObj->getFullname()); $userObj->setDescription($userObj->getEmail()); @@ -511,11 +476,12 @@ protected function createUser(ilLTIPlatform $consumer): int $userObj->setTimeLimitOwner(7); $userObj->setTimeLimitUnlimited(false); $userObj->setTimeLimitFrom(time() - 5); - // todo ? $userObj->setTimeLimitUntil(time() + (int) $ilClientIniFile->readVariable("session", "expire")); // Create user in DB $userObj->setOwner(6); + $tmp_date = new ilDateTime(time(), IL_CAL_UNIX); + $userObj->setAgreeDate($tmp_date->get(IL_CAL_DATETIME)); $userObj->create(); $userObj->setActive(true); // $userObj->updateOwner(); diff --git a/components/ILIAS/LTIProvider/classes/InternalProvider/class.ilLTIProviderObjectSettingGUI.php b/components/ILIAS/LTIProvider/classes/InternalProvider/class.ilLTIProviderObjectSettingGUI.php index 206a516df1f3..f9ec653e3b41 100644 --- a/components/ILIAS/LTIProvider/classes/InternalProvider/class.ilLTIProviderObjectSettingGUI.php +++ b/components/ILIAS/LTIProvider/classes/InternalProvider/class.ilLTIProviderObjectSettingGUI.php @@ -153,7 +153,6 @@ protected function settings(?ilPropertyFormGUI $form = null): void $this->tpl->setContent($form->getHTML()); } - /** * Init object settings form */ @@ -226,8 +225,12 @@ protected function initObjectSettingsForm(): \ilPropertyFormGUI $sh->setValue($this->lng->txt("lti_13_step1_info")); $op1->addSubItem($sh); $url = new ilNonEditableValueGUI($this->lng->txt('lti_launch_url'), 'url'); - $url->setValue(ILIAS_HTTP_PATH . '/lti.php?client_id=' . CLIENT_ID); + $url->setValue(ILIAS_HTTP_PATH . '/lti.php'); $op1->addSubItem($url); + + $urlJwks = new ilNonEditableValueGUI($this->lng->txt('lti_con_key_type_jwk'), $this->lng->txt('lti_con_key_type_jwk')); + $urlJwks->setValue(ILIAS_HTTP_PATH . '/lticerts.php'); + $op1->addSubItem($urlJwks); // $url = new ilNonEditableValueGUI($this->lng->txt('lti_13_initiate_url'), 'url'); // $url->setValue(ILIAS_HTTP_PATH . '/lti.php?client_id=' . CLIENT_ID); // $version->addSubItem($url); diff --git a/components/ILIAS/LTIProvider/classes/class.ilLTIAppEventListener.php b/components/ILIAS/LTIProvider/classes/class.ilLTIAppEventListener.php index b967220925f1..db243bd20d61 100644 --- a/components/ILIAS/LTIProvider/classes/class.ilLTIAppEventListener.php +++ b/components/ILIAS/LTIProvider/classes/class.ilLTIAppEventListener.php @@ -21,18 +21,19 @@ use ceLTIc\LTI\Enum\ServiceAction; use ceLTIc\LTI\Outcome; use ceLTIc\LTI\ResourceLink; +use ceLTIc\LTI\Tool; use ceLTIc\LTI\UserResult; /** * Class ilLTIAppEventListener */ -class ilLTIAppEventListener implements \ilAppEventListener +class ilLTIAppEventListener { - private static ?\ilLTIAppEventListener $instance = null; + private static ?ilLTIAppEventListener $instance = null; - private ?\ilLogger $logger = null; + private ?ilLogger $logger = null; - private ?\ilLTIDataConnector $connector = null; + private ?ilLTIDataConnector $connector = null; /** @@ -41,14 +42,13 @@ class ilLTIAppEventListener implements \ilAppEventListener protected function __construct() { global $DIC; - - $this->logger = ilLoggerFactory::getLogger('ltis'); + $this->logger = $DIC->logger()->root(); $this->connector = new ilLTIDataConnector(); } - protected static function getInstance(): \ilLTIAppEventListener + protected static function getInstance(): ilLTIAppEventListener { - if (!self::$instance instanceof \ilLTIAppEventListener) { + if (!self::$instance instanceof ilLTIAppEventListener) { self::$instance = new self(); } return self::$instance; @@ -80,7 +80,7 @@ protected function handleUpdateStatus(int $a_obj_id, int $a_usr_id, int $a_statu ); $this->logger->debug('Resources for update:'); - $this->logger->dump($resources, ilLogLevel::DEBUG); + $this->logger->debug("resources: " . json_encode($resources)); foreach ($resources as $resource) { $this->tryOutcomeService((int) $resource, $ext_account, $a_status, $a_percentage); @@ -177,8 +177,26 @@ protected function tryOutcomeService(int $resource, string $ext_account, int $a_ $score = 0; } } + $platform = $resource_link->getPlatform(); + + $platform->accessTokenUrl = $platform->accessTokenUrl + ?: $platform->getSetting('custom_oauth2_access_token_url') + ?: \ilObjLTIConsumer::getAccessTokenUrl(); + + $priv = \ilObjLTIConsumer::getPrivateKey(); + + $tool = new Tool(); + $tool->rsaKey = $priv['key']; + $tool->kid = $priv['kid']; + $tool->jku = \ilObjLTIConsumer::getPublicKeysetUrl(); + $tool->requiredScopes = [ + "https://purl.imsglobal.org/spec/lti-ags/scope/score", + "https://purl.imsglobal.org/spec/lti-ags/scope/result.readonly", + ]; + $tool->signatureMethod = $platform->signatureMethod; - $this->logger->info('Sending score: ' . (string) $score); + Tool::$defaultTool = $tool; + $tool->platform = $platform; $outcome = new Outcome((string) $score); @@ -192,13 +210,16 @@ protected function tryOutcomeService(int $resource, string $ext_account, int $a_ /** - * @inheritdoc + * Handle an event in a listener. + * @param string $a_component component, e.g. "components/ILIAS/Forum" or "components/ILIAS/User" + * @param string $a_event event e.g. "createUser", "updateUser", "deleteUser", ... + * @param array $a_parameter parameter array (assoc), array("name" => ..., "phone_office" => ...) */ public static function handleEvent(string $a_component, string $a_event, array $a_parameter): void { - $logger = ilLoggerFactory::getLogger('ltis'); + global $DIC; + $logger = $DIC->logger()->root(); $logger->info('Handling event: ' . $a_event . ' from ' . $a_component); - if ($a_component == 'components/ILIAS/Tracking') { if ($a_event == 'updateStatus') { $listener = self::getInstance(); diff --git a/components/ILIAS/LTIProvider/classes/class.ilLTICronOutcomeService.php b/components/ILIAS/LTIProvider/classes/class.ilLTICronOutcomeService.php index 0a67f37772b2..7c0d24b1fcd3 100644 --- a/components/ILIAS/LTIProvider/classes/class.ilLTICronOutcomeService.php +++ b/components/ILIAS/LTIProvider/classes/class.ilLTICronOutcomeService.php @@ -91,7 +91,7 @@ public function run(): JobResult $result = new \ILIAS\Cron\Job\JobResult(); $result->setStatus($status); - ilLTIAppEventListener::handleCronUpdate($since); + ilLTIProviderAppEventListener::handleCronUpdate($since); $result->setStatus(JobResult::STATUS_OK); return $result; diff --git a/components/ILIAS/LTIProvider/classes/class.ilLTIDataConnector.php b/components/ILIAS/LTIProvider/classes/class.ilLTIDataConnector.php index fee5f32e4dff..ac5e6e5e0b8a 100644 --- a/components/ILIAS/LTIProvider/classes/class.ilLTIDataConnector.php +++ b/components/ILIAS/LTIProvider/classes/class.ilLTIDataConnector.php @@ -517,6 +517,7 @@ public function saveToolConsumerILIAS(ilLTIPlatform $platform): bool { $ilDB = $this->database; + $signatureMethod = \ceLTIc\LTI\Enum\LtiVersion::V1P3 === $platform->ltiVersion ? "RS256" : "HMAC-SHA1"; $id = $platform->getRecordId(); $key = $platform->getKey(); $protected = ($platform->protected) ? 1 : 0; @@ -551,57 +552,59 @@ public function saveToolConsumerILIAS(ilLTIPlatform $platform): bool // $query = "INSERT INTO {$this->dbTableNamePrefix}" . $this->CONSUMER_TABLE_NAME . ' (consumer_key256, consumer_key, name, ' . $query = 'INSERT INTO lti2_consumer (consumer_key, name, ' . 'secret, lti_version, consumer_name, consumer_version, consumer_guid, profile, tool_proxy, settings, protected, enabled, ' . - 'enable_from, enable_until, last_access, created, updated, consumer_pk, ext_consumer_id, ref_id, platform_id, client_id, deployment_id, public_key) ' . - 'VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s)'; + 'enable_from, enable_until, last_access, created, updated, consumer_pk, ext_consumer_id, ref_id, platform_id, client_id, deployment_id, public_key, signature_method) ' . + 'VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s)'; $types = array("text", - "text", - "text", - "text", - "text", - "text", - "text", - "text", - "text", - "text", - "integer", - "integer", - "timestamp", - "timestamp", - "timestamp", - "timestamp", - "timestamp", - "integer", - 'integer', - 'integer', - "text", - "text", - "text", - "text" + "text", + "text", + "text", + "text", + "text", + "text", + "text", + "text", + "text", + "integer", + "integer", + "timestamp", + "timestamp", + "timestamp", + "timestamp", + "timestamp", + "integer", + 'integer', + 'integer', + "text", + "text", + "text", + "text", + "text" ); $values = array($key, - $platform->name, - $platform->secret, - $platform->ltiVersion->value, - $platform->consumerName, - $platform->consumerVersion, - $platform->consumerGuid, - $profile, - $platform->toolProxy, - $settingsValue, - $protected, - $enabled, - $from, - $until, - $last, - $now, - $now, - $id, - $platform->getExtConsumerId(), - $platform->getRefId(), - (string) $platform->platformId, - $platform->clientId, - $platform->deploymentId, - $platform->rsaKey + $platform->name, + $platform->secret, + $platform->ltiVersion->value, + $platform->consumerName, + $platform->consumerVersion, + $platform->consumerGuid, + $profile, + $platform->toolProxy, + $settingsValue, + $protected, + $enabled, + $from, + $until, + $last, + $now, + $now, + $id, + $platform->getExtConsumerId(), + $platform->getRefId(), + (string) $platform->platformId, + $platform->clientId, + $platform->deploymentId, + $platform->rsaKey, + $signatureMethod ); $ilDB->manipulateF($query, $types, $values); } else { @@ -612,51 +615,55 @@ public function saveToolConsumerILIAS(ilLTIPlatform $platform): bool 'secret= %s, lti_version = %s, consumer_name = %s, consumer_version = %s, consumer_guid = %s, ' . 'profile = %s, tool_proxy = %s, settings = %s, protected = %s, enabled = %s, ' . 'enable_from = %s, enable_until = %s, last_access = %s, updated = %s, ' . - 'platform_id = %s, client_id = %s, deployment_id = %s, public_key = %s ' . + 'platform_id = %s, client_id = %s, deployment_id = %s, public_key = %s, signature_method = %s ' . 'WHERE consumer_pk = %s'; $types = array("text", - "text", - "text", - "text", - "text", - "text", - "text", - "text", - "text", - "text", - "integer", - "integer", - "timestamp", - "timestamp", - "timestamp", - "timestamp", - "text", - "text", - "text", - "text", - "integer" + "text", + "text", + "text", + "text", + "text", + "text", + "text", + "text", + "text", + "integer", + "integer", + "timestamp", + "timestamp", + "timestamp", + "timestamp", + "text", + "text", + "text", + "text", + "text", + "integer" + ); $values = array($key, - $platform->name, - $platform->secret, - $platform->ltiVersion->value, - $platform->consumerName, - $platform->consumerVersion, - $platform->consumerGuid, - $profile, - $platform->toolProxy, - $settingsValue, - $protected, - $enabled, - $from, - $until, - $last, - $now, - $platform->platformId, - $platform->clientId, - $platform->deploymentId, - $platform->rsaKey, - $id + $platform->name, + $platform->secret, + $platform->ltiVersion->value, + $platform->consumerName, + $platform->consumerVersion, + $platform->consumerGuid, + $profile, + $platform->toolProxy, + $settingsValue, + $protected, + $enabled, + $from, + $until, + $last, + $now, + $platform->platformId, + $platform->clientId, + $platform->deploymentId, + $platform->rsaKey, + $signatureMethod, + $id + ); $ilDB->manipulateF($query, $types, $values); } @@ -1214,24 +1221,24 @@ public function saveResourceLink(ResourceLink $resourceLink): bool 'lti_resource_link_id, settings, primary_resource_link_pk, share_approved, created, updated) ' . 'VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s)'; $types = array("integer", - "integer", - "integer", - "text", - "text", - "integer", - "integer", - "timestamp", - "timestamp" + "integer", + "integer", + "text", + "text", + "integer", + "integer", + "timestamp", + "timestamp" ); $values = array($id, - $platformId, - $contextId, - $resourceLink->getId(), - $settingsValue, - $primaryResourceLinkId, - $approved, - $now, - $now + $platformId, + $contextId, + $resourceLink->getId(), + $settingsValue, + $primaryResourceLinkId, + $approved, + $now, + $now ); } elseif (!is_null($contextId)) { $query = "UPDATE {$this->dbTableNamePrefix}" . DataConnector::RESOURCE_LINK_TABLE_NAME . ' SET ' . @@ -1240,13 +1247,13 @@ public function saveResourceLink(ResourceLink $resourceLink): bool 'WHERE (context_pk = %s) AND (resource_link_pk = %s)'; $types = array("integer", "text", "text", "integer", "integer", "timestamp", "integer", "integer"); $values = array($platformId, - $resourceLink->getId(), - $settingsValue, - $primaryResourceLinkId, - $approved, - $now, - $contextId, - $id + $resourceLink->getId(), + $settingsValue, + $primaryResourceLinkId, + $approved, + $now, + $contextId, + $id ); } else { $query = "UPDATE {$this->dbTableNamePrefix}" . DataConnector::RESOURCE_LINK_TABLE_NAME . ' SET ' . @@ -1255,13 +1262,13 @@ public function saveResourceLink(ResourceLink $resourceLink): bool 'WHERE (consumer_pk = %s) AND (resource_link_pk = %s)'; $types = array("integer", "text", "text", "integer", "integer", "timestamp", "integer", "integer"); $values = array($contextId, - $resourceLink->getId(), - $settingsValue, - $primaryResourceLinkId, - $approved, - $now, - $platformId, - $id + $resourceLink->getId(), + $settingsValue, + $primaryResourceLinkId, + $approved, + $now, + $platformId, + $id ); } $ok = (bool) $ilDB->manipulateF($query, $types, $values); @@ -1692,7 +1699,7 @@ public function lookupResourcesForUserObjectRelation( int $a_ref_id, string $a_lti_user, int $a_ext_consumer, - ?ilDateTime $since = null + ilDateTime $since = null ): array { $db = $this->database; diff --git a/components/ILIAS/LTIProvider/classes/class.ilLTIProviderAppEventListener.php b/components/ILIAS/LTIProvider/classes/class.ilLTIProviderAppEventListener.php new file mode 100644 index 000000000000..1c15904e8d27 --- /dev/null +++ b/components/ILIAS/LTIProvider/classes/class.ilLTIProviderAppEventListener.php @@ -0,0 +1,192 @@ +logger = $DIC->logger()->root(); + $this->connector = new ilLTIDataConnector(); + } + + public static function handleCronUpdate(ilDateTime $since): bool + { + $listener = self::getInstance(); + $listener->doCronUpdate($since); + return true; + } + + protected static function getInstance(): ilLTIProviderAppEventListener + { + if (!self::$instance instanceof ilLTIProviderAppEventListener) { + self::$instance = new self(); + } + return self::$instance; + } + + protected function doCronUpdate(ilDateTime $since): void + { + $this->logger->info('Starting cron update for lti outcome service'); + + $resources = $this->connector->lookupResourcesForAllUsersSinceDate($since); + foreach ($resources as $consumer_ext_account => $user_resources) { + list($consumer, $ext_account) = explode('__', $consumer_ext_account, 2); + + $login = ilObjUser::_checkExternalAuthAccount('lti_' . $consumer, $ext_account); + if (!$login) { + $this->logger->info('No user found for lti_' . $consumer . ' -> ' . $ext_account); + continue; + } + $usr_id = ilObjUser::_lookupId($login); + foreach ($user_resources as $resource_info) { + list($resource_id, $resource_ref_id) = explode('__', $resource_info); + $this->logger->info('Found resource: ' . $resource_info . " for user: " . $usr_id . " resource_id: " . $resource_id . " resource_ref_id: " . $resource_ref_id); + + // lookup lp status + $status = ilLPStatus::_lookupStatus( + ilObject::_lookupObjId((int) $resource_ref_id), + $usr_id + ); + $percentage = ilLPStatus::_lookupPercentage( + ilObject::_lookupObjId((int) $resource_ref_id), + $usr_id + ); + $percentage = $this->definePercentageByObjectId($status, $resource_ref_id, $percentage); + $this->tryOutcomeService((int) $resource_id, $ext_account, $status, $percentage); + } + } + } + + protected function definePercentageByObjectId(int|null $status, string $obj_id, int|null $percentage): int + { + global $DIC; + $logger = $DIC->logger()->root(); + $logger->debug('definePercentageByObjectId'); + $indentifier = ilObjectFactory::getInstanceByRefId((int) $obj_id)->getType(); + $logger->info('Object type: ' . $indentifier . " for object id: " . $obj_id); + if (in_array($indentifier, ['crs', 'grp'])) { + if ($status == ilLPStatus::LP_STATUS_COMPLETED_NUM || $status == ilLPStatus::LP_STATUS_FAILED_NUM) { + $percentage = 100; + } + } + return $percentage; + } + + public static function handleEvent(string $a_component, string $a_event, array $a_parameter): void + { + global $DIC; + $logger = $DIC->logger()->root(); + $logger->info('Handling event: ' . $a_event . ' from ' . $a_component); + $logger->info("public static function handleEvent --- ilLTIProviderAppEventListener " . $a_event . ' from ' . $a_component); + if ($a_component == 'components/ILIAS/Tracking') { + if ($a_event == 'updateStatus') { + $listener = self::getInstance(); + $listener->handleUpdateStatus( + $a_parameter['obj_id'], + $a_parameter['usr_id'], + $a_parameter['status'], + $a_parameter['percentage'] + ); + } + } + } + + protected function isLTIAuthMode(string $auth_mode): bool + { + return strpos($auth_mode, 'lti_') === 0; + } + + protected function handleUpdateStatus(int $a_obj_id, int $a_usr_id, int $a_status, int $a_percentage): void + { + global $DIC; + $logger = $DIC->logger()->root(); + $logger->info('Handle update status'); + $auth_mode = ilObjUser::_lookupAuthMode($a_usr_id); + if (!$this->isLTIAuthMode($auth_mode)) { + $this->logger->info('Ignoring update for non-LTI-user.'); + return; + } + $ext_account = ilObjUser::_lookupExternalAccount($a_usr_id); + list($lti, $consumer) = explode('_', $auth_mode); + + // iterate through all references + $refs = ilObject::_getAllReferences($a_obj_id); + $this->logger->info('Refs for : ' . $a_obj_id . ': ' . count($refs)); + foreach ((array) $refs as $ref_id) { + $resources = $this->connector->lookupResourcesForUserObjectRelation( + $ref_id, + $ext_account, + (int) $consumer + ); + + $this->logger->info('Resources for update:'); + $this->logger->info("resources: " . json_encode($resources)); + + foreach ($resources as $resource) { + $this->tryOutcomeService((int) $resource, $ext_account, $a_status, $a_percentage); + } + } + } + + protected function tryOutcomeService(int $resource, string $ext_account, int $a_status, int $a_percentage): void + { + $resource_link = ResourceLink::fromRecordId($resource, $this->connector); + if (!$resource_link->hasOutcomesService()) { + $this->logger->info('No outcome service available for resource id: ' . $resource); + return; + } + $this->logger->info('Trying outcome service with status ' . $a_status . ' and percentage ' . $a_percentage); + $user = UserResult::fromResourceLink($resource_link, $ext_account); + + if (!$a_percentage && $a_status != ilLPStatus::LP_STATUS_NOT_ATTEMPTED_NUM) { + $score = 0; + } else { + if ($a_status == ilLPStatus::LP_STATUS_COMPLETED_NUM || $a_status == ilLPStatus::LP_STATUS_FAILED_NUM) { + $score = $a_percentage / 100; + } elseif ( + $a_status == ilLPStatus::LP_STATUS_NOT_ATTEMPTED_NUM + ) { + $score = null; + } else { + $score = 0; + } + } + + $this->logger->info('Sending score: ' . (string) $score); + + $outcome = new Outcome((string) $score); + + $status = $resource_link->doOutcomesService( + ServiceAction::Write, + $outcome, + $user + ); + $this->logger->info('Outcome service request status: ' . $status); + } +} diff --git a/components/ILIAS/LTIProvider/resources/lti.php b/components/ILIAS/LTIProvider/resources/lti.php index ac09b6111538..7a9d3ef2932b 100644 --- a/components/ILIAS/LTIProvider/resources/lti.php +++ b/components/ILIAS/LTIProvider/resources/lti.php @@ -18,17 +18,17 @@ declare(strict_types=1); -require_once("../vendor/composer/vendor/autoload.php"); -ilContext::init(ilContext::CONTEXT_LTI_PROVIDER); - -// This is done to replace the deprecated method $DIC->ctrl()->setCmd $_GET['cmd'] = 'post'; $_POST['cmd'] = 'doLTIAuthentication'; -ilInitialisation::initILIAS(); +require_once '../vendor/composer/vendor/autoload.php'; +require_once __DIR__ . '/../artifacts/bootstrap_default.php'; +entry_point('ILIAS Legacy Initialisation Adapter'); + +ilContext::init(ilContext::CONTEXT_LTI_PROVIDER); global $DIC; $DIC->ctrl()->setTargetScript('ilias.php'); -$DIC->ctrl()->callBaseClass('ilStartUpGUI'); +$DIC->ctrl()->callBaseClass('ilStartUpGUI'); \ No newline at end of file diff --git a/lang/ilias_ar.lang b/lang/ilias_ar.lang index e1126996d6be..b629e77bed0c 100644 --- a/lang/ilias_ar.lang +++ b/lang/ilias_ar.lang @@ -11206,6 +11206,12 @@ lti#:#conf_privacy_ident_il_uuid_ext_account#:#External User ID combined with a lti#:#conf_privacy_ident_il_uuid_ext_account_info#:#This is identical to each call, but may allow a direct conclusion about the user.###26 08 2024 new variable lti#:#conf_privacy_ident_il_uuid_login#:#ILIAS Login combined with a unique ILIAS platform id formatted as an E-Mail address###26 08 2024 new variable lti#:#conf_privacy_ident_il_uuid_login_info#:#Sends the login name. This is identical to each call, but may allow a direct conclusion about the ILIAS user.###26 08 2024 new variable +lti#:#conf_privacy_ident_il_uuid_random#:#Random ID combined with a unique ILIAS platform ID formatted as an E-Mail address###04 12 2025 new variable +lti#:#conf_privacy_ident_il_uuid_random_info#:#For each ILIAS object and ILIAS user a random ID is generated which remains identical for each call. Conclusions about a user are very limited because it is practically impossible to create user profiles across objects.###04 12 2025 new variable +lti#:#conf_privacy_ident_il_uuid_sha256#:#Hash combined with a unique ILIAS platform id formatted as an E-Mail address###04 12 2025 new variable +lti#:#conf_privacy_ident_il_uuid_sha256_info#:#This is identical to each call, but does not permit any direct conclusions about the ILIAS user.###04 12 2025 new variable +lti#:#conf_privacy_ident_il_uuid_sha256url#:#Hash combined with the ILIAS Domain formatted as an E-Mail address.###04 12 2025 new variable +lti#:#conf_privacy_ident_il_uuid_sha256url_info#:#This is identical to each call, with with a maximum of 80 characters significantly shorter than the variant with the ILIAS platform ID and allows only very limited conclusions about the ILIAS user.###04 12 2025 new variable lti#:#conf_privacy_ident_il_uuid_user_id#:#ILIAS user id combined with a unique ILIAS platform id formatted as an E-Mail address###26 08 2024 new variable lti#:#conf_privacy_ident_il_uuid_user_id_info#:#Sends the internal numeric user id. This is identical to each call, but may allow conclusions about the ILIAS user.###26 08 2024 new variable lti#:#conf_privacy_ident_info#:#Standard is frequently the email address. The unique ILIAS platform id is:###26 08 2024 new variable @@ -11291,13 +11297,16 @@ lti#:#launched#:#Resource was already launched.###07 02 2020 new variable lti#:#learning_progress_options#:#Options for Learning Progress###07 02 2020 new variable lti#:#lm_only_one_download_per_type#:#Please note that you can only make one file per type (XML, HTML, SCORM) public accessible.###31 08 2017 new variable lti#:#lti13_hints#:#If the tool was created without dynamic registration, the following data must be entered for the tool to run.###26 08 2024 new variable +lti#:#lti_13_authentication_url#:#Authentication Request URL###04 12 2025 new variable lti#:#lti_13_client_id#:#Client-ID###26 08 2024 new variable lti#:#lti_13_deployment_id#:#Deployment-ID###26 08 2024 new variable +lti#:#lti_13_keyset_url#:#Public Keyset URL###04 12 2025 new variable lti#:#lti_13_platform_id#:#Platform-ID###26 08 2024 new variable lti#:#lti_13_step1#:#Step 1###26 08 2024 new variable lti#:#lti_13_step1_info#:#For the initiating platform (consumer), enter the following address for Launch URL, Initiate Login URL, Redirection URI, and Registration URL:###26 08 2024 new variable lti#:#lti_13_step2#:#Step 2###26 08 2024 new variable lti#:#lti_13_step2_info#:#You will receive information from the initiating platform (Consumer), which you must enter in the following fields. After saving, the LTI 1.3 functionalities are available.###26 08 2024 new variable +lti#:#lti_13_token_url#:#Access Token URL###04 12 2025 new variable lti#:#lti_action_accept_provider_as_global#:#Accept Provider as Global Provider for all Users###07 02 2020 new variable lti#:#lti_action_accept_providers_as_global#:#Accept Providers as Global###07 02 2020 new variable lti#:#lti_action_delete_providers#:#Delete Providers###07 02 2020 new variable @@ -11311,6 +11320,8 @@ lti#:#lti_at_least_one_prov_has_usages#:#At least one provider could not be dele lti#:#lti_auth_failed_invalid_key#:#Authentication failed, no valid consumer key given.###31 08 2017 new variable lti#:#lti_con_content_item#:#Support for Deep Linking###26 08 2024 new variable lti#:#lti_con_content_item_url#:#Content URL###26 08 2024 new variable +lti#:#lti_con_grade_synchronization#:#Advanced Grading Services###04 12 2025 new variable +lti#:#lti_con_grade_synchronization_info#:#The LTI tool must offer 'Assignment and Grade Services'.###04 12 2025 new variable lti#:#lti_con_initiate_login_url#:#Initiate Login URL###26 08 2024 new variable lti#:#lti_con_key_type#:#Public Key Type###26 08 2024 new variable lti#:#lti_con_key_type_jwk#:#URL (Json Web Token)###26 08 2024 new variable @@ -11330,6 +11341,10 @@ lti#:#lti_con_prov_category_info#:#Category to filter entries when LTI Consumer lti#:#lti_con_prov_custom_params#:#Custom Parameters for this specific Provider###07 02 2020 new variable lti#:#lti_con_prov_custom_params_info#:#Please enter them in the form param1=value1; param2=value2###07 02 2020 new variable lti#:#lti_con_prov_description#:#Description###07 02 2020 new variable +lti#:#lti_con_prov_dyn_reg_params#:#Optional Parameters###04 12 2025 new variable +lti#:#lti_con_prov_dyn_reg_params_info#:#Here, for example, references to target objects in the tool can be specified.###04 12 2025 new variable +lti#:#lti_con_prov_dyn_reg_url#:#Registration URL of the Tool###04 12 2025 new variable +lti#:#lti_con_prov_dyn_reg_url_info#:#Note: Not every tool supports dynamic registration.###04 12 2025 new variable lti#:#lti_con_prov_external_provider#:#External Provider###07 02 2020 new variable lti#:#lti_con_prov_external_provider_info#:#A hint will be shown to users when dealing with an external Provider. An external Provider is characterized by insufficient influence on the Provider by the operator of the ILIAS-installation. This is the case when there are no rights to delete.###07 02 2020 new variable lti#:#lti_con_prov_group_options#:#Options to group and filter Providers###07 02 2020 new variable @@ -11398,6 +11413,7 @@ lti#:#lti_custom_new#:#Create Own Provider Settings###07 02 2020 new variable lti#:#lti_delete_consume_provider#:#Delete Provider###07 02 2020 new variable lti#:#lti_delete_consume_providers#:#Delete Providers###07 02 2020 new variable lti#:#lti_delete_provider#:#Delete Provider###07 02 2020 new variable +lti#:#lti_dynamic_registration#:#Create Own Settings for Tool with Dynamic Registration (LTI 1.3)###04 12 2025 lti#:#lti_edit_consumer#:#Edit LTI Consumer###31 08 2017 new variable lti#:#lti_exit#:#Close LTI Session###31 08 2017 new variable lti#:#lti_exited#:#LTI Session closed###31 08 2017 new variable diff --git a/lang/ilias_bg.lang b/lang/ilias_bg.lang index c5cd1b785475..42c8a32123ba 100644 --- a/lang/ilias_bg.lang +++ b/lang/ilias_bg.lang @@ -11206,6 +11206,12 @@ lti#:#conf_privacy_ident_il_uuid_ext_account#:#External User ID combined with a lti#:#conf_privacy_ident_il_uuid_ext_account_info#:#This is identical to each call, but may allow a direct conclusion about the user.###26 08 2024 new variable lti#:#conf_privacy_ident_il_uuid_login#:#ILIAS Login combined with a unique ILIAS platform id formatted as an E-Mail address###26 08 2024 new variable lti#:#conf_privacy_ident_il_uuid_login_info#:#Sends the login name. This is identical to each call, but may allow a direct conclusion about the ILIAS user.###26 08 2024 new variable +lti#:#conf_privacy_ident_il_uuid_random#:#Random ID combined with a unique ILIAS platform ID formatted as an E-Mail address###04 12 2025 new variable +lti#:#conf_privacy_ident_il_uuid_random_info#:#For each ILIAS object and ILIAS user a random ID is generated which remains identical for each call. Conclusions about a user are very limited because it is practically impossible to create user profiles across objects.###04 12 2025 new variable +lti#:#conf_privacy_ident_il_uuid_sha256#:#Hash combined with a unique ILIAS platform id formatted as an E-Mail address###21 05 2025 new variable +lti#:#conf_privacy_ident_il_uuid_sha256_info#:#This is identical to each call, but does not permit any direct conclusions about the ILIAS user.###04 12 2025 new variable +lti#:#conf_privacy_ident_il_uuid_sha256url#:#Hash combined with the ILIAS Domain formatted as an E-Mail address.###21 05 2025 new variable +lti#:#conf_privacy_ident_il_uuid_sha256url_info#:#This is identical to each call, with with a maximum of 80 characters significantly shorter than the variant with the ILIAS platform ID and allows only very limited conclusions about the ILIAS user.###04 12 2025 new variable lti#:#conf_privacy_ident_il_uuid_user_id#:#ILIAS user id combined with a unique ILIAS platform id formatted as an E-Mail address###26 08 2024 new variable lti#:#conf_privacy_ident_il_uuid_user_id_info#:#Sends the internal numeric user id. This is identical to each call, but may allow conclusions about the ILIAS user.###26 08 2024 new variable lti#:#conf_privacy_ident_info#:#Standard is frequently the email address. The unique ILIAS platform id is:###26 08 2024 new variable @@ -11291,13 +11297,16 @@ lti#:#launched#:#Resource was already launched.###07 02 2020 new variable lti#:#learning_progress_options#:#Options for Learning Progress###07 02 2020 new variable lti#:#lm_only_one_download_per_type#:#Please note that you can only make one file per type (XML, HTML, SCORM) public accessible.###31 08 2017 new variable lti#:#lti13_hints#:#If the tool was created without dynamic registration, the following data must be entered for the tool to run.###26 08 2024 new variable +lti#:#lti_13_authentication_url#:#Authentication Request URL###04 12 2025 new variable lti#:#lti_13_client_id#:#Client-ID###26 08 2024 new variable lti#:#lti_13_deployment_id#:#Deployment-ID###26 08 2024 new variable +lti#:#lti_13_keyset_url#:#Public Keyset URL###04 12 2025 new variable lti#:#lti_13_platform_id#:#Platform-ID###26 08 2024 new variable lti#:#lti_13_step1#:#Step 1###26 08 2024 new variable lti#:#lti_13_step1_info#:#For the initiating platform (consumer), enter the following address for Launch URL, Initiate Login URL, Redirection URI, and Registration URL:###26 08 2024 new variable lti#:#lti_13_step2#:#Step 2###26 08 2024 new variable lti#:#lti_13_step2_info#:#You will receive information from the initiating platform (Consumer), which you must enter in the following fields. After saving, the LTI 1.3 functionalities are available.###26 08 2024 new variable +lti#:#lti_13_token_url#:#Access Token URL###04 12 2025 new variable lti#:#lti_action_accept_provider_as_global#:#Accept Provider as Global Provider for all Users###07 02 2020 new variable lti#:#lti_action_accept_providers_as_global#:#Accept Providers as Global###07 02 2020 new variable lti#:#lti_action_delete_providers#:#Delete Providers###07 02 2020 new variable @@ -11311,6 +11320,8 @@ lti#:#lti_at_least_one_prov_has_usages#:#At least one provider could not be dele lti#:#lti_auth_failed_invalid_key#:#Authentication failed, no valid consumer key given.###31 08 2017 new variable lti#:#lti_con_content_item#:#Support for Deep Linking###26 08 2024 new variable lti#:#lti_con_content_item_url#:#Content URL###26 08 2024 new variable +lti#:#lti_con_grade_synchronization#:#Advanced Grading Services###04 12 2025 new variable +lti#:#lti_con_grade_synchronization_info#:#The LTI tool must offer 'Assignment and Grade Services'.###04 12 2025 new variable lti#:#lti_con_initiate_login_url#:#Initiate Login URL###26 08 2024 new variable lti#:#lti_con_key_type#:#Public Key Type###26 08 2024 new variable lti#:#lti_con_key_type_jwk#:#URL (Json Web Token)###26 08 2024 new variable @@ -11330,6 +11341,10 @@ lti#:#lti_con_prov_category_info#:#Category to filter entries when LTI Consumer lti#:#lti_con_prov_custom_params#:#Custom Parameters for this specific Provider###07 02 2020 new variable lti#:#lti_con_prov_custom_params_info#:#Please enter them in the form param1=value1; param2=value2###07 02 2020 new variable lti#:#lti_con_prov_description#:#Description###07 02 2020 new variable +lti#:#lti_con_prov_dyn_reg_params#:#Optional Parameters###04 12 2025 new variable +lti#:#lti_con_prov_dyn_reg_params_info#:#Here, for example, references to target objects in the tool can be specified.###04 12 2025 new variable +lti#:#lti_con_prov_dyn_reg_url#:#Registration URL of the Tool###04 12 2025 new variable +lti#:#lti_con_prov_dyn_reg_url_info#:#Note: Not every tool supports dynamic registration.###04 12 2025 new variable lti#:#lti_con_prov_external_provider#:#External Provider###07 02 2020 new variable lti#:#lti_con_prov_external_provider_info#:#A hint will be shown to users when dealing with an external Provider. An external Provider is characterized by insufficient influence on the Provider by the operator of the ILIAS-installation. This is the case when there are no rights to delete.###07 02 2020 new variable lti#:#lti_con_prov_group_options#:#Options to group and filter Providers###07 02 2020 new variable @@ -11398,6 +11413,7 @@ lti#:#lti_custom_new#:#Create Own Provider Settings###07 02 2020 new variable lti#:#lti_delete_consume_provider#:#Delete Provider###07 02 2020 new variable lti#:#lti_delete_consume_providers#:#Delete Providers###07 02 2020 new variable lti#:#lti_delete_provider#:#Delete Provider###07 02 2020 new variable +lti#:#lti_dynamic_registration#:#Create Own Settings for Tool with Dynamic Registration (LTI 1.3)###04 12 2025 lti#:#lti_edit_consumer#:#Edit LTI Consumer###31 08 2017 new variable lti#:#lti_exit#:#Close LTI Session###31 08 2017 new variable lti#:#lti_exited#:#LTI Session closed###31 08 2017 new variable diff --git a/lang/ilias_cs.lang b/lang/ilias_cs.lang index ad0adab58649..fb88efa3ea9a 100644 --- a/lang/ilias_cs.lang +++ b/lang/ilias_cs.lang @@ -11206,6 +11206,12 @@ lti#:#conf_privacy_ident_il_uuid_ext_account#:#External User ID combined with a lti#:#conf_privacy_ident_il_uuid_ext_account_info#:#This is identical to each call, but may allow a direct conclusion about the user.###26 08 2024 new variable lti#:#conf_privacy_ident_il_uuid_login#:#ILIAS Login combined with a unique ILIAS platform id formatted as an E-Mail address###26 08 2024 new variable lti#:#conf_privacy_ident_il_uuid_login_info#:#Sends the login name. This is identical to each call, but may allow a direct conclusion about the ILIAS user.###26 08 2024 new variable +lti#:#conf_privacy_ident_il_uuid_random#:#Random ID combined with a unique ILIAS platform ID formatted as an E-Mail address###04 12 2025 new variable +lti#:#conf_privacy_ident_il_uuid_random_info#:#For each ILIAS object and ILIAS user a random ID is generated which remains identical for each call. Conclusions about a user are very limited because it is practically impossible to create user profiles across objects.###04 12 2025 new variable +lti#:#conf_privacy_ident_il_uuid_sha256#:#Hash combined with a unique ILIAS platform id formatted as an E-Mail address###04 12 2025 new variable +lti#:#conf_privacy_ident_il_uuid_sha256_info#:#This is identical to each call, but does not permit any direct conclusions about the ILIAS user.###04 12 2025 new variable +lti#:#conf_privacy_ident_il_uuid_sha256url#:#Hash combined with the ILIAS Domain formatted as an E-Mail address.###04 12 2025 new variable +lti#:#conf_privacy_ident_il_uuid_sha256url_info#:#This is identical to each call, with with a maximum of 80 characters significantly shorter than the variant with the ILIAS platform ID and allows only very limited conclusions about the ILIAS user.###04 12 2025 new variable lti#:#conf_privacy_ident_il_uuid_user_id#:#ILIAS user id combined with a unique ILIAS platform id formatted as an E-Mail address###26 08 2024 new variable lti#:#conf_privacy_ident_il_uuid_user_id_info#:#Sends the internal numeric user id. This is identical to each call, but may allow conclusions about the ILIAS user.###26 08 2024 new variable lti#:#conf_privacy_ident_info#:#Standard is frequently the email address. The unique ILIAS platform id is:###26 08 2024 new variable @@ -11291,13 +11297,16 @@ lti#:#launched#:#Resource was already launched.###07 02 2020 new variable lti#:#learning_progress_options#:#Options for Learning Progress###07 02 2020 new variable lti#:#lm_only_one_download_per_type#:#Vezměte prosím na vědomí, že můžete zpřístupnit pouze jeden soubor na jeden typ (XML, HTML, SCORM). lti#:#lti13_hints#:#If the tool was created without dynamic registration, the following data must be entered for the tool to run.###26 08 2024 new variable +lti#:#lti_13_authentication_url#:#Authentication Request URL###04 12 2025 new variable lti#:#lti_13_client_id#:#Client-ID###26 08 2024 new variable lti#:#lti_13_deployment_id#:#Deployment-ID###26 08 2024 new variable +lti#:#lti_13_keyset_url#:#Public Keyset URL###04 12 2025 new variable lti#:#lti_13_platform_id#:#Platform-ID###26 08 2024 new variable lti#:#lti_13_step1#:#Step 1###26 08 2024 new variable lti#:#lti_13_step1_info#:#For the initiating platform (consumer), enter the following address for Launch URL, Initiate Login URL, Redirection URI, and Registration URL:###26 08 2024 new variable lti#:#lti_13_step2#:#Step 2###26 08 2024 new variable lti#:#lti_13_step2_info#:#You will receive information from the initiating platform (Consumer), which you must enter in the following fields. After saving, the LTI 1.3 functionalities are available.###26 08 2024 new variable +lti#:#lti_13_token_url#:#Access Token URL###04 12 2025 new variable lti#:#lti_action_accept_provider_as_global#:#Accept Provider as Global Provider for all Users###07 02 2020 new variable lti#:#lti_action_accept_providers_as_global#:#Accept Providers as Global###07 02 2020 new variable lti#:#lti_action_delete_providers#:#Delete Providers###07 02 2020 new variable @@ -11311,6 +11320,8 @@ lti#:#lti_at_least_one_prov_has_usages#:#At least one provider could not be dele lti#:#lti_auth_failed_invalid_key#:#Ověřování se nezdařilo, nebyl zadán žádný platný spotřebitelský klíč. lti#:#lti_con_content_item#:#Support for Deep Linking###26 08 2024 new variable lti#:#lti_con_content_item_url#:#Content URL###26 08 2024 new variable +lti#:#lti_con_grade_synchronization#:#Advanced Grading Services###04 12 2025 new variable +lti#:#lti_con_grade_synchronization_info#:#The LTI tool must offer 'Assignment and Grade Services'.###04 12 2025 new variable lti#:#lti_con_initiate_login_url#:#Initiate Login URL###26 08 2024 new variable lti#:#lti_con_key_type#:#Public Key Type###26 08 2024 new variable lti#:#lti_con_key_type_jwk#:#URL (Json Web Token)###26 08 2024 new variable @@ -11330,6 +11341,10 @@ lti#:#lti_con_prov_category_info#:#Category to filter entries when LTI Consumer lti#:#lti_con_prov_custom_params#:#Custom Parameters for this specific Provider###07 02 2020 new variable lti#:#lti_con_prov_custom_params_info#:#Please enter them in the form param1=value1; param2=value2###07 02 2020 new variable lti#:#lti_con_prov_description#:#Description###07 02 2020 new variable +lti#:#lti_con_prov_dyn_reg_params#:#Optional Parameters###04 12 2025 new variable +lti#:#lti_con_prov_dyn_reg_params_info#:#Here, for example, references to target objects in the tool can be specified.###04 12 2025 new variable +lti#:#lti_con_prov_dyn_reg_url#:#Registration URL of the Tool###04 12 2025 new variable +lti#:#lti_con_prov_dyn_reg_url_info#:#Note: Not every tool supports dynamic registration.###04 12 2025 new variable lti#:#lti_con_prov_external_provider#:#External Provider###07 02 2020 new variable lti#:#lti_con_prov_external_provider_info#:#A hint will be shown to users when dealing with an external Provider. An external Provider is characterized by insufficient influence on the Provider by the operator of the ILIAS-installation. This is the case when there are no rights to delete.###07 02 2020 new variable lti#:#lti_con_prov_group_options#:#Options to group and filter Providers###07 02 2020 new variable @@ -11398,6 +11413,7 @@ lti#:#lti_custom_new#:#Create Own Provider Settings###07 02 2020 new variable lti#:#lti_delete_consume_provider#:#Delete Provider###07 02 2020 new variable lti#:#lti_delete_consume_providers#:#Delete Providers###07 02 2020 new variable lti#:#lti_delete_provider#:#Delete Provider###07 02 2020 new variable +lti#:#lti_dynamic_registration#:#Create Own Settings for Tool with Dynamic Registration (LTI 1.3)###04 12 2025 lti#:#lti_edit_consumer#:#Upravit spotřebitele LTI lti#:#lti_exit#:#Ukončit relaci LTI lti#:#lti_exited#:#Relace LTI byla ukončena diff --git a/lang/ilias_da.lang b/lang/ilias_da.lang index 2d285eef4d4e..96625ff91dd9 100644 --- a/lang/ilias_da.lang +++ b/lang/ilias_da.lang @@ -11206,6 +11206,12 @@ lti#:#conf_privacy_ident_il_uuid_ext_account#:#External User ID combined with a lti#:#conf_privacy_ident_il_uuid_ext_account_info#:#This is identical to each call, but may allow a direct conclusion about the user.###26 08 2024 new variable lti#:#conf_privacy_ident_il_uuid_login#:#ILIAS Login combined with a unique ILIAS platform id formatted as an E-Mail address###26 08 2024 new variable lti#:#conf_privacy_ident_il_uuid_login_info#:#Sends the login name. This is identical to each call, but may allow a direct conclusion about the ILIAS user.###26 08 2024 new variable +lti#:#conf_privacy_ident_il_uuid_random#:#Random ID combined with a unique ILIAS platform ID formatted as an E-Mail address###04 12 2025 new variable +lti#:#conf_privacy_ident_il_uuid_random_info#:#For each ILIAS object and ILIAS user a random ID is generated which remains identical for each call. Conclusions about a user are very limited because it is practically impossible to create user profiles across objects.###04 12 2025 new variable +lti#:#conf_privacy_ident_il_uuid_sha256#:#Hash combined with a unique ILIAS platform id formatted as an E-Mail address###04 12 2025 new variable +lti#:#conf_privacy_ident_il_uuid_sha256_info#:#This is identical to each call, but does not permit any direct conclusions about the ILIAS user.###04 12 2025 new variable +lti#:#conf_privacy_ident_il_uuid_sha256url#:#Hash combined with the ILIAS Domain formatted as an E-Mail address.###04 12 2025 new variable +lti#:#conf_privacy_ident_il_uuid_sha256url_info#:#This is identical to each call, with with a maximum of 80 characters significantly shorter than the variant with the ILIAS platform ID and allows only very limited conclusions about the ILIAS user.###04 12 2025 new variable lti#:#conf_privacy_ident_il_uuid_user_id#:#ILIAS user id combined with a unique ILIAS platform id formatted as an E-Mail address###26 08 2024 new variable lti#:#conf_privacy_ident_il_uuid_user_id_info#:#Sends the internal numeric user id. This is identical to each call, but may allow conclusions about the ILIAS user.###26 08 2024 new variable lti#:#conf_privacy_ident_info#:#Standard is frequently the email address. The unique ILIAS platform id is:###26 08 2024 new variable @@ -11291,13 +11297,16 @@ lti#:#launched#:#Resource was already launched.###07 02 2020 new variable lti#:#learning_progress_options#:#Options for Learning Progress###07 02 2020 new variable lti#:#lm_only_one_download_per_type#:#Please note that you can only make one file per type (XML, HTML, SCORM) public accessible.###31 08 2017 new variable lti#:#lti13_hints#:#If the tool was created without dynamic registration, the following data must be entered for the tool to run.###26 08 2024 new variable +lti#:#lti_13_authentication_url#:#Authentication Request URL###04 12 2025 new variable lti#:#lti_13_client_id#:#Client-ID###26 08 2024 new variable lti#:#lti_13_deployment_id#:#Deployment-ID###26 08 2024 new variable +lti#:#lti_13_keyset_url#:#Public Keyset URL###04 12 2025 new variable lti#:#lti_13_platform_id#:#Platform-ID###26 08 2024 new variable lti#:#lti_13_step1#:#Step 1###26 08 2024 new variable lti#:#lti_13_step1_info#:#For the initiating platform (consumer), enter the following address for Launch URL, Initiate Login URL, Redirection URI, and Registration URL:###26 08 2024 new variable lti#:#lti_13_step2#:#Step 2###26 08 2024 new variable lti#:#lti_13_step2_info#:#You will receive information from the initiating platform (Consumer), which you must enter in the following fields. After saving, the LTI 1.3 functionalities are available.###26 08 2024 new variable +lti#:#lti_13_token_url#:#Access Token URL###04 12 2025 new variable lti#:#lti_action_accept_provider_as_global#:#Accept Provider as Global Provider for all Users###07 02 2020 new variable lti#:#lti_action_accept_providers_as_global#:#Accept Providers as Global###07 02 2020 new variable lti#:#lti_action_delete_providers#:#Delete Providers###07 02 2020 new variable @@ -11311,6 +11320,8 @@ lti#:#lti_at_least_one_prov_has_usages#:#At least one provider could not be dele lti#:#lti_auth_failed_invalid_key#:#Authentication failed, no valid consumer key given.###31 08 2017 new variable lti#:#lti_con_content_item#:#Support for Deep Linking###26 08 2024 new variable lti#:#lti_con_content_item_url#:#Content URL###26 08 2024 new variable +lti#:#lti_con_grade_synchronization#:#Advanced Grading Services###04 12 2025 new variable +lti#:#lti_con_grade_synchronization_info#:#The LTI tool must offer 'Assignment and Grade Services'.###04 12 2025 new variable lti#:#lti_con_initiate_login_url#:#Initiate Login URL###26 08 2024 new variable lti#:#lti_con_key_type#:#Public Key Type###26 08 2024 new variable lti#:#lti_con_key_type_jwk#:#URL (Json Web Token)###26 08 2024 new variable @@ -11330,6 +11341,10 @@ lti#:#lti_con_prov_category_info#:#Category to filter entries when LTI Consumer lti#:#lti_con_prov_custom_params#:#Custom Parameters for this specific Provider###07 02 2020 new variable lti#:#lti_con_prov_custom_params_info#:#Please enter them in the form param1=value1; param2=value2###07 02 2020 new variable lti#:#lti_con_prov_description#:#Description###07 02 2020 new variable +lti#:#lti_con_prov_dyn_reg_params#:#Optional Parameters###04 12 2025 new variable +lti#:#lti_con_prov_dyn_reg_params_info#:#Here, for example, references to target objects in the tool can be specified.###04 12 2025 new variable +lti#:#lti_con_prov_dyn_reg_url#:#Registration URL of the Tool###04 12 2025 new variable +lti#:#lti_con_prov_dyn_reg_url_info#:#Note: Not every tool supports dynamic registration.###04 12 2025 new variable lti#:#lti_con_prov_external_provider#:#External Provider###07 02 2020 new variable lti#:#lti_con_prov_external_provider_info#:#A hint will be shown to users when dealing with an external Provider. An external Provider is characterized by insufficient influence on the Provider by the operator of the ILIAS-installation. This is the case when there are no rights to delete.###07 02 2020 new variable lti#:#lti_con_prov_group_options#:#Options to group and filter Providers###07 02 2020 new variable @@ -11398,6 +11413,7 @@ lti#:#lti_custom_new#:#Create Own Provider Settings###07 02 2020 new variable lti#:#lti_delete_consume_provider#:#Delete Provider###07 02 2020 new variable lti#:#lti_delete_consume_providers#:#Delete Providers###07 02 2020 new variable lti#:#lti_delete_provider#:#Delete Provider###07 02 2020 new variable +lti#:#lti_dynamic_registration#:#Create Own Settings for Tool with Dynamic Registration (LTI 1.3)###04 12 2025 lti#:#lti_edit_consumer#:#Edit LTI Consumer###31 08 2017 new variable lti#:#lti_exit#:#Close LTI Session###31 08 2017 new variable lti#:#lti_exited#:#LTI Session closed###31 08 2017 new variable diff --git a/lang/ilias_de.lang b/lang/ilias_de.lang index 242636390e52..8b361d45c396 100644 --- a/lang/ilias_de.lang +++ b/lang/ilias_de.lang @@ -11212,6 +11212,12 @@ lti#:#conf_privacy_ident_il_uuid_ext_account#:#Die externe Konten-ID wird kombin lti#:#conf_privacy_ident_il_uuid_ext_account_info#:#Die Identifikation ist identisch bei jedem Aufruf und lässt direkte Rückschlüsse auf das ILIAS-Konto und die zugehörige Person zu. lti#:#conf_privacy_ident_il_uuid_login#:#ILIAS-Anmeldename kombiniert mit einer eindeutigen ILIAS-Plattform-ID, die als E-Mail-Adresse formatiert ist. lti#:#conf_privacy_ident_il_uuid_login_info#:#Sendet den Anmeldenamen. Dies ist identisch mit jedem Aufruf, kann aber direkte Rückschlüsse auf den ILIAS-Benutzer zulassen. +lti#:#conf_privacy_ident_il_uuid_random#:#Zufalls-ID@ILIAS-Plattform-ID.ilias###04 12 2025 new variable +lti#:#conf_privacy_ident_il_uuid_random_info#:#Pro ILIAS-Objekt und ILIAS-Konto wird eine Zufalls-ID erzeugt, die bei jedem Aufruf identisch bleibt. Die E-Mail-Adresse setzt sich zusammen aus der Zufalls-ID und einer eigens###04 12 2025 new variable +lti#:#conf_privacy_ident_il_uuid_sha256#:#Hash@ILIAS-Plattform-ID.ilias###04 12 2025 new variable +lti#:#conf_privacy_ident_il_uuid_sha256_info#:#Die E-Mail-Adresse setzt sich zusammen aus einem Hash-Wert und einer eigens generierten Plattform-ID. Ohne Zugriff auf die ILIAS-Datenbank ermöglicht diese Option keine direkten Rückschlüsse auf ein ILIAS-Konto.###04 12 2025 new variable +lti#:#conf_privacy_ident_il_uuid_sha256url#:#Hash@ILIAS-Domain###04 12 2025 new variable +lti#:#conf_privacy_ident_il_uuid_sha256url_info#:#Die E-Mail-Adresse setzt sich zusammen aus einem Hash-Wert und einer ILIAS-Domain. Diese Option ist mit maximal 80 Zeichen deutlich kürzer als die mit ILIAS-Plattform-ID. Ohne Zugriff auf die ILIAS-Datenbank ermöglicht diese Option sind nur sehr eingeschränkte Rückschlüsse auf ein ILIAS-Konto.###04 12 2025 new variable lti#:#conf_privacy_ident_il_uuid_user_id#:#ID des ILIAS-Kontos kombiniert mit einer eindeutigen ILIAS-Plattform-ID, die als E-Mail-Adresse formatiert ist lti#:#conf_privacy_ident_il_uuid_user_id_info#:#Die interne numerische ID ist bei jedem Aufruf identisch und ermöglicht Rückschlüsse auf das ILIAS-Konto. lti#:#conf_privacy_ident_info#:#Standard ist häufig die E-Mail-Adresse. Die eindeutige ILIAS-Plattform-ID lautet: @@ -11297,13 +11303,16 @@ lti#:#launched#:#Die Ressource wurde bereits gestartet. lti#:#learning_progress_options#:#Optionen für den Lernfortschritt lti#:#lm_only_one_download_per_type#:#Es kann nur eine Datei je Typ (XML, HTML, SCORM) zum Download bereitgestellt werden. lti#:#lti13_hints#:#Hinweise +lti#:#lti_13_authentication_url#:#URL für die Authentifizierungsanfrage###04 12 2025 new variable lti#:#lti_13_client_id#:#Client-ID lti#:#lti_13_deployment_id#:#Deployment-ID +lti#:#lti_13_keyset_url#:#URL für den öffentlichen Schlüsselsatz###04 12 2025 new variable lti#:#lti_13_platform_id#:#Plattform-ID lti#:#lti_13_step1#:#Schritt 1 lti#:#lti_13_step1_info#:#Tragen Sie bei der initiierenden Plattform (Consumer) die folgende Adresse für Launch URL, Initiate Login URL, Redirection URI und Registration URL ein: lti#:#lti_13_step2#:#Schritt 2 lti#:#lti_13_step2_info#:#Von der initiierenden Plattform (Consumer) erhalten Sie Angaben, die Sie in den folgenden Feldern eintragen müssen. Nach dem Speichern stehen die LTI 1.3-Funktionalitäten zur Verfügung. +lti#:#lti_13_token_url#:#URL für den Zugriffstoken###04 12 2025 new variable lti#:#lti_action_accept_provider_as_global#:#Den Provider als globalen Provider für alle Benutzer übernehmen. lti#:#lti_action_accept_providers_as_global#:#Provider als globalen Provider übernehmen lti#:#lti_action_delete_providers#:#Provider löschen @@ -11317,6 +11326,8 @@ lti#:#lti_at_least_one_prov_has_usages#:#Mindestens ein Provider konnte nicht ge lti#:#lti_auth_failed_invalid_key#:#Authentifizierung nicht möglich. Es wurde kein gültiger Consumer-Key übermittelt. lti#:#lti_con_content_item#:#Unterstützung für Deep Linking lti#:#lti_con_content_item_url#:#Inhalts-URL +lti#:#lti_con_grade_synchronization#:#Erweiterte Benotungsdienste###04 12 2025 new variable +lti#:#lti_con_grade_synchronization_info#:#Das LTI-Tool muss 'Assignment and Grade Services' anbieten.###04 12 2025 new variable lti#:#lti_con_initiate_login_url#:#Initiate Login URL lti#:#lti_con_key_type#:#Typ des öffentlichen Schlüssels lti#:#lti_con_key_type_jwk#:#URL (Json Web Token) @@ -11336,6 +11347,10 @@ lti#:#lti_con_prov_category_info#:#Kategorie, um Einträge zu filtern, wenn ein lti#:#lti_con_prov_custom_params#:#Definition der Parameter für diesen spezifischen Provider lti#:#lti_con_prov_custom_params_info#:#Bitte geben Sie diese in der Form ein: param1=value1; param2=value2 lti#:#lti_con_prov_description#:#Beschreibung +lti#:#lti_con_prov_dyn_reg_params#:#Optionale Parameter###04 12 2025 new variable +lti#:#lti_con_prov_dyn_reg_params_info#:#Hier können z.B. Verweise auf Zielobjekte im Tool angegeben werden.###04 12 2025 new variable +lti#:#lti_con_prov_dyn_reg_url#:#Registrierungs-URL des Tools###04 12 2025 new variable +lti#:#lti_con_prov_dyn_reg_url_info#:#Hinweis: Nicht jedes Tool unterstützt die dynamische Registrierung.###04 12 2025 new variable lti#:#lti_con_prov_external_provider#:#Externer Provider lti#:#lti_con_prov_external_provider_info#:#Bei der Zusammenarbeit mit einem externen Provider bzw. Tool wird ein Hinweis angezeigt. Die Rechte zum Löschen persönlicher Daten durch die ILIAS-Administration sind bei externen Providern in der Regel nicht gegeben. lti#:#lti_con_prov_group_options#:#Optionen zum Gruppieren und Filtern von Providern @@ -11404,6 +11419,7 @@ lti#:#lti_custom_new#:#Eigene Provider-Einstellungen anlegen lti#:#lti_delete_consume_provider#:#Provider löschen lti#:#lti_delete_consume_providers#:#Provider löschen lti#:#lti_delete_provider#:#Provider löschen +lti#:#lti_dynamic_registration#:#Eigene Tool-Einstellungen mit dynamischer Registrierung anlegen (LTI 1.3)###04 12 2025 new variable lti#:#lti_edit_consumer#:#LTI-Konsument bearbeiten lti#:#lti_exit#:#LTI-Sitzung beenden lti#:#lti_exited#:#LTI-Sitzung beendet diff --git a/lang/ilias_el.lang b/lang/ilias_el.lang index 1819a52fa617..7b012bfae917 100644 --- a/lang/ilias_el.lang +++ b/lang/ilias_el.lang @@ -11207,6 +11207,12 @@ lti#:#conf_privacy_ident_il_uuid_ext_account#:#External User ID combined with a lti#:#conf_privacy_ident_il_uuid_ext_account_info#:#This is identical to each call, but may allow a direct conclusion about the user.###26 08 2024 new variable lti#:#conf_privacy_ident_il_uuid_login#:#ILIAS Login combined with a unique ILIAS platform id formatted as an E-Mail address###26 08 2024 new variable lti#:#conf_privacy_ident_il_uuid_login_info#:#Sends the login name. This is identical to each call, but may allow a direct conclusion about the ILIAS user.###26 08 2024 new variable +lti#:#conf_privacy_ident_il_uuid_random#:#Random ID combined with a unique ILIAS platform ID formatted as an E-Mail address###04 12 2025 new variable +lti#:#conf_privacy_ident_il_uuid_random_info#:#For each ILIAS object and ILIAS user a random ID is generated which remains identical for each call. Conclusions about a user are very limited because it is practically impossible to create user profiles across objects.###04 12 2025 new variable +lti#:#conf_privacy_ident_il_uuid_sha256#:#Hash combined with a unique ILIAS platform id formatted as an E-Mail address###04 12 2025 new variable +lti#:#conf_privacy_ident_il_uuid_sha256_info#:#This is identical to each call, but does not permit any direct conclusions about the ILIAS user.###04 12 2025 new variable +lti#:#conf_privacy_ident_il_uuid_sha256url#:#Hash combined with the ILIAS Domain formatted as an E-Mail address.###04 12 2025 new variable +lti#:#conf_privacy_ident_il_uuid_sha256url_info#:#This is identical to each call, with with a maximum of 80 characters significantly shorter than the variant with the ILIAS platform ID and allows only very limited conclusions about the ILIAS user.###04 12 2025 new variable lti#:#conf_privacy_ident_il_uuid_user_id#:#ILIAS user id combined with a unique ILIAS platform id formatted as an E-Mail address###26 08 2024 new variable lti#:#conf_privacy_ident_il_uuid_user_id_info#:#Sends the internal numeric user id. This is identical to each call, but may allow conclusions about the ILIAS user.###26 08 2024 new variable lti#:#conf_privacy_ident_info#:#Standard is frequently the email address. The unique ILIAS platform id is:###26 08 2024 new variable @@ -11292,13 +11298,16 @@ lti#:#launched#:#Resource was already launched.###07 02 2020 new variable lti#:#learning_progress_options#:#Options for Learning Progress###07 02 2020 new variable lti#:#lm_only_one_download_per_type#:#Please note that you can only make one file per type (XML, HTML, SCORM) public accessible.###31 08 2017 new variable lti#:#lti13_hints#:#If the tool was created without dynamic registration, the following data must be entered for the tool to run.###26 08 2024 new variable +lti#:#lti_13_authentication_url#:#Authentication Request URL###04 12 2025 new variable lti#:#lti_13_client_id#:#Client-ID###26 08 2024 new variable lti#:#lti_13_deployment_id#:#Deployment-ID###26 08 2024 new variable +lti#:#lti_13_keyset_url#:#Public Keyset URL###04 12 2025 new variable lti#:#lti_13_platform_id#:#Platform-ID###26 08 2024 new variable lti#:#lti_13_step1#:#Step 1###26 08 2024 new variable lti#:#lti_13_step1_info#:#For the initiating platform (consumer), enter the following address for Launch URL, Initiate Login URL, Redirection URI, and Registration URL:###26 08 2024 new variable lti#:#lti_13_step2#:#Step 2###26 08 2024 new variable lti#:#lti_13_step2_info#:#You will receive information from the initiating platform (Consumer), which you must enter in the following fields. After saving, the LTI 1.3 functionalities are available.###26 08 2024 new variable +lti#:#lti_13_token_url#:#Access Token URL###04 12 2025 new variable lti#:#lti_action_accept_provider_as_global#:#Accept Provider as Global Provider for all Users###07 02 2020 new variable lti#:#lti_action_accept_providers_as_global#:#Accept Providers as Global###07 02 2020 new variable lti#:#lti_action_delete_providers#:#Delete Providers###07 02 2020 new variable @@ -11312,6 +11321,8 @@ lti#:#lti_at_least_one_prov_has_usages#:#At least one provider could not be dele lti#:#lti_auth_failed_invalid_key#:#Authentication failed, no valid consumer key given.###31 08 2017 new variable lti#:#lti_con_content_item#:#Support for Deep Linking###26 08 2024 new variable lti#:#lti_con_content_item_url#:#Content URL###26 08 2024 new variable +lti#:#lti_con_grade_synchronization#:#Advanced Grading Services###04 12 2025 new variable +lti#:#lti_con_grade_synchronization_info#:#The LTI tool must offer 'Assignment and Grade Services'.###04 12 2025 new variable lti#:#lti_con_initiate_login_url#:#Initiate Login URL###26 08 2024 new variable lti#:#lti_con_key_type#:#Public Key Type###26 08 2024 new variable lti#:#lti_con_key_type_jwk#:#URL (Json Web Token)###26 08 2024 new variable @@ -11331,6 +11342,10 @@ lti#:#lti_con_prov_category_info#:#Category to filter entries when LTI Consumer lti#:#lti_con_prov_custom_params#:#Custom Parameters for this specific Provider###07 02 2020 new variable lti#:#lti_con_prov_custom_params_info#:#Please enter them in the form param1=value1; param2=value2###07 02 2020 new variable lti#:#lti_con_prov_description#:#Description###07 02 2020 new variable +lti#:#lti_con_prov_dyn_reg_params#:#Optional Parameters###04 12 2025 new variable +lti#:#lti_con_prov_dyn_reg_params_info#:#Here, for example, references to target objects in the tool can be specified.###04 12 2025 new variable +lti#:#lti_con_prov_dyn_reg_url#:#Registration URL of the Tool###04 12 2025 new variable +lti#:#lti_con_prov_dyn_reg_url_info#:#Note: Not every tool supports dynamic registration.###04 12 2025 new variable lti#:#lti_con_prov_external_provider#:#External Provider###07 02 2020 new variable lti#:#lti_con_prov_external_provider_info#:#A hint will be shown to users when dealing with an external Provider. An external Provider is characterized by insufficient influence on the Provider by the operator of the ILIAS-installation. This is the case when there are no rights to delete.###07 02 2020 new variable lti#:#lti_con_prov_group_options#:#Options to group and filter Providers###07 02 2020 new variable @@ -11399,6 +11414,7 @@ lti#:#lti_custom_new#:#Create Own Provider Settings###07 02 2020 new variable lti#:#lti_delete_consume_provider#:#Delete Provider###07 02 2020 new variable lti#:#lti_delete_consume_providers#:#Delete Providers###07 02 2020 new variable lti#:#lti_delete_provider#:#Delete Provider###07 02 2020 new variable +lti#:#lti_dynamic_registration#:#Create Own Settings for Tool with Dynamic Registration (LTI 1.3)###04 12 2025 lti#:#lti_edit_consumer#:#Edit LTI Consumer###31 08 2017 new variable lti#:#lti_exit#:#Close LTI Session###31 08 2017 new variable lti#:#lti_exited#:#LTI Session closed###31 08 2017 new variable diff --git a/lang/ilias_en.lang b/lang/ilias_en.lang index 91bbe4f8be18..a10276d1cf83 100644 --- a/lang/ilias_en.lang +++ b/lang/ilias_en.lang @@ -11213,6 +11213,12 @@ lti#:#conf_privacy_ident_il_uuid_ext_account#:#External User ID combined with a lti#:#conf_privacy_ident_il_uuid_ext_account_info#:#This is identical to each call, but may allow a direct conclusion about the user. lti#:#conf_privacy_ident_il_uuid_login#:#ILIAS Login combined with a unique ILIAS platform id formatted as an E-Mail address lti#:#conf_privacy_ident_il_uuid_login_info#:#Sends the login name. This is identical to each call, but may allow a direct conclusion about the ILIAS user. +lti#:#conf_privacy_ident_il_uuid_random#:#Random ID combined with a unique ILIAS platform ID formatted as an E-Mail address###04 12 2025 new variable +lti#:#conf_privacy_ident_il_uuid_random_info#:#For each ILIAS object and ILIAS user a random ID is generated which remains identical for each call. Conclusions about a user are very limited because it is practically impossible to create user profiles across objects.###04 12 2025 new variable +lti#:#conf_privacy_ident_il_uuid_sha256#:#Hash combined with a unique ILIAS platform id formatted as an E-Mail address###04 12 2025 new variable +lti#:#conf_privacy_ident_il_uuid_sha256_info#:#This is identical to each call, but does not permit any direct conclusions about the ILIAS user.###04 12 2025 new variable +lti#:#conf_privacy_ident_il_uuid_sha256url#:#Hash combined with the ILIAS Domain formatted as an E-Mail address.###04 12 2025 new variable +lti#:#conf_privacy_ident_il_uuid_sha256url_info#:#This is identical to each call, with with a maximum of 80 characters significantly shorter than the variant with the ILIAS platform ID and allows only very limited conclusions about the ILIAS user.###04 12 2025 new variable lti#:#conf_privacy_ident_il_uuid_user_id#:#ILIAS user id combined with a unique ILIAS platform id formatted as an E-Mail address lti#:#conf_privacy_ident_il_uuid_user_id_info#:#Sends the internal numeric user id. This is identical to each call, but may allow conclusions about the ILIAS user. lti#:#conf_privacy_ident_info#:#Standard is frequently the email address. The unique ILIAS platform id is: @@ -11298,13 +11304,16 @@ lti#:#launched#:#Resource was already launched. lti#:#learning_progress_options#:#Options for Learning Progress lti#:#lm_only_one_download_per_type#:#Only one file per type (XML, HTML, SCORM) can be released publicly. lti#:#lti13_hints#:#If the tool was created without dynamic registration, the following data must be entered for the tool to run. +lti#:#lti_13_authentication_url#:#Authentication Request URL###04 12 2025 new variable lti#:#lti_13_client_id#:#Client-ID lti#:#lti_13_deployment_id#:#Deployment-ID +lti#:#lti_13_keyset_url#:#Public Keyset URL###04 12 2025 new variable lti#:#lti_13_platform_id#:#Platform-ID lti#:#lti_13_step1#:#Step 1 lti#:#lti_13_step1_info#:#For the initiating platform (consumer), enter the following address for Launch URL, Initiate Login URL, Redirection URI, and Registration URL: lti#:#lti_13_step2#:#Step 2 lti#:#lti_13_step2_info#:#You will receive information from the initiating platform (Consumer), which you must enter in the following fields. After saving, the LTI 1.3 functionalities are available. +lti#:#lti_13_token_url#:#Access Token URL###04 12 2025 new variable lti#:#lti_action_accept_provider_as_global#:#Accept Provider as Global Provider for all Users lti#:#lti_action_accept_providers_as_global#:#Accept Providers as Global lti#:#lti_action_delete_providers#:#Delete Providers @@ -11318,6 +11327,8 @@ lti#:#lti_at_least_one_prov_has_usages#:#At least one provider could not be dele lti#:#lti_auth_failed_invalid_key#:#Authentication failed, no valid consumer key given. lti#:#lti_con_content_item#:#Support for Deep Linking lti#:#lti_con_content_item_url#:#Content URL +lti#:#lti_con_grade_synchronization#:#Advanced Grading Services###04 12 2025 new variable +lti#:#lti_con_grade_synchronization_info#:#The LTI tool must offer 'Assignment and Grade Services'.###04 12 2025 new variable lti#:#lti_con_initiate_login_url#:#Initiate Login URL lti#:#lti_con_key_type#:#Public Key Type lti#:#lti_con_key_type_jwk#:#URL (Json Web Token) @@ -11337,6 +11348,10 @@ lti#:#lti_con_prov_category_info#:#Category to filter entries when LTI Consumer lti#:#lti_con_prov_custom_params#:#Custom Parameters for this specific Provider lti#:#lti_con_prov_custom_params_info#:#Please enter them in the form param1=value1; param2=value2 lti#:#lti_con_prov_description#:#Description +lti#:#lti_con_prov_dyn_reg_params#:#Optional Parameters###04 12 2025 new variable +lti#:#lti_con_prov_dyn_reg_params_info#:#Here, for example, references to target objects in the tool can be specified.###04 12 2025 new variable +lti#:#lti_con_prov_dyn_reg_url#:#Registration URL of the Tool###04 12 2025 new variable +lti#:#lti_con_prov_dyn_reg_url_info#:#Note: Not every tool supports dynamic registration.###04 12 2025 new variable lti#:#lti_con_prov_external_provider#:#External Provider lti#:#lti_con_prov_external_provider_info#:#A hint will be shown to users when dealing with an external Provider. An external Provider is characterized by insufficient influence on the Provider by the operator of the ILIAS-installation. This is the case when there are no rights to delete. lti#:#lti_con_prov_group_options#:#Options to group and filter Providers @@ -11405,6 +11420,7 @@ lti#:#lti_custom_new#:#Create Own Provider Settings lti#:#lti_delete_consume_provider#:#Delete Provider lti#:#lti_delete_consume_providers#:#Delete Providers lti#:#lti_delete_provider#:#Delete Provider +lti#:#lti_dynamic_registration#:#Create Own Settings for Tool with Dynamic Registration (LTI 1.3)###04 12 2025 lti#:#lti_edit_consumer#:#Edit LTI Consumer lti#:#lti_exit#:#Close LTI Session lti#:#lti_exited#:#LTI Session closed diff --git a/lang/ilias_es.lang b/lang/ilias_es.lang index 2e74aef7cad4..b2b7198b477b 100644 --- a/lang/ilias_es.lang +++ b/lang/ilias_es.lang @@ -11208,6 +11208,12 @@ lti#:#conf_privacy_ident_il_uuid_ext_account#:#External User ID combined with a lti#:#conf_privacy_ident_il_uuid_ext_account_info#:#This is identical to each call, but may allow a direct conclusion about the user.###26 08 2024 new variable lti#:#conf_privacy_ident_il_uuid_login#:#ILIAS Login combined with a unique ILIAS platform id formatted as an E-Mail address###26 08 2024 new variable lti#:#conf_privacy_ident_il_uuid_login_info#:#Sends the login name. This is identical to each call, but may allow a direct conclusion about the ILIAS user.###26 08 2024 new variable +lti#:#conf_privacy_ident_il_uuid_random#:#Random ID combined with a unique ILIAS platform ID formatted as an E-Mail address###04 12 2025 new variable +lti#:#conf_privacy_ident_il_uuid_random_info#:#For each ILIAS object and ILIAS user a random ID is generated which remains identical for each call. Conclusions about a user are very limited because it is practically impossible to create user profiles across objects.###04 12 2025 new variable +lti#:#conf_privacy_ident_il_uuid_sha256#:#Hash combined with a unique ILIAS platform id formatted as an E-Mail address###21 05 2025 new variable +lti#:#conf_privacy_ident_il_uuid_sha256_info#:#This is identical to each call, but does not permit any direct conclusions about the ILIAS user.###04 12 2025 new variable +lti#:#conf_privacy_ident_il_uuid_sha256url#:#Hash combined with the ILIAS Domain formatted as an E-Mail address.###04 12 2025 new variable +lti#:#conf_privacy_ident_il_uuid_sha256url_info#:#This is identical to each call, with with a maximum of 80 characters significantly shorter than the variant with the ILIAS platform ID and allows only very limited conclusions about the ILIAS user.###04 12 2025 new variable lti#:#conf_privacy_ident_il_uuid_user_id#:#ILIAS user id combined with a unique ILIAS platform id formatted as an E-Mail address###26 08 2024 new variable lti#:#conf_privacy_ident_il_uuid_user_id_info#:#Sends the internal numeric user id. This is identical to each call, but may allow conclusions about the ILIAS user.###26 08 2024 new variable lti#:#conf_privacy_ident_info#:#Standard is frequently the email address. The unique ILIAS platform id is:###26 08 2024 new variable @@ -11293,13 +11299,16 @@ lti#:#launched#:#Resource was already launched.###07 02 2020 new variable lti#:#learning_progress_options#:#Options for Learning Progress###07 02 2020 new variable lti#:#lm_only_one_download_per_type#:#Tenga en cuenta que solo puede convertir en accesible al público un archivo por tipo (XML, HTML, SCORM). lti#:#lti13_hints#:#If the tool was created without dynamic registration, the following data must be entered for the tool to run.###26 08 2024 new variable +lti#:#lti_13_authentication_url#:#Authentication Request URL###04 12 2025 new variable lti#:#lti_13_client_id#:#Client-ID###26 08 2024 new variable lti#:#lti_13_deployment_id#:#Deployment-ID###26 08 2024 new variable +lti#:#lti_13_keyset_url#:#Public Keyset URL###04 12 2025 new variable lti#:#lti_13_platform_id#:#Platform-ID###26 08 2024 new variable lti#:#lti_13_step1#:#Step 1###26 08 2024 new variable lti#:#lti_13_step1_info#:#For the initiating platform (consumer), enter the following address for Launch URL, Initiate Login URL, Redirection URI, and Registration URL:###26 08 2024 new variable lti#:#lti_13_step2#:#Step 2###26 08 2024 new variable lti#:#lti_13_step2_info#:#You will receive information from the initiating platform (Consumer), which you must enter in the following fields. After saving, the LTI 1.3 functionalities are available.###26 08 2024 new variable +lti#:#lti_13_token_url#:#Access Token URL###04 12 2025 new variable lti#:#lti_action_accept_provider_as_global#:#Accept Provider as Global Provider for all Users###07 02 2020 new variable lti#:#lti_action_accept_providers_as_global#:#Accept Providers as Global###07 02 2020 new variable lti#:#lti_action_delete_providers#:#Delete Providers###07 02 2020 new variable @@ -11313,6 +11322,8 @@ lti#:#lti_at_least_one_prov_has_usages#:#At least one provider could not be dele lti#:#lti_auth_failed_invalid_key#:#Error de autenticación, no se ha indicado una clave de consumidor válida. lti#:#lti_con_content_item#:#Support for Deep Linking###26 08 2024 new variable lti#:#lti_con_content_item_url#:#Content URL###26 08 2024 new variable +lti#:#lti_con_grade_synchronization#:#Advanced Grading Services###04 12 2025 new variable +lti#:#lti_con_grade_synchronization_info#:#The LTI tool must offer 'Assignment and Grade Services'.###04 12 2025 new variable lti#:#lti_con_initiate_login_url#:#Initiate Login URL###26 08 2024 new variable lti#:#lti_con_key_type#:#Public Key Type###26 08 2024 new variable lti#:#lti_con_key_type_jwk#:#URL (Json Web Token)###26 08 2024 new variable @@ -11332,6 +11343,10 @@ lti#:#lti_con_prov_category_info#:#Category to filter entries when LTI Consumer lti#:#lti_con_prov_custom_params#:#Custom Parameters for this specific Provider###07 02 2020 new variable lti#:#lti_con_prov_custom_params_info#:#Please enter them in the form param1=value1; param2=value2###07 02 2020 new variable lti#:#lti_con_prov_description#:#Description###07 02 2020 new variable +lti#:#lti_con_prov_dyn_reg_params#:#Optional Parameters###04 12 2025 new variable +lti#:#lti_con_prov_dyn_reg_params_info#:#Here, for example, references to target objects in the tool can be specified.###04 12 2025 new variable +lti#:#lti_con_prov_dyn_reg_url#:#Registration URL of the Tool###04 12 2025 new variable +lti#:#lti_con_prov_dyn_reg_url_info#:#Note: Not every tool supports dynamic registration.###04 12 2025 new variable lti#:#lti_con_prov_external_provider#:#External Provider###07 02 2020 new variable lti#:#lti_con_prov_external_provider_info#:#A hint will be shown to users when dealing with an external Provider. An external Provider is characterized by insufficient influence on the Provider by the operator of the ILIAS-installation. This is the case when there are no rights to delete.###07 02 2020 new variable lti#:#lti_con_prov_group_options#:#Options to group and filter Providers###07 02 2020 new variable @@ -11400,6 +11415,7 @@ lti#:#lti_custom_new#:#Create Own Provider Settings###07 02 2020 new variable lti#:#lti_delete_consume_provider#:#Delete Provider###07 02 2020 new variable lti#:#lti_delete_consume_providers#:#Delete Providers###07 02 2020 new variable lti#:#lti_delete_provider#:#Delete Provider###07 02 2020 new variable +lti#:#lti_dynamic_registration#:#Create Own Settings for Tool with Dynamic Registration (LTI 1.3)###04 12 2025 lti#:#lti_edit_consumer#:#Editar consumidor de LTI lti#:#lti_exit#:#Cerrar sesión de LTI lti#:#lti_exited#:#Sesión de LTI cerrada diff --git a/lang/ilias_et.lang b/lang/ilias_et.lang index ea74b2cef035..0f0dd3d89349 100644 --- a/lang/ilias_et.lang +++ b/lang/ilias_et.lang @@ -11206,6 +11206,12 @@ lti#:#conf_privacy_ident_il_uuid_ext_account#:#External User ID combined with a lti#:#conf_privacy_ident_il_uuid_ext_account_info#:#This is identical to each call, but may allow a direct conclusion about the user.###26 08 2024 new variable lti#:#conf_privacy_ident_il_uuid_login#:#ILIAS Login combined with a unique ILIAS platform id formatted as an E-Mail address###26 08 2024 new variable lti#:#conf_privacy_ident_il_uuid_login_info#:#Sends the login name. This is identical to each call, but may allow a direct conclusion about the ILIAS user.###26 08 2024 new variable +lti#:#conf_privacy_ident_il_uuid_random#:#Random ID combined with a unique ILIAS platform ID formatted as an E-Mail address###04 12 2025 new variable +lti#:#conf_privacy_ident_il_uuid_random_info#:#For each ILIAS object and ILIAS user a random ID is generated which remains identical for each call. Conclusions about a user are very limited because it is practically impossible to create user profiles across objects.###04 12 2025 new variable +lti#:#conf_privacy_ident_il_uuid_sha256#:#Hash combined with a unique ILIAS platform id formatted as an E-Mail address###04 12 2025 new variable +lti#:#conf_privacy_ident_il_uuid_sha256_info#:#This is identical to each call, but does not permit any direct conclusions about the ILIAS user.###04 12 2025 new variable +lti#:#conf_privacy_ident_il_uuid_sha256url#:#Hash combined with the ILIAS Domain formatted as an E-Mail address.###04 12 2025 new variable +lti#:#conf_privacy_ident_il_uuid_sha256url_info#:#This is identical to each call, with with a maximum of 80 characters significantly shorter than the variant with the ILIAS platform ID and allows only very limited conclusions about the ILIAS user.###04 12 2025 new variable lti#:#conf_privacy_ident_il_uuid_user_id#:#ILIAS user id combined with a unique ILIAS platform id formatted as an E-Mail address###26 08 2024 new variable lti#:#conf_privacy_ident_il_uuid_user_id_info#:#Sends the internal numeric user id. This is identical to each call, but may allow conclusions about the ILIAS user.###26 08 2024 new variable lti#:#conf_privacy_ident_info#:#Standard is frequently the email address. The unique ILIAS platform id is:###26 08 2024 new variable @@ -11291,13 +11297,16 @@ lti#:#launched#:#Resource was already launched.###07 02 2020 new variable lti#:#learning_progress_options#:#Options for Learning Progress###07 02 2020 new variable lti#:#lm_only_one_download_per_type#:#Please note that you can only make one file per type (XML, HTML, SCORM) public accessible.###31 08 2017 new variable lti#:#lti13_hints#:#If the tool was created without dynamic registration, the following data must be entered for the tool to run.###26 08 2024 new variable +lti#:#lti_13_authentication_url#:#Authentication Request URL###04 12 2025 new variable lti#:#lti_13_client_id#:#Client-ID###26 08 2024 new variable lti#:#lti_13_deployment_id#:#Deployment-ID###26 08 2024 new variable +lti#:#lti_13_keyset_url#:#Public Keyset URL###04 12 2025 new variable lti#:#lti_13_platform_id#:#Platform-ID###26 08 2024 new variable lti#:#lti_13_step1#:#Step 1###26 08 2024 new variable lti#:#lti_13_step1_info#:#For the initiating platform (consumer), enter the following address for Launch URL, Initiate Login URL, Redirection URI, and Registration URL:###26 08 2024 new variable lti#:#lti_13_step2#:#Step 2###26 08 2024 new variable lti#:#lti_13_step2_info#:#You will receive information from the initiating platform (Consumer), which you must enter in the following fields. After saving, the LTI 1.3 functionalities are available.###26 08 2024 new variable +lti#:#lti_13_token_url#:#Access Token URL###04 12 2025 new variable lti#:#lti_action_accept_provider_as_global#:#Accept Provider as Global Provider for all Users###07 02 2020 new variable lti#:#lti_action_accept_providers_as_global#:#Accept Providers as Global###07 02 2020 new variable lti#:#lti_action_delete_providers#:#Delete Providers###07 02 2020 new variable @@ -11311,6 +11320,8 @@ lti#:#lti_at_least_one_prov_has_usages#:#At least one provider could not be dele lti#:#lti_auth_failed_invalid_key#:#Authentication failed, no valid consumer key given.###31 08 2017 new variable lti#:#lti_con_content_item#:#Support for Deep Linking###26 08 2024 new variable lti#:#lti_con_content_item_url#:#Content URL###26 08 2024 new variable +lti#:#lti_con_grade_synchronization#:#Advanced Grading Services###04 12 2025 new variable +lti#:#lti_con_grade_synchronization_info#:#The LTI tool must offer 'Assignment and Grade Services'.###04 12 2025 new variable lti#:#lti_con_initiate_login_url#:#Initiate Login URL###26 08 2024 new variable lti#:#lti_con_key_type#:#Public Key Type###26 08 2024 new variable lti#:#lti_con_key_type_jwk#:#URL (Json Web Token)###26 08 2024 new variable @@ -11330,6 +11341,10 @@ lti#:#lti_con_prov_category_info#:#Category to filter entries when LTI Consumer lti#:#lti_con_prov_custom_params#:#Custom Parameters for this specific Provider###07 02 2020 new variable lti#:#lti_con_prov_custom_params_info#:#Please enter them in the form param1=value1; param2=value2###07 02 2020 new variable lti#:#lti_con_prov_description#:#Description###07 02 2020 new variable +lti#:#lti_con_prov_dyn_reg_params#:#Optional Parameters###04 12 2025 new variable +lti#:#lti_con_prov_dyn_reg_params_info#:#Here, for example, references to target objects in the tool can be specified.###04 12 2025 new variable +lti#:#lti_con_prov_dyn_reg_url#:#Registration URL of the Tool###04 12 2025 new variable +lti#:#lti_con_prov_dyn_reg_url_info#:#Note: Not every tool supports dynamic registration.###04 12 2025 new variable lti#:#lti_con_prov_external_provider#:#External Provider###07 02 2020 new variable lti#:#lti_con_prov_external_provider_info#:#A hint will be shown to users when dealing with an external Provider. An external Provider is characterized by insufficient influence on the Provider by the operator of the ILIAS-installation. This is the case when there are no rights to delete.###07 02 2020 new variable lti#:#lti_con_prov_group_options#:#Options to group and filter Providers###07 02 2020 new variable @@ -11398,6 +11413,7 @@ lti#:#lti_custom_new#:#Create Own Provider Settings###07 02 2020 new variable lti#:#lti_delete_consume_provider#:#Delete Provider###07 02 2020 new variable lti#:#lti_delete_consume_providers#:#Delete Providers###07 02 2020 new variable lti#:#lti_delete_provider#:#Delete Provider###07 02 2020 new variable +lti#:#lti_dynamic_registration#:#Create Own Settings for Tool with Dynamic Registration (LTI 1.3)###04 12 2025 lti#:#lti_edit_consumer#:#Edit LTI Consumer###31 08 2017 new variable lti#:#lti_exit#:#Close LTI Session###31 08 2017 new variable lti#:#lti_exited#:#LTI Session closed###31 08 2017 new variable diff --git a/lang/ilias_fa.lang b/lang/ilias_fa.lang index 60cec1b404e8..58b51d58d8e6 100644 --- a/lang/ilias_fa.lang +++ b/lang/ilias_fa.lang @@ -11206,6 +11206,12 @@ lti#:#conf_privacy_ident_il_uuid_ext_account#:#External User ID combined with a lti#:#conf_privacy_ident_il_uuid_ext_account_info#:#This is identical to each call, but may allow a direct conclusion about the user.###26 08 2024 new variable lti#:#conf_privacy_ident_il_uuid_login#:#ILIAS Login combined with a unique ILIAS platform id formatted as an E-Mail address###26 08 2024 new variable lti#:#conf_privacy_ident_il_uuid_login_info#:#Sends the login name. This is identical to each call, but may allow a direct conclusion about the ILIAS user.###26 08 2024 new variable +lti#:#conf_privacy_ident_il_uuid_random#:#Random ID combined with a unique ILIAS platform ID formatted as an E-Mail address###04 12 2025 new variable +lti#:#conf_privacy_ident_il_uuid_random_info#:#For each ILIAS object and ILIAS user a random ID is generated which remains identical for each call. Conclusions about a user are very limited because it is practically impossible to create user profiles across objects.###04 12 2025 new variable +lti#:#conf_privacy_ident_il_uuid_sha256#:#Hash combined with a unique ILIAS platform id formatted as an E-Mail address###04 12 2025 new variable +lti#:#conf_privacy_ident_il_uuid_sha256_info#:#This is identical to each call, but does not permit any direct conclusions about the ILIAS user.###04 12 2025 new variable +lti#:#conf_privacy_ident_il_uuid_sha256url#:#Hash combined with the ILIAS Domain formatted as an E-Mail address.###04 12 2025 new variable +lti#:#conf_privacy_ident_il_uuid_sha256url_info#:#This is identical to each call, with with a maximum of 80 characters significantly shorter than the variant with the ILIAS platform ID and allows only very limited conclusions about the ILIAS user.###04 12 2025 new variable lti#:#conf_privacy_ident_il_uuid_user_id#:#ILIAS user id combined with a unique ILIAS platform id formatted as an E-Mail address###26 08 2024 new variable lti#:#conf_privacy_ident_il_uuid_user_id_info#:#Sends the internal numeric user id. This is identical to each call, but may allow conclusions about the ILIAS user.###26 08 2024 new variable lti#:#conf_privacy_ident_info#:#Standard is frequently the email address. The unique ILIAS platform id is:###26 08 2024 new variable @@ -11291,13 +11297,16 @@ lti#:#launched#:#Resource was already launched.###07 02 2020 new variable lti#:#learning_progress_options#:#Options for Learning Progress###07 02 2020 new variable lti#:#lm_only_one_download_per_type#:#Please note that you can only make one file per type (XML, HTML, SCORM) public accessible.###31 08 2017 new variable lti#:#lti13_hints#:#If the tool was created without dynamic registration, the following data must be entered for the tool to run.###26 08 2024 new variable +lti#:#lti_13_authentication_url#:#Authentication Request URL###04 12 2025 new variable lti#:#lti_13_client_id#:#Client-ID###26 08 2024 new variable lti#:#lti_13_deployment_id#:#Deployment-ID###26 08 2024 new variable +lti#:#lti_13_keyset_url#:#Public Keyset URL###04 12 2025 new variable lti#:#lti_13_platform_id#:#Platform-ID###26 08 2024 new variable lti#:#lti_13_step1#:#Step 1###26 08 2024 new variable lti#:#lti_13_step1_info#:#For the initiating platform (consumer), enter the following address for Launch URL, Initiate Login URL, Redirection URI, and Registration URL:###26 08 2024 new variable lti#:#lti_13_step2#:#Step 2###26 08 2024 new variable lti#:#lti_13_step2_info#:#You will receive information from the initiating platform (Consumer), which you must enter in the following fields. After saving, the LTI 1.3 functionalities are available.###26 08 2024 new variable +lti#:#lti_13_token_url#:#Access Token URL###04 12 2025 new variable lti#:#lti_action_accept_provider_as_global#:#Accept Provider as Global Provider for all Users###07 02 2020 new variable lti#:#lti_action_accept_providers_as_global#:#Accept Providers as Global###07 02 2020 new variable lti#:#lti_action_delete_providers#:#Delete Providers###07 02 2020 new variable @@ -11311,6 +11320,8 @@ lti#:#lti_at_least_one_prov_has_usages#:#At least one provider could not be dele lti#:#lti_auth_failed_invalid_key#:#Authentication failed, no valid consumer key given.###31 08 2017 new variable lti#:#lti_con_content_item#:#Support for Deep Linking###26 08 2024 new variable lti#:#lti_con_content_item_url#:#Content URL###26 08 2024 new variable +lti#:#lti_con_grade_synchronization#:#Advanced Grading Services###04 12 2025 new variable +lti#:#lti_con_grade_synchronization_info#:#The LTI tool must offer 'Assignment and Grade Services'.###04 12 2025 new variable lti#:#lti_con_initiate_login_url#:#Initiate Login URL###26 08 2024 new variable lti#:#lti_con_key_type#:#Public Key Type###26 08 2024 new variable lti#:#lti_con_key_type_jwk#:#URL (Json Web Token)###26 08 2024 new variable @@ -11330,6 +11341,10 @@ lti#:#lti_con_prov_category_info#:#Category to filter entries when LTI Consumer lti#:#lti_con_prov_custom_params#:#Custom Parameters for this specific Provider###07 02 2020 new variable lti#:#lti_con_prov_custom_params_info#:#Please enter them in the form param1=value1; param2=value2###07 02 2020 new variable lti#:#lti_con_prov_description#:#Description###07 02 2020 new variable +lti#:#lti_con_prov_dyn_reg_params#:#Optional Parameters###04 12 2025 new variable +lti#:#lti_con_prov_dyn_reg_params_info#:#Here, for example, references to target objects in the tool can be specified.###04 12 2025 new variable +lti#:#lti_con_prov_dyn_reg_url#:#Registration URL of the Tool###04 12 2025 new variable +lti#:#lti_con_prov_dyn_reg_url_info#:#Note: Not every tool supports dynamic registration.###04 12 2025 new variable lti#:#lti_con_prov_external_provider#:#External Provider###07 02 2020 new variable lti#:#lti_con_prov_external_provider_info#:#A hint will be shown to users when dealing with an external Provider. An external Provider is characterized by insufficient influence on the Provider by the operator of the ILIAS-installation. This is the case when there are no rights to delete.###07 02 2020 new variable lti#:#lti_con_prov_group_options#:#Options to group and filter Providers###07 02 2020 new variable @@ -11398,6 +11413,7 @@ lti#:#lti_custom_new#:#Create Own Provider Settings###07 02 2020 new variable lti#:#lti_delete_consume_provider#:#Delete Provider###07 02 2020 new variable lti#:#lti_delete_consume_providers#:#Delete Providers###07 02 2020 new variable lti#:#lti_delete_provider#:#Delete Provider###07 02 2020 new variable +lti#:#lti_dynamic_registration#:#Create Own Settings for Tool with Dynamic Registration (LTI 1.3)###04 12 2025 lti#:#lti_edit_consumer#:#Edit LTI Consumer###31 08 2017 new variable lti#:#lti_exit#:#Close LTI Session###31 08 2017 new variable lti#:#lti_exited#:#LTI Session closed###31 08 2017 new variable diff --git a/lang/ilias_fr.lang b/lang/ilias_fr.lang index 9b1c19772080..4e6b08b4c8d1 100644 --- a/lang/ilias_fr.lang +++ b/lang/ilias_fr.lang @@ -11191,6 +11191,12 @@ lti#:#conf_privacy_ident_il_uuid_ext_account#:#External User Id combined with a lti#:#conf_privacy_ident_il_uuid_ext_account_info#:#This is identical to each call, but may allow a direct conclusion about the user. lti#:#conf_privacy_ident_il_uuid_login#:#ILIAS Login combined with a unique ILIAS platform id formated as an email adress. lti#:#conf_privacy_ident_il_uuid_login_info#:#This is identical to each call, but may allow a direct conclusion about the ILIAS user. +lti#:#conf_privacy_ident_il_uuid_random#:#Random ID combined with a unique ILIAS platform ID formatted as an E-Mail address###04 12 2025 new variable +lti#:#conf_privacy_ident_il_uuid_random_info#:#For each ILIAS object and ILIAS user a random ID is generated which remains identical for each call. Conclusions about a user are very limited because it is practically impossible to create user profiles across objects.###04 12 2025 new variable +lti#:#conf_privacy_ident_il_uuid_sha256#:#Hash combined with a unique ILIAS platform id formatted as an E-Mail address###04 12 2025 new variable +lti#:#conf_privacy_ident_il_uuid_sha256_info#:#This is identical to each call, but does not permit any direct conclusions about the ILIAS user.###04 12 2025 new variable +lti#:#conf_privacy_ident_il_uuid_sha256url#:#Hash combined with the ILIAS Domain formatted as an E-Mail address.###04 12 2025 new variable +lti#:#conf_privacy_ident_il_uuid_sha256url_info#:#This is identical to each call, with with a maximum of 80 characters significantly shorter than the variant with the ILIAS platform ID and allows only very limited conclusions about the ILIAS user.###04 12 2025 new variable lti#:#conf_privacy_ident_il_uuid_user_id#:#ILIAS user id combined with a unique ILIAS platform id formated as an email adress. lti#:#conf_privacy_ident_il_uuid_user_id_info#:#This is identical to each call, but doesn't allow a direct conclusion about the ILIAS user. lti#:#conf_privacy_ident_info#:#Standard is frequently the email address. The unique ILIAS platform id is: @@ -11276,13 +11282,16 @@ lti#:#launched#:#Resource was already launched. lti#:#learning_progress_options#:#Options for Learning Progress lti#:#lm_only_one_download_per_type#:#Veuillez noter que vous ne pouvez rendre accessible au public qu’un seul fichier par type (XML, HTML, SCORM). lti#:#lti13_hints#:#If the tool was created without dynamic registration, the following data must be entered for the tool to run.###31 10 2023 new variable +lti#:#lti_13_authentication_url#:#Authentication Request URL###04 12 2025 new variable lti#:#lti_13_client_id#:#Client-ID###31 10 2023 new variable lti#:#lti_13_deployment_id#:#Deployment-ID###31 10 2023 new variable +lti#:#lti_13_keyset_url#:#Public Keyset URL###04 12 2025 new variable lti#:#lti_13_platform_id#:#Platform-ID###31 10 2023 new variable lti#:#lti_13_step1#:#Step 1###31 10 2023 new variable lti#:#lti_13_step1_info#:#For the initiating platform (consumer), enter the following address for Launch URL, Initiate Login URL, Redirection URI, and Registration URL:###31 10 2023 new variable lti#:#lti_13_step2#:#Step 2###31 10 2023 new variable lti#:#lti_13_step2_info#:#You will receive information from the initiating platform (Consumer), which you must enter in the following fields. After saving, the LTI 1.3 functionalities are available.###31 10 2023 new variable +lti#:#lti_13_token_url#:#Access Token URL###04 12 2025 new variable lti#:#lti_action_accept_provider_as_global#:#Accept Provider as Global Provider for all Users lti#:#lti_action_accept_providers_as_global#:#Accept Providers as Global lti#:#lti_action_delete_providers#:#Delete Providers @@ -11296,6 +11305,8 @@ lti#:#lti_at_least_one_prov_has_usages#:#At least one provider could not be dele lti#:#lti_auth_failed_invalid_key#:#Authentification échouée, aucune clé consommateur valide donnée. lti#:#lti_con_content_item#:#Support for Deep Linking###31 10 2023 new variable lti#:#lti_con_content_item_url#:#Content URL###31 10 2023 new variable +lti#:#lti_con_grade_synchronization#:#Advanced Grading Services###04 12 2025 new variable +lti#:#lti_con_grade_synchronization_info#:#The LTI tool must offer 'Assignment and Grade Services'.###04 12 2025 new variable lti#:#lti_con_initiate_login_url#:#Initiate Login URL###31 10 2023 new variable lti#:#lti_con_key_type#:#Public Key Type###31 10 2023 new variable lti#:#lti_con_key_type_jwk#:#URL (Json Web Token)###31 10 2023 new variable @@ -11315,6 +11326,10 @@ lti#:#lti_con_prov_category_info#:#Category to filter entries when LTI Consumer lti#:#lti_con_prov_custom_params#:#Custom Parameters for this specific Provider lti#:#lti_con_prov_custom_params_info#:#Please enter them in the form param1=value1; param2=value2 lti#:#lti_con_prov_description#:#Description +lti#:#lti_con_prov_dyn_reg_params#:#Optional Parameters###04 12 2025 new variable +lti#:#lti_con_prov_dyn_reg_params_info#:#Here, for example, references to target objects in the tool can be specified.###04 12 2025 new variable +lti#:#lti_con_prov_dyn_reg_url#:#Registration URL of the Tool###04 12 2025 new variable +lti#:#lti_con_prov_dyn_reg_url_info#:#Note: Not every tool supports dynamic registration.###04 12 2025 new variable lti#:#lti_con_prov_external_provider#:#External Provider lti#:#lti_con_prov_external_provider_info#:#A hint will be shown to users when dealing with an external Provider. An external Provider is characterized by insufficient influence on the Provider by the operator of the ILIAS-installation. This is the case when there are no rights to delete. lti#:#lti_con_prov_group_options#:#Options to group and filter Providers @@ -11383,6 +11398,7 @@ lti#:#lti_custom_new#:#Create Own Provider Settings lti#:#lti_delete_consume_provider#:#Delete Provider lti#:#lti_delete_consume_providers#:#Delete Providers lti#:#lti_delete_provider#:#Delete Provider +lti#:#lti_dynamic_registration#:#Create Own Settings for Tool with Dynamic Registration (LTI 1.3)###04 12 2025 lti#:#lti_edit_consumer#:#Éditer consommateur LTI lti#:#lti_exit#:#Fermer session LTI lti#:#lti_exited#:#Session LTI fermée diff --git a/lang/ilias_hr.lang b/lang/ilias_hr.lang index f91968cc3549..5ebe3efd6d0e 100644 --- a/lang/ilias_hr.lang +++ b/lang/ilias_hr.lang @@ -11206,6 +11206,12 @@ lti#:#conf_privacy_ident_il_uuid_ext_account#:#External User ID combined with a lti#:#conf_privacy_ident_il_uuid_ext_account_info#:#This is identical to each call, but may allow a direct conclusion about the user.###26 08 2024 new variable lti#:#conf_privacy_ident_il_uuid_login#:#ILIAS Login combined with a unique ILIAS platform id formatted as an E-Mail address###26 08 2024 new variable lti#:#conf_privacy_ident_il_uuid_login_info#:#Sends the login name. This is identical to each call, but may allow a direct conclusion about the ILIAS user.###26 08 2024 new variable +lti#:#conf_privacy_ident_il_uuid_random#:#Random ID combined with a unique ILIAS platform ID formatted as an E-Mail address###04 12 2025 new variable +lti#:#conf_privacy_ident_il_uuid_random_info#:#For each ILIAS object and ILIAS user a random ID is generated which remains identical for each call. Conclusions about a user are very limited because it is practically impossible to create user profiles across objects.###04 12 2025 new variable +lti#:#conf_privacy_ident_il_uuid_sha256#:#Hash combined with a unique ILIAS platform id formatted as an E-Mail address###04 12 2025 new variable +lti#:#conf_privacy_ident_il_uuid_sha256_info#:#This is identical to each call, but does not permit any direct conclusions about the ILIAS user.###04 12 2025 new variable +lti#:#conf_privacy_ident_il_uuid_sha256url#:#Hash combined with the ILIAS Domain formatted as an E-Mail address.###04 12 2025 new variable +lti#:#conf_privacy_ident_il_uuid_sha256url_info#:#This is identical to each call, with with a maximum of 80 characters significantly shorter than the variant with the ILIAS platform ID and allows only very limited conclusions about the ILIAS user.###04 12 2025 new variable lti#:#conf_privacy_ident_il_uuid_user_id#:#ILIAS user id combined with a unique ILIAS platform id formatted as an E-Mail address###26 08 2024 new variable lti#:#conf_privacy_ident_il_uuid_user_id_info#:#Sends the internal numeric user id. This is identical to each call, but may allow conclusions about the ILIAS user.###26 08 2024 new variable lti#:#conf_privacy_ident_info#:#Standard is frequently the email address. The unique ILIAS platform id is:###26 08 2024 new variable @@ -11291,13 +11297,16 @@ lti#:#launched#:#Resource was already launched.###04 06 2021 new variable lti#:#learning_progress_options#:#Options for Learning Progress###04 06 2021 new variable lti#:#lm_only_one_download_per_type#:#Napominjemo da možete učiniti javno dostupnom samo jednu datoteku po tipu (XML, HTML, SCORM). lti#:#lti13_hints#:#If the tool was created without dynamic registration, the following data must be entered for the tool to run.###26 08 2024 new variable +lti#:#lti_13_authentication_url#:#Authentication Request URL###04 12 2025 new variable lti#:#lti_13_client_id#:#Client-ID###26 08 2024 new variable lti#:#lti_13_deployment_id#:#Deployment-ID###26 08 2024 new variable +lti#:#lti_13_keyset_url#:#Public Keyset URL###04 12 2025 new variable lti#:#lti_13_platform_id#:#Platform-ID###26 08 2024 new variable lti#:#lti_13_step1#:#Step 1###26 08 2024 new variable lti#:#lti_13_step1_info#:#For the initiating platform (consumer), enter the following address for Launch URL, Initiate Login URL, Redirection URI, and Registration URL:###26 08 2024 new variable lti#:#lti_13_step2#:#Step 2###26 08 2024 new variable lti#:#lti_13_step2_info#:#You will receive information from the initiating platform (Consumer), which you must enter in the following fields. After saving, the LTI 1.3 functionalities are available.###26 08 2024 new variable +lti#:#lti_13_token_url#:#Access Token URL###04 12 2025 new variable lti#:#lti_action_accept_provider_as_global#:#Accept Provider as Global Provider for all Users###04 06 2021 new variable lti#:#lti_action_accept_providers_as_global#:#Accept Providers as Global###04 06 2021 new variable lti#:#lti_action_delete_providers#:#Delete Providers###04 06 2021 new variable @@ -11311,6 +11320,8 @@ lti#:#lti_at_least_one_prov_has_usages#:#At least one provider could not be dele lti#:#lti_auth_failed_invalid_key#:#Autentifikacija nije uspjela, nije dan valjani potrošački ključ. lti#:#lti_con_content_item#:#Support for Deep Linking###26 08 2024 new variable lti#:#lti_con_content_item_url#:#Content URL###26 08 2024 new variable +lti#:#lti_con_grade_synchronization#:#Advanced Grading Services###04 12 2025 new variable +lti#:#lti_con_grade_synchronization_info#:#The LTI tool must offer 'Assignment and Grade Services'.###04 12 2025 new variable lti#:#lti_con_initiate_login_url#:#Initiate Login URL###26 08 2024 new variable lti#:#lti_con_key_type#:#Public Key Type###26 08 2024 new variable lti#:#lti_con_key_type_jwk#:#URL (Json Web Token)###26 08 2024 new variable @@ -11330,6 +11341,10 @@ lti#:#lti_con_prov_category_info#:#Category to filter entries when LTI Consumer lti#:#lti_con_prov_custom_params#:#Custom Parameters for this specific Provider###04 06 2021 new variable lti#:#lti_con_prov_custom_params_info#:#Please enter them in the form param1=value1; param2=value2###04 06 2021 new variable lti#:#lti_con_prov_description#:#Description###04 06 2021 new variable +lti#:#lti_con_prov_dyn_reg_params#:#Optional Parameters###04 12 2025 new variable +lti#:#lti_con_prov_dyn_reg_params_info#:#Here, for example, references to target objects in the tool can be specified.###04 12 2025 new variable +lti#:#lti_con_prov_dyn_reg_url#:#Registration URL of the Tool###04 12 2025 new variable +lti#:#lti_con_prov_dyn_reg_url_info#:#Note: Not every tool supports dynamic registration.###04 12 2025 new variable lti#:#lti_con_prov_external_provider#:#External Provider###04 06 2021 new variable lti#:#lti_con_prov_external_provider_info#:#A hint will be shown to users when dealing with an external Provider. An external Provider is characterized by insufficient influence on the Provider by the operator of the ILIAS-installation. This is the case when there are no rights to delete.###04 06 2021 new variable lti#:#lti_con_prov_group_options#:#Options to group and filter Providers###04 06 2021 new variable @@ -11398,6 +11413,7 @@ lti#:#lti_custom_new#:#Create Own Provider Settings###04 06 2021 new variable lti#:#lti_delete_consume_provider#:#Delete Provider###04 06 2021 new variable lti#:#lti_delete_consume_providers#:#Delete Providers###04 06 2021 new variable lti#:#lti_delete_provider#:#Delete Provider###04 06 2021 new variable +lti#:#lti_dynamic_registration#:#Create Own Settings for Tool with Dynamic Registration (LTI 1.3)###04 12 2025 lti#:#lti_edit_consumer#:#Uredi LTI potrošača lti#:#lti_exit#:#Zatvori LTI sesiju lti#:#lti_exited#:#LTI sesija zatvorena diff --git a/lang/ilias_hu.lang b/lang/ilias_hu.lang index 8d5308fa265e..aba31355b9f3 100644 --- a/lang/ilias_hu.lang +++ b/lang/ilias_hu.lang @@ -11206,6 +11206,12 @@ lti#:#conf_privacy_ident_il_uuid_ext_account#:#External User ID combined with a lti#:#conf_privacy_ident_il_uuid_ext_account_info#:#This is identical to each call, but may allow a direct conclusion about the user.###26 08 2024 new variable lti#:#conf_privacy_ident_il_uuid_login#:#ILIAS Login combined with a unique ILIAS platform id formatted as an E-Mail address###26 08 2024 new variable lti#:#conf_privacy_ident_il_uuid_login_info#:#Sends the login name. This is identical to each call, but may allow a direct conclusion about the ILIAS user.###26 08 2024 new variable +lti#:#conf_privacy_ident_il_uuid_random#:#Random ID combined with a unique ILIAS platform ID formatted as an E-Mail address###04 12 2025 new variable +lti#:#conf_privacy_ident_il_uuid_random_info#:#For each ILIAS object and ILIAS user a random ID is generated which remains identical for each call. Conclusions about a user are very limited because it is practically impossible to create user profiles across objects.###04 12 2025 new variable +lti#:#conf_privacy_ident_il_uuid_sha256#:#Hash combined with a unique ILIAS platform id formatted as an E-Mail address###04 12 2025 new variable +lti#:#conf_privacy_ident_il_uuid_sha256_info#:#This is identical to each call, but does not permit any direct conclusions about the ILIAS user.###04 12 2025 new variable +lti#:#conf_privacy_ident_il_uuid_sha256url#:#Hash combined with the ILIAS Domain formatted as an E-Mail address.###04 12 2025 new variable +lti#:#conf_privacy_ident_il_uuid_sha256url_info#:#This is identical to each call, with with a maximum of 80 characters significantly shorter than the variant with the ILIAS platform ID and allows only very limited conclusions about the ILIAS user.###04 12 2025 new variable lti#:#conf_privacy_ident_il_uuid_user_id#:#ILIAS user id combined with a unique ILIAS platform id formatted as an E-Mail address###26 08 2024 new variable lti#:#conf_privacy_ident_il_uuid_user_id_info#:#Sends the internal numeric user id. This is identical to each call, but may allow conclusions about the ILIAS user.###26 08 2024 new variable lti#:#conf_privacy_ident_info#:#Standard is frequently the email address. The unique ILIAS platform id is:###26 08 2024 new variable @@ -11291,13 +11297,16 @@ lti#:#launched#:#Resource was already launched. lti#:#learning_progress_options#:#Options for Learning Progress lti#:#lm_only_one_download_per_type#:#Kérjük, ügyeljen arra, hogy típusonként (XML, HTML, SCORM) csak egy fájlt tegyen nyilvánosan elérhetővé. lti#:#lti13_hints#:#If the tool was created without dynamic registration, the following data must be entered for the tool to run.###26 08 2024 new variable +lti#:#lti_13_authentication_url#:#Authentication Request URL###04 12 2025 new variable lti#:#lti_13_client_id#:#Client-ID###26 08 2024 new variable lti#:#lti_13_deployment_id#:#Deployment-ID###26 08 2024 new variable +lti#:#lti_13_keyset_url#:#Public Keyset URL###04 12 2025 new variable lti#:#lti_13_platform_id#:#Platform-ID###26 08 2024 new variable lti#:#lti_13_step1#:#Step 1###26 08 2024 new variable lti#:#lti_13_step1_info#:#For the initiating platform (consumer), enter the following address for Launch URL, Initiate Login URL, Redirection URI, and Registration URL:###26 08 2024 new variable lti#:#lti_13_step2#:#Step 2###26 08 2024 new variable lti#:#lti_13_step2_info#:#You will receive information from the initiating platform (Consumer), which you must enter in the following fields. After saving, the LTI 1.3 functionalities are available.###26 08 2024 new variable +lti#:#lti_13_token_url#:#Access Token URL###04 12 2025 new variable lti#:#lti_action_accept_provider_as_global#:#Accept Kiszolgáló as Global Kiszolgáló for all Users lti#:#lti_action_accept_providers_as_global#:#Accept Kiszolgálók as Global lti#:#lti_action_delete_providers#:#Delete Kiszolgálós @@ -11311,6 +11320,8 @@ lti#:#lti_at_least_one_prov_has_usages#:#At least one provider could not be dele lti#:#lti_auth_failed_invalid_key#:#A hitelesítés sikertelen, nem jó a fogyasztói kulcs. lti#:#lti_con_content_item#:#Support for Deep Linking###26 08 2024 new variable lti#:#lti_con_content_item_url#:#Content URL###26 08 2024 new variable +lti#:#lti_con_grade_synchronization#:#Advanced Grading Services###04 12 2025 new variable +lti#:#lti_con_grade_synchronization_info#:#The LTI tool must offer 'Assignment and Grade Services'.###04 12 2025 new variable lti#:#lti_con_initiate_login_url#:#Initiate Login URL###26 08 2024 new variable lti#:#lti_con_key_type#:#Public Key Type###26 08 2024 new variable lti#:#lti_con_key_type_jwk#:#URL (Json Web Token)###26 08 2024 new variable @@ -11330,6 +11341,10 @@ lti#:#lti_con_prov_category_info#:#Category to filter entries when LTI Consumer lti#:#lti_con_prov_custom_params#:#Custom Parameters for this specific Kiszolgáló lti#:#lti_con_prov_custom_params_info#:#Please enter them in the form param1=value1; param2=value2 lti#:#lti_con_prov_description#:#Description +lti#:#lti_con_prov_dyn_reg_params#:#Optional Parameters###04 12 2025 new variable +lti#:#lti_con_prov_dyn_reg_params_info#:#Here, for example, references to target objects in the tool can be specified.###04 12 2025 new variable +lti#:#lti_con_prov_dyn_reg_url#:#Registration URL of the Tool###04 12 2025 new variable +lti#:#lti_con_prov_dyn_reg_url_info#:#Note: Not every tool supports dynamic registration.###04 12 2025 new variable lti#:#lti_con_prov_external_provider#:#Küldő kiszolgáló lti#:#lti_con_prov_external_provider_info#:#A hint will be shown to users when dealing with an external Kiszolgáló. An external Kiszolgáló is characterized by insufficient influence on the Kiszolgáló by the operator of the ILIAS-installation. This is the case when there are no rights to delete. lti#:#lti_con_prov_group_options#:#Options to group and filter Kiszolgálós @@ -11398,6 +11413,7 @@ lti#:#lti_custom_new#:#Create Own Kiszolgáló Settings lti#:#lti_delete_consume_provider#:#Kiszolgáló törlése lti#:#lti_delete_consume_providers#:# Kiszolgálók törlése lti#:#lti_delete_provider#:#Delete Kiszolgáló +lti#:#lti_dynamic_registration#:#Create Own Settings for Tool with Dynamic Registration (LTI 1.3)###04 12 2025 lti#:#lti_edit_consumer#:#LTI-fogyasztó módosítása lti#:#lti_exit#:#LTI-munkamenet lezárása lti#:#lti_exited#:#LTI-munkamenet lezárva diff --git a/lang/ilias_it.lang b/lang/ilias_it.lang index c8d8b1de77b9..c366f8bae8da 100644 --- a/lang/ilias_it.lang +++ b/lang/ilias_it.lang @@ -11314,6 +11314,8 @@ lti#:#lti_at_least_one_prov_has_usages#:#Almeno uno dei provider non può essere lti#:#lti_auth_failed_invalid_key#:#Autenticazione fallita, nessuna chiave del consumatore valida fornita. lti#:#lti_con_content_item#:#Support for Deep Linking###31 03 2023 new variable lti#:#lti_con_content_item_url#:#Content URL###31 03 2023 new variable +lti#:#lti_con_grade_synchronization#:#Advanced Grading Services###04 12 2025 new variable +lti#:#lti_con_grade_synchronization_info#:#The LTI tool must offer 'Assignment and Grade Services'.###04 12 2025 new variable lti#:#lti_con_initiate_login_url#:#Initiate Login URL###31 03 2023 new variable lti#:#lti_con_key_type#:#Public Key Type###31 03 2023 new variable lti#:#lti_con_key_type_jwk#:#URL (Json Web Token)###31 03 2023 new variable diff --git a/lang/ilias_ja.lang b/lang/ilias_ja.lang index 5a0299f74e63..488425820766 100644 --- a/lang/ilias_ja.lang +++ b/lang/ilias_ja.lang @@ -11206,6 +11206,12 @@ lti#:#conf_privacy_ident_il_uuid_ext_account#:#メールアドレスとしてユ lti#:#conf_privacy_ident_il_uuid_ext_account_info#:#これはコール毎に区別されますがILIASユーザに関して直接結論を許可する可能性があります。 lti#:#conf_privacy_ident_il_uuid_login#:#メールアドレスとしてユニークなILIASプラットフォームIDでフォーマットされて結合されたILIAS Login lti#:#conf_privacy_ident_il_uuid_login_info#:#これはコール毎に区別されますがILIASユーザに関して直接結論を許可する可能性があります。 +lti#:#conf_privacy_ident_il_uuid_random#:#EメールアドレスでユニークなILIASプラットフォームでフォーマットされて組み合されたランダムID###04 12 2025 new variable +lti#:#conf_privacy_ident_il_uuid_random_info#:#それぞれILIASオブジェクトとILIASユーザランダムIDは、コール毎に同一のままのランダムIDを生成します。オブジェクトを超えたユーザプロファイル生成がほぼ不可能でる事によりユーザに関する結論は、極めて限定的です。###04 12 2025 new variable +lti#:#conf_privacy_ident_il_uuid_sha256#:#EメールアドレスでユニークなILIASプラットフォームでフォーマットされて組み合されたハッシュ###04 12 2025 new variable +lti#:#conf_privacy_ident_il_uuid_sha256_info#:#これはコール毎に同じですが、ILIASユーザに関してはダイレクトに終結は許可されません。###04 12 2025 new variable +lti#:#conf_privacy_ident_il_uuid_sha256url#:#EメールアドレスのILIASドメインでフォーマットされたハッシュ###04 12 2025 new variable +lti#:#conf_privacy_ident_il_uuid_sha256url_info#:#これはコール毎に同じILIASプラットホームIDで可変の最高80文字よりかなり短く、ILIASユーザーに関して非常に限定された結果のみを許容。###04 12 2025 new variable lti#:#conf_privacy_ident_il_uuid_user_id#:#メールアドレスとしてユニークなILIASプラットフォームでフォーマットされて結合されたILIASユーザID lti#:#conf_privacy_ident_il_uuid_user_id_info#:#これはコール毎に区別されますがILIASユーザに関して直接結論は許可しません。 lti#:#conf_privacy_ident_info#:#標準はメールアドレスが使用されます。ユニークなILIASプラットフォームid: @@ -11291,13 +11297,16 @@ lti#:#launched#:#リソースは既に起動しています。 lti#:#learning_progress_options#:#学習進捗オプション lti#:#lm_only_one_download_per_type#:#パブリックアクセス可能なタイプ(XML, HTML, SCORM)当たり1ファイルしか作成できない事に注意願います。 lti#:#lti13_hints#:#Hints###19 08 2022 new variable +lti#:#lti_13_authentication_url#:#Authentication Request URL###04 12 2025 new variable lti#:#lti_13_client_id#:#Client-ID###19 08 2022 new variable lti#:#lti_13_deployment_id#:#Deployment-ID###19 08 2022 new variable +lti#:#lti_13_keyset_url#:#Public Keyset URL###04 12 2025 new variable lti#:#lti_13_platform_id#:#Platform-ID###19 08 2022 new variable lti#:#lti_13_step1#:#Step 1###19 08 2022 new variable lti#:#lti_13_step1_info#:#For the initiating platform (consumer), enter the following address for Launch URL, Initiate Login URL, Redirection URI, and Registration URL:###19 08 2022 new variable lti#:#lti_13_step2#:#Step 2###19 08 2022 new variable lti#:#lti_13_step2_info#:#You will receive information from the initiating platform (Consumer), which you must enter in the following fields. After saving, the LTI 1.3 functionalities are available.###19 08 2022 new variable +lti#:#lti_13_token_url#:#Access Token URL###04 12 2025 new variable lti#:#lti_action_accept_provider_as_global#:#全ユーザ用のグローバルプロバイダーとしてプロバイダを承認 lti#:#lti_action_accept_providers_as_global#:#グローバルとしてプロバイダーを承認 lti#:#lti_action_delete_providers#:#プロバイダーを削除 @@ -11311,6 +11320,8 @@ lti#:#lti_at_least_one_prov_has_usages#:# 一つ以上にこのプロバイダ lti#:#lti_auth_failed_invalid_key#:#有効なconsumer keyがないので認証を失敗しました。 lti#:#lti_con_content_item#:#Support for Deep Linking###19 08 2022 new variable lti#:#lti_con_content_item_url#:#Content URL###19 08 2022 new variable +lti#:#lti_con_grade_synchronization#:#Advanced Grading Services###04 12 2025 new variable +lti#:#lti_con_grade_synchronization_info#:#The LTI tool must offer 'Assignment and Grade Services'.###04 12 2025 new variable lti#:#lti_con_initiate_login_url#:#Initiate Login URL###19 08 2022 new variable lti#:#lti_con_key_type#:#Public Key Type###19 08 2022 new variable lti#:#lti_con_key_type_jwk#:#URL (Json Web Token)###19 08 2022 new variable @@ -11330,6 +11341,10 @@ lti#:#lti_con_prov_category_info#:#LTI Consumerオブジェクトが作成され lti#:#lti_con_prov_custom_params#:#この特定のプロバイダー用のカスタムパラメータ lti#:#lti_con_prov_custom_params_info#:#フォームへ入力してください。 param1=value1; param2=value2 lti#:#lti_con_prov_description#:#説明 +lti#:#lti_con_prov_dyn_reg_params#:#Optional Parameters###04 12 2025 new variable +lti#:#lti_con_prov_dyn_reg_params_info#:#Here, for example, references to target objects in the tool can be specified.###04 12 2025 new variable +lti#:#lti_con_prov_dyn_reg_url#:#Registration URL of the Tool###04 12 2025 new variable +lti#:#lti_con_prov_dyn_reg_url_info#:#Note: Not every tool supports dynamic registration.###04 12 2025 new variable lti#:#lti_con_prov_external_provider#:#External Provider lti#:#lti_con_prov_external_provider_info#:#External Providerと通信中ユーザへヒントが表示されます。External ProviderはILIASシステムのオペレータによりプロバイダに対しては不十分な影響として特徴づけられます。これは削除する権利がない時の場合です。 lti#:#lti_con_prov_group_options#:#グループオプションとプロバイダフィルター @@ -11398,6 +11413,7 @@ lti#:#lti_custom_new#:#自身のプロバイダー設定を作成 lti#:#lti_delete_consume_provider#:#プロバイダーを削除 lti#:#lti_delete_consume_providers#:#プロバイダーを削除 lti#:#lti_delete_provider#:#プロバイダーを削除 +lti#:#lti_dynamic_registration#:#Create Own Settings for Tool with Dynamic Registration (LTI 1.3)###04 12 2025 lti#:#lti_edit_consumer#:#LTI Consumerを編集 lti#:#lti_exit#:#LTI Sessionをクローズ lti#:#lti_exited#:#LTI セッションをクローズしました diff --git a/lang/ilias_ka.lang b/lang/ilias_ka.lang index e1f247cd181c..a93981a6afb4 100644 --- a/lang/ilias_ka.lang +++ b/lang/ilias_ka.lang @@ -11206,6 +11206,12 @@ lti#:#conf_privacy_ident_il_uuid_ext_account#:#External User ID combined with a lti#:#conf_privacy_ident_il_uuid_ext_account_info#:#This is identical to each call, but may allow a direct conclusion about the user.###26 08 2024 new variable lti#:#conf_privacy_ident_il_uuid_login#:#ILIAS Login combined with a unique ILIAS platform id formatted as an E-Mail address###26 08 2024 new variable lti#:#conf_privacy_ident_il_uuid_login_info#:#Sends the login name. This is identical to each call, but may allow a direct conclusion about the ILIAS user.###26 08 2024 new variable +lti#:#conf_privacy_ident_il_uuid_random#:#Random ID combined with a unique ILIAS platform ID formatted as an E-Mail address###04 12 2025 new variable +lti#:#conf_privacy_ident_il_uuid_random_info#:#For each ILIAS object and ILIAS user a random ID is generated which remains identical for each call. Conclusions about a user are very limited because it is practically impossible to create user profiles across objects.###04 12 2025 new variable +lti#:#conf_privacy_ident_il_uuid_sha256#:#Hash combined with a unique ILIAS platform id formatted as an E-Mail address###04 12 2025 new variable +lti#:#conf_privacy_ident_il_uuid_sha256_info#:#This is identical to each call, but does not permit any direct conclusions about the ILIAS user.###04 12 2025 new variable +lti#:#conf_privacy_ident_il_uuid_sha256url#:#Hash combined with the ILIAS Domain formatted as an E-Mail address.###04 12 2025 new variable +lti#:#conf_privacy_ident_il_uuid_sha256url_info#:#This is identical to each call, with with a maximum of 80 characters significantly shorter than the variant with the ILIAS platform ID and allows only very limited conclusions about the ILIAS user.###04 12 2025 new variable lti#:#conf_privacy_ident_il_uuid_user_id#:#ILIAS user id combined with a unique ILIAS platform id formatted as an E-Mail address###26 08 2024 new variable lti#:#conf_privacy_ident_il_uuid_user_id_info#:#Sends the internal numeric user id. This is identical to each call, but may allow conclusions about the ILIAS user.###26 08 2024 new variable lti#:#conf_privacy_ident_info#:#Standard is frequently the email address. The unique ILIAS platform id is:###26 08 2024 new variable @@ -11291,13 +11297,16 @@ lti#:#launched#:#Resource was already launched.###07 02 2020 new variable lti#:#learning_progress_options#:#Options for Learning Progress###07 02 2020 new variable lti#:#lm_only_one_download_per_type#:#Please note that you can only make one file per type (XML, HTML, SCORM) public accessible.###31 08 2017 new variable lti#:#lti13_hints#:#If the tool was created without dynamic registration, the following data must be entered for the tool to run.###26 08 2024 new variable +lti#:#lti_13_authentication_url#:#Authentication Request URL###04 12 2025 new variable lti#:#lti_13_client_id#:#Client-ID###26 08 2024 new variable lti#:#lti_13_deployment_id#:#Deployment-ID###26 08 2024 new variable +lti#:#lti_13_keyset_url#:#Public Keyset URL###04 12 2025 new variable lti#:#lti_13_platform_id#:#Platform-ID###26 08 2024 new variable lti#:#lti_13_step1#:#Step 1###26 08 2024 new variable lti#:#lti_13_step1_info#:#For the initiating platform (consumer), enter the following address for Launch URL, Initiate Login URL, Redirection URI, and Registration URL:###26 08 2024 new variable lti#:#lti_13_step2#:#Step 2###26 08 2024 new variable lti#:#lti_13_step2_info#:#You will receive information from the initiating platform (Consumer), which you must enter in the following fields. After saving, the LTI 1.3 functionalities are available.###26 08 2024 new variable +lti#:#lti_13_token_url#:#Access Token URL###04 12 2025 new variable lti#:#lti_action_accept_provider_as_global#:#Accept Provider as Global Provider for all Users###07 02 2020 new variable lti#:#lti_action_accept_providers_as_global#:#Accept Providers as Global###07 02 2020 new variable lti#:#lti_action_delete_providers#:#Delete Providers###07 02 2020 new variable @@ -11311,6 +11320,8 @@ lti#:#lti_at_least_one_prov_has_usages#:#At least one provider could not be dele lti#:#lti_auth_failed_invalid_key#:#Authentication failed, no valid consumer key given.###31 08 2017 new variable lti#:#lti_con_content_item#:#Support for Deep Linking###26 08 2024 new variable lti#:#lti_con_content_item_url#:#Content URL###26 08 2024 new variable +lti#:#lti_con_grade_synchronization#:#Advanced Grading Services###04 12 2025 new variable +lti#:#lti_con_grade_synchronization_info#:#The LTI tool must offer 'Assignment and Grade Services'.###04 12 2025 new variable lti#:#lti_con_initiate_login_url#:#Initiate Login URL###26 08 2024 new variable lti#:#lti_con_key_type#:#Public Key Type###26 08 2024 new variable lti#:#lti_con_key_type_jwk#:#URL (Json Web Token)###26 08 2024 new variable @@ -11330,6 +11341,10 @@ lti#:#lti_con_prov_category_info#:#Category to filter entries when LTI Consumer lti#:#lti_con_prov_custom_params#:#Custom Parameters for this specific Provider###07 02 2020 new variable lti#:#lti_con_prov_custom_params_info#:#Please enter them in the form param1=value1; param2=value2###07 02 2020 new variable lti#:#lti_con_prov_description#:#Description###07 02 2020 new variable +lti#:#lti_con_prov_dyn_reg_params#:#Optional Parameters###04 12 2025 new variable +lti#:#lti_con_prov_dyn_reg_params_info#:#Here, for example, references to target objects in the tool can be specified.###04 12 2025 new variable +lti#:#lti_con_prov_dyn_reg_url#:#Registration URL of the Tool###04 12 2025 new variable +lti#:#lti_con_prov_dyn_reg_url_info#:#Note: Not every tool supports dynamic registration.###04 12 2025 new variable lti#:#lti_con_prov_external_provider#:#External Provider###07 02 2020 new variable lti#:#lti_con_prov_external_provider_info#:#A hint will be shown to users when dealing with an external Provider. An external Provider is characterized by insufficient influence on the Provider by the operator of the ILIAS-installation. This is the case when there are no rights to delete.###07 02 2020 new variable lti#:#lti_con_prov_group_options#:#Options to group and filter Providers###07 02 2020 new variable @@ -11398,6 +11413,7 @@ lti#:#lti_custom_new#:#Create Own Provider Settings###07 02 2020 new variable lti#:#lti_delete_consume_provider#:#Delete Provider###07 02 2020 new variable lti#:#lti_delete_consume_providers#:#Delete Providers###07 02 2020 new variable lti#:#lti_delete_provider#:#Delete Provider###07 02 2020 new variable +lti#:#lti_dynamic_registration#:#Create Own Settings for Tool with Dynamic Registration (LTI 1.3)###04 12 2025 lti#:#lti_edit_consumer#:#Edit LTI Consumer###31 08 2017 new variable lti#:#lti_exit#:#Close LTI Session###31 08 2017 new variable lti#:#lti_exited#:#LTI Session closed###31 08 2017 new variable diff --git a/lang/ilias_lt.lang b/lang/ilias_lt.lang index bc8de2f68284..f2081f378d0f 100644 --- a/lang/ilias_lt.lang +++ b/lang/ilias_lt.lang @@ -11206,6 +11206,12 @@ lti#:#conf_privacy_ident_il_uuid_ext_account#:#External User ID combined with a lti#:#conf_privacy_ident_il_uuid_ext_account_info#:#This is identical to each call, but may allow a direct conclusion about the user.###26 08 2024 new variable lti#:#conf_privacy_ident_il_uuid_login#:#ILIAS Login combined with a unique ILIAS platform id formatted as an E-Mail address###26 08 2024 new variable lti#:#conf_privacy_ident_il_uuid_login_info#:#Sends the login name. This is identical to each call, but may allow a direct conclusion about the ILIAS user.###26 08 2024 new variable +lti#:#conf_privacy_ident_il_uuid_random#:#Random ID combined with a unique ILIAS platform ID formatted as an E-Mail address###04 12 2025 new variable +lti#:#conf_privacy_ident_il_uuid_random_info#:#For each ILIAS object and ILIAS user a random ID is generated which remains identical for each call. Conclusions about a user are very limited because it is practically impossible to create user profiles across objects.###04 12 2025 new variable +lti#:#conf_privacy_ident_il_uuid_sha256#:#Hash combined with a unique ILIAS platform id formatted as an E-Mail address###04 12 2025 new variable +lti#:#conf_privacy_ident_il_uuid_sha256_info#:#This is identical to each call, but does not permit any direct conclusions about the ILIAS user.###04 12 2025 new variable +lti#:#conf_privacy_ident_il_uuid_sha256url#:#Hash combined with the ILIAS Domain formatted as an E-Mail address.###04 12 2025 new variable +lti#:#conf_privacy_ident_il_uuid_sha256url_info#:#This is identical to each call, with with a maximum of 80 characters significantly shorter than the variant with the ILIAS platform ID and allows only very limited conclusions about the ILIAS user.###04 12 2025 new variable lti#:#conf_privacy_ident_il_uuid_user_id#:#ILIAS user id combined with a unique ILIAS platform id formatted as an E-Mail address###26 08 2024 new variable lti#:#conf_privacy_ident_il_uuid_user_id_info#:#Sends the internal numeric user id. This is identical to each call, but may allow conclusions about the ILIAS user.###26 08 2024 new variable lti#:#conf_privacy_ident_info#:#Standard is frequently the email address. The unique ILIAS platform id is:###26 08 2024 new variable @@ -11291,13 +11297,16 @@ lti#:#launched#:#Resource was already launched.###07 02 2020 new variable lti#:#learning_progress_options#:#Options for Learning Progress###07 02 2020 new variable lti#:#lm_only_one_download_per_type#:#Please note that you can only make one file per type (XML, HTML, SCORM) public accessible.###31 08 2017 new variable lti#:#lti13_hints#:#If the tool was created without dynamic registration, the following data must be entered for the tool to run.###26 08 2024 new variable +lti#:#lti_13_authentication_url#:#Authentication Request URL###04 12 2025 new variable lti#:#lti_13_client_id#:#Client-ID###26 08 2024 new variable lti#:#lti_13_deployment_id#:#Deployment-ID###26 08 2024 new variable +lti#:#lti_13_keyset_url#:#Public Keyset URL###04 12 2025 new variable lti#:#lti_13_platform_id#:#Platform-ID###26 08 2024 new variable lti#:#lti_13_step1#:#Step 1###26 08 2024 new variable lti#:#lti_13_step1_info#:#For the initiating platform (consumer), enter the following address for Launch URL, Initiate Login URL, Redirection URI, and Registration URL:###26 08 2024 new variable lti#:#lti_13_step2#:#Step 2###26 08 2024 new variable lti#:#lti_13_step2_info#:#You will receive information from the initiating platform (Consumer), which you must enter in the following fields. After saving, the LTI 1.3 functionalities are available.###26 08 2024 new variable +lti#:#lti_13_token_url#:#Access Token URL###04 12 2025 new variable lti#:#lti_action_accept_provider_as_global#:#Accept Provider as Global Provider for all Users###07 02 2020 new variable lti#:#lti_action_accept_providers_as_global#:#Accept Providers as Global###07 02 2020 new variable lti#:#lti_action_delete_providers#:#Delete Providers###07 02 2020 new variable @@ -11311,6 +11320,8 @@ lti#:#lti_at_least_one_prov_has_usages#:#At least one provider could not be dele lti#:#lti_auth_failed_invalid_key#:#Authentication failed, no valid consumer key given.###31 08 2017 new variable lti#:#lti_con_content_item#:#Support for Deep Linking###26 08 2024 new variable lti#:#lti_con_content_item_url#:#Content URL###26 08 2024 new variable +lti#:#lti_con_grade_synchronization#:#Advanced Grading Services###04 12 2025 new variable +lti#:#lti_con_grade_synchronization_info#:#The LTI tool must offer 'Assignment and Grade Services'.###04 12 2025 new variable lti#:#lti_con_initiate_login_url#:#Initiate Login URL###26 08 2024 new variable lti#:#lti_con_key_type#:#Public Key Type###26 08 2024 new variable lti#:#lti_con_key_type_jwk#:#URL (Json Web Token)###26 08 2024 new variable @@ -11330,6 +11341,10 @@ lti#:#lti_con_prov_category_info#:#Category to filter entries when LTI Consumer lti#:#lti_con_prov_custom_params#:#Custom Parameters for this specific Provider###07 02 2020 new variable lti#:#lti_con_prov_custom_params_info#:#Please enter them in the form param1=value1; param2=value2###07 02 2020 new variable lti#:#lti_con_prov_description#:#Description###07 02 2020 new variable +lti#:#lti_con_prov_dyn_reg_params#:#Optional Parameters###04 12 2025 new variable +lti#:#lti_con_prov_dyn_reg_params_info#:#Here, for example, references to target objects in the tool can be specified.###04 12 2025 new variable +lti#:#lti_con_prov_dyn_reg_url#:#Registration URL of the Tool###04 12 2025 new variable +lti#:#lti_con_prov_dyn_reg_url_info#:#Note: Not every tool supports dynamic registration.###04 12 2025 new variable lti#:#lti_con_prov_external_provider#:#External Provider###07 02 2020 new variable lti#:#lti_con_prov_external_provider_info#:#A hint will be shown to users when dealing with an external Provider. An external Provider is characterized by insufficient influence on the Provider by the operator of the ILIAS-installation. This is the case when there are no rights to delete.###07 02 2020 new variable lti#:#lti_con_prov_group_options#:#Options to group and filter Providers###07 02 2020 new variable @@ -11398,6 +11413,7 @@ lti#:#lti_custom_new#:#Create Own Provider Settings###07 02 2020 new variable lti#:#lti_delete_consume_provider#:#Delete Provider###07 02 2020 new variable lti#:#lti_delete_consume_providers#:#Delete Providers###07 02 2020 new variable lti#:#lti_delete_provider#:#Delete Provider###07 02 2020 new variable +lti#:#lti_dynamic_registration#:#Create Own Settings for Tool with Dynamic Registration (LTI 1.3)###04 12 2025 lti#:#lti_edit_consumer#:#Edit LTI Consumer###31 08 2017 new variable lti#:#lti_exit#:#Close LTI Session###31 08 2017 new variable lti#:#lti_exited#:#LTI Session closed###31 08 2017 new variable diff --git a/lang/ilias_nl.lang b/lang/ilias_nl.lang index f5e1608957b5..ecc48c00f421 100644 --- a/lang/ilias_nl.lang +++ b/lang/ilias_nl.lang @@ -11206,6 +11206,12 @@ lti#:#conf_privacy_ident_il_uuid_ext_account#:#External User ID combined with a lti#:#conf_privacy_ident_il_uuid_ext_account_info#:#This is identical to each call, but may allow a direct conclusion about the user.###26 08 2024 new variable lti#:#conf_privacy_ident_il_uuid_login#:#ILIAS Login combined with a unique ILIAS platform id formatted as an E-Mail address###26 08 2024 new variable lti#:#conf_privacy_ident_il_uuid_login_info#:#Sends the login name. This is identical to each call, but may allow a direct conclusion about the ILIAS user.###26 08 2024 new variable +lti#:#conf_privacy_ident_il_uuid_random#:#Random ID combined with a unique ILIAS platform ID formatted as an E-Mail address###04 12 2025 new variable +lti#:#conf_privacy_ident_il_uuid_random_info#:#For each ILIAS object and ILIAS user a random ID is generated which remains identical for each call. Conclusions about a user are very limited because it is practically impossible to create user profiles across objects.###04 12 2025 new variable +lti#:#conf_privacy_ident_il_uuid_sha256#:#Hash combined with a unique ILIAS platform id formatted as an E-Mail address###04 12 2025 new variable +lti#:#conf_privacy_ident_il_uuid_sha256_info#:#This is identical to each call, but does not permit any direct conclusions about the ILIAS user.###04 12 2025 new variable +lti#:#conf_privacy_ident_il_uuid_sha256url#:#Hash combined with the ILIAS Domain formatted as an E-Mail address.###04 12 2025 new variable +lti#:#conf_privacy_ident_il_uuid_sha256url_info#:#This is identical to each call, with with a maximum of 80 characters significantly shorter than the variant with the ILIAS platform ID and allows only very limited conclusions about the ILIAS user.###04 12 2025 new variable lti#:#conf_privacy_ident_il_uuid_user_id#:#ILIAS user id combined with a unique ILIAS platform id formatted as an E-Mail address###26 08 2024 new variable lti#:#conf_privacy_ident_il_uuid_user_id_info#:#Sends the internal numeric user id. This is identical to each call, but may allow conclusions about the ILIAS user.###26 08 2024 new variable lti#:#conf_privacy_ident_info#:#Standard is frequently the email address. The unique ILIAS platform id is:###26 08 2024 new variable @@ -11291,13 +11297,16 @@ lti#:#launched#:#Resource was already launched.###07 02 2020 new variable lti#:#learning_progress_options#:#Options for Learning Progress###07 02 2020 new variable lti#:#lm_only_one_download_per_type#:#Please note that you can only make one file per type (XML, HTML, SCORM) public accessible.###31 08 2017 new variable lti#:#lti13_hints#:#If the tool was created without dynamic registration, the following data must be entered for the tool to run.###26 08 2024 new variable +lti#:#lti_13_authentication_url#:#Authentication Request URL###04 12 2025 new variable lti#:#lti_13_client_id#:#Client-ID###26 08 2024 new variable lti#:#lti_13_deployment_id#:#Deployment-ID###26 08 2024 new variable +lti#:#lti_13_keyset_url#:#Public Keyset URL###04 12 2025 new variable lti#:#lti_13_platform_id#:#Platform-ID###26 08 2024 new variable lti#:#lti_13_step1#:#Step 1###26 08 2024 new variable lti#:#lti_13_step1_info#:#For the initiating platform (consumer), enter the following address for Launch URL, Initiate Login URL, Redirection URI, and Registration URL:###26 08 2024 new variable lti#:#lti_13_step2#:#Step 2###26 08 2024 new variable lti#:#lti_13_step2_info#:#You will receive information from the initiating platform (Consumer), which you must enter in the following fields. After saving, the LTI 1.3 functionalities are available.###26 08 2024 new variable +lti#:#lti_13_token_url#:#Access Token URL###04 12 2025 new variable lti#:#lti_action_accept_provider_as_global#:#Accept Provider as Global Provider for all Users###07 02 2020 new variable lti#:#lti_action_accept_providers_as_global#:#Accept Providers as Global###07 02 2020 new variable lti#:#lti_action_delete_providers#:#Delete Providers###07 02 2020 new variable @@ -11311,6 +11320,8 @@ lti#:#lti_at_least_one_prov_has_usages#:#At least one provider could not be dele lti#:#lti_auth_failed_invalid_key#:#Authentication failed, no valid consumer key given.###31 08 2017 new variable lti#:#lti_con_content_item#:#Support for Deep Linking###26 08 2024 new variable lti#:#lti_con_content_item_url#:#Content URL###26 08 2024 new variable +lti#:#lti_con_grade_synchronization#:#Advanced Grading Services###04 12 2025 new variable +lti#:#lti_con_grade_synchronization_info#:#The LTI tool must offer 'Assignment and Grade Services'.###04 12 2025 new variable lti#:#lti_con_initiate_login_url#:#Initiate Login URL###26 08 2024 new variable lti#:#lti_con_key_type#:#Public Key Type###26 08 2024 new variable lti#:#lti_con_key_type_jwk#:#URL (Json Web Token)###26 08 2024 new variable @@ -11330,6 +11341,10 @@ lti#:#lti_con_prov_category_info#:#Category to filter entries when LTI Consumer lti#:#lti_con_prov_custom_params#:#Custom Parameters for this specific Provider###07 02 2020 new variable lti#:#lti_con_prov_custom_params_info#:#Please enter them in the form param1=value1; param2=value2###07 02 2020 new variable lti#:#lti_con_prov_description#:#Description###07 02 2020 new variable +lti#:#lti_con_prov_dyn_reg_params#:#Optional Parameters###04 12 2025 new variable +lti#:#lti_con_prov_dyn_reg_params_info#:#Here, for example, references to target objects in the tool can be specified.###04 12 2025 new variable +lti#:#lti_con_prov_dyn_reg_url#:#Registration URL of the Tool###04 12 2025 new variable +lti#:#lti_con_prov_dyn_reg_url_info#:#Note: Not every tool supports dynamic registration.###04 12 2025 new variable lti#:#lti_con_prov_external_provider#:#External Provider###07 02 2020 new variable lti#:#lti_con_prov_external_provider_info#:#A hint will be shown to users when dealing with an external Provider. An external Provider is characterized by insufficient influence on the Provider by the operator of the ILIAS-installation. This is the case when there are no rights to delete.###07 02 2020 new variable lti#:#lti_con_prov_group_options#:#Options to group and filter Providers###07 02 2020 new variable @@ -11398,6 +11413,7 @@ lti#:#lti_custom_new#:#Create Own Provider Settings###07 02 2020 new variable lti#:#lti_delete_consume_provider#:#Delete Provider###07 02 2020 new variable lti#:#lti_delete_consume_providers#:#Delete Providers###07 02 2020 new variable lti#:#lti_delete_provider#:#Delete Provider###07 02 2020 new variable +lti#:#lti_dynamic_registration#:#Create Own Settings for Tool with Dynamic Registration (LTI 1.3)###04 12 2025 lti#:#lti_edit_consumer#:#Edit LTI Consumer###31 08 2017 new variable lti#:#lti_exit#:#Close LTI Session###31 08 2017 new variable lti#:#lti_exited#:#LTI Session closed###31 08 2017 new variable diff --git a/lang/ilias_pl.lang b/lang/ilias_pl.lang index d5fee2303dee..5a5eb485eefa 100644 --- a/lang/ilias_pl.lang +++ b/lang/ilias_pl.lang @@ -11206,6 +11206,12 @@ lti#:#conf_privacy_ident_il_uuid_ext_account#:#External User ID combined with a lti#:#conf_privacy_ident_il_uuid_ext_account_info#:#This is identical to each call, but may allow a direct conclusion about the user.###26 08 2024 new variable lti#:#conf_privacy_ident_il_uuid_login#:#ILIAS Login combined with a unique ILIAS platform id formatted as an E-Mail address###26 08 2024 new variable lti#:#conf_privacy_ident_il_uuid_login_info#:#Sends the login name. This is identical to each call, but may allow a direct conclusion about the ILIAS user.###26 08 2024 new variable +lti#:#conf_privacy_ident_il_uuid_random#:#Random ID combined with a unique ILIAS platform ID formatted as an E-Mail address###04 12 2025 new variable +lti#:#conf_privacy_ident_il_uuid_random_info#:#For each ILIAS object and ILIAS user a random ID is generated which remains identical for each call. Conclusions about a user are very limited because it is practically impossible to create user profiles across objects.###04 12 2025 new variable +lti#:#conf_privacy_ident_il_uuid_sha256#:#Hash combined with a unique ILIAS platform id formatted as an E-Mail address###04 12 2025 new variable +lti#:#conf_privacy_ident_il_uuid_sha256_info#:#This is identical to each call, but does not permit any direct conclusions about the ILIAS user.###04 12 2025 new variable +lti#:#conf_privacy_ident_il_uuid_sha256url#:#Hash combined with the ILIAS Domain formatted as an E-Mail address.###04 12 2025 new variable +lti#:#conf_privacy_ident_il_uuid_sha256url_info#:#This is identical to each call, with with a maximum of 80 characters significantly shorter than the variant with the ILIAS platform ID and allows only very limited conclusions about the ILIAS user.###04 12 2025 new variable lti#:#conf_privacy_ident_il_uuid_user_id#:#ILIAS user id combined with a unique ILIAS platform id formatted as an E-Mail address###26 08 2024 new variable lti#:#conf_privacy_ident_il_uuid_user_id_info#:#Sends the internal numeric user id. This is identical to each call, but may allow conclusions about the ILIAS user.###26 08 2024 new variable lti#:#conf_privacy_ident_info#:#Standard is frequently the email address. The unique ILIAS platform id is:###26 08 2024 new variable @@ -11291,13 +11297,16 @@ lti#:#launched#:#Resource was already launched.###07 02 2020 new variable lti#:#learning_progress_options#:#Options for Learning Progress###07 02 2020 new variable lti#:#lm_only_one_download_per_type#:#Dla każdego typu (XML, HTML, SCORM) można udostępnić tylko jeden plik do pobrania. lti#:#lti13_hints#:#If the tool was created without dynamic registration, the following data must be entered for the tool to run.###26 08 2024 new variable +lti#:#lti_13_authentication_url#:#Authentication Request URL###04 12 2025 new variable lti#:#lti_13_client_id#:#Client-ID###26 08 2024 new variable lti#:#lti_13_deployment_id#:#Deployment-ID###26 08 2024 new variable +lti#:#lti_13_keyset_url#:#Public Keyset URL###04 12 2025 new variable lti#:#lti_13_platform_id#:#Platform-ID###26 08 2024 new variable lti#:#lti_13_step1#:#Step 1###26 08 2024 new variable lti#:#lti_13_step1_info#:#For the initiating platform (consumer), enter the following address for Launch URL, Initiate Login URL, Redirection URI, and Registration URL:###26 08 2024 new variable lti#:#lti_13_step2#:#Step 2###26 08 2024 new variable lti#:#lti_13_step2_info#:#You will receive information from the initiating platform (Consumer), which you must enter in the following fields. After saving, the LTI 1.3 functionalities are available.###26 08 2024 new variable +lti#:#lti_13_token_url#:#Access Token URL###04 12 2025 new variable lti#:#lti_action_accept_provider_as_global#:#Accept Provider as Global Provider for all Users###07 02 2020 new variable lti#:#lti_action_accept_providers_as_global#:#Accept Providers as Global###07 02 2020 new variable lti#:#lti_action_delete_providers#:#Delete Providers###07 02 2020 new variable @@ -11311,6 +11320,8 @@ lti#:#lti_at_least_one_prov_has_usages#:#At least one provider could not be dele lti#:#lti_auth_failed_invalid_key#:#Identyfikacja nie jest możliwa. Nie przekazano ważnego klucza odbiorcy. lti#:#lti_con_content_item#:#Support for Deep Linking###26 08 2024 new variable lti#:#lti_con_content_item_url#:#Content URL###26 08 2024 new variable +lti#:#lti_con_grade_synchronization#:#Advanced Grading Services###04 12 2025 new variable +lti#:#lti_con_grade_synchronization_info#:#The LTI tool must offer 'Assignment and Grade Services'.###04 12 2025 new variable lti#:#lti_con_initiate_login_url#:#Initiate Login URL###26 08 2024 new variable lti#:#lti_con_key_type#:#Public Key Type###26 08 2024 new variable lti#:#lti_con_key_type_jwk#:#URL (Json Web Token)###26 08 2024 new variable @@ -11330,6 +11341,10 @@ lti#:#lti_con_prov_category_info#:#Category to filter entries when LTI Consumer lti#:#lti_con_prov_custom_params#:#Custom Parameters for this specific Provider###07 02 2020 new variable lti#:#lti_con_prov_custom_params_info#:#Please enter them in the form param1=value1; param2=value2###07 02 2020 new variable lti#:#lti_con_prov_description#:#Description###07 02 2020 new variable +lti#:#lti_con_prov_dyn_reg_params#:#Optional Parameters###04 12 2025 new variable +lti#:#lti_con_prov_dyn_reg_params_info#:#Here, for example, references to target objects in the tool can be specified.###04 12 2025 new variable +lti#:#lti_con_prov_dyn_reg_url#:#Registration URL of the Tool###04 12 2025 new variable +lti#:#lti_con_prov_dyn_reg_url_info#:#Note: Not every tool supports dynamic registration.###04 12 2025 new variable lti#:#lti_con_prov_external_provider#:#External Provider###07 02 2020 new variable lti#:#lti_con_prov_external_provider_info#:#A hint will be shown to users when dealing with an external Provider. An external Provider is characterized by insufficient influence on the Provider by the operator of the ILIAS-installation. This is the case when there are no rights to delete.###07 02 2020 new variable lti#:#lti_con_prov_group_options#:#Options to group and filter Providers###07 02 2020 new variable @@ -11398,6 +11413,7 @@ lti#:#lti_custom_new#:#Create Own Provider Settings###07 02 2020 new variable lti#:#lti_delete_consume_provider#:#Delete Provider###07 02 2020 new variable lti#:#lti_delete_consume_providers#:#Delete Providers###07 02 2020 new variable lti#:#lti_delete_provider#:#Delete Provider###07 02 2020 new variable +lti#:#lti_dynamic_registration#:#Create Own Settings for Tool with Dynamic Registration (LTI 1.3)###04 12 2025 lti#:#lti_edit_consumer#:#Edytuj odbiorcę LTI lti#:#lti_exit#:#Zakończ sesję LTI lti#:#lti_exited#:#Sesja LTI zakończona diff --git a/lang/ilias_pt.lang b/lang/ilias_pt.lang index bd5acbbe0cb5..0de20f9261f3 100644 --- a/lang/ilias_pt.lang +++ b/lang/ilias_pt.lang @@ -11206,6 +11206,12 @@ lti#:#conf_privacy_ident_il_uuid_ext_account#:#External User ID combined with a lti#:#conf_privacy_ident_il_uuid_ext_account_info#:#This is identical to each call, but may allow a direct conclusion about the user.###26 08 2024 new variable lti#:#conf_privacy_ident_il_uuid_login#:#ILIAS Login combined with a unique ILIAS platform id formatted as an E-Mail address###26 08 2024 new variable lti#:#conf_privacy_ident_il_uuid_login_info#:#Sends the login name. This is identical to each call, but may allow a direct conclusion about the ILIAS user.###26 08 2024 new variable +lti#:#conf_privacy_ident_il_uuid_random#:#Random ID combined with a unique ILIAS platform ID formatted as an E-Mail address###04 12 2025 new variable +lti#:#conf_privacy_ident_il_uuid_random_info#:#For each ILIAS object and ILIAS user a random ID is generated which remains identical for each call. Conclusions about a user are very limited because it is practically impossible to create user profiles across objects.###04 12 2025 new variable +lti#:#conf_privacy_ident_il_uuid_sha256#:#Hash combined with a unique ILIAS platform id formatted as an E-Mail address###04 12 2025 new variable +lti#:#conf_privacy_ident_il_uuid_sha256_info#:#This is identical to each call, but does not permit any direct conclusions about the ILIAS user.###04 12 2025 new variable +lti#:#conf_privacy_ident_il_uuid_sha256url#:#Hash combined with the ILIAS Domain formatted as an E-Mail address.###04 12 2025 new variable +lti#:#conf_privacy_ident_il_uuid_sha256url_info#:#This is identical to each call, with with a maximum of 80 characters significantly shorter than the variant with the ILIAS platform ID and allows only very limited conclusions about the ILIAS user.###04 12 2025 new variable lti#:#conf_privacy_ident_il_uuid_user_id#:#ILIAS user id combined with a unique ILIAS platform id formatted as an E-Mail address###26 08 2024 new variable lti#:#conf_privacy_ident_il_uuid_user_id_info#:#Sends the internal numeric user id. This is identical to each call, but may allow conclusions about the ILIAS user.###26 08 2024 new variable lti#:#conf_privacy_ident_info#:#Standard is frequently the email address. The unique ILIAS platform id is:###26 08 2024 new variable @@ -11291,13 +11297,16 @@ lti#:#launched#:#Resource was already launched.###07 02 2020 new variable lti#:#learning_progress_options#:#Options for Learning Progress###07 02 2020 new variable lti#:#lm_only_one_download_per_type#:#Note que pode apenas dar acesso público a um ficheiro por tipo (XML, HTML, SCORM). lti#:#lti13_hints#:#If the tool was created without dynamic registration, the following data must be entered for the tool to run.###26 08 2024 new variable +lti#:#lti_13_authentication_url#:#Authentication Request URL###04 12 2025 new variable lti#:#lti_13_client_id#:#Client-ID###26 08 2024 new variable lti#:#lti_13_deployment_id#:#Deployment-ID###26 08 2024 new variable +lti#:#lti_13_keyset_url#:#Public Keyset URL###04 12 2025 new variable lti#:#lti_13_platform_id#:#Platform-ID###26 08 2024 new variable lti#:#lti_13_step1#:#Step 1###26 08 2024 new variable lti#:#lti_13_step1_info#:#For the initiating platform (consumer), enter the following address for Launch URL, Initiate Login URL, Redirection URI, and Registration URL:###26 08 2024 new variable lti#:#lti_13_step2#:#Step 2###26 08 2024 new variable lti#:#lti_13_step2_info#:#You will receive information from the initiating platform (Consumer), which you must enter in the following fields. After saving, the LTI 1.3 functionalities are available.###26 08 2024 new variable +lti#:#lti_13_token_url#:#Access Token URL###04 12 2025 new variable lti#:#lti_action_accept_provider_as_global#:#Accept Provider as Global Provider for all Users###07 02 2020 new variable lti#:#lti_action_accept_providers_as_global#:#Accept Providers as Global###07 02 2020 new variable lti#:#lti_action_delete_providers#:#Delete Providers###07 02 2020 new variable @@ -11311,6 +11320,8 @@ lti#:#lti_at_least_one_prov_has_usages#:#At least one provider could not be dele lti#:#lti_auth_failed_invalid_key#:#Autenticação falhou, nenhuma chave de consumidor fornecida. lti#:#lti_con_content_item#:#Support for Deep Linking###26 08 2024 new variable lti#:#lti_con_content_item_url#:#Content URL###26 08 2024 new variable +lti#:#lti_con_grade_synchronization#:#Advanced Grading Services###04 12 2025 new variable +lti#:#lti_con_grade_synchronization_info#:#The LTI tool must offer 'Assignment and Grade Services'.###04 12 2025 new variable lti#:#lti_con_initiate_login_url#:#Initiate Login URL###26 08 2024 new variable lti#:#lti_con_key_type#:#Public Key Type###26 08 2024 new variable lti#:#lti_con_key_type_jwk#:#URL (Json Web Token)###26 08 2024 new variable @@ -11330,6 +11341,10 @@ lti#:#lti_con_prov_category_info#:#Category to filter entries when LTI Consumer lti#:#lti_con_prov_custom_params#:#Custom Parameters for this specific Provider###07 02 2020 new variable lti#:#lti_con_prov_custom_params_info#:#Please enter them in the form param1=value1; param2=value2###07 02 2020 new variable lti#:#lti_con_prov_description#:#Description###07 02 2020 new variable +lti#:#lti_con_prov_dyn_reg_params#:#Optional Parameters###04 12 2025 new variable +lti#:#lti_con_prov_dyn_reg_params_info#:#Here, for example, references to target objects in the tool can be specified.###04 12 2025 new variable +lti#:#lti_con_prov_dyn_reg_url#:#Registration URL of the Tool###04 12 2025 new variable +lti#:#lti_con_prov_dyn_reg_url_info#:#Note: Not every tool supports dynamic registration.###04 12 2025 new variable lti#:#lti_con_prov_external_provider#:#External Provider###07 02 2020 new variable lti#:#lti_con_prov_external_provider_info#:#A hint will be shown to users when dealing with an external Provider. An external Provider is characterized by insufficient influence on the Provider by the operator of the ILIAS-installation. This is the case when there are no rights to delete.###07 02 2020 new variable lti#:#lti_con_prov_group_options#:#Options to group and filter Providers###07 02 2020 new variable @@ -11398,6 +11413,7 @@ lti#:#lti_custom_new#:#Create Own Provider Settings###07 02 2020 new variable lti#:#lti_delete_consume_provider#:#Delete Provider###07 02 2020 new variable lti#:#lti_delete_consume_providers#:#Delete Providers###07 02 2020 new variable lti#:#lti_delete_provider#:#Delete Provider###07 02 2020 new variable +lti#:#lti_dynamic_registration#:#Create Own Settings for Tool with Dynamic Registration (LTI 1.3)###04 12 2025 lti#:#lti_edit_consumer#:#Editar consumidor LIT lti#:#lti_exit#:#Fechar sessão LTI lti#:#lti_exited#:#Sessão LTI fechada diff --git a/lang/ilias_ro.lang b/lang/ilias_ro.lang index 463c89c53cb4..20948aa235df 100644 --- a/lang/ilias_ro.lang +++ b/lang/ilias_ro.lang @@ -11206,6 +11206,12 @@ lti#:#conf_privacy_ident_il_uuid_ext_account#:#External User ID combined with a lti#:#conf_privacy_ident_il_uuid_ext_account_info#:#This is identical to each call, but may allow a direct conclusion about the user.###26 08 2024 new variable lti#:#conf_privacy_ident_il_uuid_login#:#ILIAS Login combined with a unique ILIAS platform id formatted as an E-Mail address###26 08 2024 new variable lti#:#conf_privacy_ident_il_uuid_login_info#:#Sends the login name. This is identical to each call, but may allow a direct conclusion about the ILIAS user.###26 08 2024 new variable +lti#:#conf_privacy_ident_il_uuid_random#:#Random ID combined with a unique ILIAS platform ID formatted as an E-Mail address###04 12 2025 new variable +lti#:#conf_privacy_ident_il_uuid_random_info#:#For each ILIAS object and ILIAS user a random ID is generated which remains identical for each call. Conclusions about a user are very limited because it is practically impossible to create user profiles across objects.###04 12 2025 new variable +lti#:#conf_privacy_ident_il_uuid_sha256#:#Hash combined with a unique ILIAS platform id formatted as an E-Mail address###04 12 2025 new variable +lti#:#conf_privacy_ident_il_uuid_sha256_info#:#This is identical to each call, but does not permit any direct conclusions about the ILIAS user.###04 12 2025 new variable +lti#:#conf_privacy_ident_il_uuid_sha256url#:#Hash combined with the ILIAS Domain formatted as an E-Mail address.###04 12 2025 new variable +lti#:#conf_privacy_ident_il_uuid_sha256url_info#:#This is identical to each call, with with a maximum of 80 characters significantly shorter than the variant with the ILIAS platform ID and allows only very limited conclusions about the ILIAS user.###04 12 2025 new variable lti#:#conf_privacy_ident_il_uuid_user_id#:#ILIAS user id combined with a unique ILIAS platform id formatted as an E-Mail address###26 08 2024 new variable lti#:#conf_privacy_ident_il_uuid_user_id_info#:#Sends the internal numeric user id. This is identical to each call, but may allow conclusions about the ILIAS user.###26 08 2024 new variable lti#:#conf_privacy_ident_info#:#Standard is frequently the email address. The unique ILIAS platform id is:###26 08 2024 new variable @@ -11291,13 +11297,16 @@ lti#:#launched#:#Resource was already launched.###07 02 2020 new variable lti#:#learning_progress_options#:#Options for Learning Progress###07 02 2020 new variable lti#:#lm_only_one_download_per_type#:#Please note that you can only make one file per type (XML, HTML, SCORM) public accessible.###31 08 2017 new variable lti#:#lti13_hints#:#If the tool was created without dynamic registration, the following data must be entered for the tool to run.###26 08 2024 new variable +lti#:#lti_13_authentication_url#:#Authentication Request URL###04 12 2025 new variable lti#:#lti_13_client_id#:#Client-ID###26 08 2024 new variable lti#:#lti_13_deployment_id#:#Deployment-ID###26 08 2024 new variable +lti#:#lti_13_keyset_url#:#Public Keyset URL###04 12 2025 new variable lti#:#lti_13_platform_id#:#Platform-ID###26 08 2024 new variable lti#:#lti_13_step1#:#Step 1###26 08 2024 new variable lti#:#lti_13_step1_info#:#For the initiating platform (consumer), enter the following address for Launch URL, Initiate Login URL, Redirection URI, and Registration URL:###26 08 2024 new variable lti#:#lti_13_step2#:#Step 2###26 08 2024 new variable lti#:#lti_13_step2_info#:#You will receive information from the initiating platform (Consumer), which you must enter in the following fields. After saving, the LTI 1.3 functionalities are available.###26 08 2024 new variable +lti#:#lti_13_token_url#:#Access Token URL###04 12 2025 new variable lti#:#lti_action_accept_provider_as_global#:#Accept Provider as Global Provider for all Users###07 02 2020 new variable lti#:#lti_action_accept_providers_as_global#:#Accept Providers as Global###07 02 2020 new variable lti#:#lti_action_delete_providers#:#Delete Providers###07 02 2020 new variable @@ -11311,6 +11320,8 @@ lti#:#lti_at_least_one_prov_has_usages#:#At least one provider could not be dele lti#:#lti_auth_failed_invalid_key#:#Authentication failed, no valid consumer key given.###31 08 2017 new variable lti#:#lti_con_content_item#:#Support for Deep Linking###26 08 2024 new variable lti#:#lti_con_content_item_url#:#Content URL###26 08 2024 new variable +lti#:#lti_con_grade_synchronization#:#Advanced Grading Services###04 12 2025 new variable +lti#:#lti_con_grade_synchronization_info#:#The LTI tool must offer 'Assignment and Grade Services'.###04 12 2025 new variable lti#:#lti_con_initiate_login_url#:#Initiate Login URL###26 08 2024 new variable lti#:#lti_con_key_type#:#Public Key Type###26 08 2024 new variable lti#:#lti_con_key_type_jwk#:#URL (Json Web Token)###26 08 2024 new variable @@ -11330,6 +11341,10 @@ lti#:#lti_con_prov_category_info#:#Category to filter entries when LTI Consumer lti#:#lti_con_prov_custom_params#:#Custom Parameters for this specific Provider###07 02 2020 new variable lti#:#lti_con_prov_custom_params_info#:#Please enter them in the form param1=value1; param2=value2###07 02 2020 new variable lti#:#lti_con_prov_description#:#Description###07 02 2020 new variable +lti#:#lti_con_prov_dyn_reg_params#:#Optional Parameters###04 12 2025 new variable +lti#:#lti_con_prov_dyn_reg_params_info#:#Here, for example, references to target objects in the tool can be specified.###04 12 2025 new variable +lti#:#lti_con_prov_dyn_reg_url#:#Registration URL of the Tool###04 12 2025 new variable +lti#:#lti_con_prov_dyn_reg_url_info#:#Note: Not every tool supports dynamic registration.###04 12 2025 new variable lti#:#lti_con_prov_external_provider#:#External Provider###07 02 2020 new variable lti#:#lti_con_prov_external_provider_info#:#A hint will be shown to users when dealing with an external Provider. An external Provider is characterized by insufficient influence on the Provider by the operator of the ILIAS-installation. This is the case when there are no rights to delete.###07 02 2020 new variable lti#:#lti_con_prov_group_options#:#Options to group and filter Providers###07 02 2020 new variable @@ -11398,6 +11413,7 @@ lti#:#lti_custom_new#:#Create Own Provider Settings###07 02 2020 new variable lti#:#lti_delete_consume_provider#:#Delete Provider###07 02 2020 new variable lti#:#lti_delete_consume_providers#:#Delete Providers###07 02 2020 new variable lti#:#lti_delete_provider#:#Delete Provider###07 02 2020 new variable +lti#:#lti_dynamic_registration#:#Create Own Settings for Tool with Dynamic Registration (LTI 1.3)###04 12 2025 lti#:#lti_edit_consumer#:#Edit LTI Consumer###31 08 2017 new variable lti#:#lti_exit#:#Close LTI Session###31 08 2017 new variable lti#:#lti_exited#:#LTI Session closed###31 08 2017 new variable diff --git a/lang/ilias_ru.lang b/lang/ilias_ru.lang index f3e1840bba63..1da8af924a8a 100644 --- a/lang/ilias_ru.lang +++ b/lang/ilias_ru.lang @@ -11206,6 +11206,12 @@ lti#:#conf_privacy_ident_il_uuid_ext_account#:#External User ID combined with a lti#:#conf_privacy_ident_il_uuid_ext_account_info#:#This is identical to each call, but may allow a direct conclusion about the user.###26 08 2024 new variable lti#:#conf_privacy_ident_il_uuid_login#:#ILIAS Login combined with a unique ILIAS platform id formatted as an E-Mail address###26 08 2024 new variable lti#:#conf_privacy_ident_il_uuid_login_info#:#Sends the login name. This is identical to each call, but may allow a direct conclusion about the ILIAS user.###26 08 2024 new variable +lti#:#conf_privacy_ident_il_uuid_random#:#Random ID combined with a unique ILIAS platform ID formatted as an E-Mail address###04 12 2025 new variable +lti#:#conf_privacy_ident_il_uuid_random_info#:#For each ILIAS object and ILIAS user a random ID is generated which remains identical for each call. Conclusions about a user are very limited because it is practically impossible to create user profiles across objects.###04 12 2025 new variable +lti#:#conf_privacy_ident_il_uuid_sha256#:#Hash combined with a unique ILIAS platform id formatted as an E-Mail address###04 12 2025 new variable +lti#:#conf_privacy_ident_il_uuid_sha256_info#:#This is identical to each call, but does not permit any direct conclusions about the ILIAS user.###04 12 2025 new variable +lti#:#conf_privacy_ident_il_uuid_sha256url#:#Hash combined with the ILIAS Domain formatted as an E-Mail address.###04 12 2025 new variable +lti#:#conf_privacy_ident_il_uuid_sha256url_info#:#This is identical to each call, with with a maximum of 80 characters significantly shorter than the variant with the ILIAS platform ID and allows only very limited conclusions about the ILIAS user.###04 12 2025 new variable lti#:#conf_privacy_ident_il_uuid_user_id#:#ILIAS user id combined with a unique ILIAS platform id formatted as an E-Mail address###26 08 2024 new variable lti#:#conf_privacy_ident_il_uuid_user_id_info#:#Sends the internal numeric user id. This is identical to each call, but may allow conclusions about the ILIAS user.###26 08 2024 new variable lti#:#conf_privacy_ident_info#:#Standard is frequently the email address. The unique ILIAS platform id is:###26 08 2024 new variable @@ -11291,13 +11297,16 @@ lti#:#launched#:#Resource was already launched.###07 02 2020 new variable lti#:#learning_progress_options#:#Options for Learning Progress###07 02 2020 new variable lti#:#lm_only_one_download_per_type#:#Please note that you can only make one file per type (XML, HTML, SCORM) public accessible.###31 08 2017 new variable lti#:#lti13_hints#:#If the tool was created without dynamic registration, the following data must be entered for the tool to run.###26 08 2024 new variable +lti#:#lti_13_authentication_url#:#Authentication Request URL###04 12 2025 new variable lti#:#lti_13_client_id#:#Client-ID###26 08 2024 new variable lti#:#lti_13_deployment_id#:#Deployment-ID###26 08 2024 new variable +lti#:#lti_13_keyset_url#:#Public Keyset URL###04 12 2025 new variable lti#:#lti_13_platform_id#:#Platform-ID###26 08 2024 new variable lti#:#lti_13_step1#:#Step 1###26 08 2024 new variable lti#:#lti_13_step1_info#:#For the initiating platform (consumer), enter the following address for Launch URL, Initiate Login URL, Redirection URI, and Registration URL:###26 08 2024 new variable lti#:#lti_13_step2#:#Step 2###26 08 2024 new variable lti#:#lti_13_step2_info#:#You will receive information from the initiating platform (Consumer), which you must enter in the following fields. After saving, the LTI 1.3 functionalities are available.###26 08 2024 new variable +lti#:#lti_13_token_url#:#Access Token URL###04 12 2025 new variable lti#:#lti_action_accept_provider_as_global#:#Accept Provider as Global Provider for all Users###07 02 2020 new variable lti#:#lti_action_accept_providers_as_global#:#Accept Providers as Global###07 02 2020 new variable lti#:#lti_action_delete_providers#:#Delete Providers###07 02 2020 new variable @@ -11311,6 +11320,8 @@ lti#:#lti_at_least_one_prov_has_usages#:#At least one provider could not be dele lti#:#lti_auth_failed_invalid_key#:#Authentication failed, no valid consumer key given.###31 08 2017 new variable lti#:#lti_con_content_item#:#Support for Deep Linking###26 08 2024 new variable lti#:#lti_con_content_item_url#:#Content URL###26 08 2024 new variable +lti#:#lti_con_grade_synchronization#:#Advanced Grading Services###04 12 2025 new variable +lti#:#lti_con_grade_synchronization_info#:#The LTI tool must offer 'Assignment and Grade Services'.###04 12 2025 new variable lti#:#lti_con_initiate_login_url#:#Initiate Login URL###26 08 2024 new variable lti#:#lti_con_key_type#:#Public Key Type###26 08 2024 new variable lti#:#lti_con_key_type_jwk#:#URL (Json Web Token)###26 08 2024 new variable @@ -11330,6 +11341,10 @@ lti#:#lti_con_prov_category_info#:#Category to filter entries when LTI Consumer lti#:#lti_con_prov_custom_params#:#Custom Parameters for this specific Provider###07 02 2020 new variable lti#:#lti_con_prov_custom_params_info#:#Please enter them in the form param1=value1; param2=value2###07 02 2020 new variable lti#:#lti_con_prov_description#:#Description###07 02 2020 new variable +lti#:#lti_con_prov_dyn_reg_params#:#Optional Parameters###04 12 2025 new variable +lti#:#lti_con_prov_dyn_reg_params_info#:#Here, for example, references to target objects in the tool can be specified.###04 12 2025 new variable +lti#:#lti_con_prov_dyn_reg_url#:#Registration URL of the Tool###04 12 2025 new variable +lti#:#lti_con_prov_dyn_reg_url_info#:#Note: Not every tool supports dynamic registration.###04 12 2025 new variable lti#:#lti_con_prov_external_provider#:#External Provider###07 02 2020 new variable lti#:#lti_con_prov_external_provider_info#:#A hint will be shown to users when dealing with an external Provider. An external Provider is characterized by insufficient influence on the Provider by the operator of the ILIAS-installation. This is the case when there are no rights to delete.###07 02 2020 new variable lti#:#lti_con_prov_group_options#:#Options to group and filter Providers###07 02 2020 new variable @@ -11398,6 +11413,7 @@ lti#:#lti_custom_new#:#Create Own Provider Settings###07 02 2020 new variable lti#:#lti_delete_consume_provider#:#Delete Provider###07 02 2020 new variable lti#:#lti_delete_consume_providers#:#Delete Providers###07 02 2020 new variable lti#:#lti_delete_provider#:#Delete Provider###07 02 2020 new variable +lti#:#lti_dynamic_registration#:#Create Own Settings for Tool with Dynamic Registration (LTI 1.3)###04 12 2025 lti#:#lti_edit_consumer#:#Edit LTI Consumer###31 08 2017 new variable lti#:#lti_exit#:#Close LTI Session###31 08 2017 new variable lti#:#lti_exited#:#LTI Session closed###31 08 2017 new variable diff --git a/lang/ilias_sk.lang b/lang/ilias_sk.lang index 4ffba0a69445..2465e20a519f 100644 --- a/lang/ilias_sk.lang +++ b/lang/ilias_sk.lang @@ -11206,6 +11206,12 @@ lti#:#conf_privacy_ident_il_uuid_ext_account#:#External User ID combined with a lti#:#conf_privacy_ident_il_uuid_ext_account_info#:#This is identical to each call, but may allow a direct conclusion about the user.###26 08 2024 new variable lti#:#conf_privacy_ident_il_uuid_login#:#ILIAS Login combined with a unique ILIAS platform id formatted as an E-Mail address###26 08 2024 new variable lti#:#conf_privacy_ident_il_uuid_login_info#:#Sends the login name. This is identical to each call, but may allow a direct conclusion about the ILIAS user.###26 08 2024 new variable +lti#:#conf_privacy_ident_il_uuid_random#:#Random ID combined with a unique ILIAS platform ID formatted as an E-Mail address###04 12 2025 new variable +lti#:#conf_privacy_ident_il_uuid_random_info#:#For each ILIAS object and ILIAS user a random ID is generated which remains identical for each call. Conclusions about a user are very limited because it is practically impossible to create user profiles across objects.###04 12 2025 new variable +lti#:#conf_privacy_ident_il_uuid_sha256#:#Hash combined with a unique ILIAS platform id formatted as an E-Mail address###04 12 2025 new variable +lti#:#conf_privacy_ident_il_uuid_sha256_info#:#This is identical to each call, but does not permit any direct conclusions about the ILIAS user.###04 12 2025 new variable +lti#:#conf_privacy_ident_il_uuid_sha256url#:#Hash combined with the ILIAS Domain formatted as an E-Mail address.###04 12 2025 new variable +lti#:#conf_privacy_ident_il_uuid_sha256url_info#:#This is identical to each call, with with a maximum of 80 characters significantly shorter than the variant with the ILIAS platform ID and allows only very limited conclusions about the ILIAS user.###04 12 2025 new variable lti#:#conf_privacy_ident_il_uuid_user_id#:#ILIAS user id combined with a unique ILIAS platform id formatted as an E-Mail address###26 08 2024 new variable lti#:#conf_privacy_ident_il_uuid_user_id_info#:#Sends the internal numeric user id. This is identical to each call, but may allow conclusions about the ILIAS user.###26 08 2024 new variable lti#:#conf_privacy_ident_info#:#Standard is frequently the email address. The unique ILIAS platform id is:###26 08 2024 new variable @@ -11291,13 +11297,16 @@ lti#:#launched#:#Resource was already launched.###07 02 2020 new variable lti#:#learning_progress_options#:#Options for Learning Progress###07 02 2020 new variable lti#:#lm_only_one_download_per_type#:#Please note that you can only make one file per type (XML, HTML, SCORM) public accessible.###31 08 2017 new variable lti#:#lti13_hints#:#If the tool was created without dynamic registration, the following data must be entered for the tool to run.###26 08 2024 new variable +lti#:#lti_13_authentication_url#:#Authentication Request URL###04 12 2025 new variable lti#:#lti_13_client_id#:#Client-ID###26 08 2024 new variable lti#:#lti_13_deployment_id#:#Deployment-ID###26 08 2024 new variable +lti#:#lti_13_keyset_url#:#Public Keyset URL###04 12 2025 new variable lti#:#lti_13_platform_id#:#Platform-ID###26 08 2024 new variable lti#:#lti_13_step1#:#Step 1###26 08 2024 new variable lti#:#lti_13_step1_info#:#For the initiating platform (consumer), enter the following address for Launch URL, Initiate Login URL, Redirection URI, and Registration URL:###26 08 2024 new variable lti#:#lti_13_step2#:#Step 2###26 08 2024 new variable lti#:#lti_13_step2_info#:#You will receive information from the initiating platform (Consumer), which you must enter in the following fields. After saving, the LTI 1.3 functionalities are available.###26 08 2024 new variable +lti#:#lti_13_token_url#:#Access Token URL###04 12 2025 new variable lti#:#lti_action_accept_provider_as_global#:#Accept Provider as Global Provider for all Users###07 02 2020 new variable lti#:#lti_action_accept_providers_as_global#:#Accept Providers as Global###07 02 2020 new variable lti#:#lti_action_delete_providers#:#Delete Providers###07 02 2020 new variable @@ -11311,6 +11320,8 @@ lti#:#lti_at_least_one_prov_has_usages#:#At least one provider could not be dele lti#:#lti_auth_failed_invalid_key#:#Authentication failed, no valid consumer key given.###31 08 2017 new variable lti#:#lti_con_content_item#:#Support for Deep Linking###26 08 2024 new variable lti#:#lti_con_content_item_url#:#Content URL###26 08 2024 new variable +lti#:#lti_con_grade_synchronization#:#Advanced Grading Services###04 12 2025 new variable +lti#:#lti_con_grade_synchronization_info#:#The LTI tool must offer 'Assignment and Grade Services'.###04 12 2025 new variable lti#:#lti_con_initiate_login_url#:#Initiate Login URL###26 08 2024 new variable lti#:#lti_con_key_type#:#Public Key Type###26 08 2024 new variable lti#:#lti_con_key_type_jwk#:#URL (Json Web Token)###26 08 2024 new variable @@ -11330,6 +11341,10 @@ lti#:#lti_con_prov_category_info#:#Category to filter entries when LTI Consumer lti#:#lti_con_prov_custom_params#:#Custom Parameters for this specific Provider###07 02 2020 new variable lti#:#lti_con_prov_custom_params_info#:#Please enter them in the form param1=value1; param2=value2###07 02 2020 new variable lti#:#lti_con_prov_description#:#Description###07 02 2020 new variable +lti#:#lti_con_prov_dyn_reg_params#:#Optional Parameters###04 12 2025 new variable +lti#:#lti_con_prov_dyn_reg_params_info#:#Here, for example, references to target objects in the tool can be specified.###04 12 2025 new variable +lti#:#lti_con_prov_dyn_reg_url#:#Registration URL of the Tool###04 12 2025 new variable +lti#:#lti_con_prov_dyn_reg_url_info#:#Note: Not every tool supports dynamic registration.###04 12 2025 new variable lti#:#lti_con_prov_external_provider#:#External Provider###07 02 2020 new variable lti#:#lti_con_prov_external_provider_info#:#A hint will be shown to users when dealing with an external Provider. An external Provider is characterized by insufficient influence on the Provider by the operator of the ILIAS-installation. This is the case when there are no rights to delete.###07 02 2020 new variable lti#:#lti_con_prov_group_options#:#Options to group and filter Providers###07 02 2020 new variable @@ -11398,6 +11413,7 @@ lti#:#lti_custom_new#:#Create Own Provider Settings###07 02 2020 new variable lti#:#lti_delete_consume_provider#:#Delete Provider###07 02 2020 new variable lti#:#lti_delete_consume_providers#:#Delete Providers###07 02 2020 new variable lti#:#lti_delete_provider#:#Delete Provider###07 02 2020 new variable +lti#:#lti_dynamic_registration#:#Create Own Settings for Tool with Dynamic Registration (LTI 1.3)###04 12 2025 lti#:#lti_edit_consumer#:#Edit LTI Consumer###31 08 2017 new variable lti#:#lti_exit#:#Close LTI Session###31 08 2017 new variable lti#:#lti_exited#:#LTI Session closed###31 08 2017 new variable diff --git a/lang/ilias_sl.lang b/lang/ilias_sl.lang index 58d8dad58fa1..277993ebe3f3 100644 --- a/lang/ilias_sl.lang +++ b/lang/ilias_sl.lang @@ -11206,6 +11206,12 @@ lti#:#conf_privacy_ident_il_uuid_ext_account#:#External User Id combined with a lti#:#conf_privacy_ident_il_uuid_ext_account_info#:#This is identical to each call, but may allow a direct conclusion about the user. lti#:#conf_privacy_ident_il_uuid_login#:#ILIAS Login combined with a unique ILIAS platform id formated as an email adress. lti#:#conf_privacy_ident_il_uuid_login_info#:#This is identical to each call, but may allow a direct conclusion about the ILIAS user. +lti#:#conf_privacy_ident_il_uuid_random#:#Random ID combined with a unique ILIAS platform ID formatted as an E-Mail address###04 12 2025 new variable +lti#:#conf_privacy_ident_il_uuid_random_info#:#For each ILIAS object and ILIAS user a random ID is generated which remains identical for each call. Conclusions about a user are very limited because it is practically impossible to create user profiles across objects.###04 12 2025 new variable +lti#:#conf_privacy_ident_il_uuid_sha256#:#Hash combined with a unique ILIAS platform id formatted as an E-Mail address###04 12 2025 new variable +lti#:#conf_privacy_ident_il_uuid_sha256_info#:#This is identical to each call, but does not permit any direct conclusions about the ILIAS user.###04 12 2025 new variable +lti#:#conf_privacy_ident_il_uuid_sha256url#:#Hash combined with the ILIAS Domain formatted as an E-Mail address.###04 12 2025 new variable +lti#:#conf_privacy_ident_il_uuid_sha256url_info#:#This is identical to each call, with with a maximum of 80 characters significantly shorter than the variant with the ILIAS platform ID and allows only very limited conclusions about the ILIAS user.###04 12 2025 new variable lti#:#conf_privacy_ident_il_uuid_user_id#:#ILIAS user id combined with a unique ILIAS platform id formated as an email adress. lti#:#conf_privacy_ident_il_uuid_user_id_info#:#This is identical to each call, but doesn't allow a direct conclusion about the ILIAS user. lti#:#conf_privacy_ident_info#:#Standard is frequently the email address. The unique ILIAS platform id is @@ -11291,13 +11297,16 @@ lti#:#launched#:#Resource was already launched. lti#:#learning_progress_options#:#Options for Learning Progress lti#:#lm_only_one_download_per_type#:#Za vsak tip (XML, HTML, SCORM) lahko daste na razpolago samo eno datoteko za prenos. lti#:#lti13_hints#:#Hints###19 08 2022 new variable +lti#:#lti_13_authentication_url#:#Authentication Request URL###04 12 2025 new variable lti#:#lti_13_client_id#:#Client-ID###19 08 2022 new variable lti#:#lti_13_deployment_id#:#Deployment-ID###19 08 2022 new variable +lti#:#lti_13_keyset_url#:#Public Keyset URL###04 12 2025 new variable lti#:#lti_13_platform_id#:#Platform-ID###19 08 2022 new variable lti#:#lti_13_step1#:#Step 1###19 08 2022 new variable lti#:#lti_13_step1_info#:#For the initiating platform (consumer), enter the following address for Launch URL, Initiate Login URL, Redirection URI, and Registration URL:###19 08 2022 new variable lti#:#lti_13_step2#:#Step 2###19 08 2022 new variable lti#:#lti_13_step2_info#:#You will receive information from the initiating platform (Consumer), which you must enter in the following fields. After saving, the LTI 1.3 functionalities are available.###19 08 2022 new variable +lti#:#lti_13_token_url#:#Access Token URL###04 12 2025 new variable lti#:#lti_action_accept_provider_as_global#:#Accept Provider as Global Provider for all Users lti#:#lti_action_accept_providers_as_global#:#Accept Providers as Global lti#:#lti_action_delete_providers#:#Delete Providers @@ -11311,6 +11320,8 @@ lti#:#lti_at_least_one_prov_has_usages#:#At least one provider could not be dele lti#:#lti_auth_failed_invalid_key#:#Avtentikacija ni mogoča. Noben veljaven consumer key ni bil prenesen. lti#:#lti_con_content_item#:#Support for Deep Linking###19 08 2022 new variable lti#:#lti_con_content_item_url#:#Content URL###19 08 2022 new variable +lti#:#lti_con_grade_synchronization#:#Advanced Grading Services###04 12 2025 new variable +lti#:#lti_con_grade_synchronization_info#:#The LTI tool must offer 'Assignment and Grade Services'.###04 12 2025 new variable lti#:#lti_con_initiate_login_url#:#Initiate Login URL###19 08 2022 new variable lti#:#lti_con_key_type#:#Public Key Type###19 08 2022 new variable lti#:#lti_con_key_type_jwk#:#URL (Json Web Token)###19 08 2022 new variable @@ -11330,6 +11341,10 @@ lti#:#lti_con_prov_category_info#:#Category to filter entries when LTI Consumer lti#:#lti_con_prov_custom_params#:#Custom Parameters for this specific Provider lti#:#lti_con_prov_custom_params_info#:#Please enter them in the form param1=value1; param2=value2 lti#:#lti_con_prov_description#:#Description +lti#:#lti_con_prov_dyn_reg_params#:#Optional Parameters###04 12 2025 new variable +lti#:#lti_con_prov_dyn_reg_params_info#:#Here, for example, references to target objects in the tool can be specified.###04 12 2025 new variable +lti#:#lti_con_prov_dyn_reg_url#:#Registration URL of the Tool###04 12 2025 new variable +lti#:#lti_con_prov_dyn_reg_url_info#:#Note: Not every tool supports dynamic registration.###04 12 2025 new variable lti#:#lti_con_prov_external_provider#:#External Provider lti#:#lti_con_prov_external_provider_info#:#A hint will be shown to users when dealing with an external Provider. An external Provider is characterized by insufficient influence on the Provider by the operator of the ILIAS-installation. This is the case when there are no rights to delete. lti#:#lti_con_prov_group_options#:#Options to group and filter Providers @@ -11398,6 +11413,7 @@ lti#:#lti_custom_new#:#Create Own Provider Settings lti#:#lti_delete_consume_provider#:#Delete Provider lti#:#lti_delete_consume_providers#:#Delete Providers lti#:#lti_delete_provider#:#Delete Provider +lti#:#lti_dynamic_registration#:#Create Own Settings for Tool with Dynamic Registration (LTI 1.3)###04 12 2025 lti#:#lti_edit_consumer#:#Uredi potrošnika LTI lti#:#lti_exit#:#Zaključi sejo LTI lti#:#lti_exited#:#Seja LTI je zaključena diff --git a/lang/ilias_sq.lang b/lang/ilias_sq.lang index e2a91e6c844b..0863d92c462f 100644 --- a/lang/ilias_sq.lang +++ b/lang/ilias_sq.lang @@ -11206,6 +11206,12 @@ lti#:#conf_privacy_ident_il_uuid_ext_account#:#External User ID combined with a lti#:#conf_privacy_ident_il_uuid_ext_account_info#:#This is identical to each call, but may allow a direct conclusion about the user.###26 08 2024 new variable lti#:#conf_privacy_ident_il_uuid_login#:#ILIAS Login combined with a unique ILIAS platform id formatted as an E-Mail address###26 08 2024 new variable lti#:#conf_privacy_ident_il_uuid_login_info#:#Sends the login name. This is identical to each call, but may allow a direct conclusion about the ILIAS user.###26 08 2024 new variable +lti#:#conf_privacy_ident_il_uuid_random#:#Random ID combined with a unique ILIAS platform ID formatted as an E-Mail address###04 12 2025 new variable +lti#:#conf_privacy_ident_il_uuid_random_info#:#For each ILIAS object and ILIAS user a random ID is generated which remains identical for each call. Conclusions about a user are very limited because it is practically impossible to create user profiles across objects.###04 12 2025 new variable +lti#:#conf_privacy_ident_il_uuid_sha256#:#Hash combined with a unique ILIAS platform id formatted as an E-Mail address###04 12 2025 new variable +lti#:#conf_privacy_ident_il_uuid_sha256_info#:#This is identical to each call, but does not permit any direct conclusions about the ILIAS user.###04 12 2025 new variable +lti#:#conf_privacy_ident_il_uuid_sha256url#:#Hash combined with the ILIAS Domain formatted as an E-Mail address.###04 12 2025 new variable +lti#:#conf_privacy_ident_il_uuid_sha256url_info#:#This is identical to each call, with with a maximum of 80 characters significantly shorter than the variant with the ILIAS platform ID and allows only very limited conclusions about the ILIAS user.###04 12 2025 new variable lti#:#conf_privacy_ident_il_uuid_user_id#:#ILIAS user id combined with a unique ILIAS platform id formatted as an E-Mail address###26 08 2024 new variable lti#:#conf_privacy_ident_il_uuid_user_id_info#:#Sends the internal numeric user id. This is identical to each call, but may allow conclusions about the ILIAS user.###26 08 2024 new variable lti#:#conf_privacy_ident_info#:#Standard is frequently the email address. The unique ILIAS platform id is:###26 08 2024 new variable @@ -11291,13 +11297,16 @@ lti#:#launched#:#Resource was already launched.###07 02 2020 new variable lti#:#learning_progress_options#:#Options for Learning Progress###07 02 2020 new variable lti#:#lm_only_one_download_per_type#:#Please note that you can only make one file per type (XML, HTML, SCORM) public accessible.###31 08 2017 new variable lti#:#lti13_hints#:#If the tool was created without dynamic registration, the following data must be entered for the tool to run.###26 08 2024 new variable +lti#:#lti_13_authentication_url#:#Authentication Request URL###04 12 2025 new variable lti#:#lti_13_client_id#:#Client-ID###26 08 2024 new variable lti#:#lti_13_deployment_id#:#Deployment-ID###26 08 2024 new variable +lti#:#lti_13_keyset_url#:#Public Keyset URL###04 12 2025 new variable lti#:#lti_13_platform_id#:#Platform-ID###26 08 2024 new variable lti#:#lti_13_step1#:#Step 1###26 08 2024 new variable lti#:#lti_13_step1_info#:#For the initiating platform (consumer), enter the following address for Launch URL, Initiate Login URL, Redirection URI, and Registration URL:###26 08 2024 new variable lti#:#lti_13_step2#:#Step 2###26 08 2024 new variable lti#:#lti_13_step2_info#:#You will receive information from the initiating platform (Consumer), which you must enter in the following fields. After saving, the LTI 1.3 functionalities are available.###26 08 2024 new variable +lti#:#lti_13_token_url#:#Access Token URL###04 12 2025 new variable lti#:#lti_action_accept_provider_as_global#:#Accept Provider as Global Provider for all Users###07 02 2020 new variable lti#:#lti_action_accept_providers_as_global#:#Accept Providers as Global###07 02 2020 new variable lti#:#lti_action_delete_providers#:#Delete Providers###07 02 2020 new variable @@ -11311,6 +11320,8 @@ lti#:#lti_at_least_one_prov_has_usages#:#At least one provider could not be dele lti#:#lti_auth_failed_invalid_key#:#Authentication failed, no valid consumer key given.###31 08 2017 new variable lti#:#lti_con_content_item#:#Support for Deep Linking###26 08 2024 new variable lti#:#lti_con_content_item_url#:#Content URL###26 08 2024 new variable +lti#:#lti_con_grade_synchronization#:#Advanced Grading Services###04 12 2025 new variable +lti#:#lti_con_grade_synchronization_info#:#The LTI tool must offer 'Assignment and Grade Services'.###04 12 2025 new variable lti#:#lti_con_initiate_login_url#:#Initiate Login URL###26 08 2024 new variable lti#:#lti_con_key_type#:#Public Key Type###26 08 2024 new variable lti#:#lti_con_key_type_jwk#:#URL (Json Web Token)###26 08 2024 new variable @@ -11330,6 +11341,10 @@ lti#:#lti_con_prov_category_info#:#Category to filter entries when LTI Consumer lti#:#lti_con_prov_custom_params#:#Custom Parameters for this specific Provider###07 02 2020 new variable lti#:#lti_con_prov_custom_params_info#:#Please enter them in the form param1=value1; param2=value2###07 02 2020 new variable lti#:#lti_con_prov_description#:#Description###07 02 2020 new variable +lti#:#lti_con_prov_dyn_reg_params#:#Optional Parameters###04 12 2025 new variable +lti#:#lti_con_prov_dyn_reg_params_info#:#Here, for example, references to target objects in the tool can be specified.###04 12 2025 new variable +lti#:#lti_con_prov_dyn_reg_url#:#Registration URL of the Tool###04 12 2025 new variable +lti#:#lti_con_prov_dyn_reg_url_info#:#Note: Not every tool supports dynamic registration.###04 12 2025 new variable lti#:#lti_con_prov_external_provider#:#External Provider###07 02 2020 new variable lti#:#lti_con_prov_external_provider_info#:#A hint will be shown to users when dealing with an external Provider. An external Provider is characterized by insufficient influence on the Provider by the operator of the ILIAS-installation. This is the case when there are no rights to delete.###07 02 2020 new variable lti#:#lti_con_prov_group_options#:#Options to group and filter Providers###07 02 2020 new variable @@ -11398,6 +11413,7 @@ lti#:#lti_custom_new#:#Create Own Provider Settings###07 02 2020 new variable lti#:#lti_delete_consume_provider#:#Delete Provider###07 02 2020 new variable lti#:#lti_delete_consume_providers#:#Delete Providers###07 02 2020 new variable lti#:#lti_delete_provider#:#Delete Provider###07 02 2020 new variable +lti#:#lti_dynamic_registration#:#Create Own Settings for Tool with Dynamic Registration (LTI 1.3)###04 12 2025 lti#:#lti_edit_consumer#:#Edit LTI Consumer###31 08 2017 new variable lti#:#lti_exit#:#Close LTI Session###31 08 2017 new variable lti#:#lti_exited#:#LTI Session closed###31 08 2017 new variable diff --git a/lang/ilias_sr.lang b/lang/ilias_sr.lang index a1f7a363881c..63f56a1e69bc 100644 --- a/lang/ilias_sr.lang +++ b/lang/ilias_sr.lang @@ -11206,6 +11206,12 @@ lti#:#conf_privacy_ident_il_uuid_ext_account#:#External User ID combined with a lti#:#conf_privacy_ident_il_uuid_ext_account_info#:#This is identical to each call, but may allow a direct conclusion about the user.###26 08 2024 new variable lti#:#conf_privacy_ident_il_uuid_login#:#ILIAS Login combined with a unique ILIAS platform id formatted as an E-Mail address###26 08 2024 new variable lti#:#conf_privacy_ident_il_uuid_login_info#:#Sends the login name. This is identical to each call, but may allow a direct conclusion about the ILIAS user.###26 08 2024 new variable +lti#:#conf_privacy_ident_il_uuid_random#:#Random ID combined with a unique ILIAS platform ID formatted as an E-Mail address###04 12 2025 new variable +lti#:#conf_privacy_ident_il_uuid_random_info#:#For each ILIAS object and ILIAS user a random ID is generated which remains identical for each call. Conclusions about a user are very limited because it is practically impossible to create user profiles across objects.###04 12 2025 new variable +lti#:#conf_privacy_ident_il_uuid_sha256#:#Hash combined with a unique ILIAS platform id formatted as an E-Mail address###04 12 2025 new variable +lti#:#conf_privacy_ident_il_uuid_sha256_info#:#This is identical to each call, but does not permit any direct conclusions about the ILIAS user.###04 12 2025 new variable +lti#:#conf_privacy_ident_il_uuid_sha256url#:#Hash combined with the ILIAS Domain formatted as an E-Mail address.###04 12 2025 new variable +lti#:#conf_privacy_ident_il_uuid_sha256url_info#:#This is identical to each call, with with a maximum of 80 characters significantly shorter than the variant with the ILIAS platform ID and allows only very limited conclusions about the ILIAS user.###04 12 2025 new variable lti#:#conf_privacy_ident_il_uuid_user_id#:#ILIAS user id combined with a unique ILIAS platform id formatted as an E-Mail address###26 08 2024 new variable lti#:#conf_privacy_ident_il_uuid_user_id_info#:#Sends the internal numeric user id. This is identical to each call, but may allow conclusions about the ILIAS user.###26 08 2024 new variable lti#:#conf_privacy_ident_info#:#Standard is frequently the email address. The unique ILIAS platform id is:###26 08 2024 new variable @@ -11291,13 +11297,16 @@ lti#:#launched#:#Resource was already launched.###07 02 2020 new variable lti#:#learning_progress_options#:#Options for Learning Progress###07 02 2020 new variable lti#:#lm_only_one_download_per_type#:#Please note that you can only make one file per type (XML, HTML, SCORM) public accessible.###31 08 2017 new variable lti#:#lti13_hints#:#If the tool was created without dynamic registration, the following data must be entered for the tool to run.###26 08 2024 new variable +lti#:#lti_13_authentication_url#:#Authentication Request URL###04 12 2025 new variable lti#:#lti_13_client_id#:#Client-ID###26 08 2024 new variable lti#:#lti_13_deployment_id#:#Deployment-ID###26 08 2024 new variable +lti#:#lti_13_keyset_url#:#Public Keyset URL###04 12 2025 new variable lti#:#lti_13_platform_id#:#Platform-ID###26 08 2024 new variable lti#:#lti_13_step1#:#Step 1###26 08 2024 new variable lti#:#lti_13_step1_info#:#For the initiating platform (consumer), enter the following address for Launch URL, Initiate Login URL, Redirection URI, and Registration URL:###26 08 2024 new variable lti#:#lti_13_step2#:#Step 2###26 08 2024 new variable lti#:#lti_13_step2_info#:#You will receive information from the initiating platform (Consumer), which you must enter in the following fields. After saving, the LTI 1.3 functionalities are available.###26 08 2024 new variable +lti#:#lti_13_token_url#:#Access Token URL###04 12 2025 new variable lti#:#lti_action_accept_provider_as_global#:#Accept Provider as Global Provider for all Users###07 02 2020 new variable lti#:#lti_action_accept_providers_as_global#:#Accept Providers as Global###07 02 2020 new variable lti#:#lti_action_delete_providers#:#Delete Providers###07 02 2020 new variable @@ -11311,6 +11320,8 @@ lti#:#lti_at_least_one_prov_has_usages#:#At least one provider could not be dele lti#:#lti_auth_failed_invalid_key#:#Authentication failed, no valid consumer key given.###31 08 2017 new variable lti#:#lti_con_content_item#:#Support for Deep Linking###26 08 2024 new variable lti#:#lti_con_content_item_url#:#Content URL###26 08 2024 new variable +lti#:#lti_con_grade_synchronization#:#Advanced Grading Services###04 12 2025 new variable +lti#:#lti_con_grade_synchronization_info#:#The LTI tool must offer 'Assignment and Grade Services'.###04 12 2025 new variable lti#:#lti_con_initiate_login_url#:#Initiate Login URL###26 08 2024 new variable lti#:#lti_con_key_type#:#Public Key Type###26 08 2024 new variable lti#:#lti_con_key_type_jwk#:#URL (Json Web Token)###26 08 2024 new variable @@ -11330,6 +11341,10 @@ lti#:#lti_con_prov_category_info#:#Category to filter entries when LTI Consumer lti#:#lti_con_prov_custom_params#:#Custom Parameters for this specific Provider###07 02 2020 new variable lti#:#lti_con_prov_custom_params_info#:#Please enter them in the form param1=value1; param2=value2###07 02 2020 new variable lti#:#lti_con_prov_description#:#Description###07 02 2020 new variable +lti#:#lti_con_prov_dyn_reg_params#:#Optional Parameters###04 12 2025 new variable +lti#:#lti_con_prov_dyn_reg_params_info#:#Here, for example, references to target objects in the tool can be specified.###04 12 2025 new variable +lti#:#lti_con_prov_dyn_reg_url#:#Registration URL of the Tool###04 12 2025 new variable +lti#:#lti_con_prov_dyn_reg_url_info#:#Note: Not every tool supports dynamic registration.###04 12 2025 new variable lti#:#lti_con_prov_external_provider#:#External Provider###07 02 2020 new variable lti#:#lti_con_prov_external_provider_info#:#A hint will be shown to users when dealing with an external Provider. An external Provider is characterized by insufficient influence on the Provider by the operator of the ILIAS-installation. This is the case when there are no rights to delete.###07 02 2020 new variable lti#:#lti_con_prov_group_options#:#Options to group and filter Providers###07 02 2020 new variable @@ -11398,6 +11413,7 @@ lti#:#lti_custom_new#:#Create Own Provider Settings###07 02 2020 new variable lti#:#lti_delete_consume_provider#:#Delete Provider###07 02 2020 new variable lti#:#lti_delete_consume_providers#:#Delete Providers###07 02 2020 new variable lti#:#lti_delete_provider#:#Delete Provider###07 02 2020 new variable +lti#:#lti_dynamic_registration#:#Create Own Settings for Tool with Dynamic Registration (LTI 1.3)###04 12 2025 lti#:#lti_edit_consumer#:#Edit LTI Consumer###31 08 2017 new variable lti#:#lti_exit#:#Close LTI Session###31 08 2017 new variable lti#:#lti_exited#:#LTI Session closed###31 08 2017 new variable diff --git a/lang/ilias_sv.lang b/lang/ilias_sv.lang index 0f22833e0343..633d0ec78d82 100644 --- a/lang/ilias_sv.lang +++ b/lang/ilias_sv.lang @@ -11206,6 +11206,12 @@ lti#:#conf_privacy_ident_il_uuid_ext_account#:#Externt användar-ID kombinerat m lti#:#conf_privacy_ident_il_uuid_ext_account_info#:#Detta är identiskt med varje samtal, men kan göra det möjligt att dra direkta slutsatser om användaren. lti#:#conf_privacy_ident_il_uuid_login#:#ILIAS-inloggning som e-postadress, kombinerat med ett unikt ILIAS-plattforms-ID om så krävs. lti#:#conf_privacy_ident_il_uuid_login_info#:#Sänder inloggningsnamnet. Detta är identiskt med varje anrop, men kan tillåta direkta slutsatser till ILIAS-användaren. +lti#:#conf_privacy_ident_il_uuid_random#:#Random ID combined with a unique ILIAS platform ID formatted as an E-Mail address###04 12 2025 new variable +lti#:#conf_privacy_ident_il_uuid_random_info#:#For each ILIAS object and ILIAS user a random ID is generated which remains identical for each call. Conclusions about a user are very limited because it is practically impossible to create user profiles across objects.###04 12 2025 new variable +lti#:#conf_privacy_ident_il_uuid_sha256#:#Hash combined with a unique ILIAS platform id formatted as an E-Mail address###04 12 2025 new variable +lti#:#conf_privacy_ident_il_uuid_sha256_info#:#This is identical to each call, but does not permit any direct conclusions about the ILIAS user.###04 12 2025 new variable +lti#:#conf_privacy_ident_il_uuid_sha256url#:#Hash combined with the ILIAS Domain formatted as an E-Mail address.###04 12 2025 new variable +lti#:#conf_privacy_ident_il_uuid_sha256url_info#:#This is identical to each call, with with a maximum of 80 characters significantly shorter than the variant with the ILIAS platform ID and allows only very limited conclusions about the ILIAS user.###04 12 2025 new variable lti#:#conf_privacy_ident_il_uuid_user_id#:#ID för ILIAS-kontot kombinerat med ett unikt ILIAS-plattforms-ID formaterat som en e-postadress. lti#:#conf_privacy_ident_il_uuid_user_id_info#:#Sänder det interna numeriska användar-ID:t. Detta är identiskt för varje anrop, men gör det möjligt att dra slutsatser om ILIAS-användaren. lti#:#conf_privacy_ident_info#:#Standard är ofta e-postadressen. Det unika ILIAS-plattforms-ID:t är @@ -11291,13 +11297,16 @@ lti#:#launched#:#Resursen har redan startats. lti#:#learning_progress_options#:#Alternativ för lärande framsteg lti#:#lm_only_one_download_per_type#:#Endast en fil per typ (XML, HTML, SCORM) kan göras tillgänglig för nedladdning. lti#:#lti13_hints#:#Om verktyget skapades utan dynamisk registrering måste följande data anges för att verktyget ska kunna köras. +lti#:#lti_13_authentication_url#:#Authentication Request URL###04 12 2025 new variable lti#:#lti_13_client_id#:#Klient-ID lti#:#lti_13_deployment_id#:#ID för utplacering +lti#:#lti_13_keyset_url#:#Public Keyset URL###04 12 2025 new variable lti#:#lti_13_platform_id#:#Platform ID lti#:#lti_13_step1#:#Steg 1 lti#:#lti_13_step1_info#:#För den initierande plattformen (konsumenten), ange följande adress för Launch URL, Initiate Login URL, Redirection URI och Registration URL lti#:#lti_13_step2#:#Steg 2 lti#:#lti_13_step2_info#:#Du kommer att få information från den initierande plattformen (konsumenten) som du måste ange i följande fält. Efter att ha sparat är LTI 1.3-funktionerna tillgängliga. +lti#:#lti_13_token_url#:#Access Token URL###04 12 2025 new variable lti#:#lti_action_accept_provider_as_global#:#Tillämpa leverantören eller verktyget globalt för alla användare. lti#:#lti_action_accept_providers_as_global#:#Ta över leverantören eller verktyget som en global leverantör eller ett globalt verktyg. lti#:#lti_action_delete_providers#:#Ta bort leverantör eller verktyg @@ -11311,6 +11320,8 @@ lti#:#lti_at_least_one_prov_has_usages#:#Minst en leverantör eller ett verktyg lti#:#lti_auth_failed_invalid_key#:#Autentisering inte möjlig. Ingen giltig konsumentnyckel överfördes. lti#:#lti_con_content_item#:#Stöd för djuplänkning lti#:#lti_con_content_item_url#:#URL för innehåll +lti#:#lti_con_grade_synchronization#:#Advanced Grading Services###04 12 2025 new variable +lti#:#lti_con_grade_synchronization_info#:#The LTI tool must offer 'Assignment and Grade Services'.###04 12 2025 new variable lti#:#lti_con_initiate_login_url#:#Initiera inloggnings-URL lti#:#lti_con_key_type#:#Typ av den offentliga nyckeln lti#:#lti_con_key_type_jwk#:#URL (Json Web Token) @@ -11330,6 +11341,10 @@ lti#:#lti_con_prov_category_info#:#Kategori för att filtrera poster när ett LT lti#:#lti_con_prov_custom_params#:#Användardefinierade parametrar för denna specifika leverantör lti#:#lti_con_prov_custom_params_info#:#Var god ange dem i formuläret lti#:#lti_con_prov_description#:#Beskrivning +lti#:#lti_con_prov_dyn_reg_params#:#Optional Parameters###04 12 2025 new variable +lti#:#lti_con_prov_dyn_reg_params_info#:#Here, for example, references to target objects in the tool can be specified.###04 12 2025 new variable +lti#:#lti_con_prov_dyn_reg_url#:#Registration URL of the Tool###04 12 2025 new variable +lti#:#lti_con_prov_dyn_reg_url_info#:#Note: Not every tool supports dynamic registration.###04 12 2025 new variable lti#:#lti_con_prov_external_provider#:#Extern leverantör eller externt verktyg lti#:#lti_con_prov_external_provider_info#:#När du arbetar med en extern leverantör eller ett externt verktyg visas en notering för användarna. Externa leverantörer eller verktyg kännetecknas av att ILIAS-installatörens inflytande på leverantören eller verktyget är otillräckligt. Detta är fallet o lti#:#lti_con_prov_group_options#:#Alternativ för gruppering och filtrering av leverantörer eller verktyg @@ -11398,6 +11413,7 @@ lti#:#lti_custom_new#:#Skapa din egen leverantör eller verktygsinställningar lti#:#lti_delete_consume_provider#:#Ta bort leverantör eller verktyg lti#:#lti_delete_consume_providers#:#Ta bort leverantör eller verktyg lti#:#lti_delete_provider#:#Ta bort leverantör eller verktyg +lti#:#lti_dynamic_registration#:#Create Own Settings for Tool with Dynamic Registration (LTI 1.3)###04 12 2025 lti#:#lti_edit_consumer#:#Edit LTI konsument lti#:#lti_exit#:#Avsluta LTI-session lti#:#lti_exited#:#LTI-sessionen avslutad diff --git a/lang/ilias_tr.lang b/lang/ilias_tr.lang index 8a155a2b7eb8..0699f5698544 100644 --- a/lang/ilias_tr.lang +++ b/lang/ilias_tr.lang @@ -11206,6 +11206,12 @@ lti#:#conf_privacy_ident_il_uuid_ext_account#:#External User ID combined with a lti#:#conf_privacy_ident_il_uuid_ext_account_info#:#This is identical to each call, but may allow a direct conclusion about the user.###26 08 2024 new variable lti#:#conf_privacy_ident_il_uuid_login#:#ILIAS Login combined with a unique ILIAS platform id formatted as an E-Mail address###26 08 2024 new variable lti#:#conf_privacy_ident_il_uuid_login_info#:#Sends the login name. This is identical to each call, but may allow a direct conclusion about the ILIAS user.###26 08 2024 new variable +lti#:#conf_privacy_ident_il_uuid_random#:#Random ID combined with a unique ILIAS platform ID formatted as an E-Mail address###04 12 2025 new variable +lti#:#conf_privacy_ident_il_uuid_random_info#:#For each ILIAS object and ILIAS user a random ID is generated which remains identical for each call. Conclusions about a user are very limited because it is practically impossible to create user profiles across objects.###04 12 2025 new variable +lti#:#conf_privacy_ident_il_uuid_sha256#:#Hash combined with a unique ILIAS platform id formatted as an E-Mail address###04 12 2025 new variable +lti#:#conf_privacy_ident_il_uuid_sha256_info#:#This is identical to each call, but does not permit any direct conclusions about the ILIAS user.###04 12 2025 new variable +lti#:#conf_privacy_ident_il_uuid_sha256url#:#Hash combined with the ILIAS Domain formatted as an E-Mail address.###04 12 2025 new variable +lti#:#conf_privacy_ident_il_uuid_sha256url_info#:#This is identical to each call, with with a maximum of 80 characters significantly shorter than the variant with the ILIAS platform ID and allows only very limited conclusions about the ILIAS user.###04 12 2025 new variable lti#:#conf_privacy_ident_il_uuid_user_id#:#ILIAS user id combined with a unique ILIAS platform id formatted as an E-Mail address###26 08 2024 new variable lti#:#conf_privacy_ident_il_uuid_user_id_info#:#Sends the internal numeric user id. This is identical to each call, but may allow conclusions about the ILIAS user.###26 08 2024 new variable lti#:#conf_privacy_ident_info#:#Standard is frequently the email address. The unique ILIAS platform id is:###26 08 2024 new variable @@ -11291,13 +11297,16 @@ lti#:#launched#:#Resource was already launched.###07 02 2020 new variable lti#:#learning_progress_options#:#Options for Learning Progress###07 02 2020 new variable lti#:#lm_only_one_download_per_type#:#Please note that you can only make one file per type (XML, HTML, SCORM) public accessible.###31 08 2017 new variable lti#:#lti13_hints#:#If the tool was created without dynamic registration, the following data must be entered for the tool to run.###26 08 2024 new variable +lti#:#lti_13_authentication_url#:#Authentication Request URL###04 12 2025 new variable lti#:#lti_13_client_id#:#Client-ID###26 08 2024 new variable lti#:#lti_13_deployment_id#:#Deployment-ID###26 08 2024 new variable +lti#:#lti_13_keyset_url#:#Public Keyset URL###04 12 2025 new variable lti#:#lti_13_platform_id#:#Platform-ID###26 08 2024 new variable lti#:#lti_13_step1#:#Step 1###26 08 2024 new variable lti#:#lti_13_step1_info#:#For the initiating platform (consumer), enter the following address for Launch URL, Initiate Login URL, Redirection URI, and Registration URL:###26 08 2024 new variable lti#:#lti_13_step2#:#Step 2###26 08 2024 new variable lti#:#lti_13_step2_info#:#You will receive information from the initiating platform (Consumer), which you must enter in the following fields. After saving, the LTI 1.3 functionalities are available.###26 08 2024 new variable +lti#:#lti_13_token_url#:#Access Token URL###04 12 2025 new variable lti#:#lti_action_accept_provider_as_global#:#Accept Provider as Global Provider for all Users###07 02 2020 new variable lti#:#lti_action_accept_providers_as_global#:#Accept Providers as Global###07 02 2020 new variable lti#:#lti_action_delete_providers#:#Delete Providers###07 02 2020 new variable @@ -11311,6 +11320,8 @@ lti#:#lti_at_least_one_prov_has_usages#:#At least one provider could not be dele lti#:#lti_auth_failed_invalid_key#:#Authentication failed, no valid consumer key given.###31 08 2017 new variable lti#:#lti_con_content_item#:#Support for Deep Linking###26 08 2024 new variable lti#:#lti_con_content_item_url#:#Content URL###26 08 2024 new variable +lti#:#lti_con_grade_synchronization#:#Advanced Grading Services###04 12 2025 new variable +lti#:#lti_con_grade_synchronization_info#:#The LTI tool must offer 'Assignment and Grade Services'.###04 12 2025 new variable lti#:#lti_con_initiate_login_url#:#Initiate Login URL###26 08 2024 new variable lti#:#lti_con_key_type#:#Public Key Type###26 08 2024 new variable lti#:#lti_con_key_type_jwk#:#URL (Json Web Token)###26 08 2024 new variable @@ -11330,6 +11341,10 @@ lti#:#lti_con_prov_category_info#:#Category to filter entries when LTI Consumer lti#:#lti_con_prov_custom_params#:#Custom Parameters for this specific Provider###07 02 2020 new variable lti#:#lti_con_prov_custom_params_info#:#Please enter them in the form param1=value1; param2=value2###07 02 2020 new variable lti#:#lti_con_prov_description#:#Description###07 02 2020 new variable +lti#:#lti_con_prov_dyn_reg_params#:#Optional Parameters###04 12 2025 new variable +lti#:#lti_con_prov_dyn_reg_params_info#:#Here, for example, references to target objects in the tool can be specified.###04 12 2025 new variable +lti#:#lti_con_prov_dyn_reg_url#:#Registration URL of the Tool###04 12 2025 new variable +lti#:#lti_con_prov_dyn_reg_url_info#:#Note: Not every tool supports dynamic registration.###04 12 2025 new variable lti#:#lti_con_prov_external_provider#:#External Provider###07 02 2020 new variable lti#:#lti_con_prov_external_provider_info#:#A hint will be shown to users when dealing with an external Provider. An external Provider is characterized by insufficient influence on the Provider by the operator of the ILIAS-installation. This is the case when there are no rights to delete.###07 02 2020 new variable lti#:#lti_con_prov_group_options#:#Options to group and filter Providers###07 02 2020 new variable @@ -11398,6 +11413,7 @@ lti#:#lti_custom_new#:#Create Own Provider Settings###07 02 2020 new variable lti#:#lti_delete_consume_provider#:#Delete Provider###07 02 2020 new variable lti#:#lti_delete_consume_providers#:#Delete Providers###07 02 2020 new variable lti#:#lti_delete_provider#:#Delete Provider###07 02 2020 new variable +lti#:#lti_dynamic_registration#:#Create Own Settings for Tool with Dynamic Registration (LTI 1.3)###04 12 2025 lti#:#lti_edit_consumer#:#Edit LTI Consumer###31 08 2017 new variable lti#:#lti_exit#:#Close LTI Session###31 08 2017 new variable lti#:#lti_exited#:#LTI Session closed###31 08 2017 new variable diff --git a/lang/ilias_uk.lang b/lang/ilias_uk.lang index 1ab5101fe027..9365172922c9 100644 --- a/lang/ilias_uk.lang +++ b/lang/ilias_uk.lang @@ -11206,6 +11206,12 @@ lti#:#conf_privacy_ident_il_uuid_ext_account#:#External User ID combined with a lti#:#conf_privacy_ident_il_uuid_ext_account_info#:#This is identical to each call, but may allow a direct conclusion about the user.###26 08 2024 new variable lti#:#conf_privacy_ident_il_uuid_login#:#ILIAS Login combined with a unique ILIAS platform id formatted as an E-Mail address###26 08 2024 new variable lti#:#conf_privacy_ident_il_uuid_login_info#:#Sends the login name. This is identical to each call, but may allow a direct conclusion about the ILIAS user.###26 08 2024 new variable +lti#:#conf_privacy_ident_il_uuid_random#:#Random ID combined with a unique ILIAS platform ID formatted as an E-Mail address###04 12 2025 new variable +lti#:#conf_privacy_ident_il_uuid_random_info#:#For each ILIAS object and ILIAS user a random ID is generated which remains identical for each call. Conclusions about a user are very limited because it is practically impossible to create user profiles across objects.###04 12 2025 new variable +lti#:#conf_privacy_ident_il_uuid_sha256#:#Hash combined with a unique ILIAS platform id formatted as an E-Mail address###04 12 2025 new variable +lti#:#conf_privacy_ident_il_uuid_sha256_info#:#This is identical to each call, but does not permit any direct conclusions about the ILIAS user.###04 12 2025 new variable +lti#:#conf_privacy_ident_il_uuid_sha256url#:#Hash combined with the ILIAS Domain formatted as an E-Mail address.###04 12 2025 new variable +lti#:#conf_privacy_ident_il_uuid_sha256url_info#:#This is identical to each call, with with a maximum of 80 characters significantly shorter than the variant with the ILIAS platform ID and allows only very limited conclusions about the ILIAS user.###04 12 2025 new variable lti#:#conf_privacy_ident_il_uuid_user_id#:#ILIAS user id combined with a unique ILIAS platform id formatted as an E-Mail address###26 08 2024 new variable lti#:#conf_privacy_ident_il_uuid_user_id_info#:#Sends the internal numeric user id. This is identical to each call, but may allow conclusions about the ILIAS user.###26 08 2024 new variable lti#:#conf_privacy_ident_info#:#Standard is frequently the email address. The unique ILIAS platform id is:###26 08 2024 new variable @@ -11291,13 +11297,16 @@ lti#:#launched#:#Resource was already launched.###07 02 2020 new variable lti#:#learning_progress_options#:#Options for Learning Progress###07 02 2020 new variable lti#:#lm_only_one_download_per_type#:#Please note that you can only make one file per type (XML, HTML, SCORM) public accessible.###31 08 2017 new variable lti#:#lti13_hints#:#If the tool was created without dynamic registration, the following data must be entered for the tool to run.###26 08 2024 new variable +lti#:#lti_13_authentication_url#:#Authentication Request URL###04 12 2025 new variable lti#:#lti_13_client_id#:#Client-ID###26 08 2024 new variable lti#:#lti_13_deployment_id#:#Deployment-ID###26 08 2024 new variable +lti#:#lti_13_keyset_url#:#Public Keyset URL###04 12 2025 new variable lti#:#lti_13_platform_id#:#Platform-ID###26 08 2024 new variable lti#:#lti_13_step1#:#Step 1###26 08 2024 new variable lti#:#lti_13_step1_info#:#For the initiating platform (consumer), enter the following address for Launch URL, Initiate Login URL, Redirection URI, and Registration URL:###26 08 2024 new variable lti#:#lti_13_step2#:#Step 2###26 08 2024 new variable lti#:#lti_13_step2_info#:#You will receive information from the initiating platform (Consumer), which you must enter in the following fields. After saving, the LTI 1.3 functionalities are available.###26 08 2024 new variable +lti#:#lti_13_token_url#:#Access Token URL###04 12 2025 new variable lti#:#lti_action_accept_provider_as_global#:#Accept Provider as Global Provider for all Users###07 02 2020 new variable lti#:#lti_action_accept_providers_as_global#:#Accept Providers as Global###07 02 2020 new variable lti#:#lti_action_delete_providers#:#Delete Providers###07 02 2020 new variable @@ -11311,6 +11320,8 @@ lti#:#lti_at_least_one_prov_has_usages#:#At least one provider could not be dele lti#:#lti_auth_failed_invalid_key#:#Authentication failed, no valid consumer key given.###31 08 2017 new variable lti#:#lti_con_content_item#:#Support for Deep Linking###26 08 2024 new variable lti#:#lti_con_content_item_url#:#Content URL###26 08 2024 new variable +lti#:#lti_con_grade_synchronization#:#Advanced Grading Services###04 12 2025 new variable +lti#:#lti_con_grade_synchronization_info#:#The LTI tool must offer 'Assignment and Grade Services'.###04 12 2025 new variable lti#:#lti_con_initiate_login_url#:#Initiate Login URL###26 08 2024 new variable lti#:#lti_con_key_type#:#Public Key Type###26 08 2024 new variable lti#:#lti_con_key_type_jwk#:#URL (Json Web Token)###26 08 2024 new variable @@ -11330,6 +11341,10 @@ lti#:#lti_con_prov_category_info#:#Category to filter entries when LTI Consumer lti#:#lti_con_prov_custom_params#:#Custom Parameters for this specific Provider###07 02 2020 new variable lti#:#lti_con_prov_custom_params_info#:#Please enter them in the form param1=value1; param2=value2###07 02 2020 new variable lti#:#lti_con_prov_description#:#Description###07 02 2020 new variable +lti#:#lti_con_prov_dyn_reg_params#:#Optional Parameters###04 12 2025 new variable +lti#:#lti_con_prov_dyn_reg_params_info#:#Here, for example, references to target objects in the tool can be specified.###04 12 2025 new variable +lti#:#lti_con_prov_dyn_reg_url#:#Registration URL of the Tool###04 12 2025 new variable +lti#:#lti_con_prov_dyn_reg_url_info#:#Note: Not every tool supports dynamic registration.###04 12 2025 new variable lti#:#lti_con_prov_external_provider#:#External Provider###07 02 2020 new variable lti#:#lti_con_prov_external_provider_info#:#A hint will be shown to users when dealing with an external Provider. An external Provider is characterized by insufficient influence on the Provider by the operator of the ILIAS-installation. This is the case when there are no rights to delete.###07 02 2020 new variable lti#:#lti_con_prov_group_options#:#Options to group and filter Providers###07 02 2020 new variable @@ -11398,6 +11413,7 @@ lti#:#lti_custom_new#:#Create Own Provider Settings###07 02 2020 new variable lti#:#lti_delete_consume_provider#:#Delete Provider###07 02 2020 new variable lti#:#lti_delete_consume_providers#:#Delete Providers###07 02 2020 new variable lti#:#lti_delete_provider#:#Delete Provider###07 02 2020 new variable +lti#:#lti_dynamic_registration#:#Create Own Settings for Tool with Dynamic Registration (LTI 1.3)###04 12 2025 lti#:#lti_edit_consumer#:#Edit LTI Consumer###31 08 2017 new variable lti#:#lti_exit#:#Close LTI Session###31 08 2017 new variable lti#:#lti_exited#:#LTI Session closed###31 08 2017 new variable diff --git a/lang/ilias_vi.lang b/lang/ilias_vi.lang index f1b697d592d5..794cb300a8c9 100644 --- a/lang/ilias_vi.lang +++ b/lang/ilias_vi.lang @@ -11208,6 +11208,12 @@ lti#:#conf_privacy_ident_il_uuid_ext_account#:#External User ID combined with a lti#:#conf_privacy_ident_il_uuid_ext_account_info#:#This is identical to each call, but may allow a direct conclusion about the user.###26 08 2024 new variable lti#:#conf_privacy_ident_il_uuid_login#:#ILIAS Login combined with a unique ILIAS platform id formatted as an E-Mail address###26 08 2024 new variable lti#:#conf_privacy_ident_il_uuid_login_info#:#Sends the login name. This is identical to each call, but may allow a direct conclusion about the ILIAS user.###26 08 2024 new variable +lti#:#conf_privacy_ident_il_uuid_random#:#Random ID combined with a unique ILIAS platform ID formatted as an E-Mail address###04 12 2025 new variable +lti#:#conf_privacy_ident_il_uuid_random_info#:#For each ILIAS object and ILIAS user a random ID is generated which remains identical for each call. Conclusions about a user are very limited because it is practically impossible to create user profiles across objects.###04 12 2025 new variable +lti#:#conf_privacy_ident_il_uuid_sha256#:#Hash combined with a unique ILIAS platform id formatted as an E-Mail address###04 12 2025 new variable +lti#:#conf_privacy_ident_il_uuid_sha256_info#:#This is identical to each call, but does not permit any direct conclusions about the ILIAS user.###04 12 2025 new variable +lti#:#conf_privacy_ident_il_uuid_sha256url#:#Hash combined with the ILIAS Domain formatted as an E-Mail address.###04 12 2025 new variable +lti#:#conf_privacy_ident_il_uuid_sha256url_info#:#This is identical to each call, with with a maximum of 80 characters significantly shorter than the variant with the ILIAS platform ID and allows only very limited conclusions about the ILIAS user.###04 12 2025 new variable lti#:#conf_privacy_ident_il_uuid_user_id#:#ILIAS user id combined with a unique ILIAS platform id formatted as an E-Mail address###26 08 2024 new variable lti#:#conf_privacy_ident_il_uuid_user_id_info#:#Sends the internal numeric user id. This is identical to each call, but may allow conclusions about the ILIAS user.###26 08 2024 new variable lti#:#conf_privacy_ident_info#:#Standard is frequently the email address. The unique ILIAS platform id is:###26 08 2024 new variable @@ -11293,13 +11299,16 @@ lti#:#launched#:#Resource was already launched.###07 02 2020 new variable lti#:#learning_progress_options#:#Options for Learning Progress###07 02 2020 new variable lti#:#lm_only_one_download_per_type#:#Please note that you can only make one file per type (XML, HTML, SCORM) public accessible.###31 08 2017 new variable lti#:#lti13_hints#:#If the tool was created without dynamic registration, the following data must be entered for the tool to run.###26 08 2024 new variable +lti#:#lti_13_authentication_url#:#Authentication Request URL###04 12 2025 new variable lti#:#lti_13_client_id#:#Client-ID###26 08 2024 new variable lti#:#lti_13_deployment_id#:#Deployment-ID###26 08 2024 new variable +lti#:#lti_13_keyset_url#:#Public Keyset URL###04 12 2025 new variable lti#:#lti_13_platform_id#:#Platform-ID###26 08 2024 new variable lti#:#lti_13_step1#:#Step 1###26 08 2024 new variable lti#:#lti_13_step1_info#:#For the initiating platform (consumer), enter the following address for Launch URL, Initiate Login URL, Redirection URI, and Registration URL:###26 08 2024 new variable lti#:#lti_13_step2#:#Step 2###26 08 2024 new variable lti#:#lti_13_step2_info#:#You will receive information from the initiating platform (Consumer), which you must enter in the following fields. After saving, the LTI 1.3 functionalities are available.###26 08 2024 new variable +lti#:#lti_13_token_url#:#Access Token URL###04 12 2025 new variable lti#:#lti_action_accept_provider_as_global#:#Accept Provider as Global Provider for all Users###07 02 2020 new variable lti#:#lti_action_accept_providers_as_global#:#Accept Providers as Global###07 02 2020 new variable lti#:#lti_action_delete_providers#:#Delete Providers###07 02 2020 new variable @@ -11313,6 +11322,8 @@ lti#:#lti_at_least_one_prov_has_usages#:#At least one provider could not be dele lti#:#lti_auth_failed_invalid_key#:#Authentication failed, no valid consumer key given.###31 08 2017 new variable lti#:#lti_con_content_item#:#Support for Deep Linking###26 08 2024 new variable lti#:#lti_con_content_item_url#:#Content URL###26 08 2024 new variable +lti#:#lti_con_grade_synchronization#:#Advanced Grading Services###04 12 2025 new variable +lti#:#lti_con_grade_synchronization_info#:#The LTI tool must offer 'Assignment and Grade Services'.###04 12 2025 new variable lti#:#lti_con_initiate_login_url#:#Initiate Login URL###26 08 2024 new variable lti#:#lti_con_key_type#:#Public Key Type###26 08 2024 new variable lti#:#lti_con_key_type_jwk#:#URL (Json Web Token)###26 08 2024 new variable @@ -11332,6 +11343,10 @@ lti#:#lti_con_prov_category_info#:#Category to filter entries when LTI Consumer lti#:#lti_con_prov_custom_params#:#Custom Parameters for this specific Provider###07 02 2020 new variable lti#:#lti_con_prov_custom_params_info#:#Please enter them in the form param1=value1; param2=value2###07 02 2020 new variable lti#:#lti_con_prov_description#:#Description###07 02 2020 new variable +lti#:#lti_con_prov_dyn_reg_params#:#Optional Parameters###04 12 2025 new variable +lti#:#lti_con_prov_dyn_reg_params_info#:#Here, for example, references to target objects in the tool can be specified.###04 12 2025 new variable +lti#:#lti_con_prov_dyn_reg_url#:#Registration URL of the Tool###04 12 2025 new variable +lti#:#lti_con_prov_dyn_reg_url_info#:#Note: Not every tool supports dynamic registration.###04 12 2025 new variable lti#:#lti_con_prov_external_provider#:#External Provider###07 02 2020 new variable lti#:#lti_con_prov_external_provider_info#:#A hint will be shown to users when dealing with an external Provider. An external Provider is characterized by insufficient influence on the Provider by the operator of the ILIAS-installation. This is the case when there are no rights to delete.###07 02 2020 new variable lti#:#lti_con_prov_group_options#:#Options to group and filter Providers###07 02 2020 new variable @@ -11400,6 +11415,7 @@ lti#:#lti_custom_new#:#Create Own Provider Settings###07 02 2020 new variable lti#:#lti_delete_consume_provider#:#Delete Provider###07 02 2020 new variable lti#:#lti_delete_consume_providers#:#Delete Providers###07 02 2020 new variable lti#:#lti_delete_provider#:#Delete Provider###07 02 2020 new variable +lti#:#lti_dynamic_registration#:#Create Own Settings for Tool with Dynamic Registration (LTI 1.3)###04 12 2025 lti#:#lti_edit_consumer#:#Edit LTI Consumer###31 08 2017 new variable lti#:#lti_exit#:#Close LTI Session###31 08 2017 new variable lti#:#lti_exited#:#LTI Session closed###31 08 2017 new variable diff --git a/lang/ilias_zh.lang b/lang/ilias_zh.lang index 531125f5f066..d1f95698ca33 100644 --- a/lang/ilias_zh.lang +++ b/lang/ilias_zh.lang @@ -11205,6 +11205,12 @@ lti#:#conf_privacy_ident_il_uuid_ext_account#:#External User ID combined with a lti#:#conf_privacy_ident_il_uuid_ext_account_info#:#This is identical to each call, but may allow a direct conclusion about the user.###26 08 2024 new variable lti#:#conf_privacy_ident_il_uuid_login#:#ILIAS Login combined with a unique ILIAS platform id formatted as an E-Mail address###26 08 2024 new variable lti#:#conf_privacy_ident_il_uuid_login_info#:#Sends the login name. This is identical to each call, but may allow a direct conclusion about the ILIAS user.###26 08 2024 new variable +lti#:#conf_privacy_ident_il_uuid_random#:#Random ID combined with a unique ILIAS platform ID formatted as an E-Mail address###04 12 2025 new variable +lti#:#conf_privacy_ident_il_uuid_random_info#:#For each ILIAS object and ILIAS user a random ID is generated which remains identical for each call. Conclusions about a user are very limited because it is practically impossible to create user profiles across objects.###04 12 2025 new variable +lti#:#conf_privacy_ident_il_uuid_sha256#:#Hash combined with a unique ILIAS platform id formatted as an E-Mail address###04 12 2025 new variable +lti#:#conf_privacy_ident_il_uuid_sha256_info#:#This is identical to each call, but does not permit any direct conclusions about the ILIAS user.###04 12 2025 new variable +lti#:#conf_privacy_ident_il_uuid_sha256url#:#Hash combined with the ILIAS Domain formatted as an E-Mail address.###04 12 2025 new variable +lti#:#conf_privacy_ident_il_uuid_sha256url_info#:#This is identical to each call, with with a maximum of 80 characters significantly shorter than the variant with the ILIAS platform ID and allows only very limited conclusions about the ILIAS user.###04 12 2025 new variable lti#:#conf_privacy_ident_il_uuid_user_id#:#ILIAS user id combined with a unique ILIAS platform id formatted as an E-Mail address###26 08 2024 new variable lti#:#conf_privacy_ident_il_uuid_user_id_info#:#Sends the internal numeric user id. This is identical to each call, but may allow conclusions about the ILIAS user.###26 08 2024 new variable lti#:#conf_privacy_ident_info#:#Standard is frequently the email address. The unique ILIAS platform id is:###26 08 2024 new variable @@ -11290,13 +11296,16 @@ lti#:#launched#:#Resource was already launched.###07 02 2020 new variable lti#:#learning_progress_options#:#Options for Learning Progress###07 02 2020 new variable lti#:#lm_only_one_download_per_type#:#Please note that you can only make one file per type (XML, HTML, SCORM) public accessible.###31 08 2017 new variable lti#:#lti13_hints#:#If the tool was created without dynamic registration, the following data must be entered for the tool to run.###26 08 2024 new variable +lti#:#lti_13_authentication_url#:#Authentication Request URL###04 12 2025 new variable lti#:#lti_13_client_id#:#Client-ID###26 08 2024 new variable lti#:#lti_13_deployment_id#:#Deployment-ID###26 08 2024 new variable +lti#:#lti_13_keyset_url#:#Public Keyset URL###04 12 2025 new variable lti#:#lti_13_platform_id#:#Platform-ID###26 08 2024 new variable lti#:#lti_13_step1#:#Step 1###26 08 2024 new variable lti#:#lti_13_step1_info#:#For the initiating platform (consumer), enter the following address for Launch URL, Initiate Login URL, Redirection URI, and Registration URL:###26 08 2024 new variable lti#:#lti_13_step2#:#Step 2###26 08 2024 new variable lti#:#lti_13_step2_info#:#You will receive information from the initiating platform (Consumer), which you must enter in the following fields. After saving, the LTI 1.3 functionalities are available.###26 08 2024 new variable +lti#:#lti_13_token_url#:#Access Token URL###04 12 2025 new variable lti#:#lti_action_accept_provider_as_global#:#Accept Provider as Global Provider for all Users###07 02 2020 new variable lti#:#lti_action_accept_providers_as_global#:#Accept Providers as Global###07 02 2020 new variable lti#:#lti_action_delete_providers#:#Delete Providers###07 02 2020 new variable @@ -11310,6 +11319,8 @@ lti#:#lti_at_least_one_prov_has_usages#:#At least one provider could not be dele lti#:#lti_auth_failed_invalid_key#:#Authentication failed, no valid consumer key given.###31 08 2017 new variable lti#:#lti_con_content_item#:#Support for Deep Linking###26 08 2024 new variable lti#:#lti_con_content_item_url#:#Content URL###26 08 2024 new variable +lti#:#lti_con_grade_synchronization#:#Advanced Grading Services###04 12 2025 new variable +lti#:#lti_con_grade_synchronization_info#:#The LTI tool must offer 'Assignment and Grade Services'.###04 12 2025 new variable lti#:#lti_con_initiate_login_url#:#Initiate Login URL###26 08 2024 new variable lti#:#lti_con_key_type#:#Public Key Type###26 08 2024 new variable lti#:#lti_con_key_type_jwk#:#URL (Json Web Token)###26 08 2024 new variable @@ -11329,6 +11340,10 @@ lti#:#lti_con_prov_category_info#:#Category to filter entries when LTI Consumer lti#:#lti_con_prov_custom_params#:#Custom Parameters for this specific Provider###07 02 2020 new variable lti#:#lti_con_prov_custom_params_info#:#Please enter them in the form param1=value1; param2=value2###07 02 2020 new variable lti#:#lti_con_prov_description#:#Description###07 02 2020 new variable +lti#:#lti_con_prov_dyn_reg_params#:#Optional Parameters###04 12 2025 new variable +lti#:#lti_con_prov_dyn_reg_params_info#:#Here, for example, references to target objects in the tool can be specified.###04 12 2025 new variable +lti#:#lti_con_prov_dyn_reg_url#:#Registration URL of the Tool###04 12 2025 new variable +lti#:#lti_con_prov_dyn_reg_url_info#:#Note: Not every tool supports dynamic registration.###04 12 2025 new variable lti#:#lti_con_prov_external_provider#:#External Provider###07 02 2020 new variable lti#:#lti_con_prov_external_provider_info#:#A hint will be shown to users when dealing with an external Provider. An external Provider is characterized by insufficient influence on the Provider by the operator of the ILIAS-installation. This is the case when there are no rights to delete.###07 02 2020 new variable lti#:#lti_con_prov_group_options#:#Options to group and filter Providers###07 02 2020 new variable @@ -11397,6 +11412,7 @@ lti#:#lti_custom_new#:#Create Own Provider Settings###07 02 2020 new variable lti#:#lti_delete_consume_provider#:#Delete Provider###07 02 2020 new variable lti#:#lti_delete_consume_providers#:#Delete Providers###07 02 2020 new variable lti#:#lti_delete_provider#:#Delete Provider###07 02 2020 new variable +lti#:#lti_dynamic_registration#:#Create Own Settings for Tool with Dynamic Registration (LTI 1.3)###04 12 2025 lti#:#lti_edit_consumer#:#Edit LTI Consumer###31 08 2017 new variable lti#:#lti_exit#:#Close LTI Session###31 08 2017 new variable lti#:#lti_exited#:#LTI Session closed###31 08 2017 new variable From 175e6ae9602fbb1815dacf5571ed619b689bad7b Mon Sep 17 00:00:00 2001 From: Sergio Santiago Date: Fri, 5 Dec 2025 07:39:38 +0100 Subject: [PATCH 143/865] fix: LTI nullable type We fixed a null assignment error. --- .../ILIAS/LTIProvider/classes/class.ilLTIDataConnector.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/components/ILIAS/LTIProvider/classes/class.ilLTIDataConnector.php b/components/ILIAS/LTIProvider/classes/class.ilLTIDataConnector.php index ac5e6e5e0b8a..6aaf15c2bd8f 100644 --- a/components/ILIAS/LTIProvider/classes/class.ilLTIDataConnector.php +++ b/components/ILIAS/LTIProvider/classes/class.ilLTIDataConnector.php @@ -1699,7 +1699,7 @@ public function lookupResourcesForUserObjectRelation( int $a_ref_id, string $a_lti_user, int $a_ext_consumer, - ilDateTime $since = null + ?ilDateTime $since = null ): array { $db = $this->database; From 3acd9a99472947f3315c75136e5fca988be8dd66 Mon Sep 17 00:00:00 2001 From: Sergio Santiago Date: Fri, 5 Dec 2025 08:20:46 +0100 Subject: [PATCH 144/865] fix: LTI cs-fixer --- .../LTIConsumer/classes/class.ilLTIConsumerContentGUI.php | 2 +- components/ILIAS/LTIConsumer/resources/ltiauth.php | 4 ++-- components/ILIAS/LTIProvider/resources/lti.php | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/components/ILIAS/LTIConsumer/classes/class.ilLTIConsumerContentGUI.php b/components/ILIAS/LTIConsumer/classes/class.ilLTIConsumerContentGUI.php index cdceb858ab45..cdfc2555f30a 100755 --- a/components/ILIAS/LTIConsumer/classes/class.ilLTIConsumerContentGUI.php +++ b/components/ILIAS/LTIConsumer/classes/class.ilLTIConsumerContentGUI.php @@ -456,7 +456,7 @@ private function validateLTI13InitalLogin(array $loginData): ?string } if ($ok) { list($ref_id, $ilias_client_id) = explode(':', ilSession::get('lti_message_hint'), 2); - if ((int)$this->object->getRefId() !== (int) $ref_id) { + if ((int) $this->object->getRefId() !== (int) $ref_id) { $ok = false; $error = 'invalid_request'; } diff --git a/components/ILIAS/LTIConsumer/resources/ltiauth.php b/components/ILIAS/LTIConsumer/resources/ltiauth.php index c846c9328eff..b133b67928e7 100644 --- a/components/ILIAS/LTIConsumer/resources/ltiauth.php +++ b/components/ILIAS/LTIConsumer/resources/ltiauth.php @@ -85,9 +85,9 @@ function sanitizeJson(string $string) if ($provider->getContentItemUrl() == $redirectUri && isset($hint['deployment_id'])) { $isDlMode = true; - $deploymentId = (int)$hint['deployment_id']; + $deploymentId = (int) $hint['deployment_id']; $ownerId = ilObjectFactory::getInstanceByRefId(224)->getOwner(); - $childRefId = ilObjLTIConsumer::getRefIdOfConsumerByDeploymentId((string)$deploymentId); + $childRefId = ilObjLTIConsumer::getRefIdOfConsumerByDeploymentId((string) $deploymentId); $refId = $DIC->repositoryTree()->getParentId($childRefId); } diff --git a/components/ILIAS/LTIProvider/resources/lti.php b/components/ILIAS/LTIProvider/resources/lti.php index 7a9d3ef2932b..25a5dbb502d5 100644 --- a/components/ILIAS/LTIProvider/resources/lti.php +++ b/components/ILIAS/LTIProvider/resources/lti.php @@ -31,4 +31,4 @@ global $DIC; $DIC->ctrl()->setTargetScript('ilias.php'); -$DIC->ctrl()->callBaseClass('ilStartUpGUI'); \ No newline at end of file +$DIC->ctrl()->callBaseClass('ilStartUpGUI'); From c57fd2c4bb45d449ef003aa54b06d650d8242bcc Mon Sep 17 00:00:00 2001 From: Aaron Bidzan Date: Thu, 4 Dec 2025 13:45:10 +0100 Subject: [PATCH 145/865] Keeps question id parameters when building sub tabs --- .../classes/class.ilAssQuestionSkillAssignmentsGUI.php | 2 ++ .../TestQuestionPool/src/Skills/EditSkillsOfQuestionTable.php | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/components/ILIAS/TestQuestionPool/classes/class.ilAssQuestionSkillAssignmentsGUI.php b/components/ILIAS/TestQuestionPool/classes/class.ilAssQuestionSkillAssignmentsGUI.php index f8e7aa6ea136..d1e813fedd82 100755 --- a/components/ILIAS/TestQuestionPool/classes/class.ilAssQuestionSkillAssignmentsGUI.php +++ b/components/ILIAS/TestQuestionPool/classes/class.ilAssQuestionSkillAssignmentsGUI.php @@ -165,6 +165,8 @@ public function executeCommand(): void $this->ctrl->redirect($this, self::CMD_SHOW_SKILL_QUEST_ASSIGNS); } + $this->keepAssignmentParameters(); + if (in_array($command, [self::CMD_EDIT_SKILL_QUEST_ASSIGNS])) { $this->modifyTabs(); } diff --git a/components/ILIAS/TestQuestionPool/src/Skills/EditSkillsOfQuestionTable.php b/components/ILIAS/TestQuestionPool/src/Skills/EditSkillsOfQuestionTable.php index ddb2ab4a2424..a09a11b9c688 100644 --- a/components/ILIAS/TestQuestionPool/src/Skills/EditSkillsOfQuestionTable.php +++ b/components/ILIAS/TestQuestionPool/src/Skills/EditSkillsOfQuestionTable.php @@ -46,7 +46,7 @@ public function __construct( */ public function getComponents(URLBuilder $url_builder): array { - $question = \assQuestionGUI::_getQuestionGUI('', $this->pool_request->getQuestionId())->getObject(); + $question = \assQuestion::instantiateQuestion($this->pool_request->getQuestionId()); return [ $this->ui_factory->table()->data( $this, From f5096e095cee76eb52464e179a857eec05651d18 Mon Sep 17 00:00:00 2001 From: Aaron Bidzan Date: Thu, 4 Dec 2025 14:28:56 +0100 Subject: [PATCH 146/865] Adds Export tab as an option in activate tab function --- components/ILIAS/Test/src/Presentation/TabsManager.php | 1 + 1 file changed, 1 insertion(+) diff --git a/components/ILIAS/Test/src/Presentation/TabsManager.php b/components/ILIAS/Test/src/Presentation/TabsManager.php index f4f4e8df3ebc..26bf10b83a2b 100755 --- a/components/ILIAS/Test/src/Presentation/TabsManager.php +++ b/components/ILIAS/Test/src/Presentation/TabsManager.php @@ -95,6 +95,7 @@ public function activateTab(string $tab_id): void case self::TAB_ID_YOUR_RESULTS: case self::TAB_ID_SETTINGS: case self::TAB_ID_TEST: + case self::TAB_ID_EXPORT: case self::TAB_ID_LEARNING_PROGRESS: $this->tabs->activateTab($tab_id); } From fdd7a19227ae035cbbb68e2ac03ee48c8202572b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thomas=20Jou=C3=9Fen?= Date: Fri, 5 Dec 2025 11:37:55 +0100 Subject: [PATCH 147/865] T&A Fix routing after saving competence settings on sync confirmation screen. --- .../classes/class.ilAssQuestionSkillAssignmentsGUI.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/components/ILIAS/TestQuestionPool/classes/class.ilAssQuestionSkillAssignmentsGUI.php b/components/ILIAS/TestQuestionPool/classes/class.ilAssQuestionSkillAssignmentsGUI.php index d1e813fedd82..04674de971ce 100755 --- a/components/ILIAS/TestQuestionPool/classes/class.ilAssQuestionSkillAssignmentsGUI.php +++ b/components/ILIAS/TestQuestionPool/classes/class.ilAssQuestionSkillAssignmentsGUI.php @@ -594,7 +594,7 @@ private function showSyncOriginalConfirmationCmd(): void $confirmation->setFormAction($this->ctrl->getFormAction($this)); $confirmation->addHiddenItem('q_id', $this->request_data_collector->getQuestionId()); $confirmation->setConfirm($this->lng->txt('yes'), self::CMD_SYNC_ORIGINAL); - $confirmation->setCancel($this->lng->txt('no'), self::CMD_SHOW_SKILL_QUEST_ASSIGNS); + $confirmation->setCancel($this->lng->txt('no'), self::CMD_EDIT_SKILL_QUEST_ASSIGNS); $this->tpl->setContent($this->ctrl->getHTML($confirmation)); } @@ -615,7 +615,7 @@ private function syncOriginalCmd(): void $this->tpl->setOnScreenMessage('success', $this->lng->txt('qpl_qst_skl_assign_synced_to_orig'), true); } - $this->ctrl->redirect($this, self::CMD_SHOW_SKILL_QUEST_ASSIGNS); + $this->ctrl->redirect($this, self::CMD_EDIT_SKILL_QUEST_ASSIGNS); } private function buildSkillQuestionAssignmentList(): ilAssQuestionSkillAssignmentList From 238299fff9809f82efdfed72822b299c075c4874 Mon Sep 17 00:00:00 2001 From: ChristofBuch <68499023+ChristofBuch@users.noreply.github.com> Date: Fri, 5 Dec 2025 13:47:02 +0100 Subject: [PATCH 148/865] fix 46338: update languages without ilObject --- .../Language/classes/class.ilObjLanguage.php | 17 +++++++++++++++++ .../Language/classes/class.ilPluginLanguage.php | 7 +------ 2 files changed, 18 insertions(+), 6 deletions(-) diff --git a/components/ILIAS/Language/classes/class.ilObjLanguage.php b/components/ILIAS/Language/classes/class.ilObjLanguage.php index e7636f49a389..eaac24092f6b 100755 --- a/components/ILIAS/Language/classes/class.ilObjLanguage.php +++ b/components/ILIAS/Language/classes/class.ilObjLanguage.php @@ -86,6 +86,23 @@ public static function getInstalledLanguages(): array } + /** + * Return the language keys of the installed languages + * + * @return array + */ + public static function getLangKeysOfInstalledLanguages(): array + { + $lang_keys = []; + foreach (ilObject::_getObjectsByType("lng") as $lang) { + if ($lang['desc'] === 'installed') { + $lang_keys[] = $lang['title']; + } + } + return $lang_keys; + } + + /** * get language key * diff --git a/components/ILIAS/Language/classes/class.ilPluginLanguage.php b/components/ILIAS/Language/classes/class.ilPluginLanguage.php index bd81eda62dfb..277242f3d78c 100755 --- a/components/ILIAS/Language/classes/class.ilPluginLanguage.php +++ b/components/ILIAS/Language/classes/class.ilPluginLanguage.php @@ -92,12 +92,7 @@ public function updateLanguages(?array $a_lang_keys = null): void { // get the keys of all installed languages if keys are not provided if (!isset($a_lang_keys)) { - $a_lang_keys = []; - foreach (ilObjLanguage::getInstalledLanguages() as $langObj) { - if ($langObj->isInstalled()) { - $a_lang_keys[] = $langObj->getKey(); - } - } + $a_lang_keys = ilObjLanguage::getLangKeysOfInstalledLanguages(); } $langs = $this->getAvailableLangFiles(); From af6573d87270356c2f33e7f7e04982980c3112b8 Mon Sep 17 00:00:00 2001 From: Stephan Kergomard Date: Fri, 5 Dec 2025 14:11:42 +0100 Subject: [PATCH 149/865] User: Resolve Starting-Point Language Variable --- components/ILIAS/User/src/Settings/StartingPoint/Setting.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/components/ILIAS/User/src/Settings/StartingPoint/Setting.php b/components/ILIAS/User/src/Settings/StartingPoint/Setting.php index 9adf828e9783..17254d021545 100644 --- a/components/ILIAS/User/src/Settings/StartingPoint/Setting.php +++ b/components/ILIAS/User/src/Settings/StartingPoint/Setting.php @@ -185,7 +185,7 @@ public function getDefaultValueForDisplay( if ($default_starting_point !== Repository::START_REPOSITORY_OBJ || ($ref_id = $this->starting_point_repository->getSystemDefaultStartingObject()) === null || ($obj_id = \ilObject::_lookupObjId($ref_id)) === 0) { - return $starting_point; + return $lng->txt($starting_point); } return $lng->txt('obj_' . \ilObject::_lookupType($obj_id)) . ' - ' . \ilObject::_lookupTitle($obj_id); } From 44284da9ba5b49199cfc49f407e00756340a7aee Mon Sep 17 00:00:00 2001 From: mjansen Date: Mon, 8 Dec 2025 08:29:30 +0100 Subject: [PATCH 150/865] Registration: Use date format for date string See: https://mantis.ilias.de/view.php?id=46472 --- components/ILIAS/Registration/src/RegistrationCodesTable.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/components/ILIAS/Registration/src/RegistrationCodesTable.php b/components/ILIAS/Registration/src/RegistrationCodesTable.php index 5094dd5d82f9..c699425f6f66 100644 --- a/components/ILIAS/Registration/src/RegistrationCodesTable.php +++ b/components/ILIAS/Registration/src/RegistrationCodesTable.php @@ -214,8 +214,8 @@ private function getRecords(Range $range, Order $order, ?array $filter_data): ar case 'absolute': $result[$k]['alimit'] = $this->lng->txt('reg_access_limitation_mode_absolute_target') . ': ' . - $date_format->applyTo( - (new DateTimeImmutable('@' . $code['alimitdt']))->setTimezone( + $this->actor->getDateFormat()->applyTo( + (new DateTimeImmutable($code['alimitdt']))->setTimezone( new DateTimeZone($this->actor->getTimeZone()) ) ); From 4ad351b19e199854a74291ee2044af539950d69d Mon Sep 17 00:00:00 2001 From: mjansen Date: Mon, 8 Dec 2025 08:33:32 +0100 Subject: [PATCH 151/865] User: Fix missing PHP namespace usage See: https://mantis.ilias.de/view.php?id=46473 --- components/ILIAS/User/src/Account/class.DeleteAccountGUI.php | 1 + 1 file changed, 1 insertion(+) diff --git a/components/ILIAS/User/src/Account/class.DeleteAccountGUI.php b/components/ILIAS/User/src/Account/class.DeleteAccountGUI.php index 12bea97d611f..ae1858286c6c 100755 --- a/components/ILIAS/User/src/Account/class.DeleteAccountGUI.php +++ b/components/ILIAS/User/src/Account/class.DeleteAccountGUI.php @@ -24,6 +24,7 @@ use ILIAS\Language\Language; use ILIAS\UI\Factory as UIFactory; use ILIAS\UI\Renderer as UIRenderer; +use ILIAS\User\StaticURLHandler; class DeleteAccountGUI { From 88609bc42653b9ecaa01cce0e00ecd84f64af0bc Mon Sep 17 00:00:00 2001 From: mjansen Date: Mon, 8 Dec 2025 08:48:53 +0100 Subject: [PATCH 152/865] Registration/User: Fix wrong field name for "email" input element See: https://mantis.ilias.de/view.php?id=46476 --- .../classes/class.ilAccountRegistrationGUI.php | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/components/ILIAS/Registration/classes/class.ilAccountRegistrationGUI.php b/components/ILIAS/Registration/classes/class.ilAccountRegistrationGUI.php index 7b3df90ff473..a2645abf89c8 100755 --- a/components/ILIAS/Registration/classes/class.ilAccountRegistrationGUI.php +++ b/components/ILIAS/Registration/classes/class.ilAccountRegistrationGUI.php @@ -185,7 +185,7 @@ protected function initForm(): void } } if (count($domains)) { - $mail_obj = $this->form->getItemByPostVar('usr_email'); + $mail_obj = $this->form->getItemByPostVar('email'); $mail_obj->setInfo(sprintf( $this->lng->txt('reg_email_domains'), implode(', ', $domains) @@ -195,7 +195,7 @@ protected function initForm(): void // #14272 if ($this->registration_settings->getRegistrationType() === ilRegistrationSettings::IL_REG_ACTIVATION) { - $mail_obj = $this->form->getItemByPostVar('usr_email'); + $mail_obj = $this->form->getItemByPostVar('email'); if ($mail_obj) { // #16087 $mail_obj->setRequired(true); } @@ -243,7 +243,7 @@ public function saveForm(): ilGlobalTemplateInterface // valid codes override email domain check if (!$valid_code) { // validate email against restricted domains - $email = $this->form->getInput('usr_email'); + $email = $this->form->getInput('email'); if ($email) { // #10366 $domains = []; @@ -264,7 +264,7 @@ public function saveForm(): ilGlobalTemplateInterface } } if (!$mail_valid) { - $mail_obj = $this->form->getItemByPostVar('usr_email'); + $mail_obj = $this->form->getItemByPostVar('email'); $mail_obj->setAlert(sprintf( $this->lng->txt('reg_email_domains'), implode(', ', $domains) @@ -303,7 +303,7 @@ public function saveForm(): ilGlobalTemplateInterface } // assign by email else { $registration_role_assignments = new ilRegistrationRoleAssignments(); - $valid_role = $registration_role_assignments->getRoleByEmail($this->form->getInput('usr_email')); + $valid_role = $registration_role_assignments->getRoleByEmail($this->form->getInput('email')); } } From 2bffa9137dfd4864e12046ad95fb66020b8063b5 Mon Sep 17 00:00:00 2001 From: mjansen Date: Mon, 8 Dec 2025 09:18:02 +0100 Subject: [PATCH 153/865] Registration/User: Fix missing check if role selection is possible See: - https://mantis.ilias.de/view.php?id=46474 - https://mantis.ilias.de/view.php?id=46475 --- .../Registration/classes/class.ilAccountRegistrationGUI.php | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/components/ILIAS/Registration/classes/class.ilAccountRegistrationGUI.php b/components/ILIAS/Registration/classes/class.ilAccountRegistrationGUI.php index a2645abf89c8..f669a99d35cb 100755 --- a/components/ILIAS/Registration/classes/class.ilAccountRegistrationGUI.php +++ b/components/ILIAS/Registration/classes/class.ilAccountRegistrationGUI.php @@ -644,6 +644,10 @@ protected function addLoginSectionToForm(): void protected function buildRolesInput(): ?ilFormPropertyGUI { + if (!$this->registration_settings->roleSelectionEnabled()) { + return null; + } + $options = []; foreach (ilObjRole::_lookupRegisterAllowed() as $role) { $options[$role['id']] = $role['title']; From fc314b8c53b36e949182e3118dee453706fe2d32 Mon Sep 17 00:00:00 2001 From: mjansen Date: Mon, 8 Dec 2025 10:37:19 +0100 Subject: [PATCH 154/865] Registration/User: Fix `null` date See: https://mantis.ilias.de/view.php?id=46486 --- .../Registration/src/RegistrationCodesTable.php | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/components/ILIAS/Registration/src/RegistrationCodesTable.php b/components/ILIAS/Registration/src/RegistrationCodesTable.php index c699425f6f66..688c7f9a3de0 100644 --- a/components/ILIAS/Registration/src/RegistrationCodesTable.php +++ b/components/ILIAS/Registration/src/RegistrationCodesTable.php @@ -212,11 +212,15 @@ private function getRecords(Range $range, Order $order, ?array $filter_data): ar break; case 'absolute': - $result[$k]['alimit'] = $this->lng->txt('reg_access_limitation_mode_absolute_target') . - ': ' . - $this->actor->getDateFormat()->applyTo( - (new DateTimeImmutable($code['alimitdt']))->setTimezone( - new DateTimeZone($this->actor->getTimeZone()) + $result[$k]['alimit'] = $this->lng->txt('reg_access_limitation_mode_absolute_target') + . ': ' + . ( + $code['alimitdt'] === null + ? '-' + : $this->actor->getDateFormat()->applyTo( + (new DateTimeImmutable($code['alimitdt']))->setTimezone( + new DateTimeZone($this->actor->getTimeZone()) + ) ) ); break; From 933d83aa9817aaed630779b3b4ea467a00358cfb Mon Sep 17 00:00:00 2001 From: Stephan Kergomard Date: Mon, 8 Dec 2025 14:46:06 +0100 Subject: [PATCH 155/865] User: Fix Import of SelCountry See: https://mantis.ilias.de/view.php?id=46491 --- .../User/classes/class.ilUserImportParser.php | 20 +++++++------------ 1 file changed, 7 insertions(+), 13 deletions(-) diff --git a/components/ILIAS/User/classes/class.ilUserImportParser.php b/components/ILIAS/User/classes/class.ilUserImportParser.php index 1b0619975001..90457ee508ec 100755 --- a/components/ILIAS/User/classes/class.ilUserImportParser.php +++ b/components/ILIAS/User/classes/class.ilUserImportParser.php @@ -1116,7 +1116,7 @@ public function importEndTag( if ($this->tagContained('PostalCode')) { $update_user->setZipcode($this->user_obj->getZipcode()); } - if ($this->tagContained('SelCountry')) { + if ($this->tagContained('SelCountry') && mb_strlen($this->cdata) === 2) { $update_user->setCountry($this->user_obj->getCountry()); } if ($this->tagContained('PhoneOffice')) { @@ -1337,11 +1337,11 @@ public function importEndTag( break; case 'Country': - $this->user_obj->setCountry($this->getCDataWithoutTags($this->cdata)); - break; - case 'SelCountry': - $this->user_obj->setSelectedCountry($this->getCDataWithoutTags($this->cdata)); + if (mb_strlen($this->cdata) !== 2) { + break; + } + $this->user_obj->setCountry($this->getCDataWithoutTags($this->cdata)); break; case 'PhoneOffice': @@ -1688,17 +1688,11 @@ public function verifyEndTag( break; case 'Country': - $this->user_obj->setCountry($this->cdata); - break; - case 'SelCountry': if (mb_strlen($this->cdata) !== 2) { - $this->logFailure( - $this->user_obj->getLogin(), - sprintf($this->lng->txt('usrimport_xml_element_content_illegal'), 'SelCountry', $this->stripTags($this->cdata)) - ); + break; } - $this->user_obj->setSelectedCountry($this->cdata); + $this->user_obj->setCountry($this->cdata); break; case 'PhoneOffice': From 97bfb7eab6c8973015e043e7e2c455b7b82568ef Mon Sep 17 00:00:00 2001 From: mjansen Date: Mon, 8 Dec 2025 15:37:39 +0100 Subject: [PATCH 156/865] Registration/User: Fix access to potentially missing role element See: https://mantis.ilias.de/view.php?id=46490 --- .../classes/class.ilAccountRegistrationGUI.php | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/components/ILIAS/Registration/classes/class.ilAccountRegistrationGUI.php b/components/ILIAS/Registration/classes/class.ilAccountRegistrationGUI.php index f669a99d35cb..20e24abe8582 100755 --- a/components/ILIAS/Registration/classes/class.ilAccountRegistrationGUI.php +++ b/components/ILIAS/Registration/classes/class.ilAccountRegistrationGUI.php @@ -172,10 +172,12 @@ protected function initForm(): void // add information to role selection (if not hidden) $role = $this->buildRolesInput(); - if ($this->code_enabled) { - $role->setInfo($this->lng->txt('registration_code_role_info')); + if ($role !== null) { + if ($this->code_enabled) { + $role->setInfo($this->lng->txt('registration_code_role_info')); + } + $this->form->addItem($role); } - $this->form->addItem($role); // #11407 $domains = []; From 697782fdbbb160cfa1773d69045ae2028c390b64 Mon Sep 17 00:00:00 2001 From: Stephan Kergomard Date: Tue, 9 Dec 2025 10:18:40 +0100 Subject: [PATCH 157/865] Test: Fix Essay-Quetion too Small See: https://mantis.ilias.de/view.php?id=46482 --- .../default/tpl.il_as_qpl_text_question_output_solution.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/components/ILIAS/TestQuestionPool/templates/default/tpl.il_as_qpl_text_question_output_solution.html b/components/ILIAS/TestQuestionPool/templates/default/tpl.il_as_qpl_text_question_output_solution.html index 56dfd8176783..e0c3c29e5976 100755 --- a/components/ILIAS/TestQuestionPool/templates/default/tpl.il_as_qpl_text_question_output_solution.html +++ b/components/ILIAS/TestQuestionPool/templates/default/tpl.il_as_qpl_text_question_output_solution.html @@ -7,7 +7,7 @@
-
{DIV_ESSAY}
+
{DIV_ESSAY}
{TA_ESSAY}
From 24d79f1d6397f6d9a273e97fd39310df89250a1a Mon Sep 17 00:00:00 2001 From: Matheus Zych Date: Mon, 8 Dec 2025 11:24:35 +0100 Subject: [PATCH 158/865] Removes many orphaned assessment language variables --- lang/ilias_ar.lang | 12 ------------ lang/ilias_bg.lang | 12 ------------ lang/ilias_cs.lang | 12 ------------ lang/ilias_da.lang | 12 ------------ lang/ilias_de.lang | 12 ------------ lang/ilias_el.lang | 12 ------------ lang/ilias_en.lang | 12 ------------ lang/ilias_es.lang | 12 ------------ lang/ilias_et.lang | 12 ------------ lang/ilias_fa.lang | 12 ------------ lang/ilias_fr.lang | 12 ------------ lang/ilias_hr.lang | 12 ------------ lang/ilias_hu.lang | 12 ------------ lang/ilias_it.lang | 12 ------------ lang/ilias_ja.lang | 12 ------------ lang/ilias_ka.lang | 12 ------------ lang/ilias_lt.lang | 12 ------------ lang/ilias_nl.lang | 12 ------------ lang/ilias_pl.lang | 12 ------------ lang/ilias_pt.lang | 12 ------------ lang/ilias_ro.lang | 12 ------------ lang/ilias_ru.lang | 12 ------------ lang/ilias_sk.lang | 12 ------------ lang/ilias_sl.lang | 12 ------------ lang/ilias_sq.lang | 12 ------------ lang/ilias_sr.lang | 12 ------------ lang/ilias_sv.lang | 12 ------------ lang/ilias_tr.lang | 12 ------------ lang/ilias_uk.lang | 12 ------------ lang/ilias_vi.lang | 12 ------------ lang/ilias_zh.lang | 12 ------------ 31 files changed, 372 deletions(-) diff --git a/lang/ilias_ar.lang b/lang/ilias_ar.lang index b629e77bed0c..7252a31c2df8 100644 --- a/lang/ilias_ar.lang +++ b/lang/ilias_ar.lang @@ -684,12 +684,10 @@ assessment#:#examid_in_test_res#:#ILIAS Testpass ID###27 01 2015 new variable assessment#:#examid_in_test_res_desc#:#The ILIAS Testpass ID will be included in the test results.###27 01 2015 new variable assessment#:#exp_all_test_runs#:#All test attempts###26 08 2024 new variable assessment#:#exp_eval_data#:#Export evaluation data as -assessment#:#exp_file_created#:#Export file created.###24 10 2013 new variable assessment#:#exp_grammar_as#:#as###26 08 2024 new variable assessment#:#exp_scored_test_attempt#:#Scored Test Attempt###28 10 2024 new variable assessment#:#exp_type_certificate#:# (PDF) شهادة assessment#:#exp_type_excel#:#Microsoft Excel -assessment#:#exp_type_spss#:#Comma Separated Value (CSV) assessment#:#expected_result_type#:#Expected result type###24 10 2013 new variable assessment#:#export_cert_failed_for_users_p#:#No certificate file could be generated and added for the following %s accounts: %s. Please contact an administrator to check the log file.###26 08 2024 new variable assessment#:#export_cert_failed_for_users_s#:#No certificate file could be generated and added to the archive for the following account: %s. Please contact an administrator to check the log file.###26 08 2024 new variable @@ -1453,7 +1451,6 @@ assessment#:#tst_delete_missing_mark#:#Please select at least one mark step to d assessment#:#tst_derive_new_pool#:#Derive New Question Pool###25 10 2016 new variable assessment#:#tst_derive_new_pools#:#Derive New Question Pools###25 10 2016 new variable assessment#:#tst_dont_show_msg_again_in_current_session#:#Don't show this message again in my current session.###10 11 2018 new variable -assessment#:#tst_dont_use_previous_answers#:#Your previous answers will not be used as default values in future test passes assessment#:#tst_edit_competence_assign#:#Edit Assignment Properties###30 08 2015 new variable assessment#:#tst_edit_scoring#:#Edit Scoring assessment#:#tst_enable_questionlist#:#Show 'List of Questions’###26 08 2024 new variable @@ -1509,7 +1506,6 @@ assessment#:#tst_finish_confirm_button#:#نعم، اريد انهاء الاخت assessment#:#tst_finish_confirm_cancel_button#:#No, go back to the previous question assessment#:#tst_finish_confirmation_question#:#You are going to finish this test and reach the maximum number of allowed test passes. You won't be able to enter this test again to change your answers. Do you really want to finish the test? assessment#:#tst_finish_confirmation_question_no_attempts_left#:#You are going to finish this test and reach the maximum number of allowed test attempts. You won’t be able to enter this test again to change your answers. Do you really want to finish the test?###26 08 2024 new variable -assessment#:#tst_finish_notification_no#:#No e-mail###06 02 2015 new variable assessment#:#tst_finished#:#Finished assessment#:#tst_form_dynamic_question_set_config#:#Continues Question Selection###24 10 2013 new variable assessment#:#tst_gap_analysis#:#Gap Analysis###26 09 2014 new variable @@ -1521,7 +1517,6 @@ assessment#:#tst_hide_info_tab#:#Hide Info Tab###26 08 2024 new variable assessment#:#tst_hide_info_tab_desc#:#Hides the tab ‘Info’ of the test.###26 08 2024 new variable assessment#:#tst_hide_pagecontents#:#Hide page content###26 08 2024 new variable assessment#:#tst_hide_pagecontents_desc#:#ILIAS content placed before and after the actual question text via the "Edit Page" button will not be displayed in the result views and print output.###26 08 2024 new variable -assessment#:#tst_hide_side_list#:#Hide question list assessment#:#tst_highscore_achieved_ts#:#Show date of test assessment#:#tst_highscore_achieved_ts_description#:#Controls, if a column with the test date should be shown. assessment#:#tst_highscore_all_tables#:#All Rankings###07 11 2014 new variable @@ -1539,7 +1534,6 @@ assessment#:#tst_highscore_score#:#Show score assessment#:#tst_highscore_score_description#:#Controls, if a column with the score should be shown. assessment#:#tst_highscore_top_num#:#Number of ranks assessment#:#tst_highscore_top_num_description#:#Controls, how many ranks should be included in the top ranking table. -assessment#:#tst_highscore_top_num_unit#:#entries assessment#:#tst_highscore_top_table#:#Show table 'top ranking' assessment#:#tst_highscore_top_table_description#:#Controls, if the table 'top ranking' should be shown. assessment#:#tst_highscore_wtime#:#Show working time @@ -1890,10 +1884,6 @@ assessment#:#tst_show_results#:#Show Test Results assessment#:#tst_show_side_list#:#Show question list aside assessment#:#tst_show_solution_answers_only#:#Results print view (answers only) assessment#:#tst_show_solution_answers_only_desc#:#If is selected, the ILIAS content you place around a question using the "Edit content" tab page will not be visible in a print-out. If you want to save some paper space, select this option.###07 11 2014 new variable -assessment#:#tst_show_solution_compare#:#Compare Answer with Solution in List of Answers###24 10 2013 new variable -assessment#:#tst_show_solution_compare_desc#:#Participants are presented with an overview comparing their own answers with the best solutions. Please note that this view will be displayed in the ‘Detailed Results’ that can be accessed via the ‘Show Test Results‘-button on the ‘Info’-tab. It will not be displayed in the printable ‘List of Answers’ even though the setting is made here.###06 02 2015 new variable -assessment#:#tst_show_solution_details#:#Show Solutions in Test Results -assessment#:#tst_show_solution_details_desc#:#If selected, the detailed question solution is available to participants in the test results presentation. This includes the exact scoring of every answer, otherwise only an overview with the question titles and the reached points is shown.###07 11 2014 new variable assessment#:#tst_show_solution_details_singlepage#:#Scored Answers on single pages###26 08 2024 new variable assessment#:#tst_show_solution_details_singlepage_desc#:#Participants can access each question individually and see if their answers were correct and how many points they scored.###26 08 2024 new variable assessment#:#tst_show_solution_feedback#:#Show Answer-Specific Feedback in Test Results @@ -1916,7 +1906,6 @@ assessment#:#tst_skill_triggerings_num_req_answers_desc#:#Competences aren't tri assessment#:#tst_skill_triggerings_num_req_answers_not_reached_warn#:#At least one of the competences addressed by this test is not triggered by the minimal required amount of questions.
The required amount of questions: %s###10 11 2018 new variable assessment#:#tst_skl_level_thresholds_link#:#Configure Competence-Thresholds###30 08 2015 new variable assessment#:#tst_skl_level_thresholds_missing#:#There are missing thresholds for the relevant competences!###30 08 2015 new variable -assessment#:#tst_skl_res_interpretation_hint_msg#:#Please consider that competence results from a single test has a limited significance. The more information is collected per competence, the merrier valid the significance will be. Should there are single competences without any entry, there is to less information collected.###30 08 2015 new variable assessment#:#tst_skl_sub_tab_thresholds#:#Competence Thresholds###26 09 2014 new variable assessment#:#tst_sol_comp_expressions#:#Comparison Expressions###30 08 2015 new variable assessment#:#tst_solution_compare_cfg#:#Configuration for Solution Compare###30 08 2015 new variable @@ -1978,7 +1967,6 @@ assessment#:#tst_unchanged_answer_is_correct#:#The preset answer is correct###fa assessment#:#tst_unchanged_order_is_correct#:#The preset order is correct###fau: testNav assessment#:#tst_use_previous_answers#:#Use Previous Answers assessment#:#tst_use_previous_answers_description#:#If checked, a participant may choose to use the previous answers as default values in future test passes, otherwise the previous answers are not shown in future test passes. -assessment#:#tst_use_previous_answers_user#:#Use my previous answers as default values in future test passes assessment#:#tst_user_finished_test#:#User finished test (%s) assessment#:#tst_view_competence_assign#:#View Assignment Properties###30 08 2015 new variable assessment#:#tst_virtual_pass_header_lo_initial#:#Initial Test Results for the Learning Objectives
%s###30 08 2015 new variable diff --git a/lang/ilias_bg.lang b/lang/ilias_bg.lang index 42c8a32123ba..288cdba1b13e 100644 --- a/lang/ilias_bg.lang +++ b/lang/ilias_bg.lang @@ -684,12 +684,10 @@ assessment#:#examid_in_test_res#:#ILIAS Testpass ID###27 01 2015 new variable assessment#:#examid_in_test_res_desc#:#The ILIAS Testpass ID will be included in the test results.###27 01 2015 new variable assessment#:#exp_all_test_runs#:#All test attempts###26 08 2024 new variable assessment#:#exp_eval_data#:#Експортиране на данните за оценяването като -assessment#:#exp_file_created#:#Export file created.###24 10 2013 new variable assessment#:#exp_grammar_as#:#as###26 08 2024 new variable assessment#:#exp_scored_test_attempt#:#Scored Test Attempt###28 10 2024 new variable assessment#:#exp_type_certificate#:#Certificate (PDF)###25 02 2007 new variable assessment#:#exp_type_excel#:#Microsoft Excel###23 Mar 2006 content changed -assessment#:#exp_type_spss#:#Стойност отделена със запетая (CSV) assessment#:#expected_result_type#:#Expected result type###24 10 2013 new variable assessment#:#export_cert_failed_for_users_p#:#No certificate file could be generated and added for the following %s accounts: %s. Please contact an administrator to check the log file.###26 08 2024 new variable assessment#:#export_cert_failed_for_users_s#:#No certificate file could be generated and added to the archive for the following account: %s. Please contact an administrator to check the log file.###26 08 2024 new variable @@ -1453,7 +1451,6 @@ assessment#:#tst_delete_missing_mark#:#Моля, изберете поне ед assessment#:#tst_derive_new_pool#:#Derive New Question Pool###25 10 2016 new variable assessment#:#tst_derive_new_pools#:#Derive New Question Pools###25 10 2016 new variable assessment#:#tst_dont_show_msg_again_in_current_session#:#Don't show this message again in my current session.###10 11 2018 new variable -assessment#:#tst_dont_use_previous_answers#:#Your previous answers will not be used as default values in future test passes###25 02 2007 new variable assessment#:#tst_edit_competence_assign#:#Edit Assignment Properties###30 08 2015 new variable assessment#:#tst_edit_scoring#:#Edit Scoring###28 08 2012 new variable assessment#:#tst_enable_questionlist#:#Show 'List of Questions’###26 08 2024 new variable @@ -1509,7 +1506,6 @@ assessment#:#tst_finish_confirm_button#:#Yes, I want to finish the test###01 Mar assessment#:#tst_finish_confirm_cancel_button#:#No, go back to the previous answer###01 Mar 2006 new variable assessment#:#tst_finish_confirmation_question#:#You are going to finish this test and reach the maximum number of allowed test passes. You won't be able to enter this test again to change your answers. Do you really want to finish the test?###01 Mar 2006 new variable assessment#:#tst_finish_confirmation_question_no_attempts_left#:#You are going to finish this test and reach the maximum number of allowed test attempts. You won’t be able to enter this test again to change your answers. Do you really want to finish the test?###26 08 2024 new variable -assessment#:#tst_finish_notification_no#:#No e-mail###06 02 2015 new variable assessment#:#tst_finished#:#Finished###06 09 2006 new variable assessment#:#tst_form_dynamic_question_set_config#:#Continues Question Selection###24 10 2013 new variable assessment#:#tst_gap_analysis#:#Gap Analysis###26 09 2014 new variable @@ -1521,7 +1517,6 @@ assessment#:#tst_hide_info_tab#:#Hide Info Tab###26 08 2024 new variable assessment#:#tst_hide_info_tab_desc#:#Hides the tab ‘Info’ of the test.###26 08 2024 new variable assessment#:#tst_hide_pagecontents#:#Hide page content###26 08 2024 new variable assessment#:#tst_hide_pagecontents_desc#:#ILIAS content placed before and after the actual question text via the "Edit Page" button will not be displayed in the result views and print output.###26 08 2024 new variable -assessment#:#tst_hide_side_list#:#Hide question list###24 07 2009 new variable assessment#:#tst_highscore_achieved_ts#:#Show date of test###28 08 2012 new variable assessment#:#tst_highscore_achieved_ts_description#:#Controls, if a column with the test date should be shown.###28 08 2012 new variable assessment#:#tst_highscore_all_tables#:#All Rankings###07 11 2014 new variable @@ -1539,7 +1534,6 @@ assessment#:#tst_highscore_score#:#Show score###28 08 2012 new variable assessment#:#tst_highscore_score_description#:#Controls, if a column with the score should be shown.###28 08 2012 new variable assessment#:#tst_highscore_top_num#:#Number of ranks###28 08 2012 new variable assessment#:#tst_highscore_top_num_description#:#Controls, how many ranks should be included in the top ranking table.###28 08 2012 new variable -assessment#:#tst_highscore_top_num_unit#:#entries###28 08 2012 new variable assessment#:#tst_highscore_top_table#:#Show table 'top ranking'###28 08 2012 new variable assessment#:#tst_highscore_top_table_description#:#Controls, if the table 'top ranking' should be shown.###28 08 2012 new variable assessment#:#tst_highscore_wtime#:#Show working time###28 08 2012 new variable @@ -1890,10 +1884,6 @@ assessment#:#tst_show_results#:#Показване на резултатите assessment#:#tst_show_side_list#:#Show question list aside###24 07 2009 new variable assessment#:#tst_show_solution_answers_only#:#Results print view (answers only)###14 11 2007 new variable assessment#:#tst_show_solution_answers_only_desc#:#If is selected, the ILIAS content you place around a question using the "Edit content" tab page will not be visible in a print-out. If you want to save some paper space, select this option.###07 11 2014 new variable -assessment#:#tst_show_solution_compare#:#Compare Answer with Solution in List of Answers###24 10 2013 new variable -assessment#:#tst_show_solution_compare_desc#:#Participants are presented with an overview comparing their own answers with the best solutions. Please note that this view will be displayed in the ‘Detailed Results’ that can be accessed via the ‘Show Test Results‘-button on the ‘Info’-tab. It will not be displayed in the printable ‘List of Answers’ even though the setting is made here.###06 02 2015 new variable -assessment#:#tst_show_solution_details#:#Show Solutions in Test Results###25 02 2007 new variable -assessment#:#tst_show_solution_details_desc#:#If selected, the detailed question solution is available to participants in the test results presentation. This includes the exact scoring of every answer, otherwise only an overview with the question titles and the reached points is shown.###07 11 2014 new variable assessment#:#tst_show_solution_details_singlepage#:#Scored Answers on single pages###26 08 2024 new variable assessment#:#tst_show_solution_details_singlepage_desc#:#Participants can access each question individually and see if their answers were correct and how many points they scored.###26 08 2024 new variable assessment#:#tst_show_solution_feedback#:#Show Answer-Specific Feedback in Test Results###10 05 2007 new variable @@ -1916,7 +1906,6 @@ assessment#:#tst_skill_triggerings_num_req_answers_desc#:#Competences aren't tri assessment#:#tst_skill_triggerings_num_req_answers_not_reached_warn#:#At least one of the competences addressed by this test is not triggered by the minimal required amount of questions.
The required amount of questions: %s###10 11 2018 new variable assessment#:#tst_skl_level_thresholds_link#:#Configure Competence-Thresholds###30 08 2015 new variable assessment#:#tst_skl_level_thresholds_missing#:#There are missing thresholds for the relevant competences!###30 08 2015 new variable -assessment#:#tst_skl_res_interpretation_hint_msg#:#Please consider that competence results from a single test has a limited significance. The more information is collected per competence, the merrier valid the significance will be. Should there are single competences without any entry, there is to less information collected.###30 08 2015 new variable assessment#:#tst_skl_sub_tab_thresholds#:#Competence Thresholds###26 09 2014 new variable assessment#:#tst_sol_comp_expressions#:#Comparison Expressions###30 08 2015 new variable assessment#:#tst_solution_compare_cfg#:#Configuration for Solution Compare###30 08 2015 new variable @@ -1978,7 +1967,6 @@ assessment#:#tst_unchanged_answer_is_correct#:#The preset answer is correct###fa assessment#:#tst_unchanged_order_is_correct#:#The preset order is correct###fau: testNav assessment#:#tst_use_previous_answers#:#Use Previous Answers###25 02 2007 new variable assessment#:#tst_use_previous_answers_description#:#If checked, a participant may choose to use the previous answers as default values in future test passes, otherwise the previous answers are not shown in future test passes###25 02 2007 new variable -assessment#:#tst_use_previous_answers_user#:#Use my previous answers as default values in future test passes###25 02 2007 new variable assessment#:#tst_user_finished_test#:#User finished test (%s)###24 07 2009 new variable assessment#:#tst_view_competence_assign#:#View Assignment Properties###30 08 2015 new variable assessment#:#tst_virtual_pass_header_lo_initial#:#Initial Test Results for the Learning Objectives
%s###30 08 2015 new variable diff --git a/lang/ilias_cs.lang b/lang/ilias_cs.lang index fb88efa3ea9a..0625bcf6fec3 100644 --- a/lang/ilias_cs.lang +++ b/lang/ilias_cs.lang @@ -684,12 +684,10 @@ assessment#:#examid_in_test_res#:#ILIAS ID průchodu testem assessment#:#examid_in_test_res_desc#:#ILIAS ID průchodu testem bude zahrnuto do výsledků testu. assessment#:#exp_all_test_runs#:#All test attempts###26 08 2024 new variable assessment#:#exp_eval_data#:#Exportovat data hodnocení jako -assessment#:#exp_file_created#:#Exportní soubor vytvořen assessment#:#exp_grammar_as#:#as###26 08 2024 new variable assessment#:#exp_scored_test_attempt#:#Scored Test Attempt###28 10 2024 new variable assessment#:#exp_type_certificate#:#Certifikát (PDF) assessment#:#exp_type_excel#:#Microsoft Excel -assessment#:#exp_type_spss#:#Desetinnou čárkou oddělená hodnota (CSV) assessment#:#expected_result_type#:#Očekávaný typ výsledku assessment#:#export_cert_failed_for_users_p#:#No certificate file could be generated and added for the following %s accounts: %s. Please contact an administrator to check the log file.###26 08 2024 new variable assessment#:#export_cert_failed_for_users_s#:#No certificate file could be generated and added to the archive for the following account: %s. Please contact an administrator to check the log file.###26 08 2024 new variable @@ -1453,7 +1451,6 @@ assessment#:#tst_delete_missing_mark#:#Vyberte alespoň jednu známku kroku ke s assessment#:#tst_derive_new_pool#:#Odvodit nový zásobník otázek assessment#:#tst_derive_new_pools#:#Odvodit nové zásobníky otázek assessment#:#tst_dont_show_msg_again_in_current_session#:#Znovu nezobrazovat tuto zprávu v mé aktuální relaci. -assessment#:#tst_dont_use_previous_answers#:#Vaše předchozí odpovědi nebudou použity jako výchozí hodnoty v budoucích průchodech testem assessment#:#tst_edit_competence_assign#:#Upravit vlastnosti přiřazení assessment#:#tst_edit_scoring#:#Upravit hodnocení assessment#:#tst_enable_questionlist#:#Show 'List of Questions’###26 08 2024 new variable @@ -1509,7 +1506,6 @@ assessment#:#tst_finish_confirm_button#:#Ano, chci tento test ukončit assessment#:#tst_finish_confirm_cancel_button#:#Ne, jít zpět na předchozí otázku assessment#:#tst_finish_confirmation_question#:#Hodláte ukončit tento test a dosáhl(a) jste maximálního počtu povolených průchodů testem. Nebudete již moci do tohoto testu vstoupit znovu a změnit své odpovědi. Upravdu chcete tento test ukončit? assessment#:#tst_finish_confirmation_question_no_attempts_left#:#You are going to finish this test and reach the maximum number of allowed test attempts. You won’t be able to enter this test again to change your answers. Do you really want to finish the test?###26 08 2024 new variable -assessment#:#tst_finish_notification_no#:#Žádný e-mail assessment#:#tst_finished#:#Ukončeno assessment#:#tst_form_dynamic_question_set_config#:#Pokračuje výběr otázek assessment#:#tst_gap_analysis#:#Analýza mezer @@ -1521,7 +1517,6 @@ assessment#:#tst_hide_info_tab#:#Hide Info Tab###26 08 2024 new variable assessment#:#tst_hide_info_tab_desc#:#Hides the tab ‘Info’ of the test.###26 08 2024 new variable assessment#:#tst_hide_pagecontents#:#Hide page content###26 08 2024 new variable assessment#:#tst_hide_pagecontents_desc#:#ILIAS content placed before and after the actual question text via the "Edit Page" button will not be displayed in the result views and print output.###26 08 2024 new variable -assessment#:#tst_hide_side_list#:#Skrýt seznam otázek assessment#:#tst_highscore_achieved_ts#:#Zobrazit datum testu assessment#:#tst_highscore_achieved_ts_description#:#Kontroluje, zda sloupec s datem testu má být zobrazen. assessment#:#tst_highscore_all_tables#:#Všechna hodnocení @@ -1539,7 +1534,6 @@ assessment#:#tst_highscore_score#:#Zobrazit hodnocení assessment#:#tst_highscore_score_description#:#Řídí, zda sloupec s hodnocením má být zobrazen. assessment#:#tst_highscore_top_num#:#Číslo umístění assessment#:#tst_highscore_top_num_description#:#Řídí, kolik pořadí má být zahrnuto v tabulce nejlepších umístění. -assessment#:#tst_highscore_top_num_unit#:#vstupy assessment#:#tst_highscore_top_table#:#Zobrazit tabulku 'nejlepší umístění' assessment#:#tst_highscore_top_table_description#:#Řídí, zda tabulka 'nejlepší umístění' má být zobrazena. assessment#:#tst_highscore_wtime#:#Zobrazit pracovní čas @@ -1890,10 +1884,6 @@ assessment#:#tst_show_results#:#Zobrazit výsledky testu assessment#:#tst_show_side_list#:#Zobrazit boční seznam otázek assessment#:#tst_show_solution_answers_only#:#Přehled výsledků (jen odpovědi) assessment#:#tst_show_solution_answers_only_desc#:#Je-li vybráno, obsah ILIAS, který umístíte kolem otázky pomocí stránky záložky „Upravit obsah“, nebude viditelný ve výtisku. Pokud chcete ušetřit místo na papíru, vyberte tuto možnost. -assessment#:#tst_show_solution_compare#:#Porovnat odpovědi s řešením v seznamu odpovědí. -assessment#:#tst_show_solution_compare_desc#:#Účastníkům je představen přehled srovnávající jejich vlastní odpovědi s nejlepšími řešeními. Povšimněte si, že toto zobrazení se zobrazí v „Podrobných výsledcích“, ke kterým lze přistupovat pomocí tlačítka „Zobrazit výsledky testu“ v záložce „Informace“. Nebude zobrazen v tisknutelném „seznamu odpovědí“, i když je zde provedeno nastavení. -assessment#:#tst_show_solution_details#:#Zobrazit řešení ve výsledcích testu -assessment#:#tst_show_solution_details_desc#:#Je-li vybráno, je účastníkům v prezentaci výsledků testů k dispozici podrobné řešení otázek. To zahrnuje přesné bodování každé odpovědi, jinak je zobrazen pouze přehled s nadpisy otázek a dosažené body. assessment#:#tst_show_solution_details_singlepage#:#Scored Answers on single pages###26 08 2024 new variable assessment#:#tst_show_solution_details_singlepage_desc#:#Participants can access each question individually and see if their answers were correct and how many points they scored.###26 08 2024 new variable assessment#:#tst_show_solution_feedback#:#Zobrazit odpovědi-specifický ohlas ve výsledcích testu @@ -1916,7 +1906,6 @@ assessment#:#tst_skill_triggerings_num_req_answers_desc#:#Způsobilosti nejsou s assessment#:#tst_skill_triggerings_num_req_answers_not_reached_warn#:#Nejméně jedna ze způsobilostí, kterou se zabývá tento test, není aktivována minimálním požadovaným počtem otázek.
Požadovaný počet otázek: %s assessment#:#tst_skl_level_thresholds_link#:#Konfigurace prahových hodnot způsobilosti assessment#:#tst_skl_level_thresholds_missing#:#Chybí prahové hodnoty pro příslušné způsobilosti! -assessment#:#tst_skl_res_interpretation_hint_msg#:#Mějte na paměti, že výsledky způsobilosti z jednoho testu mají omezený význam. Čím více informací je shromážděno ke způsobilosti, tím platnější bude význam. Pokud existují jednotlivé způsobilosti bez jakéhokoli vstupu, je možné shromáždit méně informací. assessment#:#tst_skl_sub_tab_thresholds#:#Prahové hodnoty způsobilosti assessment#:#tst_sol_comp_expressions#:#Srovnávací výrazy assessment#:#tst_solution_compare_cfg#:#Konfigurace pro porovnání řešení @@ -1978,7 +1967,6 @@ assessment#:#tst_unchanged_answer_is_correct#:#Předem nastavená odpověď je s assessment#:#tst_unchanged_order_is_correct#:#Předem nastavené uspořádání je správné assessment#:#tst_use_previous_answers#:#Použít předchozí odpovědi assessment#:#tst_use_previous_answers_description#:#Pokud je vybráno, účastník může zvolit použití předchozích odpovědí jako výchozích hodnot v dalších průchodech testem, jinak předchozí odpovědi nebudou v dalších průchodech testem zobrazeny. -assessment#:#tst_use_previous_answers_user#:#Použít mé předchozí odpovědi jako výchozí hodnoty v budoucích průchodech testem assessment#:#tst_user_finished_test#:#Uživatel ukončil test (%s) assessment#:#tst_view_competence_assign#:#Zobrazit vlastnosti přiřazení assessment#:#tst_virtual_pass_header_lo_initial#:#Výsledky počátečního testu pro cíle učení
%s diff --git a/lang/ilias_da.lang b/lang/ilias_da.lang index 96625ff91dd9..ff729cb470f6 100644 --- a/lang/ilias_da.lang +++ b/lang/ilias_da.lang @@ -684,12 +684,10 @@ assessment#:#examid_in_test_res#:#ILIAS Testpass ID###27 01 2015 new variable assessment#:#examid_in_test_res_desc#:#The ILIAS Testpass ID will be included in the test results.###27 01 2015 new variable assessment#:#exp_all_test_runs#:#All test attempts###26 08 2024 new variable assessment#:#exp_eval_data#:#Eksporter evalueringsdata som -assessment#:#exp_file_created#:#Export file created.###16 09 2013 new variable assessment#:#exp_grammar_as#:#as###26 08 2024 new variable assessment#:#exp_scored_test_attempt#:#Scored Test Attempt###28 10 2024 new variable assessment#:#exp_type_certificate#:#Diplom (PDF) assessment#:#exp_type_excel#:#Microsoft Excel -assessment#:#exp_type_spss#:#komma separerede værdier (CSV) assessment#:#expected_result_type#:#Expected result type###16 09 2013 new variable assessment#:#export_cert_failed_for_users_p#:#No certificate file could be generated and added for the following %s accounts: %s. Please contact an administrator to check the log file.###26 08 2024 new variable assessment#:#export_cert_failed_for_users_s#:#No certificate file could be generated and added to the archive for the following account: %s. Please contact an administrator to check the log file.###26 08 2024 new variable @@ -1453,7 +1451,6 @@ assessment#:#tst_delete_missing_mark#:#Vælg venligst mindst en karakter for at assessment#:#tst_derive_new_pool#:#Derive New Question Pool###25 10 2016 new variable assessment#:#tst_derive_new_pools#:#Derive New Question Pools###25 10 2016 new variable assessment#:#tst_dont_show_msg_again_in_current_session#:#Don't show this message again in my current session.###10 11 2018 new variable -assessment#:#tst_dont_use_previous_answers#:#Dine tidligere svar bruges som standardværdier i fremtidige besvarelser. assessment#:#tst_edit_competence_assign#:#Edit Assignment Properties###30 08 2015 new variable assessment#:#tst_edit_scoring#:#Edit Scoring###28 08 2012 new variable assessment#:#tst_enable_questionlist#:#Show 'List of Questions’###26 08 2024 new variable @@ -1509,7 +1506,6 @@ assessment#:#tst_finish_confirm_button#:#Ja, jeg vil afslutte testen assessment#:#tst_finish_confirm_cancel_button#:#Nej, gå tilbage til sidste svar assessment#:#tst_finish_confirmation_question#:#You are going to finish this test and reach the maximum number of allowed test passes. You won't be able to enter this test again to change your answers. Do you really want to finish the test?###01 Mar 2006 new variable assessment#:#tst_finish_confirmation_question_no_attempts_left#:#You are going to finish this test and reach the maximum number of allowed test attempts. You won’t be able to enter this test again to change your answers. Do you really want to finish the test?###26 08 2024 new variable -assessment#:#tst_finish_notification_no#:#No e-mail###06 02 2015 new variable assessment#:#tst_finished#:#Afsluttet assessment#:#tst_form_dynamic_question_set_config#:#Continues Question Selection###16 09 2013 new variable assessment#:#tst_gap_analysis#:#Gap Analysis###26 09 2014 new variable @@ -1521,7 +1517,6 @@ assessment#:#tst_hide_info_tab#:#Hide Info Tab###26 08 2024 new variable assessment#:#tst_hide_info_tab_desc#:#Hides the tab ‘Info’ of the test.###26 08 2024 new variable assessment#:#tst_hide_pagecontents#:#Hide page content###26 08 2024 new variable assessment#:#tst_hide_pagecontents_desc#:#ILIAS content placed before and after the actual question text via the "Edit Page" button will not be displayed in the result views and print output.###26 08 2024 new variable -assessment#:#tst_hide_side_list#:#Skjul listen med spørgsmål assessment#:#tst_highscore_achieved_ts#:#Show date of test###28 08 2012 new variable assessment#:#tst_highscore_achieved_ts_description#:#Controls, if a column with the test date should be shown.###28 08 2012 new variable assessment#:#tst_highscore_all_tables#:#All Rankings###07 11 2014 new variable @@ -1539,7 +1534,6 @@ assessment#:#tst_highscore_score#:#Vis scoring assessment#:#tst_highscore_score_description#:#Controls, if a column with the score should be shown.###28 08 2012 new variable assessment#:#tst_highscore_top_num#:#Number of ranks###28 08 2012 new variable assessment#:#tst_highscore_top_num_description#:#Controls, how many ranks should be included in the top ranking table.###28 08 2012 new variable -assessment#:#tst_highscore_top_num_unit#:#entries###28 08 2012 new variable assessment#:#tst_highscore_top_table#:#Show table 'top ranking'###28 08 2012 new variable assessment#:#tst_highscore_top_table_description#:#Controls, if the table 'top ranking' should be shown.###28 08 2012 new variable assessment#:#tst_highscore_wtime#:#Show working time###28 08 2012 new variable @@ -1890,10 +1884,6 @@ assessment#:#tst_show_results#:#Vis testresultat assessment#:#tst_show_side_list#:#Show question list aside###24 07 2009 new variable assessment#:#tst_show_solution_answers_only#:#Udskriftsvisning af resultater (kun svar) assessment#:#tst_show_solution_answers_only_desc#:#If is selected, the ILIAS content you place around a question using the "Edit content" tab page will not be visible in a print-out. If you want to save some paper space, select this option.###07 11 2014 new variable -assessment#:#tst_show_solution_compare#:#Compare Answer with Solution in List of Answers###16 09 2013 new variable -assessment#:#tst_show_solution_compare_desc#:#Participants are presented with an overview comparing their own answers with the best solutions. Please note that this view will be displayed in the ‘Detailed Results’ that can be accessed via the ‘Show Test Results‘-button on the ‘Info’-tab. It will not be displayed in the printable ‘List of Answers’ even though the setting is made here.###06 02 2015 new variable -assessment#:#tst_show_solution_details#:#Pointdetaljer -assessment#:#tst_show_solution_details_desc#:#If selected, the detailed question solution is available to participants in the test results presentation. This includes the exact scoring of every answer, otherwise only an overview with the question titles and the reached points is shown.###07 11 2014 new variable assessment#:#tst_show_solution_details_singlepage#:#Scored Answers on single pages###26 08 2024 new variable assessment#:#tst_show_solution_details_singlepage_desc#:#Participants can access each question individually and see if their answers were correct and how many points they scored.###26 08 2024 new variable assessment#:#tst_show_solution_feedback#:#Vis besvarelsesafhængingt feedback i resultater @@ -1916,7 +1906,6 @@ assessment#:#tst_skill_triggerings_num_req_answers_desc#:#Competences aren't tri assessment#:#tst_skill_triggerings_num_req_answers_not_reached_warn#:#At least one of the competences addressed by this test is not triggered by the minimal required amount of questions.
The required amount of questions: %s###10 11 2018 new variable assessment#:#tst_skl_level_thresholds_link#:#Configure Competence-Thresholds###30 08 2015 new variable assessment#:#tst_skl_level_thresholds_missing#:#There are missing thresholds for the relevant competences!###30 08 2015 new variable -assessment#:#tst_skl_res_interpretation_hint_msg#:#Please consider that competence results from a single test has a limited significance. The more information is collected per competence, the merrier valid the significance will be. Should there are single competences without any entry, there is to less information collected.###30 08 2015 new variable assessment#:#tst_skl_sub_tab_thresholds#:#Competence Thresholds###26 09 2014 new variable assessment#:#tst_sol_comp_expressions#:#Comparison Expressions###30 08 2015 new variable assessment#:#tst_solution_compare_cfg#:#Configuration for Solution Compare###30 08 2015 new variable @@ -1978,7 +1967,6 @@ assessment#:#tst_unchanged_answer_is_correct#:#The preset answer is correct###fa assessment#:#tst_unchanged_order_is_correct#:#The preset order is correct###fau: testNav assessment#:#tst_use_previous_answers#:#Tidligere svar assessment#:#tst_use_previous_answers_description#:#Hvis afkrydset anvendes de tidligere svar som standardværdier når testen tages igen. -assessment#:#tst_use_previous_answers_user#:#Brug mine tidligere svar som standardværdier i fremtidige forsøg. assessment#:#tst_user_finished_test#:#User finished test (%s)###24 07 2009 new variable assessment#:#tst_view_competence_assign#:#View Assignment Properties###30 08 2015 new variable assessment#:#tst_virtual_pass_header_lo_initial#:#Initial Test Results for the Learning Objectives
%s###30 08 2015 new variable diff --git a/lang/ilias_de.lang b/lang/ilias_de.lang index 8b361d45c396..257f050791d8 100644 --- a/lang/ilias_de.lang +++ b/lang/ilias_de.lang @@ -684,12 +684,10 @@ assessment#:#examid_in_test_res#:#ILIAS-Test-ID anzeigen assessment#:#examid_in_test_res_desc#:#Die ILIAS-Test-ID wird in den Ansichten „Detaillierte Ergebnisse“ und „Druckbare Liste der Antworten“ angezeigt sowie in den über den Reiter „Teilnehmer“ exportierten Tabellenkalkulationsdateien. assessment#:#exp_all_test_runs#:#Alle Durchläufe assessment#:#exp_eval_data#:#Daten exportieren -assessment#:#exp_file_created#:#Exportdatei erzeugt. assessment#:#exp_grammar_as#:#als assessment#:#exp_scored_test_attempt#:#Bewerteter Durchlauf assessment#:#exp_type_certificate#:#Zertifikat (PDF) assessment#:#exp_type_excel#:#Microsoft Excel -assessment#:#exp_type_spss#:#durch Komma getrennte Werte (CSV) assessment#:#expected_result_type#:#Erwarteter Ergebnistyp assessment#:#export_cert_failed_for_users_p#:#Für die folgenden %s Konten konnte kein Zertifikats-Dokument generiert und in das Archiv gelegt werden: %s. Bitte kontaktieren Sie einen Administrator zur Sichtung der Protokolldateien. assessment#:#export_cert_failed_for_users_s#:#Für das folgende Konto konnte kein Zertifikats-Dokument generiert und in das Archiv gelegt werden: %s. Bitte kontaktieren Sie einen Administrator zur Sichtung der Protokolldateien. @@ -1453,7 +1451,6 @@ assessment#:#tst_delete_missing_mark#:#Bitte wählen Sie mindestens eine Notenst assessment#:#tst_derive_new_pool#:#Neuen Fragenpool ableiten assessment#:#tst_derive_new_pools#:#Neue Fragenpools ableiten assessment#:#tst_dont_show_msg_again_in_current_session#:#Diese Meldung in meiner aktuellen Sitzung nicht mehr anzeigen. -assessment#:#tst_dont_use_previous_answers#:#Ihre vorherigen Antworten werden in zukünftigen Testdurchläufen nicht als vorgegebene Werte verwendet assessment#:#tst_edit_competence_assign#:#Bearbeite Zuordnungseigenschaften assessment#:#tst_edit_scoring#:#Ändere Bewertung assessment#:#tst_enable_questionlist#:#Fragenliste @@ -1509,7 +1506,6 @@ assessment#:#tst_finish_confirm_button#:#Ja, ich will den Test beenden assessment#:#tst_finish_confirm_cancel_button#:#Nein, ich will zur letzten Antwort zurückgehen assessment#:#tst_finish_confirmation_question#:#Sie sind dabei, diesen Test zu beenden. Danach werden Sie nicht mehr in der Lage sein, den Test erneut aufzurufen, um Ihre Antworten zu ändern. Wollen Sie den Test wirklich beenden? assessment#:#tst_finish_confirmation_question_no_attempts_left#:#Sie sind dabei, diesen Test zu beenden und die maximale Anzahl erlaubter Testdurchläufe zu erreichen. Danach werden Sie nicht mehr in der Lage sein, den Test erneut aufzurufen, um Ihre Antworten zu ändern. Wollen Sie den Test wirklich beenden? -assessment#:#tst_finish_notification_no#:#Keine Benachrichtigung assessment#:#tst_finished#:#Beendet assessment#:#tst_form_dynamic_question_set_config#:#Fortlaufende Fragenauswahl assessment#:#tst_gap_analysis#:#Gap-Analyse @@ -1521,7 +1517,6 @@ assessment#:#tst_hide_info_tab#:#Info-Tab ausblenden assessment#:#tst_hide_info_tab_desc#:#Blendet den Tab „Info“ des Tests aus. assessment#:#tst_hide_pagecontents#:#Seiteninhalte ausblenden assessment#:#tst_hide_pagecontents_desc#:#Inhalte, die über den Button „Seite bearbeiten" vor und hinter dem eigentlichen Fragentext platziert wurden, werden in den Ergebnisansichten und der Druckausgabe nicht angezeigt. -assessment#:#tst_hide_side_list#:#Fragenliste aus assessment#:#tst_highscore_achieved_ts#:#Datum / Uhrzeit assessment#:#tst_highscore_achieved_ts_description#:#Es wird eine zusätzliche Spalte eingeblendet, die anzeigt, wann der Test beendet wurde. assessment#:#tst_highscore_all_tables#:#Eigener Rang und Bestenliste @@ -1539,7 +1534,6 @@ assessment#:#tst_highscore_score#:#Punkte assessment#:#tst_highscore_score_description#:#Es wird einen zusätzliche Spalte mit der Angabe der erreichten Punkte eingeblendet. assessment#:#tst_highscore_top_num#:#Länge der Bestenliste assessment#:#tst_highscore_top_num_description#:#Bestimmt, wie viele Einträge in der Bestenliste angezeigt werden. -assessment#:#tst_highscore_top_num_unit#:#Platzierungen assessment#:#tst_highscore_top_table#:#Bestenliste assessment#:#tst_highscore_top_table_description#:#Teilnehmerinnen und Teilnehmern wird eine Tabelle mit den besten Platzierungen angezeigt. assessment#:#tst_highscore_wtime#:#Bearbeitungsdauer @@ -1890,10 +1884,6 @@ assessment#:#tst_show_results#:#Testergebnisse assessment#:#tst_show_side_list#:#Fragenliste an assessment#:#tst_show_solution_answers_only#:#Druckausgabe der Ergebnisse (nur Antworten) assessment#:#tst_show_solution_answers_only_desc#:#Wenn „Druckausgabe der Ergebnisse (nur Antworten)“ ausgewählt ist, werden ILIAS-Inhalte, die Sie über den „Inhalt bearbeiten“-Reiter der Fragen vor und hinter dem eigentlichen Fragentext platzieren können, in einem Ausdruck nicht angezeigt. -assessment#:#tst_show_solution_compare#:#Zeige bestmögliche Lösung in „Tabelle mit detaillierten Testergebnissen“ -assessment#:#tst_show_solution_compare_desc#:#Teilnehmern wird als Teil der Tabelle „Detallierte Testergebnisse“ eine Ansicht präsentiert, welche ihre eigenen Antworten und die bestmögliche Lösung gegenüberstellt.
Diese Ansicht wird nicht im Unterreiter „Bewertete Antworten“ des „Meine Ergebnisse“-Reiters angezeigt, auch wenn diese Einstellung hier vorgenommen wird. -assessment#:#tst_show_solution_details#:#Bewertete Antworten als Liste -assessment#:#tst_show_solution_details_desc#:#Die Tabelle „Detallierte Testergebnisse“ wird um eine Liste der eigenen Antworten ergänzt. assessment#:#tst_show_solution_details_singlepage#:#Bewertete Antworten auf Einzelseiten assessment#:#tst_show_solution_details_singlepage_desc#:#Teilnehmerinnen und Teilnehmer können jede Frage einzeln aufrufen und sehen, ob ihre Antworten richtig waren und wie viele Punkte sie damit erreicht haben. assessment#:#tst_show_solution_feedback#:#Rückmeldungen @@ -1916,7 +1906,6 @@ assessment#:#tst_skill_triggerings_num_req_answers_desc#:#Kompetenzen werden ers assessment#:#tst_skill_triggerings_num_req_answers_not_reached_warn#:#Mindestens eine im Test adressierte Kompetenz ist nicht ausreichend vielen Fragen zugeordnet. Für diese Kompetenzen werden keine Kompetenzeinträge für Teilnehmer erfasst.
Die Mindestanzahl für zugewiesene Fragen: %s assessment#:#tst_skl_level_thresholds_link#:#Kompetenzschwellenwerte konfigurieren assessment#:#tst_skl_level_thresholds_missing#:#Es sind noch nicht für alle relevanten Kompetenzen Schwellenwerte definiert worden! -assessment#:#tst_skl_res_interpretation_hint_msg#:#Beachten Sie, dass die Kompetenzergebnisse eines einzelnen Tests nur bedingt aussagekräftig sind. Je mehr Informationen zu den einzelnen Kompetenzen gesammelt werden, desto valider die Aussage. Sollten einzelne Kompetenzen keinen Eintrag erhalten haben, standen für diese Kompetenz zu wenig Informationen zur Verfügung. assessment#:#tst_skl_sub_tab_thresholds#:#Kompetenzschwellenwerte assessment#:#tst_sol_comp_expressions#:#Vergleichsausdrücke assessment#:#tst_solution_compare_cfg#:#Konfiguration für Antwortvergleich @@ -1978,7 +1967,6 @@ assessment#:#tst_unchanged_answer_is_correct#:#Die vorgegebene Antwort ist korre assessment#:#tst_unchanged_order_is_correct#:#Die vorgegebene Anordnung ist korrekt. assessment#:#tst_use_previous_answers#:#Verwendung vorheriger Lösungen assessment#:#tst_use_previous_answers_description#:#Zeigt Teilnehmern die Antworten aus dem vorherigen Testdurchlauf an. Die Übernahme der Lösungen muss vom Teilnehmer vor Beginn des Testdurchlaufs in einem Modal per Checkbox aktiviert werden. -assessment#:#tst_use_previous_answers_user#:#Meine Lösungen aus einem vorherigen Testdurchlauf als vorgegebene Werte verwenden assessment#:#tst_user_finished_test#:#Ein Teilnehmer hat den Test beendet (%s) assessment#:#tst_view_competence_assign#:#Zeige Zuordnungseigenschaften assessment#:#tst_virtual_pass_header_lo_initial#:#Einstiegsergebnisse zum Lernziel
%s diff --git a/lang/ilias_el.lang b/lang/ilias_el.lang index 7b012bfae917..56ceff4a6147 100644 --- a/lang/ilias_el.lang +++ b/lang/ilias_el.lang @@ -685,12 +685,10 @@ assessment#:#examid_in_test_res#:#ILIAS Testpass ID###27 01 2015 new variable assessment#:#examid_in_test_res_desc#:#The ILIAS Testpass ID will be included in the test results.###27 01 2015 new variable assessment#:#exp_all_test_runs#:#All test attempts###26 08 2024 new variable assessment#:#exp_eval_data#:#Εξαγωγή των δεδομένων αξιολόγησης ως -assessment#:#exp_file_created#:#Export file created.###24 10 2013 new variable assessment#:#exp_grammar_as#:#as###26 08 2024 new variable assessment#:#exp_scored_test_attempt#:#Scored Test Attempt###28 10 2024 new variable assessment#:#exp_type_certificate#:#Πιστοποιητικό (PDF) assessment#:#exp_type_excel#:#Microsoft Excel (Intel x86) -assessment#:#exp_type_spss#:#Τιμή διαχωρισμένη με κόμμα (CSV) assessment#:#expected_result_type#:#Expected result type###24 10 2013 new variable assessment#:#export_cert_failed_for_users_p#:#No certificate file could be generated and added for the following %s accounts: %s. Please contact an administrator to check the log file.###26 08 2024 new variable assessment#:#export_cert_failed_for_users_s#:#No certificate file could be generated and added to the archive for the following account: %s. Please contact an administrator to check the log file.###26 08 2024 new variable @@ -1454,7 +1452,6 @@ assessment#:#tst_delete_missing_mark#:#Παρακαλώ επιλέξτε του assessment#:#tst_derive_new_pool#:#Derive New Question Pool###25 10 2016 new variable assessment#:#tst_derive_new_pools#:#Derive New Question Pools###25 10 2016 new variable assessment#:#tst_dont_show_msg_again_in_current_session#:#Don't show this message again in my current session.###10 11 2018 new variable -assessment#:#tst_dont_use_previous_answers#:#Οι προηγούμενες απαντήσεις σας δεν θα χρησιμοποιηθούν ώς προκαθορισμένες τιμές σε μελλοντικά τέστ assessment#:#tst_edit_competence_assign#:#Edit Assignment Properties###30 08 2015 new variable assessment#:#tst_edit_scoring#:#Edit Scoring###28 08 2012 new variable assessment#:#tst_enable_questionlist#:#Show 'List of Questions’###26 08 2024 new variable @@ -1510,7 +1507,6 @@ assessment#:#tst_finish_confirm_button#:#Ναι, θέλω να τελειώσω assessment#:#tst_finish_confirm_cancel_button#:#Όχι, πήγαινε πίσω στην προηγούμενη απάντηση assessment#:#tst_finish_confirmation_question#:#Πρόκειται να τελειώσετε το διαγώνισμα και να φθάσετε το μέγιστο αριθμό επιτρεπτών περασμάτων διαγωνίσματος. Δεν θα μπορείτε να ξαναμπείτε σ' αυτό το διαγώνισμα πάλι για ν' αλλάξετε τις απαντήσεις σας. Θέλετε πραγματικά να τελειώσετε το διαγώνισμα; assessment#:#tst_finish_confirmation_question_no_attempts_left#:#You are going to finish this test and reach the maximum number of allowed test attempts. You won’t be able to enter this test again to change your answers. Do you really want to finish the test?###26 08 2024 new variable -assessment#:#tst_finish_notification_no#:#No e-mail###06 02 2015 new variable assessment#:#tst_finished#:#Ολοκληρώθηκε assessment#:#tst_form_dynamic_question_set_config#:#Continues Question Selection###24 10 2013 new variable assessment#:#tst_gap_analysis#:#Gap Analysis###26 09 2014 new variable @@ -1522,7 +1518,6 @@ assessment#:#tst_hide_info_tab#:#Hide Info Tab###26 08 2024 new variable assessment#:#tst_hide_info_tab_desc#:#Hides the tab ‘Info’ of the test.###26 08 2024 new variable assessment#:#tst_hide_pagecontents#:#Hide page content###26 08 2024 new variable assessment#:#tst_hide_pagecontents_desc#:#ILIAS content placed before and after the actual question text via the "Edit Page" button will not be displayed in the result views and print output.###26 08 2024 new variable -assessment#:#tst_hide_side_list#:#Hide question list###24 07 2009 new variable assessment#:#tst_highscore_achieved_ts#:#Show date of test###28 08 2012 new variable assessment#:#tst_highscore_achieved_ts_description#:#Controls, if a column with the test date should be shown.###28 08 2012 new variable assessment#:#tst_highscore_all_tables#:#All Rankings###07 11 2014 new variable @@ -1540,7 +1535,6 @@ assessment#:#tst_highscore_score#:#Show score###28 08 2012 new variable assessment#:#tst_highscore_score_description#:#Controls, if a column with the score should be shown.###28 08 2012 new variable assessment#:#tst_highscore_top_num#:#Number of ranks###28 08 2012 new variable assessment#:#tst_highscore_top_num_description#:#Controls, how many ranks should be included in the top ranking table.###28 08 2012 new variable -assessment#:#tst_highscore_top_num_unit#:#entries###28 08 2012 new variable assessment#:#tst_highscore_top_table#:#Show table 'top ranking'###28 08 2012 new variable assessment#:#tst_highscore_top_table_description#:#Controls, if the table 'top ranking' should be shown.###28 08 2012 new variable assessment#:#tst_highscore_wtime#:#Show working time###28 08 2012 new variable @@ -1891,10 +1885,6 @@ assessment#:#tst_show_results#:#Προβολή αποτελεσμάτων δια assessment#:#tst_show_side_list#:#Show question list aside###24 07 2009 new variable assessment#:#tst_show_solution_answers_only#:#Results print view (answers only) assessment#:#tst_show_solution_answers_only_desc#:#If is selected, the ILIAS content you place around a question using the "Edit content" tab page will not be visible in a print-out. If you want to save some paper space, select this option.###07 11 2014 new variable -assessment#:#tst_show_solution_compare#:#Compare Answer with Solution in List of Answers###24 10 2013 new variable -assessment#:#tst_show_solution_compare_desc#:#Participants are presented with an overview comparing their own answers with the best solutions. Please note that this view will be displayed in the ‘Detailed Results’ that can be accessed via the ‘Show Test Results‘-button on the ‘Info’-tab. It will not be displayed in the printable ‘List of Answers’ even though the setting is made here.###06 02 2015 new variable -assessment#:#tst_show_solution_details#:#Λεπτομέρειες βαθμολογίας -assessment#:#tst_show_solution_details_desc#:#If selected, the detailed question solution is available to participants in the test results presentation. This includes the exact scoring of every answer, otherwise only an overview with the question titles and the reached points is shown.###07 11 2014 new variable assessment#:#tst_show_solution_details_singlepage#:#Scored Answers on single pages###26 08 2024 new variable assessment#:#tst_show_solution_details_singlepage_desc#:#Participants can access each question individually and see if their answers were correct and how many points they scored.###26 08 2024 new variable assessment#:#tst_show_solution_feedback#:#Show Answer-Specific Feedback in Test Results @@ -1917,7 +1907,6 @@ assessment#:#tst_skill_triggerings_num_req_answers_desc#:#Competences aren't tri assessment#:#tst_skill_triggerings_num_req_answers_not_reached_warn#:#At least one of the competences addressed by this test is not triggered by the minimal required amount of questions.
The required amount of questions: %s###10 11 2018 new variable assessment#:#tst_skl_level_thresholds_link#:#Configure Competence-Thresholds###30 08 2015 new variable assessment#:#tst_skl_level_thresholds_missing#:#There are missing thresholds for the relevant competences!###30 08 2015 new variable -assessment#:#tst_skl_res_interpretation_hint_msg#:#Please consider that competence results from a single test has a limited significance. The more information is collected per competence, the merrier valid the significance will be. Should there are single competences without any entry, there is to less information collected.###30 08 2015 new variable assessment#:#tst_skl_sub_tab_thresholds#:#Competence Thresholds###26 09 2014 new variable assessment#:#tst_sol_comp_expressions#:#Comparison Expressions###30 08 2015 new variable assessment#:#tst_solution_compare_cfg#:#Configuration for Solution Compare###30 08 2015 new variable @@ -1979,7 +1968,6 @@ assessment#:#tst_unchanged_answer_is_correct#:#The preset answer is correct###fa assessment#:#tst_unchanged_order_is_correct#:#The preset order is correct###fau: testNav assessment#:#tst_use_previous_answers#:#Use Previous Answers assessment#:#tst_use_previous_answers_description#:#If checked, the previous answers of a participant will be used as default values in future test passes -assessment#:#tst_use_previous_answers_user#:#Use my previous answers as default values in future test passes assessment#:#tst_user_finished_test#:#User finished test (%s)###24 07 2009 new variable assessment#:#tst_view_competence_assign#:#View Assignment Properties###30 08 2015 new variable assessment#:#tst_virtual_pass_header_lo_initial#:#Initial Test Results for the Learning Objectives
%s###30 08 2015 new variable diff --git a/lang/ilias_en.lang b/lang/ilias_en.lang index a10276d1cf83..3d9dee0c5eba 100644 --- a/lang/ilias_en.lang +++ b/lang/ilias_en.lang @@ -684,12 +684,10 @@ assessment#:#examid_in_test_res#:#Display ILIAS Test ID assessment#:#examid_in_test_res_desc#:#Show the ILIAS Test ID in the ‘Detailed Results’ and ‘Printable List of Answers’ views as well as in spreadsheet files exported via the ‘Participants’ tab. assessment#:#exp_all_test_runs#:#All test attempts assessment#:#exp_eval_data#:#Export data -assessment#:#exp_file_created#:#Export file created. assessment#:#exp_grammar_as#:#as assessment#:#exp_scored_test_attempt#:#Scored Test Attempt assessment#:#exp_type_certificate#:#Certificate (PDF) assessment#:#exp_type_excel#:#Microsoft Excel -assessment#:#exp_type_spss#:#Comma Separated Values (CSV) assessment#:#expected_result_type#:#Expected result type assessment#:#export_cert_failed_for_users_p#:#No certificate file could be generated and added for the following %s accounts: %s. Please contact an administrator to check the log file. assessment#:#export_cert_failed_for_users_s#:#No certificate file could be generated and added to the archive for the following account: %s. Please contact an administrator to check the log file. @@ -1453,7 +1451,6 @@ assessment#:#tst_delete_missing_mark#:#Please select at least one mark step to r assessment#:#tst_derive_new_pool#:#Derive New Question Pool assessment#:#tst_derive_new_pools#:#Derive New Question Pools assessment#:#tst_dont_show_msg_again_in_current_session#:#Don't show this message again in my current session. -assessment#:#tst_dont_use_previous_answers#:#Your previous answers will not be used as default values in future test attempts assessment#:#tst_edit_competence_assign#:#Edit Assignment Properties assessment#:#tst_edit_scoring#:#Edit Scoring assessment#:#tst_enable_questionlist#:#Show List of Questions @@ -1509,7 +1506,6 @@ assessment#:#tst_finish_confirm_button#:#Yes, I want to finish the test assessment#:#tst_finish_confirm_cancel_button#:#No, go back to the previous question assessment#:#tst_finish_confirmation_question#:#You are going to finish this test. You won’t be able to enter this test attempt again to change your answers. Do you really want to finish this test? assessment#:#tst_finish_confirmation_question_no_attempts_left#:#You are going to finish this test and reach the maximum number of allowed test attempts. You won’t be able to enter this test again to change your answers. Do you really want to finish the test? -assessment#:#tst_finish_notification_no#:#No e-mail assessment#:#tst_finished#:#Finished assessment#:#tst_form_dynamic_question_set_config#:#Continues Question Selection assessment#:#tst_gap_analysis#:#Gap Analysis @@ -1521,7 +1517,6 @@ assessment#:#tst_hide_info_tab#:#Hide Info Tab assessment#:#tst_hide_info_tab_desc#:#Hide the test’s ‘Info’ tab. assessment#:#tst_hide_pagecontents#:#Hide Page Content assessment#:#tst_hide_pagecontents_desc#:#Content placed before and after the actual question text via the ‘Edit Page’ button will not be displayed in results views or print output. -assessment#:#tst_hide_side_list#:#Hide List of Questions assessment#:#tst_highscore_achieved_ts#:#Date / Time assessment#:#tst_highscore_achieved_ts_description#:#Show an additional column in the rankings table showing when the test was finished. assessment#:#tst_highscore_all_tables#:#Own performance and top ranks @@ -1539,7 +1534,6 @@ assessment#:#tst_highscore_score#:#Point Score assessment#:#tst_highscore_score_description#:#Show an additional column in the ranking table showing points scored. assessment#:#tst_highscore_top_num#:#Number of Top Ranks assessment#:#tst_highscore_top_num_description#:#Specify how many positions are to be included in the top ranks list. -assessment#:#tst_highscore_top_num_unit#:#entries assessment#:#tst_highscore_top_table#:#Top ranks assessment#:#tst_highscore_top_table_description#:#Participants will be shown the top positions in the rankings. assessment#:#tst_highscore_wtime#:#Time Spent @@ -1890,10 +1884,6 @@ assessment#:#tst_show_results#:#Test Results assessment#:#tst_show_side_list#:#Show List of Questions assessment#:#tst_show_solution_answers_only#:#Print View of Results (Answers Only) assessment#:#tst_show_solution_answers_only_desc#:#If is selected, the ILIAS content you place around a question using the ‘Edit content’ tab page will not be visible in a print-out. If you want to save some paper space, select this option. -assessment#:#tst_show_solution_compare#:#Show Best Solution in ‘Detailed Results’ -assessment#:#tst_show_solution_compare_desc#:#Participants are presented with an overview comparing their own answers with the best solutions. Please note that this view will be displayed in the 'Detailed Results' that can be accessed via the 'Show Test Results'-button on the 'Info'-tab. It will not be displayed in the printable 'List of Answers' even though the setting is made here. -assessment#:#tst_show_solution_details#:#Scored Answers of Participant -assessment#:#tst_show_solution_details_desc#:#The ‘Table of Detailed Test Results’ will be added by a list of answers. assessment#:#tst_show_solution_details_singlepage#:#Scored Answers on single pages assessment#:#tst_show_solution_details_singlepage_desc#:#Participants can access each question individually and see if their answers were correct and how many points they scored. assessment#:#tst_show_solution_feedback#:#Feedback @@ -1916,7 +1906,6 @@ assessment#:#tst_skill_triggerings_num_req_answers_desc#:#Competences aren't tri assessment#:#tst_skill_triggerings_num_req_answers_not_reached_warn#:#At least one of the competences addressed by this test is not triggered by the minimal required amount of questions. No competence records will be written for these competences.
The required amount of questions: %s assessment#:#tst_skl_level_thresholds_link#:#Configure Competence Thresholds assessment#:#tst_skl_level_thresholds_missing#:#There are missing thresholds for the relevant competences! -assessment#:#tst_skl_res_interpretation_hint_msg#:#Please consider that competence results from a single test has a limited significance. The more information is collected per competence, the merrier valid the significance will be. Should there are single competences without any entry, there is to less information collected. assessment#:#tst_skl_sub_tab_thresholds#:#Competence Thresholds assessment#:#tst_sol_comp_expressions#:#Comparison Expressions assessment#:#tst_solution_compare_cfg#:#Configuration for Solution Compare @@ -1978,7 +1967,6 @@ assessment#:#tst_unchanged_answer_is_correct#:#The preset answer is correct###fa assessment#:#tst_unchanged_order_is_correct#:#The preset order is correct###fau: testNav assessment#:#tst_use_previous_answers#:#Use Previous Answers assessment#:#tst_use_previous_answers_description#:#Participants will be presented with their answers from previous test attempts. This option has to be activated by individual participants in a modal that pops up when starting a test attempt. -assessment#:#tst_use_previous_answers_user#:#Use my previous answers as default values in future test attempts assessment#:#tst_user_finished_test#:#User finished test (%s) assessment#:#tst_view_competence_assign#:#View Assignment Properties assessment#:#tst_virtual_pass_header_lo_initial#:#Initial Test Results for the Learning Objective
%s diff --git a/lang/ilias_es.lang b/lang/ilias_es.lang index b2b7198b477b..aa3fe42da607 100644 --- a/lang/ilias_es.lang +++ b/lang/ilias_es.lang @@ -686,12 +686,10 @@ assessment#:#examid_in_test_res#:#Mostrar id del examen en resultados assessment#:#examid_in_test_res_desc#:#Mostrar id del examen al finalizar el test assessment#:#exp_all_test_runs#:#All test attempts###26 08 2024 new variable assessment#:#exp_eval_data#:#Exportar Datos de Evaluación. -assessment#:#exp_file_created#:#Archivo de exportación creado. assessment#:#exp_grammar_as#:#as###26 08 2024 new variable assessment#:#exp_scored_test_attempt#:#Scored Test Attempt###28 10 2024 new variable assessment#:#exp_type_certificate#:#Informe (PDF) assessment#:#exp_type_excel#:#Excel -assessment#:#exp_type_spss#:#SPSS assessment#:#expected_result_type#:#Tipo de resultado esperado assessment#:#export_cert_failed_for_users_p#:#No certificate file could be generated and added for the following %s accounts: %s. Please contact an administrator to check the log file.###26 08 2024 new variable assessment#:#export_cert_failed_for_users_s#:#No certificate file could be generated and added to the archive for the following account: %s. Please contact an administrator to check the log file.###26 08 2024 new variable @@ -1455,7 +1453,6 @@ assessment#:#tst_delete_missing_mark#:#Por favor seleccione al menos un rango de assessment#:#tst_derive_new_pool#:#Obtener nuevo banco de preguntas assessment#:#tst_derive_new_pools#:#Obtener nuevos bancos de preguntas assessment#:#tst_dont_show_msg_again_in_current_session#:#Don't show this message again in my current session. -assessment#:#tst_dont_use_previous_answers#:#Sus respuestas previas no serán usadas como valores por defecto en futuras ejecuciones del test assessment#:#tst_edit_competence_assign#:#Editar propiedades de asignación assessment#:#tst_edit_scoring#:#Editar puntuación assessment#:#tst_enable_questionlist#:#Show 'List of Questions’###26 08 2024 new variable @@ -1511,7 +1508,6 @@ assessment#:#tst_finish_confirm_button#:#Si, quiero finalizar el test assessment#:#tst_finish_confirm_cancel_button#:#No, volver a la pregunta anterior assessment#:#tst_finish_confirmation_question#:#Vas a finalizar este test y alcanzarás el máximo número de intentos permitidos. No podrás volver a realizar este test para cambiar tus respuestas. ¿Quieres realmente finalizar el test? assessment#:#tst_finish_confirmation_question_no_attempts_left#:#You are going to finish this test and reach the maximum number of allowed test attempts. You won’t be able to enter this test again to change your answers. Do you really want to finish the test?###26 08 2024 new variable -assessment#:#tst_finish_notification_no#:#No enviar correo electrónico assessment#:#tst_finished#:#Terminado assessment#:#tst_form_dynamic_question_set_config#:#Selección continua de preguntas assessment#:#tst_gap_analysis#:#Análisis de huecos @@ -1523,7 +1519,6 @@ assessment#:#tst_hide_info_tab#:#Hide Info Tab###26 08 2024 new variable assessment#:#tst_hide_info_tab_desc#:#Hides the tab ‘Info’ of the test.###26 08 2024 new variable assessment#:#tst_hide_pagecontents#:#Hide page content###26 08 2024 new variable assessment#:#tst_hide_pagecontents_desc#:#ILIAS content placed before and after the actual question text via the "Edit Page" button will not be displayed in the result views and print output.###26 08 2024 new variable -assessment#:#tst_hide_side_list#:#Ocultar lista de preguntas assessment#:#tst_highscore_achieved_ts#:#Mostrar fecha del test assessment#:#tst_highscore_achieved_ts_description#:#Controla si debe mostrarse una columna con la fecha del test. assessment#:#tst_highscore_all_tables#:#Todas las puntuaciones @@ -1541,7 +1536,6 @@ assessment#:#tst_highscore_score#:#Mostrar puntuación assessment#:#tst_highscore_score_description#:#Controla si debe mostrarse una columna con la puntuación. assessment#:#tst_highscore_top_num#:#Número de entradas assessment#:#tst_highscore_top_num_description#:#Controla cuantas entradas deben mostrarse en la tabla de puntuaciones más altas. -assessment#:#tst_highscore_top_num_unit#:#entradas assessment#:#tst_highscore_top_table#:#Mostrar tabla 'clasificaciones más altas' assessment#:#tst_highscore_top_table_description#:#Controla si debe mostrarse la tabla 'clasificaciones más altas'. assessment#:#tst_highscore_wtime#:#Mostrar tiempo de trabajo @@ -1892,10 +1886,6 @@ assessment#:#tst_show_results#:#Mostrar resultados del test assessment#:#tst_show_side_list#:#Mostrar lista de preguntas en el lateral assessment#:#tst_show_solution_answers_only#:#Vista de impresión de resultados (respuestas sólo) assessment#:#tst_show_solution_answers_only_desc#:#Si se marca no se muestra el contenido ILIAS que se puede crear con la pestaña "Editar Página" antes y después de la pregunta cuando se edita. Permite ahorrar papel. -assessment#:#tst_show_solution_compare#:#Comparar respuesta con la solución en la Lista de Respuestas -assessment#:#tst_show_solution_compare_desc#:#A los participantes se les muestra una comparativa de sus respuestas con las mejores soluciones. El resumen se mostará en "Resultados Detallados" a los que se accede con el botón "Mostrar resultados del test" en la pestaña de "Información". No se mostrará en la versión de impresión de la "Lista de respuestas" aunque esté activo aquí. -assessment#:#tst_show_solution_details#:#Detalles de puntuación -assessment#:#tst_show_solution_details_desc#:#Si se marca muestra al participante la solución detallada de cada pregunta en los resultados del test (para cada opción de respuesta si la hubiera). Si no está activa, sólo se muestra un resumen con el título y la puntuación total alcanzada en cada pregunta. Esta lista se mostrará en la pestaña "Info" y al finalizar la ejecución de un test, antes del envío final. assessment#:#tst_show_solution_details_singlepage#:#Scored Answers on single pages###26 08 2024 new variable assessment#:#tst_show_solution_details_singlepage_desc#:#Participants can access each question individually and see if their answers were correct and how many points they scored.###26 08 2024 new variable assessment#:#tst_show_solution_feedback#:#Mostrar explicaciones específicas por respuesta en los resultados del test @@ -1918,7 +1908,6 @@ assessment#:#tst_skill_triggerings_num_req_answers_desc#:#Las competencias no so assessment#:#tst_skill_triggerings_num_req_answers_not_reached_warn#:#Al menos una de las competencias evaluadas en este test no se aborda con la cantidad mínima necesaria de preguntas.
Cantidad necesaria de preguntas: %s assessment#:#tst_skl_level_thresholds_link#:#Configurar umbrales de competencia assessment#:#tst_skl_level_thresholds_missing#:#Faltan umbrales para competencias relevantes! -assessment#:#tst_skl_res_interpretation_hint_msg#:#Por favor, considere que los resultados de competencia de un único test tienen una significación limitada. Cuanto más información se recolecte por competencia, mejor será la significación. En caso de que hubiera competencias individuales sin ninguna entrada, hay menos información recopilada. assessment#:#tst_skl_sub_tab_thresholds#:#Umbrales de competencias assessment#:#tst_sol_comp_expressions#:#Expresión de comparación assessment#:#tst_solution_compare_cfg#:#Configuración por comparación de solución @@ -1980,7 +1969,6 @@ assessment#:#tst_unchanged_answer_is_correct#:#La respuesta preestablecida es co assessment#:#tst_unchanged_order_is_correct#:#El orden preestablecido es correcto assessment#:#tst_use_previous_answers#:#Usar respuestas previas assessment#:#tst_use_previous_answers_description#:#Si se activa, se usarán las respuestas previas de un participante como valores por defecto en futuras ejecuciones del test -assessment#:#tst_use_previous_answers_user#:#Usar mis respuestas previas como valores por defecto en futuras ejecuciones del test assessment#:#tst_user_finished_test#:#Test finalizado de usuario (%s) assessment#:#tst_view_competence_assign#:#Ver propiedades de asignación assessment#:#tst_virtual_pass_header_lo_initial#:#Resultados del test inicial para los objetivos de aprendizaje
%s diff --git a/lang/ilias_et.lang b/lang/ilias_et.lang index 0f0dd3d89349..f68ab92b92b7 100644 --- a/lang/ilias_et.lang +++ b/lang/ilias_et.lang @@ -684,12 +684,10 @@ assessment#:#examid_in_test_res#:#ILIAS Testpass ID assessment#:#examid_in_test_res_desc#:#The ILIAS Testpass ID will be included in the test results. assessment#:#exp_all_test_runs#:#All test attempts###26 08 2024 new variable assessment#:#exp_eval_data#:#Ekspordi tulemused -assessment#:#exp_file_created#:#Export file created. assessment#:#exp_grammar_as#:#as###26 08 2024 new variable assessment#:#exp_scored_test_attempt#:#Scored Test Attempt###28 10 2024 new variable assessment#:#exp_type_certificate#:#Sertifikaat (PDF) assessment#:#exp_type_excel#:#Microsoft Excel -assessment#:#exp_type_spss#:#Komaga eraldatud andmete faili formaat (CSV) assessment#:#expected_result_type#:#Expected result type assessment#:#export_cert_failed_for_users_p#:#No certificate file could be generated and added for the following %s accounts: %s. Please contact an administrator to check the log file.###26 08 2024 new variable assessment#:#export_cert_failed_for_users_s#:#No certificate file could be generated and added to the archive for the following account: %s. Please contact an administrator to check the log file.###26 08 2024 new variable @@ -1453,7 +1451,6 @@ assessment#:#tst_delete_missing_mark#:#Valige kustutamiseks vähemalt üks hinne assessment#:#tst_derive_new_pool#:#Derive New Question Pool###25 10 2016 new variable assessment#:#tst_derive_new_pools#:#Derive New Question Pools###25 10 2016 new variable assessment#:#tst_dont_show_msg_again_in_current_session#:#Don't show this message again in my current session.###10 11 2018 new variable -assessment#:#tst_dont_use_previous_answers#:#Sinu varasemaid vastuseid ei kasutata järgnevates testides vaikeväärtustena assessment#:#tst_edit_competence_assign#:#Edit Assignment Properties###30 08 2015 new variable assessment#:#tst_edit_scoring#:#Edit Scoring assessment#:#tst_enable_questionlist#:#Show 'List of Questions’###26 08 2024 new variable @@ -1509,7 +1506,6 @@ assessment#:#tst_finish_confirm_button#:#Jah, tahan testi lõpetada. assessment#:#tst_finish_confirm_cancel_button#:#Ei, mine tagasi eelmise vastuse juurde. assessment#:#tst_finish_confirmation_question#:#Oled lõpetamas seda testi. Pärast vastuste ära saatmist ei ole võimalik enam testi siseneda ega vastuseid muuta. Kas oled kindel, et soovid praegu testi vastuseid ära saata? assessment#:#tst_finish_confirmation_question_no_attempts_left#:#You are going to finish this test and reach the maximum number of allowed test attempts. You won’t be able to enter this test again to change your answers. Do you really want to finish the test?###26 08 2024 new variable -assessment#:#tst_finish_notification_no#:#No e-mail###06 02 2015 new variable assessment#:#tst_finished#:#Lõpetatud assessment#:#tst_form_dynamic_question_set_config#:#Continues Question Selection assessment#:#tst_gap_analysis#:#Gap Analysis @@ -1521,7 +1517,6 @@ assessment#:#tst_hide_info_tab#:#Hide Info Tab###26 08 2024 new variable assessment#:#tst_hide_info_tab_desc#:#Hides the tab ‘Info’ of the test.###26 08 2024 new variable assessment#:#tst_hide_pagecontents#:#Hide page content###26 08 2024 new variable assessment#:#tst_hide_pagecontents_desc#:#ILIAS content placed before and after the actual question text via the "Edit Page" button will not be displayed in the result views and print output.###26 08 2024 new variable -assessment#:#tst_hide_side_list#:#Peida küsimuste nimestik assessment#:#tst_highscore_achieved_ts#:#Show date of test assessment#:#tst_highscore_achieved_ts_description#:#Controls, if a column with the test date should be shown. assessment#:#tst_highscore_all_tables#:#All Rankings @@ -1539,7 +1534,6 @@ assessment#:#tst_highscore_score#:#Show score assessment#:#tst_highscore_score_description#:#Controls, if a column with the score should be shown. assessment#:#tst_highscore_top_num#:#Number of ranks assessment#:#tst_highscore_top_num_description#:#Controls, how many ranks should be included in the top ranking table. -assessment#:#tst_highscore_top_num_unit#:#entries assessment#:#tst_highscore_top_table#:#Show table 'top ranking' assessment#:#tst_highscore_top_table_description#:#Controls, if the table 'top ranking' should be shown. assessment#:#tst_highscore_wtime#:#Show working time @@ -1890,10 +1884,6 @@ assessment#:#tst_show_results#:#Näita testitulemusi assessment#:#tst_show_side_list#:#Näita kõrval küsimuste loendit assessment#:#tst_show_solution_answers_only#:#Tulemuste printvaade (ainult vastused) assessment#:#tst_show_solution_answers_only_desc#:#If is selected, the ILIAS content you place around a question using the "Edit content" tab page will not be visible in a print-out. If you want to save some paper space, select this option. -assessment#:#tst_show_solution_compare#:#Compare Answer with Solution in List of Answers -assessment#:#tst_show_solution_compare_desc#:#Participants are presented with an overview comparing their own answers with the best solutions. Please note that this view will be displayed in the ‘Detailed Results’ that can be accessed via the ‘Show Test Results‘-button on the ‘Info’-tab. It will not be displayed in the printable ‘List of Answers’ even though the setting is made here.###06 02 2015 new variable -assessment#:#tst_show_solution_details#:#Näita testitulemustes enese vastuseid -assessment#:#tst_show_solution_details_desc#:#If selected, the detailed question solution is available to participants in the test results presentation. This includes the exact scoring of every answer, otherwise only an overview with the question titles and the reached points is shown. assessment#:#tst_show_solution_details_singlepage#:#Scored Answers on single pages###26 08 2024 new variable assessment#:#tst_show_solution_details_singlepage_desc#:#Participants can access each question individually and see if their answers were correct and how many points they scored.###26 08 2024 new variable assessment#:#tst_show_solution_feedback#:#Näita testitulemustes vastustekeskset tagasisidet @@ -1916,7 +1906,6 @@ assessment#:#tst_skill_triggerings_num_req_answers_desc#:#Competences aren't tri assessment#:#tst_skill_triggerings_num_req_answers_not_reached_warn#:#At least one of the competences addressed by this test is not triggered by the minimal required amount of questions.
The required amount of questions: %s###10 11 2018 new variable assessment#:#tst_skl_level_thresholds_link#:#Configure Competence-Thresholds###30 08 2015 new variable assessment#:#tst_skl_level_thresholds_missing#:#There are missing thresholds for the relevant competences!###30 08 2015 new variable -assessment#:#tst_skl_res_interpretation_hint_msg#:#Please consider that competence results from a single test has a limited significance. The more information is collected per competence, the merrier valid the significance will be. Should there are single competences without any entry, there is to less information collected.###30 08 2015 new variable assessment#:#tst_skl_sub_tab_thresholds#:#Competence Thresholds assessment#:#tst_sol_comp_expressions#:#Comparison Expressions###30 08 2015 new variable assessment#:#tst_solution_compare_cfg#:#Configuration for Solution Compare###30 08 2015 new variable @@ -1978,7 +1967,6 @@ assessment#:#tst_unchanged_answer_is_correct#:#The preset answer is correct###fa assessment#:#tst_unchanged_order_is_correct#:#The preset order is correct###fau: testNav assessment#:#tst_use_previous_answers#:#Kasuta varasemaid vastuseid assessment#:#tst_use_previous_answers_description#:#Kui märgistatud, võib osaleja kasutada varasemaid vastuseid vaikimis tulevastes testides, vastasel juhul ei näidata varasemaid vastuseid tulevastes testides -assessment#:#tst_use_previous_answers_user#:#Kasuta mu varasemaid vastuseid tuleviku testides assessment#:#tst_user_finished_test#:#Kasutaja lõpetas testi (%s) assessment#:#tst_view_competence_assign#:#View Assignment Properties###30 08 2015 new variable assessment#:#tst_virtual_pass_header_lo_initial#:#Initial Test Results for the Learning Objectives
%s###30 08 2015 new variable diff --git a/lang/ilias_fa.lang b/lang/ilias_fa.lang index 58b51d58d8e6..eaa133e544f1 100644 --- a/lang/ilias_fa.lang +++ b/lang/ilias_fa.lang @@ -684,12 +684,10 @@ assessment#:#examid_in_test_res#:#ILIAS Testpass ID###27 01 2015 new variable assessment#:#examid_in_test_res_desc#:#The ILIAS Testpass ID will be included in the test results.###27 01 2015 new variable assessment#:#exp_all_test_runs#:#All test attempts###26 08 2024 new variable assessment#:#exp_eval_data#:#صدور داده ارزیابی به -assessment#:#exp_file_created#:#Export file created.###24 10 2013 new variable assessment#:#exp_grammar_as#:#as###26 08 2024 new variable assessment#:#exp_scored_test_attempt#:#Scored Test Attempt###28 10 2024 new variable assessment#:#exp_type_certificate#:#Certificate (PDF) assessment#:#exp_type_excel#:#Microsoft Excel -assessment#:#exp_type_spss#:#مقادیر جدا شده با کاما (CSV) assessment#:#expected_result_type#:#Expected result type###24 10 2013 new variable assessment#:#export_cert_failed_for_users_p#:#No certificate file could be generated and added for the following %s accounts: %s. Please contact an administrator to check the log file.###26 08 2024 new variable assessment#:#export_cert_failed_for_users_s#:#No certificate file could be generated and added to the archive for the following account: %s. Please contact an administrator to check the log file.###26 08 2024 new variable @@ -1453,7 +1451,6 @@ assessment#:#tst_delete_missing_mark#:#Please select at least one mark step to d assessment#:#tst_derive_new_pool#:#Derive New Question Pool###25 10 2016 new variable assessment#:#tst_derive_new_pools#:#Derive New Question Pools###25 10 2016 new variable assessment#:#tst_dont_show_msg_again_in_current_session#:#Don't show this message again in my current session.###10 11 2018 new variable -assessment#:#tst_dont_use_previous_answers#:#Your previous answers will not be used as default values in future test passes assessment#:#tst_edit_competence_assign#:#Edit Assignment Properties###30 08 2015 new variable assessment#:#tst_edit_scoring#:#Edit Scoring###28 08 2012 new variable assessment#:#tst_enable_questionlist#:#Show 'List of Questions’###26 08 2024 new variable @@ -1509,7 +1506,6 @@ assessment#:#tst_finish_confirm_button#:#بله، می خواهم تست را ت assessment#:#tst_finish_confirm_cancel_button#:#No, go back to the previous question assessment#:#tst_finish_confirmation_question#:#You are going to finish this test and reach the maximum number of allowed test passes. You won't be able to enter this test again to change your answers. Do you really want to finish the test? assessment#:#tst_finish_confirmation_question_no_attempts_left#:#You are going to finish this test and reach the maximum number of allowed test attempts. You won’t be able to enter this test again to change your answers. Do you really want to finish the test?###26 08 2024 new variable -assessment#:#tst_finish_notification_no#:#No e-mail###06 02 2015 new variable assessment#:#tst_finished#:#پایان یافت assessment#:#tst_form_dynamic_question_set_config#:#Continues Question Selection###24 10 2013 new variable assessment#:#tst_gap_analysis#:#Gap Analysis###26 09 2014 new variable @@ -1521,7 +1517,6 @@ assessment#:#tst_hide_info_tab#:#Hide Info Tab###26 08 2024 new variable assessment#:#tst_hide_info_tab_desc#:#Hides the tab ‘Info’ of the test.###26 08 2024 new variable assessment#:#tst_hide_pagecontents#:#Hide page content###26 08 2024 new variable assessment#:#tst_hide_pagecontents_desc#:#ILIAS content placed before and after the actual question text via the "Edit Page" button will not be displayed in the result views and print output.###26 08 2024 new variable -assessment#:#tst_hide_side_list#:#Hide question list assessment#:#tst_highscore_achieved_ts#:#Show date of test###28 08 2012 new variable assessment#:#tst_highscore_achieved_ts_description#:#Controls, if a column with the test date should be shown.###28 08 2012 new variable assessment#:#tst_highscore_all_tables#:#All Rankings###07 11 2014 new variable @@ -1539,7 +1534,6 @@ assessment#:#tst_highscore_score#:#Show score###28 08 2012 new variable assessment#:#tst_highscore_score_description#:#Controls, if a column with the score should be shown.###28 08 2012 new variable assessment#:#tst_highscore_top_num#:#Number of ranks###28 08 2012 new variable assessment#:#tst_highscore_top_num_description#:#Controls, how many ranks should be included in the top ranking table.###28 08 2012 new variable -assessment#:#tst_highscore_top_num_unit#:#entries###28 08 2012 new variable assessment#:#tst_highscore_top_table#:#Show table 'top ranking'###28 08 2012 new variable assessment#:#tst_highscore_top_table_description#:#Controls, if the table 'top ranking' should be shown.###28 08 2012 new variable assessment#:#tst_highscore_wtime#:#Show working time###28 08 2012 new variable @@ -1890,10 +1884,6 @@ assessment#:#tst_show_results#:#نمایش نتایج تست assessment#:#tst_show_side_list#:#Show question list aside assessment#:#tst_show_solution_answers_only#:#نمای چاپ نتایج - فقط پاسخ ها assessment#:#tst_show_solution_answers_only_desc#:#If is selected, the ILIAS content you place around a question using the "Edit content" tab page will not be visible in a print-out. If you want to save some paper space, select this option.###07 11 2014 new variable -assessment#:#tst_show_solution_compare#:#Compare Answer with Solution in List of Answers###24 10 2013 new variable -assessment#:#tst_show_solution_compare_desc#:#Participants are presented with an overview comparing their own answers with the best solutions. Please note that this view will be displayed in the ‘Detailed Results’ that can be accessed via the ‘Show Test Results‘-button on the ‘Info’-tab. It will not be displayed in the printable ‘List of Answers’ even though the setting is made here.###06 02 2015 new variable -assessment#:#tst_show_solution_details#:#نمایش راه حل ها درنتیج تست -assessment#:#tst_show_solution_details_desc#:#If selected, the detailed question solution is available to participants in the test results presentation. This includes the exact scoring of every answer, otherwise only an overview with the question titles and the reached points is shown.###07 11 2014 new variable assessment#:#tst_show_solution_details_singlepage#:#Scored Answers on single pages###26 08 2024 new variable assessment#:#tst_show_solution_details_singlepage_desc#:#Participants can access each question individually and see if their answers were correct and how many points they scored.###26 08 2024 new variable assessment#:#tst_show_solution_feedback#:#نمایش بازخورد متناسب با پاسخ در نتایج تست @@ -1916,7 +1906,6 @@ assessment#:#tst_skill_triggerings_num_req_answers_desc#:#Competences aren't tri assessment#:#tst_skill_triggerings_num_req_answers_not_reached_warn#:#At least one of the competences addressed by this test is not triggered by the minimal required amount of questions.
The required amount of questions: %s###10 11 2018 new variable assessment#:#tst_skl_level_thresholds_link#:#Configure Competence-Thresholds###30 08 2015 new variable assessment#:#tst_skl_level_thresholds_missing#:#There are missing thresholds for the relevant competences!###30 08 2015 new variable -assessment#:#tst_skl_res_interpretation_hint_msg#:#Please consider that competence results from a single test has a limited significance. The more information is collected per competence, the merrier valid the significance will be. Should there are single competences without any entry, there is to less information collected.###30 08 2015 new variable assessment#:#tst_skl_sub_tab_thresholds#:#Competence Thresholds###26 09 2014 new variable assessment#:#tst_sol_comp_expressions#:#Comparison Expressions###30 08 2015 new variable assessment#:#tst_solution_compare_cfg#:#Configuration for Solution Compare###30 08 2015 new variable @@ -1978,7 +1967,6 @@ assessment#:#tst_unchanged_answer_is_correct#:#The preset answer is correct###fa assessment#:#tst_unchanged_order_is_correct#:#The preset order is correct###fau: testNav assessment#:#tst_use_previous_answers#:#جوابهای قبلی را استفاده کن assessment#:#tst_use_previous_answers_description#:#اگر انتخاب شده باشد، شرکت کننده می تواند پاسخهای قبلی را به عنوان مقادیر پیش فرض برای دوره تست های بعدی انتخاب کند. -assessment#:#tst_use_previous_answers_user#:#جوابهای قبلی را من را به عنوان مقادیر پیش فرض برای تستهای آتی استفاده کن assessment#:#tst_user_finished_test#:#User finished test (%s) assessment#:#tst_view_competence_assign#:#View Assignment Properties###30 08 2015 new variable assessment#:#tst_virtual_pass_header_lo_initial#:#Initial Test Results for the Learning Objectives
%s###30 08 2015 new variable diff --git a/lang/ilias_fr.lang b/lang/ilias_fr.lang index 4e6b08b4c8d1..8fc19b42c7f0 100644 --- a/lang/ilias_fr.lang +++ b/lang/ilias_fr.lang @@ -669,12 +669,10 @@ assessment#:#examid_in_test_res#:#ILIAS Testpass ID assessment#:#examid_in_test_res_desc#:#The ILIAS Testpass ID will be included in the test results. assessment#:#exp_all_test_runs#:#All test runs###31 10 2023 new variable assessment#:#exp_eval_data#:#Exporter les résultats -assessment#:#exp_file_created#:#Fichier d'export créé. assessment#:#exp_grammar_as#:#as###26 08 2024 new variable assessment#:#exp_scored_test_attempt#:#Scored test Attempt assessment#:#exp_type_certificate#:#Certificat (PDF) assessment#:#exp_type_excel#:# Excel -assessment#:#exp_type_spss#:# SPSS assessment#:#expected_result_type#:#Type de résultat attendu assessment#:#export_cert_failed_for_users_p#:#No certificate file could be generated and added for the following %s accounts: %s. Please contact an administrator to check the log file.###26 08 2024 new variable assessment#:#export_cert_failed_for_users_s#:#No certificate file could be generated and added to the archive for the following account: %s. Please contact an administrator to check the log file.###26 08 2024 new variable @@ -1438,7 +1436,6 @@ assessment#:#tst_delete_missing_mark#:#Veuillez sélectionner au moins une étap assessment#:#tst_derive_new_pool#:#Obtenir un nouveau pool de questions assessment#:#tst_derive_new_pools#:#Obtenir de nouveaux pools de questions assessment#:#tst_dont_show_msg_again_in_current_session#:#Don't show this message again in my current session. -assessment#:#tst_dont_use_previous_answers#:#Vos réponses antérieures ne seront pas affichées par défaut lorsque vous repasserez le test assessment#:#tst_edit_competence_assign#:#Éditer les propriétés de la tâche assessment#:#tst_edit_scoring#:#Notation Manuelle assessment#:#tst_enable_questionlist#:#Show 'List of Questions’###31 10 2023 new variable @@ -1494,7 +1491,6 @@ assessment#:#tst_finish_confirm_button#:#Oui, je souhaite terminer le test assessment#:#tst_finish_confirm_cancel_button#:#Non, revenir à la question précédente assessment#:#tst_finish_confirmation_question#:#Vous allez terminer ce test et atteindre le nombre maximum de tests autorisés validés. Vous ne pourrez plus refaire ce test une nouvelle fois pour modifier vos réponses. Voulez-vous vraiment terminer ce test ? assessment#:#tst_finish_confirmation_question_no_attempts_left#:#You are going to finish this test and reach the maximum number of allowed test attempts. You won’t be able to enter this test again to change your answers. Do you really want to finish the test?###31 10 2023 new variable -assessment#:#tst_finish_notification_no#:#Ne pas envoyer de notification par email lorsqu'un utilisateur achève un test assessment#:#tst_finished#:#Terminé assessment#:#tst_form_dynamic_question_set_config#:#Sélection des Questions assessment#:#tst_gap_analysis#:#Analyse d’écart @@ -1506,7 +1502,6 @@ assessment#:#tst_hide_info_tab#:#Hide Info Tab###31 10 2023 new variable assessment#:#tst_hide_info_tab_desc#:#Hides the tab ‘Info’ of the test.###31 10 2023 new variable assessment#:#tst_hide_pagecontents#:#Hide page content###31 10 2023 new variable assessment#:#tst_hide_pagecontents_desc#:#ILIAS content placed before and after the actual question text via the "Edit Page" button will not be displayed in the result views and print output.###31 10 2023 new variable -assessment#:#tst_hide_side_list#:#Masquer liste de question assessment#:#tst_highscore_achieved_ts#:#Afficher la date du test assessment#:#tst_highscore_achieved_ts_description#:#Ajoute une colonne avec la date du test. assessment#:#tst_highscore_all_tables#:#All Rankings @@ -1524,7 +1519,6 @@ assessment#:#tst_highscore_score#:#Afficher le score brut assessment#:#tst_highscore_score_description#:#Ajouter une colonne avec le score brut obtenu. assessment#:#tst_highscore_top_num#:#Nombre de lignes dans les meilleurs scores assessment#:#tst_highscore_top_num_description#:#Définit le nombre de meilleurs scores à afficher dans la page des meilleurs scores. -assessment#:#tst_highscore_top_num_unit#:#lignes assessment#:#tst_highscore_top_table#:#Afficher la vue "Meilleurs scores" assessment#:#tst_highscore_top_table_description#:#Permet de contrôler l'affichage des meilleurs scores. assessment#:#tst_highscore_wtime#:#Afficher le temps passé @@ -1875,10 +1869,6 @@ assessment#:#tst_show_results#:#Afficher les Résultats du Test assessment#:#tst_show_side_list#:#Afficher la liste de question sur le côté assessment#:#tst_show_solution_answers_only#:#Impression des Résultats (Réponses Seulement) assessment#:#tst_show_solution_answers_only_desc#:#If is selected, the ILIAS content you place around a question using the "Edit content" tab page will not be visible in a print-out. If you want to save some paper space, select this option. -assessment#:#tst_show_solution_compare#:#Comparer la Réponse avec la Solution dans la Liste des Réponses -assessment#:#tst_show_solution_compare_desc#:#Participants are presented with an overview comparing their own answers with the best solutions. Please note that this view will be displayed in the ‘Detailed Results’ that can be accessed via the ‘Show Test Results‘-button on the ‘Info’-tab. It will not be displayed in the printable ‘List of Answers’ even though the setting is made here. -assessment#:#tst_show_solution_details#:#Afficher les Réponses Correctes dans les Résultats -assessment#:#tst_show_solution_details_desc#:#If selected, the detailed question solution is available to participants in the test results presentation. This includes the exact scoring of every answer, otherwise only an overview with the question titles and the reached points is shown. assessment#:#tst_show_solution_details_singlepage#:#Scored Answers on single pages###31 10 2023 new variable assessment#:#tst_show_solution_details_singlepage_desc#:#Participants can access each question individually and see if their answers were correct and how many points they scored.###31 10 2023 new variable assessment#:#tst_show_solution_feedback#:#Afficher un Retour d'Information par Réponse dans les Résultats du Test @@ -1901,7 +1891,6 @@ assessment#:#tst_skill_triggerings_num_req_answers_desc#:#Les Compétences ne so assessment#:#tst_skill_triggerings_num_req_answers_not_reached_warn#:#Au moins une des compétences abordées dans ce test n’est pas déclenchée par le nombre minimum de questions requises.
Nombre de questions requises: %s assessment#:#tst_skl_level_thresholds_link#:#Configure Competence-Thresholds assessment#:#tst_skl_level_thresholds_missing#:#Des seuils sont manquants pour les compétences pertinentes! -assessment#:#tst_skl_res_interpretation_hint_msg#:#Veuillez tenir compte du fait que les résultats de compétence d’un seul test n’ont qu’une signification limitée. Plus il y a d’informations collectées par compétence, plus leur signification sera valide. Si une seule compétence n’a pas d’entrée, il n'y aura pas assez d’informations fournies. assessment#:#tst_skl_sub_tab_thresholds#:#Seuils de compétence assessment#:#tst_sol_comp_expressions#:#Expressions de comparaison assessment#:#tst_solution_compare_cfg#:#Configuration pour la comparaison des solutions @@ -1963,7 +1952,6 @@ assessment#:#tst_unchanged_answer_is_correct#:#La réponse programmée est corre assessment#:#tst_unchanged_order_is_correct#:#L'ordre programmé est correct assessment#:#tst_use_previous_answers#:#Utiliser les Réponses des Essais Précédents assessment#:#tst_use_previous_answers_description#:#Si cochée, les réponses précédentes de chaque utilisateur sont affichées par défaut à chaque question lorsque le test est repassé. -assessment#:#tst_use_previous_answers_user#:#Utiliser mes réponses précédentes comme valeurs par défaut lorsque je referai le test assessment#:#tst_user_finished_test#:#Test terminé de l'utilisateur (%s) assessment#:#tst_view_competence_assign#:#Voir les propriétés de la tâche assessment#:#tst_virtual_pass_header_lo_initial#:#Initial Test Results for the Learning Objectives
%s diff --git a/lang/ilias_hr.lang b/lang/ilias_hr.lang index 5ebe3efd6d0e..461131f663da 100644 --- a/lang/ilias_hr.lang +++ b/lang/ilias_hr.lang @@ -684,12 +684,10 @@ assessment#:#examid_in_test_res#:#ID prolaza ILIAS testa assessment#:#examid_in_test_res_desc#:#ID prolaza ILIAS testa bit će uključen u rezultate testa. assessment#:#exp_all_test_runs#:#All test attempts###26 08 2024 new variable assessment#:#exp_eval_data#:#Izvezi evaluacijske podatke kao -assessment#:#exp_file_created#:#Datoteka za izvoz je kreirana. assessment#:#exp_grammar_as#:#as###26 08 2024 new variable assessment#:#exp_scored_test_attempt#:#Scored Test Attempt###28 10 2024 new variable assessment#:#exp_type_certificate#:#Certifikat (PDF) assessment#:#exp_type_excel#:#Microsoft Excel -assessment#:#exp_type_spss#:#Vrijednost odvojena zarezom (CSV) assessment#:#expected_result_type#:#Očekivana vrsta rezultata assessment#:#export_cert_failed_for_users_p#:#No certificate file could be generated and added for the following %s accounts: %s. Please contact an administrator to check the log file.###26 08 2024 new variable assessment#:#export_cert_failed_for_users_s#:#No certificate file could be generated and added to the archive for the following account: %s. Please contact an administrator to check the log file.###26 08 2024 new variable @@ -1453,7 +1451,6 @@ assessment#:#tst_delete_missing_mark#:#Molimo odaberite najmanje jednu ocjenu za assessment#:#tst_derive_new_pool#:#Izvedi novi bazen pitanja assessment#:#tst_derive_new_pools#:#Izvedi nove bazene pitanja assessment#:#tst_dont_show_msg_again_in_current_session#:#Ne prikazuj više ovu poruku tijekom moje aktualne sesije. -assessment#:#tst_dont_use_previous_answers#:#Vaši prethodni odgovori neće se koristiti kao zadane vrijednosti u budućim prolazima testa assessment#:#tst_edit_competence_assign#:#Obradi karakteristike dodjele assessment#:#tst_edit_scoring#:#Uredi ocjenjivanje assessment#:#tst_enable_questionlist#:#Show 'List of Questions’###26 08 2024 new variable @@ -1509,7 +1506,6 @@ assessment#:#tst_finish_confirm_button#:#Da, želim završiti test assessment#:#tst_finish_confirm_cancel_button#:#Ne, želim se vratiti na prethodno pitanje assessment#:#tst_finish_confirmation_question#:#Završavate ovaj test i dolazite do maksimalnog broja dozvoljenih prolaza testa. Nakon toga nećete moći ponovno ući u ovaj test kako biste promijenili svoje odgovore. Želite li zaista završiti test? assessment#:#tst_finish_confirmation_question_no_attempts_left#:#You are going to finish this test and reach the maximum number of allowed test attempts. You won’t be able to enter this test again to change your answers. Do you really want to finish the test?###26 08 2024 new variable -assessment#:#tst_finish_notification_no#:#Nema e-pošte assessment#:#tst_finished#:#Završeno assessment#:#tst_form_dynamic_question_set_config#:#Kontinuirani izbor pitanja assessment#:#tst_gap_analysis#:#Analiza praznine @@ -1521,7 +1517,6 @@ assessment#:#tst_hide_info_tab#:#Hide Info Tab###26 08 2024 new variable assessment#:#tst_hide_info_tab_desc#:#Hides the tab ‘Info’ of the test.###26 08 2024 new variable assessment#:#tst_hide_pagecontents#:#Hide page content###26 08 2024 new variable assessment#:#tst_hide_pagecontents_desc#:#ILIAS content placed before and after the actual question text via the "Edit Page" button will not be displayed in the result views and print output.###26 08 2024 new variable -assessment#:#tst_hide_side_list#:#Sakrij popis pitanja assessment#:#tst_highscore_achieved_ts#:#Datum assessment#:#tst_highscore_achieved_ts_description#:#Prikazat će se dodatni stupac koji sadrži datum testa. assessment#:#tst_highscore_all_tables#:#Vlastiti rang sudionika i Popis najboljih (Top Ranking) @@ -1539,7 +1534,6 @@ assessment#:#tst_highscore_score#:#Broj bodova assessment#:#tst_highscore_score_description#:#Prikazat će se dodatni stupac koji sadrži podatak o postignutom bodovima. assessment#:#tst_highscore_top_num#:#Duljina popisa najboljih (Top Ranking) assessment#:#tst_highscore_top_num_description#:#Odredite koliko mjesta se treba prikazati na popisu najboljih. -assessment#:#tst_highscore_top_num_unit#:#Unosi assessment#:#tst_highscore_top_table#:#Popis najboljih assessment#:#tst_highscore_top_table_description#:#Sudionicima se prikazuje tablica s top ljestvicom. assessment#:#tst_highscore_wtime#:#Trajanje testa @@ -1890,10 +1884,6 @@ assessment#:#tst_show_results#:#Rezultati testa assessment#:#tst_show_side_list#:#Pokaži popis pitanja assessment#:#tst_show_solution_answers_only#:#Prikaz ispisa rezultata (samo odgovori) assessment#:#tst_show_solution_answers_only_desc#:#Ako je odabrana ova opcija, sadržaj ILIAS-a koji s pomoću kartice ‘Uredi sadržaj’ možete postaviti ispred i iza samog teksta pitanja neće biti vidljiv na ispisu. Ako želite uštedjeti malo prostora na papiru, odaberite ovu opciju. -assessment#:#tst_show_solution_compare#:#Prikaži najbolje rješenje u ‘Detaljnim rezultatima’ -assessment#:#tst_show_solution_compare_desc#:#Sudionicima se daje pregled u kojem se njihovi odgovori uspoređuju s najboljim mogućim rješenjima. Imajte na umu da će se ovaj prikaz prikazati u ‘Detaljnim rezultatima’ kojima se može pristupiti putem gumba ‘Prikaži rezultate testa’ na kartici ‘Informacije’. Taj pregled neće biti prikazan na ‘Popisu odgovora’ koji se može ispisati, iako je ovdje postavljen. -assessment#:#tst_show_solution_details#:#Bodovani odgovori sudionika -assessment#:#tst_show_solution_details_desc#:#Sudionik uz ‘Tablicu detaljnih rezultata testa’ dobiva za svako pitanje poveznicu na novu stranicu. Ova povezana stranica sadrži pitanje, odgovor sudionika, informaciju je li odgovor bio točan odgovor te koliko je bodova dobio za svoje odgovore. assessment#:#tst_show_solution_details_singlepage#:#Scored Answers on single pages###26 08 2024 new variable assessment#:#tst_show_solution_details_singlepage_desc#:#Participants can access each question individually and see if their answers were correct and how many points they scored.###26 08 2024 new variable assessment#:#tst_show_solution_feedback#:#Povratne informacije @@ -1916,7 +1906,6 @@ assessment#:#tst_skill_triggerings_num_req_answers_desc#:#Kompetencije se procje assessment#:#tst_skill_triggerings_num_req_answers_not_reached_warn#:#Barem za jednu kompetenciju obrađenu u testu nije dodijeljen dovoljan broj pitanja. Za ove kompetencije ne evidentiraju se unosi kompetencija za sudionike.
Minimalni broj dodijeljenih pitanja: %s assessment#:#tst_skl_level_thresholds_link#:#Kofiguriraj pragove za kompetencije assessment#:#tst_skl_level_thresholds_missing#:#Nisu definirani pragovi za sve relevantne kompetencije! -assessment#:#tst_skl_res_interpretation_hint_msg#:#Molimo uzmite u obzir da rezultati kompetencija iz jednog testa imaju ograničeno značenje. Što se više informacija prikupi o pojedinim kompetencijama, to će izjava biti valjanija. Ako postoje pojedinačne kompetencije bez ikakvog unosa, za te je komptenecije prikupljeno premalo podataka. assessment#:#tst_skl_sub_tab_thresholds#:#Pragovi za kompetencije assessment#:#tst_sol_comp_expressions#:#Komparativni izrazi assessment#:#tst_solution_compare_cfg#:#Konfiguracija za usporedbu odgovora @@ -1978,7 +1967,6 @@ assessment#:#tst_unchanged_answer_is_correct#:#Unaprijed zadani odgovor je toča assessment#:#tst_unchanged_order_is_correct#:#Unaprijed zadani redoslijed je točan assessment#:#tst_use_previous_answers#:#Koristi prethodne odgovore assessment#:#tst_use_previous_answers_description#:#Sudionicima se prikazuju njihovi odgovori iz prijašnih prolaza testa. Ovu opciju mora aktivirati sudionik na kartici ‘Info’ prije početka prolaza testa. -assessment#:#tst_use_previous_answers_user#:#Koristi moje prethodne odgovore kao zadane vrijednosti u budućim prolazima testa. assessment#:#tst_user_finished_test#:#Sudionik je završio test (%s) assessment#:#tst_view_competence_assign#:#Prikaži karakteristike dodjele assessment#:#tst_virtual_pass_header_lo_initial#:#Početni rezultati testa za cilj učenja
%s diff --git a/lang/ilias_hu.lang b/lang/ilias_hu.lang index aba31355b9f3..36ce1230b7d7 100644 --- a/lang/ilias_hu.lang +++ b/lang/ilias_hu.lang @@ -684,12 +684,10 @@ assessment#:#examid_in_test_res#:#ILIAS-vizsgaazonosító assessment#:#examid_in_test_res_desc#:#Az ILIAS-vizsgaazonosító a teszteredményeknél jelenik meg. assessment#:#exp_all_test_runs#:#All test attempts###26 08 2024 new variable assessment#:#exp_eval_data#:#Kiértékelési adatok exportja, mint -assessment#:#exp_file_created#:#Elkészült az exportfájl. assessment#:#exp_grammar_as#:#as###26 08 2024 new variable assessment#:#exp_scored_test_attempt#:#Scored Test Attempt###28 10 2024 new variable assessment#:#exp_type_certificate#:#Igazolás (PDF) assessment#:#exp_type_excel#:#Microsoft Excel (XLS) -assessment#:#exp_type_spss#:#Vesszővel tagolt szöveg (CSV) assessment#:#expected_result_type#:#Elvárt eredménytípus assessment#:#export_cert_failed_for_users_p#:#No certificate file could be generated and added for the following %s accounts: %s. Please contact an administrator to check the log file.###26 08 2024 new variable assessment#:#export_cert_failed_for_users_s#:#No certificate file could be generated and added to the archive for the following account: %s. Please contact an administrator to check the log file.###26 08 2024 new variable @@ -1453,7 +1451,6 @@ assessment#:#tst_delete_missing_mark#:#Válasszon legalább egy érdemjegyet az assessment#:#tst_derive_new_pool#:#Új kérdésgyűjtemény származtatása assessment#:#tst_derive_new_pools#:#Új kérdésgyűjtemények származtatása assessment#:#tst_dont_show_msg_again_in_current_session#:#Ez az üzenet többször ne jelenjen meg a munkamenet alatt. -assessment#:#tst_dont_use_previous_answers#:#Korábbi válaszai nem lesznek alapértelmezett értékekként használva a jövőbeni tesztteljesítésekhez. assessment#:#tst_edit_competence_assign#:#Összerendelési tulajdonságok módosítása assessment#:#tst_edit_scoring#:#Pontozás módosítása assessment#:#tst_enable_questionlist#:#Show 'List of Questions’###26 08 2024 new variable @@ -1509,7 +1506,6 @@ assessment#:#tst_finish_confirm_button#:#Igen, be szeretném fejezni a tesztet. assessment#:#tst_finish_confirm_cancel_button#:#Nem, menjen vissza az előző kérdéshez. assessment#:#tst_finish_confirmation_question#:#Ha befejezi ezt a tesztet, eléri az engedélyezett tesztkitöltések maximális számát. Nem fog tudni visszatérni a tesztbe, hogy megváltoztassa válaszait. Biztos, hogy be szeretné fejezni a tesztet? assessment#:#tst_finish_confirmation_question_no_attempts_left#:#You are going to finish this test and reach the maximum number of allowed test attempts. You won’t be able to enter this test again to change your answers. Do you really want to finish the test?###26 08 2024 new variable -assessment#:#tst_finish_notification_no#:#Nincs e-mail assessment#:#tst_finished#:#Befejezve assessment#:#tst_form_dynamic_question_set_config#:#Folyamatos kérdéskiválasztás assessment#:#tst_gap_analysis#:#Gap analízis (rés elemzés) @@ -1521,7 +1517,6 @@ assessment#:#tst_hide_info_tab#:#Hide Info Tab###26 08 2024 new variable assessment#:#tst_hide_info_tab_desc#:#Hides the tab ‘Info’ of the test.###26 08 2024 new variable assessment#:#tst_hide_pagecontents#:#Hide page content###26 08 2024 new variable assessment#:#tst_hide_pagecontents_desc#:#ILIAS content placed before and after the actual question text via the "Edit Page" button will not be displayed in the result views and print output.###26 08 2024 new variable -assessment#:#tst_hide_side_list#:#Kérdéslista elrejtése assessment#:#tst_highscore_achieved_ts#:#Időpont assessment#:#tst_highscore_achieved_ts_description#:#A rangsorban a teszt időpontját tartalmazó oszlopot megjelenik. assessment#:#tst_highscore_all_tables#:#Résztvevő saját helyezése és legkiemelkedőbb helyezések @@ -1539,7 +1534,6 @@ assessment#:#tst_highscore_score#:#Pontszám assessment#:#tst_highscore_score_description#:#A rangsorban a pontszámot tartalmazó oszlopot megjelenik. assessment#:#tst_highscore_top_num#:#Legkiemelkedőbb helyezések hossza assessment#:#tst_highscore_top_num_description#:#Hány helyezés legyen a legkiemelkedőbb helyezések felsorolásában. -assessment#:#tst_highscore_top_num_unit#:#bejegyzések assessment#:#tst_highscore_top_table#:#Legkiemelkedőbb helyezések assessment#:#tst_highscore_top_table_description#:#A résztvevők láthatják a legkiemelkedőbb helyezéseket. assessment#:#tst_highscore_wtime#:#Tesztkitöltés ideje @@ -1890,10 +1884,6 @@ assessment#:#tst_show_results#:#Teszteredmények assessment#:#tst_show_side_list#:#Kérdéslista megjelenítése assessment#:#tst_show_solution_answers_only#:#Eredmények nyomtatási előnézete (csak a válaszoké) assessment#:#tst_show_solution_answers_only_desc#:#Ha be van kapcsolva, a 'Tartalom módosítása' fülön a kérdéshez beállított tartalom nem jelenik meg nyomtatásban. Papír spórolása esetén válassza ezt az opciót. -assessment#:#tst_show_solution_compare#:#Legjobb megoldás megjelenítése a 'Részletes teszteredmények'-ben -assessment#:#tst_show_solution_compare_desc#:#A résztvevők összehasonlíthatják saját megoldásikat a legjobb megoldással. Ez az 'Információs' fülön lévő 'Teszteredmények megjelenítése' linkkel elérhető 'Részletes teszteredmények'-ben jelenik meg, a nyomtatható 'Válaszok felsorolása' részben viszont nem. -assessment#:#tst_show_solution_details#:#Megoldások megjelenítése a teszteredményekben -assessment#:#tst_show_solution_details_desc#:#A 'Részletes teszteredmények táblázata' kiegészítéseként, minden kérdésnél egy link jelenik meg, ami egy oldalra mutat, ahol a kérdés, a résztvevő válasza, a válasz értékelése (helyes/helytelen) és a válaszra kapott pontszám jelenik meg. assessment#:#tst_show_solution_details_singlepage#:#Scored Answers on single pages###26 08 2024 new variable assessment#:#tst_show_solution_details_singlepage_desc#:#Participants can access each question individually and see if their answers were correct and how many points they scored.###26 08 2024 new variable assessment#:#tst_show_solution_feedback#:#Válaszspecifikus visszajelzés megjelenítése a teszteredményekben @@ -1916,7 +1906,6 @@ assessment#:#tst_skill_triggerings_num_req_answers_desc#:#Kompetenciára nem vá assessment#:#tst_skill_triggerings_num_req_answers_not_reached_warn#:#A teszt által legalább egy mérni kívánt kompetenciához nincs elegendő kérdés, így azokhoz egy kompetenciabejegyzést sem fogunk rögzíteni.
A szükséges minimális kérdésszám: %s assessment#:#tst_skl_level_thresholds_link#:#Kompetencia-küszöbértékek beállítása assessment#:#tst_skl_level_thresholds_missing#:#Az érintett kompetenciákhoz hiányoznak a küszöbértékek! -assessment#:#tst_skl_res_interpretation_hint_msg#:#Kérjük, vegye figyelembe, hogy a csupán egy tesztből kapott kompetenciaeredmények korlátozott jelentőséggel bírnak. Minél több információt sikerül gyűjteni kompetenciánként, annál jobb lesz az eredmény. Amennyiben egyszerű kompetenciához nincs bejegyzés, a kompetencia megállapításához túl kevés információ áll rendelkezésre. assessment#:#tst_skl_sub_tab_thresholds#:#Kompetencia-küszöbértékek assessment#:#tst_sol_comp_expressions#:#Összehasonlító kifejezések assessment#:#tst_solution_compare_cfg#:#Megoldás összehasonlításához beállítások @@ -1978,7 +1967,6 @@ assessment#:#tst_unchanged_answer_is_correct#:#A jelenlegi válasz helyes. assessment#:#tst_unchanged_order_is_correct#:#A jelenlegi sorrend helyes. assessment#:#tst_use_previous_answers#:#Korábbi válaszok használata assessment#:#tst_use_previous_answers_description#:#A résztvevők számára korábbi tesztkitöltéseik válaszai megjelennek. Ezt a lehetőséget a résztvevők saját maguknak tudják bekapcsolni az 'Információ' fülön a kitöltés megkezdése előtt. -assessment#:#tst_use_previous_answers_user#:#Használja korábbi válaszaimat alapértelmezett értékként a jövőbeni tesztkitöltésekhez. assessment#:#tst_user_finished_test#:#'%s' tesztet egy felhasználó befejezte assessment#:#tst_view_competence_assign#:#Összerendelési tulajdonságok megtekintése assessment#:#tst_virtual_pass_header_lo_initial#:#A Tanulási célkitűzés Belépő tesztjének eredményei
%s diff --git a/lang/ilias_it.lang b/lang/ilias_it.lang index c366f8bae8da..46174ad57809 100644 --- a/lang/ilias_it.lang +++ b/lang/ilias_it.lang @@ -683,12 +683,10 @@ assessment#:#examid_in_test_res#:#Mostra numero identificativo esame (ID) assessment#:#examid_in_test_res_desc#:#L'ID dell'esame ILIAS verrà incluso nei risultati del test. assessment#:#exp_all_test_runs#:#All test attempts###30 04 2024 new variable assessment#:#exp_eval_data#:#Esporta i dati con le valutazioni in formato -assessment#:#exp_file_created#:#Creato file da esportare. assessment#:#exp_grammar_as#:#as###30 04 2024 new variable assessment#:#exp_scored_test_attempt#:#Scored Test Attempt###28 11 2025 new variable assessment#:#exp_type_certificate#:#Certificato (PDF) assessment#:#exp_type_excel#:#Microsoft Excel -assessment#:#exp_type_spss#:#Valori separati da una virgola (CSV) assessment#:#expected_result_type#:#Tipo di risultato previsto assessment#:#export_cert_failed_for_users_p#:#No certificate file could be generated and added for the following %s accounts: %s. Please contact an administrator to check the log file.###30 04 2024 new variable assessment#:#export_cert_failed_for_users_s#:#No certificate file could be generated and added to the archive for the following account: %s. Please contact an administrator to check the log file.###30 04 2024 new variable @@ -1452,7 +1450,6 @@ assessment#:#tst_delete_missing_mark#:#Per favore, scegli almeno un voto da elim assessment#:#tst_derive_new_pool#:#Ricava nuova raccolta di domande assessment#:#tst_derive_new_pools#:#Ricava nuova raccolta di domande assessment#:#tst_dont_show_msg_again_in_current_session#:#Non mostrare più questo messaggio nella mia sessione corrente. -assessment#:#tst_dont_use_previous_answers#:#La tua risposta precedente non verrà usata come risposta di default per test successivi assessment#:#tst_edit_competence_assign#:#Modifica delle proprietà di assegnazione assessment#:#tst_edit_scoring#:#Modifica il punteggio assessment#:#tst_enable_questionlist#:#Show 'List of Questions’###30 04 2024 new variable @@ -1508,7 +1505,6 @@ assessment#:#tst_finish_confirm_button#:#Sì, voglio finire il test assessment#:#tst_finish_confirm_cancel_button#:#No, torna alla risposta precedente assessment#:#tst_finish_confirmation_question#:#Stai per finire il test e stai raggiungendo il numero massimo di tentativi disponibili. Non potrai rifare il test e cambaire le tue risposte. Sei sicuro di voler finire il test? assessment#:#tst_finish_confirmation_question_no_attempts_left#:#You are going to finish this test and reach the maximum number of allowed test attempts. You won’t be able to enter this test again to change your answers. Do you really want to finish the test?###30 04 2024 new variable -assessment#:#tst_finish_notification_no#:#Nessun email assessment#:#tst_finished#:#Finito assessment#:#tst_form_dynamic_question_set_config#:#Selezione continua di domande assessment#:#tst_gap_analysis#:#Analisi gap @@ -1520,7 +1516,6 @@ assessment#:#tst_hide_info_tab#:#Hide Info Tab###30 04 2024 new variable assessment#:#tst_hide_info_tab_desc#:#Hides the tab ‘Info’ of the test.###30 04 2024 new variable assessment#:#tst_hide_pagecontents#:#Hide page content###31 03 2023 new variable assessment#:#tst_hide_pagecontents_desc#:#ILIAS content placed before and after the actual question text via the "Edit Page" button will not be displayed in the result views and print output.###31 03 2023 new variable -assessment#:#tst_hide_side_list#:#Nascondi la lista di domande assessment#:#tst_highscore_achieved_ts#:#Mostra data del test assessment#:#tst_highscore_achieved_ts_description#:#Viene visualizzata una colonna aggiuntiva con l'ora del test. assessment#:#tst_highscore_all_tables#:#Proprio grado e classifica @@ -1538,7 +1533,6 @@ assessment#:#tst_highscore_score#:#Mostra punteggio assessment#:#tst_highscore_score_description#:#Viene visualizzata una colonna aggiuntiva con il dettaglio dei punti ottenuti. assessment#:#tst_highscore_top_num#:#Lunghezza della classifica assessment#:#tst_highscore_top_num_description#:#Determina il numero di voci visualizzate nella classifica. -assessment#:#tst_highscore_top_num_unit#:#Posizionamenti assessment#:#tst_highscore_top_table#:#Classifica dei migliori assessment#:#tst_highscore_top_table_description#:#I partecipanti vedranno una tabella con le prime classifiche. assessment#:#tst_highscore_wtime#:#Tempo di elaborazione @@ -1889,10 +1883,6 @@ assessment#:#tst_show_results#:#Mostra i risultati del test assessment#:#tst_show_side_list#:#Mostra la lista delle domande a lato assessment#:#tst_show_solution_answers_only#:#Stampa dei risultati (solo le risposte) assessment#:#tst_show_solution_answers_only_desc#:#Se è selezionato, il contenuto ILIAS inserito in una domanda utilizzando la scheda "Modifica contenuto" non sarà visibile in una stampa. Se si desidera risparmiare spazio carta, selezionare questa opzione. -assessment#:#tst_show_solution_compare#:#Confronta la risposta con la soluzione nell'elenco delle risposte -assessment#:#tst_show_solution_compare_desc#:#Ai partecipanti viene presentata una panoramica che confronta le proprie risposte con le migliori soluzioni. Si noti che questa vista verrà visualizzata nei "Risultati dettagliati" a cui è possibile accedere tramite il pulsante "Mostra risultati del test" nella scheda "Informazioni". Non verrà visualizzato nell '"Elenco di risposte" stampabile anche se l'impostazione viene effettuata qui. -assessment#:#tst_show_solution_details#:#Mostra le soluzioni al momento dei risultati -assessment#:#tst_show_solution_details_desc#:#Se selezionata, la soluzione dettagliata della domanda è disponibile per i partecipanti alla presentazione dei risultati del test. Ciò include il punteggio esatto di ogni risposta, altrimenti viene mostrata solo una panoramica con i titoli delle domande e i punti raggiunti. assessment#:#tst_show_solution_details_singlepage#:#Scored Answers on single pages###31 03 2023 new variable assessment#:#tst_show_solution_details_singlepage_desc#:#Participants can access each question individually and see if their answers were correct and how many points they scored.###31 03 2023 new variable assessment#:#tst_show_solution_feedback#:#Mostra il feedback delle specifiche delle risposte nei risultati del test @@ -1915,7 +1905,6 @@ assessment#:#tst_skill_triggerings_num_req_answers_desc#:#Le competenze non veng assessment#:#tst_skill_triggerings_num_req_answers_not_reached_warn#:#Almeno una delle competenze affrontate da questo test non è attivata dalla quantità minima richiesta di domande. La quantità richiesta di domande: %s assessment#:#tst_skl_level_thresholds_link#:#Configurare le soglie di competenze assessment#:#tst_skl_level_thresholds_missing#:#Ci sono livelli mancanti per le competenze pertinenti! -assessment#:#tst_skl_res_interpretation_hint_msg#:#Si prega di considerare che i risultati di competenze da un singolo test hanno rilevanza limitata. Più informazioni vengono raccolte per competenze, più sarà valido il significa. Nel caso in cui esistano singole competenze senza alcuna entrata, ci saranno meno informazioni raccolte. assessment#:#tst_skl_sub_tab_thresholds#:#Limiti di competenze assessment#:#tst_sol_comp_expressions#:#Espressioni di confronto assessment#:#tst_solution_compare_cfg#:#Configurazione per confronto soluzioni @@ -1977,7 +1966,6 @@ assessment#:#tst_unchanged_answer_is_correct#:#La risposta predefinita è corret assessment#:#tst_unchanged_order_is_correct#:#L’ordine predefinito è corretto assessment#:#tst_use_previous_answers#:#Usa la risposta precedente assessment#:#tst_use_previous_answers_description#:#Se selezionato, la precedente risposta di un utente verrà utilizzata come valore di default per i test futuri, altrimenti le risposte date in precedenza, non verranno mostrate nelle future esecuzioni dei test. -assessment#:#tst_use_previous_answers_user#:#Usa la mia risposta ad un test precedente come risposta di default assessment#:#tst_user_finished_test#:#L'utente ha finito il test (%s) assessment#:#tst_view_competence_assign#:#Visualizza proprietà di assegnazione assessment#:#tst_virtual_pass_header_lo_initial#:#Risultati dei test iniziali per gli obiettivi di apprendimento %s diff --git a/lang/ilias_ja.lang b/lang/ilias_ja.lang index 488425820766..06151dfedfe0 100644 --- a/lang/ilias_ja.lang +++ b/lang/ilias_ja.lang @@ -684,12 +684,10 @@ assessment#:#examid_in_test_res#:#ILIAS テスト実施 ID assessment#:#examid_in_test_res_desc#:#ILIASテスト実施IDはテスト結果内に含まれます。 assessment#:#exp_all_test_runs#:#All test attempts###26 08 2024 new variable assessment#:#exp_eval_data#:#評価データ用にエクスポート -assessment#:#exp_file_created#:#エクスポートファイルを作成しました。 assessment#:#exp_grammar_as#:#as###26 08 2024 new variable assessment#:#exp_scored_test_attempt#:#Scored Test Attempt###28 10 2024 new variable assessment#:#exp_type_certificate#:#証明書 (PDF) assessment#:#exp_type_excel#:#Microsoft Excel -assessment#:#exp_type_spss#:#カンマ区切り (CSV) assessment#:#expected_result_type#:#予想結果タイプ assessment#:#export_cert_failed_for_users_p#:#No certificate file could be generated and added for the following %s accounts: %s. Please contact an administrator to check the log file.###26 08 2024 new variable assessment#:#export_cert_failed_for_users_s#:#No certificate file could be generated and added to the archive for the following account: %s. Please contact an administrator to check the log file.###26 08 2024 new variable @@ -1453,7 +1451,6 @@ assessment#:#tst_delete_missing_mark#:#削除を進むには一つはマーク assessment#:#tst_derive_new_pool#:#新規問題集を得る assessment#:#tst_derive_new_pools#:#新規問題集を得る assessment#:#tst_dont_show_msg_again_in_current_session#:#現在のセッションへこのメッセージを再表示しません。 -assessment#:#tst_dont_use_previous_answers#:#前回の解答が今後の試験の初期設定値として使用されることはありません assessment#:#tst_edit_competence_assign#:#割り当てのプロパティを編集 assessment#:#tst_edit_scoring#:#点数を編集 assessment#:#tst_enable_questionlist#:#Show 'List of Questions’###26 08 2024 new variable @@ -1509,7 +1506,6 @@ assessment#:#tst_finish_confirm_button#:#はい、テストを終了します assessment#:#tst_finish_confirm_cancel_button#:#いいえ、前の問題へ戻ります assessment#:#tst_finish_confirmation_question#:#このテストを終了すると最大受験可能回数に達します。解答を変更しようとしても再度入力する事はできなくなります。本当にこのテストを終了しますか? assessment#:#tst_finish_confirmation_question_no_attempts_left#:#You are going to finish this test and reach the maximum number of allowed test attempts. You won’t be able to enter this test again to change your answers. Do you really want to finish the test?###26 08 2024 new variable -assessment#:#tst_finish_notification_no#:#e-mailしない assessment#:#tst_finished#:#終了 assessment#:#tst_form_dynamic_question_set_config#:#問題選択の継続 assessment#:#tst_gap_analysis#:#ギャップ分析 @@ -1521,7 +1517,6 @@ assessment#:#tst_hide_info_tab#:#Hide Info Tab###26 08 2024 new variable assessment#:#tst_hide_info_tab_desc#:#Hides the tab ‘Info’ of the test.###26 08 2024 new variable assessment#:#tst_hide_pagecontents#:#Hide page content###26 08 2024 new variable assessment#:#tst_hide_pagecontents_desc#:#ILIAS content placed before and after the actual question text via the "Edit Page" button will not be displayed in the result views and print output.###26 08 2024 new variable -assessment#:#tst_hide_side_list#:#問題一覧を表示しない assessment#:#tst_highscore_achieved_ts#:#日付 assessment#:#tst_highscore_achieved_ts_description#:#テストデータの含まれる列は順位に含まれます。 assessment#:#tst_highscore_all_tables#:#受験者の自身ランクとトップランキング @@ -1539,7 +1534,6 @@ assessment#:#tst_highscore_score#:#点数 assessment#:#tst_highscore_score_description#:#点数入りの列はランキングへ含まれます。 assessment#:#tst_highscore_top_num#:#トップランキングの長さ assessment#:#tst_highscore_top_num_description#:#何位をトップ順位リスト内に含めるかを決める -assessment#:#tst_highscore_top_num_unit#:#エントリー assessment#:#tst_highscore_top_table#:#トップ順位 assessment#:#tst_highscore_top_table_description#:#受験者はトップランクに含まれるテーブルで表示されます。 assessment#:#tst_highscore_wtime#:#テスト受験時間 @@ -1890,10 +1884,6 @@ assessment#:#tst_show_results#:#テスト結果を表示 assessment#:#tst_show_side_list#:#脇に問題一覧を表示 assessment#:#tst_show_solution_answers_only#:#結果印刷表示(解答のみ) assessment#:#tst_show_solution_answers_only_desc#:#選択すると"コンテンツ編集"タブを使って問題の周りに配置したILIASコンテンツのページは印刷には表示されません。少し紙面スペースを保存したい場合はこのオプションを選択します。 -assessment#:#tst_show_solution_compare#:#解答一覧の正解と解答を比較 -assessment#:#tst_show_solution_compare_desc#:#受験者は模範解答の回答と自身の全体回答を比較して表示されます。このビューは、''Info'タブの'テスト結果表示ボタン'を通してアクセス可能な'詳細結果'内へ表示されます。ここに設定しても印刷領域の'回答のリスト'には表示されません。 -assessment#:#tst_show_solution_details#:#受験者の得点回答 -assessment#:#tst_show_solution_details_desc#:#詳細テスト結果表'へadd-onとして追加し、受験者は各問題のページのリンクを得ます。このリンクページには問題、受験者の回答、この回答が正しいかどうかの情報、この問題による得点等が含まれます。 assessment#:#tst_show_solution_details_singlepage#:#Scored Answers on single pages###26 08 2024 new variable assessment#:#tst_show_solution_details_singlepage_desc#:#Participants can access each question individually and see if their answers were correct and how many points they scored.###26 08 2024 new variable assessment#:#tst_show_solution_feedback#:#フィードバック @@ -1916,7 +1906,6 @@ assessment#:#tst_skill_triggerings_num_req_answers_desc#:#この前に能力は assessment#:#tst_skill_triggerings_num_req_answers_not_reached_warn#:#これにより処理される能力の一つはこのテストは、必須問題最小数でトリガーされません。
必須問題数は: %sです。 assessment#:#tst_skl_level_thresholds_link#:#能力-スレッショールドを構成 assessment#:#tst_skl_level_thresholds_missing#:#関連する能力のスレッショールドがありません! -assessment#:#tst_skl_res_interpretation_hint_msg#:#単一テストの能力結果は限定的な意味であることを考慮してください。詳細は能力別に収集されます。何もエントリーのない単一能力は価値のない情報収集になります。 assessment#:#tst_skl_sub_tab_thresholds#:#能力しきい値 assessment#:#tst_sol_comp_expressions#:#能力しきい値 assessment#:#tst_solution_compare_cfg#:#正解比較用の構成 @@ -1978,7 +1967,6 @@ assessment#:#tst_unchanged_answer_is_correct#:#プリセット回答は正しい assessment#:#tst_unchanged_order_is_correct#:#プリセット順番は正しい assessment#:#tst_use_previous_answers#:#前回の回答を使用 assessment#:#tst_use_previous_answers_description#:#参加者には前回使用の回答が表示されます。このオプションは登録開始前にInfoタブ上に参加者個々で有効する必要があります。 -assessment#:#tst_use_previous_answers_user#:#回答を続ける際の初期値に前の回答を使用 assessment#:#tst_user_finished_test#:#終了したテスト(%s) を使用 assessment#:#tst_view_competence_assign#:#割り当てプロパティを表示 assessment#:#tst_virtual_pass_header_lo_initial#:#学習目標に対する最初のテスト結果
%s diff --git a/lang/ilias_ka.lang b/lang/ilias_ka.lang index a93981a6afb4..f94caf40d6f5 100644 --- a/lang/ilias_ka.lang +++ b/lang/ilias_ka.lang @@ -684,12 +684,10 @@ assessment#:#examid_in_test_res#:#ILIAS Testpass ID###27 01 2015 new variable assessment#:#examid_in_test_res_desc#:#The ILIAS Testpass ID will be included in the test results.###27 01 2015 new variable assessment#:#exp_all_test_runs#:#All test attempts###26 08 2024 new variable assessment#:#exp_eval_data#:#გადავაგზავნოთ შეფასების მონაცემები როგორც -assessment#:#exp_file_created#:#Export file created.###24 10 2013 new variable assessment#:#exp_grammar_as#:#as###26 08 2024 new variable assessment#:#exp_scored_test_attempt#:#Scored Test Attempt###28 10 2024 new variable assessment#:#exp_type_certificate#:#სერთიფიკატი (PDF) assessment#:#exp_type_excel#:#Microsoft Excel -assessment#:#exp_type_spss#:#მძიმეთი გამოყოფილი ღირებულება (CSV) assessment#:#expected_result_type#:#Expected result type###24 10 2013 new variable assessment#:#export_cert_failed_for_users_p#:#No certificate file could be generated and added for the following %s accounts: %s. Please contact an administrator to check the log file.###26 08 2024 new variable assessment#:#export_cert_failed_for_users_s#:#No certificate file could be generated and added to the archive for the following account: %s. Please contact an administrator to check the log file.###26 08 2024 new variable @@ -1453,7 +1451,6 @@ assessment#:#tst_delete_missing_mark#:#გთხოვთ აირჩიოთ assessment#:#tst_derive_new_pool#:#Derive New Question Pool###25 10 2016 new variable assessment#:#tst_derive_new_pools#:#Derive New Question Pools###25 10 2016 new variable assessment#:#tst_dont_show_msg_again_in_current_session#:#Don't show this message again in my current session.###10 11 2018 new variable -assessment#:#tst_dont_use_previous_answers#:#თქვენი წინა პასუხები არ გამოიყენება სტანდარტების ღირებულებად მომავალ ტესტის ჩაბარების დროს assessment#:#tst_edit_competence_assign#:#Edit Assignment Properties###30 08 2015 new variable assessment#:#tst_edit_scoring#:#Edit Scoring assessment#:#tst_enable_questionlist#:#Show 'List of Questions’###26 08 2024 new variable @@ -1509,7 +1506,6 @@ assessment#:#tst_finish_confirm_button#:# დიახ, მე მსურს assessment#:#tst_finish_confirm_cancel_button#:#არა, დავბრუნდეთ წინამდებარე კითხვასთან assessment#:#tst_finish_confirmation_question#:#თქვენ აპირებთ ტესტის დასრულებას და დაშვებული ჩაბარებების მაქსიმალური რაოდენობის მიღწევას. თქვენ ვერ შეძლებთ ამ ტესტში ხელახლა შესვას პასუხების შესაცვლელად. Nამდვილად გსურთ ტესტის დასრულება? assessment#:#tst_finish_confirmation_question_no_attempts_left#:#You are going to finish this test and reach the maximum number of allowed test attempts. You won’t be able to enter this test again to change your answers. Do you really want to finish the test?###26 08 2024 new variable -assessment#:#tst_finish_notification_no#:#No e-mail###06 02 2015 new variable assessment#:#tst_finished#:#დასრულებული assessment#:#tst_form_dynamic_question_set_config#:#Continues Question Selection###24 10 2013 new variable assessment#:#tst_gap_analysis#:#Gap Analysis###26 09 2014 new variable @@ -1521,7 +1517,6 @@ assessment#:#tst_hide_info_tab#:#Hide Info Tab###26 08 2024 new variable assessment#:#tst_hide_info_tab_desc#:#Hides the tab ‘Info’ of the test.###26 08 2024 new variable assessment#:#tst_hide_pagecontents#:#Hide page content###26 08 2024 new variable assessment#:#tst_hide_pagecontents_desc#:#ILIAS content placed before and after the actual question text via the "Edit Page" button will not be displayed in the result views and print output.###26 08 2024 new variable -assessment#:#tst_hide_side_list#:#დავმალოთ კითხვების სია assessment#:#tst_highscore_achieved_ts#:#Show date of test assessment#:#tst_highscore_achieved_ts_description#:#Controls, if a column with the test date should be shown. assessment#:#tst_highscore_all_tables#:#All Rankings###07 11 2014 new variable @@ -1539,7 +1534,6 @@ assessment#:#tst_highscore_score#:#Show score assessment#:#tst_highscore_score_description#:#Controls, if a column with the score should be shown. assessment#:#tst_highscore_top_num#:#Number of ranks assessment#:#tst_highscore_top_num_description#:#Controls, how many ranks should be included in the top ranking table. -assessment#:#tst_highscore_top_num_unit#:#entries assessment#:#tst_highscore_top_table#:#Show table 'top ranking' assessment#:#tst_highscore_top_table_description#:#Controls, if the table 'top ranking' should be shown. assessment#:#tst_highscore_wtime#:#Show working time @@ -1890,10 +1884,6 @@ assessment#:#tst_show_results#:#აჩვენე ტესტის პას assessment#:#tst_show_side_list#:#აჩვენე კითხვების სია ცალკე assessment#:#tst_show_solution_answers_only#:#შედეგების ამობეჭდვის წინ ჩვენება ( მხოლოდ პასუხები) assessment#:#tst_show_solution_answers_only_desc#:#If is selected, the ILIAS content you place around a question using the "Edit content" tab page will not be visible in a print-out. If you want to save some paper space, select this option.###07 11 2014 new variable -assessment#:#tst_show_solution_compare#:#Compare Answer with Solution in List of Answers###24 10 2013 new variable -assessment#:#tst_show_solution_compare_desc#:#Participants are presented with an overview comparing their own answers with the best solutions. Please note that this view will be displayed in the ‘Detailed Results’ that can be accessed via the ‘Show Test Results‘-button on the ‘Info’-tab. It will not be displayed in the printable ‘List of Answers’ even though the setting is made here.###06 02 2015 new variable -assessment#:#tst_show_solution_details#:#აჩვენე ამოხსნები ტესტის შედეგებში -assessment#:#tst_show_solution_details_desc#:#If selected, the detailed question solution is available to participants in the test results presentation. This includes the exact scoring of every answer, otherwise only an overview with the question titles and the reached points is shown.###07 11 2014 new variable assessment#:#tst_show_solution_details_singlepage#:#Scored Answers on single pages###26 08 2024 new variable assessment#:#tst_show_solution_details_singlepage_desc#:#Participants can access each question individually and see if their answers were correct and how many points they scored.###26 08 2024 new variable assessment#:#tst_show_solution_feedback#:#აჩვენე პასუხების უკუკავშირი ტესტის შედეგებში @@ -1916,7 +1906,6 @@ assessment#:#tst_skill_triggerings_num_req_answers_desc#:#Competences aren't tri assessment#:#tst_skill_triggerings_num_req_answers_not_reached_warn#:#At least one of the competences addressed by this test is not triggered by the minimal required amount of questions.
The required amount of questions: %s###10 11 2018 new variable assessment#:#tst_skl_level_thresholds_link#:#Configure Competence-Thresholds###30 08 2015 new variable assessment#:#tst_skl_level_thresholds_missing#:#There are missing thresholds for the relevant competences!###30 08 2015 new variable -assessment#:#tst_skl_res_interpretation_hint_msg#:#Please consider that competence results from a single test has a limited significance. The more information is collected per competence, the merrier valid the significance will be. Should there are single competences without any entry, there is to less information collected.###30 08 2015 new variable assessment#:#tst_skl_sub_tab_thresholds#:#Competence Thresholds###26 09 2014 new variable assessment#:#tst_sol_comp_expressions#:#Comparison Expressions###30 08 2015 new variable assessment#:#tst_solution_compare_cfg#:#Configuration for Solution Compare###30 08 2015 new variable @@ -1978,7 +1967,6 @@ assessment#:#tst_unchanged_answer_is_correct#:#The preset answer is correct###fa assessment#:#tst_unchanged_order_is_correct#:#The preset order is correct###fau: testNav assessment#:#tst_use_previous_answers#:#გამოიყენე წინა პასუხები assessment#:#tst_use_previous_answers_description#:#თუ შემოწმებულია, მონაწილეს შეუძლია გამოიყენოს პასუხები მომავალ ტესტში როგორც სტანდარტული ღირებულება, სხვა შემთხვევაში წინა შედეგები არ გამოჩნდება მომავალი ტესტის ჩაბარების დროს -assessment#:#tst_use_previous_answers_user#:#გამოიყენე ჩემი წინა შედეგი მომავალ ტესტში როგორ სტანდარტული ღირებულება assessment#:#tst_user_finished_test#:#მომხმარებელმა დაასრულა ტესტი assessment#:#tst_view_competence_assign#:#View Assignment Properties###30 08 2015 new variable assessment#:#tst_virtual_pass_header_lo_initial#:#Initial Test Results for the Learning Objectives
%s###30 08 2015 new variable diff --git a/lang/ilias_lt.lang b/lang/ilias_lt.lang index f2081f378d0f..e6fe60e26c0c 100644 --- a/lang/ilias_lt.lang +++ b/lang/ilias_lt.lang @@ -684,12 +684,10 @@ assessment#:#examid_in_test_res#:#ILIAS Testpass ID###27 01 2015 new variable assessment#:#examid_in_test_res_desc#:#The ILIAS Testpass ID will be included in the test results.###27 01 2015 new variable assessment#:#exp_all_test_runs#:#All test attempts###26 08 2024 new variable assessment#:#exp_eval_data#:#Eksportuoti vertinimo rezultatus kaip -assessment#:#exp_file_created#:#Export file created.###24 10 2013 new variable assessment#:#exp_grammar_as#:#as###26 08 2024 new variable assessment#:#exp_scored_test_attempt#:#Scored Test Attempt###28 10 2024 new variable assessment#:#exp_type_certificate#:#Sertifikatas (PDF) assessment#:#exp_type_excel#:#Microsoft Excel -assessment#:#exp_type_spss#:#Kableliu atskirta reikšmė (CSV) assessment#:#expected_result_type#:#Expected result type###24 10 2013 new variable assessment#:#export_cert_failed_for_users_p#:#No certificate file could be generated and added for the following %s accounts: %s. Please contact an administrator to check the log file.###26 08 2024 new variable assessment#:#export_cert_failed_for_users_s#:#No certificate file could be generated and added to the archive for the following account: %s. Please contact an administrator to check the log file.###26 08 2024 new variable @@ -1453,7 +1451,6 @@ assessment#:#tst_delete_missing_mark#:#Prašome pasirinkti bent vertinimą (mark assessment#:#tst_derive_new_pool#:#Derive New Question Pool###25 10 2016 new variable assessment#:#tst_derive_new_pools#:#Derive New Question Pools###25 10 2016 new variable assessment#:#tst_dont_show_msg_again_in_current_session#:#Don't show this message again in my current session.###10 11 2018 new variable -assessment#:#tst_dont_use_previous_answers#:#Jūsų ankstesni atsakymai nebus naudojami kaip numatytosio vertės būsimuose testo laikymuose assessment#:#tst_edit_competence_assign#:#Edit Assignment Properties###30 08 2015 new variable assessment#:#tst_edit_scoring#:#Edit Scoring###28 08 2012 new variable assessment#:#tst_enable_questionlist#:#Show 'List of Questions’###26 08 2024 new variable @@ -1509,7 +1506,6 @@ assessment#:#tst_finish_confirm_button#:#Taip, aš noriu baigti testą assessment#:#tst_finish_confirm_cancel_button#:#Ne, grižti į ankstesnį atsakymą assessment#:#tst_finish_confirmation_question#:#Baigdami šį testą jūs būsite išnaudoję maksimalų šiam testui skirtų bandymų skaičių. Jūs nebegalėsite pakeisti savo pateiktų atsakymų. Ar tikrai norite baigti šį testą? assessment#:#tst_finish_confirmation_question_no_attempts_left#:#You are going to finish this test and reach the maximum number of allowed test attempts. You won’t be able to enter this test again to change your answers. Do you really want to finish the test?###26 08 2024 new variable -assessment#:#tst_finish_notification_no#:#No e-mail###06 02 2015 new variable assessment#:#tst_finished#:#Baigtas assessment#:#tst_form_dynamic_question_set_config#:#Continues Question Selection###24 10 2013 new variable assessment#:#tst_gap_analysis#:#Gap Analysis###26 09 2014 new variable @@ -1521,7 +1517,6 @@ assessment#:#tst_hide_info_tab#:#Hide Info Tab###26 08 2024 new variable assessment#:#tst_hide_info_tab_desc#:#Hides the tab ‘Info’ of the test.###26 08 2024 new variable assessment#:#tst_hide_pagecontents#:#Hide page content###26 08 2024 new variable assessment#:#tst_hide_pagecontents_desc#:#ILIAS content placed before and after the actual question text via the "Edit Page" button will not be displayed in the result views and print output.###26 08 2024 new variable -assessment#:#tst_hide_side_list#:#Hide question list###24 07 2009 new variable assessment#:#tst_highscore_achieved_ts#:#Show date of test###28 08 2012 new variable assessment#:#tst_highscore_achieved_ts_description#:#Controls, if a column with the test date should be shown.###28 08 2012 new variable assessment#:#tst_highscore_all_tables#:#All Rankings###07 11 2014 new variable @@ -1539,7 +1534,6 @@ assessment#:#tst_highscore_score#:#Show score###28 08 2012 new variable assessment#:#tst_highscore_score_description#:#Controls, if a column with the score should be shown.###28 08 2012 new variable assessment#:#tst_highscore_top_num#:#Number of ranks###28 08 2012 new variable assessment#:#tst_highscore_top_num_description#:#Controls, how many ranks should be included in the top ranking table.###28 08 2012 new variable -assessment#:#tst_highscore_top_num_unit#:#entries###28 08 2012 new variable assessment#:#tst_highscore_top_table#:#Show table 'top ranking'###28 08 2012 new variable assessment#:#tst_highscore_top_table_description#:#Controls, if the table 'top ranking' should be shown.###28 08 2012 new variable assessment#:#tst_highscore_wtime#:#Show working time###28 08 2012 new variable @@ -1890,10 +1884,6 @@ assessment#:#tst_show_results#:#Rodyti testo rezultatus assessment#:#tst_show_side_list#:#Show question list aside###24 07 2009 new variable assessment#:#tst_show_solution_answers_only#:#Rezultatai spausdinimo formatu (tik atsakymai) assessment#:#tst_show_solution_answers_only_desc#:#If is selected, the ILIAS content you place around a question using the "Edit content" tab page will not be visible in a print-out. If you want to save some paper space, select this option.###07 11 2014 new variable -assessment#:#tst_show_solution_compare#:#Compare Answer with Solution in List of Answers###24 10 2013 new variable -assessment#:#tst_show_solution_compare_desc#:#Participants are presented with an overview comparing their own answers with the best solutions. Please note that this view will be displayed in the ‘Detailed Results’ that can be accessed via the ‘Show Test Results‘-button on the ‘Info’-tab. It will not be displayed in the printable ‘List of Answers’ even though the setting is made here.###06 02 2015 new variable -assessment#:#tst_show_solution_details#:#Įvertinimas detaliau -assessment#:#tst_show_solution_details_desc#:#If selected, the detailed question solution is available to participants in the test results presentation. This includes the exact scoring of every answer, otherwise only an overview with the question titles and the reached points is shown.###07 11 2014 new variable assessment#:#tst_show_solution_details_singlepage#:#Scored Answers on single pages###26 08 2024 new variable assessment#:#tst_show_solution_details_singlepage_desc#:#Participants can access each question individually and see if their answers were correct and how many points they scored.###26 08 2024 new variable assessment#:#tst_show_solution_feedback#:#Show Answer-Specific Feedback in Test Results###10 05 2007 new variable @@ -1916,7 +1906,6 @@ assessment#:#tst_skill_triggerings_num_req_answers_desc#:#Competences aren't tri assessment#:#tst_skill_triggerings_num_req_answers_not_reached_warn#:#At least one of the competences addressed by this test is not triggered by the minimal required amount of questions.
The required amount of questions: %s###10 11 2018 new variable assessment#:#tst_skl_level_thresholds_link#:#Configure Competence-Thresholds###30 08 2015 new variable assessment#:#tst_skl_level_thresholds_missing#:#There are missing thresholds for the relevant competences!###30 08 2015 new variable -assessment#:#tst_skl_res_interpretation_hint_msg#:#Please consider that competence results from a single test has a limited significance. The more information is collected per competence, the merrier valid the significance will be. Should there are single competences without any entry, there is to less information collected.###30 08 2015 new variable assessment#:#tst_skl_sub_tab_thresholds#:#Competence Thresholds###26 09 2014 new variable assessment#:#tst_sol_comp_expressions#:#Comparison Expressions###30 08 2015 new variable assessment#:#tst_solution_compare_cfg#:#Configuration for Solution Compare###30 08 2015 new variable @@ -1978,7 +1967,6 @@ assessment#:#tst_unchanged_answer_is_correct#:#The preset answer is correct###fa assessment#:#tst_unchanged_order_is_correct#:#The preset order is correct###fau: testNav assessment#:#tst_use_previous_answers#:#Naudoti Ankstesnius Atsakymus assessment#:#tst_use_previous_answers_description#:#Jei pažymėta, ankstesni dalyvio atsakymai bus naudojami kaip numatytosios reikšmės būsimuose testo laikymuose -assessment#:#tst_use_previous_answers_user#:#Naudoti mano ankstesnius atsakymus kaip numatytasias reikšmes būsimuose testo laikymuose assessment#:#tst_user_finished_test#:#User finished test (%s)###24 07 2009 new variable assessment#:#tst_view_competence_assign#:#View Assignment Properties###30 08 2015 new variable assessment#:#tst_virtual_pass_header_lo_initial#:#Initial Test Results for the Learning Objectives
%s###30 08 2015 new variable diff --git a/lang/ilias_nl.lang b/lang/ilias_nl.lang index ecc48c00f421..7b40f5ac4db6 100644 --- a/lang/ilias_nl.lang +++ b/lang/ilias_nl.lang @@ -684,12 +684,10 @@ assessment#:#examid_in_test_res#:#Tonen Examennummer assessment#:#examid_in_test_res_desc#:#Tonen Examennummer assessment#:#exp_all_test_runs#:#All test attempts###26 08 2024 new variable assessment#:#exp_eval_data#:#Evaluatiegegevens exporteren als -assessment#:#exp_file_created#:#Export bestand aangemaakt. assessment#:#exp_grammar_as#:#as###26 08 2024 new variable assessment#:#exp_scored_test_attempt#:#Scored Test Attempt###28 10 2024 new variable assessment#:#exp_type_certificate#:#Certificaat (PDF) assessment#:#exp_type_excel#:#Microsoft Excel -assessment#:#exp_type_spss#:#Door komma's gescheiden waarde(CVS) assessment#:#expected_result_type#:#Verwacht resultaat-type assessment#:#export_cert_failed_for_users_p#:#No certificate file could be generated and added for the following %s accounts: %s. Please contact an administrator to check the log file.###26 08 2024 new variable assessment#:#export_cert_failed_for_users_s#:#No certificate file could be generated and added to the archive for the following account: %s. Please contact an administrator to check the log file.###26 08 2024 new variable @@ -1453,7 +1451,6 @@ assessment#:#tst_delete_missing_mark#:#Selecteer op zijn minst één markerings- assessment#:#tst_derive_new_pool#:#Derive New Question Pool###25 10 2016 new variable assessment#:#tst_derive_new_pools#:#Derive New Question Pools###25 10 2016 new variable assessment#:#tst_dont_show_msg_again_in_current_session#:#Don't show this message again in my current session.###10 11 2018 new variable -assessment#:#tst_dont_use_previous_answers#:#Je vorige antwoorden zullen niet gebruikt worden als standaardwaarden in toekomstige toetspogingen assessment#:#tst_edit_competence_assign#:#Edit Assignment Properties###30 08 2015 new variable assessment#:#tst_edit_scoring#:#Wijzig Scores assessment#:#tst_enable_questionlist#:#Show 'List of Questions’###26 08 2024 new variable @@ -1509,7 +1506,6 @@ assessment#:#tst_finish_confirm_button#:#Ja, Ik wil de toets beeïndigen assessment#:#tst_finish_confirm_cancel_button#:#Nee, ga terug naar de vorige vraag assessment#:#tst_finish_confirmation_question#:#Je wilt de toets beeïndigen en het maximum aantal toegelaten pogingen overschrijden. Je zult niet meer in staat zijn om deze toets aan te passen. Ben je zeker dat je deze toets wilt beeïndigen assessment#:#tst_finish_confirmation_question_no_attempts_left#:#You are going to finish this test and reach the maximum number of allowed test attempts. You won’t be able to enter this test again to change your answers. Do you really want to finish the test?###26 08 2024 new variable -assessment#:#tst_finish_notification_no#:#Verzend geen mailbericht als een gebruiker een toets afmaakt assessment#:#tst_finished#:#Klaar assessment#:#tst_form_dynamic_question_set_config#:#Doorgaan met vragenselectie assessment#:#tst_gap_analysis#:#Gap Analyse @@ -1521,7 +1517,6 @@ assessment#:#tst_hide_info_tab#:#Hide Info Tab###26 08 2024 new variable assessment#:#tst_hide_info_tab_desc#:#Hides the tab ‘Info’ of the test.###26 08 2024 new variable assessment#:#tst_hide_pagecontents#:#Hide page content###26 08 2024 new variable assessment#:#tst_hide_pagecontents_desc#:#ILIAS content placed before and after the actual question text via the "Edit Page" button will not be displayed in the result views and print output.###26 08 2024 new variable -assessment#:#tst_hide_side_list#:#Verberg vragen bestand assessment#:#tst_highscore_achieved_ts#:#Toon toetsdatum assessment#:#tst_highscore_achieved_ts_description#:#Bepaalt of een kolom met de datum van de toets wordt getoond. assessment#:#tst_highscore_all_tables#:#Alle beoordelingen @@ -1539,7 +1534,6 @@ assessment#:#tst_highscore_score#:#Toon score assessment#:#tst_highscore_score_description#:#Bepaalt of een kolom met de score wordt getoond. assessment#:#tst_highscore_top_num#:#Aantal scores assessment#:#tst_highscore_top_num_description#:#Bepaalt hoeveel items worden getoond in de top-score lijst. -assessment#:#tst_highscore_top_num_unit#:#bezoeken aan objecten assessment#:#tst_highscore_top_table#:#Toon tabel met top scores assessment#:#tst_highscore_top_table_description#:#Bepaalt of de tabel "top scores" wordt getoond. assessment#:#tst_highscore_wtime#:#Toon werktijd @@ -1890,10 +1884,6 @@ assessment#:#tst_show_results#:#Laat toetsresultaten zien assessment#:#tst_show_side_list#:#Tonen vragenlijst aan zijkant assessment#:#tst_show_solution_answers_only#:#Resultaten overzicht (alleen de antwoorden) assessment#:#tst_show_solution_answers_only_desc#:#Als geselecteerd zal de ILIAS inhoud die je rond een vraag hebt aangemaakt met behulp van de pagina editor niet worden getoond bij het afdrukken. Als je bezuinigt op papier, selecteer dan deze optie. -assessment#:#tst_show_solution_compare#:#Vergelijk antwoord met oplossing in antwoordenlijst -assessment#:#tst_show_solution_compare_desc#:#Participants are presented with an overview comparing their own answers with the best solutions. Please note that this view will be displayed in the ‘Detailed Results’ that can be accessed via the ‘Show Test Results‘-button on the ‘Info’-tab. It will not be displayed in the printable ‘List of Answers’ even though the setting is made here.###06 02 2015 new variable -assessment#:#tst_show_solution_details#:#Score details -assessment#:#tst_show_solution_details_desc#:#Als geselecteerd is de gedetailleerde oplossing beschikbaar voor deelnemers in de toetsresultaten. Dit is inclusief de exacte score voor ieder antwoord. Anders wordt alleen een overzicht met de vragentitles en de behaalde punten getoond. assessment#:#tst_show_solution_details_singlepage#:#Scored Answers on single pages###26 08 2024 new variable assessment#:#tst_show_solution_details_singlepage_desc#:#Participants can access each question individually and see if their answers were correct and how many points they scored.###26 08 2024 new variable assessment#:#tst_show_solution_feedback#:#Toon antwoord feedback in toetsresultaten. @@ -1916,7 +1906,6 @@ assessment#:#tst_skill_triggerings_num_req_answers_desc#:#Competences aren't tri assessment#:#tst_skill_triggerings_num_req_answers_not_reached_warn#:#At least one of the competences addressed by this test is not triggered by the minimal required amount of questions.
The required amount of questions: %s###10 11 2018 new variable assessment#:#tst_skl_level_thresholds_link#:#Configure Competence-Thresholds###30 08 2015 new variable assessment#:#tst_skl_level_thresholds_missing#:#There are missing thresholds for the relevant competences!###30 08 2015 new variable -assessment#:#tst_skl_res_interpretation_hint_msg#:#Please consider that competence results from a single test has a limited significance. The more information is collected per competence, the merrier valid the significance will be. Should there are single competences without any entry, there is to less information collected.###30 08 2015 new variable assessment#:#tst_skl_sub_tab_thresholds#:#Competentiedrempel assessment#:#tst_sol_comp_expressions#:#Comparison Expressions###30 08 2015 new variable assessment#:#tst_solution_compare_cfg#:#Configuration for Solution Compare###30 08 2015 new variable @@ -1978,7 +1967,6 @@ assessment#:#tst_unchanged_answer_is_correct#:#The preset answer is correct###fa assessment#:#tst_unchanged_order_is_correct#:#The preset order is correct###fau: testNav assessment#:#tst_use_previous_answers#:#Gebruik vorige antwoorden assessment#:#tst_use_previous_answers_description#:#Indien aangevinkt, kan een deelnemer verkiezen om de vorige antwoorden te gebruiken aangezien de standaardwaarden passen toetsen, anders worden de vorige antwoorden voortaan getoond toets geen passen -assessment#:#tst_use_previous_answers_user#:#Vul bij toekomstige toetspogingen mijn eerder gegeven antwoorden alvast in. assessment#:#tst_user_finished_test#:#Gebruiker beëindigde toets (%s) assessment#:#tst_view_competence_assign#:#View Assignment Properties###30 08 2015 new variable assessment#:#tst_virtual_pass_header_lo_initial#:#Initial Test Results for the Learning Objectives
%s###30 08 2015 new variable diff --git a/lang/ilias_pl.lang b/lang/ilias_pl.lang index 5a5eb485eefa..a8dd3ef63548 100644 --- a/lang/ilias_pl.lang +++ b/lang/ilias_pl.lang @@ -684,12 +684,10 @@ assessment#:#examid_in_test_res#:#Pokaż numer egzaminacyjny ILIAS assessment#:#examid_in_test_res_desc#:#Numer egzaminacyjny ILIAS widoczny jest w wynikach testu. assessment#:#exp_all_test_runs#:#All test attempts###26 08 2024 new variable assessment#:#exp_eval_data#:#Eksport danej szacunkowej -assessment#:#exp_file_created#:#Utworzono plik eksportowy ILIAS 2. assessment#:#exp_grammar_as#:#as###26 08 2024 new variable assessment#:#exp_scored_test_attempt#:#Scored Test Attempt###28 10 2024 new variable assessment#:#exp_type_certificate#:#Certyfikat (PDF) assessment#:#exp_type_excel#:#Excel -assessment#:#exp_type_spss#:#SPSS assessment#:#expected_result_type#:#Oczekiwany typ wyniku assessment#:#export_cert_failed_for_users_p#:#No certificate file could be generated and added for the following %s accounts: %s. Please contact an administrator to check the log file.###26 08 2024 new variable assessment#:#export_cert_failed_for_users_s#:#No certificate file could be generated and added to the archive for the following account: %s. Please contact an administrator to check the log file.###26 08 2024 new variable @@ -1453,7 +1451,6 @@ assessment#:#tst_delete_missing_mark#:#Wybierz co najmniej jedną pozycję, aby assessment#:#tst_derive_new_pool#:#Utwórz nową pulę pytań assessment#:#tst_derive_new_pools#:#Utwórz nowe pule pytań assessment#:#tst_dont_show_msg_again_in_current_session#:#Don't show this message again in my current session. -assessment#:#tst_dont_use_previous_answers#:#Twoje poprzednie odpowiedzi nie będą użyte jako domyślne wartości w następnych wykonaniach testu assessment#:#tst_edit_competence_assign#:#Przetwarzaj właściwości przydziału assessment#:#tst_edit_scoring#:#Edytuj punktację assessment#:#tst_enable_questionlist#:#Show 'List of Questions’###26 08 2024 new variable @@ -1509,7 +1506,6 @@ assessment#:#tst_finish_confirm_button#:#Tak, chcę skończyć test assessment#:#tst_finish_confirm_cancel_button#:#Nie, powrót do poprzedniej odpowiedzi assessment#:#tst_finish_confirmation_question#:#Kończysz test i wyczerpałeś wszystkie próby. Już nie będziesz mógł powtórzyć tego testu aby zmienić odpowiedzi. Na pewno chcesz skończyć test? assessment#:#tst_finish_confirmation_question_no_attempts_left#:#You are going to finish this test and reach the maximum number of allowed test attempts. You won’t be able to enter this test again to change your answers. Do you really want to finish the test?###26 08 2024 new variable -assessment#:#tst_finish_notification_no#:#Brak wiadomości assessment#:#tst_finished#:#Ukończone assessment#:#tst_form_dynamic_question_set_config#:#Bieżący wybór pytań assessment#:#tst_gap_analysis#:#Analiza GAP @@ -1521,7 +1517,6 @@ assessment#:#tst_hide_info_tab#:#Hide Info Tab###26 08 2024 new variable assessment#:#tst_hide_info_tab_desc#:#Hides the tab ‘Info’ of the test.###26 08 2024 new variable assessment#:#tst_hide_pagecontents#:#Hide page content###26 08 2024 new variable assessment#:#tst_hide_pagecontents_desc#:#ILIAS content placed before and after the actual question text via the "Edit Page" button will not be displayed in the result views and print output.###26 08 2024 new variable -assessment#:#tst_hide_side_list#:#Ukryj listy pytań. assessment#:#tst_highscore_achieved_ts#:#Data assessment#:#tst_highscore_achieved_ts_description#:#Wyświetlana jest dodatkowa kolumna z czasem, w którym test został przeprowadzony. assessment#:#tst_highscore_all_tables#:#Własne miejsce na liście rankingowej i lista najlepszych @@ -1539,7 +1534,6 @@ assessment#:#tst_highscore_score#:#Punkty assessment#:#tst_highscore_score_description#:#Wyświetlana jest dodatkowa kolumna z liczbą uzyskanych punktów. assessment#:#tst_highscore_top_num#:#Długość listy najlepszych assessment#:#tst_highscore_top_num_description#:#Określa, ile wpisów wyświetlanych jest w liście najlepszych. -assessment#:#tst_highscore_top_num_unit#:#Listy rankingowe assessment#:#tst_highscore_top_table#:#Lista najlepszych assessment#:#tst_highscore_top_table_description#:#Uczestnikom wyświetla się tabela z najlepszymi wynikami. assessment#:#tst_highscore_wtime#:#Czas pracy @@ -1890,10 +1884,6 @@ assessment#:#tst_show_results#:#Pokaż wyniki testu assessment#:#tst_show_side_list#:#Lista pytań do assessment#:#tst_show_solution_answers_only#:#Wydruk wyników (tylko odpowiedzi) assessment#:#tst_show_solution_answers_only_desc#:#Jeśli aktywna jest opcja „Drukowanie wyników (tylko odpowiedzi)", treści ILIAS, które w zakładce "Przetwarzanie treści" można umieszczać przed i za właściwym tekstem pytania, nie będą drukowane. -assessment#:#tst_show_solution_compare#:#Pokaż najlepsze możliwe rozwiązanie w 'Tabeli ze szczegółowymi wynikami' -assessment#:#tst_show_solution_compare_desc#:#Uczestnikom prezentowany jest widok ogólny jako część 'Tabeli ze szczegółowymi wynikami', gdzie porównywane są odpowiedzi uczestników i najlepsze możliwe odpowiedzi.
Ten widok nie jest prezentowany za pomocą przycisku 'Lista odpowiedzi', nawet wówczas, gdy to ustawienie zostało tutaj aktywowane. -assessment#:#tst_show_solution_details#:#Szczegóły punktacji -assessment#:#tst_show_solution_details_desc#:#Uczestnicy oprócz 'Tabeli ze szczegółowymi danymi dotyczącymi wyników testu' otrzymają na osobnej stronie dla każdego pytania informacje o tym, jakich odpowiedzi udzielili, czy te odpowiedzi były prawidłowe oraz ile punktów za nie otrzymali. assessment#:#tst_show_solution_details_singlepage#:#Scored Answers on single pages###26 08 2024 new variable assessment#:#tst_show_solution_details_singlepage_desc#:#Participants can access each question individually and see if their answers were correct and how many points they scored.###26 08 2024 new variable assessment#:#tst_show_solution_feedback#:#Pokaż specyficzną dla odpowiedzi reakcję w wynikach testu @@ -1916,7 +1906,6 @@ assessment#:#tst_skill_triggerings_num_req_answers_desc#:#Kompetencje podnoszone assessment#:#tst_skill_triggerings_num_req_answers_not_reached_warn#:#Przynajmniej jedna zawarta w teście kompetencja nie została przyporządkowana do wystarczającej liczby pytań.
Minimalna liczba dla przyporządkowanych pytań: %s assessment#:#tst_skl_level_thresholds_link#:#Skonfiguruj wartości progowe kompetencji assessment#:#tst_skl_level_thresholds_missing#:#Nie zdefiniowano jeszcze wartości progowych dla wszystkich istotnych kompetencji. -assessment#:#tst_skl_res_interpretation_hint_msg#:#Pamiętaj, że wyniki kompetencyjne jednego testu są miarodajne jedynie w ograniczonym zakresie. Im więcej informacji dotyczących poszczególnych kompetencji zebrano, tym bardziej miarodajne jest stwierdzenie. Jeśli niektóre kompetencje nie otrzymały żadnej wartości, oznacza to, że dla tej kompetencji brakowało informacji. assessment#:#tst_skl_sub_tab_thresholds#:#Wartości progowe kompetencji assessment#:#tst_sol_comp_expressions#:#Stwierdzenia porównawcze assessment#:#tst_solution_compare_cfg#:#Konfiguracja na potrzeby porównania odpowiedzi @@ -1978,7 +1967,6 @@ assessment#:#tst_unchanged_answer_is_correct#:#Poprzednia odpowiedź jest prawid assessment#:#tst_unchanged_order_is_correct#:#Poprzedni układ jest poprawny. assessment#:#tst_use_previous_answers#:#Użyj poprzednich odpowiedzi assessment#:#tst_use_previous_answers_description#:#Jeśli zaznaczone, uczestnik może wybrać poprzednie odpowiedzi jako wartości domyślne w przyszłych wykonaniach testu, w przeciwnym razie poprzednie odpowiedzi nie są wyświetlane w kolejnych wykonaniach testu. -assessment#:#tst_use_previous_answers_user#:#Użyj moich poprzednich odpowiedzi jako domyślnych wartości w przyszłych wykonaniach testu assessment#:#tst_user_finished_test#:#Jeden uczestnik zakończył test (%s) assessment#:#tst_view_competence_assign#:#Pokaż właściwości przydziału assessment#:#tst_virtual_pass_header_lo_initial#:#Wyniki początkowe dla celu dydaktycznego
%s diff --git a/lang/ilias_pt.lang b/lang/ilias_pt.lang index 0de20f9261f3..d623bba66276 100644 --- a/lang/ilias_pt.lang +++ b/lang/ilias_pt.lang @@ -684,12 +684,10 @@ assessment#:#examid_in_test_res#:#ID de tentativa de teste ILIAS assessment#:#examid_in_test_res_desc#:#O ID de tentativa de teste ILIAS será incluído nos resultados do teste. assessment#:#exp_all_test_runs#:#All test attempts###26 08 2024 new variable assessment#:#exp_eval_data#:#Exportar dados de avaliação como -assessment#:#exp_file_created#:#Exportar ficheiro criado. assessment#:#exp_grammar_as#:#as###26 08 2024 new variable assessment#:#exp_scored_test_attempt#:#Scored Test Attempt###28 10 2024 new variable assessment#:#exp_type_certificate#:#Certificado (PDF) assessment#:#exp_type_excel#:#Microsoft Excel -assessment#:#exp_type_spss#:#Comma Separated Value (CSV) assessment#:#expected_result_type#:#Tipo de resultado esperado assessment#:#export_cert_failed_for_users_p#:#No certificate file could be generated and added for the following %s accounts: %s. Please contact an administrator to check the log file.###26 08 2024 new variable assessment#:#export_cert_failed_for_users_s#:#No certificate file could be generated and added to the archive for the following account: %s. Please contact an administrator to check the log file.###26 08 2024 new variable @@ -1453,7 +1451,6 @@ assessment#:#tst_delete_missing_mark#:#Selecione pelo menos um avanço de nota p assessment#:#tst_derive_new_pool#:#Derivar novo banco de perguntas assessment#:#tst_derive_new_pools#:#Derivar novo banco de perguntas assessment#:#tst_dont_show_msg_again_in_current_session#:#Não mostrar esta mensagem novamente durante a minha sessão atual. -assessment#:#tst_dont_use_previous_answers#:#As suas respostas anteriores não serão usadas como valores predefinidos em futuras tentativas de teste assessment#:#tst_edit_competence_assign#:#Editar propriedades de atribuição assessment#:#tst_edit_scoring#:#Editar pontuação assessment#:#tst_enable_questionlist#:#Show 'List of Questions’###26 08 2024 new variable @@ -1509,7 +1506,6 @@ assessment#:#tst_finish_confirm_button#:#Sim, quero terminar o teste assessment#:#tst_finish_confirm_cancel_button#:#Notificação assessment#:#tst_finish_confirmation_question#:#Não, voltar à resposta anterior assessment#:#tst_finish_confirmation_question_no_attempts_left#:#You are going to finish this test and reach the maximum number of allowed test attempts. You won’t be able to enter this test again to change your answers. Do you really want to finish the test?###26 08 2024 new variable -assessment#:#tst_finish_notification_no#:#Nenhum e-mail assessment#:#tst_finished#:#Terminado assessment#:#tst_form_dynamic_question_set_config#:#Continuar seleção de perguntas assessment#:#tst_gap_analysis#:#Análise de intervalo @@ -1521,7 +1517,6 @@ assessment#:#tst_hide_info_tab#:#Hide Info Tab###26 08 2024 new variable assessment#:#tst_hide_info_tab_desc#:#Hides the tab ‘Info’ of the test.###26 08 2024 new variable assessment#:#tst_hide_pagecontents#:#Hide page content###26 08 2024 new variable assessment#:#tst_hide_pagecontents_desc#:#ILIAS content placed before and after the actual question text via the "Edit Page" button will not be displayed in the result views and print output.###26 08 2024 new variable -assessment#:#tst_hide_side_list#:#Data assessment#:#tst_highscore_achieved_ts#:#Será incluída na classificação uma coluna que contém a data do teste. assessment#:#tst_highscore_achieved_ts_description#:#Classificação própria do participante e Top da classificação assessment#:#tst_highscore_all_tables#:#Os participantes recebem informação sobre o Top da classificação e a respetiva posição própria na classificação. @@ -1539,7 +1534,6 @@ assessment#:#tst_highscore_score#:#Será incluída na classificação uma coluna assessment#:#tst_highscore_score_description#:#Comprimento do Top de classificação assessment#:#tst_highscore_top_num#:#Especifica quantas classificações devem ser incluídas na lista de classificação. assessment#:#tst_highscore_top_num_description#:#Top de classificação -assessment#:#tst_highscore_top_num_unit#:#entradas assessment#:#tst_highscore_top_table#:#Aos participantes é apresentada uma tabela com o top das classificações. assessment#:#tst_highscore_top_table_description#:#Duração do teste assessment#:#tst_highscore_wtime#:#Será incluída na classificação uma coluna que contém a duração do teste. @@ -1890,10 +1884,6 @@ assessment#:#tst_show_results#:#Tempo médio para analisar assessment#:#tst_show_side_list#:#Primeira visita assessment#:#tst_show_solution_answers_only#:#Última visita assessment#:#tst_show_solution_answers_only_desc#:#Percentagem do trabalho total já feito -assessment#:#tst_show_solution_compare#:#Perguntas já processadas -assessment#:#tst_show_solution_compare_desc#:#Resultados de testes em anotações -assessment#:#tst_show_solution_details#:#Resultados de testes em pontos -assessment#:#tst_show_solution_details_desc#:#Tempo para trabalhar assessment#:#tst_show_solution_details_singlepage#:#Scored Answers on single pages###26 08 2024 new variable assessment#:#tst_show_solution_details_singlepage_desc#:#Participants can access each question individually and see if their answers were correct and how many points they scored.###26 08 2024 new variable assessment#:#tst_show_solution_feedback#:#Para terminar este teste, tem de responder a todas as perguntas obrigatórias (*). @@ -1916,7 +1906,6 @@ assessment#:#tst_skill_triggerings_num_req_answers_desc#:#As competências não assessment#:#tst_skill_triggerings_num_req_answers_not_reached_warn#:#Pelo menos uma das competências abordadas por este teste não é ativada pela quantidade mínima exigida de perguntas.
A quantidade de perguntas exigida: %s assessment#:#tst_skl_level_thresholds_link#:#Resultados de teste iniciais para o objetivo de aprendizagem
%s assessment#:#tst_skl_level_thresholds_missing#:#Faltam limites para as competências relevantes! -assessment#:#tst_skl_res_interpretation_hint_msg#:#Note que os resultados de competência a partir de um único teste tem uma importância limitada. Quanto mais informação é recolhida por competência, mais importância terá. Se houver competências únicas sem qualquer entrada, foi recolhida informação a menos. assessment#:#tst_skl_sub_tab_thresholds#:#Limites de competência assessment#:#tst_sol_comp_expressions#:#Expressões de comparação assessment#:#tst_solution_compare_cfg#:#Configuração para comparação de soluções @@ -1978,7 +1967,6 @@ assessment#:#tst_unchanged_answer_is_correct#:#A resposta predefinida está corr assessment#:#tst_unchanged_order_is_correct#:#A ordem predefinida está correta assessment#:#tst_use_previous_answers#:#Cria automaticamente contas de utilizador ILIAS, para utilizadores autenticados com sucesso contra CAS, sem ter ainda uma conta ILIAS. assessment#:#tst_use_previous_answers_description#:#Ativar editor para idiomas selecionados -assessment#:#tst_use_previous_answers_user#:#O editor de páginas ativo foi modificado assessment#:#tst_user_finished_test#:#Utilizador terminou o teste (%s) assessment#:#tst_view_competence_assign#:#Ver propriedades de atribuição assessment#:#tst_virtual_pass_header_lo_initial#:#Usar o editor de páginas ILIAS diff --git a/lang/ilias_ro.lang b/lang/ilias_ro.lang index 20948aa235df..b1c8b385ebf5 100644 --- a/lang/ilias_ro.lang +++ b/lang/ilias_ro.lang @@ -684,12 +684,10 @@ assessment#:#examid_in_test_res#:#ILIAS Testpass ID###27 01 2015 new variable assessment#:#examid_in_test_res_desc#:#The ILIAS Testpass ID will be included in the test results.###27 01 2015 new variable assessment#:#exp_all_test_runs#:#All test attempts###26 08 2024 new variable assessment#:#exp_eval_data#:#Exportati datele evaluarii ca -assessment#:#exp_file_created#:#Export file created.###24 10 2013 new variable assessment#:#exp_grammar_as#:#as###26 08 2024 new variable assessment#:#exp_scored_test_attempt#:#Scored Test Attempt###28 10 2024 new variable assessment#:#exp_type_certificate#:#Certificate (PDF)###10 10 2006 new variable assessment#:#exp_type_excel#:#Microsoft Excel###10 Jul 2006 content changed -assessment#:#exp_type_spss#:#Valori separate de virgula (CSV) assessment#:#expected_result_type#:#Expected result type###24 10 2013 new variable assessment#:#export_cert_failed_for_users_p#:#No certificate file could be generated and added for the following %s accounts: %s. Please contact an administrator to check the log file.###26 08 2024 new variable assessment#:#export_cert_failed_for_users_s#:#No certificate file could be generated and added to the archive for the following account: %s. Please contact an administrator to check the log file.###26 08 2024 new variable @@ -1453,7 +1451,6 @@ assessment#:#tst_delete_missing_mark#:#Va rugam sa selectati cel putin o nota in assessment#:#tst_derive_new_pool#:#Derive New Question Pool###25 10 2016 new variable assessment#:#tst_derive_new_pools#:#Derive New Question Pools###25 10 2016 new variable assessment#:#tst_dont_show_msg_again_in_current_session#:#Don't show this message again in my current session.###10 11 2018 new variable -assessment#:#tst_dont_use_previous_answers#:#Your previous answers will not be used as default values in future test passes###12 11 2006 new variable assessment#:#tst_edit_competence_assign#:#Edit Assignment Properties###30 08 2015 new variable assessment#:#tst_edit_scoring#:#Edit Scoring###28 08 2012 new variable assessment#:#tst_enable_questionlist#:#Show 'List of Questions’###26 08 2024 new variable @@ -1509,7 +1506,6 @@ assessment#:#tst_finish_confirm_button#:#Yes, I want to finish the test###10 Jul assessment#:#tst_finish_confirm_cancel_button#:#No, go back to the previous question###10 Jul 2006 new variable assessment#:#tst_finish_confirmation_question#:#You are going to finish this test and reach the maximum number of allowed test passes. You won't be able to enter this test again to change your answers. Do you really want to finish the test? ###10 Jul 2006 new variable assessment#:#tst_finish_confirmation_question_no_attempts_left#:#You are going to finish this test and reach the maximum number of allowed test attempts. You won’t be able to enter this test again to change your answers. Do you really want to finish the test?###26 08 2024 new variable -assessment#:#tst_finish_notification_no#:#No e-mail###06 02 2015 new variable assessment#:#tst_finished#:#Terminat assessment#:#tst_form_dynamic_question_set_config#:#Continues Question Selection###24 10 2013 new variable assessment#:#tst_gap_analysis#:#Gap Analysis###26 09 2014 new variable @@ -1521,7 +1517,6 @@ assessment#:#tst_hide_info_tab#:#Hide Info Tab###26 08 2024 new variable assessment#:#tst_hide_info_tab_desc#:#Hides the tab ‘Info’ of the test.###26 08 2024 new variable assessment#:#tst_hide_pagecontents#:#Hide page content###26 08 2024 new variable assessment#:#tst_hide_pagecontents_desc#:#ILIAS content placed before and after the actual question text via the "Edit Page" button will not be displayed in the result views and print output.###26 08 2024 new variable -assessment#:#tst_hide_side_list#:#Hide question list###24 07 2009 new variable assessment#:#tst_highscore_achieved_ts#:#Show date of test###28 08 2012 new variable assessment#:#tst_highscore_achieved_ts_description#:#Controls, if a column with the test date should be shown.###28 08 2012 new variable assessment#:#tst_highscore_all_tables#:#All Rankings###07 11 2014 new variable @@ -1539,7 +1534,6 @@ assessment#:#tst_highscore_score#:#Show score###28 08 2012 new variable assessment#:#tst_highscore_score_description#:#Controls, if a column with the score should be shown.###28 08 2012 new variable assessment#:#tst_highscore_top_num#:#Number of ranks###28 08 2012 new variable assessment#:#tst_highscore_top_num_description#:#Controls, how many ranks should be included in the top ranking table.###28 08 2012 new variable -assessment#:#tst_highscore_top_num_unit#:#entries###28 08 2012 new variable assessment#:#tst_highscore_top_table#:#Show table 'top ranking'###28 08 2012 new variable assessment#:#tst_highscore_top_table_description#:#Controls, if the table 'top ranking' should be shown.###28 08 2012 new variable assessment#:#tst_highscore_wtime#:#Show working time###28 08 2012 new variable @@ -1890,10 +1884,6 @@ assessment#:#tst_show_results#:#Aratati rezultatele testului assessment#:#tst_show_side_list#:#Show question list aside###24 07 2009 new variable assessment#:#tst_show_solution_answers_only#:#Results print view (answers only)###14 11 2007 new variable assessment#:#tst_show_solution_answers_only_desc#:#If is selected, the ILIAS content you place around a question using the "Edit content" tab page will not be visible in a print-out. If you want to save some paper space, select this option.###07 11 2014 new variable -assessment#:#tst_show_solution_compare#:#Compare Answer with Solution in List of Answers###24 10 2013 new variable -assessment#:#tst_show_solution_compare_desc#:#Participants are presented with an overview comparing their own answers with the best solutions. Please note that this view will be displayed in the ‘Detailed Results’ that can be accessed via the ‘Show Test Results‘-button on the ‘Info’-tab. It will not be displayed in the printable ‘List of Answers’ even though the setting is made here.###06 02 2015 new variable -assessment#:#tst_show_solution_details#:#Score details###10 Jul 2006 new variable -assessment#:#tst_show_solution_details_desc#:#If selected, the detailed question solution is available to participants in the test results presentation. This includes the exact scoring of every answer, otherwise only an overview with the question titles and the reached points is shown.###07 11 2014 new variable assessment#:#tst_show_solution_details_singlepage#:#Scored Answers on single pages###26 08 2024 new variable assessment#:#tst_show_solution_details_singlepage_desc#:#Participants can access each question individually and see if their answers were correct and how many points they scored.###26 08 2024 new variable assessment#:#tst_show_solution_feedback#:#Show Answer-Specific Feedback in Test Results###10 05 2007 new variable @@ -1916,7 +1906,6 @@ assessment#:#tst_skill_triggerings_num_req_answers_desc#:#Competences aren't tri assessment#:#tst_skill_triggerings_num_req_answers_not_reached_warn#:#At least one of the competences addressed by this test is not triggered by the minimal required amount of questions.
The required amount of questions: %s###10 11 2018 new variable assessment#:#tst_skl_level_thresholds_link#:#Configure Competence-Thresholds###30 08 2015 new variable assessment#:#tst_skl_level_thresholds_missing#:#There are missing thresholds for the relevant competences!###30 08 2015 new variable -assessment#:#tst_skl_res_interpretation_hint_msg#:#Please consider that competence results from a single test has a limited significance. The more information is collected per competence, the merrier valid the significance will be. Should there are single competences without any entry, there is to less information collected.###30 08 2015 new variable assessment#:#tst_skl_sub_tab_thresholds#:#Competence Thresholds###26 09 2014 new variable assessment#:#tst_sol_comp_expressions#:#Comparison Expressions###30 08 2015 new variable assessment#:#tst_solution_compare_cfg#:#Configuration for Solution Compare###30 08 2015 new variable @@ -1978,7 +1967,6 @@ assessment#:#tst_unchanged_answer_is_correct#:#The preset answer is correct###fa assessment#:#tst_unchanged_order_is_correct#:#The preset order is correct###fau: testNav assessment#:#tst_use_previous_answers#:#Use Previous Answers###26 10 2006 new variable assessment#:#tst_use_previous_answers_description#:#If checked, the previous answers of a participant will be used as default values in future test passes###26 10 2006 new variable -assessment#:#tst_use_previous_answers_user#:#Use my previous answers as default values in future test passes###26 10 2006 new variable assessment#:#tst_user_finished_test#:#User finished test (%s)###24 07 2009 new variable assessment#:#tst_view_competence_assign#:#View Assignment Properties###30 08 2015 new variable assessment#:#tst_virtual_pass_header_lo_initial#:#Initial Test Results for the Learning Objectives
%s###30 08 2015 new variable diff --git a/lang/ilias_ru.lang b/lang/ilias_ru.lang index 1da8af924a8a..5c21d6f1eb09 100644 --- a/lang/ilias_ru.lang +++ b/lang/ilias_ru.lang @@ -684,12 +684,10 @@ assessment#:#examid_in_test_res#:#ILIAS Testpass ID###27 01 2015 new variable assessment#:#examid_in_test_res_desc#:#The ILIAS Testpass ID will be included in the test results.###27 01 2015 new variable assessment#:#exp_all_test_runs#:#All test attempts###26 08 2024 new variable assessment#:#exp_eval_data#:#Экспортировать данные оценивания как -assessment#:#exp_file_created#:#Export file created. assessment#:#exp_grammar_as#:#as###26 08 2024 new variable assessment#:#exp_scored_test_attempt#:#Scored Test Attempt###28 10 2024 new variable assessment#:#exp_type_certificate#:#Сертификат (PDF) assessment#:#exp_type_excel#:#Microsoft Excel -assessment#:#exp_type_spss#:#Текст разделенный запятыми (CSV) assessment#:#expected_result_type#:#Expected result type assessment#:#export_cert_failed_for_users_p#:#No certificate file could be generated and added for the following %s accounts: %s. Please contact an administrator to check the log file.###26 08 2024 new variable assessment#:#export_cert_failed_for_users_s#:#No certificate file could be generated and added to the archive for the following account: %s. Please contact an administrator to check the log file.###26 08 2024 new variable @@ -1453,7 +1451,6 @@ assessment#:#tst_delete_missing_mark#:#Пожалуйста, выберите х assessment#:#tst_derive_new_pool#:#Derive New Question Pool###25 10 2016 new variable assessment#:#tst_derive_new_pools#:#Derive New Question Pools###25 10 2016 new variable assessment#:#tst_dont_show_msg_again_in_current_session#:#Don't show this message again in my current session.###10 11 2018 new variable -assessment#:#tst_dont_use_previous_answers#:#Ваши предыдущие ответы не будут использоваться, как значения по умолчанию при следующих прохождениях теста assessment#:#tst_edit_competence_assign#:#Edit Assignment Properties###30 08 2015 new variable assessment#:#tst_edit_scoring#:#Оценить assessment#:#tst_enable_questionlist#:#Show 'List of Questions’###26 08 2024 new variable @@ -1509,7 +1506,6 @@ assessment#:#tst_finish_confirm_button#:#Да, я хочу закончить т assessment#:#tst_finish_confirm_cancel_button#:#Нет, вернуться к предыдущему вопросу assessment#:#tst_finish_confirmation_question#:#You are going to finish this test and reach the maximum number of allowed test passes. You won't be able to enter this test again to change your answers. Do you really want to finish the test? assessment#:#tst_finish_confirmation_question_no_attempts_left#:#You are going to finish this test and reach the maximum number of allowed test attempts. You won’t be able to enter this test again to change your answers. Do you really want to finish the test?###26 08 2024 new variable -assessment#:#tst_finish_notification_no#:#No e-mail###06 02 2015 new variable assessment#:#tst_finished#:#Окончен assessment#:#tst_form_dynamic_question_set_config#:#Продолжить выбор вопросов assessment#:#tst_gap_analysis#:#Gap Analysis###26 09 2014 new variable @@ -1521,7 +1517,6 @@ assessment#:#tst_hide_info_tab#:#Hide Info Tab###26 08 2024 new variable assessment#:#tst_hide_info_tab_desc#:#Hides the tab ‘Info’ of the test.###26 08 2024 new variable assessment#:#tst_hide_pagecontents#:#Hide page content###26 08 2024 new variable assessment#:#tst_hide_pagecontents_desc#:#ILIAS content placed before and after the actual question text via the "Edit Page" button will not be displayed in the result views and print output.###26 08 2024 new variable -assessment#:#tst_hide_side_list#:#Скрыть список вопросов assessment#:#tst_highscore_achieved_ts#:#Показать дату прохождения теста assessment#:#tst_highscore_achieved_ts_description#:#Controls, if a column with the test date should be shown. assessment#:#tst_highscore_all_tables#:#All Rankings###07 11 2014 new variable @@ -1539,7 +1534,6 @@ assessment#:#tst_highscore_score#:#Показать баллы assessment#:#tst_highscore_score_description#:#Controls, if a column with the score should be shown. assessment#:#tst_highscore_top_num#:#Число рангов assessment#:#tst_highscore_top_num_description#:#Controls, how many ranks should be included in the top ranking table. -assessment#:#tst_highscore_top_num_unit#:#записи assessment#:#tst_highscore_top_table#:#Показать таблицу 'лучший ранг' assessment#:#tst_highscore_top_table_description#:#Controls, if the table 'top ranking' should be shown. assessment#:#tst_highscore_wtime#:#Показать время работы @@ -1890,10 +1884,6 @@ assessment#:#tst_show_results#:#Просмотреть результаты те assessment#:#tst_show_side_list#:#Показать список вопросов сбоку assessment#:#tst_show_solution_answers_only#:#Печатный вид результатов (только ответы) assessment#:#tst_show_solution_answers_only_desc#:#If is selected, the ILIAS content you place around a question using the "Edit content" tab page will not be visible in a print-out. If you want to save some paper space, select this option.###07 11 2014 new variable -assessment#:#tst_show_solution_compare#:#Compare Answer with Solution in List of Answers -assessment#:#tst_show_solution_compare_desc#:#Participants are presented with an overview comparing their own answers with the best solutions. Please note that this view will be displayed in the ‘Detailed Results’ that can be accessed via the ‘Show Test Results‘-button on the ‘Info’-tab. It will not be displayed in the printable ‘List of Answers’ even though the setting is made here.###06 02 2015 new variable -assessment#:#tst_show_solution_details#:#Показать решения в результатах теста -assessment#:#tst_show_solution_details_desc#:#If selected, the detailed question solution is available to participants in the test results presentation. This includes the exact scoring of every answer, otherwise only an overview with the question titles and the reached points is shown.###07 11 2014 new variable assessment#:#tst_show_solution_details_singlepage#:#Scored Answers on single pages###26 08 2024 new variable assessment#:#tst_show_solution_details_singlepage_desc#:#Participants can access each question individually and see if their answers were correct and how many points they scored.###26 08 2024 new variable assessment#:#tst_show_solution_feedback#:#Показать отзывы на отдельные вопросы в результатах теста @@ -1916,7 +1906,6 @@ assessment#:#tst_skill_triggerings_num_req_answers_desc#:#Competences aren't tri assessment#:#tst_skill_triggerings_num_req_answers_not_reached_warn#:#At least one of the competences addressed by this test is not triggered by the minimal required amount of questions.
The required amount of questions: %s###10 11 2018 new variable assessment#:#tst_skl_level_thresholds_link#:#Configure Competence-Thresholds###30 08 2015 new variable assessment#:#tst_skl_level_thresholds_missing#:#There are missing thresholds for the relevant competences!###30 08 2015 new variable -assessment#:#tst_skl_res_interpretation_hint_msg#:#Please consider that competence results from a single test has a limited significance. The more information is collected per competence, the merrier valid the significance will be. Should there are single competences without any entry, there is to less information collected.###30 08 2015 new variable assessment#:#tst_skl_sub_tab_thresholds#:#Competence Thresholds###26 09 2014 new variable assessment#:#tst_sol_comp_expressions#:#Comparison Expressions###30 08 2015 new variable assessment#:#tst_solution_compare_cfg#:#Configuration for Solution Compare###30 08 2015 new variable @@ -1978,7 +1967,6 @@ assessment#:#tst_unchanged_answer_is_correct#:#The preset answer is correct###fa assessment#:#tst_unchanged_order_is_correct#:#The preset order is correct###fau: testNav assessment#:#tst_use_previous_answers#:#Использовать предыдущие ответы assessment#:#tst_use_previous_answers_description#:#Если включено, то участник тестирования может использовать ранее выбранные ответы как значения по умолчанию для будущих попыток прохождения теста, иначе ранее выбранные ответы не отображаются в последующих попытках. -assessment#:#tst_use_previous_answers_user#:#Использовать мои предыдущие ответы, как значения по умолчанию для будущих прохождений assessment#:#tst_user_finished_test#:#Пользователь завершил тест (%s) assessment#:#tst_view_competence_assign#:#View Assignment Properties###30 08 2015 new variable assessment#:#tst_virtual_pass_header_lo_initial#:#Initial Test Results for the Learning Objectives
%s###30 08 2015 new variable diff --git a/lang/ilias_sk.lang b/lang/ilias_sk.lang index 2465e20a519f..803d9a5d072d 100644 --- a/lang/ilias_sk.lang +++ b/lang/ilias_sk.lang @@ -684,12 +684,10 @@ assessment#:#examid_in_test_res#:#ILIAS Testpass ID###27 01 2015 new variable assessment#:#examid_in_test_res_desc#:#The ILIAS Testpass ID will be included in the test results.###27 01 2015 new variable assessment#:#exp_all_test_runs#:#All test attempts###26 08 2024 new variable assessment#:#exp_eval_data#:#Exportovat data hodnocení jako -assessment#:#exp_file_created#:#Export file created.###24 10 2013 new variable assessment#:#exp_grammar_as#:#as###26 08 2024 new variable assessment#:#exp_scored_test_attempt#:#Scored Test Attempt###28 10 2024 new variable assessment#:#exp_type_certificate#:#Certifikát (PDF) assessment#:#exp_type_excel#:#Microsoft Excel -assessment#:#exp_type_spss#:#Desetinnou čárkou oddělená hodnota (CSV) assessment#:#expected_result_type#:#Expected result type###24 10 2013 new variable assessment#:#export_cert_failed_for_users_p#:#No certificate file could be generated and added for the following %s accounts: %s. Please contact an administrator to check the log file.###26 08 2024 new variable assessment#:#export_cert_failed_for_users_s#:#No certificate file could be generated and added to the archive for the following account: %s. Please contact an administrator to check the log file.###26 08 2024 new variable @@ -1453,7 +1451,6 @@ assessment#:#tst_delete_missing_mark#:#Vyberte alespoň jednu známku kroku ke s assessment#:#tst_derive_new_pool#:#Derive New Question Pool###25 10 2016 new variable assessment#:#tst_derive_new_pools#:#Derive New Question Pools###25 10 2016 new variable assessment#:#tst_dont_show_msg_again_in_current_session#:#Don't show this message again in my current session.###10 11 2018 new variable -assessment#:#tst_dont_use_previous_answers#:#Vaše předchozí odpovědi nebudou použity jako výchozí hodnoty v budoucích průchodech testem assessment#:#tst_edit_competence_assign#:#Edit Assignment Properties###30 08 2015 new variable assessment#:#tst_edit_scoring#:#Edit Scoring###28 08 2012 new variable assessment#:#tst_enable_questionlist#:#Show 'List of Questions’###26 08 2024 new variable @@ -1509,7 +1506,6 @@ assessment#:#tst_finish_confirm_button#:#Ano, chci tento test ukončit assessment#:#tst_finish_confirm_cancel_button#:#Ne, jít zpět na předchozí otázku assessment#:#tst_finish_confirmation_question#:#Hodláte ukončit tento test a dosáhl(a) jste maximálního počtu povolených průchodů testem. Nebudete již moci do tohoto testu vstoupit znovu a změnit své odpovědi. Upravdu chcete tento test ukončit? assessment#:#tst_finish_confirmation_question_no_attempts_left#:#You are going to finish this test and reach the maximum number of allowed test attempts. You won’t be able to enter this test again to change your answers. Do you really want to finish the test?###26 08 2024 new variable -assessment#:#tst_finish_notification_no#:#No e-mail###06 02 2015 new variable assessment#:#tst_finished#:#Ukončeno assessment#:#tst_form_dynamic_question_set_config#:#Continues Question Selection###24 10 2013 new variable assessment#:#tst_gap_analysis#:#Gap Analysis###26 09 2014 new variable @@ -1521,7 +1517,6 @@ assessment#:#tst_hide_info_tab#:#Hide Info Tab###26 08 2024 new variable assessment#:#tst_hide_info_tab_desc#:#Hides the tab ‘Info’ of the test.###26 08 2024 new variable assessment#:#tst_hide_pagecontents#:#Hide page content###26 08 2024 new variable assessment#:#tst_hide_pagecontents_desc#:#ILIAS content placed before and after the actual question text via the "Edit Page" button will not be displayed in the result views and print output.###26 08 2024 new variable -assessment#:#tst_hide_side_list#:#Skrýt seznam otázek assessment#:#tst_highscore_achieved_ts#:#Show date of test###28 08 2012 new variable assessment#:#tst_highscore_achieved_ts_description#:#Controls, if a column with the test date should be shown.###28 08 2012 new variable assessment#:#tst_highscore_all_tables#:#All Rankings###07 11 2014 new variable @@ -1539,7 +1534,6 @@ assessment#:#tst_highscore_score#:#Show score###28 08 2012 new variable assessment#:#tst_highscore_score_description#:#Controls, if a column with the score should be shown.###28 08 2012 new variable assessment#:#tst_highscore_top_num#:#Number of ranks###28 08 2012 new variable assessment#:#tst_highscore_top_num_description#:#Controls, how many ranks should be included in the top ranking table.###28 08 2012 new variable -assessment#:#tst_highscore_top_num_unit#:#entries###28 08 2012 new variable assessment#:#tst_highscore_top_table#:#Show table 'top ranking'###28 08 2012 new variable assessment#:#tst_highscore_top_table_description#:#Controls, if the table 'top ranking' should be shown.###28 08 2012 new variable assessment#:#tst_highscore_wtime#:#Show working time###28 08 2012 new variable @@ -1890,10 +1884,6 @@ assessment#:#tst_show_results#:#Zobrazit výsledky testu assessment#:#tst_show_side_list#:#Zobrazit boční seznam otázek assessment#:#tst_show_solution_answers_only#:#Přehled výsledků (jen odpovědi) assessment#:#tst_show_solution_answers_only_desc#:#If is selected, the ILIAS content you place around a question using the "Edit content" tab page will not be visible in a print-out. If you want to save some paper space, select this option.###07 11 2014 new variable -assessment#:#tst_show_solution_compare#:#Compare Answer with Solution in List of Answers###24 10 2013 new variable -assessment#:#tst_show_solution_compare_desc#:#Participants are presented with an overview comparing their own answers with the best solutions. Please note that this view will be displayed in the ‘Detailed Results’ that can be accessed via the ‘Show Test Results‘-button on the ‘Info’-tab. It will not be displayed in the printable ‘List of Answers’ even though the setting is made here.###06 02 2015 new variable -assessment#:#tst_show_solution_details#:#Zobrazit řešení ve výsledcích testu -assessment#:#tst_show_solution_details_desc#:#If selected, the detailed question solution is available to participants in the test results presentation. This includes the exact scoring of every answer, otherwise only an overview with the question titles and the reached points is shown.###07 11 2014 new variable assessment#:#tst_show_solution_details_singlepage#:#Scored Answers on single pages###26 08 2024 new variable assessment#:#tst_show_solution_details_singlepage_desc#:#Participants can access each question individually and see if their answers were correct and how many points they scored.###26 08 2024 new variable assessment#:#tst_show_solution_feedback#:#Zobrazit odpovědi-specifikovaný ohlas ve výsledcích testu @@ -1916,7 +1906,6 @@ assessment#:#tst_skill_triggerings_num_req_answers_desc#:#Competences aren't tri assessment#:#tst_skill_triggerings_num_req_answers_not_reached_warn#:#At least one of the competences addressed by this test is not triggered by the minimal required amount of questions.
The required amount of questions: %s###10 11 2018 new variable assessment#:#tst_skl_level_thresholds_link#:#Configure Competence-Thresholds###30 08 2015 new variable assessment#:#tst_skl_level_thresholds_missing#:#There are missing thresholds for the relevant competences!###30 08 2015 new variable -assessment#:#tst_skl_res_interpretation_hint_msg#:#Please consider that competence results from a single test has a limited significance. The more information is collected per competence, the merrier valid the significance will be. Should there are single competences without any entry, there is to less information collected.###30 08 2015 new variable assessment#:#tst_skl_sub_tab_thresholds#:#Competence Thresholds###26 09 2014 new variable assessment#:#tst_sol_comp_expressions#:#Comparison Expressions###30 08 2015 new variable assessment#:#tst_solution_compare_cfg#:#Configuration for Solution Compare###30 08 2015 new variable @@ -1978,7 +1967,6 @@ assessment#:#tst_unchanged_answer_is_correct#:#The preset answer is correct###fa assessment#:#tst_unchanged_order_is_correct#:#The preset order is correct###fau: testNav assessment#:#tst_use_previous_answers#:#Použít předchozí odpovědi assessment#:#tst_use_previous_answers_description#:#Pokud je vybráno, účastník může zvolit použití předchozích odpovědí jako výchozích hodnot v dalších průchodech testem, jinak předchozí odpovědi nebudou v dalších průchodech testem zobrazeny. -assessment#:#tst_use_previous_answers_user#:#Použít mé předchozí odpovědi jako výchozí hodnoty v budoucích průchodech testem assessment#:#tst_user_finished_test#:#Uživatel ukončil test (%s) assessment#:#tst_view_competence_assign#:#View Assignment Properties###30 08 2015 new variable assessment#:#tst_virtual_pass_header_lo_initial#:#Initial Test Results for the Learning Objectives
%s###30 08 2015 new variable diff --git a/lang/ilias_sl.lang b/lang/ilias_sl.lang index 277993ebe3f3..257cc7ce5374 100644 --- a/lang/ilias_sl.lang +++ b/lang/ilias_sl.lang @@ -684,12 +684,10 @@ assessment#:#examid_in_test_res#:#Prikaži ILIAS številko preizkusa: assessment#:#examid_in_test_res_desc#:#V rezultatih testa je prikazana ILIAS številka preizkusa: assessment#:#exp_all_test_runs#:#All test attempts###26 08 2024 new variable assessment#:#exp_eval_data#:#Izvozi ocenjevalne podatke kot -assessment#:#exp_file_created#:#Datoteka za izvoz je ustvarjena. assessment#:#exp_grammar_as#:#as###26 08 2024 new variable assessment#:#exp_scored_test_attempt#:#Scored Test Attempt###28 10 2024 new variable assessment#:#exp_type_certificate#:#Certifikat (PDF) assessment#:#exp_type_excel#:#Microsoft Excel -assessment#:#exp_type_spss#:#Z vejico ločene vrednosti (CSV) assessment#:#expected_result_type#:#Pričakovani tip rezultata assessment#:#export_cert_failed_for_users_p#:#No certificate file could be generated and added for the following %s accounts: %s. Please contact an administrator to check the log file.###26 08 2024 new variable assessment#:#export_cert_failed_for_users_s#:#No certificate file could be generated and added to the archive for the following account: %s. Please contact an administrator to check the log file.###26 08 2024 new variable @@ -1453,7 +1451,6 @@ assessment#:#tst_delete_missing_mark#:#Izberite vsaj eno oceno, ki jo želite od assessment#:#tst_derive_new_pool#:#Izpelji novo skupino vprašanj assessment#:#tst_derive_new_pools#:#Ustvarite nove skupine vprašanj assessment#:#tst_dont_show_msg_again_in_current_session#:#Ne prikaži več tega sporočila med mojo trenutno sejo. -assessment#:#tst_dont_use_previous_answers#:#Vaši prejšnji odgovori ne bodo uporabljeni kot privzete vrednosti pri prihodnjih opravljanjih testa assessment#:#tst_edit_competence_assign#:#Obdelaj značilnosti dodelitve assessment#:#tst_edit_scoring#:#Drugo ocenjevanje assessment#:#tst_enable_questionlist#:#Show 'List of Questions’###26 08 2024 new variable @@ -1509,7 +1506,6 @@ assessment#:#tst_finish_confirm_button#:#Da, želim končati test assessment#:#tst_finish_confirm_cancel_button#:#Ne, rad bi se vrnil na prejšnji odgovor assessment#:#tst_finish_confirmation_question#:#Kmalu boste zaključili ta test in dosegli maksimalno število dovoljenih opravljanj testa. Po tem se ne boste mogli znova prijaviti na ta test, da bi spremenili svoje odgovore. Ali res želite dokončati test? assessment#:#tst_finish_confirmation_question_no_attempts_left#:#You are going to finish this test and reach the maximum number of allowed test attempts. You won’t be able to enter this test again to change your answers. Do you really want to finish the test?###26 08 2024 new variable -assessment#:#tst_finish_notification_no#:#Ni obvestila assessment#:#tst_finished#:#Zaključeno assessment#:#tst_form_dynamic_question_set_config#:#Zaporedni izbor vprašanj assessment#:#tst_gap_analysis#:#Analiza praznine @@ -1521,7 +1517,6 @@ assessment#:#tst_hide_info_tab#:#Hide Info Tab###26 08 2024 new variable assessment#:#tst_hide_info_tab_desc#:#Hides the tab ‘Info’ of the test.###26 08 2024 new variable assessment#:#tst_hide_pagecontents#:#Hide page content###26 08 2024 new variable assessment#:#tst_hide_pagecontents_desc#:#ILIAS content placed before and after the actual question text via the "Edit Page" button will not be displayed in the result views and print output.###26 08 2024 new variable -assessment#:#tst_hide_side_list#:#Seznam vprašanj iz assessment#:#tst_highscore_achieved_ts#:#Date assessment#:#tst_highscore_achieved_ts_description#:#Prikaže se dodaten stolpec z datumom testiranja. assessment#:#tst_highscore_all_tables#:#Lastna razvrstitev in seznam najboljših @@ -1539,7 +1534,6 @@ assessment#:#tst_highscore_score#:#Točke assessment#:#tst_highscore_score_description#:#Prikaže se dodaten stolpec z informacijo o doseženih točkah. assessment#:#tst_highscore_top_num#:#Dolžina seznama najboljših assessment#:#tst_highscore_top_num_description#:#Določi število prikazanih vnosov s seznama najboljših -assessment#:#tst_highscore_top_num_unit#:#Razvrstitev assessment#:#tst_highscore_top_table#:#Seznam najboljših assessment#:#tst_highscore_top_table_description#:#Udeležencem se prikaže tabela z najboljšimi razvrstitvami. assessment#:#tst_highscore_wtime#:#Trajanje obdelave @@ -1890,10 +1884,6 @@ assessment#:#tst_show_results#:#Rezultati testa assessment#:#tst_show_side_list#:#Seznam vprašanj za assessment#:#tst_show_solution_answers_only#:#Tiskana različica rezultatov (samo odgovori) assessment#:#tst_show_solution_answers_only_desc#:#Če je izbrana "Tiskana različica rezultatov (samo odgovori)", vsebine v ILIAS, ki jih prek zavihka "Uredi vsebino" lahko uvrstite pred in za besedilom vprašanja z zavihkom 'Uredi vsebino', ne bodo vidne na izpisu. -assessment#:#tst_show_solution_compare#:#Pokaži najboljšo rešitev v ‚Tabela s podrobnimi rezultati testa' -assessment#:#tst_show_solution_compare_desc#:#Udeležencem se kot del ‚Tabele s podrobnimi rezultati testa' prikaže pregled z vzporednim prikazom njihovih odgovorov in najboljših možnih rešitev.
Ta pregled ni prikazan v podzavihku ‚Oceni odgovore' zavihka ‚Rezultati‘, čeprav je tukaj izbrana ta rešitev. -assessment#:#tst_show_solution_details#:#Ocenjeni odgovori udeležencev -assessment#:#tst_show_solution_details_desc#:#Poleg ‚Tabele s podrobnimi rezultati testa' udeleženci za vsako vprašanje na posebni strani prejmejo prikaz lastnega odgovora, informacijo o tem, ali je bil odgovor pravilen in koliko točk so prejeli zanj. assessment#:#tst_show_solution_details_singlepage#:#Scored Answers on single pages###26 08 2024 new variable assessment#:#tst_show_solution_details_singlepage_desc#:#Participants can access each question individually and see if their answers were correct and how many points they scored.###26 08 2024 new variable assessment#:#tst_show_solution_feedback#:#Povratne informacije @@ -1916,7 +1906,6 @@ assessment#:#tst_skill_triggerings_num_req_answers_desc#:#Kompetence se ugotavlj assessment#:#tst_skill_triggerings_num_req_answers_not_reached_warn#:#Najmanj ena od kompetenc, ki jih vključuje test, ni bila dodeljena zadostnemu številu vprašanj. Za te kompetence niso zabeleženi nobeni vnosi kompetenc za udeležence.
Minimalno število za dodeljena vprašanja: %s assessment#:#tst_skl_level_thresholds_link#:#Konfiguriraj mejne vrednosti kompetenc assessment#:#tst_skl_level_thresholds_missing#:#Za vse relevantne kompetence še ni opredeljenih mejnih vrednosti! -assessment#:#tst_skl_res_interpretation_hint_msg#:#Upoštevajte, da je pomen rezultatov kompetenc iz enega testa omejen. Čim več je zbranih informacij o posameznih kompetencah, bolj verodostojno je sporočilo. Če za posamezne kompetence ni nobenega vnosa, je bilo zanje na voljo premalo podatkov. assessment#:#tst_skl_sub_tab_thresholds#:#Mejne vrednosti kompetenc assessment#:#tst_sol_comp_expressions#:#Primerjalni izrazi assessment#:#tst_solution_compare_cfg#:#Konfiguracija za primerjavo odgovorov @@ -1978,7 +1967,6 @@ assessment#:#tst_unchanged_answer_is_correct#:#Privzeti odgovor je pravilen. assessment#:#tst_unchanged_order_is_correct#:#Privzeti vrstni red je pravilen. assessment#:#tst_use_previous_answers#:#Uporaba prejšnjih rešitev assessment#:#tst_use_previous_answers_description#:#Udeležencem prikaže odgovore iz prejšnjega opravljanja testa. To možnost mora udeleženec aktivirati v zavihku 'Informacije' pred začetkom testa. -assessment#:#tst_use_previous_answers_user#:#Uporabi moje rešitve iz prejšnjega opravljanja testa kot privzete vrednosti assessment#:#tst_user_finished_test#:#Udeleženec je zaključil test (%s) assessment#:#tst_view_competence_assign#:#Pokaži lastnosti dodeljevanja assessment#:#tst_virtual_pass_header_lo_initial#:#Vstopni rezultati za učni cilj
%s diff --git a/lang/ilias_sq.lang b/lang/ilias_sq.lang index 0863d92c462f..7f6135e02122 100644 --- a/lang/ilias_sq.lang +++ b/lang/ilias_sq.lang @@ -684,12 +684,10 @@ assessment#:#examid_in_test_res#:#ILIAS Testpass ID###27 01 2015 new variable assessment#:#examid_in_test_res_desc#:#The ILIAS Testpass ID will be included in the test results.###27 01 2015 new variable assessment#:#exp_all_test_runs#:#All test attempts###26 08 2024 new variable assessment#:#exp_eval_data#:#Eksporto të dhënat e vlerësimit si -assessment#:#exp_file_created#:#Export file created.###24 10 2013 new variable assessment#:#exp_grammar_as#:#as###26 08 2024 new variable assessment#:#exp_scored_test_attempt#:#Scored Test Attempt###28 10 2024 new variable assessment#:#exp_type_certificate#:#Certificate (PDF)###10 10 2006 new variable assessment#:#exp_type_excel#:#Microsoft Excel###17 May 2005 content changed -assessment#:#exp_type_spss#:#Vlera të ndara me presje (CSV) assessment#:#expected_result_type#:#Expected result type###24 10 2013 new variable assessment#:#export_cert_failed_for_users_p#:#No certificate file could be generated and added for the following %s accounts: %s. Please contact an administrator to check the log file.###26 08 2024 new variable assessment#:#export_cert_failed_for_users_s#:#No certificate file could be generated and added to the archive for the following account: %s. Please contact an administrator to check the log file.###26 08 2024 new variable @@ -1453,7 +1451,6 @@ assessment#:#tst_delete_missing_mark#:#Ju lutem zgjedhni së paku një rresht t assessment#:#tst_derive_new_pool#:#Derive New Question Pool###25 10 2016 new variable assessment#:#tst_derive_new_pools#:#Derive New Question Pools###25 10 2016 new variable assessment#:#tst_dont_show_msg_again_in_current_session#:#Don't show this message again in my current session.###10 11 2018 new variable -assessment#:#tst_dont_use_previous_answers#:#Your previous answers will not be used as default values in future test passes###12 11 2006 new variable assessment#:#tst_edit_competence_assign#:#Edit Assignment Properties###30 08 2015 new variable assessment#:#tst_edit_scoring#:#Edit Scoring###28 08 2012 new variable assessment#:#tst_enable_questionlist#:#Show 'List of Questions’###26 08 2024 new variable @@ -1509,7 +1506,6 @@ assessment#:#tst_finish_confirm_button#:#Yes, I want to finish the test###10 Jul assessment#:#tst_finish_confirm_cancel_button#:#No, go back to the previous question###10 Jul 2006 new variable assessment#:#tst_finish_confirmation_question#:#You are going to finish this test and reach the maximum number of allowed test passes. You won't be able to enter this test again to change your answers. Do you really want to finish the test? ###10 Jul 2006 new variable assessment#:#tst_finish_confirmation_question_no_attempts_left#:#You are going to finish this test and reach the maximum number of allowed test attempts. You won’t be able to enter this test again to change your answers. Do you really want to finish the test?###26 08 2024 new variable -assessment#:#tst_finish_notification_no#:#No e-mail###06 02 2015 new variable assessment#:#tst_finished#:#Finished ### 2006-8-11 --- Add new translation here. assessment#:#tst_form_dynamic_question_set_config#:#Continues Question Selection###24 10 2013 new variable assessment#:#tst_gap_analysis#:#Gap Analysis###26 09 2014 new variable @@ -1521,7 +1517,6 @@ assessment#:#tst_hide_info_tab#:#Hide Info Tab###26 08 2024 new variable assessment#:#tst_hide_info_tab_desc#:#Hides the tab ‘Info’ of the test.###26 08 2024 new variable assessment#:#tst_hide_pagecontents#:#Hide page content###26 08 2024 new variable assessment#:#tst_hide_pagecontents_desc#:#ILIAS content placed before and after the actual question text via the "Edit Page" button will not be displayed in the result views and print output.###26 08 2024 new variable -assessment#:#tst_hide_side_list#:#Hide question list###24 07 2009 new variable assessment#:#tst_highscore_achieved_ts#:#Show date of test###28 08 2012 new variable assessment#:#tst_highscore_achieved_ts_description#:#Controls, if a column with the test date should be shown.###28 08 2012 new variable assessment#:#tst_highscore_all_tables#:#All Rankings###07 11 2014 new variable @@ -1539,7 +1534,6 @@ assessment#:#tst_highscore_score#:#Show score###28 08 2012 new variable assessment#:#tst_highscore_score_description#:#Controls, if a column with the score should be shown.###28 08 2012 new variable assessment#:#tst_highscore_top_num#:#Number of ranks###28 08 2012 new variable assessment#:#tst_highscore_top_num_description#:#Controls, how many ranks should be included in the top ranking table.###28 08 2012 new variable -assessment#:#tst_highscore_top_num_unit#:#entries###28 08 2012 new variable assessment#:#tst_highscore_top_table#:#Show table 'top ranking'###28 08 2012 new variable assessment#:#tst_highscore_top_table_description#:#Controls, if the table 'top ranking' should be shown.###28 08 2012 new variable assessment#:#tst_highscore_wtime#:#Show working time###28 08 2012 new variable @@ -1890,10 +1884,6 @@ assessment#:#tst_show_results#:#Shih rezultatet e testit assessment#:#tst_show_side_list#:#Show question list aside###24 07 2009 new variable assessment#:#tst_show_solution_answers_only#:#Results print view (answers only)###14 11 2007 new variable assessment#:#tst_show_solution_answers_only_desc#:#If is selected, the ILIAS content you place around a question using the "Edit content" tab page will not be visible in a print-out. If you want to save some paper space, select this option.###07 11 2014 new variable -assessment#:#tst_show_solution_compare#:#Compare Answer with Solution in List of Answers###24 10 2013 new variable -assessment#:#tst_show_solution_compare_desc#:#Participants are presented with an overview comparing their own answers with the best solutions. Please note that this view will be displayed in the ‘Detailed Results’ that can be accessed via the ‘Show Test Results‘-button on the ‘Info’-tab. It will not be displayed in the printable ‘List of Answers’ even though the setting is made here.###06 02 2015 new variable -assessment#:#tst_show_solution_details#:#Score details###10 Jul 2006 new variable -assessment#:#tst_show_solution_details_desc#:#If selected, the detailed question solution is available to participants in the test results presentation. This includes the exact scoring of every answer, otherwise only an overview with the question titles and the reached points is shown.###07 11 2014 new variable assessment#:#tst_show_solution_details_singlepage#:#Scored Answers on single pages###26 08 2024 new variable assessment#:#tst_show_solution_details_singlepage_desc#:#Participants can access each question individually and see if their answers were correct and how many points they scored.###26 08 2024 new variable assessment#:#tst_show_solution_feedback#:#Show Answer-Specific Feedback in Test Results###10 05 2007 new variable @@ -1916,7 +1906,6 @@ assessment#:#tst_skill_triggerings_num_req_answers_desc#:#Competences aren't tri assessment#:#tst_skill_triggerings_num_req_answers_not_reached_warn#:#At least one of the competences addressed by this test is not triggered by the minimal required amount of questions.
The required amount of questions: %s###10 11 2018 new variable assessment#:#tst_skl_level_thresholds_link#:#Configure Competence-Thresholds###30 08 2015 new variable assessment#:#tst_skl_level_thresholds_missing#:#There are missing thresholds for the relevant competences!###30 08 2015 new variable -assessment#:#tst_skl_res_interpretation_hint_msg#:#Please consider that competence results from a single test has a limited significance. The more information is collected per competence, the merrier valid the significance will be. Should there are single competences without any entry, there is to less information collected.###30 08 2015 new variable assessment#:#tst_skl_sub_tab_thresholds#:#Competence Thresholds###26 09 2014 new variable assessment#:#tst_sol_comp_expressions#:#Comparison Expressions###30 08 2015 new variable assessment#:#tst_solution_compare_cfg#:#Configuration for Solution Compare###30 08 2015 new variable @@ -1978,7 +1967,6 @@ assessment#:#tst_unchanged_answer_is_correct#:#The preset answer is correct###fa assessment#:#tst_unchanged_order_is_correct#:#The preset order is correct###fau: testNav assessment#:#tst_use_previous_answers#:#Use Previous Answers###26 10 2006 new variable assessment#:#tst_use_previous_answers_description#:#If checked, the previous answers of a participant will be used as default values in future test passes###26 10 2006 new variable -assessment#:#tst_use_previous_answers_user#:#Use my previous answers as default values in future test passes###26 10 2006 new variable assessment#:#tst_user_finished_test#:#User finished test (%s)###24 07 2009 new variable assessment#:#tst_view_competence_assign#:#View Assignment Properties###30 08 2015 new variable assessment#:#tst_virtual_pass_header_lo_initial#:#Initial Test Results for the Learning Objectives
%s###30 08 2015 new variable diff --git a/lang/ilias_sr.lang b/lang/ilias_sr.lang index 63f56a1e69bc..fd5060a0faee 100644 --- a/lang/ilias_sr.lang +++ b/lang/ilias_sr.lang @@ -684,12 +684,10 @@ assessment#:#examid_in_test_res#:#ILIAS Testpass ID###27 01 2015 new variable assessment#:#examid_in_test_res_desc#:#The ILIAS Testpass ID will be included in the test results.###27 01 2015 new variable assessment#:#exp_all_test_runs#:#All test attempts###26 08 2024 new variable assessment#:#exp_eval_data#:#Ispišite podatke o ocenjivanju kao -assessment#:#exp_file_created#:#Export file created.###24 10 2013 new variable assessment#:#exp_grammar_as#:#as###26 08 2024 new variable assessment#:#exp_scored_test_attempt#:#Scored Test Attempt###28 10 2024 new variable assessment#:#exp_type_certificate#:#Certificate (PDF)###10 10 2006 new variable assessment#:#exp_type_excel#:#Microsoft Excel###17 May 2005 content changed -assessment#:#exp_type_spss#:#Zarezom odvojene vrednosti (CSV) assessment#:#expected_result_type#:#Expected result type###24 10 2013 new variable assessment#:#export_cert_failed_for_users_p#:#No certificate file could be generated and added for the following %s accounts: %s. Please contact an administrator to check the log file.###26 08 2024 new variable assessment#:#export_cert_failed_for_users_s#:#No certificate file could be generated and added to the archive for the following account: %s. Please contact an administrator to check the log file.###26 08 2024 new variable @@ -1453,7 +1451,6 @@ assessment#:#tst_delete_missing_mark#:#Molimo odaberite bar jedan postupak ocenj assessment#:#tst_derive_new_pool#:#Derive New Question Pool###25 10 2016 new variable assessment#:#tst_derive_new_pools#:#Derive New Question Pools###25 10 2016 new variable assessment#:#tst_dont_show_msg_again_in_current_session#:#Don't show this message again in my current session.###10 11 2018 new variable -assessment#:#tst_dont_use_previous_answers#:#Your previous answers will not be used as default values in future test passes###12 11 2006 new variable assessment#:#tst_edit_competence_assign#:#Edit Assignment Properties###30 08 2015 new variable assessment#:#tst_edit_scoring#:#Edit Scoring###28 08 2012 new variable assessment#:#tst_enable_questionlist#:#Show 'List of Questions’###26 08 2024 new variable @@ -1509,7 +1506,6 @@ assessment#:#tst_finish_confirm_button#:#Yes, I want to finish the test###10 Jul assessment#:#tst_finish_confirm_cancel_button#:#No, go back to the previous question###10 Jul 2006 new variable assessment#:#tst_finish_confirmation_question#:#You are going to finish this test and reach the maximum number of allowed test passes. You won't be able to enter this test again to change your answers. Do you really want to finish the test? ###10 Jul 2006 new variable assessment#:#tst_finish_confirmation_question_no_attempts_left#:#You are going to finish this test and reach the maximum number of allowed test attempts. You won’t be able to enter this test again to change your answers. Do you really want to finish the test?###26 08 2024 new variable -assessment#:#tst_finish_notification_no#:#No e-mail###06 02 2015 new variable assessment#:#tst_finished#:#Finished ### 2006-8-11 --- Add new translation here. assessment#:#tst_form_dynamic_question_set_config#:#Continues Question Selection###24 10 2013 new variable assessment#:#tst_gap_analysis#:#Gap Analysis###26 09 2014 new variable @@ -1521,7 +1517,6 @@ assessment#:#tst_hide_info_tab#:#Hide Info Tab###26 08 2024 new variable assessment#:#tst_hide_info_tab_desc#:#Hides the tab ‘Info’ of the test.###26 08 2024 new variable assessment#:#tst_hide_pagecontents#:#Hide page content###26 08 2024 new variable assessment#:#tst_hide_pagecontents_desc#:#ILIAS content placed before and after the actual question text via the "Edit Page" button will not be displayed in the result views and print output.###26 08 2024 new variable -assessment#:#tst_hide_side_list#:#Hide question list###24 07 2009 new variable assessment#:#tst_highscore_achieved_ts#:#Show date of test###28 08 2012 new variable assessment#:#tst_highscore_achieved_ts_description#:#Controls, if a column with the test date should be shown.###28 08 2012 new variable assessment#:#tst_highscore_all_tables#:#All Rankings###07 11 2014 new variable @@ -1539,7 +1534,6 @@ assessment#:#tst_highscore_score#:#Show score###28 08 2012 new variable assessment#:#tst_highscore_score_description#:#Controls, if a column with the score should be shown.###28 08 2012 new variable assessment#:#tst_highscore_top_num#:#Number of ranks###28 08 2012 new variable assessment#:#tst_highscore_top_num_description#:#Controls, how many ranks should be included in the top ranking table.###28 08 2012 new variable -assessment#:#tst_highscore_top_num_unit#:#entries###28 08 2012 new variable assessment#:#tst_highscore_top_table#:#Show table 'top ranking'###28 08 2012 new variable assessment#:#tst_highscore_top_table_description#:#Controls, if the table 'top ranking' should be shown.###28 08 2012 new variable assessment#:#tst_highscore_wtime#:#Show working time###28 08 2012 new variable @@ -1890,10 +1884,6 @@ assessment#:#tst_show_results#:#Prikaži rezultate testa assessment#:#tst_show_side_list#:#Show question list aside###24 07 2009 new variable assessment#:#tst_show_solution_answers_only#:#Results print view (answers only)###14 11 2007 new variable assessment#:#tst_show_solution_answers_only_desc#:#If is selected, the ILIAS content you place around a question using the "Edit content" tab page will not be visible in a print-out. If you want to save some paper space, select this option.###07 11 2014 new variable -assessment#:#tst_show_solution_compare#:#Compare Answer with Solution in List of Answers###24 10 2013 new variable -assessment#:#tst_show_solution_compare_desc#:#Participants are presented with an overview comparing their own answers with the best solutions. Please note that this view will be displayed in the ‘Detailed Results’ that can be accessed via the ‘Show Test Results‘-button on the ‘Info’-tab. It will not be displayed in the printable ‘List of Answers’ even though the setting is made here.###06 02 2015 new variable -assessment#:#tst_show_solution_details#:#Score details###10 Jul 2006 new variable -assessment#:#tst_show_solution_details_desc#:#If selected, the detailed question solution is available to participants in the test results presentation. This includes the exact scoring of every answer, otherwise only an overview with the question titles and the reached points is shown.###07 11 2014 new variable assessment#:#tst_show_solution_details_singlepage#:#Scored Answers on single pages###26 08 2024 new variable assessment#:#tst_show_solution_details_singlepage_desc#:#Participants can access each question individually and see if their answers were correct and how many points they scored.###26 08 2024 new variable assessment#:#tst_show_solution_feedback#:#Show Answer-Specific Feedback in Test Results###10 05 2007 new variable @@ -1916,7 +1906,6 @@ assessment#:#tst_skill_triggerings_num_req_answers_desc#:#Competences aren't tri assessment#:#tst_skill_triggerings_num_req_answers_not_reached_warn#:#At least one of the competences addressed by this test is not triggered by the minimal required amount of questions.
The required amount of questions: %s###10 11 2018 new variable assessment#:#tst_skl_level_thresholds_link#:#Configure Competence-Thresholds###30 08 2015 new variable assessment#:#tst_skl_level_thresholds_missing#:#There are missing thresholds for the relevant competences!###30 08 2015 new variable -assessment#:#tst_skl_res_interpretation_hint_msg#:#Please consider that competence results from a single test has a limited significance. The more information is collected per competence, the merrier valid the significance will be. Should there are single competences without any entry, there is to less information collected.###30 08 2015 new variable assessment#:#tst_skl_sub_tab_thresholds#:#Competence Thresholds###26 09 2014 new variable assessment#:#tst_sol_comp_expressions#:#Comparison Expressions###30 08 2015 new variable assessment#:#tst_solution_compare_cfg#:#Configuration for Solution Compare###30 08 2015 new variable @@ -1978,7 +1967,6 @@ assessment#:#tst_unchanged_answer_is_correct#:#The preset answer is correct###fa assessment#:#tst_unchanged_order_is_correct#:#The preset order is correct###fau: testNav assessment#:#tst_use_previous_answers#:#Use Previous Answers###26 10 2006 new variable assessment#:#tst_use_previous_answers_description#:#If checked, the previous answers of a participant will be used as default values in future test passes###26 10 2006 new variable -assessment#:#tst_use_previous_answers_user#:#Use my previous answers as default values in future test passes###26 10 2006 new variable assessment#:#tst_user_finished_test#:#User finished test (%s)###24 07 2009 new variable assessment#:#tst_view_competence_assign#:#View Assignment Properties###30 08 2015 new variable assessment#:#tst_virtual_pass_header_lo_initial#:#Initial Test Results for the Learning Objectives
%s###30 08 2015 new variable diff --git a/lang/ilias_sv.lang b/lang/ilias_sv.lang index 633d0ec78d82..e487e329b2b4 100644 --- a/lang/ilias_sv.lang +++ b/lang/ilias_sv.lang @@ -684,12 +684,10 @@ assessment#:#examid_in_test_res#:#Visa ILIAS provnummer assessment#:#examid_in_test_res_desc#:#I testresultaten, statistiken och Excel-exporten visas ILIAS-examensnumret. assessment#:#exp_all_test_runs#:#All test runs###21 11 2023 new variable assessment#:#exp_eval_data#:#Exportera utvärderingsdata som -assessment#:#exp_file_created#:#Exportfil genererad. assessment#:#exp_grammar_as#:#as###26 08 2024 new variable assessment#:#exp_scored_test_attempt#:#Scored Test Attempt assessment#:#exp_type_certificate#:#Certifikat (PDF) assessment#:#exp_type_excel#:#Microsoft Excel -assessment#:#exp_type_spss#:#Kommaseparerade värden (CSV) assessment#:#expected_result_type#:#Typ av förväntat resultat assessment#:#export_cert_failed_for_users_p#:#No certificate file could be generated and added for the following %s accounts: %s. Please contact an administrator to check the log file.###26 08 2024 new variable assessment#:#export_cert_failed_for_users_s#:#No certificate file could be generated and added to the archive for the following account: %s. Please contact an administrator to check the log file.###26 08 2024 new variable @@ -1453,7 +1451,6 @@ assessment#:#tst_delete_missing_mark#:#Välj minst en årskurs för att ta bort! assessment#:#tst_derive_new_pool#:#Skapa ny frågepool assessment#:#tst_derive_new_pools#:#Skapa nya frågepooler assessment#:#tst_dont_show_msg_again_in_current_session#:#Visa inte detta meddelande igen i min nuvarande session. -assessment#:#tst_dont_use_previous_answers#:#Dina tidigare svar kommer inte att användas som standardvärden i framtida testkörningar assessment#:#tst_edit_competence_assign#:#Redigera egenskaper för tilldelning assessment#:#tst_edit_scoring#:#Ändra betyg assessment#:#tst_enable_questionlist#:#Show 'List of Questions’###21 11 2023 new variable @@ -1509,7 +1506,6 @@ assessment#:#tst_finish_confirm_button#:#Ja, jag vill avsluta testet assessment#:#tst_finish_confirm_cancel_button#:#Nej, jag vill gå tillbaka till det senaste svaret assessment#:#tst_finish_confirmation_question#:#Du är på väg att avsluta testet och nå det maximala antalet tillåtna testkörningar. Efter det kommer du inte längre att kunna komma åt testet igen för att ändra dina svar. Vill du verkligen avsluta testet? assessment#:#tst_finish_confirmation_question_no_attempts_left#:#You are going to finish this test and reach the maximum number of allowed test attempts. You won’t be able to enter this test again to change your answers. Do you really want to finish the test?###21 11 2023 new variable -assessment#:#tst_finish_notification_no#:#Ingen anmälan assessment#:#tst_finished#:#Färdig assessment#:#tst_form_dynamic_question_set_config#:#Kontinuerligt urval av frågor assessment#:#tst_gap_analysis#:#Analys av luckor @@ -1521,7 +1517,6 @@ assessment#:#tst_hide_info_tab#:#Hide Info Tab###21 11 2023 new variable assessment#:#tst_hide_info_tab_desc#:#Hides the tab ‘Info’ of the test.###21 11 2023 new variable assessment#:#tst_hide_pagecontents#:# Dölj sidans innehåll assessment#:#tst_hide_pagecontents_desc#:#ILIAS-innehåll som placeras före och efter den faktiska frågetexten via knappen "Redigera sida" visas inte i resultatvyerna och utskriften. -assessment#:#tst_hide_side_list#:#Frågelista från assessment#:#tst_highscore_achieved_ts#:#Datum assessment#:#tst_highscore_achieved_ts_description#:#En extra kolumn med tiden för testet visas. assessment#:#tst_highscore_all_tables#:#Egen rankning och leaderboard @@ -1539,7 +1534,6 @@ assessment#:#tst_highscore_score#:#Poäng assessment#:#tst_highscore_score_description#:#Ytterligare en kolumn visas med antalet uppnådda poäng. assessment#:#tst_highscore_top_num#:#Bästa listlängd assessment#:#tst_highscore_top_num_description#:#Bestämmer hur många poster som visas i topplistan. -assessment#:#tst_highscore_top_num_unit#:#Placeringar assessment#:#tst_highscore_top_table#:#Bästalista assessment#:#tst_highscore_top_table_description#:#Deltagarna kommer att få se en tabell med de bästa placeringarna. assessment#:#tst_highscore_wtime#:#Bearbetningstid @@ -1890,10 +1884,6 @@ assessment#:#tst_show_results#:#Testresultat assessment#:#tst_show_side_list#:#Frågelista till assessment#:#tst_show_solution_answers_only#:#Skriv ut resultaten (endast svar) assessment#:#tst_show_solution_answers_only_desc#:#Om "Skriv ut resultat (endast svar)" är markerat, kommer ILIAS-innehåll som du kan placera före och efter den faktiska frågetexten via fliken "Redigera innehåll" i frågorna inte att visas i en utskrift. -assessment#:#tst_show_solution_compare#:#Visa bästa möjliga lösning i 'Tabell med detaljerade testresultat'. -assessment#:#tst_show_solution_compare_desc#:#Deltagarna presenteras med en översikt som en del av 'Tabell med detaljerade testresultat', som jämför deras egna svar och den bästa möjliga lösningen.
Denna översikt visas inte i underfliken "Poängbedömda svar" på fliken "Resultat", även om denna i -assessment#:#tst_show_solution_details#:#Rated svar som en lista -assessment#:#tst_show_solution_details_desc#:#En lista med dina egna svar läggs till i tabellen "Detaljerade testresultat". assessment#:#tst_show_solution_details_singlepage#:#Relaterade svar på enskilda sidor assessment#:#tst_show_solution_details_singlepage_desc#:#Deltagarna kan ringa upp varje fråga individuellt och se om deras svar var korrekta och hur många poäng de fick. assessment#:#tst_show_solution_feedback#:#Tillbaka @@ -1916,7 +1906,6 @@ assessment#:#tst_skill_triggerings_num_req_answers_desc#:#Kompetens samlas endas assessment#:#tst_skill_triggerings_num_req_answers_not_reached_warn#:#Minst en kompetens som tas upp i testet har inte tilldelats ett tillräckligt antal frågor. För dessa kompetenser registreras inga kompetensposter för deltagarna.
Minsta antal tilldelade frågor assessment#:#tst_skl_level_thresholds_link#:#Konfigurera tröskelvärden för kompetens assessment#:#tst_skl_level_thresholds_missing#:#Tröskelvärden har ännu inte definierats för alla relevanta kompetenser! -assessment#:#tst_skl_res_interpretation_hint_msg#:#Tänk på att kompetensresultaten från ett enskilt test endast är villkorligt meningsfulla. Ju mer information som samlas in om de enskilda kompetenserna, desto mer giltigt blir påståendet. Om enskilda kompetenser inte har angetts, har för lite information assessment#:#tst_skl_sub_tab_thresholds#:#Tröskelvärden för kompetens assessment#:#tst_sol_comp_expressions#:#Jämförelse av uttryck assessment#:#tst_solution_compare_cfg#:#Konfiguration för jämförelse av svar @@ -1978,7 +1967,6 @@ assessment#:#tst_unchanged_answer_is_correct#:#Det angivna svaret är korrekt. assessment#:#tst_unchanged_order_is_correct#:#Det givna arrangemanget är korrekt. assessment#:#tst_use_previous_answers#:#Använda tidigare lösningar assessment#:#tst_use_previous_answers_description#:#Visar deltagarna svaren från föregående testkörning. Alternativet måste aktiveras av deltagaren via en kryssruta på fliken "Info" innan testet påbörjas. -assessment#:#tst_use_previous_answers_user#:#Använd mina lösningar från en tidigare testkörning som standardvärden assessment#:#tst_user_finished_test#:#En deltagare har avslutat testet (%s) assessment#:#tst_view_competence_assign#:#Visa egenskaper för tilldelning assessment#:#tst_virtual_pass_header_lo_initial#:#Establishment-resultat för lärandemålet
%s diff --git a/lang/ilias_tr.lang b/lang/ilias_tr.lang index 0699f5698544..440b50fad240 100644 --- a/lang/ilias_tr.lang +++ b/lang/ilias_tr.lang @@ -684,12 +684,10 @@ assessment#:#examid_in_test_res#:#ILIAS Testpass ID###27 01 2015 new variable assessment#:#examid_in_test_res_desc#:#The ILIAS Testpass ID will be included in the test results.###27 01 2015 new variable assessment#:#exp_all_test_runs#:#All test attempts###26 08 2024 new variable assessment#:#exp_eval_data#:#Değerlendirme verilerini dışa aktar -assessment#:#exp_file_created#:#Export file created.###24 10 2013 new variable assessment#:#exp_grammar_as#:#as###26 08 2024 new variable assessment#:#exp_scored_test_attempt#:#Scored Test Attempt###28 10 2024 new variable assessment#:#exp_type_certificate#:#Sertifika (PDF) assessment#:#exp_type_excel#:#Microsoft Excel -assessment#:#exp_type_spss#:#Virgülle Ayrılmış Değer (CSV) assessment#:#expected_result_type#:#Expected result type###24 10 2013 new variable assessment#:#export_cert_failed_for_users_p#:#No certificate file could be generated and added for the following %s accounts: %s. Please contact an administrator to check the log file.###26 08 2024 new variable assessment#:#export_cert_failed_for_users_s#:#No certificate file could be generated and added to the archive for the following account: %s. Please contact an administrator to check the log file.###26 08 2024 new variable @@ -1453,7 +1451,6 @@ assessment#:#tst_delete_missing_mark#:#Silmek için en az bir adım seçiniz. assessment#:#tst_derive_new_pool#:#Derive New Question Pool###25 10 2016 new variable assessment#:#tst_derive_new_pools#:#Derive New Question Pools###25 10 2016 new variable assessment#:#tst_dont_show_msg_again_in_current_session#:#Don't show this message again in my current session.###10 11 2018 new variable -assessment#:#tst_dont_use_previous_answers#:#Sonraki testleriniz için önceki cevaplarınız varsayılan olarak kullanılmayacaktır. assessment#:#tst_edit_competence_assign#:#Edit Assignment Properties###30 08 2015 new variable assessment#:#tst_edit_scoring#:#Puanlama Düzenle assessment#:#tst_enable_questionlist#:#Show 'List of Questions’###26 08 2024 new variable @@ -1509,7 +1506,6 @@ assessment#:#tst_finish_confirm_button#:#Evet, testi bitirmek istiyorum assessment#:#tst_finish_confirm_cancel_button#:#Hayır, önceki soruya geri dön assessment#:#tst_finish_confirmation_question#:#Testi sonlandırmak üzeresiniz. Cevaplarınızı değiştirmek için bu teste tekrar giremeyeceksiniz. Gerçekten testi bitirmek istiyor musunuz? assessment#:#tst_finish_confirmation_question_no_attempts_left#:#You are going to finish this test and reach the maximum number of allowed test attempts. You won’t be able to enter this test again to change your answers. Do you really want to finish the test?###26 08 2024 new variable -assessment#:#tst_finish_notification_no#:#No e-mail###06 02 2015 new variable assessment#:#tst_finished#:#Bitti assessment#:#tst_form_dynamic_question_set_config#:#Continues Question Selection###24 10 2013 new variable assessment#:#tst_gap_analysis#:#Gap Analysis###26 09 2014 new variable @@ -1521,7 +1517,6 @@ assessment#:#tst_hide_info_tab#:#Hide Info Tab###26 08 2024 new variable assessment#:#tst_hide_info_tab_desc#:#Hides the tab ‘Info’ of the test.###26 08 2024 new variable assessment#:#tst_hide_pagecontents#:#Hide page content###26 08 2024 new variable assessment#:#tst_hide_pagecontents_desc#:#ILIAS content placed before and after the actual question text via the "Edit Page" button will not be displayed in the result views and print output.###26 08 2024 new variable -assessment#:#tst_hide_side_list#:#Soru listesini Gizle assessment#:#tst_highscore_achieved_ts#:#Test tarihini göster assessment#:#tst_highscore_achieved_ts_description#:#Kontroller, test tarihi sütunda gösterilecekse assessment#:#tst_highscore_all_tables#:#All Rankings###07 11 2014 new variable @@ -1539,7 +1534,6 @@ assessment#:#tst_highscore_score#:#Skoru Göster assessment#:#tst_highscore_score_description#:#Skor sütununu göstermek için kontroller assessment#:#tst_highscore_top_num#:#Başarı Sırası Eleman Sayısı assessment#:#tst_highscore_top_num_description#:#En iyi derece tablosuna kaç adet kayıt eklenmeli -assessment#:#tst_highscore_top_num_unit#:#eleman assessment#:#tst_highscore_top_table#:#'En iyi derece' Tablosunu Göster assessment#:#tst_highscore_top_table_description#:#Kontroller, tablo 'üst düzey' gösterildiği gibi olmalıdır eğer. assessment#:#tst_highscore_wtime#:#Çalışma süresini göster @@ -1890,10 +1884,6 @@ assessment#:#tst_show_results#:#Test Sonuçlarını Göster assessment#:#tst_show_side_list#:#Soru listesini göster assessment#:#tst_show_solution_answers_only#:#Sonuçları Yazdır (Sadece Yanıtlar) assessment#:#tst_show_solution_answers_only_desc#:#If is selected, the ILIAS content you place around a question using the "Edit content" tab page will not be visible in a print-out. If you want to save some paper space, select this option.###07 11 2014 new variable -assessment#:#tst_show_solution_compare#:#Compare Answer with Solution in List of Answers###24 10 2013 new variable -assessment#:#tst_show_solution_compare_desc#:#Participants are presented with an overview comparing their own answers with the best solutions. Please note that this view will be displayed in the ‘Detailed Results’ that can be accessed via the ‘Show Test Results‘-button on the ‘Info’-tab. It will not be displayed in the printable ‘List of Answers’ even though the setting is made here.###06 02 2015 new variable -assessment#:#tst_show_solution_details#:#Test Sonuçlarında Çözümleri Göster -assessment#:#tst_show_solution_details_desc#:#If selected, the detailed question solution is available to participants in the test results presentation. This includes the exact scoring of every answer, otherwise only an overview with the question titles and the reached points is shown.###07 11 2014 new variable assessment#:#tst_show_solution_details_singlepage#:#Scored Answers on single pages###26 08 2024 new variable assessment#:#tst_show_solution_details_singlepage_desc#:#Participants can access each question individually and see if their answers were correct and how many points they scored.###26 08 2024 new variable assessment#:#tst_show_solution_feedback#:#Soruya Özgü Geri Bildirimleri Test Sonuçlarında Göster @@ -1916,7 +1906,6 @@ assessment#:#tst_skill_triggerings_num_req_answers_desc#:#Competences aren't tri assessment#:#tst_skill_triggerings_num_req_answers_not_reached_warn#:#At least one of the competences addressed by this test is not triggered by the minimal required amount of questions.
The required amount of questions: %s###10 11 2018 new variable assessment#:#tst_skl_level_thresholds_link#:#Configure Competence-Thresholds###30 08 2015 new variable assessment#:#tst_skl_level_thresholds_missing#:#There are missing thresholds for the relevant competences!###30 08 2015 new variable -assessment#:#tst_skl_res_interpretation_hint_msg#:#Please consider that competence results from a single test has a limited significance. The more information is collected per competence, the merrier valid the significance will be. Should there are single competences without any entry, there is to less information collected.###30 08 2015 new variable assessment#:#tst_skl_sub_tab_thresholds#:#Competence Thresholds###26 09 2014 new variable assessment#:#tst_sol_comp_expressions#:#Comparison Expressions###30 08 2015 new variable assessment#:#tst_solution_compare_cfg#:#Configuration for Solution Compare###30 08 2015 new variable @@ -1978,7 +1967,6 @@ assessment#:#tst_unchanged_answer_is_correct#:#The preset answer is correct###fa assessment#:#tst_unchanged_order_is_correct#:#The preset order is correct###fau: testNav assessment#:#tst_use_previous_answers#:#Önceki Cevapları Kullan assessment#:#tst_use_previous_answers_description#:#Etkinse, katılımcı önceki cevaplarını geçtiği her testte varsayılan cevaplar olarak seçebilir. Etkin değilse, önceki cevaplar geçilen testlerde gösterilmez. -assessment#:#tst_use_previous_answers_user#:#Geçilen testlerde önceki cevaplarımı varsayılan değer olarak kullan assessment#:#tst_user_finished_test#:#Kullanıcı testi bitirdi (% s) assessment#:#tst_view_competence_assign#:#View Assignment Properties###30 08 2015 new variable assessment#:#tst_virtual_pass_header_lo_initial#:#Initial Test Results for the Learning Objectives
%s###30 08 2015 new variable diff --git a/lang/ilias_uk.lang b/lang/ilias_uk.lang index 9365172922c9..6395b90bffaf 100644 --- a/lang/ilias_uk.lang +++ b/lang/ilias_uk.lang @@ -684,12 +684,10 @@ assessment#:#examid_in_test_res#:#ILIAS Testpass ID###27 01 2015 new variable assessment#:#examid_in_test_res_desc#:#The ILIAS Testpass ID will be included in the test results.###27 01 2015 new variable assessment#:#exp_all_test_runs#:#All test attempts###26 08 2024 new variable assessment#:#exp_eval_data#:#Експортувати Оціночну Дату -assessment#:#exp_file_created#:#Export file created.###24 10 2013 new variable assessment#:#exp_grammar_as#:#as###26 08 2024 new variable assessment#:#exp_scored_test_attempt#:#Scored Test Attempt###28 10 2024 new variable assessment#:#exp_type_certificate#:#Certificate (PDF)###25 02 2007 new variable assessment#:#exp_type_excel#:# Excel ###17 May 2005 content changed -assessment#:#exp_type_spss#:# SPSS assessment#:#expected_result_type#:#Expected result type###24 10 2013 new variable assessment#:#export_cert_failed_for_users_p#:#No certificate file could be generated and added for the following %s accounts: %s. Please contact an administrator to check the log file.###26 08 2024 new variable assessment#:#export_cert_failed_for_users_s#:#No certificate file could be generated and added to the archive for the following account: %s. Please contact an administrator to check the log file.###26 08 2024 new variable @@ -1453,7 +1451,6 @@ assessment#:#tst_delete_missing_mark#:#Будь ласка виберіть пр assessment#:#tst_derive_new_pool#:#Derive New Question Pool###25 10 2016 new variable assessment#:#tst_derive_new_pools#:#Derive New Question Pools###25 10 2016 new variable assessment#:#tst_dont_show_msg_again_in_current_session#:#Don't show this message again in my current session.###10 11 2018 new variable -assessment#:#tst_dont_use_previous_answers#:#Your previous answers will not be used as default values in future test passes###25 02 2007 new variable assessment#:#tst_edit_competence_assign#:#Edit Assignment Properties###30 08 2015 new variable assessment#:#tst_edit_scoring#:#Edit Scoring###28 08 2012 new variable assessment#:#tst_enable_questionlist#:#Show 'List of Questions’###26 08 2024 new variable @@ -1509,7 +1506,6 @@ assessment#:#tst_finish_confirm_button#:#Yes, I want to finish the test###01 Mar assessment#:#tst_finish_confirm_cancel_button#:#No, go back to the previous answer###01 Mar 2006 new variable assessment#:#tst_finish_confirmation_question#:#You are going to finish this test and reach the maximum number of allowed test passes. You won't be able to enter this test again to change your answers. Do you really want to finish the test?###01 Mar 2006 new variable assessment#:#tst_finish_confirmation_question_no_attempts_left#:#You are going to finish this test and reach the maximum number of allowed test attempts. You won’t be able to enter this test again to change your answers. Do you really want to finish the test?###26 08 2024 new variable -assessment#:#tst_finish_notification_no#:#No e-mail###06 02 2015 new variable assessment#:#tst_finished#:#Закінчений assessment#:#tst_form_dynamic_question_set_config#:#Continues Question Selection###24 10 2013 new variable assessment#:#tst_gap_analysis#:#Gap Analysis###26 09 2014 new variable @@ -1521,7 +1517,6 @@ assessment#:#tst_hide_info_tab#:#Hide Info Tab###26 08 2024 new variable assessment#:#tst_hide_info_tab_desc#:#Hides the tab ‘Info’ of the test.###26 08 2024 new variable assessment#:#tst_hide_pagecontents#:#Hide page content###26 08 2024 new variable assessment#:#tst_hide_pagecontents_desc#:#ILIAS content placed before and after the actual question text via the "Edit Page" button will not be displayed in the result views and print output.###26 08 2024 new variable -assessment#:#tst_hide_side_list#:#Hide question list###24 07 2009 new variable assessment#:#tst_highscore_achieved_ts#:#Show date of test###28 08 2012 new variable assessment#:#tst_highscore_achieved_ts_description#:#Controls, if a column with the test date should be shown.###28 08 2012 new variable assessment#:#tst_highscore_all_tables#:#All Rankings###07 11 2014 new variable @@ -1539,7 +1534,6 @@ assessment#:#tst_highscore_score#:#Show score###28 08 2012 new variable assessment#:#tst_highscore_score_description#:#Controls, if a column with the score should be shown.###28 08 2012 new variable assessment#:#tst_highscore_top_num#:#Number of ranks###28 08 2012 new variable assessment#:#tst_highscore_top_num_description#:#Controls, how many ranks should be included in the top ranking table.###28 08 2012 new variable -assessment#:#tst_highscore_top_num_unit#:#entries###28 08 2012 new variable assessment#:#tst_highscore_top_table#:#Show table 'top ranking'###28 08 2012 new variable assessment#:#tst_highscore_top_table_description#:#Controls, if the table 'top ranking' should be shown.###28 08 2012 new variable assessment#:#tst_highscore_wtime#:#Show working time###28 08 2012 new variable @@ -1890,10 +1884,6 @@ assessment#:#tst_show_results#:#Показати результати тесту assessment#:#tst_show_side_list#:#Show question list aside###24 07 2009 new variable assessment#:#tst_show_solution_answers_only#:#Results print view (answers only)###14 11 2007 new variable assessment#:#tst_show_solution_answers_only_desc#:#If is selected, the ILIAS content you place around a question using the "Edit content" tab page will not be visible in a print-out. If you want to save some paper space, select this option.###07 11 2014 new variable -assessment#:#tst_show_solution_compare#:#Compare Answer with Solution in List of Answers###24 10 2013 new variable -assessment#:#tst_show_solution_compare_desc#:#Participants are presented with an overview comparing their own answers with the best solutions. Please note that this view will be displayed in the ‘Detailed Results’ that can be accessed via the ‘Show Test Results‘-button on the ‘Info’-tab. It will not be displayed in the printable ‘List of Answers’ even though the setting is made here.###06 02 2015 new variable -assessment#:#tst_show_solution_details#:#Show Solutions in Test Results###25 02 2007 new variable -assessment#:#tst_show_solution_details_desc#:#If selected, the detailed question solution is available to participants in the test results presentation. This includes the exact scoring of every answer, otherwise only an overview with the question titles and the reached points is shown.###07 11 2014 new variable assessment#:#tst_show_solution_details_singlepage#:#Scored Answers on single pages###26 08 2024 new variable assessment#:#tst_show_solution_details_singlepage_desc#:#Participants can access each question individually and see if their answers were correct and how many points they scored.###26 08 2024 new variable assessment#:#tst_show_solution_feedback#:#Show Answer-Specific Feedback in Test Results###10 05 2007 new variable @@ -1916,7 +1906,6 @@ assessment#:#tst_skill_triggerings_num_req_answers_desc#:#Competences aren't tri assessment#:#tst_skill_triggerings_num_req_answers_not_reached_warn#:#At least one of the competences addressed by this test is not triggered by the minimal required amount of questions.
The required amount of questions: %s###10 11 2018 new variable assessment#:#tst_skl_level_thresholds_link#:#Configure Competence-Thresholds###30 08 2015 new variable assessment#:#tst_skl_level_thresholds_missing#:#There are missing thresholds for the relevant competences!###30 08 2015 new variable -assessment#:#tst_skl_res_interpretation_hint_msg#:#Please consider that competence results from a single test has a limited significance. The more information is collected per competence, the merrier valid the significance will be. Should there are single competences without any entry, there is to less information collected.###30 08 2015 new variable assessment#:#tst_skl_sub_tab_thresholds#:#Competence Thresholds###26 09 2014 new variable assessment#:#tst_sol_comp_expressions#:#Comparison Expressions###30 08 2015 new variable assessment#:#tst_solution_compare_cfg#:#Configuration for Solution Compare###30 08 2015 new variable @@ -1978,7 +1967,6 @@ assessment#:#tst_unchanged_answer_is_correct#:#The preset answer is correct###fa assessment#:#tst_unchanged_order_is_correct#:#The preset order is correct###fau: testNav assessment#:#tst_use_previous_answers#:#Use Previous Answers###25 02 2007 new variable assessment#:#tst_use_previous_answers_description#:#If checked, a participant may choose to use the previous answers as default values in future test passes, otherwise the previous answers are not shown in future test passes###25 02 2007 new variable -assessment#:#tst_use_previous_answers_user#:#Use my previous answers as default values in future test passes###25 02 2007 new variable assessment#:#tst_user_finished_test#:#User finished test (%s)###24 07 2009 new variable assessment#:#tst_view_competence_assign#:#View Assignment Properties###30 08 2015 new variable assessment#:#tst_virtual_pass_header_lo_initial#:#Initial Test Results for the Learning Objectives
%s###30 08 2015 new variable diff --git a/lang/ilias_vi.lang b/lang/ilias_vi.lang index 794cb300a8c9..0678a007da92 100644 --- a/lang/ilias_vi.lang +++ b/lang/ilias_vi.lang @@ -686,12 +686,10 @@ assessment#:#examid_in_test_res#:#ILIAS Testpass ID###27 01 2015 new variable assessment#:#examid_in_test_res_desc#:#The ILIAS Testpass ID will be included in the test results.###27 01 2015 new variable assessment#:#exp_all_test_runs#:#All test attempts###26 08 2024 new variable assessment#:#exp_eval_data#:#Xuất kết quả đánh giá như là -assessment#:#exp_file_created#:#Export file created.###24 10 2013 new variable assessment#:#exp_grammar_as#:#as###26 08 2024 new variable assessment#:#exp_scored_test_attempt#:#Scored Test Attempt###28 10 2024 new variable assessment#:#exp_type_certificate#:#Certificate (PDF)###25 02 2007 new variable assessment#:#exp_type_excel#:#Microsoft Excel###23 Mar 2006 content changed -assessment#:#exp_type_spss#:#Giá trị phân tách bằng dấu phẩy (CSV) assessment#:#expected_result_type#:#Expected result type###24 10 2013 new variable assessment#:#export_cert_failed_for_users_p#:#No certificate file could be generated and added for the following %s accounts: %s. Please contact an administrator to check the log file.###26 08 2024 new variable assessment#:#export_cert_failed_for_users_s#:#No certificate file could be generated and added to the archive for the following account: %s. Please contact an administrator to check the log file.###26 08 2024 new variable @@ -1455,7 +1453,6 @@ assessment#:#tst_delete_missing_mark#:#Hãy chọn ít nhất một thang điể assessment#:#tst_derive_new_pool#:#Derive New Question Pool###25 10 2016 new variable assessment#:#tst_derive_new_pools#:#Derive New Question Pools###25 10 2016 new variable assessment#:#tst_dont_show_msg_again_in_current_session#:#Don't show this message again in my current session.###10 11 2018 new variable -assessment#:#tst_dont_use_previous_answers#:#Your previous answers will not be used as default values in future test passes###25 02 2007 new variable assessment#:#tst_edit_competence_assign#:#Edit Assignment Properties###30 08 2015 new variable assessment#:#tst_edit_scoring#:#Edit Scoring###28 08 2012 new variable assessment#:#tst_enable_questionlist#:#Show 'List of Questions’###26 08 2024 new variable @@ -1511,7 +1508,6 @@ assessment#:#tst_finish_confirm_button#:#Yes, I want to finish the test###01 Mar assessment#:#tst_finish_confirm_cancel_button#:#No, go back to the previous answer###01 Mar 2006 new variable assessment#:#tst_finish_confirmation_question#:#You are going to finish this test and reach the maximum number of allowed test passes. You won't be able to enter this test again to change your answers. Do you really want to finish the test?###01 Mar 2006 new variable assessment#:#tst_finish_confirmation_question_no_attempts_left#:#You are going to finish this test and reach the maximum number of allowed test attempts. You won’t be able to enter this test again to change your answers. Do you really want to finish the test?###26 08 2024 new variable -assessment#:#tst_finish_notification_no#:#No e-mail###06 02 2015 new variable assessment#:#tst_finished#:#Kết thúc assessment#:#tst_form_dynamic_question_set_config#:#Continues Question Selection###24 10 2013 new variable assessment#:#tst_gap_analysis#:#Gap Analysis###26 09 2014 new variable @@ -1523,7 +1519,6 @@ assessment#:#tst_hide_info_tab#:#Hide Info Tab###26 08 2024 new variable assessment#:#tst_hide_info_tab_desc#:#Hides the tab ‘Info’ of the test.###26 08 2024 new variable assessment#:#tst_hide_pagecontents#:#Hide page content###26 08 2024 new variable assessment#:#tst_hide_pagecontents_desc#:#ILIAS content placed before and after the actual question text via the "Edit Page" button will not be displayed in the result views and print output.###26 08 2024 new variable -assessment#:#tst_hide_side_list#:#Hide question list###24 07 2009 new variable assessment#:#tst_highscore_achieved_ts#:#Show date of test###28 08 2012 new variable assessment#:#tst_highscore_achieved_ts_description#:#Controls, if a column with the test date should be shown.###28 08 2012 new variable assessment#:#tst_highscore_all_tables#:#All Rankings###07 11 2014 new variable @@ -1541,7 +1536,6 @@ assessment#:#tst_highscore_score#:#Show score###28 08 2012 new variable assessment#:#tst_highscore_score_description#:#Controls, if a column with the score should be shown.###28 08 2012 new variable assessment#:#tst_highscore_top_num#:#Number of ranks###28 08 2012 new variable assessment#:#tst_highscore_top_num_description#:#Controls, how many ranks should be included in the top ranking table.###28 08 2012 new variable -assessment#:#tst_highscore_top_num_unit#:#entries###28 08 2012 new variable assessment#:#tst_highscore_top_table#:#Show table 'top ranking'###28 08 2012 new variable assessment#:#tst_highscore_top_table_description#:#Controls, if the table 'top ranking' should be shown.###28 08 2012 new variable assessment#:#tst_highscore_wtime#:#Show working time###28 08 2012 new variable @@ -1892,10 +1886,6 @@ assessment#:#tst_show_results#:#Hiện kết quả bài kiểm tra assessment#:#tst_show_side_list#:#Show question list aside###24 07 2009 new variable assessment#:#tst_show_solution_answers_only#:#Results print view (answers only)###14 11 2007 new variable assessment#:#tst_show_solution_answers_only_desc#:#If is selected, the ILIAS content you place around a question using the "Edit content" tab page will not be visible in a print-out. If you want to save some paper space, select this option.###07 11 2014 new variable -assessment#:#tst_show_solution_compare#:#Compare Answer with Solution in List of Answers###24 10 2013 new variable -assessment#:#tst_show_solution_compare_desc#:#Participants are presented with an overview comparing their own answers with the best solutions. Please note that this view will be displayed in the ‘Detailed Results’ that can be accessed via the ‘Show Test Results‘-button on the ‘Info’-tab. It will not be displayed in the printable ‘List of Answers’ even though the setting is made here.###06 02 2015 new variable -assessment#:#tst_show_solution_details#:#Show Solutions in Test Results###25 02 2007 new variable -assessment#:#tst_show_solution_details_desc#:#If selected, the detailed question solution is available to participants in the test results presentation. This includes the exact scoring of every answer, otherwise only an overview with the question titles and the reached points is shown.###07 11 2014 new variable assessment#:#tst_show_solution_details_singlepage#:#Scored Answers on single pages###26 08 2024 new variable assessment#:#tst_show_solution_details_singlepage_desc#:#Participants can access each question individually and see if their answers were correct and how many points they scored.###26 08 2024 new variable assessment#:#tst_show_solution_feedback#:#Show Answer-Specific Feedback in Test Results###10 05 2007 new variable @@ -1918,7 +1908,6 @@ assessment#:#tst_skill_triggerings_num_req_answers_desc#:#Competences aren't tri assessment#:#tst_skill_triggerings_num_req_answers_not_reached_warn#:#At least one of the competences addressed by this test is not triggered by the minimal required amount of questions.
The required amount of questions: %s###10 11 2018 new variable assessment#:#tst_skl_level_thresholds_link#:#Configure Competence-Thresholds###30 08 2015 new variable assessment#:#tst_skl_level_thresholds_missing#:#There are missing thresholds for the relevant competences!###30 08 2015 new variable -assessment#:#tst_skl_res_interpretation_hint_msg#:#Please consider that competence results from a single test has a limited significance. The more information is collected per competence, the merrier valid the significance will be. Should there are single competences without any entry, there is to less information collected.###30 08 2015 new variable assessment#:#tst_skl_sub_tab_thresholds#:#Competence Thresholds###26 09 2014 new variable assessment#:#tst_sol_comp_expressions#:#Comparison Expressions###30 08 2015 new variable assessment#:#tst_solution_compare_cfg#:#Configuration for Solution Compare###30 08 2015 new variable @@ -1980,7 +1969,6 @@ assessment#:#tst_unchanged_answer_is_correct#:#The preset answer is correct###fa assessment#:#tst_unchanged_order_is_correct#:#The preset order is correct###fau: testNav assessment#:#tst_use_previous_answers#:#Use Previous Answers###25 02 2007 new variable assessment#:#tst_use_previous_answers_description#:#If checked, a participant may choose to use the previous answers as default values in future test passes, otherwise the previous answers are not shown in future test passes###25 02 2007 new variable -assessment#:#tst_use_previous_answers_user#:#Use my previous answers as default values in future test passes###25 02 2007 new variable assessment#:#tst_user_finished_test#:#User finished test (%s)###24 07 2009 new variable assessment#:#tst_view_competence_assign#:#View Assignment Properties###30 08 2015 new variable assessment#:#tst_virtual_pass_header_lo_initial#:#Initial Test Results for the Learning Objectives
%s###30 08 2015 new variable diff --git a/lang/ilias_zh.lang b/lang/ilias_zh.lang index d1f95698ca33..db6d736ee47a 100644 --- a/lang/ilias_zh.lang +++ b/lang/ilias_zh.lang @@ -683,12 +683,10 @@ assessment#:#examid_in_test_res#:#ILIAS Testpass ID###27 01 2015 new variable assessment#:#examid_in_test_res_desc#:#The ILIAS Testpass ID will be included in the test results.###27 01 2015 new variable assessment#:#exp_all_test_runs#:#All test attempts###26 08 2024 new variable assessment#:#exp_eval_data#:#导出评价数据 -assessment#:#exp_file_created#:#Export file created.###24 10 2013 new variable assessment#:#exp_grammar_as#:#as###26 08 2024 new variable assessment#:#exp_scored_test_attempt#:#Scored Test Attempt###28 10 2024 new variable assessment#:#exp_type_certificate#:#Certificate (PDF) xy assessment#:#exp_type_excel#:# Excel -assessment#:#exp_type_spss#:# SPSS assessment#:#expected_result_type#:#Expected result type###24 10 2013 new variable assessment#:#export_cert_failed_for_users_p#:#No certificate file could be generated and added for the following %s accounts: %s. Please contact an administrator to check the log file.###26 08 2024 new variable assessment#:#export_cert_failed_for_users_s#:#No certificate file could be generated and added to the archive for the following account: %s. Please contact an administrator to check the log file.###26 08 2024 new variable @@ -1452,7 +1450,6 @@ assessment#:#tst_delete_missing_mark#:#请至少选择一个标记步骤去删 assessment#:#tst_derive_new_pool#:#Derive New Question Pool###25 10 2016 new variable assessment#:#tst_derive_new_pools#:#Derive New Question Pools###25 10 2016 new variable assessment#:#tst_dont_show_msg_again_in_current_session#:#Don't show this message again in my current session.###10 11 2018 new variable -assessment#:#tst_dont_use_previous_answers#:#您之前的答案将不会在未来的测试中作为默认值使用 assessment#:#tst_edit_competence_assign#:#Edit Assignment Properties###30 08 2015 new variable assessment#:#tst_edit_scoring#:#编辑评分 assessment#:#tst_enable_questionlist#:#Show 'List of Questions’###26 08 2024 new variable @@ -1508,7 +1505,6 @@ assessment#:#tst_finish_confirm_button#:#是的,我想完成这个测试 assessment#:#tst_finish_confirm_cancel_button#:#不,返回之前的答案 assessment#:#tst_finish_confirmation_question#:#您将要完成这次测试并且达到了测试所允许的最大次数。您将不能再次进入这次测试去修改您的答案。您真的想完成这次测试吗? assessment#:#tst_finish_confirmation_question_no_attempts_left#:#You are going to finish this test and reach the maximum number of allowed test attempts. You won’t be able to enter this test again to change your answers. Do you really want to finish the test?###26 08 2024 new variable -assessment#:#tst_finish_notification_no#:#No e-mail###06 02 2015 new variable assessment#:#tst_finished#:#已完成 assessment#:#tst_form_dynamic_question_set_config#:#Continues Question Selection###24 10 2013 new variable assessment#:#tst_gap_analysis#:#Gap Analysis###26 09 2014 new variable @@ -1520,7 +1516,6 @@ assessment#:#tst_hide_info_tab#:#Hide Info Tab###26 08 2024 new variable assessment#:#tst_hide_info_tab_desc#:#Hides the tab ‘Info’ of the test.###26 08 2024 new variable assessment#:#tst_hide_pagecontents#:#Hide page content###26 08 2024 new variable assessment#:#tst_hide_pagecontents_desc#:#ILIAS content placed before and after the actual question text via the "Edit Page" button will not be displayed in the result views and print output.###26 08 2024 new variable -assessment#:#tst_hide_side_list#:#隐藏题目列表 assessment#:#tst_highscore_achieved_ts#:#显示测试的日期 assessment#:#tst_highscore_achieved_ts_description#:#控制,如果测试日期应被显示的一列。 assessment#:#tst_highscore_all_tables#:#All Rankings###07 11 2014 new variable @@ -1538,7 +1533,6 @@ assessment#:#tst_highscore_score#:#显示得分 assessment#:#tst_highscore_score_description#:#控制,如果得分应被显示的一列。 assessment#:#tst_highscore_top_num#:#行列数 assessment#:#tst_highscore_top_num_description#:#控制,多少行列应包含在顶部行列表中。 -assessment#:#tst_highscore_top_num_unit#:#条目 assessment#:#tst_highscore_top_table#:#显示表“顶部排名” assessment#:#tst_highscore_top_table_description#:#控制,如果表“顶部行列”应显示。 assessment#:#tst_highscore_wtime#:#显示工作时间 @@ -1889,10 +1883,6 @@ assessment#:#tst_show_results#:#显示测试成绩 assessment#:#tst_show_side_list#:#在旁边显示题目列表 assessment#:#tst_show_solution_answers_only#:#成绩打印视图(仅答案) assessment#:#tst_show_solution_answers_only_desc#:#If is selected, the ILIAS content you place around a question using the "Edit content" tab page will not be visible in a print-out. If you want to save some paper space, select this option.###07 11 2014 new variable -assessment#:#tst_show_solution_compare#:#Compare Answer with Solution in List of Answers###24 10 2013 new variable -assessment#:#tst_show_solution_compare_desc#:#Participants are presented with an overview comparing their own answers with the best solutions. Please note that this view will be displayed in the ‘Detailed Results’ that can be accessed via the ‘Show Test Results‘-button on the ‘Info’-tab. It will not be displayed in the printable ‘List of Answers’ even though the setting is made here.###06 02 2015 new variable -assessment#:#tst_show_solution_details#:#显示测试成绩的方案 -assessment#:#tst_show_solution_details_desc#:#If selected, the detailed question solution is available to participants in the test results presentation. This includes the exact scoring of every answer, otherwise only an overview with the question titles and the reached points is shown.###07 11 2014 new variable assessment#:#tst_show_solution_details_singlepage#:#Scored Answers on single pages###26 08 2024 new variable assessment#:#tst_show_solution_details_singlepage_desc#:#Participants can access each question individually and see if their answers were correct and how many points they scored.###26 08 2024 new variable assessment#:#tst_show_solution_feedback#:#在测试成绩中显示特定的答案反馈 @@ -1915,7 +1905,6 @@ assessment#:#tst_skill_triggerings_num_req_answers_desc#:#Competences aren't tri assessment#:#tst_skill_triggerings_num_req_answers_not_reached_warn#:#At least one of the competences addressed by this test is not triggered by the minimal required amount of questions.
The required amount of questions: %s###10 11 2018 new variable assessment#:#tst_skl_level_thresholds_link#:#Configure Competence-Thresholds###30 08 2015 new variable assessment#:#tst_skl_level_thresholds_missing#:#There are missing thresholds for the relevant competences!###30 08 2015 new variable -assessment#:#tst_skl_res_interpretation_hint_msg#:#Please consider that competence results from a single test has a limited significance. The more information is collected per competence, the merrier valid the significance will be. Should there are single competences without any entry, there is to less information collected.###30 08 2015 new variable assessment#:#tst_skl_sub_tab_thresholds#:#Competence Thresholds###26 09 2014 new variable assessment#:#tst_sol_comp_expressions#:#Comparison Expressions###30 08 2015 new variable assessment#:#tst_solution_compare_cfg#:#Configuration for Solution Compare###30 08 2015 new variable @@ -1977,7 +1966,6 @@ assessment#:#tst_unchanged_answer_is_correct#:#The preset answer is correct###fa assessment#:#tst_unchanged_order_is_correct#:#The preset order is correct###fau: testNav assessment#:#tst_use_previous_answers#:#使用之前的答案 assessment#:#tst_use_previous_answers_description#:#如果勾选,在未来的测试过程中,参与者可以选择使用以前的答案做为默认值,否则以前的答案不显示在未来的测试过程中 -assessment#:#tst_use_previous_answers_user#:#在未来的测试过程中使用我以前的答案做为默认值 assessment#:#tst_user_finished_test#:#用户已完成的测试(%s) assessment#:#tst_view_competence_assign#:#View Assignment Properties###30 08 2015 new variable assessment#:#tst_virtual_pass_header_lo_initial#:#Initial Test Results for the Learning Objectives
%s###30 08 2015 new variable From bb0c338537642f467db78e39efd5d9fc4f19a041 Mon Sep 17 00:00:00 2001 From: Aaron Bidzan Date: Fri, 5 Dec 2025 11:15:48 +0100 Subject: [PATCH 159/865] Fixes anonymity call when exporting test --- components/ILIAS/Test/classes/class.ilObjTestAccess.php | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/components/ILIAS/Test/classes/class.ilObjTestAccess.php b/components/ILIAS/Test/classes/class.ilObjTestAccess.php index 61f50dc805dc..f38a17efd03f 100755 --- a/components/ILIAS/Test/classes/class.ilObjTestAccess.php +++ b/components/ILIAS/Test/classes/class.ilObjTestAccess.php @@ -328,7 +328,8 @@ public static function _getParticipantData(int $active_id): string $row_test = $ilDB->fetchAssoc($result_test); $obj_id = $row_test['obj_fi']; - if (ilObjTest::_lookupAnonymity($obj_id)) { + $test_obj = new ilObjTest($obj_id, false); + if ($test_obj->getAnonymity()) { return $lng->txt('anonymous'); } From 3393f9839f9f944da05a4fd0506669d6ff870acd Mon Sep 17 00:00:00 2001 From: Stephan Kergomard Date: Tue, 2 Dec 2025 12:15:23 +0100 Subject: [PATCH 160/865] Tracking: Replace 'sel_country' with 'country' See: https://mantis.ilias.de/view.php?id=46337 --- .../classes/class.ilLPTableBaseGUI.php | 3 +- .../Tracking/classes/class.ilTrQuery.php | 8 ++--- .../class.ilTrObjectUsersPropsTableGUI.php | 7 ++--- .../class.ilTrSummaryTableGUI.php | 31 ++++++------------- .../default/tpl.trac_summary_row.html | 15 ++------- 5 files changed, 18 insertions(+), 46 deletions(-) diff --git a/components/ILIAS/Tracking/classes/class.ilLPTableBaseGUI.php b/components/ILIAS/Tracking/classes/class.ilLPTableBaseGUI.php index 3d5ef4a945bd..9f34b1d7bf49 100755 --- a/components/ILIAS/Tracking/classes/class.ilLPTableBaseGUI.php +++ b/components/ILIAS/Tracking/classes/class.ilLPTableBaseGUI.php @@ -642,7 +642,6 @@ public function getCurrentFilter(bool $as_query = false): array $item = $this->getFilterItemByPostVar($id); switch ($id) { case "title": - case "country": case "gender": case "city": case "language": @@ -657,7 +656,7 @@ public function getCurrentFilter(bool $as_query = false): array case "zipcode": case "email": case "matriculation": - case "sel_country": + case "country": case "query": case "type": case "area": diff --git a/components/ILIAS/Tracking/classes/class.ilTrQuery.php b/components/ILIAS/Tracking/classes/class.ilTrQuery.php index 2109df97b16e..149dc5b2b1d4 100755 --- a/components/ILIAS/Tracking/classes/class.ilTrQuery.php +++ b/components/ILIAS/Tracking/classes/class.ilTrQuery.php @@ -880,9 +880,8 @@ protected static function getSummaryDataForObject( } if ($valid) { - $result["country"] = self::getSummaryPercentages("country", $query); - $result["sel_country"] = self::getSummaryPercentages( - "sel_country", + $result["country"] = self::getSummaryPercentages( + "country", $query ); $result["city"] = self::getSummaryPercentages("city", $query); @@ -1131,7 +1130,6 @@ protected static function buildFilters( case "street": case "email": case "matriculation": - case "country": case "city": case "title": $where[] = $ilDB->like( @@ -1143,7 +1141,7 @@ protected static function buildFilters( case "gender": case "zipcode": - case "sel_country": + case "country": $where[] = "usr_data." . $id . " = " . $ilDB->quote( $value, "text" diff --git a/components/ILIAS/Tracking/classes/repository_statistics/class.ilTrObjectUsersPropsTableGUI.php b/components/ILIAS/Tracking/classes/repository_statistics/class.ilTrObjectUsersPropsTableGUI.php index 56ba89d466d3..0531e014a4aa 100755 --- a/components/ILIAS/Tracking/classes/repository_statistics/class.ilTrObjectUsersPropsTableGUI.php +++ b/components/ILIAS/Tracking/classes/repository_statistics/class.ilTrObjectUsersPropsTableGUI.php @@ -258,7 +258,6 @@ public function initFilter(): void case "street": case "zipcode": case "city": - case "country": case "email": case "matriculation": case "login": @@ -326,9 +325,9 @@ public function initFilter(): void $this->filter["gender"] = $item->getValue(); break; - case "sel_country": + case "country": $item = $this->addFilterItemByMetaType( - "sel_country", + "country", ilTable2GUI::FILTER_SELECT, true, $meta["txt"] @@ -343,7 +342,7 @@ public function initFilter(): void array("" => $this->lng->txt("trac_all")) + $options ); - $this->filter["sel_country"] = $item->getValue(); + $this->filter["country"] = $item->getValue(); break; case "status": diff --git a/components/ILIAS/Tracking/classes/repository_statistics/class.ilTrSummaryTableGUI.php b/components/ILIAS/Tracking/classes/repository_statistics/class.ilTrSummaryTableGUI.php index 764400d0cdde..e0dd3486de70 100755 --- a/components/ILIAS/Tracking/classes/repository_statistics/class.ilTrSummaryTableGUI.php +++ b/components/ILIAS/Tracking/classes/repository_statistics/class.ilTrSummaryTableGUI.php @@ -93,7 +93,7 @@ public function __construct( $labels = $this->getSelectableColumns(); foreach ($this->getSelectedColumns() as $c) { // see bug #35119; these column list percentage lists and are not sortable - if (in_array($c, ["status", "mark", "language", "country", "gender", "city", "sel_country"])) { + if (in_array($c, ["status", "mark", "language", "gender", "city", "country"])) { $this->addColumn($labels[$c]["txt"]); } else { $this->addColumn($labels[$c]["txt"], $c); @@ -184,7 +184,7 @@ public function getSelectableColumns(): array $all[] = "mark"; } - $privacy = array("gender", "city", "country", "sel_country"); + $privacy = array("gender", "city", "country"); foreach ($privacy as $field) { if ( ($this->is_in_course && $this->setting->get("usr_settings_course_export_" . $field)) || @@ -386,18 +386,10 @@ public function initFilter(): void $this->filter["city"] = $item->getValue(); } + if ($this->setting->get("usr_settings_course_export_country")) { $item = $this->addFilterItemByMetaType( "country", - ilTable2GUI::FILTER_TEXT, - true - ); - $this->filter["country"] = $item->getValue(); - } - - if ($this->setting->get("usr_settings_course_export_sel_country")) { - $item = $this->addFilterItemByMetaType( - "sel_country", ilTable2GUI::FILTER_SELECT, true ); @@ -407,7 +399,7 @@ public function initFilter(): void ) ) + $this->getSelCountryCodes() ); - $this->filter["sel_country"] = $item->getValue(); + $this->filter["country"] = $item->getValue(); } $item = $this->addFilterItemByMetaType( @@ -573,10 +565,6 @@ public function getItems(int $a_object_id, int $a_ref_id): void // percentages $users_no = $result["user_total"]; - $data["set"][$idx]["country"] = $this->getItemsPercentages( - $result["country"], - $users_no - ); $data["set"][$idx]["gender"] = $this->getItemsPercentages( $result["gender"], $users_no, @@ -590,8 +578,8 @@ public function getItems(int $a_object_id, int $a_ref_id): void $result["city"], $users_no ); - $data["set"][$idx]["sel_country"] = $this->getItemsPercentages( - $result["sel_country"], + $data["set"][$idx]["country"] = $this->getItemsPercentages( + $result["country"], $users_no, $this->getSelCountryCodes() ); @@ -830,13 +818,12 @@ protected function fillRow(array $a_set): void foreach ($this->getSelectedColumns() as $c) { switch ($c) { - case "country": case "gender": case "city": case "language": case "status": case "mark": - case "sel_country": + case "country": $this->renderPercentages($c, $a_set[$c]); break; @@ -960,13 +947,13 @@ protected function isArrayColumn(string $a_name): bool { if (in_array( $a_name, - array("country", + array( "gender", "city", "language", "status", "mark", - 'sel_country' + 'country' ) )) { return true; diff --git a/components/ILIAS/Tracking/templates/default/tpl.trac_summary_row.html b/components/ILIAS/Tracking/templates/default/tpl.trac_summary_row.html index 2198871f71cd..68df0f7ceaff 100755 --- a/components/ILIAS/Tracking/templates/default/tpl.trac_summary_row.html +++ b/components/ILIAS/Tracking/templates/default/tpl.trac_summary_row.html @@ -6,7 +6,7 @@
-
{COLL_PATH}
+
{COLL_PATH}
@@ -85,17 +85,6 @@ - - - -
    - -
  • {CAPTION}: {ABSOLUTE} ({PERCENTAGE}%)
  • - -
- - - @@ -123,7 +112,7 @@

{PATH_ITEM}
{TXT_DETAILS}

- + From 67ef82d1199381bcf9f2c8654ed5c198b639d82a Mon Sep 17 00:00:00 2001 From: Aaron Bidzan Date: Thu, 4 Dec 2025 18:55:06 +0100 Subject: [PATCH 161/865] Adds proper error message when submitting answer while already locked --- .../ILIAS/Test/classes/class.ilTestPlayerAbstractGUI.php | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/components/ILIAS/Test/classes/class.ilTestPlayerAbstractGUI.php b/components/ILIAS/Test/classes/class.ilTestPlayerAbstractGUI.php index 0e98895d0d95..5510825da065 100755 --- a/components/ILIAS/Test/classes/class.ilTestPlayerAbstractGUI.php +++ b/components/ILIAS/Test/classes/class.ilTestPlayerAbstractGUI.php @@ -387,7 +387,8 @@ private function buildQuestionObject(): ?assQuestion if ($this->isParticipantsAnswerFixed($q_id)) { // should only be reached by firebugging the disabled form in ui - throw new ilTestException('not allowed request'); + $this->tpl->setOnScreenMessage(ilGlobalTemplateInterface::MESSAGE_TYPE_FAILURE, $this->lng->txt('tst_player_answer_saved_and_locked'), true); + $this->ctrl->redirect($this, ilTestPlayerCommands::SHOW_QUESTION); } if ($q_id === null) { From c5a05c00d906a99d3d47c24d11e36278c811491e Mon Sep 17 00:00:00 2001 From: Matheus Zych Date: Mon, 8 Dec 2025 14:54:50 +0100 Subject: [PATCH 162/865] Changes label of Edit Assignment Properties action to View Assignment Properties if needed --- .../classes/class.ilAssQuestionSkillAssignmentsGUI.php | 8 +++++++- .../src/Skills/EditSkillsOfQuestionTableEditAction.php | 5 +++-- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/components/ILIAS/TestQuestionPool/classes/class.ilAssQuestionSkillAssignmentsGUI.php b/components/ILIAS/TestQuestionPool/classes/class.ilAssQuestionSkillAssignmentsGUI.php index 04674de971ce..1aae1038efd5 100755 --- a/components/ILIAS/TestQuestionPool/classes/class.ilAssQuestionSkillAssignmentsGUI.php +++ b/components/ILIAS/TestQuestionPool/classes/class.ilAssQuestionSkillAssignmentsGUI.php @@ -556,7 +556,13 @@ private function editSkillQuestionAssignmentCmd(): void $this->lng, (new EditSkillsOfQuestionTableActions( $this->tpl, - [EditSkillsOfQuestionTableEditAction::ACTION_ID => new EditSkillsOfQuestionTableEditAction($this->ui_factory, $this->lng)] + [ + EditSkillsOfQuestionTableEditAction::ACTION_ID => new EditSkillsOfQuestionTableEditAction( + $this->ui_factory, + $this->lng, + $this->isAssignmentEditingEnabled() + ) + ] )) ))->getComponents(new URLBuilder($edit_uri)); diff --git a/components/ILIAS/TestQuestionPool/src/Skills/EditSkillsOfQuestionTableEditAction.php b/components/ILIAS/TestQuestionPool/src/Skills/EditSkillsOfQuestionTableEditAction.php index 8e130d00ffd7..8c2865822e32 100644 --- a/components/ILIAS/TestQuestionPool/src/Skills/EditSkillsOfQuestionTableEditAction.php +++ b/components/ILIAS/TestQuestionPool/src/Skills/EditSkillsOfQuestionTableEditAction.php @@ -31,7 +31,8 @@ class EditSkillsOfQuestionTableEditAction implements EditSkillsOfQuestionTableAc public function __construct( private readonly UIFactory $ui_factory, - private readonly \ilLanguage $lng + private readonly \ilLanguage $lng, + private readonly bool $assignment_editing_enabled ) { } @@ -52,7 +53,7 @@ public function getTableAction( URLBuilderToken $action_type_token ): Action { return $this->ui_factory->table()->action()->single( - $this->lng->txt('tst_edit_competence_assign'), + $this->lng->txt($this->assignment_editing_enabled ? 'tst_edit_competence_assign' : 'tst_view_competence_assign'), $url_builder ->withParameter($action_token, self::ACTION_ID) ->withParameter($action_type_token, EditSkillsOfQuestionTableActions::SHOW_ACTION), From f2eeea40a88f069af8b053a3b015c41948f01b43 Mon Sep 17 00:00:00 2001 From: Stephan Kergomard Date: Tue, 9 Dec 2025 13:33:52 +0100 Subject: [PATCH 163/865] Test: Disable QPL-Creation on Missing Rights See: https://mantis.ilias.de/view.php?id=46481 --- .../ILIAS/Test/classes/class.ilObjTestGUI.php | 25 ++++++++++++++++--- 1 file changed, 21 insertions(+), 4 deletions(-) diff --git a/components/ILIAS/Test/classes/class.ilObjTestGUI.php b/components/ILIAS/Test/classes/class.ilObjTestGUI.php index 07b0e0f626f3..f17e9efb51a7 100755 --- a/components/ILIAS/Test/classes/class.ilObjTestGUI.php +++ b/components/ILIAS/Test/classes/class.ilObjTestGUI.php @@ -1627,6 +1627,14 @@ public function createQuestionObject(): void $data = $data_with_section[0]; $qpl_mode = $data['pool_selection']['qpl_type']; + + if ($qpl_mode === self::QUESTION_CREATION_POOL_SELECTION_NEW_POOL + && ! $this->userCanCreatePoolAtCurrentLocation()) { + $this->tpl->setOnScreenMessage('failure', $this->lng->txt('permission_denied'), true); + $this->showQuestionsObject(); + return; + } + if ($qpl_mode === self::QUESTION_CREATION_POOL_SELECTION_NEW_POOL && $data['pool_selection']['title'] === '' || $qpl_mode === self::QUESTION_CREATION_POOL_SELECTION_EXISTING_POOL && $data['pool_selection']['pool_ref_id'] === 0) { $this->tpl->setOnScreenMessage('info', $this->lng->txt("questionpool_not_entered")); @@ -1807,13 +1815,16 @@ static function ($values) use ($kt): array { self::QUESTION_CREATION_POOL_SELECTION_EXISTING_POOL => $f->group( [$f->select($this->lng->txt('select_questionpool'), $pools_data)], $this->lng->txt('assessment_existing_pool') - ), - self::QUESTION_CREATION_POOL_SELECTION_NEW_POOL => $f->group( - [$f->text($this->lng->txt('name'))], - $this->lng->txt('assessment_new_pool') ) ]; + if ($this->userCanCreatePoolAtCurrentLocation()) { + $inputs[self::QUESTION_CREATION_POOL_SELECTION_NEW_POOL] = $f->group( + [$f->text($this->lng->txt('name'))], + $this->lng->txt('assessment_new_pool') + ); + } + return $f->switchableGroup( $inputs, $this->lng->txt('assessment_pool_selection') @@ -2759,4 +2770,10 @@ protected function getTable(): QuestionsTable $this->title_builder ); } + + private function userCanCreatePoolAtCurrentLocation(): bool + { + return $this->settings->get('obj_dis_creation_qpl') !== '1' + && $this->checkPermissionBool('create', '', 'qpl', $this->tree->getParentId($this->ref_id)); + } } From e57a9769eb2d119dae55ecfcbab1987c3ec52a0a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thomas=20Jou=C3=9Fen?= Date: Tue, 9 Dec 2025 10:37:58 +0100 Subject: [PATCH 164/865] T&A Disable competence selection for questions in test if results are available --- .../classes/class.ilAssQuestionSkillAssignmentsGUI.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/components/ILIAS/TestQuestionPool/classes/class.ilAssQuestionSkillAssignmentsGUI.php b/components/ILIAS/TestQuestionPool/classes/class.ilAssQuestionSkillAssignmentsGUI.php index 1aae1038efd5..8608c25d0a5b 100755 --- a/components/ILIAS/TestQuestionPool/classes/class.ilAssQuestionSkillAssignmentsGUI.php +++ b/components/ILIAS/TestQuestionPool/classes/class.ilAssQuestionSkillAssignmentsGUI.php @@ -545,7 +545,7 @@ private function editSkillQuestionAssignmentCmd(): void [ilAssQuestionSkillAssignmentsGUI::class], self::CMD_SHOW_SKILL_SELECT ) - ) + )->withUnavailableAction(!$this->isAssignmentEditingEnabled()) ); $this->ctrl->setParameterByClass(ilAssQuestionSkillAssignmentsGUI::class, 'q_id', null); From 3d812cca5991c9c63a90124e3c2e6697e3001ee5 Mon Sep 17 00:00:00 2001 From: Aaron Bidzan Date: Tue, 9 Dec 2025 13:03:28 +0100 Subject: [PATCH 165/865] Adds Info, Metadata and History tab as an option in activate tab function --- components/ILIAS/Test/src/Presentation/TabsManager.php | 3 +++ 1 file changed, 3 insertions(+) diff --git a/components/ILIAS/Test/src/Presentation/TabsManager.php b/components/ILIAS/Test/src/Presentation/TabsManager.php index 26bf10b83a2b..3794426a33d8 100755 --- a/components/ILIAS/Test/src/Presentation/TabsManager.php +++ b/components/ILIAS/Test/src/Presentation/TabsManager.php @@ -97,6 +97,9 @@ public function activateTab(string $tab_id): void case self::TAB_ID_TEST: case self::TAB_ID_EXPORT: case self::TAB_ID_LEARNING_PROGRESS: + case self::TAB_ID_META_DATA: + case self::TAB_ID_HISTORY: + case self::TAB_ID_INFOSCREEN: $this->tabs->activateTab($tab_id); } } From f582fddd2a3d1871f2420c2faf19106105f13757 Mon Sep 17 00:00:00 2001 From: Tim Schmitz Date: Tue, 9 Dec 2025 16:46:42 +0100 Subject: [PATCH 166/865] MetaData: fix subitem count in cp usage tables (46487) --- .../Usage/class.ilMDCopyrightUsageTableGUI.php | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/components/ILIAS/MetaData/classes/Settings/Copyright/Usage/class.ilMDCopyrightUsageTableGUI.php b/components/ILIAS/MetaData/classes/Settings/Copyright/Usage/class.ilMDCopyrightUsageTableGUI.php index e7f1e0a83633..3a74fb1c6856 100755 --- a/components/ILIAS/MetaData/classes/Settings/Copyright/Usage/class.ilMDCopyrightUsageTableGUI.php +++ b/components/ILIAS/MetaData/classes/Settings/Copyright/Usage/class.ilMDCopyrightUsageTableGUI.php @@ -207,10 +207,7 @@ public function collectData(array $filters): array public function getObjTypesAvailable(): array { $query = "SELECT DISTINCT obj_type FROM il_meta_rights " . - "WHERE description = " . $this->db->quote( - 'il_copyright_entry__' . IL_INST_ID . '__' . $this->copyright_id, - 'text' - ) . + "WHERE description = " . $this->db->quote($this->getCopyrightIdentifier(), ilDBConstants::T_TEXT) . " AND rbac_id = obj_id"; $result = $this->db->query($query); $data = array(); @@ -226,10 +223,7 @@ public function getObjTypesAvailable(): array public function getDataFromDB(): array { $query = "SELECT rbac_id, obj_id, obj_type FROM il_meta_rights " . - "WHERE description = " . $this->db->quote( - 'il_copyright_entry__' . IL_INST_ID . '__' . $this->copyright_id, - 'text' - ) . + "WHERE description = " . $this->db->quote($this->getCopyrightIdentifier(), ilDBConstants::T_TEXT) . ' AND rbac_id != ' . $this->db->quote(0, 'integer') . " GROUP BY rbac_id"; @@ -248,7 +242,8 @@ public function getCountSubItemsFromDB(int $a_rbac_id): int { $query = "SELECT count(rbac_id) total FROM il_meta_rights " . "WHERE rbac_id = " . $this->db->quote($a_rbac_id, ilDBConstants::T_INTEGER) . - " AND rbac_id != obj_id"; + " AND rbac_id != obj_id" . + " AND description = " . $this->db->quote($this->getCopyrightIdentifier(), ilDBConstants::T_TEXT); $result = $this->db->query($query); while ($row = $result->fetchRow(ilDBConstants::FETCHMODE_OBJECT)) { @@ -256,4 +251,9 @@ public function getCountSubItemsFromDB(int $a_rbac_id): int } return 0; } + + protected function getCopyrightIdentifier(): string + { + return 'il_copyright_entry__' . IL_INST_ID . '__' . $this->copyright_id; + } } From 1e47e48f702bd8ad87f896653aad8426474bcd78 Mon Sep 17 00:00:00 2001 From: Tim Schmitz Date: Tue, 9 Dec 2025 17:39:47 +0100 Subject: [PATCH 167/865] Calendar: fix init in iCal endpoint (46510) --- .../Calendar/classes/class.ilCalendarRemoteAccessHandler.php | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/components/ILIAS/Calendar/classes/class.ilCalendarRemoteAccessHandler.php b/components/ILIAS/Calendar/classes/class.ilCalendarRemoteAccessHandler.php index 8068b6572bd7..7df5d7eb7335 100755 --- a/components/ILIAS/Calendar/classes/class.ilCalendarRemoteAccessHandler.php +++ b/components/ILIAS/Calendar/classes/class.ilCalendarRemoteAccessHandler.php @@ -64,7 +64,11 @@ public function parseRequest(): void public function handleRequest(): bool { session_name('ILCALSESSID'); + + require_once(__DIR__ . "/../../../../artifacts/bootstrap_default.php"); + entry_point('ILIAS Legacy Initialisation Adapter'); $this->initIlias(); + $logger = $GLOBALS['DIC']->logger()->cal(); $this->initTokenHandler(); $this->initLimitEnabled(); From e7f2cea5bc33eccaef0263d968988c46569ac7e7 Mon Sep 17 00:00:00 2001 From: Aaron Bidzan Date: Tue, 9 Dec 2025 17:24:43 +0100 Subject: [PATCH 168/865] Adds missing tab cases in TabsManager and fixes scoring tab highlight when accessing Scoring and Results --- .../Test/src/Presentation/TabsManager.php | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/components/ILIAS/Test/src/Presentation/TabsManager.php b/components/ILIAS/Test/src/Presentation/TabsManager.php index 3794426a33d8..80ad7392ce46 100755 --- a/components/ILIAS/Test/src/Presentation/TabsManager.php +++ b/components/ILIAS/Test/src/Presentation/TabsManager.php @@ -91,13 +91,17 @@ public function __construct( public function activateTab(string $tab_id): void { switch ($tab_id) { + case self::TAB_ID_QUESTIONS: case self::TAB_ID_PARTICIPANTS: case self::TAB_ID_YOUR_RESULTS: case self::TAB_ID_SETTINGS: + case self::TAB_ID_MANUAL_SCORING: + case self::TAB_ID_CORRECTION: case self::TAB_ID_TEST: case self::TAB_ID_EXPORT: case self::TAB_ID_LEARNING_PROGRESS: case self::TAB_ID_META_DATA: + case self::TAB_ID_PERMISSIONS: case self::TAB_ID_HISTORY: case self::TAB_ID_INFOSCREEN: $this->tabs->activateTab($tab_id); @@ -115,6 +119,8 @@ public function activateSubTab(string $sub_tab_id): void case self::SUBTAB_ID_QST_LIST_VIEW: case self::SUBTAB_ID_QST_PAGE_VIEW: + case self::QUESTIONS_SUBTAB_ID_RANDOM_SETTINGS: + case self::QUESTIONS_SUBTAB_ID_RANDOM_POOLS: case self::SETTINGS_SUBTAB_ID_GENERAL: case self::SETTINGS_SUBTAB_ID_MARK_SCHEMA: @@ -122,6 +128,8 @@ public function activateSubTab(string $sub_tab_id): void case self::SETTINGS_SUBTAB_ID_EDIT_INTRODUCTION_PAGE: case self::SETTINGS_SUBTAB_ID_EDIT_CONCLUSION_PAGE: case self::SETTINGS_SUBTAB_ID_CERTIFICATE: + case self::SETTINGS_SUBTAB_ID_ASSIGN_SKILL_TRESHOLDS: + case self::SETTINGS_SUBTAB_ID_ASSIGN_SKILLS_TO_QUESTIONS: case self::SETTINGS_SUBTAB_ID_PERSONAL_DEFAULT_SETTINGS: $this->tabs->activateSubTab($sub_tab_id); } @@ -444,7 +452,9 @@ protected function setupTabsGuiConfig(): void $this->ctrl->getLinkTargetByClass( [\ilObjTestGUI::class, ConsecutiveScoringGUI::class], ConsecutiveScoringGUI::DEFAULT_COMMAND - ) + ), + '', + [ConsecutiveScoringGUI::class] ); } } @@ -706,8 +716,10 @@ protected function getParticipantsTabTarget(): string public function needsYourResultsTab(): bool { return $this->test_session->reportableResultsAvailable($this->test_object) - || $this->test_session->getActiveId() !== 0 - && $this->test_object->canShowSolutionPrintview($this->test_session->getUserId()); + || ( + $this->test_session->getActiveId() !== 0 + && $this->test_object->canShowSolutionPrintview($this->test_session->getUserId()) + ); } protected function getYourResultsTabTarget(): string From 2db63946bf930dcaf8b5d39609ce56b4e828421a Mon Sep 17 00:00:00 2001 From: Fabian Schmid Date: Wed, 10 Dec 2025 10:30:32 +0100 Subject: [PATCH 169/865] [FIX] Authorization Header Forwarding, see PR #10524 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit commit 1964748e363b83bf8da488dd92d5a973f0874c6a Author: Sergio Santiago Sánchez <54277294+sergiosant02@users.noreply.github.com> Date: Fri Nov 28 09:16:02 2025 +0100 fix: update comment in .httpaccess commit 704909e6bb0e15e253c13e5a89487bd60f73d3ca Author: Sergio Santiago Date: Thu Nov 27 11:01:12 2025 +0100 fix: change comment in order to specify the reason of each option in httpaccess commit 10f23c86ec3e9e8d9e4deb80556785582d898263 Author: Sergio Santiago Date: Mon Oct 20 08:17:28 2025 +0200 fix: Allow Authorization header to be passed through Apache for LTI 1.1 support Added SetEnvIf directive in .htaccess to expose the Authorization header to PHP. By default, Apache may strip or block the Authorization header, which prevents ILIAS from receiving OAuth credentials required for LTI 1.1 authentication and learning progress transmission. This change ensures that the header is passed through to the PHP environment as HTTP_AUTHORIZATION, enabling proper LTI request handling. The configuration aligns with ILIAS 10’s .htaccess setup and also maintains the existing WebDAV-specific directive added in https://github.com/ILIAS-eLearning/ILIAS/commit/a77578c228f2e4e216ea25cd2258415a65dd328e. # Conflicts: # components/ILIAS/Init/resources/.htaccess # Conflicts: # components/ILIAS/Init/resources/.htaccess --- components/ILIAS/Init/resources/.htaccess | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/components/ILIAS/Init/resources/.htaccess b/components/ILIAS/Init/resources/.htaccess index 101471171588..a49b8749ee21 100755 --- a/components/ILIAS/Init/resources/.htaccess +++ b/components/ILIAS/Init/resources/.htaccess @@ -26,6 +26,13 @@ XSendFile On + + # Allow Authorization header in request (WebDAV and LTI specific) + SetEnvIf Authorization "(.*)" HTTP_AUTHORIZATION=$1 + # WebDAV specific + SetEnvIfNoCase Transfer-Encoding "chunked" proxy-sendcl=1 + + AddType video/ogg .ogv AddType video/mp4 .mp4 AddType video/webm .webm From 0292e641de955aae9b5a9efef27a08bf33929641 Mon Sep 17 00:00:00 2001 From: iszmais Date: Wed, 24 Sep 2025 14:26:47 +0200 Subject: [PATCH 170/865] add returntype never to http close --- components/ILIAS/HTTP/src/GlobalHttpState.php | 2 +- components/ILIAS/HTTP/src/RawHTTPServices.php | 2 +- components/ILIAS/HTTP/src/Services.php | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/components/ILIAS/HTTP/src/GlobalHttpState.php b/components/ILIAS/HTTP/src/GlobalHttpState.php index 2dc8be5bfe30..4ffe2500e666 100755 --- a/components/ILIAS/HTTP/src/GlobalHttpState.php +++ b/components/ILIAS/HTTP/src/GlobalHttpState.php @@ -93,5 +93,5 @@ public function saveResponse(ResponseInterface $response): void; public function sendResponse(): void; - public function close(): void; + public function close(): never; } diff --git a/components/ILIAS/HTTP/src/RawHTTPServices.php b/components/ILIAS/HTTP/src/RawHTTPServices.php index 2a1a88095e80..fb6e1a520f0c 100755 --- a/components/ILIAS/HTTP/src/RawHTTPServices.php +++ b/components/ILIAS/HTTP/src/RawHTTPServices.php @@ -126,7 +126,7 @@ public function sendResponse(): void } - public function close(): void + public function close(): never { exit; } diff --git a/components/ILIAS/HTTP/src/Services.php b/components/ILIAS/HTTP/src/Services.php index e5fcabe3343d..22eb5f134d6d 100755 --- a/components/ILIAS/HTTP/src/Services.php +++ b/components/ILIAS/HTTP/src/Services.php @@ -129,7 +129,7 @@ public function sendResponse(): void $this->raw()->sendResponse(); } - public function close(): void + public function close(): never { $this->raw()->close(); } From bb259bbdd0ecb67e52e2f01237a2ab4b847dec00 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Wolfgang=20H=C3=BCbsch?= Date: Wed, 10 Sep 2025 05:13:43 +0200 Subject: [PATCH 171/865] FileInfo: make sprintf robust against invalid translation placeholders (safeSprintf fallback) --- .../classes/trait.ilObjFileInfoProvider.php | 21 ++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) diff --git a/components/ILIAS/File/classes/trait.ilObjFileInfoProvider.php b/components/ILIAS/File/classes/trait.ilObjFileInfoProvider.php index b6d92c289a9e..d66e6d265fef 100755 --- a/components/ILIAS/File/classes/trait.ilObjFileInfoProvider.php +++ b/components/ILIAS/File/classes/trait.ilObjFileInfoProvider.php @@ -103,11 +103,12 @@ public function getFileInfoForAuthorsAndAdmins(): array $amount_of_downloads = null; if ($this->getGeneralSettings()->isShowAmountOfDownloads()) { - $amount_of_downloads = sprintf( + $amount_of_downloads = $this->safeSprintf( $this->getLanguage()->txt("amount_of_downloads_since"), $this->getFileObj()->getAmountOfDownloads(), $this->getFileObj()->getCreateDate(), ); + } return [ @@ -169,4 +170,22 @@ abstract protected function getLanguage(): ilLanguage; abstract protected function getNodeID(): int; abstract protected function getUser(): ilObjUser; + + /** + * Robust sprintf: tolerates broken translation placeholders. + */ + private function safeSprintf(string $format, mixed ...$args): string + { + try { + return sprintf($format, ...$args); + } catch (\ValueError $e) { + $fixed = preg_replace('/%(?!([0-9]+\$)?[bcdeEfFgGosuxX%])/', '%%', $format); + try { + return sprintf($fixed, ...$args); + } catch (\ValueError $e2) { + return $format; + } + } + } + } From c23cf5c550405643da9ded9d83e2ec0c94ba2ffb Mon Sep 17 00:00:00 2001 From: mjansen Date: Wed, 10 Dec 2025 12:26:50 +0100 Subject: [PATCH 172/865] Mail: Remove unused code --- .../class.ilMailTemplateSelectInputGUI.php | 45 ------------------- .../Mail/classes/class.ilMailFormGUI.php | 15 ++++--- .../Mail/templates/default/tpl.mail_new.html | 7 +++ .../tpl.prop_template_select_container.html | 31 ------------- 4 files changed, 15 insertions(+), 83 deletions(-) delete mode 100755 components/ILIAS/Mail/classes/Form/class.ilMailTemplateSelectInputGUI.php delete mode 100755 components/ILIAS/Mail/templates/default/tpl.prop_template_select_container.html diff --git a/components/ILIAS/Mail/classes/Form/class.ilMailTemplateSelectInputGUI.php b/components/ILIAS/Mail/classes/Form/class.ilMailTemplateSelectInputGUI.php deleted file mode 100755 index e9278c69c317..000000000000 --- a/components/ILIAS/Mail/classes/Form/class.ilMailTemplateSelectInputGUI.php +++ /dev/null @@ -1,45 +0,0 @@ -setVariable('CONTENT', $html); - $tpl->setVariable('FIELDS', json_encode($this->fields, JSON_THROW_ON_ERROR)); - $tpl->setVariable('URL', $this->url); - $tpl->setVariable('ID', $this->getFieldId()); - - return $tpl->get(); - } -} diff --git a/components/ILIAS/Mail/classes/class.ilMailFormGUI.php b/components/ILIAS/Mail/classes/class.ilMailFormGUI.php index a7d87f3fbe82..0249ebad6802 100755 --- a/components/ILIAS/Mail/classes/class.ilMailFormGUI.php +++ b/components/ILIAS/Mail/classes/class.ilMailFormGUI.php @@ -1054,13 +1054,14 @@ protected function buildFormElements(?array $mail_data): array } asort($options); - $template_chb = $ff->select( - $this->lng->txt('mail_template_client'), - $options, - $this->lng->txt('mail_template_client_info') - ) - ->withValue($tmpl_value) - ->withOnUpdate($signal); + $template_chb = $ff + ->select( + $this->lng->txt('mail_template_client'), + $options, + $this->lng->txt('mail_template_client_info') + ) + ->withValue($tmpl_value) + ->withOnUpdate($signal); } } catch (Exception $e) { ilLoggerFactory::getLogger('mail')->error(sprintf( diff --git a/components/ILIAS/Mail/templates/default/tpl.mail_new.html b/components/ILIAS/Mail/templates/default/tpl.mail_new.html index 8160e818fc50..b46a8b1b5fa5 100755 --- a/components/ILIAS/Mail/templates/default/tpl.mail_new.html +++ b/components/ILIAS/Mail/templates/default/tpl.mail_new.html @@ -2,6 +2,13 @@ \ No newline at end of file From 08bc8af2015847ea04efb80dbd514eebacdfd0d3 Mon Sep 17 00:00:00 2001 From: Tim Schmitz Date: Wed, 10 Dec 2025 14:31:13 +0100 Subject: [PATCH 173/865] Style: fix export (46422) --- components/ILIAS/Style/classes/class.ilStyleExporter.php | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/components/ILIAS/Style/classes/class.ilStyleExporter.php b/components/ILIAS/Style/classes/class.ilStyleExporter.php index 3aee9506dbff..fd2d512d86a7 100755 --- a/components/ILIAS/Style/classes/class.ilStyleExporter.php +++ b/components/ILIAS/Style/classes/class.ilStyleExporter.php @@ -36,6 +36,8 @@ public function getXmlRepresentation(string $a_entity, string $a_schema_version, { ilFileUtils::makeDirParents($this->getAbsoluteExportDirectory()); $this->ds->initByExporter($this); + global $DIC; + $DIC->logger()->root()->dump('export version (ilStyleExporter): ' . $a_schema_version); return $this->ds->getXmlRepresentation($a_entity, $a_schema_version, [$a_id], "", true, true); } @@ -46,8 +48,7 @@ public function getValidSchemaVersions(string $a_entity): array "namespace" => "http://www.ilias.de/Services/Style/10_0", "xsd_file" => "ilias_style_10.xsd", "uses_dataset" => true, - "min" => "10.0", - "max" => "10.99"), + "min" => "10.0"), "8.0" => array( "namespace" => "http://www.ilias.de/Services/Style/8", "xsd_file" => "ilias_style_8.xsd", From 0ba70f16acd27b491ce75023937bce626f46b77a Mon Sep 17 00:00:00 2001 From: Tim Schmitz Date: Wed, 10 Dec 2025 14:32:20 +0100 Subject: [PATCH 174/865] Style: clean up last commit --- components/ILIAS/Style/classes/class.ilStyleExporter.php | 2 -- 1 file changed, 2 deletions(-) diff --git a/components/ILIAS/Style/classes/class.ilStyleExporter.php b/components/ILIAS/Style/classes/class.ilStyleExporter.php index fd2d512d86a7..6dc63143bef0 100755 --- a/components/ILIAS/Style/classes/class.ilStyleExporter.php +++ b/components/ILIAS/Style/classes/class.ilStyleExporter.php @@ -36,8 +36,6 @@ public function getXmlRepresentation(string $a_entity, string $a_schema_version, { ilFileUtils::makeDirParents($this->getAbsoluteExportDirectory()); $this->ds->initByExporter($this); - global $DIC; - $DIC->logger()->root()->dump('export version (ilStyleExporter): ' . $a_schema_version); return $this->ds->getXmlRepresentation($a_entity, $a_schema_version, [$a_id], "", true, true); } From c4fc2430b13857e95e0b77ce84e7cedf3980c81c Mon Sep 17 00:00:00 2001 From: Stefan Meyer Date: Thu, 11 Dec 2025 09:51:01 +0100 Subject: [PATCH 175/865] Merge pull request #10631 from QualitusHartwig/9/bug/38803 Fix Mantis #38803: Contradictory SCORM Learning Progress --- components/ILIAS/Tracking/classes/class.ilTrQuery.php | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/components/ILIAS/Tracking/classes/class.ilTrQuery.php b/components/ILIAS/Tracking/classes/class.ilTrQuery.php index 149dc5b2b1d4..e09cb6114565 100755 --- a/components/ILIAS/Tracking/classes/class.ilTrQuery.php +++ b/components/ILIAS/Tracking/classes/class.ilTrQuery.php @@ -185,24 +185,24 @@ public static function getSCOsStatusForUser( foreach ($a_sco_ids as $sco_id) { // #9719 - can have in_progress AND failed/completed if (in_array($a_user_id, $status_info["failed"][$sco_id])) { - $status = ilLPStatus::LP_STATUS_FAILED; + $status = ilLPStatus::LP_STATUS_FAILED_NUM; } elseif (in_array( $a_user_id, $status_info["completed"][$sco_id] )) { - $status = ilLPStatus::LP_STATUS_COMPLETED; + $status = ilLPStatus::LP_STATUS_COMPLETED_NUM; } elseif (in_array( $a_user_id, $status_info["in_progress"][$sco_id] )) { - $status = ilLPStatus::LP_STATUS_IN_PROGRESS; + $status = ilLPStatus::LP_STATUS_IN_PROGRESS_NUM; } else { - $status = ilLPStatus::LP_STATUS_NOT_ATTEMPTED; + $status = ilLPStatus::LP_STATUS_NOT_ATTEMPTED_NUM; } $items[$sco_id] = array( "title" => $status_info["scos_title"][$sco_id], - "status" => (int) $status, + "status" => $status, "type" => "sahs", "score" => (int) ($scores[$sco_id] ?? 0) ); From a4a1ab6c212f7708bfd6b58c71fe27121ee798ec Mon Sep 17 00:00:00 2001 From: Matthias Kunkel Date: Thu, 11 Dec 2025 11:43:29 +0100 Subject: [PATCH 176/865] Modified existing lang vars for guided tour and added three new ones for upcoming bylines. --- lang/ilias_de.lang | 13 ++++++++----- lang/ilias_en.lang | 9 ++++++--- 2 files changed, 14 insertions(+), 8 deletions(-) diff --git a/lang/ilias_de.lang b/lang/ilias_de.lang index 257f050791d8..fd9a51a957ba 100644 --- a/lang/ilias_de.lang +++ b/lang/ilias_de.lang @@ -10515,9 +10515,9 @@ help#:#gdtr_deleted_tour#:#Die Tour wurde gelöscht. help#:#gdtr_edit_content#:#Inhalt bearbeiten help#:#gdtr_edit_page_info#:#Bearbeiten Sie den Inhalt, der erscheinen soll um das ausgewählte Bedienelement zu beschreiben. help#:#gdtr_edit_properties#:#Eigenschaften bearbeiten -help#:#gdtr_edit_step_info#:#In diesem Formular spezifizieren Sie das Bedienelement auf dem Bildschirm, welches einen Erklärungstext in diesem Schritt der Tour erhalten soll. In der Präsentation wird dann ein Popover mit dem definierten Erklärungstext neben dem angegebenen Element dargestellt. +help#:#gdtr_edit_step_info#:#Wählen Sie das Bedienelement aus, das mit einem Erklärungstext versehen werden soll. help#:#gdtr_edit_steps#:#Schritte bearbeiten -help#:#gdtr_element_id#:#Element ID +help#:#gdtr_element_id#:#Element-ID help#:#gdtr_form#:#Formular help#:#gdtr_form_info#:#Das erste Formular im Hauptbereich der Ansicht. Normalerweise sollen Ansichten nur max. ein Formular enthalten. help#:#gdtr_guided_tours#:#Touren @@ -10529,9 +10529,11 @@ help#:#gdtr_language#:#Nach Sprache help#:#gdtr_language_info#:#Nur Personen mit der ausgewählten Sprache sehen die Tour. help#:#gdtr_list_tours_mess#:#Um Touren auszuarbeiten, müssen Sie zunächst Ihren Anmeldenamen im Unterreiter „Einstellungen“ eintragen. help#:#gdtr_mainbar#:#Mainbar -help#:#gdtr_mainbar_info#:#Die Mainbar ist das Hauptmenü auf der linken Seite. Bei aktivierter ID-Darstellung werden die Element-IDs der einzelnen Einträge als Tooltipp dargestellt. +help#:#gdtr_mainbar_ID_info#:#ID des gewünschten Eintrags im Hauptmenü. Fahren Sie mit der Maus über den Eintrag, um die ID als Tooltipp zu sehen. +help#:#gdtr_mainbar_info#:#Die Mainbar ist das Hauptmenü, das auf großen Bildschirmen auf der linken Seite angezeigt wird. help#:#gdtr_metabar#:#Metabar -help#:#gdtr_metabar_info#:#Die Metabar ist das Menü im rechten, oberen Bildrand. Bei aktivierter ID-Darstellung werden die Element-IDs der einzelnen Einträge als Tooltipp dargestellt. +help#:#gdtr_metabar_ID_info#:#ID des gewünschten Elements in der Metabar. Fahren Sie mit der Maus über das Element, um die ID als Tooltipp zu sehen. +help#:#gdtr_metabar_info#:#Die Metabar ist das Menü im rechten, oberen Bildrand. help#:#gdtr_next_step#:#Nächster Schritt help#:#gdtr_permission#:#Nach Rechten help#:#gdtr_permission_info#:#Nur Personen mit den ausgewählten Rechten sehen die Tour. Diese Einstellung sollte nur zusammen mit der Einstellung „Nach Screen-ID“ genutzt werden. @@ -10547,7 +10549,8 @@ help#:#gdtr_step_type#:#Bedienelement help#:#gdtr_table#:#Tabelle help#:#gdtr_table_info#:#Die erste Tabelle im Hauptbereich der Ansicht. Normalerweise sollen Ansichten nur max. eine Tabelle enthalten. help#:#gdtr_tabs#:#Reiter -help#:#gdtr_tabs_info#:#Die Reiter werden in der Mitte unter dem Haupttitel einer Ansicht dargestellt. Bei aktivierter ID-Darstellung werden die Element-IDs der einzelnen Einträge als Tooltipp dargestellt. +help#:#gdtr_tabs_ID_info#:#ID des gewünschten Reiters. Fahren Sie mit der Maus über einen Reiter, um die ID als Tooltipp zu sehen. +help#:#gdtr_tabs_info#:#Reiter werden unter dem Titel einer Seite dargestellt. help#:#gdtr_toolbar#:#Toolbar help#:#gdtr_toolbar_info#:#Die erste Toolbar im Hauptbereich der Ansicht. Diese wird normalerweise unterhalb der Reiter dargestellt und kann mehrere Bedienelemente enthalten. Normalerweise sollen Ansichten nur max. eine Toolbar enthalten. help#:#gdtr_tour_has_been_reset#:#Die Tour wurde zurückgesetzt. diff --git a/lang/ilias_en.lang b/lang/ilias_en.lang index 3d9dee0c5eba..5990d18eba51 100644 --- a/lang/ilias_en.lang +++ b/lang/ilias_en.lang @@ -10530,9 +10530,11 @@ help#:#gdtr_language#:#Language help#:#gdtr_language_info#:#Activates a guided tour only for users with the selected language. help#:#gdtr_list_tours_mess#:#To activate the presentation of screen and element IDs as tooltips, switch to ID Settings and enter your account name. help#:#gdtr_mainbar#:#Mainbar -help#:#gdtr_mainbar_info#:#The mainbar ist the main menu on the left side. If element-ID presentation is activated, the IDs will be shown in tooltips for the distinct items. +help#:#gdtr_mainbar_ID_info#:#ID of the desired entry in the main menu. Move the mouse over the entry to see the ID as a tooltip. +help#:#gdtr_mainbar_info#:#The mainbar ist the main menu on the left side. help#:#gdtr_metabar#:#Metabar -help#:#gdtr_metabar_info#:#The metabar is the menu on the top, right. If element-ID presentation is activated, the IDs will be shown in tooltips for the distinct items. +help#:#gdtr_metabar_ID_info#:#ID of the desired element in the metabar. Move your mouse over the element to see the ID as a tooltip. +help#:#gdtr_metabar_info#:#The metabar is the menu on the top, right. help#:#gdtr_next_step#:#Next Step help#:#gdtr_permission#:#Permission help#:#gdtr_permission_info#:#Activates a guided tour only for users with a certain permission on the current repository object, e.g. only for users with "edit settings" permission for a course. If you "Create" is selected, the tour is active, if the user has any creation permission. @@ -10548,7 +10550,8 @@ help#:#gdtr_step_type#:#User Interface Element help#:#gdtr_table#:#Table help#:#gdtr_table_info#:#The first table of the main content area. Usually views should only contain one table. help#:#gdtr_tabs#:#Tabs -help#:#gdtr_tabs_info#:#The tabs are displayed below the main header of the screen. If element-ID presentation is activated, the IDs will be shown in tooltips for the distinct items. +help#:#gdtr_tabs_ID_info#:#ID of the desired tab. Move your mouse over a tab to see the ID as a tooltip. +help#:#gdtr_tabs_info#:#The tabs are displayed below the main header of the screen. help#:#gdtr_toolbar#:#Toolbar help#:#gdtr_toolbar_info#:#The first toolbar of the main content area, usually presented below the tabs. Views should only contain one toolbar. help#:#gdtr_tour_has_been_reset#:#Tour has been reset. From 4571f44f98263064e9623afeba80b41274c39181 Mon Sep 17 00:00:00 2001 From: Tim Schmitz Date: Thu, 11 Dec 2025 13:49:39 +0100 Subject: [PATCH 177/865] EmployeeTalk: do not show delete action if permissions are missing (46521) --- components/ILIAS/EmployeeTalk/README.md | 6 +++--- .../classes/Talk/class.ilObjEmployeeTalkAccess.php | 5 ++++- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/components/ILIAS/EmployeeTalk/README.md b/components/ILIAS/EmployeeTalk/README.md index 8d6f8b5e46e1..d990eca1dd32 100755 --- a/components/ILIAS/EmployeeTalk/README.md +++ b/components/ILIAS/EmployeeTalk/README.md @@ -152,7 +152,7 @@ over which they have authority. These permission are overwritten in some cases: users always have **Read** access to _Talks_ in which they are **Superior** or **Employee**, and can always edit _Talks_ in which they are **Superior**, but they can never edit _Talks_ -in which they are **Employee**. A _Talk_ can only be deleted by the -**Superior**, or an _Administrator_.
+in which they are **Employee**. A _Talk_ can only be deleted by an _Administrator_, +or the **Superior** if they have **Read** access to the _Talk Template_ administration.
To have access to **Organisation** and **Organisation** > **Talks**, a user -needs to have at least one of the three permissions above. \ No newline at end of file +needs to have at least one of the three permissions above. diff --git a/components/ILIAS/EmployeeTalk/classes/Talk/class.ilObjEmployeeTalkAccess.php b/components/ILIAS/EmployeeTalk/classes/Talk/class.ilObjEmployeeTalkAccess.php index 661c202e6f46..dfcc188faaae 100755 --- a/components/ILIAS/EmployeeTalk/classes/Talk/class.ilObjEmployeeTalkAccess.php +++ b/components/ILIAS/EmployeeTalk/classes/Talk/class.ilObjEmployeeTalkAccess.php @@ -201,7 +201,10 @@ public function canDelete(int $refId): bool { $talk = new ilObjEmployeeTalk($refId); $user = $this->getCurrentUsersId(); - if ($user === $talk->getOwner()) { + if ( + $user === $talk->getOwner() && + $this->container->access()->checkAccess('read', '', ilObjTalkTemplateAdministration::getRootRefId()) + ) { return true; } // global admins can delete From 8926644629be3ea4a228fd061eb87564f7a397e0 Mon Sep 17 00:00:00 2001 From: Matthias Kunkel Date: Fri, 12 Dec 2025 14:16:50 +0100 Subject: [PATCH 178/865] Completed improvements of German lang vars in Guided Tour --- lang/ilias_de.lang | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/lang/ilias_de.lang b/lang/ilias_de.lang index fd9a51a957ba..84135b936ca3 100644 --- a/lang/ilias_de.lang +++ b/lang/ilias_de.lang @@ -10519,7 +10519,7 @@ help#:#gdtr_edit_step_info#:#Wählen Sie das Bedienelement aus, das mit einem Er help#:#gdtr_edit_steps#:#Schritte bearbeiten help#:#gdtr_element_id#:#Element-ID help#:#gdtr_form#:#Formular -help#:#gdtr_form_info#:#Das erste Formular im Hauptbereich der Ansicht. Normalerweise sollen Ansichten nur max. ein Formular enthalten. +help#:#gdtr_form_info#:#Das erste Formular einer Seite help#:#gdtr_guided_tours#:#Touren help#:#gdtr_id_pres_users#:#IDs anzeigen für help#:#gdtr_id_pres_users_info#:#Tragen Sie einen oder mehrere Anmeldenamen ein. Diesen Personen werden auf der Bedienoberfläche Tooltipps mit den IDs der einzelnen Elemente angezeigt. Fahren Sie mit der Maus über die Elemente, um die Tooltipps zu sehen. @@ -10527,7 +10527,7 @@ help#:#gdtr_id_settings#:#Einstellungen help#:#gdtr_import_tour#:#Tour importieren help#:#gdtr_language#:#Nach Sprache help#:#gdtr_language_info#:#Nur Personen mit der ausgewählten Sprache sehen die Tour. -help#:#gdtr_list_tours_mess#:#Um Touren auszuarbeiten, müssen Sie zunächst Ihren Anmeldenamen im Unterreiter „Einstellungen“ eintragen. +help#:#gdtr_list_tours_mess#:#Mit einer interaktiven Tour können Sie die Bedienelemente auf einer Seite in ILIAS erklären. Um Touren überhaupt ausarbeiten zu können, müssen Sie zunächst Ihren Anmeldenamen im Unterreiter „Einstellungen“ eintragen. help#:#gdtr_mainbar#:#Mainbar help#:#gdtr_mainbar_ID_info#:#ID des gewünschten Eintrags im Hauptmenü. Fahren Sie mit der Maus über den Eintrag, um die ID als Tooltipp zu sehen. help#:#gdtr_mainbar_info#:#Die Mainbar ist das Hauptmenü, das auf großen Bildschirmen auf der linken Seite angezeigt wird. @@ -10539,7 +10539,7 @@ help#:#gdtr_permission#:#Nach Rechten help#:#gdtr_permission_info#:#Nur Personen mit den ausgewählten Rechten sehen die Tour. Diese Einstellung sollte nur zusammen mit der Einstellung „Nach Screen-ID“ genutzt werden. help#:#gdtr_presentation_limitation#:#Anzeige einschränken help#:#gdtr_primary_button#:#Primary Button -help#:#gdtr_primary_button_info#:#Der erste Primary-Button im Hauptbereich der Ansicht. Dieser wird um Gegensatz zu anderen Aktionsknöpfen betont dargestellt. Normalerweise sollen Ansichten nur max. eine Primary-Button enthalten. +help#:#gdtr_primary_button_info#:#Diese besonderen Buttons gibt es nur auf wenigen Seiten in ILIAS. Sie sind farblich besonders hervorgehoben und kennzeichnen die wichtigste Aktion, die auf der Seite vorgenommen werden kann. help#:#gdtr_reset_tour#:#Tour zurücksetzen help#:#gdtr_reset_tour_mess#:#Wenn Sie die Tour zurücksetzen, werden alle diejenigen, die zuvor die Tour abgeschlossen haben, die Tour erneut präsentiert bekommen. Möchten Sie fortfahren? help#:#gdtr_screen_ids#:#Nach Screen-IDs @@ -10547,12 +10547,12 @@ help#:#gdtr_screen_ids_info#:#Tragen Sie hier die Screen-IDs der Seiten ein, auf help#:#gdtr_step#:#Schritt help#:#gdtr_step_type#:#Bedienelement help#:#gdtr_table#:#Tabelle -help#:#gdtr_table_info#:#Die erste Tabelle im Hauptbereich der Ansicht. Normalerweise sollen Ansichten nur max. eine Tabelle enthalten. +help#:#gdtr_table_info#:#Die erste Tabelle einer Seite help#:#gdtr_tabs#:#Reiter help#:#gdtr_tabs_ID_info#:#ID des gewünschten Reiters. Fahren Sie mit der Maus über einen Reiter, um die ID als Tooltipp zu sehen. help#:#gdtr_tabs_info#:#Reiter werden unter dem Titel einer Seite dargestellt. help#:#gdtr_toolbar#:#Toolbar -help#:#gdtr_toolbar_info#:#Die erste Toolbar im Hauptbereich der Ansicht. Diese wird normalerweise unterhalb der Reiter dargestellt und kann mehrere Bedienelemente enthalten. Normalerweise sollen Ansichten nur max. eine Toolbar enthalten. +help#:#gdtr_toolbar_info#:#Die Toolbar wird auf einigen Seiten unterhalb der Reiter dargestellt und enthält meistens mehrere Buttons. help#:#gdtr_tour_has_been_reset#:#Die Tour wurde zurückgesetzt. help#:#gdtr_tour_settings#:#Einstellungen bearbeiten help#:#gdtr_tour_steps#:#Schritte From 96fad81e527a70d13dbc49317690006a9084635a Mon Sep 17 00:00:00 2001 From: iszmais Date: Fri, 12 Dec 2025 15:55:11 +0100 Subject: [PATCH 179/865] remove wrong media query --- .../UI-framework/Item/_ui-component_item.scss | 40 +------------------ templates/default/delos.css | 30 -------------- 2 files changed, 1 insertion(+), 69 deletions(-) diff --git a/templates/default/070-components/UI-framework/Item/_ui-component_item.scss b/templates/default/070-components/UI-framework/Item/_ui-component_item.scss index 69c501f27829..4672f296ae4d 100755 --- a/templates/default/070-components/UI-framework/Item/_ui-component_item.scss +++ b/templates/default/070-components/UI-framework/Item/_ui-component_item.scss @@ -208,44 +208,6 @@ $il-item-gap-xs: 1px; } } -@media only screen and (min-width: ($il-grid-float-breakpoint-max + 1px)) { - - .panel-secondary .il-item { - width: 100%; - - .il-item-title { - word-break: break-word; - } - - .il-item-description { - padding-top: 0; - word-break: break-word; - } - - .il-item-divider { - padding: $il-padding-large-vertical 0 0 0; - margin: 0 0 $il-margin-large-vertical 0; - } - - .col-sm-3 { - margin-top: $il-margin-base-vertical; - margin-left: 0; - width: 45px; - img { - width: 40px; - } - } - - .col-sm-9{ - width: calc(100% - 45px); - } - .col-md-6{ - width: 100%; - } - - } -} - /* otherwise dropdowns in items with icon do not work */ .il-std-item .media .media-body, .il-std-item .media, .il-notification-item .media, .il-notification-item .media .media-body { overflow: visible; @@ -265,4 +227,4 @@ $il-item-gap-xs: 1px; min-width: calc($il-icon-size-small + 2 * $il-padding-xlarge-horizontal); } } -} \ No newline at end of file +} diff --git a/templates/default/delos.css b/templates/default/delos.css index 40ed9219212a..250e26ed5e0f 100644 --- a/templates/default/delos.css +++ b/templates/default/delos.css @@ -5082,36 +5082,6 @@ hr.il-divider-with-label { gap: 6px; } -@media only screen and (min-width: 992px) { - .panel-secondary .il-item { - width: 100%; - } - .panel-secondary .il-item .il-item-title { - word-break: break-word; - } - .panel-secondary .il-item .il-item-description { - padding-top: 0; - word-break: break-word; - } - .panel-secondary .il-item .il-item-divider { - padding: 6px 0 0 0; - margin: 0 0 6px 0; - } - .panel-secondary .il-item .col-sm-3 { - margin-top: 3px; - margin-left: 0; - width: 45px; - } - .panel-secondary .il-item .col-sm-3 img { - width: 40px; - } - .panel-secondary .il-item .col-sm-9 { - width: calc(100% - 45px); - } - .panel-secondary .il-item .col-md-6 { - width: 100%; - } -} /* otherwise dropdowns in items with icon do not work */ .il-std-item .media .media-body, .il-std-item .media, .il-notification-item .media, .il-notification-item .media .media-body { overflow: visible; From c88daa248096a91ac5cbfd9cb4a15d646ce5e6c5 Mon Sep 17 00:00:00 2001 From: Matthias Kunkel Date: Sat, 13 Dec 2025 14:59:51 +0100 Subject: [PATCH 180/865] Added improved lang vars for Badges in English, thanks to Chris Potter --- lang/ilias_en.lang | 60 +++++++++++++++++++++++----------------------- 1 file changed, 30 insertions(+), 30 deletions(-) diff --git a/lang/ilias_en.lang b/lang/ilias_en.lang index 5990d18eba51..5f43475aba45 100644 --- a/lang/ilias_en.lang +++ b/lang/ilias_en.lang @@ -2212,49 +2212,49 @@ background_tasks#:#ui_msg_num_files#:#%s file(-s) were detected for download, do background_tasks#:#ui_msg_sum_file_sizes#:#The total download size before creating the zip-folder is %s. Do you want to continue? background_tasks#:#waiting#:#Waiting badge#:##:#Are you sure you want to delete the following badges and all their respective assignments? -badge#:#awarded_by#:#Awarded by +badge#:#awarded_by#:#Awarded By badge#:#badge_activity_badges#:#Activity Badges badge#:#badge_add_template#:#Add Template badge#:#badge_add_to_profile#:#Add to Profile -badge#:#badge_assignment_deletion_confirmation#:#Are you sure you want to revoke the following badge assignments for "%s"? +badge#:#badge_assignment_deletion_confirmation#:#Are you sure you want to revoke the badge "%s" awarded to the following user(s)? badge#:#badge_award_badge#:#Award Badge badge#:#badge_award_revoke#:#Award/Revoke Badge badge#:#badge_badge#:#Badge badge#:#badge_course_lp#:#Course LP -badge#:#badge_course_lp_invalid#:#The following objects have a LP mode which is not supported: %s. +badge#:#badge_course_lp_invalid#:#The following objects have a learning progress mode which is not supported: %s. badge#:#badge_create#:#Create Badge badge#:#badge_create_image_processing_failed#:#The badge could not be created, an error occurred while processing the image. badge#:#badge_criteria#:#Criteria badge#:#badge_crs_merit#:#Merit badge#:#badge_deletion#:#Badge successfully deleted. -badge#:#badge_deletion_confirmation#:#Are you sure you want to delete the following badges and all their respective assignments? +badge#:#badge_deletion_confirmation#:#Are you sure you want to delete the following badges? This will also delete any of these badges that have been earned by or awarded to users. badge#:#badge_image_from_template#:#Use Template badge#:#badge_image_from_upload#:#Upload Image badge#:#badge_image_template_form#:#Image Template badge#:#badge_image_templates#:#Image Templates badge#:#badge_in_profile#:#In Profile badge#:#badge_issued_on#:#Issued On -badge#:#badge_lhist_badge_completed#:#Badge $3$ was awarded. -badge#:#badge_lhist_badge_completed_in#:#Badge $3$ was awarded in $1$. +badge#:#badge_lhist_badge_completed#:#Awarded the badge $3$. +badge#:#badge_lhist_badge_completed_in#:#Awarded the badge $3$ in $1$. badge#:#badge_manual#:#Manual Awarding badge#:#badge_new_badges#:#You have %1 new badge(s). -badge#:#badge_no_valid_types_for_obj#:#There are currently no active badge types. You cannot create new badges. Please contact your administrator. +badge#:#badge_no_valid_types_for_obj#:#There are currently no active badge types and therefore you cannot create new badges. Please contact your installation’s technical support. badge#:#badge_notification_badges#:#New Badges badge#:#badge_notification_badges_goto#:#To your badges -badge#:#badge_notification_body#:#you just received new badges. -badge#:#badge_notification_osd#:#You just received new badges: [BADGE_LIST] -badge#:#badge_notification_parent_goto#:#To repository -badge#:#badge_notification_reason#:#You are receiving this message to be able to add the badges to your profile. -badge#:#badge_notification_subject#:#Badges received +badge#:#badge_notification_body#:#You have just received one or more new badges. +badge#:#badge_notification_osd#:#You have received one or more new badges: [BADGE_LIST] +badge#:#badge_notification_parent_goto#:#To the repository +badge#:#badge_notification_reason#:#If you go to the ‘Badges’ section of your ‘Achievements’ in your ILIAS installation (see link above), you will be able to add any new or existing badges to your profile. +badge#:#badge_notification_subject#:#New Badge(s) badge#:#badge_object_badges#:#Object Badges badge#:#badge_personal_badges#:#My Badges -badge#:#badge_profile_less#:#Show less -badge#:#badge_profile_more#:#Show all +badge#:#badge_profile_less#:#Show Fewer +badge#:#badge_profile_more#:#Show All badge#:#badge_remove_badge#:#Revoke Badge -badge#:#badge_remove_from_profile#:#Remove from Profile +badge#:#badge_remove_from_profile#:#Remove From Profile badge#:#badge_select_one#:#You have to select at least one badge badge#:#badge_service_activate#:#Activate Service -badge#:#badge_service_activate_info#:#Activate the service to make badges available. +badge#:#badge_service_activate_info#:#Allow badges to be earned and awarded on this installation. badge#:#badge_settings#:#Badge Settings badge#:#badge_sort_active_badges_first#:#Active Badges First badge#:#badge_sort_active_badges_last#:#Active Badges Last @@ -2264,21 +2264,21 @@ badge#:#badge_sort_added_to_profile_last#:#Added To Profile First badge#:#badge_sort_excluded_from_profile_first#:#Excluded From Profile First badge#:#badge_sort_manual_awarding_first#:#Badges mit manueller Vergabe zuerst badge#:#badge_sort_manual_awarding_last#:#Badges mit manueller Vergabe zuletzt -badge#:#badge_subtype_auto#:#automatic -badge#:#badge_subtype_manual#:#manual +badge#:#badge_subtype_auto#:#Automatic +badge#:#badge_subtype_manual#:#Manual badge#:#badge_template_deletion_confirmation#:#Are you sure you want to delete the following image templates? -badge#:#badge_template_types#:#Valid Types +badge#:#badge_template_types#:#Badge Type Allocation badge#:#badge_template_types_all#:#All badge#:#badge_template_types_specific#:#Specific badge#:#badge_types#:#Types -badge#:#badge_update_image_processing_failed#:#The badge could not be updated, an error occurred while processing the image. +badge#:#badge_update_image_processing_failed#:#It was not possible to update the badge. An error occurred while processing the image. badge#:#badge_uploaded_image_file_not_found#:#No uploaded image for the badge could be found. -badge#:#badge_user_profile#:#User Profil -badge#:#badge_valid#:#Valid until +badge#:#badge_user_profile#:#User Profile +badge#:#badge_valid#:#Valid Until badge#:#criteria#:#Criteria -badge#:#endless#:#Always -badge#:#issued_on#:#Issued on -badge#:#position_updated#:#Profil assignment updated. +badge#:#endless#:#Forever +badge#:#issued_on#:#Issued On +badge#:#position_updated#:#The badges displayed in your profile have been updated. badge#:#sort_by_date_asc#:#Date Ascending badge#:#sort_by_date_desc#:#Date Descending badge#:#sort_by_title_asc#:#Title Ascending @@ -13162,7 +13162,7 @@ obj#:#obj_tool_booking_info#:#Use the booking pools to book resources. obj#:#obj_tool_ext_mail_subject_prefix#:#Mail Subject Prefix obj#:#obj_tool_ext_mail_subject_prefix_info#:#Enter a short text that is added to the subject line of external mails send to members to make identifying these mails easier. obj#:#obj_tool_setting_badges#:#Badges -obj#:#obj_tool_setting_badges_info#:#Activates badge management and badge assignments to members. +obj#:#obj_tool_setting_badges_info#:#Allow the management of badges and for badges to be earned or awarded within this object. obj#:#obj_tool_setting_booking#:#Resources obj#:#obj_tool_setting_filter#:#Filter obj#:#obj_tool_setting_filter_empty#:#Show on Empty Filter @@ -17220,7 +17220,7 @@ trac#:#trac_current_system_load#:#Current System Load trac#:#trac_data_deleted#:#Data has been deleted. trac#:#trac_defaults#:#Completion Status trac#:#trac_defaults_inactive#:#Inactive -trac#:#trac_defaults_info#:#Set the completion status determination mode for supported object types. Used by certain badge types and certificates. +trac#:#trac_defaults_info#:#Set how the completion status is determined for the following object types when being used as a component of a course or group. Used by certain badge types and certificates. trac#:#trac_delete_data#:#Delete Data trac#:#trac_determines_learning_progress#:#Determines Learning Progress trac#:#trac_edit_collection#:#Please assign materials. If the status of all assigned items is ‘Completed’ the overall status is completed by the user. @@ -17297,12 +17297,12 @@ trac#:#trac_mode_content_visited#:#Visited trac#:#trac_mode_content_visited_info#:#Learning progress status is set to 'completed' when object has been presented to user. trac#:#trac_mode_contribution_to_discussion#:#Contributions to Discussion trac#:#trac_mode_contribution_to_discussion_info#:#The learning progress status will be determined by the number of written posts. -trac#:#trac_mode_course_reference#:#Adopted from Course +trac#:#trac_mode_course_reference#:#Adopted From Course trac#:#trac_mode_course_reference_info#:#The mode is automatically adopted from the course this course link points to. trac#:#trac_mode_deactivated#:#Learning Progress is Deactivated trac#:#trac_mode_deactivated_info_new#:#The learning progress status is not displayed and does not influence parent objects. -trac#:#trac_mode_event#:#Tutors Monitor and Record Attendance -trac#:#trac_mode_event_info#:#Tutors monitor whether or not participants attend the session. Tutors record attendance manually in the 'Participants'-tab. +trac#:#trac_mode_event#:#Requires Manual Attendance Confirmation +trac#:#trac_mode_event_info#:#The user’s attendance needs to be confirmed manually in the 'Participants' tab by someone with the ‘Manage Members’ permission. Normally this would be the person responsible for the session. trac#:#trac_mode_exercise_returned#:#Tutors Monitor and Set Status trac#:#trac_mode_exercise_returned_info#:#Tutors decide if users have accomplished the excercise. Tutors manually set the overall status i.e. ‘Completed’ or ‘Failed’. trac#:#trac_mode_individual_assessment#:#Graded manually by tutor or trainer From 6ce8c05526e94fb1ea8993ade1fcc3f1baba463a Mon Sep 17 00:00:00 2001 From: Stephan Kergomard Date: Mon, 15 Dec 2025 08:21:41 +0100 Subject: [PATCH 181/865] Test: Fix Print View See: https://mantis.ilias.de/view.php?id=46552 --- .../ILIAS/Test/src/Questions/Presentation/Printer.php | 8 +------- .../default/tpl.il_as_tst_print_questions_preview.html | 1 - lang/ilias_ar.lang | 1 - lang/ilias_bg.lang | 1 - lang/ilias_cs.lang | 1 - lang/ilias_da.lang | 1 - lang/ilias_de.lang | 1 - lang/ilias_el.lang | 1 - lang/ilias_en.lang | 1 - lang/ilias_es.lang | 1 - lang/ilias_et.lang | 1 - lang/ilias_fa.lang | 1 - lang/ilias_fr.lang | 1 - lang/ilias_hr.lang | 1 - lang/ilias_hu.lang | 3 +-- lang/ilias_it.lang | 1 - lang/ilias_ja.lang | 3 +-- lang/ilias_ka.lang | 1 - lang/ilias_lt.lang | 1 - lang/ilias_nl.lang | 1 - lang/ilias_pl.lang | 1 - lang/ilias_pt.lang | 1 - lang/ilias_ro.lang | 1 - lang/ilias_ru.lang | 1 - lang/ilias_sk.lang | 1 - lang/ilias_sl.lang | 1 - lang/ilias_sq.lang | 1 - lang/ilias_sr.lang | 1 - lang/ilias_sv.lang | 1 - lang/ilias_tr.lang | 1 - lang/ilias_uk.lang | 1 - lang/ilias_vi.lang | 1 - lang/ilias_zh.lang | 1 - 33 files changed, 3 insertions(+), 41 deletions(-) diff --git a/components/ILIAS/Test/src/Questions/Presentation/Printer.php b/components/ILIAS/Test/src/Questions/Presentation/Printer.php index 6c4bae5eceea..40d22ff383b3 100644 --- a/components/ILIAS/Test/src/Questions/Presentation/Printer.php +++ b/components/ILIAS/Test/src/Questions/Presentation/Printer.php @@ -98,13 +98,7 @@ public function printSelectedQuestions( $max_points += $question_gui->getObject()->getMaximumPoints(); } - $template->setVariable( - 'TITLE', - $this->refinery->encode()->htmlSpecialCharsAsEntities()->transform( - $this->test_obj->getTitle() - ) - ); - $template->setVariable('PRINT_TEST', $this->lng->txt('tst_print')); + $template->setVariable('PRINT_TEST', $this->lng->txt('print_view')); $template->setVariable('TXT_PRINT_DATE', $this->lng->txt('date')); $template->setVariable( 'VALUE_PRINT_DATE', diff --git a/components/ILIAS/Test/templates/default/tpl.il_as_tst_print_questions_preview.html b/components/ILIAS/Test/templates/default/tpl.il_as_tst_print_questions_preview.html index 3eb627fbe917..5ee5153b7d38 100755 --- a/components/ILIAS/Test/templates/default/tpl.il_as_tst_print_questions_preview.html +++ b/components/ILIAS/Test/templates/default/tpl.il_as_tst_print_questions_preview.html @@ -1,5 +1,4 @@

{PRINT_TEST}

-

{TITLE}

{TXT_PRINT_DATE}: {VALUE_PRINT_DATE}  {TXT_MAXIMUM_POINTS}: {VALUE_MAXIMUM_POINTS}

diff --git a/lang/ilias_ar.lang b/lang/ilias_ar.lang index 7252a31c2df8..56a64dee4c09 100644 --- a/lang/ilias_ar.lang +++ b/lang/ilias_ar.lang @@ -1747,7 +1747,6 @@ assessment#:#tst_postpone_on_desc#:#Not answered questions will be postponed to assessment#:#tst_presentation_properties#:#Presentation Settings assessment#:#tst_presentation_settings_section#:#Presentation###10 11 2018 new variable assessment#:#tst_previous_access_code_not_available#:#No previous code available!###26 08 2024 new variable -assessment#:#tst_print#:#Test & Assessment Print View assessment#:#tst_proceed#:#Proceed###10 11 2018 new variable assessment#:#tst_processing_time#:#Max. Processing Time assessment#:#tst_processing_time_desc#:#The maximum processing time starts from the time when a user starts a test for the first time and ends after the expiration of the entered hours, minutes and seconds. diff --git a/lang/ilias_bg.lang b/lang/ilias_bg.lang index 288cdba1b13e..339f3a932d8e 100644 --- a/lang/ilias_bg.lang +++ b/lang/ilias_bg.lang @@ -1747,7 +1747,6 @@ assessment#:#tst_postpone_on_desc#:#Not answered questions will be postponed to assessment#:#tst_presentation_properties#:#Presentation Settings###12 06 2011 new variable assessment#:#tst_presentation_settings_section#:#Presentation###10 11 2018 new variable assessment#:#tst_previous_access_code_not_available#:#No previous code available!###26 08 2024 new variable -assessment#:#tst_print#:#Test & Assessment Print View###06 09 2006 new variable assessment#:#tst_proceed#:#Proceed###10 11 2018 new variable assessment#:#tst_processing_time#:#Макс. време за обработка assessment#:#tst_processing_time_desc#:#The maximum processing time starts from the time when a user starts a test and ends after the expiration of the entered hours, minutes and seconds.###09 06 2007 new variable diff --git a/lang/ilias_cs.lang b/lang/ilias_cs.lang index 0625bcf6fec3..12c19bdab36c 100644 --- a/lang/ilias_cs.lang +++ b/lang/ilias_cs.lang @@ -1747,7 +1747,6 @@ assessment#:#tst_postpone_on_desc#:#Nezodpovězené otázky budou odloženy na k assessment#:#tst_presentation_properties#:#Nastavení prezentace assessment#:#tst_presentation_settings_section#:#Prezentace assessment#:#tst_previous_access_code_not_available#:#No previous code available!###26 08 2024 new variable -assessment#:#tst_print#:#Zobrazit přehled testu a hodnocení assessment#:#tst_proceed#:#Pokračovat assessment#:#tst_processing_time#:#Max. čas zpracování assessment#:#tst_processing_time_desc#:#Maximum času na zpracování testu začíná okamžikem prvního startu uživatele a končí po vypršení vložené periody času. Je-li použita tato volba, možnost přerušit test by měla být deaktivována (viz "Nastavení sekvence") protože přerušení testu nezastavuje počitadlo maximální doby zpracování. diff --git a/lang/ilias_da.lang b/lang/ilias_da.lang index ff729cb470f6..c0de6bff3bd7 100644 --- a/lang/ilias_da.lang +++ b/lang/ilias_da.lang @@ -1747,7 +1747,6 @@ assessment#:#tst_postpone_on_desc#:#Not answered questions will be postponed to assessment#:#tst_presentation_properties#:#Præsentationsindstillinger assessment#:#tst_presentation_settings_section#:#Presentation###10 11 2018 new variable assessment#:#tst_previous_access_code_not_available#:#No previous code available!###26 08 2024 new variable -assessment#:#tst_print#:#Test & evaluering Udskriftsvisning assessment#:#tst_proceed#:#Proceed###10 11 2018 new variable assessment#:#tst_processing_time#:#Max. svar tid assessment#:#tst_processing_time_desc#:#The maximum processing time starts from the time when a user starts a test and ends after the expiration of the entered hours, minutes and seconds.###09 06 2007 new variable diff --git a/lang/ilias_de.lang b/lang/ilias_de.lang index 84135b936ca3..5ba5f679bcf8 100644 --- a/lang/ilias_de.lang +++ b/lang/ilias_de.lang @@ -1747,7 +1747,6 @@ assessment#:#tst_postpone_on_desc#:#Fragen, die verworfen oder übersprungen wer assessment#:#tst_presentation_properties#:#Durchführung: Verhalten der Frage assessment#:#tst_presentation_settings_section#:#Darstellung assessment#:#tst_previous_access_code_not_available#:#Kein vorheriger Code verfügbar! -assessment#:#tst_print#:#Test und Assessment – Druckansicht assessment#:#tst_proceed#:#Fortfahren assessment#:#tst_processing_time#:#Bearbeitungsdauer begrenzen assessment#:#tst_processing_time_desc#:#Teilnehmer dürfen den Test nur während eines vorgegebenen Zeitraums bearbeiten. Die Zeit läuft für jede Person ab dem Moment, an dem der erste Testdurchlauf gestartet wurde. „Test unterbrechen“ stoppt den Ablauf der Bearbeitungsdauer nicht. Wurde die Anzahl möglicher Testdurchläufe eingeschränkt, erscheint im Reiter „Teilnehmer“ eine Funktion, um einzelnen Teilnehmern zusätzliche Bearbeitungszeit zu gewähren. diff --git a/lang/ilias_el.lang b/lang/ilias_el.lang index 56ceff4a6147..6ff2b13a6778 100644 --- a/lang/ilias_el.lang +++ b/lang/ilias_el.lang @@ -1748,7 +1748,6 @@ assessment#:#tst_postpone_on_desc#:#Not answered questions will be postponed to assessment#:#tst_presentation_properties#:#Presentation Settings###12 06 2011 new variable assessment#:#tst_presentation_settings_section#:#Presentation###10 11 2018 new variable assessment#:#tst_previous_access_code_not_available#:#No previous code available!###26 08 2024 new variable -assessment#:#tst_print#:#Προβολή Εκτύπωσης Διαγωνίσματος και Εκτίμησης assessment#:#tst_proceed#:#Proceed###10 11 2018 new variable assessment#:#tst_processing_time#:#Μέγιστος χρόνος επεξεργασίας assessment#:#tst_processing_time_desc#:#The maximum processing time starts from the time when a user starts a test and ends after the expiration of the entered hours, minutes and seconds. diff --git a/lang/ilias_en.lang b/lang/ilias_en.lang index 5f43475aba45..a5735c673d62 100644 --- a/lang/ilias_en.lang +++ b/lang/ilias_en.lang @@ -1747,7 +1747,6 @@ assessment#:#tst_postpone_on_desc#:#Questions that users skip without answering assessment#:#tst_presentation_properties#:#Administering the Test: Question Behaviour assessment#:#tst_presentation_settings_section#:#Presentation assessment#:#tst_previous_access_code_not_available#:#No previous code available! -assessment#:#tst_print#:#Test and Assessment - Print View assessment#:#tst_proceed#:#Proceed assessment#:#tst_processing_time#:#Time Limit assessment#:#tst_processing_time_desc#:#Each participant can work through the test only for a specified period of time. Time starts running down from the moment a user starts the test for the first time. Suspending the test does not stop the clock. If the number of times a test can be taken is limited, an additional feature for granting extra time to participants appears in the ‘Participants’ tab. diff --git a/lang/ilias_es.lang b/lang/ilias_es.lang index aa3fe42da607..3f0f6c400f27 100644 --- a/lang/ilias_es.lang +++ b/lang/ilias_es.lang @@ -1749,7 +1749,6 @@ assessment#:#tst_postpone_on_desc#:#Las preguntas no contestadas se pospondrán assessment#:#tst_presentation_properties#:#Configuración de presentación assessment#:#tst_presentation_settings_section#:#Presentation assessment#:#tst_previous_access_code_not_available#:#No previous code available!###26 08 2024 new variable -assessment#:#tst_print#:#Vista de impresión de test y encuestas assessment#:#tst_proceed#:#Proceed assessment#:#tst_processing_time#:#Máximo tiempo de proceso assessment#:#tst_processing_time_desc#:#El máximo tiempo de proceso comienza cuando un usuario empieza a hacer un test y termina cuando ha pasado el período de tiempo introducido (horas, minutos, segundos) diff --git a/lang/ilias_et.lang b/lang/ilias_et.lang index f68ab92b92b7..7262f5992ad3 100644 --- a/lang/ilias_et.lang +++ b/lang/ilias_et.lang @@ -1747,7 +1747,6 @@ assessment#:#tst_postpone_on_desc#:#Not answered questions will be postponed to assessment#:#tst_presentation_properties#:#Esitluse seaded assessment#:#tst_presentation_settings_section#:#Presentation###10 11 2018 new variable assessment#:#tst_previous_access_code_not_available#:#No previous code available!###26 08 2024 new variable -assessment#:#tst_print#:#Testi printvaade assessment#:#tst_proceed#:#Proceed###10 11 2018 new variable assessment#:#tst_processing_time#:#Maksimaalne töötamisaeg assessment#:#tst_processing_time_desc#:#Maksimaalne läbimisaeg algab hetkel, kui kasutaja alustab testi läbimist, ja lõpeb, kui sisestatud tunnid, minutid ja sekundid lõpevad. diff --git a/lang/ilias_fa.lang b/lang/ilias_fa.lang index eaa133e544f1..8802f219d85f 100644 --- a/lang/ilias_fa.lang +++ b/lang/ilias_fa.lang @@ -1747,7 +1747,6 @@ assessment#:#tst_postpone_on_desc#:#Not answered questions will be postponed to assessment#:#tst_presentation_properties#:#تنظمیمات ارائه assessment#:#tst_presentation_settings_section#:#Presentation###10 11 2018 new variable assessment#:#tst_previous_access_code_not_available#:#No previous code available!###26 08 2024 new variable -assessment#:#tst_print#:#نمای چاپ تست و ارزیابی assessment#:#tst_proceed#:#Proceed###10 11 2018 new variable assessment#:#tst_processing_time#:#حداکثر زمان پردازش assessment#:#tst_processing_time_desc#:#حداکثر زمان پردازش از زمانی که کاربر تست را برای اولین بار شروع می کند آغاز می شود و بعد از تمام شدن ساعات، دقایق و ثانیه های مشخص شده پایان می یابد. diff --git a/lang/ilias_fr.lang b/lang/ilias_fr.lang index 8fc19b42c7f0..0b29829bbbf1 100644 --- a/lang/ilias_fr.lang +++ b/lang/ilias_fr.lang @@ -1732,7 +1732,6 @@ assessment#:#tst_postpone_on_desc#:#Les questions sans réponse seront reportée assessment#:#tst_presentation_properties#:#Paramètres de Présentation assessment#:#tst_presentation_settings_section#:#Presentation assessment#:#tst_previous_access_code_not_available#:#No previous code available!###31 10 2023 new variable -assessment#:#tst_print#:#Test et Evaluation - Vue imprimable assessment#:#tst_proceed#:#Proceed assessment#:#tst_processing_time#:#Temps maximum assessment#:#tst_processing_time_desc#:#Le décompte du temps débute lorsque l'utilisateur commence le test pour la première fois et se termine après expiration du temps précisé ici. Lorsque cette option est utilisée, la possibilité de suspendre le test doit être désactivée. diff --git a/lang/ilias_hr.lang b/lang/ilias_hr.lang index 461131f663da..26c22f787b6a 100644 --- a/lang/ilias_hr.lang +++ b/lang/ilias_hr.lang @@ -1747,7 +1747,6 @@ assessment#:#tst_postpone_on_desc#:#Pitanje koja korisnici samo pogledaju i prel assessment#:#tst_presentation_properties#:#Provedba testa: ponašanje pitanja assessment#:#tst_presentation_settings_section#:#Prezentacija assessment#:#tst_previous_access_code_not_available#:#No previous code available!###26 08 2024 new variable -assessment#:#tst_print#:#Test i ocjenjivanje - pregled za ispis assessment#:#tst_proceed#:#Nastavi assessment#:#tst_processing_time#:#Ograniči trajanje testa assessment#:#tst_processing_time_desc#:#Sudionici test mogu rješavati samo tijekom određenog vremenskog razdoblja. Vrijeme teče od trenutka kada korisnik po prvi put pokrene test. Prekid testa ne zaustavlja vrijeme obrade. Ako je broj mogućih prolaza testa ograničen, na kartici ‘Nadzorna ploča’ prikazuje se dodatna značajka kako bi se sudionicima odobrilo dodatno vrijeme. diff --git a/lang/ilias_hu.lang b/lang/ilias_hu.lang index 36ce1230b7d7..9907782000d4 100644 --- a/lang/ilias_hu.lang +++ b/lang/ilias_hu.lang @@ -1746,8 +1746,7 @@ assessment#:#tst_postpone_on#:#Meg nem válaszolt kérdések sorba állítása assessment#:#tst_postpone_on_desc#:#A megtekintett, de meg nem válaszolt kérdések a teszt végén automatikusan, sorba rendezve újra megjelennek. assessment#:#tst_presentation_properties#:#Teszt kezelése: A kérdés viselkedése assessment#:#tst_presentation_settings_section#:#Megjelenítés -assessment#:#tst_previous_access_code_not_available#:#No previous code available!###26 08 2024 new variable -assessment#:#tst_print#:#Teszt és értékelés nyomtatási nézete +assessment#:#tst_previous_access_code_not_available#:#Egy korábbi kód sem érhető el! assessment#:#tst_proceed#:#Folytatás assessment#:#tst_processing_time#:#Elhasználható idő korlátja assessment#:#tst_processing_time_desc#:#A résztvevők csak meghatározott ideig dolgozhatnak a teszten. A visszaszámlálás akkor kezdődik, amikor a felhasználó először indítja a tesztet. A teszt felfüggesztése nem állítja meg az órát. Ha a lehetséges kitöltések száma korlátozott, megjelenik az extra idő biztosítása a kitöltőknek lehetőség a 'Műszerfal' fül alatt. diff --git a/lang/ilias_it.lang b/lang/ilias_it.lang index 46174ad57809..56a0225d035d 100644 --- a/lang/ilias_it.lang +++ b/lang/ilias_it.lang @@ -1746,7 +1746,6 @@ assessment#:#tst_postpone_on_desc#:#Le domande senza risposta verranno posticipa assessment#:#tst_presentation_properties#:#Impostazioni della presentazione assessment#:#tst_presentation_settings_section#:#Presentazione assessment#:#tst_previous_access_code_not_available#:#No previous code available!###30 04 2024 new variable -assessment#:#tst_print#:#Test e valutazione - Anteprima di stampa assessment#:#tst_proceed#:#Procedere assessment#:#tst_processing_time#:#Tempo massimo di esecuzione assessment#:#tst_processing_time_desc#:#Il conteggio del tempo massimo di elaborazione inizia nel momento in cui un utente avvia un test per la prima volta e termina dopo la scadenza del periodo di tempo immesso. Se si utilizza questa opzione, la possibilità di sospendere il test deve essere disattivato (vedere "Impostazioni di sequenza"), in quanto la sospensione della prova non ferma il conto alla rovescia del tempo di elaborazione massimo. diff --git a/lang/ilias_ja.lang b/lang/ilias_ja.lang index 06151dfedfe0..bcde2497d02a 100644 --- a/lang/ilias_ja.lang +++ b/lang/ilias_ja.lang @@ -1746,8 +1746,7 @@ assessment#:#tst_postpone_on#:#未回答問題を待ち行列にする assessment#:#tst_postpone_on_desc#:#ユーザが見ただけで回答しないで飛ばした問題は、テスト最後に自動再表示するように待ち行列になります。 assessment#:#tst_presentation_properties#:#テスト管理:問題の振る舞い assessment#:#tst_presentation_settings_section#:#Presentation -assessment#:#tst_previous_access_code_not_available#:#No previous code available!###26 08 2024 new variable -assessment#:#tst_print#:#テストとアセスメント - 印刷表示 +assessment#:#tst_previous_access_code_not_available#:#以前のコードは見当たりません! assessment#:#tst_proceed#:#Proceed assessment#:#tst_processing_time#:#制限時間 assessment#:#tst_processing_time_desc#:#受験者は決められた時間内でテスト受験ができます。時間はユーザが最初にテスト開始した時間からカウントされます。テスト保留時間のカウント停止はしません。 diff --git a/lang/ilias_ka.lang b/lang/ilias_ka.lang index f94caf40d6f5..1287a4ceb580 100644 --- a/lang/ilias_ka.lang +++ b/lang/ilias_ka.lang @@ -1747,7 +1747,6 @@ assessment#:#tst_postpone_on_desc#:#Not answered questions will be postponed to assessment#:#tst_presentation_properties#:#პრეზენტაციის პარამეტრები assessment#:#tst_presentation_settings_section#:#Presentation###10 11 2018 new variable assessment#:#tst_previous_access_code_not_available#:#No previous code available!###26 08 2024 new variable -assessment#:#tst_print#:#ტესტი&შეფასება ამობეჭდვის წინ ჩვენება assessment#:#tst_proceed#:#Proceed###10 11 2018 new variable assessment#:#tst_processing_time#:#ტესტის მაქსიმალური დრო assessment#:#tst_processing_time_desc#:#ტესტის წერის მაქსიმალური დრო იწყება მომხმარებლის მიერ ტესტის წერის მომენტიდან და მთავრდება შეყვანილი საათების, წუთებისა და წამების გასვლის შემდეგ diff --git a/lang/ilias_lt.lang b/lang/ilias_lt.lang index e6fe60e26c0c..fccabac44653 100644 --- a/lang/ilias_lt.lang +++ b/lang/ilias_lt.lang @@ -1747,7 +1747,6 @@ assessment#:#tst_postpone_on_desc#:#Not answered questions will be postponed to assessment#:#tst_presentation_properties#:#Presentation Settings###12 06 2011 new variable assessment#:#tst_presentation_settings_section#:#Presentation###10 11 2018 new variable assessment#:#tst_previous_access_code_not_available#:#No previous code available!###26 08 2024 new variable -assessment#:#tst_print#:#Testavimo ir Vertinimo Peržiūra Spausdinimui assessment#:#tst_proceed#:#Proceed###10 11 2018 new variable assessment#:#tst_processing_time#:#Maks. atlikimo laikas assessment#:#tst_processing_time_desc#:#The maximum processing time starts from the time when a user starts a test and ends after the expiration of the entered hours, minutes and seconds.###09 06 2007 new variable diff --git a/lang/ilias_nl.lang b/lang/ilias_nl.lang index 7b40f5ac4db6..360fc6bb0f08 100644 --- a/lang/ilias_nl.lang +++ b/lang/ilias_nl.lang @@ -1747,7 +1747,6 @@ assessment#:#tst_postpone_on_desc#:#Not answered questions will be postponed to assessment#:#tst_presentation_properties#:#Presentatie instellingen assessment#:#tst_presentation_settings_section#:#Presentation###10 11 2018 new variable assessment#:#tst_previous_access_code_not_available#:#No previous code available!###26 08 2024 new variable -assessment#:#tst_print#:#Toets & Beoordeling Print View assessment#:#tst_proceed#:#Proceed###10 11 2018 new variable assessment#:#tst_processing_time#:#Max. toetsduur assessment#:#tst_processing_time_desc#:#De maximale toetsduur, deze begint op het moment dat een deelnemer een toets begint en eindigt na afloop van de opgegeven tijdsduur. Als deze optie wordt gebruikt moet ook de mogelijkheid om een toetst uit te schakelen worden uitgezet. diff --git a/lang/ilias_pl.lang b/lang/ilias_pl.lang index a8dd3ef63548..2c2d3b73aac4 100644 --- a/lang/ilias_pl.lang +++ b/lang/ilias_pl.lang @@ -1747,7 +1747,6 @@ assessment#:#tst_postpone_on_desc#:#Pytania, których odpowiedzi uczestnicy anul assessment#:#tst_presentation_properties#:#Ustawienia prezentacji assessment#:#tst_presentation_settings_section#:#Presentation assessment#:#tst_previous_access_code_not_available#:#No previous code available!###26 08 2024 new variable -assessment#:#tst_print#:#Test i ocena - Podgląd wydruku assessment#:#tst_proceed#:#Proceed assessment#:#tst_processing_time#:#Maks. czas wykonania assessment#:#tst_processing_time_desc#:#Maksymalny czas wykonania startuje od chwili, gdy użytkownik rozpocznie test i kończy się po podanym dopuszczalnym czasie (godzin, minut, i sekund). diff --git a/lang/ilias_pt.lang b/lang/ilias_pt.lang index d623bba66276..c43ee61ca977 100644 --- a/lang/ilias_pt.lang +++ b/lang/ilias_pt.lang @@ -1747,7 +1747,6 @@ assessment#:#tst_postpone_on_desc#:#Seleção das perguntas do teste assessment#:#tst_presentation_properties#:#Lista de perguntas - Todas as perguntas de um banco de perguntas assessment#:#tst_presentation_settings_section#:#Os participantes revêm as perguntas de um banco de perguntas. As perguntas respondidas erradamente serão novamente apresentadas. As perguntas podem ser adicionadas e editadas num teste de funcionamento. assessment#:#tst_previous_access_code_not_available#:#No previous code available!###26 08 2024 new variable -assessment#:#tst_print#:#Conjunto fixo de perguntas assessment#:#tst_proceed#:#Todos os participantes recebem o mesmo conjunto de perguntas. assessment#:#tst_processing_time#:#Conjunto aleatório de perguntas assessment#:#tst_processing_time_desc#:#Cada participante obtém um conjunto diferente de perguntas. As perguntas são selecionadas à sorte de um ou mais bancos de perguntas. diff --git a/lang/ilias_ro.lang b/lang/ilias_ro.lang index b1c8b385ebf5..c5896472d3cb 100644 --- a/lang/ilias_ro.lang +++ b/lang/ilias_ro.lang @@ -1747,7 +1747,6 @@ assessment#:#tst_postpone_on_desc#:#Not answered questions will be postponed to assessment#:#tst_presentation_properties#:#Presentation Settings###12 06 2011 new variable assessment#:#tst_presentation_settings_section#:#Presentation###10 11 2018 new variable assessment#:#tst_previous_access_code_not_available#:#No previous code available!###26 08 2024 new variable -assessment#:#tst_print#:#Verificare imprimare test si examen assessment#:#tst_proceed#:#Proceed###10 11 2018 new variable assessment#:#tst_processing_time#:#Timpul maxim de procesare assessment#:#tst_processing_time_desc#:#The maximum processing time starts from the time when a user starts a test and ends after the expiration of the entered hours, minutes and seconds.###09 06 2007 new variable diff --git a/lang/ilias_ru.lang b/lang/ilias_ru.lang index 5c21d6f1eb09..481735831b2b 100644 --- a/lang/ilias_ru.lang +++ b/lang/ilias_ru.lang @@ -1747,7 +1747,6 @@ assessment#:#tst_postpone_on_desc#:#Not answered questions will be postponed to assessment#:#tst_presentation_properties#:#Настройки отображения assessment#:#tst_presentation_settings_section#:#Presentation###10 11 2018 new variable assessment#:#tst_previous_access_code_not_available#:#No previous code available!###26 08 2024 new variable -assessment#:#tst_print#:#Тесты и оценки - просмотр перед печатью assessment#:#tst_proceed#:#Proceed###10 11 2018 new variable assessment#:#tst_processing_time#:#Макс. время работы assessment#:#tst_processing_time_desc#:#The maximum processing time begins to countdown the moment a user starts a test for the first time and ends when the given time period expires. If this option is used, the option of suspending a test should be deactivated (see 'Sequence Settings') because suspending the test does prevent the maximum processing time from counting down. diff --git a/lang/ilias_sk.lang b/lang/ilias_sk.lang index 803d9a5d072d..31e0ca9e4322 100644 --- a/lang/ilias_sk.lang +++ b/lang/ilias_sk.lang @@ -1747,7 +1747,6 @@ assessment#:#tst_postpone_on_desc#:#Not answered questions will be postponed to assessment#:#tst_presentation_properties#:#Presentation Settings###12 06 2011 new variable assessment#:#tst_presentation_settings_section#:#Presentation###10 11 2018 new variable assessment#:#tst_previous_access_code_not_available#:#No previous code available!###26 08 2024 new variable -assessment#:#tst_print#:#Zobrazit přehled testu a hodnocení assessment#:#tst_proceed#:#Proceed###10 11 2018 new variable assessment#:#tst_processing_time#:#Max. čas zpracování assessment#:#tst_processing_time_desc#:#Maximum času na zpracování testu začíná okamžikem prvního startu uživatele a končí po vypršení vložené hodiny, minuty a sekundy. diff --git a/lang/ilias_sl.lang b/lang/ilias_sl.lang index 257cc7ce5374..08eb4a5bfe98 100644 --- a/lang/ilias_sl.lang +++ b/lang/ilias_sl.lang @@ -1747,7 +1747,6 @@ assessment#:#tst_postpone_on_desc#:#Vprašanja, pri katerih udeleženci odgovore assessment#:#tst_presentation_properties#:#Izvedba: Lastnosti vprašanj assessment#:#tst_presentation_settings_section#:#Prikaz assessment#:#tst_previous_access_code_not_available#:#No previous code available!###26 08 2024 new variable -assessment#:#tst_print#:#Test in ocena - prikaz za tiskanje assessment#:#tst_proceed#:#Nadaljuj assessment#:#tst_processing_time#:#Omeji trajanje obdelave assessment#:#tst_processing_time_desc#:#Udeleženci imajo omejen čas opravljanja testa. Čas teče od trenutka, ko udeleženec prvič začne s testom. "Prekini test" ne ustavi časa obdelave. Če je število možnih opravljanj testa omejeno, se na zavihku »Nadzorna plošča« prikaže dodatna funkcija, ki udeležencem omogoči dodatni čas. diff --git a/lang/ilias_sq.lang b/lang/ilias_sq.lang index 7f6135e02122..583753941a41 100644 --- a/lang/ilias_sq.lang +++ b/lang/ilias_sq.lang @@ -1747,7 +1747,6 @@ assessment#:#tst_postpone_on_desc#:#Not answered questions will be postponed to assessment#:#tst_presentation_properties#:#Presentation Settings###12 06 2011 new variable assessment#:#tst_presentation_settings_section#:#Presentation###10 11 2018 new variable assessment#:#tst_previous_access_code_not_available#:#No previous code available!###26 08 2024 new variable -assessment#:#tst_print#:#Test & Assessment Print View ### 2006-8-11 --- Add new translation here. assessment#:#tst_proceed#:#Proceed###10 11 2018 new variable assessment#:#tst_processing_time#:#Koha maksimale e procesimit assessment#:#tst_processing_time_desc#:#The maximum processing time starts from the time when a user starts a test and ends after the expiration of the entered hours, minutes and seconds.###09 06 2007 new variable diff --git a/lang/ilias_sr.lang b/lang/ilias_sr.lang index fd5060a0faee..44b16487ac39 100644 --- a/lang/ilias_sr.lang +++ b/lang/ilias_sr.lang @@ -1747,7 +1747,6 @@ assessment#:#tst_postpone_on_desc#:#Not answered questions will be postponed to assessment#:#tst_presentation_properties#:#Presentation Settings###12 06 2011 new variable assessment#:#tst_presentation_settings_section#:#Presentation###10 11 2018 new variable assessment#:#tst_previous_access_code_not_available#:#No previous code available!###26 08 2024 new variable -assessment#:#tst_print#:#Test & Assessment Print View ### 2006-8-11 --- Add new translation here. assessment#:#tst_proceed#:#Proceed###10 11 2018 new variable assessment#:#tst_processing_time#:#Max. vreme obrade assessment#:#tst_processing_time_desc#:#The maximum processing time starts from the time when a user starts a test and ends after the expiration of the entered hours, minutes and seconds.###09 06 2007 new variable diff --git a/lang/ilias_sv.lang b/lang/ilias_sv.lang index e487e329b2b4..ba8d2f0f492a 100644 --- a/lang/ilias_sv.lang +++ b/lang/ilias_sv.lang @@ -1747,7 +1747,6 @@ assessment#:#tst_postpone_on_desc#:#Frågor vars svar deltagarna ignorerar eller assessment#:#tst_presentation_properties#:#Utförande assessment#:#tst_presentation_settings_section#:#Presentation assessment#:#tst_previous_access_code_not_available#:#No previous code available!###21 11 2023 new variable -assessment#:#tst_print#:#Test och bedömning - utskriftsvy assessment#:#tst_proceed#:#Fortsättning assessment#:#tst_processing_time#:#Begränsad bearbetningstid assessment#:#tst_processing_time_desc#:#Använd denna inställning för e-tester/distanstester för att ge deltagarna en fast tidsperiod för att slutföra testet. Tiden löper för varje deltagare från det ögonblick då den första testkörningen startades. "Avbryt test" stoppar inte testets varaktighet diff --git a/lang/ilias_tr.lang b/lang/ilias_tr.lang index 440b50fad240..01bb3249d743 100644 --- a/lang/ilias_tr.lang +++ b/lang/ilias_tr.lang @@ -1747,7 +1747,6 @@ assessment#:#tst_postpone_on_desc#:#Not answered questions will be postponed to assessment#:#tst_presentation_properties#:#Sunu Ayarları assessment#:#tst_presentation_settings_section#:#Presentation###10 11 2018 new variable assessment#:#tst_previous_access_code_not_available#:#No previous code available!###26 08 2024 new variable -assessment#:#tst_print#:#Test ve Değerlendirme - Yazdır assessment#:#tst_proceed#:#Proceed###10 11 2018 new variable assessment#:#tst_processing_time#:#Maks. İşlem Süresi assessment#:#tst_processing_time_desc#:#Testin süresini belirleyin. diff --git a/lang/ilias_uk.lang b/lang/ilias_uk.lang index 6395b90bffaf..f8bf8a1bef1c 100644 --- a/lang/ilias_uk.lang +++ b/lang/ilias_uk.lang @@ -1747,7 +1747,6 @@ assessment#:#tst_postpone_on_desc#:#Not answered questions will be postponed to assessment#:#tst_presentation_properties#:#Presentation Settings###12 06 2011 new variable assessment#:#tst_presentation_settings_section#:#Presentation###10 11 2018 new variable assessment#:#tst_previous_access_code_not_available#:#No previous code available!###26 08 2024 new variable -assessment#:#tst_print#:#Тест & Оцінювання Огляд Перед Друком assessment#:#tst_proceed#:#Proceed###10 11 2018 new variable assessment#:#tst_processing_time#:#Максимальний час роботи assessment#:#tst_processing_time_desc#:#The maximum processing time starts from the time when a user starts a test and ends after the expiration of the entered hours, minutes and seconds.###09 06 2007 new variable diff --git a/lang/ilias_vi.lang b/lang/ilias_vi.lang index 0678a007da92..6965c11d9a66 100644 --- a/lang/ilias_vi.lang +++ b/lang/ilias_vi.lang @@ -1749,7 +1749,6 @@ assessment#:#tst_postpone_on_desc#:#Not answered questions will be postponed to assessment#:#tst_presentation_properties#:#Presentation Settings###12 06 2011 new variable assessment#:#tst_presentation_settings_section#:#Presentation###10 11 2018 new variable assessment#:#tst_previous_access_code_not_available#:#No previous code available!###26 08 2024 new variable -assessment#:#tst_print#:#Xem Kiểm tra & Đánh giá kiểu in assessment#:#tst_proceed#:#Proceed###10 11 2018 new variable assessment#:#tst_processing_time#:#Thời gian làm bài tối đa assessment#:#tst_processing_time_desc#:#The maximum processing time starts from the time when a user starts a test and ends after the expiration of the entered hours, minutes and seconds.###09 06 2007 new variable diff --git a/lang/ilias_zh.lang b/lang/ilias_zh.lang index db6d736ee47a..ef76ca57a729 100644 --- a/lang/ilias_zh.lang +++ b/lang/ilias_zh.lang @@ -1746,7 +1746,6 @@ assessment#:#tst_postpone_on_desc#:#Not answered questions will be postponed to assessment#:#tst_presentation_properties#:#展示设置 assessment#:#tst_presentation_settings_section#:#Presentation###10 11 2018 new variable assessment#:#tst_previous_access_code_not_available#:#No previous code available!###26 08 2024 new variable -assessment#:#tst_print#:#Test & Assessment Print View测试和评估打印视图 assessment#:#tst_proceed#:#Proceed###10 11 2018 new variable assessment#:#tst_processing_time#:#最大处理时间 assessment#:#tst_processing_time_desc#:#The maximum processing time starts from the time when a user starts a test and ends after the expiration of the entered hours, minutes and seconds. From eeeba859b01da4675889bc8755db3f7312ec352b Mon Sep 17 00:00:00 2001 From: fneumann Date: Mon, 15 Dec 2025 09:40:19 +0100 Subject: [PATCH 182/865] Admin: fix technical contact url (#46352) https://mantis.ilias.de/view.php?id=46352 --- .../class.ilSystemSupportContactsGUI.php | 20 +++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) diff --git a/components/ILIAS/Administration/classes/SystemSupport/class.ilSystemSupportContactsGUI.php b/components/ILIAS/Administration/classes/SystemSupport/class.ilSystemSupportContactsGUI.php index 73b59ee2c521..ac72c8cd712d 100755 --- a/components/ILIAS/Administration/classes/SystemSupport/class.ilSystemSupportContactsGUI.php +++ b/components/ILIAS/Administration/classes/SystemSupport/class.ilSystemSupportContactsGUI.php @@ -22,6 +22,7 @@ * System support contacts * * @author Alex Killing + * @ilCtrl_Calls ilSystemSupportContactsGUI: ILIAS\User\Profile\PublicProfileGUI */ class ilSystemSupportContactsGUI implements ilCtrlBaseClassInterface { @@ -61,9 +62,20 @@ public function __construct() */ public function executeCommand() { - $cmd = $this->ctrl->getCmd("showContacts"); - if (in_array($cmd, array("showContacts"))) { - $this->$cmd(); + $next_class = $this->ctrl->getNextClass($this); + + switch ($next_class) { + case strtolower(PublicProfileGUI::class): + $gui = new PublicProfileGUI(); + $this->ctrl->setReturn($this, 'showContacts'); + $this->ctrl->forwardCommand($gui); + break; + + default: + $cmd = $this->ctrl->getCmd("showContacts"); + if (in_array($cmd, array("showContacts"))) { + $this->$cmd(); + } } } @@ -116,7 +128,7 @@ public static function getFooterLink() ilSystemSupportContacts::getMailsToAddress() ); } else { - return $ilCtrl->getLinkTargetByClass("ilsystemsupportcontactsgui", "", "", false, false); + return $ilCtrl->getLinkTargetByClass("ilsystemsupportcontactsgui", ""); } } From 27b9c61e36cbbd7a5b781b75f87d59b1a6a52e52 Mon Sep 17 00:00:00 2001 From: ingoj <120396930+ingoj@users.noreply.github.com> Date: Mon, 17 Nov 2025 17:15:40 +0100 Subject: [PATCH 183/865] User: Fix Links in Role Lists See: https://mantis.ilias.de/view.php?id=46252 --- .../classes/class.ilRoleAssignmentTableGUI.php | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/components/ILIAS/User/classes/class.ilRoleAssignmentTableGUI.php b/components/ILIAS/User/classes/class.ilRoleAssignmentTableGUI.php index 393dd18ff550..00bb7c7b8b58 100755 --- a/components/ILIAS/User/classes/class.ilRoleAssignmentTableGUI.php +++ b/components/ILIAS/User/classes/class.ilRoleAssignmentTableGUI.php @@ -26,6 +26,7 @@ class ilRoleAssignmentTableGUI extends ilTable2GUI protected array $filter; // Missing array type. protected \ILIAS\UI\Factory $factory; protected \ILIAS\UI\Renderer $renderer; + protected ilAccess $access; protected ilObjectDefinition $objectDefinition; protected bool $edit_access; @@ -42,7 +43,7 @@ public function __construct( $this->objectDefinition = $DIC['objDefinition']; $this->factory = $DIC->ui()->factory(); $this->renderer = $DIC->ui()->renderer(); - + $this->access = $DIC['ilAccess']; $lng->loadLanguageModule('rbac'); $this->setId("usrroleass"); @@ -122,19 +123,22 @@ protected function fillRow(array $a_set): void // Missing array type. $this->ctrl->setParameterByClass("ilobjrolegui", "ref_id", $a_set['ref_id']); $this->ctrl->setParameterByClass("ilobjrolegui", "obj_id", $a_set["obj_id"]); - $this->tpl->setVariable( - 'ROLE', - $this->renderer->render( + $role = ilObjRole::_getTranslation($a_set['title']); + if ($this->access->checkAccess('edit_permission', '', (int) $a_set['ref_id'])) { + $role = $this->renderer->render( $this->factory->link()->standard( ilObjRole::_getTranslation($a_set['title']), $this->ctrl->getLinkTargetByClass(ilObjRoleGUI::class, 'perm') ) - ) - ); + ); + } + $this->tpl->setVariable('ROLE', $role); $this->tpl->setVariable('DESCRIPTION', $a_set['description']); // Add link to objector local Rores $context = $a_set['context']; - if ($a_set['role_type'] === 'local') { + if ($a_set['role_type'] === 'local' && + ($this->access->checkAccess('visible', '', (int) $a_set['ref_id']) || + $this->access->checkAccess('read', '', (int) $a_set['ref_id']))) { $context = $this->renderer->render( $this->factory->link()->standard( $context, From 7dae2eba688ed7542b69286565177559d633d6db Mon Sep 17 00:00:00 2001 From: Michael Jansen Date: Mon, 15 Dec 2025 10:55:38 +0100 Subject: [PATCH 184/865] LearningSequence/KioskMode/UI: Fix legacy element usage (#10513) See: https://mantis.ilias.de/view.php?id=46297 --- .../classes/Player/class.ilKioskPageRenderer.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/components/ILIAS/LearningSequence/classes/Player/class.ilKioskPageRenderer.php b/components/ILIAS/LearningSequence/classes/Player/class.ilKioskPageRenderer.php index 4ed8924a6d26..ab314a621b32 100755 --- a/components/ILIAS/LearningSequence/classes/Player/class.ilKioskPageRenderer.php +++ b/components/ILIAS/LearningSequence/classes/Player/class.ilKioskPageRenderer.php @@ -63,7 +63,7 @@ public function buildCurriculumSlate(Workflow $curriculum): Slate return $this->ui_factory->maincontrols()->slate()->legacy( $this->lng->txt('lso_mainbar_button_label_curriculum'), $f->symbol()->icon()->standard("lso", "Learning Sequence"), - $this->ui_factory->legacy( + $this->ui_factory->legacy()->content( $this->ui_renderer->render($curriculum) ) ); From 7db351fe04f852855ccbb61330c7fc3f6d9aa10e Mon Sep 17 00:00:00 2001 From: fneumann Date: Mon, 15 Dec 2025 11:08:16 +0100 Subject: [PATCH 185/865] Admin: fix missing lang vars (#46391) https://mantis.ilias.de/view.php?id=46391 --- .../ILIAS/Administration/classes/class.ilAdministrationGUI.php | 1 + 1 file changed, 1 insertion(+) diff --git a/components/ILIAS/Administration/classes/class.ilAdministrationGUI.php b/components/ILIAS/Administration/classes/class.ilAdministrationGUI.php index b396e4b93ccc..54dd62ac748a 100755 --- a/components/ILIAS/Administration/classes/class.ilAdministrationGUI.php +++ b/components/ILIAS/Administration/classes/class.ilAdministrationGUI.php @@ -98,6 +98,7 @@ public function __construct() $this->ctrl = $DIC->ctrl(); $this->global_screen = $DIC->globalScreen(); + $this->lng->loadLanguageModule('administration'); $this->lng->loadLanguageModule('benchmark'); $context = $this->global_screen->tool()->context(); From cf2a384bb28a79437a0f1cc6f0387f9b25525a65 Mon Sep 17 00:00:00 2001 From: fneumann Date: Mon, 15 Dec 2025 11:44:05 +0100 Subject: [PATCH 186/865] Admin: fix lang vars (#46537) https://mantis.ilias.de/view.php?id=46537 --- lang/ilias_de.lang | 8 +------- lang/ilias_en.lang | 8 +------- 2 files changed, 2 insertions(+), 14 deletions(-) diff --git a/lang/ilias_de.lang b/lang/ilias_de.lang index 5ba5f679bcf8..416477ab74d1 100644 --- a/lang/ilias_de.lang +++ b/lang/ilias_de.lang @@ -4931,8 +4931,6 @@ common#:#obj_etal#:#Gespräch Teammitglied common#:#obj_exc#:#Übung common#:#obj_exc_duplicate#:#Übung kopieren common#:#obj_excv#:#Übungszertifikat -common#:#obj_extt#:#Software von Drittanbietern -common#:#obj_extt_desc#:#Konfigurieren Sie hier externe Software und Dienste, welche von ILIAS unterstützt werden common#:#obj_facs#:#Dateien common#:#obj_facs_desc#:#Einstellungen für den Objekttyp Datei common#:#obj_file#:#Datei @@ -11799,7 +11797,7 @@ mail#:#show_mail_settings#:#Einstellungen anzeigen mail#:#show_mail_settings_info#:#Aktiviert die Anzeige der Mail-Einstellungen im Bereich 'Einstellungen' oder 'Mail'. Benutzer können die Mail-Einstellungen nur ändern, wenn die Konfiguration des Benutzer-Profils dies erlaubt. Wenn Benutzer nicht berechtigt sind, die Mail-Einstellung ihrer Profils zu ändern, dann gelten die globalen Einstellungen. Dies gilt auch dann, wenn Benutzer in der Vergangenheit die Berechtigung zum Ändern der Mail-Einstellungen hatten und persönliche Einstellungen vorgenommen haben. mail#:#system_notification_installation_changed_by#:#Geändert durch mail#:#usrFieldChange_second_mail_visible_in_personal_data#:#Sie haben das Attribut „%s“ im Feld „%s“ verändert.
Dies führt dazu, dass, für alle bestehenden und künftig angelegten Konten,
die bei den Benutzern gewählte Empfangsart und der Standard für neue Anmeldekonten bei externer Zustellung auf die primäre E-Mail-Adresse geändert wird,
unter Inkaufnahme der Rücksetzung von bestehenden Benutzer-Einstellungen. -maps#:#configure_geolocation#:#Um nach Adressen suchen zu können, schließen Sie bitte die Konfiguration für die Geolocation im Administrationsmenü „Software von Drittanbietern“ ab. +maps#:#configure_geolocation#:#Um nach Adressen suchen zu können, schließen Sie bitte die Konfiguration für die Geolocation im Administrationsmenü „ILIAS erweitern > Karten“ ab. maps#:#maps_custom_geolocation_server_info#:#URL des Servers, über den die Geolocation-Daten mithilfe des Nominatim-Dienstes bereitgestellt werden. Der Eintrag muss den Platzhalter [QUERY] enthalten, um die Anfrageposition festzulegen. Beispiel: https://nominatim.example.com/search?q=[QUERY]&format=json maps#:#maps_custom_tile_server_info#:#URL des Servers für die Bereitstellung der Kacheln. Mehrere Einträge müssen mit Leerzeichen getrennt werden. Standardeingabe ist „%s“. maps#:#maps_enable_maps#:#Karten aktivieren @@ -14257,10 +14255,6 @@ rbac#:#excs_read#:#Lesezugriff auf Übungs-Administration rbac#:#excs_visible#:#Übungs-Administration ist sichtbar rbac#:#excs_write#:#Einstellungen in Übungs-Administration bearbeiten rbac#:#export_member_data#:#Export von Mitgliederdaten -rbac#:#extt_edit_permission#:#Rechteeinstellungen ändern -rbac#:#extt_read#:#Lesezugriff auf Administration der Software von Drittanbietern -rbac#:#extt_visible#:#Administration der Software von Drittanbietern ist sichtbar -rbac#:#extt_write#:#Software von Drittanbietern konfigurieren rbac#:#facs_edit_permission#:#Rechteeinstellung für die Administration ändern rbac#:#facs_read#:#Lesezugriff auf Administration für Dateien und Ordner rbac#:#facs_upload_blacklisted_files#:#Dateien mit indexierten Endungen hochladen diff --git a/lang/ilias_en.lang b/lang/ilias_en.lang index a5735c673d62..f0c6d67fb65d 100644 --- a/lang/ilias_en.lang +++ b/lang/ilias_en.lang @@ -4932,8 +4932,6 @@ common#:#obj_etal#:#Employee Talk common#:#obj_exc#:#Exercise common#:#obj_exc_duplicate#:#Copy Exercise common#:#obj_excv#:#Exercise Certificate -common#:#obj_extt#:#Third Party Software -common#:#obj_extt_desc#:#Configure external software or services that are supported by ILIAS common#:#obj_facs#:#Files common#:#obj_facs_desc#:#Settings for files and file handling common#:#obj_file#:#File @@ -11800,7 +11798,7 @@ mail#:#show_mail_settings#:#Show Mail Settings mail#:#show_mail_settings_info#:#Enable individual users to alter their mail settings, thereby overriding the global mail settings that would otherwise apply to them. ‘Mail Settings’ are accessible via their ‘Personal Settings’ or ‘Communication > Mail’. Note: In order for users to be allowed to change their individual mail settings and thereby override the global settings, this needs to be set in the 'Standard Fields' section of the global user account administration settings. If users do not have the permission to change these profile settings, the global default is applied even if users were able to and did change their personal mail settings in the past. mail#:#system_notification_installation_changed_by#:#Changed by mail#:#usrFieldChange_second_mail_visible_in_personal_data#:#You have changed the attribute "%s" of the field "%s".
This leads to all accounts settings being reset to "receive on primary address" for external delivery,
not only for all new accounts but also dismissing the currently active settings made by users. -maps#:#configure_geolocation#:#Please finish the geolocation configuration in the "Third Party Software" administration menu to enable address search. +maps#:#configure_geolocation#:#Please finish the geolocation configuration in the "Extending ILIAS > Maps" administration menu to enable address search. maps#:#maps_custom_geolocation_server_info#:#Server URL to provide geolocation-data using Nominatim. Your entry should contain the placeholder [QUERY] to define a position for request information. Example: https://nominatim.example.com/search?q=[QUERY]&format=json maps#:#maps_custom_tile_server_info#:#Server URL to provide tile-data. Multiple inputs should be separated by spaces. Defaults is "%s". maps#:#maps_enable_maps#:#Enable Maps @@ -14258,10 +14256,6 @@ rbac#:#excs_read#:#User has read access to Exercise administration rbac#:#excs_visible#:#Exercise administration is visible rbac#:#excs_write#:#Edit settings in Exercise administration rbac#:#export_member_data#:#Access User Data -rbac#:#extt_edit_permission#:#User can change permission settings of Third Party Software administration -rbac#:#extt_read#:#User has read access to administration of Third Party Software -rbac#:#extt_visible#:#Administration of Third Party Software is visible -rbac#:#extt_write#:#User can edit settings of Third Party Software rbac#:#facs_edit_permission#:#User can change permission settings of Files and Folders administration rbac#:#facs_read#:#User has read access to administration of Files and Folders rbac#:#facs_upload_blacklisted_files#:#Upload indexed file types despite blacklist From 96900cad8534e758b820ace72cfac1deafb7fd78 Mon Sep 17 00:00:00 2001 From: Stephan Kergomard Date: Mon, 15 Dec 2025 12:45:36 +0100 Subject: [PATCH 187/865] Test: Fix Downloads of UploadFiles See: https://mantis.ilias.de/view.php?id=46554 --- .../Test/classes/class.ilTestArchiver.php | 63 +++++++++++-------- .../classes/class.assFileUploadGUI.php | 3 - .../class.ilAssFileUploadUploadsExporter.php | 7 +-- 3 files changed, 41 insertions(+), 32 deletions(-) diff --git a/components/ILIAS/Test/classes/class.ilTestArchiver.php b/components/ILIAS/Test/classes/class.ilTestArchiver.php index f5730b179d2b..199e28644071 100755 --- a/components/ILIAS/Test/classes/class.ilTestArchiver.php +++ b/components/ILIAS/Test/classes/class.ilTestArchiver.php @@ -29,6 +29,7 @@ use ILIAS\Data\Order; use ILIAS\Test\Results\Data\Repository as TestResultRepository; use ILIAS\ResourceStorage\Services as IRSS; +use ILIAS\ResourceStorage\Identification\ResourceIdentification; use Psr\Http\Message\ServerRequestInterface; /** @@ -170,31 +171,25 @@ public function handInParticipantUploadedResults( $questions = $tst_obj->getQuestionsOfPass($active_fi, $pass); foreach ($questions as $question) { $question = $tst_obj->getQuestionDataset($question['question_fi']); - if ($question->type_tag === 'assFileUpload') { - $this->ensureTestArchiveIsAvailable(); - $this->ensurePassDataDirectoryIsAvailable($active_fi, $pass); - $this->ensurePassMaterialsDirectoryIsAvailable($active_fi, $pass); - $pass_material_directory = $this->getPassMaterialsDirectory($active_fi, $pass); - $archive_folder = $pass_material_directory . DIRECTORY_SEPARATOR . $question->question_id . DIRECTORY_SEPARATOR; - if (!file_exists($archive_folder)) { - mkdir($archive_folder, 0777, true); - } - $resource_id = $tst_obj->getTextAnswer($active_fi, $question->question_id, $pass); - if ($resource_id === '') { - continue; - } - $irss_unique_id = $this->irss->manage()->find($resource_id); - if ($irss_unique_id != null) { - $resource = $this->irss->manage()->getResource($irss_unique_id); - $information = $resource->getCurrentRevision()->getInformation(); - $stream = $this->irss->consume()->stream($irss_unique_id); - // this feels unnecessary.. - $file_stream = fopen($stream->getStream()->getMetadata('uri'), 'r'); - $file_content = stream_get_contents($file_stream); - fclose($file_stream); - $target_destination = $archive_folder . $information->getTitle(); - file_put_contents($target_destination, $file_content); - } + if ($question->type_tag !== 'assFileUpload') { + continue; + } + + $this->ensureTestArchiveIsAvailable(); + $this->ensurePassDataDirectoryIsAvailable($active_fi, $pass); + $this->ensurePassMaterialsDirectoryIsAvailable($active_fi, $pass); + $pass_material_directory = $this->getPassMaterialsDirectory($active_fi, $pass); + $archive_folder = $pass_material_directory . DIRECTORY_SEPARATOR . $question->question_id . DIRECTORY_SEPARATOR; + if (!file_exists($archive_folder)) { + mkdir($archive_folder, 0777, true); + } + + $uploaded_files = assQuestion::instantiateQuestion($question->question_id)->getUploadedFiles($active_fi, $pass); + foreach ($uploaded_files as $uploaded_file) { + $this->addUploadedFilesToExport( + $this->irss->manage()->find($uploaded_file['value1']), + $archive_folder + ); } } } @@ -712,4 +707,22 @@ private function logArchivingProcess(string $message): void file_put_contents($archive, $content); } + + private function addUploadedFilesToExport( + ?ResourceIdentification $resource_id, + string $archive_folder + ): void { + if ($resource_id === null) { + return; + } + + $information = $this->irss->manage()->getResource($resource_id) + ->getCurrentRevision()->getInformation(); + $stream = $this->irss->consume()->stream($resource_id)->getStream(); + file_put_contents( + $archive_folder . $information->getTitle(), + $stream->getContents() + ); + $stream->close(); + } } diff --git a/components/ILIAS/TestQuestionPool/classes/class.assFileUploadGUI.php b/components/ILIAS/TestQuestionPool/classes/class.assFileUploadGUI.php index 57d7e2401bbd..c8aa531e24f3 100755 --- a/components/ILIAS/TestQuestionPool/classes/class.assFileUploadGUI.php +++ b/components/ILIAS/TestQuestionPool/classes/class.assFileUploadGUI.php @@ -176,10 +176,7 @@ public function getSolutionOutput( // get the solution of the user for the active pass or from the last pass if allowed $template = new ilTemplate("tpl.il_as_qpl_fileupload_output_solution.html", true, true, "components/ILIAS/TestQuestionPool"); - $solutionvalue = ""; if (($active_id > 0) && (!$show_correct_solution)) { - $solutions = $this->object->getSolutionValues($active_id, $pass); - $files = ($show_manual_scoring) ? $this->object->getUploadedFilesForWeb($active_id, $pass) : $this->object->getUploadedFiles($active_id, $pass); $table_gui = new assFileUploadFileTableGUI($this, 'gotoquestion'); $table_gui->setTitle( diff --git a/components/ILIAS/TestQuestionPool/classes/class.ilAssFileUploadUploadsExporter.php b/components/ILIAS/TestQuestionPool/classes/class.ilAssFileUploadUploadsExporter.php index 65929f97361c..0eee94544d66 100755 --- a/components/ILIAS/TestQuestionPool/classes/class.ilAssFileUploadUploadsExporter.php +++ b/components/ILIAS/TestQuestionPool/classes/class.ilAssFileUploadUploadsExporter.php @@ -212,10 +212,9 @@ private function collectUploadedFiles(array $solution_data, ilTestParticipantDat $dir .= $this->getPassSubDirName($file['pass']) . '/'; // IRSS Version - if ($file['value2'] === 'rid') { - $revision = $this->irss->manage()->getCurrentRevision( - $rid = $this->irss->manage()->find($file['value1']) - ); + if ($file['value2'] === 'rid' + && ($rid = $this->irss->manage()->find($file['value1'])) !== null) { + $revision = $this->irss->manage()->getCurrentRevision($rid); $streams[$dir . $revision->getTitle()] = $this->irss->consume()->stream($rid)->getStream(); continue; } From 624c677ef66af665118004dba1c64f4ed4520dd6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thomas=20Jou=C3=9Fen?= Date: Mon, 15 Dec 2025 12:59:44 +0100 Subject: [PATCH 188/865] NW: Performance optimization (#10625) * refactor(news): introduce data transfer objects and factory * refactor(news): introduce UserContextResolver and cache stubs * refactor(news): introduce NewsAggregator and aggregation strategies * refactor: cleanup NewsContext object and improve aggregation * refactor(news): separate recursive and iterative strategies for context aggregation * refactor(news): restructure cache layer and introduce NewsCollectionService * refactor(news): introduce methods to retain legacy compatibility * refactor(news): introduce NewsRepository * refactor(news): integrate service and data structures in NewsBlockGUI-classes * refactor(news): implement NewsCache and introduce optimized subset cache lookup * refactor(news): some bug fixes and remove usage of legacy methods * refactor(news): fixes cache key overflow bug, fixes missing news criteria bug, fixes file aggregation bug * refactor(news): introduce lazy loading collection to enhance caching end reduce memory consumption * refactor(news): remove legacy cache references * refactor(news): introduce news items database index * refactor(news): refactor timeline and mark legacy implementations as deprecated * refactor(news): fix missing user read status in lazy collection * refactor(news): fix potential cache memory overflow * fix: refactor code style and small improvements after review * fix: refactor queries and remove slow join operations * fix: remove index structure and improve cache overhead to reduce memory consumption * fix: wrong cache payload * fix: use iterative tree method to aggregate course and group items to avoid memory overflow --------- Co-authored-by: Lukas Eichenauer --- .../Setup/class.ilNewsDBUpdateSteps.php | 36 + .../classes/Setup/class.ilNewsSetupAgent.php | 33 + .../CategoryAggregationStrategy.php | 34 + .../Aggregation/NewsAggregationStrategy.php | 47 ++ .../News/src/Aggregation/NewsAggregator.php | 102 +++ .../SubtreeAggregationStrategy.php | 66 ++ Services/News/src/Data/Factory.php | 65 ++ Services/News/src/Data/LazyNewsCollection.php | 251 +++++++ Services/News/src/Data/NewsCollection.php | 439 ++++++++++++ Services/News/src/Data/NewsContext.php | 155 +++++ Services/News/src/Data/NewsCriteria.php | 230 +++++++ Services/News/src/Data/NewsItem.php | 250 +++++++ .../News/src/Domain/NewsCollectionService.php | 184 ++++++ .../News/src/Domain/UserContextResolver.php | 142 ++++ Services/News/src/Persistence/NewsCache.php | 228 +++++++ .../News/src/Persistence/NewsRepository.php | 283 ++++++++ .../Feeds/classes/class.ilUserFeedWriter.php | 75 +-- .../Dashboard/class.DashboardNewsManager.php | 124 +--- .../Service/class.InternalDataService.php | 6 +- .../Service/class.InternalDomainService.php | 32 +- .../Service/class.InternalRepoService.php | 23 +- .../News/Timeline/class.TimelineManager.php | 63 +- .../ILIAS/News/classes/class.ilNewsCache.php | 2 + .../class.ilNewsForContextBlockGUI.php | 623 +++++++----------- .../ILIAS/News/classes/class.ilNewsItem.php | 162 +---- .../News/classes/class.ilNewsTimelineGUI.php | 96 +-- .../classes/class.ilNewsTimelineItemGUI.php | 106 ++- .../classes/class.ilObjNewsSettingsGUI.php | 10 +- .../News/classes/class.ilPDNewsBlockGUI.php | 89 +-- 29 files changed, 3040 insertions(+), 916 deletions(-) create mode 100644 Services/News/classes/Setup/class.ilNewsDBUpdateSteps.php create mode 100644 Services/News/classes/Setup/class.ilNewsSetupAgent.php create mode 100644 Services/News/src/Aggregation/CategoryAggregationStrategy.php create mode 100644 Services/News/src/Aggregation/NewsAggregationStrategy.php create mode 100644 Services/News/src/Aggregation/NewsAggregator.php create mode 100644 Services/News/src/Aggregation/SubtreeAggregationStrategy.php create mode 100644 Services/News/src/Data/Factory.php create mode 100644 Services/News/src/Data/LazyNewsCollection.php create mode 100644 Services/News/src/Data/NewsCollection.php create mode 100644 Services/News/src/Data/NewsContext.php create mode 100644 Services/News/src/Data/NewsCriteria.php create mode 100644 Services/News/src/Data/NewsItem.php create mode 100644 Services/News/src/Domain/NewsCollectionService.php create mode 100644 Services/News/src/Domain/UserContextResolver.php create mode 100644 Services/News/src/Persistence/NewsCache.php create mode 100644 Services/News/src/Persistence/NewsRepository.php diff --git a/Services/News/classes/Setup/class.ilNewsDBUpdateSteps.php b/Services/News/classes/Setup/class.ilNewsDBUpdateSteps.php new file mode 100644 index 000000000000..a6574d277d96 --- /dev/null +++ b/Services/News/classes/Setup/class.ilNewsDBUpdateSteps.php @@ -0,0 +1,36 @@ +db = $db; + } + + public function step_1(): void + { + if (!$this->db->indexExistsByFields('il_news_item', ['context_obj_type'])) { + $this->db->addIndex('il_news_item', ['context_obj_type'], 'i3'); + } + } +} diff --git a/Services/News/classes/Setup/class.ilNewsSetupAgent.php b/Services/News/classes/Setup/class.ilNewsSetupAgent.php new file mode 100644 index 000000000000..04bb4f9183e7 --- /dev/null +++ b/Services/News/classes/Setup/class.ilNewsSetupAgent.php @@ -0,0 +1,33 @@ + */ + protected array $strategies = []; + protected \ilTree $tree; + + public function __construct() + { + global $DIC; + + $this->tree = $DIC->repositoryTree(); + $this->initializeStrategies(); + } + + /** + * @param NewsContext[] $contexts + * @return NewsContext[] aggregated contexts + */ + public function aggregate(array $contexts): array + { + /** @var SplQueue $frontier */ + $frontier = new SplQueue(); + $result = []; + + // Prepare queue + foreach ($contexts as $context) { + $frontier->enqueue($context); + } + + while (!$frontier->isEmpty()) { + $current = $frontier->dequeue(); + + // Ensure each context is only visited once + if (array_key_exists($current->getRefId(), $result)) { + continue; + } + $result[$current->getRefId()] = $current; + + // Skip if no processing necessary + $strategy = $this->getStrategy($current->getObjType()); + if ($strategy === null || $strategy->shouldSkip($current)) { + continue; + } + + $children = $strategy->aggregate($current); + foreach ($children as $child) { + if ($strategy->isRecursive()) { + // Recursive items will be added directly + $result[$child->getRefId()] = $child; + } else { + // Iterative items will be queued for further processing + $frontier->enqueue($child); + } + } + } + + return array_values($result); + } + + protected function getStrategy(string $object_type): ?NewsAggregationStrategy + { + return $this->strategies[$object_type] ?? null; + } + + protected function initializeStrategies(): void + { + $subtree_strategy = new SubtreeAggregationStrategy($this->tree); + + $this->strategies['cat'] = new CategoryAggregationStrategy($this->tree); + $this->strategies['crs'] = $subtree_strategy; + $this->strategies['grp'] = $subtree_strategy; + } +} diff --git a/Services/News/src/Aggregation/SubtreeAggregationStrategy.php b/Services/News/src/Aggregation/SubtreeAggregationStrategy.php new file mode 100644 index 000000000000..7584b62aff1a --- /dev/null +++ b/Services/News/src/Aggregation/SubtreeAggregationStrategy.php @@ -0,0 +1,66 @@ +tree->getChilds($base_context->getRefId()) as $node) { + $aggregated[] = new NewsContext( + $node['child'], + $node['obj_id'], + $node['type'], + $base_context->getRefId(), + $base_context->getLevel() + 1 + ); + } + + return $aggregated; + } + + public function isRecursive(): bool + { + return false; + } + + public function shouldSkip(NewsContext $context): bool + { + // see #31471, #30687, and ilMembershipNotification + return !\ilContainer::_lookupContainerSetting($context->getObjId(), 'cont_use_news', '1') + || (!\ilContainer::_lookupContainerSetting($context->getObjId(), 'cont_show_news', '1') + && !\ilContainer::_lookupContainerSetting($context->getObjId(), 'news_timeline')); + } +} diff --git a/Services/News/src/Data/Factory.php b/Services/News/src/Data/Factory.php new file mode 100644 index 000000000000..accfae121fef --- /dev/null +++ b/Services/News/src/Data/Factory.php @@ -0,0 +1,65 @@ +db_timezone = new \DateTimeZone('UTC'); + } + + public function newsItem(array $row): NewsItem + { + return new NewsItem( + id: (int) $row['id'], + title: (string) $row['title'], + content: (string) $row['content'], + context_obj_id: (int) $row['context_obj_id'], + context_obj_type: (string) $row['context_obj_type'], + context_sub_obj_id: (int) $row['context_sub_obj_id'], + context_sub_obj_type: $row['context_sub_obj_type'] ?? null, + content_type: (string) $row['content_type'], + creation_date: new DateTimeImmutable($row['creation_date']), // currently date is stored in server tz, not UTC + update_date: new DateTimeImmutable($row['update_date']), + user_id: (int) $row['user_id'], + update_user_id: (int) $row['update_user_id'], + visibility: (string) $row['visibility'], + content_long: (string) $row['content_long'], + priority: (int) $row['priority'], + content_is_lang_var: (bool) $row['content_is_lang_var'], + content_text_is_lang_var: (bool) $row['content_text_is_lang_var'], + mob_id: (int) $row['mob_id'], + playtime: (string) $row['playtime'], + mob_cnt_play: (int) $row['mob_cnt_play'], + mob_cnt_download: (int) $row['mob_cnt_download'], + content_html: (bool) $row['content_html'], + context_ref_id: (int) ($row['ref_id'] ?? 0) + ); + } +} diff --git a/Services/News/src/Data/LazyNewsCollection.php b/Services/News/src/Data/LazyNewsCollection.php new file mode 100644 index 000000000000..80f43c7a02be --- /dev/null +++ b/Services/News/src/Data/LazyNewsCollection.php @@ -0,0 +1,251 @@ +news_items[$news_id] = null; + } + } + + /** + * @param \Closure(int[], string[]): NewsItem[] $callback + */ + public function withFetchCallback(\Closure $callback): static + { + $clone = clone $this; + $clone->fetch_callback = $callback; + return $clone; + } + + public function addNewsItems(array $news_items): static + { + foreach ($news_items as $id => $item) { + if ($item !== null) { + $this->addNewsItem($item); + } else { + $this->news_items[$id] = null; + } + + } + return $this; + } + + /** + * This method loads the provided NewsItems from the database. If an empty array is provided, it will load + * all missing NewsItems. It will also load the dependencies of the NewsItems if grouping is enabled. + * + * @param int[] $news_ids + */ + public function load(array $news_ids = []): static + { + if ($this->fetch_callback === null) { + throw new \RuntimeException('No fetch callback provided'); + } + + if (empty($news_ids)) { + $news_ids = array_keys(array_filter($this->news_items, fn($item) => $item === null)); + } else { + $news_ids = array_intersect($news_ids, array_keys($this->news_items)); + } + + if (empty($news_ids)) { + return $this; + } + + // Check if grouping was requested + $context_types = []; + if ($this->group_files === true) { + $context_types[] = 'file'; + } + if ($this->group_forums > 0) { + $context_types[] = 'frm'; + } + + // Load items from a repository + $items = call_user_func($this->fetch_callback, $news_ids, $context_types); + $this->addNewsItems($items); + + // Perform re-grouping if necessary + $this->regroup($items); + + return $this; + } + + /* + Grouping + */ + + public function groupFiles(): static + { + $this->group_files = true; + return $this; + } + + public function groupForums(bool $group_posting_sequence): static + { + $this->group_forums = $group_posting_sequence ? 2 : 1; + return $this; + } + + private function regroup(array $items): void + { + // Check if re-grouping is required + $needs_file_grouping = false; + $needs_forum_grouping = false; + foreach ($items as $item) { + if ($this->group_files === true && $item->getContextObjType() === 'file') { + $needs_file_grouping = true; + } + if ($this->group_forums > 0 && $item->getContextObjType() === 'frm') { + $needs_forum_grouping = true; + } + } + + // Perform re-grouping + if ($needs_file_grouping) { + parent::groupFiles(); + } + if ($needs_forum_grouping) { + parent::groupForums($this->group_forums === 2); + } + } + + /* + Access & Lazy Loading + */ + + /** + * This method returns `true` if the NewsItem exists in this collection. It does not provide any + * information about whether the NewsItem has been loaded or not. + */ + public function contains(int $news_id): bool + { + return array_key_exists($news_id, $this->news_items); + } + + /** + * This method returns `true` if the NewsItem exists in this collection and has been loaded. + */ + public function has(int $news_id): bool + { + return isset($this->news_items[$news_id]); + } + + /** + * This method returns the NewsItem with the given id or null if it does not exist. If the + * NewsItem was not loaded, it will be loaded from the database. + * + * WARNING: this may cause N+1 queries when using this method in a loop. Use `load` instead, + * to batch load NewsItems. + */ + public function getById(int $news_id): ?NewsItem + { + if (!$this->has($news_id)) { + $this->load([$news_id]); + } + + return $this->news_items[$news_id] ?? null; + } + + /** + * This method returns the NewsItem of the given offset of the collection. If the NewsItem + * was not loaded, it will be loaded from the database. + * + * WARNING: this may cause N+1 queries when using this method in a loop. Use `load` instead, + * to batch load NewsItems. + */ + public function pick(int $offset): ?NewsItem + { + $index = max(0, $offset); + $news_id = array_keys($this->news_items)[$index] ?? null; + + return $news_id !== null ? $this->getById($news_id) : null; + } + + /** + * INFO: This method will load all NewsItems into the collection. + */ + public function pluck(string $key, bool $wrap = false): array + { + if ($key === 'id') { + return $wrap ? array_map(fn($item) => [$item], array_keys($this->news_items)) : array_keys($this->news_items); + } + + $this->load(); + return parent::pluck($key, $wrap); + } + + /** + * INFO: This method will load all NewsItems into the collection. + */ + public function toArray(): array + { + $this->load(); + return parent::toArray(); + } + + /** + * INFO: This method will load all NewsItems into the collection. + */ + public function getAggregatedNews( + bool $aggregate_files = false, + bool $aggregate_forums = false, + bool $group_posting_sequence = false + ): array { + $this->load(); + return parent::getAggregatedNews($aggregate_files, $aggregate_forums, $group_posting_sequence); + } + + public function merge(NewsCollection $other): static + { + return parent::merge($other)->withFetchCallback($this->fetch_callback); + } + + public function exclude(array $news_ids): static + { + return parent::exclude($news_ids)->withFetchCallback($this->fetch_callback); + } + + public function limit(?int $limit): static + { + return parent::limit($limit)->withFetchCallback($this->fetch_callback); + } +} diff --git a/Services/News/src/Data/NewsCollection.php b/Services/News/src/Data/NewsCollection.php new file mode 100644 index 000000000000..e05fe0415f61 --- /dev/null +++ b/Services/News/src/Data/NewsCollection.php @@ -0,0 +1,439 @@ + */ + protected array $news_items = []; + + /** @var array */ + protected array $context_map = []; + + /** @var array */ + protected array $type_map = []; + + /** @var array */ + protected array $user_read_status = []; + /** @var array */ + protected array $grouped_items_map = []; + + public function __construct(array $news_items = []) + { + $this->addNewsItems($news_items); + } + + /** + * Add multiple news items efficiently + */ + public function addNewsItems(array $news_items): static + { + foreach ($news_items as $item) { + $this->addNewsItem($item); + } + return $this; + } + + /** + * Add a single news item with indexing + */ + public function addNewsItem(NewsItem $item): static + { + $id = $item->getId(); + $this->news_items[$id] = $item; + + // Build context index for fast context-based lookups + $context_key = $item->getContextObjId() . '_' . $item->getContextObjType(); + $this->context_map[$context_key][] = $id; + + // Build type index for fast type-based filtering + $this->type_map[$item->getContextObjType()][] = $id; + + return $this; + } + + public function getNewsItems(): array + { + return $this->news_items; + } + + public function getNewsForContext(int $context_obj_id, string $context_obj_type): array + { + $context_key = $context_obj_id . '_' . $context_obj_type; + + if (!isset($this->context_map[$context_key])) { + return []; + } + + return array_map( + fn($id) => $this->news_items[$id], + $this->context_map[$context_key] + ); + } + + public function getNewsByType(string $obj_type): array + { + if (!isset($this->type_map[$obj_type])) { + return []; + } + + return array_map( + fn($id) => $this->news_items[$id], + $this->type_map[$obj_type] + ); + } + + /** + * @param array $read_news_ids + */ + public function setUserReadStatus(int $user_id, array $read_news_ids): static + { + $this->user_read_status[$user_id] = array_filter($read_news_ids); + return $this; + } + + public function isReadByUser(int $user_id, int $news_id): bool + { + return isset($this->user_read_status[$user_id][$news_id]); + } + + /** + * @return array + */ + public function getUserReadStatus(int $user_id): array + { + $result = []; + foreach (array_keys($this->news_items) as $news_id) { + $result[$news_id] = $this->isReadByUser($user_id, $news_id); + } + return $result; + } + + /* + Grouping + */ + + public function groupFiles(): static + { + foreach (array_filter($this->news_items) as $item) { + if ($item->getContextObjType() === 'file') { + if (isset($this->grouped_items_map[$item->getContextObjId()])) { + $this->grouped_items_map[$item->getContextObjId()]['aggregation'][] = $item->getId(); + } else { + $this->grouped_items_map[$item->getContextObjId()] = [ + 'first' => $item->getId(), + 'aggregation' => [] + ]; + } + } + } + return $this; + } + + public function groupForums(bool $group_posting_sequence): static + { + $last_forum = 0; + + foreach (array_filter($this->news_items) as $item) { + // If we are grouping by sequence, we need to reset the entry in the aggregation map when switching + if ($group_posting_sequence && $last_forum !== $item->getContextObjType() && $last_forum !== 0) { + $this->grouped_items_map[$last_forum] = null; + } + + if ($item->getContextObjType() === 'frm') { + if (isset($this->grouped_items_map[$item->getContextObjId()])) { + $this->grouped_items_map[$item->getContextObjId()]['aggregation'][] = $item->getId(); + } else { + $this->grouped_items_map[$item->getContextObjId()] = [ + 'first' => $item->getId(), + 'aggregation' => [] + ]; + $last_forum = $item->getContextObjId(); + } + } + } + + return $this; + } + + /** + * Returns the grouping for a given news item. It will return an array with the grouped items + * if the provided item is the first in the group. + * + * @return array{parent: NewsItem, aggregation: NewsItem[], agg_ref_id: int, no_context_title: bool}|null + */ + public function getGroupingFor(NewsItem $item): ?array + { + if (!isset($this->grouped_items_map[$item->getContextObjId()])) { + return null; + } + + $aggregation = $this->grouped_items_map[$item->getContextObjId()]; + if ($aggregation['first'] !== $item->getId()) { + return null; + } + + if ($item->getContextObjType() === 'frm') { + $item = $item->withContent('')->withContentLong(''); + } + + return [ + 'parent' => $item, + 'aggregation' => [$item, ...array_map(fn($id) => $this->news_items[$id], $aggregation['aggregation'])], + 'agg_ref_id' => $item->getContextRefId(), + 'no_context_title' => $item->getContextObjType() === 'frm' + ]; + } + + /* + Legacy Adapter + */ + + /** + * Get news items in a format compatible with the legacy rendering implementation. + * This should never be introduced in new code and will be removed in the future. + * + * @deprecated + * + * @return array> + */ + public function getAggregatedNews( + bool $aggregate_files = false, + bool $aggregate_forums = false, + bool $group_posting_sequence = false + ): array { + $items = []; + $file_aggregation_map = []; + $forum_aggregation_map = []; + $last_forum = 0; + + foreach ($this->news_items as $item) { + $entry = [ + 'id' => $item->getId(), + 'priority' => $item->getPriority(), + 'title' => $item->getTitle(), + 'content' => $item->getContent(), + 'context_obj_id' => $item->getContextObjId(), + 'context_obj_type' => $item->getContextObjType(), + 'context_sub_obj_id' => $item->getContextSubObjId(), + 'context_sub_obj_type' => $item->getContextSubObjType(), + 'content_type' => $item->getContentType(), + 'creation_date' => $item->getCreationDate()->format('Y-m-d H:i:s'), + 'user_id' => $item->getUserId(), + 'visibility' => $item->getVisibility(), + 'content_long' => $item->getContentLong(), + 'content_is_lang_var' => $item->isContentIsLangVar(), + 'mob_id' => $item->getMobId(), + 'playtime' => $item->getPlaytime(), + 'start_date' => null, //it seems like this is not used anymore + 'end_date' => null, //it seems like this is not used anymore + 'content_text_is_lang_var' => $item->isContentTextIsLangVar(), + 'mob_cnt_download' => $item->getMobCntDownload(), + 'mob_cnt_play' => $item->getMobCntPlay(), + 'content_html' => $item->isContentHtml(), + 'update_user_id' => $item->getUpdateUserId(), + 'user_read' => (int) $this->isReadByUser($item->getUserId(), $item->getId()), + 'ref_id' => $item->getContextRefId() + ]; + + if ($aggregate_files && $item->getContextObjType() === 'file') { + if (isset($file_aggregation_map[$item->getContextObjId()])) { + // If this file already has an aggregation entry, add it there and prevent adding it to the main list + $idx = $file_aggregation_map[$item->getContextObjId()]; + $items[$idx]['aggregation'][$item->getId()] = $entry; + continue; + } + + // If this is the first news for this file, set the aggregation array + $entry['aggregation'] = []; + $entry['agg_ref_id'] = $item->getContextRefId(); + $file_aggregation_map[$item->getContextObjId()] = $item->getId(); + + } + + if ($aggregate_forums) { + // If we are grouping by sequence, we need to reset the entry in the aggregation map when switching + if ($group_posting_sequence && $last_forum !== 0 && $last_forum !== $item->getContextObjType()) { + $forum_aggregation_map[$last_forum] = null; + } + + if ($item->getContextObjType() === 'frm') { + $entry['no_context_title'] = true; + + if (isset($forum_aggregation_map[$item->getContextObjId()])) { + // If this form already has an aggregation entry, add it there and prevent adding it to the main list + $idx = $forum_aggregation_map[$item->getContextObjId()]; + $items[$idx]['aggregation'][$item->getId()] = $entry; + continue; + } + + // If this is the first news for this forum, set the aggregation array + $entry['agg_ref_id'] = $item->getContextRefId(); + $entry['content'] = ''; + $entry['content_long'] = ''; + + $forum_aggregation_map[$item->getContextObjId()] = $item->getId(); + $last_forum = $item->getContextObjType(); + + } + } + + $items[$item->getId()] = $entry; + } + return $items; + } + + /* + Interface Methods & Additional Accessors + */ + + public function jsonSerialize(): array + { + return array_values($this->news_items); + } + + public function getIterator(): ArrayIterator + { + return new ArrayIterator($this->news_items); + } + + public function count(): int + { + return count($this->news_items); + } + + public function isEmpty(): bool + { + return empty($this->news_items); + } + + public function first(): ?NewsItem + { + return reset($this->news_items) ?: null; + } + + public function last(): ?NewsItem + { + return end($this->news_items) ?: null; + } + + public function contains(int $news_id): bool + { + return isset($this->news_items[$news_id]); + } + + public function getById(int $news_id): ?NewsItem + { + return $this->news_items[$news_id] ?? null; + } + + public function getPageFor(int $news_id): int + { + $pages = array_keys($this->news_items); + return (int) array_search($news_id, $pages); + } + + public function pick(int $offset): ?NewsItem + { + $index = max(0, $offset); + return array_values($this->news_items)[$index] ?? null; + } + + public function pluck(string $key, bool $wrap = false): array + { + $arr = array_column($this->toArray(), $key); + return $wrap ? array_map(fn($item) => [$item], $arr) : $arr; + } + + /** + * @return array + */ + public function toArray(): array + { + return array_map(fn($item) => $item->toArray(), $this->news_items); + } + + + /** + * Merge with another collection and returns it as a new collection + */ + public function merge(NewsCollection $other): static + { + $merged = new static(); + $merged->addNewsItems($this->news_items); + $merged->addNewsItems($other->getNewsItems()); + + // Merge user read status + foreach ($other->user_read_status as $user_id => $read_ids) { + $merged->user_read_status[$user_id] = isset($this->user_read_status[$user_id]) + ? array_merge($this->user_read_status[$user_id], $read_ids) + : $read_ids; + } + + return $merged; + } + + /** + * Limit the number of news items and returns it as a new collection + */ + public function limit(?int $limit): static + { + if ($limit === null || $limit >= count($this->news_items)) { + return $this; + } + + $limited = new static(); + $items = array_slice($this->news_items, 0, $limit, true); + $limited->addNewsItems($items); + + return $limited; + } + + /** + * Returns a new collection with only the news items that are not in the provided list + * + * @param int[] $news_ids + */ + public function exclude(array $news_ids): static + { + if (empty($news_ids)) { + return $this; + } + + $filtered = new static(); + $filtered->addNewsItems(array_filter( + $this->news_items, + fn($item) => !in_array($item->getId(), $news_ids) + )); + return $filtered; + } + + public function load(array $news_ids = []): static + { + return $this; + } +} diff --git a/Services/News/src/Data/NewsContext.php b/Services/News/src/Data/NewsContext.php new file mode 100644 index 000000000000..47cda31c8466 --- /dev/null +++ b/Services/News/src/Data/NewsContext.php @@ -0,0 +1,155 @@ +ref_id; + } + + public function getObjId(): ?int + { + return $this->obj_id; + } + + public function getObjType(): ?string + { + return $this->obj_type; + } + + public function getParentRefId(): ?int + { + return $this->parent_ref_id; + } + + public function setObjId(int $obj_id): self + { + $this->obj_id = $obj_id; + return $this; + } + + public function setObjType(string $obj_type): self + { + $this->obj_type = $obj_type; + return $this; + } + + public function setParentRefId(?int $parent_ref_id): self + { + $this->parent_ref_id = $parent_ref_id; + return $this; + } + + public function setLevel(int $level): self + { + $this->level = $level; + return $this; + } + + /** + * @return int The level of this context in the hierarchy of contexts. This is different + * from the depth in the ilias tree because it will be considered relative. + */ + public function getLevel(): int + { + return $this->level; + } + + /* + Accessor Methods + */ + + /** + * Check if this context is a child of another context + */ + public function isChildOf(NewsContext $parent_context): bool + { + return $this->parent_ref_id === $parent_context->getRefId(); + } + + /** + * Check if this context is a parent of another context + */ + public function isParentOf(NewsContext $child_context): bool + { + return $child_context->getParentRefId() === $this->ref_id; + } + + /** + * Check if this context is at the root level + */ + public function isRoot(): bool + { + return $this->parent_ref_id === null; + } + + /* + Optimized Serializing + */ + + /** + * Transform this object into array representation and keep only properties which are not default values. + * + * @return array + */ + public function normalize(): array + { + $vars = get_object_vars($this); + return array_filter($vars); + } + + /** + * Create new object from reduced array representation. + * + * @param array $raw + * @return self + */ + public static function denormalize(array $raw): self + { + return new self( + $raw['ref_id'], + $raw['obj_id'] ?? null, + $raw['obj_type'] ?? null, + $raw['parent_ref_id'] ?? null, + $raw['level'] ?? 0, + ); + } +} diff --git a/Services/News/src/Data/NewsCriteria.php b/Services/News/src/Data/NewsCriteria.php new file mode 100644 index 000000000000..4fd7298a4816 --- /dev/null +++ b/Services/News/src/Data/NewsCriteria.php @@ -0,0 +1,230 @@ +include_read_status = $this->include_read_status ?? !$this->only_public; + } + + /* + Getters and Setters + */ + + public function getStartDate(): ?DateTimeImmutable + { + return $this->start_date; + } + + public function getPeriod(): ?int + { + return $this->period; + } + + public function isOnlyPublic(): bool + { + return $this->only_public; + } + + public function getMinPriority(): ?int + { + return $this->min_priority; + } + + public function getMaxPriority(): ?int + { + return $this->max_priority; + } + + public function getLimit(): ?int + { + return $this->limit; + } + + public function isPreventNesting(): bool + { + return $this->prevent_nesting; + } + + public function isNoAutoGenerated(): bool + { + return $this->no_auto_generated; + } + + public function getExcludedNewsIds(): array + { + return $this->excluded_news_ids; + } + + public function isIncludeReadStatus(): bool + { + return $this->include_read_status ?? false; + } + + public function getReadUserId(): ?int + { + return $this->read_user_id; + } + + public function withStartDate(?DateTimeImmutable $start_date): self + { + $new = clone $this; + $new->start_date = $start_date; + return $new; + } + + public function withPeriod(?int $period): self + { + $new = clone $this; + $new->period = $period; + return $new; + } + + public function withOnlyPublic(bool $only_public): self + { + $new = clone $this; + $new->only_public = $only_public; + return $new; + } + + public function withMinPriority(?int $min_priority): self + { + $new = clone $this; + $new->min_priority = $min_priority; + return $new; + } + + public function withMaxPriority(?int $max_priority): self + { + $new = clone $this; + $new->max_priority = $max_priority; + return $new; + } + + public function withLimit(?int $limit): self + { + $new = clone $this; + $new->limit = $limit; + return $new; + } + + public function withPreventNesting(bool $stop_nesting): self + { + $new = clone $this; + $new->prevent_nesting = $stop_nesting; + return $new; + } + + public function withNoAutoGenerated(bool $no_auto_generated): self + { + $new = clone $this; + $new->no_auto_generated = $no_auto_generated; + return $new; + } + + public function withExcludedNewsIds(array $excluded_news_ids): self + { + $new = clone $this; + $new->excluded_news_ids = array_map('intval', $excluded_news_ids); + return $new; + } + + public function withIncludeReadStatus(bool $include_read_status): self + { + $new = clone $this; + $new->include_read_status = $include_read_status; + return $new; + } + + public function withReadUserId(?int $read_user_id): self + { + $new = clone $this; + $new->read_user_id = $read_user_id; + return $new; + } + + /* + Public Methods + */ + + public function jsonSerialize(): array + { + return $this->toArray(); + } + + public function toArray(): array + { + return [ + 'start_date' => $this->start_date?->format('Y-m-d H:i:s'), + 'period' => $this->period, + 'only_public' => $this->only_public, + 'min_priority' => $this->min_priority, + 'max_priority' => $this->max_priority, + 'limit' => $this->limit, + 'stop_nesting' => $this->prevent_nesting, + 'no_auto_generated' => $this->no_auto_generated, + 'excluded_news_ids' => $this->excluded_news_ids, + 'include_read_status' => $this->include_read_status, + 'read_user_id' => $this->read_user_id, + ]; + } + + /** + * Check if criteria has priority filters + */ + public function hasPriorityFilters(): bool + { + return $this->min_priority !== null || $this->max_priority !== null; + } + + /** + * Validate criteria parameters + */ + public function validate(): void + { + if ($this->min_priority !== null && $this->max_priority !== null && $this->min_priority > $this->max_priority) { + throw new \InvalidArgumentException('Min priority cannot be greater than max priority'); + } + + if ($this->limit !== null && $this->limit < 0) { + throw new \InvalidArgumentException('Limit cannot be negative'); + } + } +} diff --git a/Services/News/src/Data/NewsItem.php b/Services/News/src/Data/NewsItem.php new file mode 100644 index 000000000000..a0cda78646e7 --- /dev/null +++ b/Services/News/src/Data/NewsItem.php @@ -0,0 +1,250 @@ +id; + } + + public function isContentTextIsLangVar(): bool + { + return $this->content_text_is_lang_var; + } + + public function getTitle(): string + { + return $this->title; + } + + public function getContent(): string + { + return $this->content; + } + + public function getContextObjId(): int + { + return $this->context_obj_id; + } + + public function getContextRefId(): int + { + return $this->context_ref_id; + } + + public function getContextObjType(): string + { + return $this->context_obj_type; + } + + public function getContextSubObjId(): int + { + return $this->context_sub_obj_id; + } + + public function getContextSubObjType(): ?string + { + return $this->context_sub_obj_type; + } + + public function getContentType(): string + { + return $this->content_type; + } + + public function getCreationDate(): DateTimeImmutable + { + return $this->creation_date; + } + + public function getUpdateDate(): DateTimeImmutable + { + return $this->update_date; + } + + public function getUserId(): int + { + return $this->user_id; + } + + public function getUpdateUserId(): int + { + return $this->update_user_id; + } + + public function getVisibility(): string + { + return $this->visibility; + } + + public function getContentLong(): string + { + return $this->content_long; + } + + public function getPriority(): int + { + return $this->priority; + } + + public function isContentIsLangVar(): bool + { + return $this->content_is_lang_var; + } + + public function getMobId(): int + { + return $this->mob_id; + } + + public function getPlaytime(): string + { + return $this->playtime; + } + + public function getMobCntPlay(): int + { + return $this->mob_cnt_play; + } + + public function getMobCntDownload(): int + { + return $this->mob_cnt_download; + } + + public function isContentHtml(): bool + { + return $this->content_html; + } + + + public function withContextRefId(int $context_ref_id): NewsItem + { + $clone = clone $this; + $clone->context_ref_id = $context_ref_id; + return $clone; + } + + public function withContent(string $content): NewsItem + { + $clone = clone $this; + $clone->content = $content; + return $clone; + } + + public function withContentLong(string $content_long): NewsItem + { + $clone = clone $this; + $clone->content_long = $content_long; + return $clone; + } + + + public function toArray(): array + { + return [ + 'id' => $this->id, + 'title' => $this->title, + 'content' => $this->content, + 'context_obj_id' => $this->context_obj_id, + 'context_obj_type' => $this->context_obj_type, + 'context_sub_obj_id' => $this->context_sub_obj_id, + 'context_sub_obj_type' => $this->context_sub_obj_type, + 'content_type' => $this->content_type, + 'creation_date' => $this->creation_date->format('Y-m-d H:i:s'), + 'update_date' => $this->update_date->format('Y-m-d H:i:s'), + 'user_id' => $this->user_id, + 'update_user_id' => $this->update_user_id, + 'visibility' => $this->visibility, + 'content_long' => $this->content_long, + 'priority' => $this->priority, + 'content_is_lang_var' => $this->content_is_lang_var, + 'content_text_is_lang_var' => $this->content_text_is_lang_var, + 'mob_id' => $this->mob_id, + 'playtime' => $this->playtime, + 'mob_cnt_play' => $this->mob_cnt_play, + 'mob_cnt_download' => $this->mob_cnt_download, + 'content_html' => $this->content_html + ]; + } + + public function toLegacy(): \ilNewsItem + { + $item = new \ilNewsItem(0); //prevent database loading + $item->setId($this->id); + $item->setTitle($this->title); + $item->setContent($this->content); + $item->setContextObjId($this->context_obj_id); + $item->setContextObjType($this->context_obj_type); + $item->setContextSubObjId($this->context_sub_obj_id); + $item->setContextSubObjType($this->context_sub_obj_type); + $item->setContentType($this->content_type); + $item->setCreationDate($this->creation_date->format('Y-m-d H:i:s')); + $item->setUpdateDate($this->update_date->format('Y-m-d H:i:s')); + $item->setUserId($this->user_id); + $item->setUpdateUserId($this->update_user_id); + $item->setVisibility($this->visibility); + $item->setContentLong($this->content_long); + $item->setPriority($this->priority); + $item->setContentIsLangVar($this->content_is_lang_var); + $item->setContentTextIsLangVar($this->content_text_is_lang_var); + $item->setMobId($this->mob_id); + $item->setPlaytime($this->playtime); + $item->setMobPlayCounter($this->mob_cnt_play); + $item->setMobDownloadCounter($this->mob_cnt_download); + $item->setContentHtml($this->content_html); + return $item; + } +} diff --git a/Services/News/src/Domain/NewsCollectionService.php b/Services/News/src/Domain/NewsCollectionService.php new file mode 100644 index 000000000000..e6640eebd5e8 --- /dev/null +++ b/Services/News/src/Domain/NewsCollectionService.php @@ -0,0 +1,184 @@ +cache->getNewsForUser($user->getId(), $criteria); + if ($cached_news !== null) { + // Transform the lazy collection to a normal collection if needed + if (!$lazy) { + $news_collection = new NewsCollection($this->repository->findByIds($cached_news->pluck('id'))); + } else { + $news_collection = $cached_news->withFetchCallback( + fn(...$args) => $this->repository->loadLazyItems(...$args) + ); + } + + // Apply request-specific filtering [DPL 5] + return $this->applyFinalProcessing($news_collection, $criteria); + } + + // 2. Add missing criteria and validate it + if ($criteria->isIncludeReadStatus() && $criteria->getReadUserId() === null) { + $criteria = $criteria->withReadUserId($user->getId()); + } + $criteria->validate(); + + // 3. Get user accessible contexts [DPL 1] + $user_contexts = $this->user_context_resolver->getAccessibleContexts($user, $criteria); + if (empty($user_contexts)) { + return new NewsCollection(); + } + + // 4. Query news for resolved contexts [DPL 2-4] + $news_collection = $this->getNewsForContexts($user_contexts, $criteria, $lazy); + + // 5. Store in cache + $this->cache->storeNewsForUser($user->getId(), $criteria, $news_collection); + + // 6. Apply request-specific filtering [DPL 5] + return $this->applyFinalProcessing($news_collection, $criteria); + } + + public function getNewsForContext(NewsContext $context, NewsCriteria $criteria, bool $lazy = false): NewsCollection + { + return $this->applyFinalProcessing($this->getNewsForContexts([$context], $criteria, $lazy), $criteria); + } + + public function invalidateCache(int $user_id): void + { + $this->cache->invalidateNewsForUser($user_id, new NewsCriteria()); + } + + /** + * @param NewsContext[] $contexts + */ + private function getNewsForContexts(array $contexts, NewsCriteria $criteria, bool $lazy): NewsCollection + { + // 1. Try context cache first (L1) + $cached = $this->cache->getAggregatedContexts($contexts); + $hits = $cached['hit']; + + if (!empty($cached['missing'])) { + // 2. Batch load missing context object information [DPL 2] + $remaining = $this->fetchContextData($cached['missing']); + + // 3. Perform aggregation [DPL 3] + if (!$criteria->isPreventNesting()) { + $aggregated = (new NewsAggregator())->aggregate($remaining); + $this->cache->storeAggregatedContexts($remaining, $aggregated); + $hits = array_merge($hits, $aggregated); + } else { + $hits = array_merge($hits, $remaining); + } + } + + // 4. Perform access checks [DPL 3] + $aggregated = $this->filterByAccess($hits, $criteria); + + // 5. Batch load news from the database [DPL 4] + return $lazy + ? $this->repository->findByContextsBatchLazy($aggregated, $criteria) + : $this->repository->findByContextsBatch($aggregated, $criteria); + } + + /** + * @param NewsContext[] $contexts + * @return NewsContext[] + */ + private function fetchContextData(array $contexts): array + { + // Batch loads object_data and object_references using preloading + $obj_ids = array_filter(array_map(fn($context) => $context->getObjId(), $contexts)); + $this->object_data->preloadObjectCache($obj_ids); + + for ($i = 0; $i < count($contexts); $i++) { + $context = $contexts[$i]; + + if ($context->getObjId() === null) { + $context->setObjId($this->object_data->lookupObjId($context->getRefId())); + } + + if ($context->getObjType() === null) { + $context->setObjType($this->object_data->lookupType($context->getObjId())); + } + + $contexts[$i] = $context; + } + + return $contexts; + } + + /** + * @param NewsContext[] $contexts + * @return NewsContext[] + */ + private function filterByAccess(array $contexts, NewsCriteria $criteria): array + { + if ($criteria->isOnlyPublic()) { + return $contexts; + } + + // Preload activation cache which is used in access handler + \ilObjectActivation::preloadData(array_map(fn($context) => $context->getRefId(), $contexts)); + + $filtered = []; + foreach ($contexts as $context) { + if ($this->access->checkAccess('read', '', $context->getRefId())) { + $filtered[] = $context; + } + } + return $filtered; + } + + /** + * Apply the last steps of the news collection processing pipeline: Exclude, Limit + */ + private function applyFinalProcessing(NewsCollection $collection, NewsCriteria $criteria): NewsCollection + { + return $collection->exclude($criteria->getExcludedNewsIds())->limit($criteria->getLimit()); + } +} diff --git a/Services/News/src/Domain/UserContextResolver.php b/Services/News/src/Domain/UserContextResolver.php new file mode 100644 index 000000000000..95f1bcd12fe6 --- /dev/null +++ b/Services/News/src/Domain/UserContextResolver.php @@ -0,0 +1,142 @@ +cache->getUserContextAccess($user->getId(), $criteria); + if ($cached_contexts !== null) { + return $cached_contexts; + } + + // 2. Resolve contexts + $contexts = $this->resolveUserContexts($user, $criteria); + + // 3. Cache the result + $this->cache->storeUserContextAccess($user->getId(), $criteria, $contexts); + + return $contexts; + } + + /** + * @return NewsContext[] + */ + private function resolveUserContexts(\ilObjUser $user, NewsCriteria $criteria): array + { + $contexts = []; + + // Get user's personal desktop items + if ($this->shouldIncludePersonalDesktop($user)) { + $contexts = array_merge($contexts, $this->getPersonalDesktopContexts($user)); + } + + // Get user's memberships + $contexts = array_merge($contexts, $this->getMembershipContexts($user)); + + // Remove duplicates and filter by access + return $this->filterContexts($user, $contexts, $criteria); + } + + private function shouldIncludePersonalDesktop(\ilObjUser $user): bool + { + return $user->getPref('pd_items_news') !== 'n'; + } + + /** + * @return NewsContext[] + */ + private function getPersonalDesktopContexts(\ilObjUser $user): array + { + $contexts = []; + + foreach ($this->favourites_repository->getFavouritesOfUser($user->getId()) as $item) { + $contexts[] = new NewsContext($item['ref_id'], $item['obj_id'], $item['type']); + } + return $contexts; + } + + /** + * @return NewsContext[] + */ + private function getMembershipContexts(\ilObjUser $user): array + { + $contexts = []; + $memberships = \ilParticipants::_getMembershipByType($user->getId(), ['crs', 'grp']); + + foreach ($memberships as $obj_id) { + $contexts = array_merge( + $contexts, + array_map(fn($ref_id) => new NewsContext($ref_id, $obj_id), \ilObject::_getAllReferences($obj_id)), + ); + } + return $contexts; + } + + /** + * Deduplicate and filter contexts by access + * + * @param NewsContext[] $contexts + * @return NewsContext[] + */ + private function filterContexts(\ilObjUser $user, array $contexts, NewsCriteria $criteria): array + { + $unique_contexts = []; + + foreach ($contexts as $context) { + if (isset($unique_contexts[$context->getRefId()])) { + continue; + } + + if ( + !$criteria->isOnlyPublic() && + !$this->access->checkAccessOfUser($user->getId(), 'read', '', $context->getRefId()) + ) { + continue; + } + + $unique_contexts[$context->getRefId()] = $context; + } + + return array_values($unique_contexts); + } +} diff --git a/Services/News/src/Persistence/NewsCache.php b/Services/News/src/Persistence/NewsCache.php new file mode 100644 index 000000000000..fdf555506222 --- /dev/null +++ b/Services/News/src/Persistence/NewsCache.php @@ -0,0 +1,228 @@ +cache_ttl = (int) $settings->get('acc_cache_mins'); + $this->enabled = $this->cache_ttl !== 0; + + $this->il_cache = new \ilCache('ServicesNews', 'NewsMultiLevel', true); + $this->il_cache->setExpiresAfter($this->cache_ttl * 60); + } + + /** + * Level-1 Cache stores a collection of the aggregated contexts for the provided base context. + * This method uses a greedy algorithm to collect subset matches in the cache and return both + * cache hits (as complete NewsContexts objects) and missing contexts. + * + * @param NewsContext[] $contexts + * @return array{hit: NewsContext[], missing: NewsContext[]} + */ + public function getAggregatedContexts(array $contexts): array + { + if (!$this->enabled || empty($contexts)) { + return ['hit' => [], 'missing' => $contexts]; + } + + $context_ids = array_map(fn($context) => $context->getRefId(), $contexts); + sort($context_ids, SORT_NUMERIC); + + if ($entry = $this->il_cache->getEntry($this->generateL1Key($context_ids))) { + $contexts = array_map(fn($raw) => NewsContext::denormalize($raw), unserialize($entry)); + return ['hit' => $contexts, 'missing' => []]; + } + + return ['hit' => [], 'missing' => $contexts]; + } + + protected function generateL1Key(string|array $contexts): string + { + return 'agg:' . md5(is_array($contexts) ? implode(',', $contexts) : $contexts); + } + + /** + * @param NewsContext[] $contexts + * @param NewsContext[] $aggregated + */ + public function storeAggregatedContexts(array $contexts, array $aggregated): void + { + if (!$this->enabled || empty($contexts)) { + return; + } + + $context_ids = array_map(fn($context) => $context->getRefId(), $contexts); + sort($context_ids, SORT_NUMERIC); + $key = implode(',', $context_ids); + + $payload = array_map(fn($context) => $context->normalize(), $aggregated); + $this->il_cache->storeEntry($this->generateL1Key($key), serialize($payload)); + } + + /** + * @param NewsContext[] $contexts + */ + public function invalidateAggregatedContexts(array $contexts): void + { + if (!$this->enabled || empty($contexts)) { + return; + } + + $context_ids = array_map(fn($context) => $context->getRefId(), $contexts); + sort($context_ids, SORT_NUMERIC); + $key = implode(',', $context_ids); + + // Delete cache entry + $this->il_cache->deleteEntry($this->generateL1Key($key)); + } + + + /** + * Level-2 Cache stores a collection of the base news contexts for a specific user. It returns a list of the + * NewsContexts (ref_id only) or null on cache miss. + * + * @return NewsContext[]|null + */ + public function getUserContextAccess(int $user_id, NewsCriteria $criteria): ?array + { + if (!$this->enabled) { + return null; + } + + $entry = $this->il_cache->getEntry("access:{$user_id}"); + if (!$entry) { + return null; + } + + // Check if the stored payload matches the criteria + $payload = unserialize($entry); + if ($payload['only_public'] !== $criteria->isOnlyPublic()) { + $this->invalidateUserContextAccess($user_id); + return null; + } + + return array_map(fn($ref_id) => new NewsContext($ref_id), $payload['contexts']); + } + + /** + * @param NewsContext[] $contexts + */ + public function storeUserContextAccess(int $user_id, NewsCriteria $criteria, array $contexts): void + { + if (!$this->enabled) { + return; + } + + $contexts = array_map(fn($context) => $context->getRefId(), $contexts); + $payload = ['contexts' => $contexts, 'only_public' => $criteria->isOnlyPublic()]; + $this->il_cache->storeEntry("access:{$user_id}", serialize($payload)); + } + + public function invalidateUserContextAccess(int $user_id): void + { + if ($this->enabled) { + $this->il_cache->deleteEntry("access:{$user_id}"); + } + } + + + /** + * Level-3 Cache stores a collection of the news items for a specific user. It returns a + * LazyNewsCollection or null on cache miss. + */ + public function getNewsForUser(int $user_id, NewsCriteria $criteria): ?LazyNewsCollection + { + if (!$this->enabled) { + return null; + } + + $entry = $this->il_cache->getEntry($this->generateL3Key($user_id, $criteria)); + if (!$entry) { + return null; + } + + $payload = unserialize($entry); + return (new LazyNewsCollection(array_keys($payload))) + ->setUserReadStatus($user_id, $payload); + } + + public function storeNewsForUser(int $user_id, NewsCriteria $criteria, NewsCollection $news): void + { + if (!$this->enabled) { + return; + } + + $this->il_cache->storeEntry( + $this->generateL3Key($user_id, $criteria), + serialize($news->getUserReadStatus($user_id)) + ); + } + + public function invalidateNewsForUser(int $user_id, NewsCriteria $criteria): void + { + $this->il_cache->deleteEntry($this->generateL3Key($user_id, $criteria)); + } + + protected function generateL3Key(int $user_id, NewsCriteria $criteria): string + { + $payload = [ + 'start_date' => $criteria->getStartDate(), + 'min_priority' => $criteria->getMinPriority(), + 'max_priority' => $criteria->getMaxPriority(), + 'no_auto_generated' => $criteria->isNoAutoGenerated(), + ]; + + // The Period of entries only needs to be considered if cache entries are stored for longer periods + $period_minutes = ($criteria->getPeriod() ?? 0) * 1440; + if ($period_minutes <= $this->cache_ttl) { + $payload['period'] = $criteria->getPeriod(); + } + + return "user:{$user_id}:" . md5(serialize($payload)); + } + + + public function flush(): void + { + $this->il_cache->deleteAllEntries(); + } +} diff --git a/Services/News/src/Persistence/NewsRepository.php b/Services/News/src/Persistence/NewsRepository.php new file mode 100644 index 000000000000..508b12274001 --- /dev/null +++ b/Services/News/src/Persistence/NewsRepository.php @@ -0,0 +1,283 @@ +db->queryF($query, [\ilDBConstants::T_INTEGER], [$news_id]); + + return $result->numRows() + ? $this->factory->newsItem($this->db->fetchAssoc($result)) + : null; + } + + /** + * @param int[] $news_ids + * @return NewsItem[] + */ + public function findByIds(array $news_ids): array + { + if (empty($news_ids)) { + return []; + } + + $result = $this->db->query($this->buildFindQuery($news_ids)); + return array_map(fn($row) => $this->factory->newsItem($row), $this->db->fetchAll($result)); + } + + + /** + * @param int[] $news_ids + * @param string[] $group_context_types + * @return NewsItem[] + */ + public function loadLazyItems(array $news_ids, array $group_context_types): array + { + if (empty($news_ids)) { + return []; + } + + $result = $this->db->query($this->buildFindQuery($news_ids)); + $news_items = []; + $additional_obj_ids = []; + + foreach ($this->db->fetchAll($result) as $row) { + $news_item = $this->factory->newsItem($row); + + if (in_array($news_item->getContextObjType(), $group_context_types)) { + $additional_obj_ids[] = $news_item->getContextObjId(); + } + + $news_items[] = $news_item; + } + + if (empty($additional_obj_ids)) { + return $news_items; + } + + // Fetch all additional items with same context_obj_id for grouping + $query = $this->buildFindQuery() + . " WHERE " . $this->db->in('context_obj_id', $additional_obj_ids, false, \ilDBConstants::T_INTEGER) + . " AND " . $this->db->in('id', $news_ids, true, \ilDBConstants::T_INTEGER); + $result = $this->db->query($query); + + return array_merge( + $news_items, + array_map(fn($row) => $this->factory->newsItem($row), $this->db->fetchAll($result)) + ); + } + + private function buildFindQuery(?array $news_ids = null): string + { + $query = " + SELECT il_news_item.*, + COALESCE( + (SELECT ref_id FROM object_reference WHERE object_reference.obj_id = il_news_item.context_obj_id LIMIT 1), + 0 + ) AS ref_id + FROM il_news_item "; + + if ($news_ids !== null) { + $query .= "WHERE " . $this->db->in('id', $news_ids, false, \ilDBConstants::T_INTEGER); + } + + return $query; + } + + /** + * @param NewsContext[] $contexts + */ + public function findByContextsBatch(array $contexts, NewsCriteria $criteria): NewsCollection + { + if (empty($contexts)) { + return new NewsCollection(); + } + + $obj_ids = array_map(fn($context) => $context->getObjId(), $contexts); + $result = $this->db->queryF(...$this->buildBatchQuery($obj_ids, $criteria)); + + $items = []; + $user_read = []; + + while ($row = $this->db->fetchAssoc($result)) { + $items[] = $this->factory->newsItem($row); + $user_read[$row['id']] = isset($row['user_read']) && $row['user_read'] !== 0; + } + + $collection = new NewsCollection($items); + if ($criteria->isIncludeReadStatus()) { + $collection->setUserReadStatus($criteria->getReadUserId(), $user_read); + } + + return $collection; + } + + /** + * @param NewsContext[] $contexts + */ + public function findByContextsBatchLazy(array $contexts, NewsCriteria $criteria): LazyNewsCollection + { + if (empty($contexts)) { + return new LazyNewsCollection(); + } + + $obj_ids = array_map(fn($context) => $context->getObjId(), $contexts); + $result = $this->db->queryF(...$this->buildBatchQuery($obj_ids, $criteria, true)); + + $items = []; + $user_read = []; + while ($row = $this->db->fetchAssoc($result)) { + $items[] = $row['id']; + $user_read[$row['id']] = isset($row['user_read']) && $row['user_read'] !== 0; + } + + $collection = new LazyNewsCollection($items, fn(...$args) => $this->loadLazyItems(...$args)); + if ($criteria->isIncludeReadStatus()) { + $collection->setUserReadStatus($criteria->getReadUserId(), $user_read); + } + + return $collection; + } + + /** + * @param NewsContext[] $contexts + * @return array{0: NewsContext, 1: int}[] + */ + public function countByContextsBatch(array $contexts): array + { + $context_map = []; + foreach ($contexts as $context) { + $context_map[$context->getObjId()] = $context; + } + + $in_clause = $this->db->in('context_obj_id', array_keys($context_map), false, ilDBConstants::T_INTEGER); + $query = "SELECT context_obj_id, count(context_obj_id) as count FROM il_news_item WHERE {$in_clause} GROUP BY context_obj_id"; + $result = $this->db->query($query); + + $count = []; + foreach ($this->db->fetchAll($result) as $row) { + $count[] = [ + $context_map[$row['context_obj_id']], + $row['count'] + ]; + } + + return $count; + } + + private function buildBatchQuery(array $obj_ids, NewsCriteria $criteria, bool $only_id = false): array + { + $values = []; + $types = []; + $joins = ''; + + if ($only_id) { + $columns = ['il_news_item.id']; + } else { + $columns = [ + 'il_news_item.*', + 'COALESCE((SELECT ref_id FROM object_reference WHERE object_reference.obj_id = il_news_item.context_obj_id LIMIT 1), 0) AS ref_id' + ]; + } + + if ($criteria->isIncludeReadStatus()) { + if ($criteria->getReadUserId() === null) { + throw new \InvalidArgumentException("Read user id is required for read status"); + } + + $columns[] = 'il_news_read.user_id AS user_read'; + $joins .= 'LEFT JOIN il_news_read ON il_news_item.id = il_news_read.news_id AND il_news_read.user_id = %s '; + + $values[] = $criteria->getReadUserId(); + $types[] = ilDBConstants::T_INTEGER; + } + + $query = "SELECT " . join(', ', $columns) . " FROM il_news_item {$joins} WHERE " + . $this->db->in('context_obj_id', $obj_ids, false, ilDBConstants::T_INTEGER); + + if ($criteria->getPeriod() > 0) { + $query .= " AND creation_date >= %s"; + $values[] = self::parseTimePeriod($criteria->getPeriod()); + $types[] = ilDBConstants::T_TIMESTAMP; + } + + if ($criteria->getStartDate()) { + $query .= " AND creation_date >= %s"; + $values[] = $criteria->getStartDate()->format('Y-m-d H:i:s'); + $types[] = ilDBConstants::T_TIMESTAMP; + } + + if ($criteria->isNoAutoGenerated()) { + $query .= " AND priority = 1 AND content_type = 'text'"; + } + + if ($criteria->getMinPriority() !== null || $criteria->getMaxPriority() !== null) { + $operator = $criteria->getMinPriority() !== null ? '>=' : '<='; + $query .= " AND n.priority {$operator} %s"; + $values[] = $criteria->getMinPriority(); + $types[] = ilDBConstants::T_INTEGER; + } + + if ($criteria->isOnlyPublic()) { + $query .= " AND visibility = '" . NEWS_PUBLIC . "'"; + } + + $query .= " ORDER BY creation_date DESC"; + + return [$query, $types, $values]; + } + + private static function parseTimePeriod(string|int $time_period): string + { + // time period is a number of days + if (is_numeric($time_period) && $time_period > 0) { + return date('Y-m-d H:i:s', time() - ($time_period * 24 * 60 * 60)); + } + + // time period is datetime (string) + if (preg_match("/^\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}$/", $time_period)) { + return $time_period; + } + + return ''; + } +} diff --git a/components/ILIAS/Feeds/classes/class.ilUserFeedWriter.php b/components/ILIAS/Feeds/classes/class.ilUserFeedWriter.php index cba638cf5660..9feddb38efa4 100755 --- a/components/ILIAS/Feeds/classes/class.ilUserFeedWriter.php +++ b/components/ILIAS/Feeds/classes/class.ilUserFeedWriter.php @@ -16,6 +16,9 @@ * *********************************************************************/ +use ILIAS\News\Data\NewsCriteria; +use ILIAS\News\Data\NewsItem; + /** * Feed writer for personal user feeds. * @author Alexander Killing @@ -49,15 +52,13 @@ public function __construct( $hash = ilObjUser::_lookupFeedHash($a_user_id); - $rss_period = ilNewsItem::_lookupRSSPeriod(); - if ($a_hash == $hash) { - if ($privFeed) { - //ilNewsItem::setPrivateFeedId($a_user_id); - $items = ilNewsItem::_getNewsItemsOfUser($a_user_id, false, true, $rss_period); - } else { - $items = ilNewsItem::_getNewsItemsOfUser($a_user_id, true, true, $rss_period); - } + $rss_period = ilNewsItem::_lookupRSSPeriod(); + $items = $DIC->news()->internal()->domain()->collection()->getNewsForUser( + new ilObjUser($a_user_id), + new NewsCriteria(period: $rss_period, only_public: !$privFeed), + false + ); if ($ilSetting->get('short_inst_name') != "") { $this->setChannelTitle($ilSetting->get('short_inst_name')); @@ -68,29 +69,29 @@ public function __construct( $this->setChannelAbout(ILIAS_HTTP_PATH); $this->setChannelLink(ILIAS_HTTP_PATH); //$this->setChannelDescription("ILIAS Channel Description"); + + /** @var NewsItem $item */ foreach ($items as $item) { - $obj_id = ilObject::_lookupObjId($item["ref_id"]); - $obj_type = ilObject::_lookupType($obj_id); - $obj_title = ilObject::_lookupTitle($obj_id); + $obj_title = ilObject::_lookupTitle($item->getContextObjId()); // not nice, to do: general solution - if ($obj_type == "mcst") { - if (!ilObjMediaCastAccess::_lookupOnline($obj_id)) { + if ($item->getContextObjType() === 'mcst') { + if (!ilObjMediaCastAccess::_lookupOnline($item->getContextObjId())) { continue; } } $feed_item = new ilFeedItem(); $title = ilNewsItem::determineNewsTitle( - $item["context_obj_type"], - $item["title"], - (bool) $item["content_is_lang_var"], - (int) ($item["agg_ref_id"] ?? 0), - $item["aggregation"] ?? [] + $item->getContextObjType(), + $item->getTitle(), + $item->isContentIsLangVar(), + 0, + [] ); // path - $loc = $this->getContextPath($item["ref_id"]); + $loc = $this->getContextPath($item->getContextRefId()); // title if ($news_set->get("rss_title_format") == "news_obj") { @@ -105,40 +106,40 @@ public function __construct( // description $content = $this->prepareStr(nl2br( ilNewsItem::determineNewsContent( - $item["context_obj_type"], - $item["content"], - $item["content_text_is_lang_var"] + $item->getContextObjType(), + $item->getContent(), + $item->isContentTextIsLangVar(), ) )); $feed_item->setDescription($content); // lm page hack, not nice - if ($item["context_obj_type"] == "lm" && $item["context_sub_obj_type"] == "pg" - && $item["context_sub_obj_id"] > 0) { + if ($item->getContextObjType() == "lm" && $item->getContextSubObjType() == "pg" + && $item->getContextObjId() > 0) { $feed_item->setLink(ILIAS_HTTP_PATH . "/goto.php?client_id=" . CLIENT_ID . - "&target=pg_" . $item["context_sub_obj_id"] . "_" . $item["ref_id"]); - } elseif ($item["context_obj_type"] == "wiki" && $item["context_sub_obj_type"] == "wpg" - && $item["context_sub_obj_id"] > 0) { - $wptitle = ilWikiPage::lookupTitle($item["context_sub_obj_id"]); + "&target=pg_" . $item->getContextSubObjId() . "_" . $item->getContextRefId()); + } elseif ($item->getContextObjType() == "wiki" && $item->getContextSubObjType() == "wpg" + && $item->getContextSubObjId() > 0) { + $wptitle = ilWikiPage::lookupTitle($item->getContextSubObjId()); $feed_item->setLink(ILIAS_HTTP_PATH . "/goto.php?client_id=" . CLIENT_ID . - "&target=" . $item["context_obj_type"] . "_" . $item["ref_id"] . "_" . urlencode($wptitle)); // #14629 - } elseif ($item["context_obj_type"] == "frm" && $item["context_sub_obj_type"] == "pos" - && $item["context_sub_obj_id"] > 0) { + "&target=" . $item->getContextObjType() . "_" . $item->getContextRefId() . "_" . urlencode($wptitle)); // #14629 + } elseif ($item->getContextObjType() == "frm" && $item->getContextSubObjType() == "pos" + && $item->getContextSubObjId() > 0) { // frm hack, not nice - $thread_id = ilObjForumAccess::_getThreadForPosting($item["context_sub_obj_id"]); + $thread_id = ilObjForumAccess::_getThreadForPosting($item->getContextSubObjId()); if ($thread_id > 0) { $feed_item->setLink(ILIAS_HTTP_PATH . "/goto.php?client_id=" . CLIENT_ID . - "&target=" . $item["context_obj_type"] . "_" . $item["ref_id"] . "_" . $thread_id . "_" . $item["context_sub_obj_id"]); + "&target=" . $item->getContextObjType() . "_" . $item->getContextRefId() . "_" . $thread_id . "_" . $item->getContextSubObjId()); } else { $feed_item->setLink(ILIAS_HTTP_PATH . "/goto.php?client_id=" . CLIENT_ID . - "&target=" . $item["context_obj_type"] . "_" . $item["ref_id"]); + "&target=" . $item->getContextObjType() . "_" . $item->getContextRefId()); } } else { $feed_item->setLink(ILIAS_HTTP_PATH . "/goto.php?client_id=" . CLIENT_ID . - "&target=" . $item["context_obj_type"] . "_" . $item["ref_id"]); + "&target=" . $item->getContextObjType() . "_" . $item->getContextRefId()); } - $feed_item->setAbout($feed_item->getLink() . "&il_about_feed=" . $item["id"]); - $feed_item->setDate($item["creation_date"]); + $feed_item->setAbout($feed_item->getLink() . "&il_about_feed=" . $item->getId()); + $feed_item->setDate($item->getCreationDate()->format("yyyy-mm-dd hh:mm:ss")); $this->addItem($feed_item); } } diff --git a/components/ILIAS/News/Dashboard/class.DashboardNewsManager.php b/components/ILIAS/News/Dashboard/class.DashboardNewsManager.php index a10fc72c9ee1..cfbfce82b0a9 100755 --- a/components/ILIAS/News/Dashboard/class.DashboardNewsManager.php +++ b/components/ILIAS/News/Dashboard/class.DashboardNewsManager.php @@ -20,6 +20,7 @@ namespace ILIAS\News\Dashboard; +use ILIAS\News\Data\NewsCriteria; use ILIAS\News\InternalRepoService; use ILIAS\News\InternalDataService; use ILIAS\News\InternalDomainService; @@ -30,23 +31,14 @@ class DashboardNewsManager { protected DashboardSessionRepository $session_repo; - protected InternalRepoService $repo; - protected InternalDataService $data; - protected InternalDomainService $domain; protected \ilFavouritesManager $fav_manager; - /** - * @var ?int[] - */ - protected static ?array $user_object_ref_ids = null; public function __construct( - InternalDataService $data, - InternalRepoService $repo, - InternalDomainService $domain + protected InternalDataService $data, + protected InternalRepoService $repo, + protected InternalDomainService $domain ) { $this->session_repo = $repo->dashboard(); - $this->data = $data; - $this->domain = $domain; $this->fav_manager = new \ilFavouritesManager(); } @@ -118,107 +110,19 @@ public function getPeriodOptions(): array */ public function getContextOptions(): array { - $lng = $this->domain->lng(); - $user = $this->domain->user(); - $period = $this->getDashboardNewsPeriod(); - - $cnt = []; - \ilNewsItem::_getNewsItemsOfUser( - $user->getId(), - false, - true, - $period, - $cnt + $context_count = $this->repo->news()->countByContextsBatch( + $this->domain->resolver()->getAccessibleContexts( + $this->domain->user(), + new NewsCriteria(period: $this->getDashboardNewsPeriod(), only_public: false) + ) ); - $ref_ids = $this->getUserNewsObjectRefIds(); - - // related objects (contexts) of news - $contexts[0] = $lng->txt("news_all_items"); - - $conts = []; - foreach ($ref_ids as $ref_id) { - $obj_id = \ilObject::_lookupObjId($ref_id); - $title = \ilObject::_lookupTitle($obj_id); - $conts[$ref_id] = $title; - } - - asort($conts); - foreach ($conts as $ref_id => $title) { - $contexts[$ref_id] = $title . " (" . (int) ($cnt[$ref_id] ?? 0) . ")"; - } - - return $contexts; - } - - /** - * User news on the daashboard/news overview are presented for - * all favourites and all memberships of the user. - * @return int[] - */ - protected function getUserNewsObjectRefIds(): array - { - if (is_null(self::$user_object_ref_ids)) { - $ref_ids = []; - $user = $this->domain->user(); - $user_id = $user->getId(); - - // get all items of the personal desktop - $fav_items = $this->fav_manager->getFavouritesOfUser($user_id); - foreach ($fav_items as $item) { - if (!in_array($item["ref_id"], $ref_ids)) { - $ref_ids[] = (int) $item["ref_id"]; - } - } - - // get all memberships - $crs_mbs = \ilParticipants::_getMembershipByType($user_id, ['crs']); - $grp_mbs = \ilParticipants::_getMembershipByType($user_id, ['grp']); - $items = array_merge($crs_mbs, $grp_mbs); - foreach ($items as $i) { - $item_references = \ilObject::_getAllReferences($i); - $ref_ids = array_unique(array_merge($ref_ids, $item_references)); - } - self::$user_object_ref_ids = $ref_ids; + $options = []; + foreach ($context_count as [$context, $count]) { + $options[$context->getRefId()] = \ilObject::_lookupTitle($context->getObjId()) . " ({$count})"; } - return self::$user_object_ref_ids; - } + asort($options); - protected function getNewsForOverview( - int $ref_id, - int $period, - bool $include_auto_entries, - int $items_per_load - ): array { - $user = $this->domain->user(); - $news_item = new \ilNewsItem(); - //$news_item->setContextObjId($this->ctrl->getContextObjId()); - //$news_item->setContextObjType($this->ctrl->getContextObjType()); - - if ($ref_id > 0) { - $news_data = $news_item->getNewsForRefId( - $ref_id, - false, - false, - $period, - true, - false, - !$include_auto_entries, - false, - null, - $items_per_load - ); - } else { - $cnt = []; - $news_data = \ilNewsItem::_getNewsItemsOfUser( - $user->getId(), - false, - true, - $period, - $cnt, - !$include_auto_entries - ); - } - return $news_data; + return [0 => $this->domain->lng()->txt('news_all_items')] + $options; } } diff --git a/components/ILIAS/News/Service/class.InternalDataService.php b/components/ILIAS/News/Service/class.InternalDataService.php index 306968008495..be7a88275f6d 100755 --- a/components/ILIAS/News/Service/class.InternalDataService.php +++ b/components/ILIAS/News/Service/class.InternalDataService.php @@ -20,14 +20,16 @@ namespace ILIAS\News; +use ILIAS\News\Data\Factory; + /** * Repository internal data service * @author Alexander Killing */ class InternalDataService { - public function __construct() + public function factory(): Factory { - //$this->..._factory = new ...\DataFactory(); + return new Factory(); } } diff --git a/components/ILIAS/News/Service/class.InternalDomainService.php b/components/ILIAS/News/Service/class.InternalDomainService.php index a2af13d0fa28..d4055b267754 100755 --- a/components/ILIAS/News/Service/class.InternalDomainService.php +++ b/components/ILIAS/News/Service/class.InternalDomainService.php @@ -21,6 +21,8 @@ namespace ILIAS\News; use ILIAS\DI\Container; +use ILIAS\News\Domain\NewsCollectionService; +use ILIAS\News\Domain\UserContextResolver; use ILIAS\Repository\GlobalDICDomainServices; use ILIAS\News\Dashboard\DashboardNewsManager; use ILIAS\News\Timeline\TimelineManager; @@ -32,19 +34,35 @@ class InternalDomainService { use GlobalDICDomainServices; - protected InternalRepoService $repo_service; - protected InternalDataService $data_service; - public function __construct( Container $DIC, - InternalRepoService $repo_service, - InternalDataService $data_service + protected InternalRepoService $repo_service, + protected InternalDataService $data_service ) { - $this->repo_service = $repo_service; - $this->data_service = $data_service; $this->initDomainServices($DIC); } + public function resolver(): UserContextResolver + { + return new UserContextResolver( + new \ilFavouritesDBRepository($this->DIC->database(), $this->repositoryTree()), + $this->access(), + $this->repositoryTree(), + $this->repo_service->cache() + ); + } + + public function collection(): NewsCollectionService + { + return new NewsCollectionService( + $this->repo_service->news(), + $this->repo_service->cache(), + $this->resolver(), + $this->objectDataCache(), + $this->access() + ); + } + public function dashboard(): DashboardNewsManager { return new DashboardNewsManager( diff --git a/components/ILIAS/News/Service/class.InternalRepoService.php b/components/ILIAS/News/Service/class.InternalRepoService.php index 5421d0fb7b17..a0f2e82f39f5 100755 --- a/components/ILIAS/News/Service/class.InternalRepoService.php +++ b/components/ILIAS/News/Service/class.InternalRepoService.php @@ -21,6 +21,8 @@ namespace ILIAS\News; use ILIAS\News\Dashboard\DashboardSessionRepository; +use ILIAS\News\Persistence\NewsCache; +use ILIAS\News\Persistence\NewsRepository; /** * Notes internal repo service @@ -28,18 +30,25 @@ */ class InternalRepoService { - protected InternalDataService $data; - protected \ilDBInterface $db; + protected NewsCache $cache; - public function __construct(InternalDataService $data, \ilDBInterface $db) + public function __construct(protected InternalDataService $data, protected \ilDBInterface $db) { - $this->data = $data; - $this->db = $db; + $this->cache = new NewsCache(); + } + + public function cache(): NewsCache + { + return $this->cache; + } + + public function news(): NewsRepository + { + return new NewsRepository($this->db, $this->data->factory()); } public function dashboard(): DashboardSessionRepository { - return new DashboardSessionRepository( - ); + return new DashboardSessionRepository(); } } diff --git a/components/ILIAS/News/Timeline/class.TimelineManager.php b/components/ILIAS/News/Timeline/class.TimelineManager.php index 8802a7c88a93..085b35d45107 100755 --- a/components/ILIAS/News/Timeline/class.TimelineManager.php +++ b/components/ILIAS/News/Timeline/class.TimelineManager.php @@ -20,6 +20,10 @@ namespace ILIAS\News\Timeline; +use ILIAS\News\Data\NewsCollection; +use ILIAS\News\Data\NewsContext; +use ILIAS\News\Data\NewsCriteria; +use ILIAS\News\Data\NewsItem; use ILIAS\News\InternalRepoService; use ILIAS\News\InternalDataService; use ILIAS\News\InternalDomainService; @@ -29,17 +33,11 @@ */ class TimelineManager { - protected InternalRepoService $repo; - protected InternalDataService $data; - protected InternalDomainService $domain; - public function __construct( - InternalDataService $data, - InternalRepoService $repo, - InternalDomainService $domain + protected InternalDataService $data, + protected InternalRepoService $repo, + protected InternalDomainService $domain ) { - $this->data = $data; - $this->domain = $domain; } public function getNewsData( @@ -50,39 +48,30 @@ public function getNewsData( bool $include_auto_entries, int $items_per_load, array $excluded - ): array { - $user = $this->domain->user(); - $news_item = new \ilNewsItem(); - $news_item->setContextObjId($context_obj_id); - $news_item->setContextObjType($context_type); + ): NewsCollection { + $criteria = new NewsCriteria( + period: $period, + limit: $items_per_load, + no_auto_generated: !$include_auto_entries, + excluded_news_ids: $excluded, + read_user_id: $this->domain->user()->getId() + ); if ($ref_id > 0) { - $news_data = $news_item->getNewsForRefId( - $ref_id, - false, - false, - $period, - true, - false, - !$include_auto_entries, - false, - null, - $items_per_load, - $excluded + return $this->domain->collection()->getNewsForContext( + new NewsContext($ref_id), + $criteria ); } else { - $cnt = []; - $news_data = \ilNewsItem::_getNewsItemsOfUser( - $user->getId(), - false, - true, - $period, - $cnt, - !$include_auto_entries, - $excluded, - $items_per_load + return $this->domain->collection()->getNewsForUser( + $this->domain->user(), + $criteria ); } - return $news_data; + } + + public function getNewsItem(int $news_id): ?NewsItem + { + return $this->repo->news()->findById($news_id); } } diff --git a/components/ILIAS/News/classes/class.ilNewsCache.php b/components/ILIAS/News/classes/class.ilNewsCache.php index 68987003615b..7aa7d74ed91b 100755 --- a/components/ILIAS/News/classes/class.ilNewsCache.php +++ b/components/ILIAS/News/classes/class.ilNewsCache.php @@ -20,6 +20,8 @@ * News cache * * @author Alexander Killing + * + * @deprecated Use \ILIAS\News\Persistence\NewsCache instead */ class ilNewsCache extends ilCache { diff --git a/components/ILIAS/News/classes/class.ilNewsForContextBlockGUI.php b/components/ILIAS/News/classes/class.ilNewsForContextBlockGUI.php index d738732e0ef1..95397b55be73 100755 --- a/components/ILIAS/News/classes/class.ilNewsForContextBlockGUI.php +++ b/components/ILIAS/News/classes/class.ilNewsForContextBlockGUI.php @@ -16,6 +16,12 @@ * *********************************************************************/ +use ILIAS\News\Data\NewsCollection; +use ILIAS\News\Data\NewsContext; +use ILIAS\News\Data\NewsCriteria; +use ILIAS\News\Data\NewsItem; +use ILIAS\News\InternalDomainService; +use ILIAS\News\InternalGUIService; use ILIAS\News\StandardGUIRequest; use ILIAS\News\Access\NewsAccess; @@ -32,11 +38,9 @@ class ilNewsForContextBlockGUI extends ilBlockGUI * object type names with settings->news settings subtab */ public const OBJECTS_WITH_NEWS_SUBTAB = ["category", "course", "group", "forum"]; - protected \ILIAS\News\InternalGUIService $gui; + public static string $block_type = "news"; protected NewsAccess $news_access; - protected bool $cache_hit = false; protected bool $dynamic = false; - protected ilNewsCache $acache; protected bool $show_view_selection; /** @@ -47,118 +51,154 @@ class ilNewsForContextBlockGUI extends ilBlockGUI protected ilHelpGUI $help; protected ilSetting $settings; protected ilTabsGUI $tabs; - public static string $block_type = "news"; - public static array $st_data; - protected ilObjectDefinition $obj_definition; + protected StandardGUIRequest $std_request; + protected InternalDomainService $domain; + protected InternalGUIService $gui; + + protected bool $prevent_initial_loading = false; + protected NewsCollection $collection; public function __construct() { global $DIC; - $this->ctrl = $DIC->ctrl(); - $this->lng = $DIC->language(); - $this->user = $DIC->user(); + + parent::__construct(); + $this->help = $DIC["ilHelp"]; - $this->access = $DIC->access(); $this->settings = $DIC->settings(); $this->tabs = $DIC->tabs(); - $this->obj_definition = $DIC["objDefinition"]; - $this->std_request = $DIC->news() - ->internal() - ->gui() - ->standardRequest(); + $locator = $DIC->news()->internal(); + $this->std_request = $locator->gui()->standardRequest(); + $this->domain = $locator->domain(); + $this->gui = $locator->gui(); $this->news_access = new NewsAccess($this->std_request->getRefId()); - $ilCtrl = $DIC->ctrl(); - $lng = $DIC->language(); - $ilUser = $DIC->user(); - $ilHelp = $DIC["ilHelp"]; - - parent::__construct(); - - $lng->loadLanguageModule("news"); - $ilHelp->addHelpSection("news_block"); + $this->lng->loadLanguageModule("news"); + $DIC->help()->addHelpSection("news_block"); - $this->setBlockId((string) $ilCtrl->getContextObjId()); + $this->setBlockId((string) $this->ctrl->getContextObjId()); $this->setLimit(5); $this->setEnableNumInfo(true); - $this->dynamic = false; - $this->acache = new ilNewsCache(); - $cres = unserialize( - (string) $this->acache->getEntry($ilUser->getId() . ":" . $this->std_request->getRefId()), - ["allowed_classes" => false] - ); - $this->cache_hit = false; - - if ($this->acache->getLastAccessStatus() === "hit" && is_array($cres)) { - self::$st_data = ilNewsItem::prepareNewsDataFromCache($cres); - $this->cache_hit = true; - } - if (!empty(self::$st_data)) { - $data = self::$st_data; - } else { - $data = $this->getNewsData(); - self::$st_data = $data; + if (!$this->prevent_initial_loading) { + $this->loadNewsData(); } - $this->setTitle($lng->txt("news_internal_news")); + $this->setTitle($this->lng->txt("news_internal_news")); $this->setRowTemplate("tpl.block_row_news_for_context.html", "components/ILIAS/News"); - $this->setData($data); $this->allow_moving = false; $this->handleView(); $this->setPresentation(self::PRES_SEC_LIST); - $this->gui = $DIC->news()->internal()->gui(); } - public function getNewsData(): array + private function loadNewsData(): void { - $ilCtrl = $this->ctrl; - $ilUser = $this->user; + if ($this->std_request->getRefId() === 0) { + $this->initData(new NewsCollection()); + return; + } - $this->acache = new ilNewsCache(); - /* $cres = $this->acache->getEntry($ilUser->getId().":".$_GET["ref_id"]); - if ($this->acache->getLastAccessStatus() == "hit" && false) - { - $news_data = unserialize($cres); - } - else - {*/ - $news_item = new ilNewsItem(); - $news_item->setContextObjId($ilCtrl->getContextObjId()); - $news_item->setContextObjType($ilCtrl->getContextObjType()); - - // workaround, better: reduce constructor and introduce - //$prevent_aggregation = $this->getProperty("prevent_aggregation"); - $prevent_aggregation = true; - if ($ilCtrl->getContextObjType() !== "frm") { - $forum_grouping = true; - } else { - $forum_grouping = false; + $collection = $this->domain->collection()->getNewsForContext( + new NewsContext($this->std_request->getRefId()), + new NewsCriteria(read_user_id: $this->user->getId()), + true + ); + + $forum_grouping = $this->ctrl->getContextObjType() !== 'frm'; + $this->initData($collection->groupFiles()->groupForums($forum_grouping)); + } + + protected function initData(NewsCollection $collection): void + { + $this->collection = $collection; + $this->data = $collection->pluck('id', true); + } + + /** + * Method will be called before rendering the block. It lazily loads the required news items. + */ + protected function preloadData(array $data): void + { + parent::preloadData($data); + $this->collection->load(array_column($data, 0)); + } + + protected function getListItemForData(array $data): ?\ILIAS\UI\Component\Item\Item + { + $info = $this->getNewsForId($data[0]); + + $props = [ + $this->lng->txt('date') => $info['creation_date'] ?? '' + ]; + + $item = $this->ui->factory()->item()->standard( + $this->ui->factory()->link()->standard($info['news_title'] ?? '', $info['url'] ?? '') + )->withProperties($props); + + if ($info['ref_id'] > 0) { + $item = $item->withDescription($info['type_txt'] . ': ' . $info['obj_title']); } + return $item; + } + private function getNewsForId(int $news_id): array + { + $item = $this->collection->getById($news_id); + if ($item === null) { + throw new \InvalidArgumentException("News item with id {$news_id} not found."); + } - $news_data = $news_item->getNewsForRefId( - $this->std_request->getRefId(), - false, - false, - 0, - $prevent_aggregation, - $forum_grouping + $grouping = $this->collection->getGroupingFor($item); + + $creation_date = new ilDateTime($item->getCreationDate()->format('c'), IL_CAL_DATETIME); + $title = ilStr::shortenWords( + ilNewsItem::determineNewsTitle( + $item->getContextObjType(), + $item->getTitle(), + $item->isContentIsLangVar(), + $grouping ? $grouping['agg_ref_id'] : 0, + $grouping ? $grouping['aggregation'] : [], + ) ); - $this->acache->storeEntry( - $ilUser->getId() . ":" . $this->std_request->getRefId(), - serialize($news_data) - ); + $info = [ + 'ref_id' => $item->getContextRefId(), + 'creation_date' => ilDatePresentation::formatDate($creation_date), + 'news_title' => $title, + ]; + + // title image type + if ($item->getContextRefId() > 0) { + $obj_id = $item->getContextObjId(); + $type = $item->getContextObjType(); + + $lang_type = in_array($type, ['sahs', 'lm', 'htlm']) ? 'lres' : 'obj_' . $type; - // } - //var_dump($news_data); - return $news_data; + $type_txt = ($this->obj_def->isPlugin($item->getContextObjType())) + ? ilObjectPlugin::lookupTxtById($item->getContextObjType(), $lang_type) + : $this->lng->txt($lang_type); + + $info['type_txt'] = $type_txt; + $info['type_icon'] = ilObject::_getIcon($obj_id, 'tiny', $type); + $info['obj_title'] = ilStr::shortenWords(ilObject::_lookupTitle($obj_id)); + $info['user_read'] = $this->collection->isReadByUser($this->user->getId(), $news_id); + + $this->ctrl->setParameter($this, 'news_context', $item->getContextRefId()); + } else { + $this->ctrl->setParameter($this, 'news_context', ''); + } + + $this->ctrl->setParameter($this, 'news_id', $item->getId()); + $info['url'] = $this->ctrl->getLinkTarget($this, 'showNews'); + $this->ctrl->clearParameters($this); + + return $info; } + public function getBlockType(): string { return self::$block_type; @@ -322,7 +362,9 @@ public function getHTML(): string */ public function handleView(): void { - $ilUser = $this->user; + // it seems like this method does not change any state, so it may be removed in the future + + /*$ilUser = $this->user; $this->view = (string) ilBlockSetting::_lookup( $this->getBlockType(), @@ -347,71 +389,7 @@ public function handleView(): void $this->show_view_selection = true; } elseif ($got_notices) { $this->view = ""; - } - } - - public function getInfoForData(array $news): array - { - $ilCtrl = $this->ctrl; - $lng = $this->lng; - $obj_definition = $this->obj_definition; - - $info = []; - - $info["ref_id"] = $news["ref_id"] ?? 0; - $info["creation_date"] = - ilDatePresentation::formatDate(new ilDateTime($news["creation_date"], IL_CAL_DATETIME)); - - // title image type - if (($news["ref_id"] ?? 0) > 0) { - if (isset($news["agg_ref_id"]) && $news["agg_ref_id"] > 0) { - $obj_id = ilObject::_lookupObjId($news["agg_ref_id"]); - $type = ilObject::_lookupType($obj_id); - $context_ref = $news["agg_ref_id"]; - } else { - $obj_id = $news["context_obj_id"]; - $type = $news["context_obj_type"]; - $context_ref = $news["ref_id"]; - } - - $lang_type = in_array($type, ["sahs", "lm", "htlm"]) - ? "lres" - : "obj_" . $type; - - $type_txt = ($obj_definition->isPlugin($news["context_obj_type"])) - ? ilObjectPlugin::lookupTxtById($news["context_obj_type"], $lang_type) - : $lng->txt($lang_type); - - - $info["type_txt"] = $type_txt; - $info["type_icon"] = ilObject::_getIcon($obj_id, "tiny", $type); - $info["obj_title"] = ilStr::shortenWords(ilObject::_lookupTitle($obj_id)); - $info["user_read"] = $news["user_read"]; - - $ilCtrl->setParameter($this, "news_context", $context_ref); - } else { - $ilCtrl->setParameter($this, "news_context", ""); - } - - // title - $info["news_title"] = - ilStr::shortenWords( - ilNewsItem::determineNewsTitle( - $news["context_obj_type"] ?? "", - $news["title"] ?? "", - $news["content_is_lang_var"] ?? false, - $news["agg_ref_id"] ?? 0, - $news["aggregation"] ?? [] - ) - ); - - - $ilCtrl->setParameter($this, "news_id", $news["id"]); - $info["url"] = - $ilCtrl->getLinkTarget($this, "showNews"); - $ilCtrl->clearParameters($this); - - return $info; + }*/ } public function getOverview(): string @@ -423,157 +401,58 @@ public function getOverview(): string public function showNews(): string { - $lng = $this->lng; - $ilCtrl = $this->ctrl; - $ilUser = $this->user; - $ilAccess = $this->access; - - // workaround for dynamic mode (if cache is disabled, showNews has no data) - if (empty(self::$st_data)) { - $this->setData($this->getNewsData()); - } - - $news_set = new ilSetting("news"); - $enable_internal_rss = $news_set->get("enable_rss_for_internal"); - + $ui_renderer = $this->ui->renderer(); + $ui_factory = $this->ui->factory(); $tpl = new ilTemplate("tpl.show_news.html", true, true, "components/ILIAS/News"); - - // get current item in data set - $previous = ""; - reset($this->data); - $c = current($this->data); - $curr_cnt = 1; + $setting = new ilSetting("news"); + $enable_internal_rss = $setting->get("enable_rss_for_internal"); if ($this->std_request->getNewsId() > 0) { - $news = new ilNewsItem($this->std_request->getNewsId()); - $news_context = $this->std_request->getNewsContext(); - while ($c["id"] > 0 && (int) $c["id"] !== $this->std_request->getNewsId()) { - $previous = $c; - $c = next($this->data); - $curr_cnt++; - } + $current_item = $this->collection->getById($this->std_request->getNewsId()); + $news_context = (int) $this->std_request->getNewsContext(); } else { - $news_page = $this->std_request->getNewsPage(); - $news_context = 0; - while ($curr_cnt - 1 < $news_page) { - $previous = $c; - $c = next($this->data); - if ($curr_cnt - 1 === $news_page) { - } - $curr_cnt++; - } - $news = new ilNewsItem($c["id"] ?? 0); - if (($c["ref_id"] ?? 0) > 0) { - $news_context = (int) $c["ref_id"]; - } + $current_item = $this->collection->pick($this->std_request->getNewsPage()); + $news_context = $current_item->getContextRefId(); } - - if (!is_array($c) && is_object($news) && $news->getId() > 0 - && ilNewsItem::_lookupContextObjId($news->getId()) !== $ilCtrl->getContextObjId()) { - throw new ilException("News ID does not match object context."); + if ($current_item === null) { + return ''; } - - // collect news items to show - $news_list = []; - if (isset($c["aggregation"]) && is_array($c["aggregation"])) { // we have an aggregation - $news_list[] = [ - "ref_id" => $c["agg_ref_id"], - "agg_ref_id" => $c["agg_ref_id"], - "aggregation" => $c["aggregation"], - "user_id" => "", - "content_type" => "text", - "mob_id" => 0, - "visibility" => "", - "content" => "", - "content_long" => "", - "update_date" => $news->getUpdateDate(), - "creation_date" => "", - "content_is_lang_var" => false, - "loc_context" => $news_context, - "context_obj_type" => $news->getContextObjType(), - "title" => "" - ]; - - foreach ($c["aggregation"] as $c_item) { - ilNewsItem::_setRead($ilUser->getId(), $c_item["id"]); - $c_item["loc_context"] = $c_item["ref_id"]; - $c_item["loc_stop"] = $news_context; - $news_list[] = $c_item; - } - } else { // no aggregation, simple news item - $news_list[] = [ - "id" => $news->getId(), - "ref_id" => $news_context, - "user_id" => $news->getUserId(), - "content_type" => $news->getContentType(), - "mob_id" => $news->getMobId(), - "visibility" => $news->getVisibility(), - "priority" => $news->getPriority(), - "content" => $news->getContent(), - "content_long" => $news->getContentLong(), - "update_date" => $news->getUpdateDate(), - "creation_date" => $news->getCreationDate(), - "context_sub_obj_type" => $news->getContextSubObjType(), - "context_obj_type" => $news->getContextObjType(), - "context_sub_obj_id" => $news->getContextSubObjId(), - "content_is_lang_var" => $news->getContentIsLangVar(), - "content_text_is_lang_var" => $news->getContentTextIsLangVar(), - "loc_context" => $news_context, - "title" => $news->getTitle() - ]; - ilNewsItem::_setRead($ilUser->getId(), $this->std_request->getNewsId()); + if ($grouping = $this->collection->getGroupingFor($current_item)) { + $news_list = $grouping['aggregation']; + } else { + $news_list = [$current_item]; } - $row_css = ""; - $cache_deleted = false; - foreach ($news_list as $item) { - $row_css = ($row_css !== "tblrow1") - ? "tblrow1" - : "tblrow2"; + for ($i = 0; $i < count($news_list); $i++) { + /** @var NewsItem $item */ + $item = $news_list[$i]; + $item = $item->withContextRefId($news_context); - if ($item["ref_id"] > 0 && !$ilAccess->checkAccess("read", "", $item["ref_id"])) { - $tpl->setCurrentBlock("content"); - $tpl->setVariable("VAL_CONTENT", $lng->txt("news_sorry_not_accessible_anymore")); - $tpl->parseCurrentBlock(); - $tpl->setCurrentBlock("item"); - $tpl->setVariable("ITEM_ROW_CSS", $row_css); - $tpl->parseCurrentBlock(); - if (!$cache_deleted) { - $this->acache->deleteEntry($ilUser->getId() . ":" . $this->std_request->getRefId()); - $cache_deleted = true; - } - continue; - } + ilNewsItem::_setRead($this->user->getId(), $this->std_request->getNewsId()); - // user - if ($item["user_id"] > 0 && - \ilObjUser::userExists([$item["user_id"]]) - ) { - // get login - if (ilObjUser::_exists($item["user_id"])) { - $user = new ilObjUser($item["user_id"]); - $displayname = $user->getLogin(); - } else { - // this should actually not happen, since news entries - // should be deleted when the user is going to be removed - $displayname = "<" . strtolower($lng->txt("deleted")) . ">"; - } + $is_grouped_item = $i > 0; + $legacy_news = $item->toLegacy(); - $tpl->setCurrentBlock("user_info"); - $tpl->setVariable("VAL_AUTHOR", $displayname); - $tpl->setVariable("TXT_AUTHOR", $lng->txt("author")); - $tpl->parseCurrentBlock(); + // author + if (\ilObjUser::userExists([$item->getUserId()])) { + $user = new ilObjUser($item->getUserId()); + $display_name = $user->getLogin(); + } else { + // this should actually not happen, since news entries + // should be deleted when the user is going to be removed + $display_name = "<" . strtolower($this->lng->txt("deleted")) . ">"; } + $tpl->setCurrentBlock("user_info"); + $tpl->setVariable("VAL_AUTHOR", $display_name); + $tpl->setVariable("TXT_AUTHOR", $this->lng->txt("author")); + $tpl->parseCurrentBlock(); // media player - $ui_renderer = $this->ui->renderer(); - $ui_factory = $this->ui->factory(); - - if ($item["mob_id"] > 0 && ilObject::_exists((int) $item["mob_id"])) { - $media_path = $this->getMediaPath((int) $item["mob_id"]); + if ($item->getMobId() > 0 && ilObject::_exists($item->getMobId())) { + $media_path = $this->getMediaPath($item->getMobId()); $mime = ilObjMediaObject::getMimeType($media_path); if (in_array($mime, ["image/jpeg", "image/svg+xml", "image/gif", "image/png"])) { $title = basename($media_path); @@ -585,7 +464,7 @@ public function showNews(): string $audio = $ui_factory->player()->audio($media_path); $html = $ui_renderer->render($audio); } elseif (in_array($mime, ["application/pdf"])) { - $this->ctrl->setParameter($this, "news_id", $item["id"]); + $this->ctrl->setParameter($this, "news_id", $item->getId()); $link = $ui_factory->link()->standard( basename($media_path), $this->ctrl->getLinkTarget($this, "downloadMob") @@ -597,78 +476,70 @@ public function showNews(): string $html = $mime; } - $tpl->setCurrentBlock("player"); - $tpl->setVariable( - "PLAYER", - $html - ); + $tpl->setVariable("PLAYER", $html); $tpl->parseCurrentBlock(); } // access - if ($enable_internal_rss && $item["visibility"] != "") { - $obj_id = ilObject::_lookupObjId($item["ref_id"]); + if ($enable_internal_rss && $item->getVisibility() !== '') { $tpl->setCurrentBlock("access"); - $tpl->setVariable("TXT_ACCESS", $lng->txt("news_news_item_visibility")); - if ($item["visibility"] === NEWS_PUBLIC || - ((int) $item["priority"] === 0 && - ilBlockSetting::_lookup( - "news", - "public_notifications", - 0, - $obj_id - ))) { - $tpl->setVariable("VAL_ACCESS", $lng->txt("news_visibility_public")); + $tpl->setVariable("TXT_ACCESS", $this->lng->txt("news_news_item_visibility")); + if ($item->getVisibility() === NEWS_PUBLIC || + ($item->getPriority() === 0 && + ilBlockSetting::_lookup( + "news", + "public_notifications", + 0, + $item->getContextObjId() + ))) { + $tpl->setVariable("VAL_ACCESS", $this->lng->txt("news_visibility_public")); } else { - $tpl->setVariable("VAL_ACCESS", $lng->txt("news_visibility_users")); + $tpl->setVariable("VAL_ACCESS", $this->lng->txt("news_visibility_users")); } $tpl->parseCurrentBlock(); } // content - $renderer = ilNewsRendererFactory::getRenderer($item["context_obj_type"]); - if (trim($item["content"]) != "") { // content - $it = new ilNewsItem($item["id"]); - $renderer->setNewsItem($it, $item["ref_id"]); + $renderer = ilNewsRendererFactory::getRenderer($item->getContextObjType()); + if (trim($item->getContent()) !== '') { + $renderer->setNewsItem($legacy_news, $item->getContextRefId()); $tpl->setCurrentBlock("content"); $tpl->setVariable("VAL_CONTENT", $renderer->getDetailContent()); $tpl->parseCurrentBlock(); } - if ($item["update_date"] != $item["creation_date"]) { // update date + + // update date + if ($item->getUpdateDate() !== $item->getCreationDate()) { $tpl->setCurrentBlock("ni_update"); - $tpl->setVariable("TXT_LAST_UPDATE", $lng->txt("last_update")); + $tpl->setVariable("TXT_LAST_UPDATE", $this->lng->txt("last_update")); $tpl->setVariable( "VAL_LAST_UPDATE", - ilDatePresentation::formatDate(new ilDateTime($item["update_date"], IL_CAL_DATETIME)) + ilDatePresentation::formatDate(new ilDateTime($legacy_news->getUpdateDate(), IL_CAL_DATETIME)) ); $tpl->parseCurrentBlock(); } // creation date - if ($item["creation_date"] != "") { + if ($item->getCreationDate()->getTimestamp() !== 0) { $tpl->setCurrentBlock("ni_update"); $tpl->setVariable( "VAL_CREATION_DATE", - ilDatePresentation::formatDate(new ilDateTime($item["creation_date"], IL_CAL_DATETIME)) + ilDatePresentation::formatDate(new ilDateTime($legacy_news->getCreationDate(), IL_CAL_DATETIME)) ); - $tpl->setVariable("TXT_CREATED", $lng->txt("created")); + $tpl->setVariable("TXT_CREATED", $this->lng->txt("created")); $tpl->parseCurrentBlock(); } - // context / title if ($news_context > 0) { - //$obj_id = ilObject::_lookupObjId($_GET["news_context"]); - $obj_id = ilObject::_lookupObjId($item["ref_id"]); - $obj_type = ilObject::_lookupType($obj_id); - $obj_title = ilObject::_lookupTitle($obj_id); + $obj_title = ilObject::_lookupTitle($item->getContextObjId()); // file hack, not nice - if ($obj_type === "file") { - $ilCtrl->setParameterByClass(ilRepositoryGUI::class, "ref_id", $item["ref_id"]); - $url = $ilCtrl->getLinkTargetByClass(ilRepositoryGUI::class, "sendfile"); - $ilCtrl->setParameterByClass(ilRepositoryGUI::class, "ref_id", $this->std_request->getRefId()); + if ($item->getContextObjType() === "file") { + $this->ctrl->setParameterByClass(ilRepositoryGUI::class, "ref_id", $item->getContextRefId()); + $url = $this->ctrl->getLinkTargetByClass(ilRepositoryGUI::class, "sendfile"); + $this->ctrl->setParameterByClass(ilRepositoryGUI::class, "ref_id", $this->std_request->getRefId()); $button = $this->gui->button( $this->lng->txt("download"), @@ -682,9 +553,11 @@ public function showNews(): string // forum hack, not nice $add = ""; - if ($obj_type === "frm" && ($item["context_sub_obj_type"] ?? "") === "pos" - && $item["context_sub_obj_id"] > 0) { - $pos = $item["context_sub_obj_id"]; + if ($item->getContextObjType() === "frm" && + $item->getContextSubObjType() === "pos" && + $item->getContextSubObjId() > 0 + ) { + $pos = $item->getContextSubObjId(); $thread = ilObjForumAccess::_getThreadForPosting($pos); if ($thread > 0) { $add = "_" . $thread . "_" . $pos; @@ -692,54 +565,59 @@ public function showNews(): string } // wiki hack, not nice - if ($obj_type === "wiki" && $item["context_sub_obj_type"] === "wpg" - && $item["context_sub_obj_id"] > 0) { - $wptitle = ilWikiPage::lookupTitle($item["context_sub_obj_id"]); + if ($item->getContextObjType() === "wiki" && + $item->getContextSubObjType() === "wpg" && + $item->getContextSubObjId() > 0 + ) { + $wptitle = ilWikiPage::lookupTitle($item->getContextSubObjId()); if ($wptitle != "") { $add = "_" . ilWikiUtil::makeUrlTitle($wptitle); } } $url_target = "./goto.php?client_id=" . rawurlencode(CLIENT_ID) . "&target=" . - $obj_type . "_" . $item["ref_id"] . $add; + $item->getContextObjType() . "_" . $item->getContextRefId() . $add; // lm page hack, not nice - if ( - ($item["context_sub_obj_type"] ?? "") === "pg" && - $item["context_sub_obj_id"] > 0 && - in_array($obj_type, ["lm"], true)) { + if ($item->getContextObjType() === "lm" && + $item->getContextSubObjType() === "pg" && + $item->getContextSubObjId() > 0 + ) { $url_target = "./goto.php?client_id=" . rawurlencode(CLIENT_ID) . "&target=" . - "pg_" . $item["context_sub_obj_id"] . "_" . $item["ref_id"]; + "pg_" . $item->getContextSubObjId() . "_" . $item->getContextRefId(); } // blog posting hack, not nice - if ($obj_type === "blog" && ($item["context_sub_obj_type"] ?? "") === "blp" - && $item["context_sub_obj_id"] > 0) { + if ($item->getContextObjType() === "blog" && + $item->getContextSubObjType() === "blp" && + $item->getContextSubObjId() > 0 + ) { $url_target = "./goto.php?client_id=" . rawurlencode(CLIENT_ID) . "&target=" . - "blog_" . $item["ref_id"] . "_" . $item["context_sub_obj_id"]; + "blog_" . $item->getContextRefId() . "_" . $item->getContextSubObjId(); } $context_opened = false; - $loc_stop = $item["loc_stop"] ?? ""; - if ($item["loc_context"] != null && - $item["loc_context"] != $loc_stop - ) { + $loc_context = $is_grouped_item ? $current_item->getContextRefId() : $news_context; + $loc_stop = $is_grouped_item ? $news_context : null; + if ($loc_context !== 0 && $loc_context !== $loc_stop) { $tpl->setCurrentBlock("context"); $context_opened = true; $cont_loc = new ilLocatorGUI(); - $cont_loc->addContextItems($item["loc_context"], true, (int) $loc_stop); + $cont_loc->addContextItems($loc_context, true, (int) $loc_stop); $tpl->setVariable("CONTEXT_LOCATOR", $cont_loc->getHTML()); } - //var_dump($item); - $no_context_title = $item["no_context_title"] ?? false; + $no_context_title = $grouping['no_context_title'] ?? false; if ($no_context_title !== true) { if (!$context_opened) { $tpl->setCurrentBlock("context"); } $tpl->setVariable("HREF_CONTEXT_TITLE", $url_target); $tpl->setVariable("CONTEXT_TITLE", $obj_title); - $tpl->setVariable("IMG_CONTEXT_TITLE", ilObject::_getIcon($obj_id, "big", $obj_type)); + $tpl->setVariable( + "IMG_CONTEXT_TITLE", + ilObject::_getIcon($item->getContextObjId(), "big", $item->getContextObjType()) + ); } if ($context_opened) { $tpl->parseCurrentBlock(); @@ -752,39 +630,32 @@ public function showNews(): string $tpl->setVariable( "VAL_TITLE", ilNewsItem::determineNewsTitle( - $item["context_obj_type"] ?? "", - $item["title"] ?? "", - $item["content_is_lang_var"] ?? false, - $item["agg_ref_id"] ?? 0, - $item["aggregation"] ?? [] + $item->getContextObjType(), + $item->getTitle(), + $item->isContentIsLangVar(), + (!$is_grouped_item && $grouping) ? $grouping['agg_ref_id'] : 0, + (!$is_grouped_item && $grouping) ? $grouping['aggregation'] : [], ) ); - $tpl->setCurrentBlock("item"); - $tpl->setVariable("ITEM_ROW_CSS", $row_css); + $tpl->setVariable("ITEM_ROW_CSS", $i % 2 === 0 ? "tblrow1" : "tblrow2"); $tpl->parseCurrentBlock(); } $content = $tpl->get(); - if ($this->getProperty("title") != "") { - $title = $this->getProperty("title"); - } else { - $title = $lng->txt("news_internal_news"); - } - $panel = $this->ui->factory()->panel()->standard($title, $this->ui->factory()->legacy()->content($content)); - - $parameter_name = 'news_page'; + $title = $this->getProperty('title') ?? $this->lng->txt("news_internal_news"); + $panel = $ui_factory->panel()->standard($title, $ui_factory->legacy()->content($content)); - $pagination = $this->ui->factory()->viewControl()->pagination() - ->withTargetURL($ilCtrl->getLinkTarget($this, "showNews"), "news_page") + $pagination = $ui_factory->viewControl()->pagination() + ->withTargetURL($this->ctrl->getLinkTarget($this, "showNews"), "news_page") ->withTotalEntries(count($this->getData())) ->withPageSize(1) ->withMaxPaginationButtons(10) - ->withCurrentPage($curr_cnt - 1); + ->withCurrentPage($this->collection->getPageFor($current_item->getId())); $panel = $panel->withViewControls([$pagination]); - return $this->ui->renderer()->render($panel); + return $ui_renderer->render($panel); } protected function getMediaPath(int $mob_id): string @@ -822,8 +693,7 @@ public function showNotifications(): void ); // reload data - $data = $this->getNewsData(); - $this->setData($data); + $this->loadNewsData(); $this->handleView(); if ($ilCtrl->isAsynch()) { @@ -847,8 +717,7 @@ public function hideNotifications(): void ); // reload data - $data = $this->getNewsData(); - $this->setData($data); + $this->loadNewsData(); $this->handleView(); if ($ilCtrl->isAsynch()) { @@ -1073,7 +942,6 @@ public function cancelSettings(): void public function saveSettings(): string { $ilCtrl = $this->ctrl; - $ilUser = $this->user; $this->initSettingsForm(); $form = $this->settings_form; @@ -1143,8 +1011,7 @@ public function saveSettings(): string } } - $cache = new ilNewsCache(); - $cache->deleteEntry($ilUser->getId() . ":" . $this->std_request->getRefId()); + $this->domain->collection()->invalidateCache($this->user->getId()); $ilCtrl->returnToParent($this); } else { @@ -1257,26 +1124,6 @@ public function enableJS(): void $this->send($this->getHTML()); } - protected function getListItemForData(array $data): ?\ILIAS\UI\Component\Item\Item - { - if ((int) ($data["id"] ?? 0) === 0) { - return null; - } - $info = $this->getInfoForData($data); - - $props = [ - $this->lng->txt("date") => $info["creation_date"] ?? "" - ]; - - $factory = $this->ui->factory(); - $item = $factory->item()->standard($factory->link()->standard($info["news_title"] ?? "", $info["url"] ?? "")) - ->withProperties($props); - if (($info["ref_id"] ?? 0) > 0) { - $item = $item->withDescription($info["type_txt"] . ": " . $info["obj_title"]); - } - return $item; - } - public function getNoItemFoundContent(): string { return $this->lng->txt("news_no_news_items"); diff --git a/components/ILIAS/News/classes/class.ilNewsItem.php b/components/ILIAS/News/classes/class.ilNewsItem.php index 5cf92c067290..1389dd1ce1f3 100755 --- a/components/ILIAS/News/classes/class.ilNewsItem.php +++ b/components/ILIAS/News/classes/class.ilNewsItem.php @@ -17,6 +17,7 @@ *********************************************************************/ use ILIAS\MediaObjects\MediaObjectManager; +use ILIAS\News\Data\NewsItem; const NEWS_NOTICE = 0; const NEWS_MESSAGE = 1; @@ -495,119 +496,14 @@ public function update(bool $a_as_new = false): void ]); } - - /** - * Get all news items for a user. - * @deprecated (will migrate to ilNewsData) - */ - public static function _getNewsItemsOfUser( - int $a_user_id, - bool $a_only_public = false, - bool $a_prevent_aggregation = false, - int $a_per = 0, - array &$a_cnt = [], - bool $no_auto_generated = false, - array $excluded = [], - int $a_limit = 0 - ): array { - global $DIC; - - $ilAccess = $DIC->access(); - $fav_rep = new ilFavouritesDBRepository(); - - $news_item = new ilNewsItem(); - - $per = $a_per; - - // this is currently not used - $ref_ids = []; - - if (ilObjUser::_lookupPref($a_user_id, "pd_items_news") !== "n") { - // get all items of the personal desktop - $pd_items = $fav_rep->getFavouritesOfUser($a_user_id); - foreach ($pd_items as $item) { - if (!in_array($item["ref_id"], $ref_ids)) { - $ref_ids[] = (int) $item["ref_id"]; - } - } - - // get all memberships - $crs_mbs = ilParticipants::_getMembershipByType($a_user_id, ['crs']); - $grp_mbs = ilParticipants::_getMembershipByType($a_user_id, ['grp']); - $items = array_merge($crs_mbs, $grp_mbs); - foreach ($items as $i) { - $item_references = ilObject::_getAllReferences($i); - if (is_array($item_references) && count($item_references)) { - foreach ($item_references as $ref_id) { - if (!in_array($ref_id, $ref_ids)) { - $ref_ids[] = $ref_id; - } - } - } - } - } - - $data = []; - - foreach ($ref_ids as $ref_id) { - if (!$a_only_public) { - // this loop should not cost too much performance - $acc = $ilAccess->checkAccessOfUser($a_user_id, "read", "", $ref_id); - - if (!$acc) { - continue; - } - } - if (self::getPrivateFeedId() > 0) { - global $DIC; - - $rbacsystem = $DIC->rbac()->system(); - $acc = $rbacsystem->checkAccessOfUser(self::getPrivateFeedId(), "read", $ref_id); - - if (!$acc) { - continue; - } - } - - $obj_id = ilObject::_lookupObjId($ref_id); - $obj_type = ilObject::_lookupType($obj_id); - $news = $news_item->getNewsForRefId( - $ref_id, - $a_only_public, - false, - $per, - $a_prevent_aggregation, - false, - $no_auto_generated, - false, - $a_user_id, - 0, - $excluded - ); - - // counter - if (!is_null($a_cnt)) { - $a_cnt[$ref_id] = count($news); - } - - $data = self::mergeNews($data, $news); - } - - $data = ilArrayUtil::sortArray($data, "creation_date", "desc", false, true); - - if ($a_limit > 0) { - array_splice($data, $a_limit); - } - return $data; - } - /** * Get News For Ref Id. * - * @deprecated (will migrate to ilNewsData) * @param string|int $a_time_period * @param int $a_limit currently only supported for groups and courses * @param int[] $a_excluded currently only supported for groups and courses (news ids) + * + * @deprecated Use \ILIAS\News\Domain\NewsCollectionService::getNewsForContext instead */ public function getNewsForRefId( int $a_ref_id, @@ -729,10 +625,11 @@ public function getNewsForRefId( /** * Get news aggregation (e.g. for courses, groups) - * @deprecated (will migrate to ilNewsData) * @param string|int $a_time_period + * + * @deprecated will be removed after migrating `getNewsForRefId` */ - public function getAggregatedNewsData( + protected function getAggregatedNewsData( int $a_ref_id, bool $a_only_public = false, $a_time_period = 0, @@ -837,7 +734,7 @@ public function getAggregatedNewsData( } /** - * @deprecated will move to ilNewsData + * @deprecated will be removed after migrating `getNewsForRefId` */ protected function aggregateForums( array $news, @@ -885,7 +782,7 @@ protected function aggregateForums( } /** - * @deprecated will move to ilNewsData + * @deprecated will be removed after migrating `getNewsForRefId` */ protected function aggregateFiles( array $news, @@ -917,7 +814,8 @@ protected function aggregateFiles( /** * Get news aggregation for child objects (e.g. for categories) - * @deprecated will move to ilNewsData + * + * @deprecated will be removed after migrating `getNewsForRefId` */ protected function getAggregatedChildNewsData( int $a_ref_id, @@ -1039,8 +937,9 @@ protected static function handleTimePeriod($a_time_period): string /** * Query news for a context - * @deprecated will move to ilNewsData * @param string|int $a_time_period + * + * @deprecated will be removed after migrating `getNewsForRefId` */ public function queryNewsForContext( bool $a_for_rss_use = false, @@ -1210,10 +1109,11 @@ public function checkNewsExistsForObjects( } /** - * @deprecated will move to ilNewsData * @param string|int $a_time_period + * + * @deprecated will be removed after migrating `getNewsForRefId` */ - public function queryNewsForMultipleContexts( + private function queryNewsForMultipleContexts( array $a_contexts, bool $a_for_rss_use = false, $a_time_period = 0, @@ -1659,7 +1559,8 @@ public static function determineNewsTitle( // files $up_cnt = $cr_cnt = 0; foreach ($a_aggregation as $item) { - if ($item["title"] === "file_updated") { + $title = $item instanceof NewsItem ? $item->getTitle() : $item['title']; + if ($title === 'file_updated') { $up_cnt++; } else { $cr_cnt++; @@ -1976,33 +1877,4 @@ public function increasePlayCounter(): void " WHERE id = " . $ilDB->quote($this->getId(), "integer") ); } - - /** - * Prepare news data from cache - * @deprecated will move to data - */ - public static function prepareNewsDataFromCache(array $a_cres): array - { - global $DIC; - - $ilDB = $DIC->database(); - - $data = $a_cres; - $news_ids = array_keys($data); - $set = $ilDB->query("SELECT id FROM il_news_item " . - " WHERE " . $ilDB->in("id", $news_ids, false, "integer")); - $existing_ids = []; - while ($rec = $ilDB->fetchAssoc($set)) { - $existing_ids[] = (int) $rec["id"]; - } - //var_dump($existing_ids); - $existing_news = []; - foreach ($data as $k => $v) { - if (in_array($k, $existing_ids)) { - $existing_news[$k] = $v; - } - } - - return $existing_news; - } } diff --git a/components/ILIAS/News/classes/class.ilNewsTimelineGUI.php b/components/ILIAS/News/classes/class.ilNewsTimelineGUI.php index f6e993dcc122..aec8b675410b 100755 --- a/components/ILIAS/News/classes/class.ilNewsTimelineGUI.php +++ b/components/ILIAS/News/classes/class.ilNewsTimelineGUI.php @@ -16,6 +16,8 @@ * *********************************************************************/ +use ILIAS\News\Data\NewsCollection; +use ILIAS\News\Data\NewsItem; use ILIAS\News\StandardGUIRequest; use ILIAS\Filesystem\Stream\Streams; use ILIAS\HTTP\Response\Sender\ResponseSendingException; @@ -47,7 +49,7 @@ class ilNewsTimelineGUI protected bool $user_edit_all = false; protected StandardGUIRequest $std_request; protected bool $enable_add_news = true; - protected ?array $news_data = null; + protected NewsCollection $news_collection; protected function __construct( int $a_ref_id, @@ -136,31 +138,31 @@ public function executeCommand(): void switch ($next_class) { case "illikegui": - $i = new ilNewsItem($this->news_id); + $item = $this->manager->getNewsItem($this->news_id); $likef = new ilLikeFactoryGUI(); - $like_gui = $likef->widget([$i->getContextObjId()]); + $like_gui = $likef->widget([$item->getContextObjId()]); $ctrl->saveParameter($this, "news_id"); $like_gui->setObject( - $i->getContextObjId(), - $i->getContextObjType(), - $i->getContextSubObjId(), - $i->getContextSubObjType(), + $item->getContextObjId(), + $item->getContextObjType(), + $item->getContextSubObjId(), + (string) $item->getContextSubObjType(), $this->news_id ); $ret = $ctrl->forwardCommand($like_gui); break; case strtolower(ilCommentGUI::class): - $i = new ilNewsItem($this->news_id); + $item = $this->manager->getNewsItem($this->news_id); $ctrl->saveParameter($this, "news_id"); - $notes_obj_type = ($i->getContextSubObjType() == "") - ? $i->getContextObjType() - : $i->getContextSubObjType(); + $notes_obj_type = ($item->getContextSubObjType() === null) + ? $item->getContextObjType() + : $item->getContextSubObjType(); $comment_gui = $this->notes->gui()->getCommentsGUI( - $i->getContextObjId(), - $i->getContextSubObjId(), + $item->getContextObjId(), + $item->getContextSubObjId(), $notes_obj_type, - $i->getId() + $item->getId() ); $comment_gui->setShowHeader(false); $ret = $ctrl->forwardCommand($comment_gui); @@ -180,7 +182,7 @@ public function show(?ilPropertyFormGUI $form = null): void protected function readNewsData($excluded = []): void { - $this->news_data = $this->manager->getNewsData( + $this->news_collection = $this->manager->getNewsData( $this->ref_id, $this->ctrl->getContextObjId(), $this->ctrl->getContextObjType(), @@ -207,35 +209,34 @@ public function getHTML(?ilPropertyFormGUI $form = null): string $timeline = ilTimelineGUI::getInstance(); // get like widget - $obj_ids = array_unique(array_map(static function (array $a): int { - return (int) $a["context_obj_id"]; - }, $this->news_data)); + $obj_ids = array_unique($this->news_collection->pluck('context_obj_id')); $likef = new ilLikeFactoryGUI(); $like_gui = $likef->widget($obj_ids); $js_items = []; - foreach ($this->news_data as $d) { - $news_item = new ilNewsItem((int) $d["id"]); - $item = ilNewsTimelineItemGUI::getInstance($news_item, (int) $d["ref_id"], $like_gui); + + /** @var NewsItem $news_item */ + foreach ($this->news_collection as $news_item) { + $item = ilNewsTimelineItemGUI::getInstance($news_item, $like_gui); $item->setUserEditAll($this->getUserEditAll()); $timeline->addItem($item); - $js_items[$d["id"]] = [ - "id" => $d["id"], - "user_id" => $d["user_id"], - "title" => $d["title"], - "content" => $d["content"] . $d["content_long"], - "content_long" => "", - "priority" => $d["priority"], - "visibility" => $d["visibility"], - "content_type" => $d["content_type"], - "mob_id" => $d["mob_id"] + $js_items[$news_item->getId()] = [ + "id" => $news_item->getId(), + "user_id" => $news_item->getUserId(), + "title" => $news_item->getTitle(), + "content" => $news_item->getContent() . $news_item->getContentLong(), + "content_long" => '', + "priority" => $news_item->getPriority(), + "visibility" => $news_item->getVisibility(), + "content_type" => $news_item->getContentType(), + "mob_id" => $news_item->getMobId() ]; } $this->tpl->addOnLoadCode("il.News.setItems(" . json_encode($js_items, JSON_THROW_ON_ERROR) . ");"); $this->tpl->addOnLoadCode("il.News.setAjaxUrl('" . $this->ctrl->getLinkTarget($this, "", "", true) . "');"); - if (count($this->news_data) > 0) { + if (!$this->news_collection->isEmpty()) { $ttpl = new ilTemplate("tpl.news_timeline.html", true, true, "components/ILIAS/News"); $ttpl->setVariable("NEWS", $timeline->render()); $this->renderDeleteModal($ttpl); @@ -286,28 +287,27 @@ public function loadMore(): void $timeline = ilTimelineGUI::getInstance(); // get like widget - $obj_ids = array_unique(array_map(static function ($a): int { - return (int) $a["context_obj_id"]; - }, $this->news_data)); + $obj_ids = array_unique($this->news_collection->pluck('context_obj_id')); $likef = new ilLikeFactoryGUI(); $like_gui = $likef->widget($obj_ids); $js_items = []; - foreach ($this->news_data as $d) { - $news_item = new ilNewsItem((int) $d["id"]); - $item = ilNewsTimelineItemGUI::getInstance($news_item, (int) $d["ref_id"], $like_gui); + + /** @var NewsItem $news_item */ + foreach ($this->news_collection as $news_item) { + $item = ilNewsTimelineItemGUI::getInstance($news_item, $like_gui); $item->setUserEditAll($this->getUserEditAll()); $timeline->addItem($item); - $js_items[$d["id"]] = [ - "id" => $d["id"], - "user_id" => $d["user_id"], - "title" => $d["title"], - "content" => $d["content"] . $d["content_long"], - "content_long" => "", - "priority" => $d["priority"], - "visibility" => $d["visibility"], - "content_type" => $d["content_type"], - "mob_id" => $d["mob_id"] + $js_items[$news_item->getId()] = [ + "id" => $news_item->getId(), + "user_id" => $news_item->getUserId(), + "title" => $news_item->getTitle(), + "content" => $news_item->getContent() . $news_item->getContentLong(), + "content_long" => '', + "priority" => $news_item->getPriority(), + "visibility" => $news_item->getVisibility(), + "content_type" => $news_item->getContentType(), + "mob_id" => $news_item->getMobId() ]; } diff --git a/components/ILIAS/News/classes/class.ilNewsTimelineItemGUI.php b/components/ILIAS/News/classes/class.ilNewsTimelineItemGUI.php index 096031b14448..67f6b3e7aaac 100755 --- a/components/ILIAS/News/classes/class.ilNewsTimelineItemGUI.php +++ b/components/ILIAS/News/classes/class.ilNewsTimelineItemGUI.php @@ -16,6 +16,7 @@ * *********************************************************************/ +use ILIAS\News\Data\NewsItem; use ILIAS\News\StandardGUIRequest; /** @@ -27,14 +28,11 @@ class ilNewsTimelineItemGUI implements ilTimelineItemInt protected \ILIAS\News\InternalGUIService $gui; protected \ILIAS\Notes\Service $notes; protected ilLanguage $lng; - protected ilNewsItem $news_item; protected ilObjectDefinition $obj_def; protected ilObjUser $user; protected bool $user_edit_all; - protected int $news_item_ref_id; protected int $ref_id; protected ilCtrl $ctrl; - protected ilLikeGUI $like_gui; protected StandardGUIRequest $std_request; /** * @var array @@ -46,19 +44,15 @@ class ilNewsTimelineItemGUI implements ilTimelineItemInt protected array $item_modal = []; protected function __construct( - ilNewsItem $a_news_item, - int $a_news_ref_id, - ilLikeGUI $a_like_gui + protected readonly NewsItem $news_item, + protected readonly ilLikeGUI $like_gui ) { global $DIC; - $this->like_gui = $a_like_gui; $this->lng = $DIC->language(); $this->ctrl = $DIC->ctrl(); - $this->setNewsItem($a_news_item); $this->user = $DIC->user(); $this->obj_def = $DIC["objDefinition"]; - $this->news_item_ref_id = $a_news_ref_id; $this->std_request = $DIC->news() ->internal() @@ -72,21 +66,10 @@ protected function __construct( } public static function getInstance( - ilNewsItem $a_news_item, - int $a_news_ref_id, - ilLikeGUI $a_like_gui + NewsItem $news_item, + ilLikeGUI $like_gui ): self { - return new self($a_news_item, $a_news_ref_id, $a_like_gui); - } - - public function setNewsItem(ilNewsItem $a_val): void - { - $this->news_item = $a_val; - } - - public function getNewsItem(): ilNewsItem - { - return $this->news_item; + return new self($news_item, $like_gui); } /** @@ -107,31 +90,32 @@ public function getUserEditAll(): bool public function getDateTime(): ilDateTime { - $i = $this->getNewsItem(); - return new ilDateTime($i->getCreationDate(), IL_CAL_DATETIME); + return new ilDateTime($this->news_item->getCreationDate()->format('c'), IL_CAL_DATETIME); } public function render(): string { - $i = $this->getNewsItem(); $tpl = new ilTemplate("tpl.timeline_item.html", true, true, "components/ILIAS/News"); $ui_factory = $this->gui->ui()->factory(); $ui_renderer = $this->gui->ui()->renderer(); - $news_renderer = ilNewsRendererFactory::getRenderer($i->getContextObjType()); + $news_renderer = ilNewsRendererFactory::getRenderer($this->news_item->getContextObjType()); $news_renderer->setLanguage($this->lng->getLangKey()); - $news_renderer->setNewsItem($i, $this->news_item_ref_id); + $news_renderer->setNewsItem($this->news_item->toLegacy(), $this->news_item->getContextRefId()); - $obj_id = $i->getContextObjId(); + $obj_id = $this->news_item->getContextObjId(); // edited? - if ($i->getCreationDate() !== $i->getUpdateDate()) { + if ($this->news_item->getCreationDate() !== $this->news_item->getUpdateDate()) { $tpl->setCurrentBlock("edited"); - $update_date = new ilDateTime($i->getUpdateDate(), IL_CAL_DATETIME); + $update_date = new ilDateTime($this->news_item->getUpdateDate()->format('c'), IL_CAL_DATETIME); $tpl->setVariable("TXT_EDITED", $this->lng->txt("cont_news_edited")); - if ($i->getUpdateUserId() > 0 && ($i->getUpdateUserId() !== $i->getUserId())) { + if ( + $this->news_item->getUpdateUserId() > 0 && + ($this->news_item->getUpdateUserId() !== $this->news_item->getUserId()) + ) { $tpl->setVariable("TXT_USR_EDITED", ilUserUtil::getNamePresentation( - $i->getUpdateUserId(), + $this->news_item->getUpdateUserId(), false, true, $this->ctrl->getLinkTargetByClass(ilNewsTimelineGUI::class) @@ -142,7 +126,7 @@ public function render(): string } // context object link - if ($this->news_item_ref_id > 0 && $this->ref_id !== $this->news_item_ref_id) { + if ($this->news_item->getContextRefId() > 0 && $this->ref_id !== $this->news_item->getContextRefId()) { $tpl->setCurrentBlock("object"); $tpl->setVariable("OBJ_TITLE", ilObject::_lookupTitle($obj_id)); $tpl->setVariable("OBJ_IMG", ilObject::_getIcon($obj_id)); @@ -151,8 +135,8 @@ public function render(): string } // media - if ($i->getMobId() > 0 && ilObject::_exists($i->getMobId())) { - $media = $this->renderMedia($i); + if ($this->news_item->getMobId() > 0 && ilObject::_exists($this->news_item->getMobId())) { + $media = $this->renderMedia($this->news_item); $tpl->setCurrentBlock("player"); $tpl->setVariable("PLAYER", $media); $tpl->parseCurrentBlock(); @@ -160,18 +144,22 @@ public function render(): string $p = $this->gui->profile(); $tpl->setVariable("USER_AVATAR", $this->gui->ui()->renderer()->render( - $p->getAvatar($i->getUserId()) + $p->getAvatar($this->news_item->getUserId()) )); $tpl->setVariable( "TITLE", - ilNewsItem::determineNewsTitle($i->getContextObjType(), $i->getTitle(), $i->getContentIsLangVar()) + ilNewsItem::determineNewsTitle( + $this->news_item->getContextObjType(), + $this->news_item->getTitle(), + $this->news_item->isContentIsLangVar() + ) ); // content $tpl->setVariable("CONTENT", $news_renderer->getTimelineContent()); $tpl->setVariable("TXT_USR", $p->getNamePresentation( - $i->getUserId(), + $this->news_item->getUserId(), true, $this->ctrl->getLinkTargetByClass(ilNewsTimelineGUI::class) )); @@ -181,8 +169,12 @@ public function render(): string // actions $actions = []; - if ($i->getPriority() === 1 && ($i->getUserId() === $this->user->getId() || $this->getUserEditAll())) { + if ( + $this->news_item->getPriority() === 1 && + ($this->news_item->getUserId() === $this->user->getId() || $this->getUserEditAll()) + ) { if (!$news_renderer->preventEditing()) { + $i = $this->news_item; $actions[] = $ui_factory->button()->shy( $this->lng->txt("edit"), "" @@ -206,7 +198,7 @@ public function render(): string return $tpl->get(); } - protected function renderMedia(ilNewsItem $i): string + protected function renderMedia(NewsItem $i): string { $media_path = $this->getMediaPath($i); $mime = ilObjMediaObject::getMimeType($media_path); @@ -247,7 +239,7 @@ protected function renderMedia(ilNewsItem $i): string return $html; } - protected function renderMediaModal(ilNewsItem $i): string + protected function renderMediaModal(NewsItem $i): string { $ui_factory = $this->gui->ui()->factory(); $ui_renderer = $this->gui->ui()->renderer(); @@ -277,28 +269,26 @@ protected function renderMediaModal(ilNewsItem $i): string public function renderFooter(): string { - $i = $this->getNewsItem(); - // like - $this->ctrl->setParameterByClass(ilNewsTimelineGUI::class, "news_id", $i->getId()); + $this->ctrl->setParameterByClass(ilNewsTimelineGUI::class, "news_id", $this->news_item->getId()); $this->like_gui->setObject( - $i->getContextObjId(), - $i->getContextObjType(), - $i->getContextSubObjId(), - (string) $i->getContextSubObjType(), - $i->getId() + $this->news_item->getContextObjId(), + $this->news_item->getContextObjType(), + $this->news_item->getContextSubObjId(), + (string) $this->news_item->getContextSubObjType(), + $this->news_item->getId() ); $html = $this->ctrl->getHTML($this->like_gui); // comments - $notes_obj_type = ($i->getContextSubObjType() == "") - ? $i->getContextObjType() - : $i->getContextSubObjType(); + $notes_obj_type = ($this->news_item->getContextSubObjType() === null) + ? $this->news_item->getContextObjType() + : $this->news_item->getContextSubObjType(); $comments_gui = $this->notes->gui()->getCommentsGUI( - $i->getContextObjId(), - $i->getContextSubObjId(), + $this->news_item->getContextObjId(), + $this->news_item->getContextSubObjId(), $notes_obj_type, - $i->getId() + $this->news_item->getId() ); $comments_gui->setDefaultCommand("getWidget"); $comments_gui->setShowEmptyListMessage(false); @@ -308,10 +298,10 @@ public function renderFooter(): string $this->ctrl->setParameterByClass(ilNewsTimelineGUI::class, "news_id", $this->std_request->getNewsId()); - return $html . $this->renderMediaModal($i); + return $html . $this->renderMediaModal($this->news_item); } - protected function getMediaPath(ilNewsItem $i): string + protected function getMediaPath(NewsItem $i): string { $media_path = ""; if ($i->getMobId() > 0) { diff --git a/components/ILIAS/News/classes/class.ilObjNewsSettingsGUI.php b/components/ILIAS/News/classes/class.ilObjNewsSettingsGUI.php index f3914884f371..0885b34a03c9 100755 --- a/components/ILIAS/News/classes/class.ilObjNewsSettingsGUI.php +++ b/components/ILIAS/News/classes/class.ilObjNewsSettingsGUI.php @@ -16,6 +16,8 @@ * *********************************************************************/ +use ILIAS\News\Persistence\NewsCache; + /** * News Settings. * @@ -24,10 +26,13 @@ */ class ilObjNewsSettingsGUI extends ilObjectGUI { - protected ilNewsCache $acache; + protected readonly NewsCache $cache; public function __construct($a_data, $a_id, $a_call_by_reference = true, $a_prepare_output = true) { + global $DIC; + $this->cache = $DIC->news()->internal()->repo()->cache(); + $this->type = 'nwss'; parent::__construct($a_data, $a_id, $a_call_by_reference, $a_prepare_output); @@ -272,8 +277,7 @@ public function saveSettings(): void } // empty news cache - $this->acache = new ilNewsCache(); - $this->acache->deleteAllEntries(); + $this->cache->flush(); $news_set = new ilSetting("news"); $feed_set = new ilSetting("feed"); diff --git a/components/ILIAS/News/classes/class.ilPDNewsBlockGUI.php b/components/ILIAS/News/classes/class.ilPDNewsBlockGUI.php index 6e7623bf49a2..baaf12076660 100755 --- a/components/ILIAS/News/classes/class.ilPDNewsBlockGUI.php +++ b/components/ILIAS/News/classes/class.ilPDNewsBlockGUI.php @@ -16,7 +16,7 @@ * *********************************************************************/ -use ILIAS\News\StandardGUIRequest; +use ILIAS\News\Data\NewsCriteria; use ILIAS\Authentication\Password\LocalUserPasswordManager; /** @@ -28,82 +28,31 @@ class ilPDNewsBlockGUI extends ilNewsForContextBlockGUI { public static string $block_type = "pdnews"; - protected bool $cache_hit = false; - protected ilNewsCache $acache; - protected bool $dynamic = false; - protected bool $acc_results = false; - protected StandardGUIRequest $std_request; public function __construct() { - global $DIC; - + $this->prevent_initial_loading = true; // prevents loading in the parent constructor! parent::__construct(); - $lng = $DIC->language(); - $ilAccess = $DIC->access(); - $this->obj_definition = $DIC["objDefinition"]; - - // NOT ilNewsForContextBlockGUI::__construct() ! - ilBlockGUI::__construct(); - - $lng->loadLanguageModule("news"); - $this->setLimit(5); - $this->dynamic = false; - - $this->std_request = $DIC->news() - ->internal() - ->gui() - ->standardRequest(); - - $this->acache = new ilNewsCache(); - $cres = unserialize((string) $this->acache->getEntry($this->user->getId() . ":0"), ["allowed_classes" => false]); - $this->cache_hit = false; - if (is_array($cres) && $this->acache->getLastAccessStatus() === "hit") { - self::$st_data = ilNewsItem::prepareNewsDataFromCache($cres); - $this->cache_hit = true; - } - - - if (empty(self::$st_data)) { - self::$st_data = $this->getNewsData(); - } - $data = self::$st_data; - - $this->setTitle($lng->txt("news_internal_news")); + $this->setLimit(5); + $this->setTitle($this->lng->txt("news_internal_news")); $this->setRowTemplate("tpl.block_row_news_for_context.html", "components/ILIAS/News"); - $this->setData($data); - + $this->loadNewsData(); $this->handleView(); - - // reset access check results - $ilAccess->setResults((array) $this->acc_results); - $this->setPresentation(self::PRES_SEC_LIST); } - public function getNewsData(): array + private function loadNewsData(): void { - $ilUser = $this->user; - - $this->acache = new ilNewsCache(); - - $per = ilNewsItem::_lookupUserPDPeriod($ilUser->getId()); - $data = ilNewsItem::_getNewsItemsOfUser( - $ilUser->getId(), - false, - false, - $per - ); - - $this->acache->storeEntry( - $ilUser->getId() . ":0", - serialize($data) + $news_period = ilNewsItem::_lookupUserPDPeriod($this->user->getId()); + $collection = $this->domain->collection()->getNewsForUser( + $this->user, + new NewsCriteria(period: $news_period, only_public: false), + true ); - - return $data; + $this->initData($collection->groupFiles()->groupForums(false)); } public function getBlockType(): string @@ -131,15 +80,8 @@ public static function getScreenMode(): string public function executeCommand() { - $ilCtrl = $this->ctrl; - - $next_class = $ilCtrl->getNextClass(); - $cmd = $ilCtrl->getCmd("getHTML"); - - switch ($next_class) { - default: - return $this->$cmd(); - } + $cmd = $this->ctrl->getCmd(); + return $this->$cmd(); } public function getHTML(): string @@ -355,8 +297,7 @@ public function saveSettings(): string 0 ); - $cache = new ilNewsCache(); - $cache->deleteEntry($ilUser->getId() . ":0"); + $this->domain->collection()->invalidateCache($this->user->getId()); $ilCtrl->returnToParent($this); return ""; From f5611fcee4215c232d99d86f0419db1db5e0845f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thomas=20Jou=C3=9Fen?= Date: Mon, 15 Dec 2025 13:20:09 +0100 Subject: [PATCH 189/865] NW: Fix cherry-pick from release_9 --- .../ILIAS}/News/classes/Setup/class.ilNewsDBUpdateSteps.php | 0 .../ILIAS}/News/classes/Setup/class.ilNewsSetupAgent.php | 0 .../ILIAS}/News/src/Aggregation/CategoryAggregationStrategy.php | 0 .../ILIAS}/News/src/Aggregation/NewsAggregationStrategy.php | 0 .../ILIAS}/News/src/Aggregation/NewsAggregator.php | 0 .../ILIAS}/News/src/Aggregation/SubtreeAggregationStrategy.php | 0 {Services => components/ILIAS}/News/src/Data/Factory.php | 0 .../ILIAS}/News/src/Data/LazyNewsCollection.php | 0 {Services => components/ILIAS}/News/src/Data/NewsCollection.php | 0 {Services => components/ILIAS}/News/src/Data/NewsContext.php | 0 {Services => components/ILIAS}/News/src/Data/NewsCriteria.php | 0 {Services => components/ILIAS}/News/src/Data/NewsItem.php | 0 .../ILIAS}/News/src/Domain/NewsCollectionService.php | 0 .../ILIAS}/News/src/Domain/UserContextResolver.php | 0 {Services => components/ILIAS}/News/src/Persistence/NewsCache.php | 0 .../ILIAS}/News/src/Persistence/NewsRepository.php | 0 16 files changed, 0 insertions(+), 0 deletions(-) rename {Services => components/ILIAS}/News/classes/Setup/class.ilNewsDBUpdateSteps.php (100%) rename {Services => components/ILIAS}/News/classes/Setup/class.ilNewsSetupAgent.php (100%) rename {Services => components/ILIAS}/News/src/Aggregation/CategoryAggregationStrategy.php (100%) rename {Services => components/ILIAS}/News/src/Aggregation/NewsAggregationStrategy.php (100%) rename {Services => components/ILIAS}/News/src/Aggregation/NewsAggregator.php (100%) rename {Services => components/ILIAS}/News/src/Aggregation/SubtreeAggregationStrategy.php (100%) rename {Services => components/ILIAS}/News/src/Data/Factory.php (100%) rename {Services => components/ILIAS}/News/src/Data/LazyNewsCollection.php (100%) rename {Services => components/ILIAS}/News/src/Data/NewsCollection.php (100%) rename {Services => components/ILIAS}/News/src/Data/NewsContext.php (100%) rename {Services => components/ILIAS}/News/src/Data/NewsCriteria.php (100%) rename {Services => components/ILIAS}/News/src/Data/NewsItem.php (100%) rename {Services => components/ILIAS}/News/src/Domain/NewsCollectionService.php (100%) rename {Services => components/ILIAS}/News/src/Domain/UserContextResolver.php (100%) rename {Services => components/ILIAS}/News/src/Persistence/NewsCache.php (100%) rename {Services => components/ILIAS}/News/src/Persistence/NewsRepository.php (100%) diff --git a/Services/News/classes/Setup/class.ilNewsDBUpdateSteps.php b/components/ILIAS/News/classes/Setup/class.ilNewsDBUpdateSteps.php similarity index 100% rename from Services/News/classes/Setup/class.ilNewsDBUpdateSteps.php rename to components/ILIAS/News/classes/Setup/class.ilNewsDBUpdateSteps.php diff --git a/Services/News/classes/Setup/class.ilNewsSetupAgent.php b/components/ILIAS/News/classes/Setup/class.ilNewsSetupAgent.php similarity index 100% rename from Services/News/classes/Setup/class.ilNewsSetupAgent.php rename to components/ILIAS/News/classes/Setup/class.ilNewsSetupAgent.php diff --git a/Services/News/src/Aggregation/CategoryAggregationStrategy.php b/components/ILIAS/News/src/Aggregation/CategoryAggregationStrategy.php similarity index 100% rename from Services/News/src/Aggregation/CategoryAggregationStrategy.php rename to components/ILIAS/News/src/Aggregation/CategoryAggregationStrategy.php diff --git a/Services/News/src/Aggregation/NewsAggregationStrategy.php b/components/ILIAS/News/src/Aggregation/NewsAggregationStrategy.php similarity index 100% rename from Services/News/src/Aggregation/NewsAggregationStrategy.php rename to components/ILIAS/News/src/Aggregation/NewsAggregationStrategy.php diff --git a/Services/News/src/Aggregation/NewsAggregator.php b/components/ILIAS/News/src/Aggregation/NewsAggregator.php similarity index 100% rename from Services/News/src/Aggregation/NewsAggregator.php rename to components/ILIAS/News/src/Aggregation/NewsAggregator.php diff --git a/Services/News/src/Aggregation/SubtreeAggregationStrategy.php b/components/ILIAS/News/src/Aggregation/SubtreeAggregationStrategy.php similarity index 100% rename from Services/News/src/Aggregation/SubtreeAggregationStrategy.php rename to components/ILIAS/News/src/Aggregation/SubtreeAggregationStrategy.php diff --git a/Services/News/src/Data/Factory.php b/components/ILIAS/News/src/Data/Factory.php similarity index 100% rename from Services/News/src/Data/Factory.php rename to components/ILIAS/News/src/Data/Factory.php diff --git a/Services/News/src/Data/LazyNewsCollection.php b/components/ILIAS/News/src/Data/LazyNewsCollection.php similarity index 100% rename from Services/News/src/Data/LazyNewsCollection.php rename to components/ILIAS/News/src/Data/LazyNewsCollection.php diff --git a/Services/News/src/Data/NewsCollection.php b/components/ILIAS/News/src/Data/NewsCollection.php similarity index 100% rename from Services/News/src/Data/NewsCollection.php rename to components/ILIAS/News/src/Data/NewsCollection.php diff --git a/Services/News/src/Data/NewsContext.php b/components/ILIAS/News/src/Data/NewsContext.php similarity index 100% rename from Services/News/src/Data/NewsContext.php rename to components/ILIAS/News/src/Data/NewsContext.php diff --git a/Services/News/src/Data/NewsCriteria.php b/components/ILIAS/News/src/Data/NewsCriteria.php similarity index 100% rename from Services/News/src/Data/NewsCriteria.php rename to components/ILIAS/News/src/Data/NewsCriteria.php diff --git a/Services/News/src/Data/NewsItem.php b/components/ILIAS/News/src/Data/NewsItem.php similarity index 100% rename from Services/News/src/Data/NewsItem.php rename to components/ILIAS/News/src/Data/NewsItem.php diff --git a/Services/News/src/Domain/NewsCollectionService.php b/components/ILIAS/News/src/Domain/NewsCollectionService.php similarity index 100% rename from Services/News/src/Domain/NewsCollectionService.php rename to components/ILIAS/News/src/Domain/NewsCollectionService.php diff --git a/Services/News/src/Domain/UserContextResolver.php b/components/ILIAS/News/src/Domain/UserContextResolver.php similarity index 100% rename from Services/News/src/Domain/UserContextResolver.php rename to components/ILIAS/News/src/Domain/UserContextResolver.php diff --git a/Services/News/src/Persistence/NewsCache.php b/components/ILIAS/News/src/Persistence/NewsCache.php similarity index 100% rename from Services/News/src/Persistence/NewsCache.php rename to components/ILIAS/News/src/Persistence/NewsCache.php diff --git a/Services/News/src/Persistence/NewsRepository.php b/components/ILIAS/News/src/Persistence/NewsRepository.php similarity index 100% rename from Services/News/src/Persistence/NewsRepository.php rename to components/ILIAS/News/src/Persistence/NewsRepository.php From dc9fb80c459fc37261a9070fb5a0fb7631cf2e0c Mon Sep 17 00:00:00 2001 From: Lukas Eichenauer Date: Wed, 10 Dec 2025 09:04:23 +0100 Subject: [PATCH 190/865] fix: reset settings id while cloning test to force storing new settings in db --- components/ILIAS/Test/classes/class.ilObjTest.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/components/ILIAS/Test/classes/class.ilObjTest.php b/components/ILIAS/Test/classes/class.ilObjTest.php index 54c71d3c48c7..4c566f37dc2f 100755 --- a/components/ILIAS/Test/classes/class.ilObjTest.php +++ b/components/ILIAS/Test/classes/class.ilObjTest.php @@ -3945,7 +3945,7 @@ public function cloneObject(int $target_id, int $copy_id = 0, bool $omit_tree = $this->getMainSettings()->getFinishingSettings()->withConcludingRemarksPageId( $this->cloneConcludingRemarks() ) - ); + )->withId(0); $new_main_settings = $this->getMainSettingsRepository()->store($new_main_settings, $new_obj->getTestId()); $this->getScoreSettingsRepository()->store( From fc9fd1e949e3c350fdf3c3b0bd35dd6644c3e025 Mon Sep 17 00:00:00 2001 From: fneumann Date: Mon, 15 Dec 2025 13:33:26 +0100 Subject: [PATCH 191/865] Fix 46419: Failed test: Call permalink https://mantis.ilias.de/view.php?id=46419 --- .../classes/class.ilContentStyleSettingsGUI.php | 2 +- .../System/classes/class.ilSystemStyleMainGUI.php | 13 ++++++++----- .../Style/classes/class.ilObjStyleSettingsGUI.php | 5 +++++ 3 files changed, 14 insertions(+), 6 deletions(-) diff --git a/components/ILIAS/Style/Content/classes/class.ilContentStyleSettingsGUI.php b/components/ILIAS/Style/Content/classes/class.ilContentStyleSettingsGUI.php index 59ea171eaea5..45da1b8293ce 100755 --- a/components/ILIAS/Style/Content/classes/class.ilContentStyleSettingsGUI.php +++ b/components/ILIAS/Style/Content/classes/class.ilContentStyleSettingsGUI.php @@ -143,7 +143,7 @@ public function createStyle(): void */ public function edit(): void { - $this->checkPermission("visible,read"); + $this->checkPermission("read,sty_write_content"); // @todo: check these, they are checked later, but never (ILIAS 6) set $fixed_style = 0; diff --git a/components/ILIAS/Style/System/classes/class.ilSystemStyleMainGUI.php b/components/ILIAS/Style/System/classes/class.ilSystemStyleMainGUI.php index 72247211f41e..74f56c4bb4e4 100755 --- a/components/ILIAS/Style/System/classes/class.ilSystemStyleMainGUI.php +++ b/components/ILIAS/Style/System/classes/class.ilSystemStyleMainGUI.php @@ -144,7 +144,6 @@ public function executeCommand(): void $this->setTabs($skin_id, $style_id); $this->tabs->activateSubTab('documentation'); $this->help->setSubScreenId('documentation'); - $read_only = !$this->checkPermission('sty_management', false); $node_id = ''; if ($this->request_wrapper->query()->has('node_id')) { $node_id = $this->request_wrapper->query()->retrieve( @@ -188,7 +187,7 @@ protected function executeDefaultCommand(ilSkinFactory $skin_factory, string $sk $this->help->setSubScreenId('overview'); $this->setTabs($skin_id, $style_id); $this->tabs->activateSubTab('overview'); - $this->checkPermission('visible,read'); + $this->checkPermission('read'); $read_only = !$this->checkPermission('sty_write_system', false); $management_enabled = true;//$this->checkPermission('sty_management', false); $system_styles_overview = new ilSystemStyleOverviewGUI( @@ -231,15 +230,19 @@ public function checkPermission(string $a_perm, bool $a_throw_exc = true): bool return true; } - protected function setTabs(string $skin_id, string $style_id, string $active = '') { + protected function setTabs(string $skin_id, string $style_id, string $active = '') + { $this->ctrl->setParameterByClass(ilSystemStyleDocumentationGUI::class, 'skin_id', $skin_id); $this->ctrl->setParameterByClass(ilSystemStyleDocumentationGUI::class, 'style_id', $style_id); $this->tabs->addSubTab( 'overview', $this->lng->txt('overview'), - $this->ctrl->getLinkTargetByClass(self::class), 'documentation'); - $this->tabs->addSubTab('documentation', + $this->ctrl->getLinkTargetByClass(self::class), + 'documentation' + ); + $this->tabs->addSubTab( + 'documentation', $this->lng->txt('documentation'), $this->ctrl->getLinkTargetByClass(ilSystemStyleDocumentationGUI::class, 'entries') ); diff --git a/components/ILIAS/Style/classes/class.ilObjStyleSettingsGUI.php b/components/ILIAS/Style/classes/class.ilObjStyleSettingsGUI.php index 76a3a478220b..6b0be8d23eb2 100755 --- a/components/ILIAS/Style/classes/class.ilObjStyleSettingsGUI.php +++ b/components/ILIAS/Style/classes/class.ilObjStyleSettingsGUI.php @@ -126,13 +126,18 @@ public function getTabs(): void $this->lng->txt("system_styles"), $this->ctrl->getLinkTargetByClass("ilsystemstylemaingui") ); + } + if ($this->rbac_system->checkAccess('read,sty_write_content', $this->object->getRefId())) { $this->tabs_gui->addTab( "content_styles", $this->lng->txt("content_styles"), $this->ctrl->getLinkTargetByClass("ilcontentstylesettingsgui", "edit") ); + } + + if ($this->rbac_system->checkAccess('read,sty_write_page_layout', $this->object->getRefId())) { $this->tabs_gui->addTab( "page_layouts", $this->lng->txt("page_layouts"), From f800faa417ce6b02ff60b6f5e2dbf9fb93257ee5 Mon Sep 17 00:00:00 2001 From: Aaron Bidzan Date: Mon, 1 Dec 2025 17:40:06 +0100 Subject: [PATCH 192/865] Implements sync back to qpl for IPE Feedback questions --- .../ILIAS/Test/classes/class.ilObjTestGUI.php | 1 + .../class.ilAssQuestionFeedbackEditingGUI.php | 4 -- .../feedback/class.ilAssClozeTestFeedback.php | 6 +- ...class.ilAssMultiOptionQuestionFeedback.php | 27 ++++---- .../feedback/class.ilAssQuestionFeedback.php | 66 ++++++++++++++----- 5 files changed, 64 insertions(+), 40 deletions(-) diff --git a/components/ILIAS/Test/classes/class.ilObjTestGUI.php b/components/ILIAS/Test/classes/class.ilObjTestGUI.php index f17e9efb51a7..a31cabaa7bf9 100755 --- a/components/ILIAS/Test/classes/class.ilObjTestGUI.php +++ b/components/ILIAS/Test/classes/class.ilObjTestGUI.php @@ -885,6 +885,7 @@ public function executeCommand(): void $question->setObjId($this->getTestObject()->getId()); $question_gui->setObject($question); $question_gui->setQuestionTabs(); + $question_gui->setContextAllowsSyncToPool(true); $this->addQuestionTitleToObjectTitle($question->getTitleForHTMLOutput()); diff --git a/components/ILIAS/TestQuestionPool/classes/class.ilAssQuestionFeedbackEditingGUI.php b/components/ILIAS/TestQuestionPool/classes/class.ilAssQuestionFeedbackEditingGUI.php index 0f11796add46..77ed7bf43230 100755 --- a/components/ILIAS/TestQuestionPool/classes/class.ilAssQuestionFeedbackEditingGUI.php +++ b/components/ILIAS/TestQuestionPool/classes/class.ilAssQuestionFeedbackEditingGUI.php @@ -166,10 +166,6 @@ private function isSyncAfterSaveRequired(): bool return false; } - if ($this->question_obj->isAdditionalContentEditingModePageObject()) { - return false; - } - if (!$this->question_gui->needsSyncQuery()) { return false; } diff --git a/components/ILIAS/TestQuestionPool/classes/feedback/class.ilAssClozeTestFeedback.php b/components/ILIAS/TestQuestionPool/classes/feedback/class.ilAssClozeTestFeedback.php index 55b64245b31f..904101ec42f9 100755 --- a/components/ILIAS/TestQuestionPool/classes/feedback/class.ilAssClozeTestFeedback.php +++ b/components/ILIAS/TestQuestionPool/classes/feedback/class.ilAssClozeTestFeedback.php @@ -651,10 +651,10 @@ private function cloneSpecificFeedbackSetting( ); } - protected function cloneSpecificFeedback(int $originalQuestionId, int $duplicateQuestionId): void + protected function cloneSpecificFeedback(int $original_question_id, int $duplicate_question_id): void { - $this->cloneSpecificFeedbackSetting($originalQuestionId, $duplicateQuestionId); - parent::cloneSpecificFeedback($originalQuestionId, $duplicateQuestionId); + $this->cloneSpecificFeedbackSetting($original_question_id, $duplicate_question_id); + parent::cloneSpecificFeedback($original_question_id, $duplicate_question_id); } /** diff --git a/components/ILIAS/TestQuestionPool/classes/feedback/class.ilAssMultiOptionQuestionFeedback.php b/components/ILIAS/TestQuestionPool/classes/feedback/class.ilAssMultiOptionQuestionFeedback.php index caf120520d6c..27dd46e480ca 100755 --- a/components/ILIAS/TestQuestionPool/classes/feedback/class.ilAssMultiOptionQuestionFeedback.php +++ b/components/ILIAS/TestQuestionPool/classes/feedback/class.ilAssMultiOptionQuestionFeedback.php @@ -239,31 +239,28 @@ public function deleteSpecificAnswerFeedbacks(int $question_id, bool $is_additio protected function cloneSpecificFeedback(int $source_question_id, int $target_question_id): void { - // delete specific feedback of the original - $this->db->manipulateF( - "DELETE FROM {$this->getSpecificFeedbackTableName()} WHERE question_fi = %s", - ['integer'], - [$source_question_id] + $this->deleteFeedbackOfOriginalQuestion( + $this->getSpecificFeedbackTableName(), + $target_question_id, + $this->getSpecificAnswerFeedbackPageObjectType() ); - // get specific feedback of the actual question $res = $this->db->queryF( "SELECT * FROM {$this->getSpecificFeedbackTableName()} WHERE question_fi = %s", - ['integer'], - [$target_question_id] + [ilDBConstants::T_INTEGER], + [$source_question_id] ); - // save specific feedback to the original while ($row = $this->db->fetchAssoc($res)) { $next_id = $this->db->nextId($this->getSpecificFeedbackTableName()); $this->db->insert($this->getSpecificFeedbackTableName(), [ - 'feedback_id' => ['integer', $next_id], - 'question_fi' => ['integer', $source_question_id], - 'question' => ['integer', $row['question']], - 'answer' => ['integer', $row['answer']], - 'feedback' => ['text', $row['feedback']], - 'tstamp' => ['integer', time()] + 'feedback_id' => [ilDBConstants::T_INTEGER, $next_id], + 'question_fi' => [ilDBConstants::T_INTEGER, $target_question_id], + 'question' => [ilDBConstants::T_INTEGER, $row['question']], + 'answer' => [ilDBConstants::T_INTEGER, $row['answer']], + 'feedback' => [ilDBConstants::T_TEXT, $row['feedback']], + 'tstamp' => [ilDBConstants::T_INTEGER, time()] ]); if ($this->questionOBJ->isAdditionalContentEditingModePageObject()) { diff --git a/components/ILIAS/TestQuestionPool/classes/feedback/class.ilAssQuestionFeedback.php b/components/ILIAS/TestQuestionPool/classes/feedback/class.ilAssQuestionFeedback.php index a478b101d99e..dbb491956c0d 100755 --- a/components/ILIAS/TestQuestionPool/classes/feedback/class.ilAssQuestionFeedback.php +++ b/components/ILIAS/TestQuestionPool/classes/feedback/class.ilAssQuestionFeedback.php @@ -433,50 +433,80 @@ private function duplicateGenericFeedback(int $originalQuestionId, int $duplicat * duplicates the SPECIFIC feedback relating to the given original question id * and saves it for the given duplicate question id */ - abstract protected function cloneSpecificFeedback(int $originalQuestionId, int $duplicateQuestionId): void; + abstract protected function cloneSpecificFeedback(int $source_question_id, int $target_question_id): void; /** * syncs the feedback from a duplicated question back to the original question */ - final public function cloneFeedback(int $originalQuestionId, int $duplicateQuestionId): void + final public function cloneFeedback(int $original_question_id, int $duplicate_question_id): void { - $this->cloneGenericFeedback($originalQuestionId, $duplicateQuestionId); - $this->cloneSpecificFeedback($originalQuestionId, $duplicateQuestionId); + $this->cloneGenericFeedback($original_question_id, $duplicate_question_id); + $this->cloneSpecificFeedback($duplicate_question_id, $original_question_id); } /** * syncs the GENERIC feedback from a duplicated question back to the original question */ - private function cloneGenericFeedback(int $originalQuestionId, int $duplicateQuestionId): void + private function cloneGenericFeedback(int $original_question_id, int $duplicate_question_id): void { - // delete generic feedback of the original question - $this->db->manipulateF( - "DELETE FROM {$this->getGenericFeedbackTableName()} WHERE question_fi = %s", - ['integer'], - [$originalQuestionId] + $this->deleteFeedbackOfOriginalQuestion( + $this->getGenericFeedbackTableName(), + $original_question_id, + $this->getGenericFeedbackPageObjectType() ); // get generic feedback of the actual (duplicated) question $result = $this->db->queryF( "SELECT * FROM {$this->getGenericFeedbackTableName()} WHERE question_fi = %s", - ['integer'], - [$duplicateQuestionId] + [ilDBConstants::T_INTEGER], + [$duplicate_question_id] ); // save generic feedback to the original question while ($row = $this->db->fetchAssoc($result)) { - $nextId = $this->db->nextId($this->getGenericFeedbackTableName()); + $next_id = $this->db->nextId($this->getGenericFeedbackTableName()); $this->db->insert($this->getGenericFeedbackTableName(), [ - 'feedback_id' => ['integer', $nextId], - 'question_fi' => ['integer', $originalQuestionId], - 'correctness' => ['text', $row['correctness']], - 'feedback' => ['clob', $row['feedback']], - 'tstamp' => ['integer', time()] + 'feedback_id' => [ilDBConstants::T_INTEGER, $next_id], + 'question_fi' => [ilDBConstants::T_INTEGER, $original_question_id], + 'correctness' => [ilDBConstants::T_TEXT, $row['correctness']], + 'feedback' => [ilDBConstants::T_CLOB, $row['feedback']], + 'tstamp' => [ilDBConstants::T_INTEGER, time()] ]); + + if ($this->questionOBJ->isAdditionalContentEditingModePageObject()) { + $page_object_type = $this->getGenericFeedbackPageObjectType(); + $this->clonePageObject($page_object_type, $row['feedback_id'], $next_id, $original_question_id); + } } } + protected function deleteFeedbackOfOriginalQuestion( + string $table_name, + int $original_question_id, + string $page_object_type + ): void { + if ($this->questionOBJ->isAdditionalContentEditingModePageObject()) { + $original_result = $this->db->queryF( + "SELECT feedback_id FROM {$table_name} WHERE question_fi = %s", + [ilDBConstants::T_INTEGER], + [$original_question_id] + ); + while ($original_row = $this->db->fetchAssoc($original_result)) { + $this->ensurePageObjectDeleted( + $page_object_type, + (int) $original_row['feedback_id'] + ); + } + } + + $this->db->manipulateF( + "DELETE FROM {$table_name} WHERE question_fi = %s", + [ilDBConstants::T_INTEGER], + [$original_question_id] + ); + } + /** * returns the SPECIFIC answer feedback ID for a given question id and answer index. */ From 52121572257627f524d7846d867b4b197aaf9db1 Mon Sep 17 00:00:00 2001 From: Aaron Bidzan Date: Tue, 2 Dec 2025 14:07:08 +0100 Subject: [PATCH 193/865] Loads exc language module in booking pool --- .../Participants/class.ilBookingParticipantGUI.php | 1 + 1 file changed, 1 insertion(+) diff --git a/components/ILIAS/BookingManager/Participants/class.ilBookingParticipantGUI.php b/components/ILIAS/BookingManager/Participants/class.ilBookingParticipantGUI.php index bee9c100493c..1be1e9ec11cf 100755 --- a/components/ILIAS/BookingManager/Participants/class.ilBookingParticipantGUI.php +++ b/components/ILIAS/BookingManager/Participants/class.ilBookingParticipantGUI.php @@ -58,6 +58,7 @@ public function __construct( $this->pool_id = $a_parent_obj->getObject()->getId(); $this->lng->loadLanguageModule("book"); + $this->lng->loadLanguageModule("exc"); } public function executeCommand(): void From 10c95b64dc7716a6696544318cc6e44379aa6775 Mon Sep 17 00:00:00 2001 From: Matheus Zych Date: Tue, 9 Dec 2025 13:56:05 +0100 Subject: [PATCH 194/865] Fixes issue with item groups in page editor due to missing keys --- components/ILIAS/COPage/PC/Resources/class.ilPCResourcesGUI.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/components/ILIAS/COPage/PC/Resources/class.ilPCResourcesGUI.php b/components/ILIAS/COPage/PC/Resources/class.ilPCResourcesGUI.php index 51137b76c900..1ba5592d40b1 100755 --- a/components/ILIAS/COPage/PC/Resources/class.ilPCResourcesGUI.php +++ b/components/ILIAS/COPage/PC/Resources/class.ilPCResourcesGUI.php @@ -169,7 +169,7 @@ public function initForm(bool $a_insert = false): ilPropertyFormGUI if ($this->supportsItemGroups() && count($item_groups) > 0) { // item groups $options = $item_groups; - sort($options); + asort($options); $si = new ilSelectInputGUI($this->lng->txt("obj_itgr"), "itgr"); $si->setOptions($options); $selected = ($a_insert) From b23ced5e23b0a06f7d4ec131c82b39524016ae5a Mon Sep 17 00:00:00 2001 From: mjansen Date: Mon, 15 Dec 2025 15:02:08 +0100 Subject: [PATCH 195/865] Mail: Change HTML detection --- .../ILIAS/Mail/classes/class.ilMimeMail.php | 40 ++++++++++++++----- 1 file changed, 29 insertions(+), 11 deletions(-) diff --git a/components/ILIAS/Mail/classes/class.ilMimeMail.php b/components/ILIAS/Mail/classes/class.ilMimeMail.php index 8e37b768841d..fc392c1905e6 100755 --- a/components/ILIAS/Mail/classes/class.ilMimeMail.php +++ b/components/ILIAS/Mail/classes/class.ilMimeMail.php @@ -241,11 +241,11 @@ protected function build(): void $this->buildBodyMultiParts($skin, $style); $this->buildHtmlInlineImages($skin, $style); } else { - $this->final_body = $this->removeHTMLTags($this->body); + $this->final_body = $this->removeHtmlTags($this->body); } } - private function removeHTMLTags(string $maybe_html): string + private function removeHtmlTags(string $maybe_html): string { $maybe_html = str_ireplace(['
', '
', '
'], "\n", $maybe_html); @@ -258,18 +258,36 @@ protected function buildBodyMultiParts(string $skin, string $style): void $this->body = ' '; } - if (strip_tags($this->body, '') === $this->body) { - // Let's assume(!) that there is no HTML - // (except certain tags, e.g. used for object title formatting, where the consumer is not aware of this), - // so convert "\n" to "
" - $this->final_body_alt = strip_tags($this->body); - $this->body = $this->refinery->string()->makeClickable()->transform(nl2br($this->body)); + $contains_html = $this->containsHtmlBlockElementsOrLineBreaks($this->body); + if ($contains_html) { + $this->final_body_alt = strip_tags(str_ireplace(['
', '
', '
'], "\n", $this->body)); } else { - // if there is HTML, convert "
" to "\n" and strip tags for plain text alternative - $this->final_body_alt = strip_tags(str_ireplace(["
", "
", "
"], "\n", $this->body)); + $this->final_body_alt = strip_tags($this->body); + $this->body = nl2br($this->body); + } + + $body_with_clickable_urls = $this->refinery->string()->makeClickable()->transform($this->body); + + $this->final_body = str_replace( + '{PLACEHOLDER}', + $body_with_clickable_urls, + $this->getHtmlEnvelope($skin, $style) + ); + } + + private function containsHtmlBlockElementsOrLineBreaks(string $email_body): bool + { + if (str_contains($email_body, '<') === false || str_contains($email_body, '>') === false) { + return false; + } + + // Detect common HTML tags produced by Markdown rendering. + $pattern = '~final_body = str_replace('{PLACEHOLDER}', $this->body, $this->getHtmlEnvelope($skin, $style)); + return strip_tags($email_body, '
') !== $email_body; } private function getPathToRootDirectory(): string From 6c30f1c3b41f261e8629df763aae60dd165c14b1 Mon Sep 17 00:00:00 2001 From: mjansen Date: Mon, 15 Dec 2025 12:45:37 +0100 Subject: [PATCH 196/865] Mail: Prevent unintended `Markdown` heading conversion MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This commit suggests replacing the "Block Border" character sequence (`----------------------------------------`) in `ilMailNotification` with Unicode box-drawing (`════════════════════════════════════════`) to avoid Setext-style heading parsing in Markdown-enabled mails. --- components/ILIAS/Mail/classes/class.ilMailNotification.php | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/components/ILIAS/Mail/classes/class.ilMailNotification.php b/components/ILIAS/Mail/classes/class.ilMailNotification.php index 89aa9d8564ba..42ec8d299359 100755 --- a/components/ILIAS/Mail/classes/class.ilMailNotification.php +++ b/components/ILIAS/Mail/classes/class.ilMailNotification.php @@ -311,6 +311,7 @@ protected function isRefIdAccessible(int $a_user_id, int $a_ref_id, string $a_pe public function getBlockBorder(): string { - return "----------------------------------------\n"; + // Hyphen-only lines were interpreted as Setext-style headings by the Markdown mail renderer, resulting in unintended

output. + return "════════════════════════════════════════\n"; } } From d43451ca7084b4a2a858840a3c9055585b9fb738 Mon Sep 17 00:00:00 2001 From: Matheus Zych Date: Mon, 15 Dec 2025 15:53:25 +0100 Subject: [PATCH 197/865] Fixes sizing issue with checkboxes and radio elements in print view of single and multiple choice questions --- .../default/tpl.il_as_qpl_mc_mr_output_solution.html | 4 ++-- .../default/tpl.il_as_qpl_mc_sr_output_solution.html | 4 ++-- .../legacy/Modules/_component_test_legacy.scss | 8 +++++++- templates/default/delos.css | 5 +++++ 4 files changed, 16 insertions(+), 5 deletions(-) diff --git a/components/ILIAS/TestQuestionPool/templates/default/tpl.il_as_qpl_mc_mr_output_solution.html b/components/ILIAS/TestQuestionPool/templates/default/tpl.il_as_qpl_mc_mr_output_solution.html index 026b30ff8794..93f8c4240e3e 100755 --- a/components/ILIAS/TestQuestionPool/templates/default/tpl.il_as_qpl_mc_mr_output_solution.html +++ b/components/ILIAS/TestQuestionPool/templates/default/tpl.il_as_qpl_mc_mr_output_solution.html @@ -5,7 +5,7 @@
- {SOLUTION_ALT} + {SOLUTION_ALT} @@ -35,4 +35,4 @@
-
\ No newline at end of file +

diff --git a/components/ILIAS/TestQuestionPool/templates/default/tpl.il_as_qpl_mc_sr_output_solution.html b/components/ILIAS/TestQuestionPool/templates/default/tpl.il_as_qpl_mc_sr_output_solution.html index 6480d19741d7..24d3e5af75d9 100755 --- a/components/ILIAS/TestQuestionPool/templates/default/tpl.il_as_qpl_mc_sr_output_solution.html +++ b/components/ILIAS/TestQuestionPool/templates/default/tpl.il_as_qpl_mc_sr_output_solution.html @@ -5,7 +5,7 @@
- {SOLUTION_ALT} + {SOLUTION_ALT} @@ -31,4 +31,4 @@
-
\ No newline at end of file + diff --git a/templates/default/070-components/legacy/Modules/_component_test_legacy.scss b/templates/default/070-components/legacy/Modules/_component_test_legacy.scss index 4cae37feb12d..fc89928f1838 100755 --- a/templates/default/070-components/legacy/Modules/_component_test_legacy.scss +++ b/templates/default/070-components/legacy/Modules/_component_test_legacy.scss @@ -14,6 +14,7 @@ $il-test-longmenu-selectionlist-bg: $il-main-bg; $il-test-longmenu-selectionlist-bg-hover: $il-highlight-bg; $il-test-longmenu-selectionlist-border: $il-main-border; $il-test-longmenu-selectionlist-padding: $il-padding-xs-horizontal; +$il-test-icon-min-size: $il-font-size-base; .fullwidth_invisible { background-color: transparent !important; @@ -139,6 +140,11 @@ div.ilc_Question { } } +img.ilc_solution_image { + min-width: $il-test-icon-min-size; + min-height: $il-test-icon-min-size; +} + .solutionbox { color: black; background-color: white; @@ -676,4 +682,4 @@ div.ilc_Page.readonly textarea[disabled] & li:hover { background-color: $il-test-longmenu-selectionlist-bg-hover; } -} \ No newline at end of file +} diff --git a/templates/default/delos.css b/templates/default/delos.css index 40ed9219212a..e24057cd4fa7 100644 --- a/templates/default/delos.css +++ b/templates/default/delos.css @@ -15990,6 +15990,11 @@ div.ilc_Question { padding-right: 15px; } +img.ilc_solution_image { + min-width: 0.875rem; + min-height: 0.875rem; +} + .solutionbox { color: black; background-color: white; From 2ffb8b37a3ef4ce74493f870614418e70cd80679 Mon Sep 17 00:00:00 2001 From: Matheus Zych Date: Thu, 4 Sep 2025 13:38:13 +0200 Subject: [PATCH 198/865] Improves some messages in the booking pool settings regarding user booking limits --- .../ILIAS/BookingManager/Settings/class.SettingsGUI.php | 3 +-- .../BookingManager/classes/class.ilObjBookingPoolGUI.php | 2 +- lang/ilias_ar.lang | 1 - lang/ilias_bg.lang | 1 - lang/ilias_cs.lang | 1 - lang/ilias_da.lang | 1 - lang/ilias_de.lang | 1 - lang/ilias_el.lang | 1 - lang/ilias_en.lang | 6 +++--- lang/ilias_es.lang | 1 - lang/ilias_et.lang | 1 - lang/ilias_fa.lang | 1 - lang/ilias_fr.lang | 1 - lang/ilias_hr.lang | 1 - lang/ilias_hu.lang | 7 +++---- lang/ilias_it.lang | 1 - lang/ilias_ja.lang | 7 +++---- lang/ilias_ka.lang | 1 - lang/ilias_lt.lang | 1 - lang/ilias_nl.lang | 1 - lang/ilias_pl.lang | 1 - lang/ilias_pt.lang | 1 - lang/ilias_ro.lang | 1 - lang/ilias_ru.lang | 1 - lang/ilias_sk.lang | 1 - lang/ilias_sl.lang | 1 - lang/ilias_sq.lang | 1 - lang/ilias_sr.lang | 1 - lang/ilias_sv.lang | 1 - lang/ilias_tr.lang | 1 - lang/ilias_uk.lang | 1 - lang/ilias_vi.lang | 1 - lang/ilias_zh.lang | 1 - 33 files changed, 11 insertions(+), 42 deletions(-) diff --git a/components/ILIAS/BookingManager/Settings/class.SettingsGUI.php b/components/ILIAS/BookingManager/Settings/class.SettingsGUI.php index de6d4a877768..51c336d2b56a 100644 --- a/components/ILIAS/BookingManager/Settings/class.SettingsGUI.php +++ b/components/ILIAS/BookingManager/Settings/class.SettingsGUI.php @@ -127,9 +127,8 @@ protected function getEditForm(): FormAdapterGUI ) ->number( "limit", - $lng->txt("book_bookings_per_user") . " - " . $lng->txt("book_overall_limit"), - "", + $lng->txt("book_total_individual_bookings_limit"), $settings->getOverallLimit() ); diff --git a/components/ILIAS/BookingManager/classes/class.ilObjBookingPoolGUI.php b/components/ILIAS/BookingManager/classes/class.ilObjBookingPoolGUI.php index 3414448fc237..3f7db02a6b79 100755 --- a/components/ILIAS/BookingManager/classes/class.ilObjBookingPoolGUI.php +++ b/components/ILIAS/BookingManager/classes/class.ilObjBookingPoolGUI.php @@ -352,7 +352,7 @@ protected function initEditCustomForm(ilPropertyFormGUI $form): void $limit = new ilNumberInputGUI($this->lng->txt("book_overall_limit"), "limit"); $limit->setSize(4); $limit->setMinValue(1); - $limit->setSuffix($this->lng->txt("book_bookings_per_user")); + $limit->setInfo($this->lng->txt("book_total_individual_bookings_limit")); $none->addSubItem($limit); // no schedule, using preferences diff --git a/lang/ilias_ar.lang b/lang/ilias_ar.lang index 56a64dee4c09..743e486d7426 100644 --- a/lang/ilias_ar.lang +++ b/lang/ilias_ar.lang @@ -2550,7 +2550,6 @@ book#:#book_booking#:#Booking###26 08 2024 new variable book#:#book_booking_information#:#Information###31 08 2017 new variable book#:#book_booking_objects#:#Booking Objects###29 07 2022 new variable book#:#book_booking_reminders#:#Upcoming reservations###10 11 2018 new variable -book#:#book_bookings_per_user#:#Bookings per User###29 07 2022 new variable book#:#book_bulk_confirmation#:#Please check that all values are listed correctly.###26 08 2024 new variable book#:#book_bulk_creation#:#Bulk Creation###26 08 2024 new variable book#:#book_bulk_data#:#Item Data###26 08 2024 new variable diff --git a/lang/ilias_bg.lang b/lang/ilias_bg.lang index 339f3a932d8e..d6c5e35b5938 100644 --- a/lang/ilias_bg.lang +++ b/lang/ilias_bg.lang @@ -2550,7 +2550,6 @@ book#:#book_booking#:#Booking###30 04 2024 new variable book#:#book_booking_information#:#Информация book#:#book_booking_objects#:#Booking Objects###31 03 2023 new variable book#:#book_booking_reminders#:#Предстоящи резервации -book#:#book_bookings_per_user#:#Bookings per User###31 03 2023 new variable book#:#book_bulk_confirmation#:#Please check that all values are listed correctly.###30 04 2024 new variable book#:#book_bulk_creation#:#Bulk Creation###30 04 2024 new variable book#:#book_bulk_data#:#Item Data###30 04 2024 new variable diff --git a/lang/ilias_cs.lang b/lang/ilias_cs.lang index 12c19bdab36c..86f4548e6c70 100644 --- a/lang/ilias_cs.lang +++ b/lang/ilias_cs.lang @@ -2550,7 +2550,6 @@ book#:#book_booking#:#Booking###26 08 2024 new variable book#:#book_booking_information#:#Informace book#:#book_booking_objects#:#Booking Objects###29 07 2022 new variable book#:#book_booking_reminders#:#Nadcházející rezervace -book#:#book_bookings_per_user#:#Bookings per User###29 07 2022 new variable book#:#book_bulk_confirmation#:#Please check that all values are listed correctly.###26 08 2024 new variable book#:#book_bulk_creation#:#Bulk Creation###26 08 2024 new variable book#:#book_bulk_data#:#Item Data###26 08 2024 new variable diff --git a/lang/ilias_da.lang b/lang/ilias_da.lang index c0de6bff3bd7..fbbde16d2ab9 100644 --- a/lang/ilias_da.lang +++ b/lang/ilias_da.lang @@ -2550,7 +2550,6 @@ book#:#book_booking#:#Booking###26 08 2024 new variable book#:#book_booking_information#:#Information###31 08 2017 new variable book#:#book_booking_objects#:#Booking Objects###29 07 2022 new variable book#:#book_booking_reminders#:#Upcoming reservations###10 11 2018 new variable -book#:#book_bookings_per_user#:#Bookings per User###29 07 2022 new variable book#:#book_bulk_confirmation#:#Please check that all values are listed correctly.###26 08 2024 new variable book#:#book_bulk_creation#:#Bulk Creation###26 08 2024 new variable book#:#book_bulk_data#:#Item Data###26 08 2024 new variable diff --git a/lang/ilias_de.lang b/lang/ilias_de.lang index 416477ab74d1..25dfa24276bf 100644 --- a/lang/ilias_de.lang +++ b/lang/ilias_de.lang @@ -2550,7 +2550,6 @@ book#:#book_booking#:#Buchung book#:#book_booking_information#:#Information book#:#book_booking_objects#:#Angebote book#:#book_booking_reminders#:#Anstehende Buchungen -book#:#book_bookings_per_user#:#Buchungen je Benutzer book#:#book_bulk_confirmation#:#Bitte überprüfen Sie die angegebenen Werte. book#:#book_bulk_creation#:#Massenerstellung book#:#book_bulk_data#:#Daten zu Angeboten diff --git a/lang/ilias_el.lang b/lang/ilias_el.lang index 6ff2b13a6778..26f2875c31fe 100644 --- a/lang/ilias_el.lang +++ b/lang/ilias_el.lang @@ -2551,7 +2551,6 @@ book#:#book_booking#:#Booking###26 08 2024 new variable book#:#book_booking_information#:#Information###31 08 2017 new variable book#:#book_booking_objects#:#Booking Objects###29 07 2022 new variable book#:#book_booking_reminders#:#Upcoming reservations###10 11 2018 new variable -book#:#book_bookings_per_user#:#Bookings per User###29 07 2022 new variable book#:#book_bulk_confirmation#:#Please check that all values are listed correctly.###26 08 2024 new variable book#:#book_bulk_creation#:#Bulk Creation###26 08 2024 new variable book#:#book_bulk_data#:#Item Data###26 08 2024 new variable diff --git a/lang/ilias_en.lang b/lang/ilias_en.lang index f0c6d67fb65d..bf64b4a7cc75 100644 --- a/lang/ilias_en.lang +++ b/lang/ilias_en.lang @@ -2551,7 +2551,6 @@ book#:#book_booking#:#Booking book#:#book_booking_information#:#Information book#:#book_booking_objects#:#Bookable Items book#:#book_booking_reminders#:#Upcoming Bookings -book#:#book_bookings_per_user#:#Bookings per User book#:#book_bulk_confirmation#:#Please check that all values are listed correctly. book#:#book_bulk_creation#:#Bulk Creation book#:#book_bulk_data#:#Item Data @@ -2614,7 +2613,7 @@ book#:#book_object_selection#:#Item Selection book#:#book_object_updated#:#Bookable item updated. book#:#book_objects_available#:#Items available %s book#:#book_open#:#Open Booking Pool -book#:#book_overall_limit#:#Limit Number of Bookings +book#:#book_overall_limit#:#Limit Total Number of Bookings per User book#:#book_overall_limit_warning#:#You have reached the maximum number of bookings allowed. book#:#book_participant_already_assigned#:#One or more participants have already been added. book#:#book_participant_assigned#:#Participant(s) added. @@ -2667,7 +2666,7 @@ book#:#book_schedule_type_fixed#:#Fixed Schedule book#:#book_schedule_type_fixed_info#:#This booking mode can be used for things that can be booked for specific periods of time, such as rooms, services and equipment. book#:#book_schedule_type_none#:#No Schedule book#:#book_schedule_type_none_direct#:#No Schedule, Direct Booking -book#:#book_schedule_type_none_direct_info#:#This booking mode is ideal for presentation topics or places in seminars that do not require set times. Participants can book items directly on a first come, first served basis. +book#:#book_schedule_type_none_direct_info#:#This booking mode is ideal for presentation topics or places in seminars that do not require set times. Participants can book items directly on a first come, first served basis. Each item can only be booked once per participant. book#:#book_schedule_type_none_info#:#This type can be used for seminar papers, seminar places and such. book#:#book_schedule_type_none_preference#:#No Schedule, Using Preferences book#:#book_schedule_type_none_preference_info#:#This booking mode is ideal for presentation topics, places in seminars or similar. Participants get to indicate their preferences in terms of which items they are most interested in. Items will then be allocated automatically after the preferences deadline has passed. @@ -2681,6 +2680,7 @@ book#:#book_show_message#:#Show Message book#:#book_title_description_nr#:#Title; Description; Number of Units book#:#book_title_description_nr_info#:#Enter title, description and number of units separated by semicolon or TAB character (if importing from spreadsheet software). Use one line per item. book#:#book_too_many_preferences#:#You have selected too many preferences. Your preferences have not been saved. +book#:#book_total_individual_bookings_limit#:#Limit the number of bookings that can be carried out by/for individual participants in total, across all available items. Each bookable item can still only be booked once per participant. book#:#book_type_warning#:#There are currently no bookable items available. Please create some bookable items to be able to use this booking pool. book#:#book_week#:#Week book#:#book_your_bookings#:#Your Bookings diff --git a/lang/ilias_es.lang b/lang/ilias_es.lang index 3f0f6c400f27..17d08adbb64f 100644 --- a/lang/ilias_es.lang +++ b/lang/ilias_es.lang @@ -2552,7 +2552,6 @@ book#:#book_booking#:#Booking###26 08 2024 new variable book#:#book_booking_information#:#Información book#:#book_booking_objects#:#Booking Objects###29 07 2022 new variable book#:#book_booking_reminders#:#Upcoming reservations -book#:#book_bookings_per_user#:#Bookings per User###29 07 2022 new variable book#:#book_bulk_confirmation#:#Please check that all values are listed correctly.###26 08 2024 new variable book#:#book_bulk_creation#:#Bulk Creation###26 08 2024 new variable book#:#book_bulk_data#:#Item Data###26 08 2024 new variable diff --git a/lang/ilias_et.lang b/lang/ilias_et.lang index 7262f5992ad3..efd5b0eecc02 100644 --- a/lang/ilias_et.lang +++ b/lang/ilias_et.lang @@ -2550,7 +2550,6 @@ book#:#book_booking#:#Booking###26 08 2024 new variable book#:#book_booking_information#:#Information###31 08 2017 new variable book#:#book_booking_objects#:#Booking Objects###29 07 2022 new variable book#:#book_booking_reminders#:#Upcoming reservations###10 11 2018 new variable -book#:#book_bookings_per_user#:#Bookings per User###29 07 2022 new variable book#:#book_bulk_confirmation#:#Please check that all values are listed correctly.###26 08 2024 new variable book#:#book_bulk_creation#:#Bulk Creation###26 08 2024 new variable book#:#book_bulk_data#:#Item Data###26 08 2024 new variable diff --git a/lang/ilias_fa.lang b/lang/ilias_fa.lang index 8802f219d85f..312f73e8094c 100644 --- a/lang/ilias_fa.lang +++ b/lang/ilias_fa.lang @@ -2550,7 +2550,6 @@ book#:#book_booking#:#Booking###26 08 2024 new variable book#:#book_booking_information#:#Information###31 08 2017 new variable book#:#book_booking_objects#:#Booking Objects###29 07 2022 new variable book#:#book_booking_reminders#:#Upcoming reservations###10 11 2018 new variable -book#:#book_bookings_per_user#:#Bookings per User###29 07 2022 new variable book#:#book_bulk_confirmation#:#Please check that all values are listed correctly.###26 08 2024 new variable book#:#book_bulk_creation#:#Bulk Creation###26 08 2024 new variable book#:#book_bulk_data#:#Item Data###26 08 2024 new variable diff --git a/lang/ilias_fr.lang b/lang/ilias_fr.lang index 0b29829bbbf1..5a8ccf0b5bb6 100644 --- a/lang/ilias_fr.lang +++ b/lang/ilias_fr.lang @@ -2535,7 +2535,6 @@ book#:#book_booking#:#Booking###31 10 2023 new variable book#:#book_booking_information#:#Information book#:#book_booking_objects#:#Booking Objects###31 10 2023 new variable book#:#book_booking_reminders#:#Upcoming reservations -book#:#book_bookings_per_user#:#Bookings per User###31 10 2023 new variable book#:#book_bulk_confirmation#:#Please check, if all values are listed correctly.###31 10 2023 new variable book#:#book_bulk_creation#:#Bulk Creation###31 10 2023 new variable book#:#book_bulk_data#:#Object Data###31 10 2023 new variable diff --git a/lang/ilias_hr.lang b/lang/ilias_hr.lang index 26c22f787b6a..799251739932 100644 --- a/lang/ilias_hr.lang +++ b/lang/ilias_hr.lang @@ -2550,7 +2550,6 @@ book#:#book_booking#:#Booking###26 08 2024 new variable book#:#book_booking_information#:#Informacija book#:#book_booking_objects#:#Booking Objects###29 07 2022 new variable book#:#book_booking_reminders#:#Nadolazeće rezervacije -book#:#book_bookings_per_user#:#Bookings per User###29 07 2022 new variable book#:#book_bulk_confirmation#:#Please check that all values are listed correctly.###26 08 2024 new variable book#:#book_bulk_creation#:#Bulk Creation###26 08 2024 new variable book#:#book_bulk_data#:#Item Data###26 08 2024 new variable diff --git a/lang/ilias_hu.lang b/lang/ilias_hu.lang index 9907782000d4..1ecddb943009 100644 --- a/lang/ilias_hu.lang +++ b/lang/ilias_hu.lang @@ -2550,10 +2550,9 @@ book#:#book_booking#:#Booking###26 08 2024 new variable book#:#book_booking_information#:#Információ book#:#book_booking_objects#:#Booking Objects###29 07 2022 new variable book#:#book_booking_reminders#:#Jövőbeni foglalások -book#:#book_bookings_per_user#:#Bookings per User###29 07 2022 new variable -book#:#book_bulk_confirmation#:#Please check that all values are listed correctly.###26 08 2024 new variable -book#:#book_bulk_creation#:#Bulk Creation###26 08 2024 new variable -book#:#book_bulk_data#:#Item Data###26 08 2024 new variable +book#:#book_bulk_confirmation#:#Kérem, ellenőrizze, hogy az összes érték helyesen jelenik-e meg. +book#:#book_bulk_creation#:#Üres létrehozása +book#:#book_bulk_data#:#Objektum adata book#:#book_cal_entry#:#Ennek a foglalása: book#:#book_confirm_booking#:#Foglalás megerősítése book#:#book_confirm_booking_for_users#:#Are you sure you want to book this item for the following user(s)?###29 10 2025 new variable diff --git a/lang/ilias_it.lang b/lang/ilias_it.lang index 56a0225d035d..6d57bd09371e 100644 --- a/lang/ilias_it.lang +++ b/lang/ilias_it.lang @@ -2549,7 +2549,6 @@ book#:#book_booking#:#Booking###30 04 2024 new variable book#:#book_booking_information#:#Informazione book#:#book_booking_objects#:#Booking Objects###31 03 2023 new variable book#:#book_booking_reminders#:#Prossime prenotazioni -book#:#book_bookings_per_user#:#Bookings per User###31 03 2023 new variable book#:#book_bulk_confirmation#:#Please check that all values are listed correctly.###30 04 2024 new variable book#:#book_bulk_creation#:#Bulk Creation###30 04 2024 new variable book#:#book_bulk_data#:#Item Data###30 04 2024 new variable diff --git a/lang/ilias_ja.lang b/lang/ilias_ja.lang index bcde2497d02a..305fb7a187e8 100644 --- a/lang/ilias_ja.lang +++ b/lang/ilias_ja.lang @@ -2550,10 +2550,9 @@ book#:#book_booking#:#Booking###26 08 2024 new variable book#:#book_booking_information#:#Information book#:#book_booking_objects#:#Booking Objects###19 08 2022 new variable book#:#book_booking_reminders#:#今後の予約 -book#:#book_bookings_per_user#:#Bookings per User###19 08 2022 new variable -book#:#book_bulk_confirmation#:#Please check that all values are listed correctly.###26 08 2024 new variable -book#:#book_bulk_creation#:#Bulk Creation###26 08 2024 new variable -book#:#book_bulk_data#:#Item Data###26 08 2024 new variable +book#:#book_bulk_confirmation#:#全ての項目が正しいことを確認してください。 +book#:#book_bulk_creation#:#大量作成 +book#:#book_bulk_data#:#項目データ book#:#book_cal_entry#:#予約名: book#:#book_confirm_booking#:#予約確認 book#:#book_confirm_booking_for_users#:#Are you sure you want to book this item for the following user(s)?###29 10 2025 new variable diff --git a/lang/ilias_ka.lang b/lang/ilias_ka.lang index 1287a4ceb580..645e116ffd9e 100644 --- a/lang/ilias_ka.lang +++ b/lang/ilias_ka.lang @@ -2550,7 +2550,6 @@ book#:#book_booking#:#Booking###26 08 2024 new variable book#:#book_booking_information#:#Information###31 08 2017 new variable book#:#book_booking_objects#:#Booking Objects###29 07 2022 new variable book#:#book_booking_reminders#:#Upcoming reservations###10 11 2018 new variable -book#:#book_bookings_per_user#:#Bookings per User###29 07 2022 new variable book#:#book_bulk_confirmation#:#Please check that all values are listed correctly.###26 08 2024 new variable book#:#book_bulk_creation#:#Bulk Creation###26 08 2024 new variable book#:#book_bulk_data#:#Item Data###26 08 2024 new variable diff --git a/lang/ilias_lt.lang b/lang/ilias_lt.lang index fccabac44653..6babf91d01f8 100644 --- a/lang/ilias_lt.lang +++ b/lang/ilias_lt.lang @@ -2550,7 +2550,6 @@ book#:#book_booking#:#Booking###26 08 2024 new variable book#:#book_booking_information#:#Information###31 08 2017 new variable book#:#book_booking_objects#:#Booking Objects###29 07 2022 new variable book#:#book_booking_reminders#:#Upcoming reservations###10 11 2018 new variable -book#:#book_bookings_per_user#:#Bookings per User###29 07 2022 new variable book#:#book_bulk_confirmation#:#Please check that all values are listed correctly.###26 08 2024 new variable book#:#book_bulk_creation#:#Bulk Creation###26 08 2024 new variable book#:#book_bulk_data#:#Item Data###26 08 2024 new variable diff --git a/lang/ilias_nl.lang b/lang/ilias_nl.lang index 360fc6bb0f08..720818e59124 100644 --- a/lang/ilias_nl.lang +++ b/lang/ilias_nl.lang @@ -2550,7 +2550,6 @@ book#:#book_booking#:#Booking###26 08 2024 new variable book#:#book_booking_information#:#Information###31 08 2017 new variable book#:#book_booking_objects#:#Booking Objects###29 07 2022 new variable book#:#book_booking_reminders#:#Upcoming reservations###10 11 2018 new variable -book#:#book_bookings_per_user#:#Bookings per User###29 07 2022 new variable book#:#book_bulk_confirmation#:#Please check that all values are listed correctly.###26 08 2024 new variable book#:#book_bulk_creation#:#Bulk Creation###26 08 2024 new variable book#:#book_bulk_data#:#Item Data###26 08 2024 new variable diff --git a/lang/ilias_pl.lang b/lang/ilias_pl.lang index 2c2d3b73aac4..3cf287ea18e1 100644 --- a/lang/ilias_pl.lang +++ b/lang/ilias_pl.lang @@ -2550,7 +2550,6 @@ book#:#book_booking#:#Booking###26 08 2024 new variable book#:#book_booking_information#:#Informacja book#:#book_booking_objects#:#Booking Objects###29 07 2022 new variable book#:#book_booking_reminders#:#Upcoming reservations -book#:#book_bookings_per_user#:#Bookings per User###29 07 2022 new variable book#:#book_bulk_confirmation#:#Please check that all values are listed correctly.###26 08 2024 new variable book#:#book_bulk_creation#:#Bulk Creation###26 08 2024 new variable book#:#book_bulk_data#:#Item Data###26 08 2024 new variable diff --git a/lang/ilias_pt.lang b/lang/ilias_pt.lang index c43ee61ca977..c4a87d08d280 100644 --- a/lang/ilias_pt.lang +++ b/lang/ilias_pt.lang @@ -2550,7 +2550,6 @@ book#:#book_booking#:#Booking###26 08 2024 new variable book#:#book_booking_information#:#Informação book#:#book_booking_objects#:#Booking Objects###29 07 2022 new variable book#:#book_booking_reminders#:#Todas as entradas relacionadas com o idioma e a base de dados foram apagadas e o plugin foi inativado. Agora pode remover o diretório do plugin e o código da fonte no diretório ‘Personalizar’ para desinstalar o plugin definitivamente. -book#:#book_bookings_per_user#:#Bookings per User###29 07 2022 new variable book#:#book_bulk_confirmation#:#Please check that all values are listed correctly.###26 08 2024 new variable book#:#book_bulk_creation#:#Bulk Creation###26 08 2024 new variable book#:#book_bulk_data#:#Item Data###26 08 2024 new variable diff --git a/lang/ilias_ro.lang b/lang/ilias_ro.lang index c5896472d3cb..5fd8779ba539 100644 --- a/lang/ilias_ro.lang +++ b/lang/ilias_ro.lang @@ -2550,7 +2550,6 @@ book#:#book_booking#:#Booking###26 08 2024 new variable book#:#book_booking_information#:#Information###31 08 2017 new variable book#:#book_booking_objects#:#Booking Objects###29 07 2022 new variable book#:#book_booking_reminders#:#Upcoming reservations###10 11 2018 new variable -book#:#book_bookings_per_user#:#Bookings per User###29 07 2022 new variable book#:#book_bulk_confirmation#:#Please check that all values are listed correctly.###26 08 2024 new variable book#:#book_bulk_creation#:#Bulk Creation###26 08 2024 new variable book#:#book_bulk_data#:#Item Data###26 08 2024 new variable diff --git a/lang/ilias_ru.lang b/lang/ilias_ru.lang index 481735831b2b..f2185532070a 100644 --- a/lang/ilias_ru.lang +++ b/lang/ilias_ru.lang @@ -2550,7 +2550,6 @@ book#:#book_booking#:#Booking###26 08 2024 new variable book#:#book_booking_information#:#Information###31 08 2017 new variable book#:#book_booking_objects#:#Booking Objects###29 07 2022 new variable book#:#book_booking_reminders#:#Upcoming reservations###10 11 2018 new variable -book#:#book_bookings_per_user#:#Bookings per User###29 07 2022 new variable book#:#book_bulk_confirmation#:#Please check that all values are listed correctly.###26 08 2024 new variable book#:#book_bulk_creation#:#Bulk Creation###26 08 2024 new variable book#:#book_bulk_data#:#Item Data###26 08 2024 new variable diff --git a/lang/ilias_sk.lang b/lang/ilias_sk.lang index 31e0ca9e4322..1946192f8f43 100644 --- a/lang/ilias_sk.lang +++ b/lang/ilias_sk.lang @@ -2550,7 +2550,6 @@ book#:#book_booking#:#Booking###26 08 2024 new variable book#:#book_booking_information#:#Information###31 08 2017 new variable book#:#book_booking_objects#:#Booking Objects###29 07 2022 new variable book#:#book_booking_reminders#:#Upcoming reservations###10 11 2018 new variable -book#:#book_bookings_per_user#:#Bookings per User###29 07 2022 new variable book#:#book_bulk_confirmation#:#Please check that all values are listed correctly.###26 08 2024 new variable book#:#book_bulk_creation#:#Bulk Creation###26 08 2024 new variable book#:#book_bulk_data#:#Item Data###26 08 2024 new variable diff --git a/lang/ilias_sl.lang b/lang/ilias_sl.lang index 08eb4a5bfe98..c69a9c2cf104 100644 --- a/lang/ilias_sl.lang +++ b/lang/ilias_sl.lang @@ -2550,7 +2550,6 @@ book#:#book_booking#:#Booking###26 08 2024 new variable book#:#book_booking_information#:#Informacija book#:#book_booking_objects#:#Booking Objects###19 08 2022 new variable book#:#book_booking_reminders#:#Rezervacije na čakanju -book#:#book_bookings_per_user#:#Bookings per User###19 08 2022 new variable book#:#book_bulk_confirmation#:#Please check that all values are listed correctly.###26 08 2024 new variable book#:#book_bulk_creation#:#Bulk Creation###26 08 2024 new variable book#:#book_bulk_data#:#Item Data###26 08 2024 new variable diff --git a/lang/ilias_sq.lang b/lang/ilias_sq.lang index 583753941a41..310b41d75658 100644 --- a/lang/ilias_sq.lang +++ b/lang/ilias_sq.lang @@ -2550,7 +2550,6 @@ book#:#book_booking#:#Booking###26 08 2024 new variable book#:#book_booking_information#:#Information###31 08 2017 new variable book#:#book_booking_objects#:#Booking Objects###29 07 2022 new variable book#:#book_booking_reminders#:#Upcoming reservations###10 11 2018 new variable -book#:#book_bookings_per_user#:#Bookings per User###29 07 2022 new variable book#:#book_bulk_confirmation#:#Please check that all values are listed correctly.###26 08 2024 new variable book#:#book_bulk_creation#:#Bulk Creation###26 08 2024 new variable book#:#book_bulk_data#:#Item Data###26 08 2024 new variable diff --git a/lang/ilias_sr.lang b/lang/ilias_sr.lang index 44b16487ac39..36dcb9a95c1f 100644 --- a/lang/ilias_sr.lang +++ b/lang/ilias_sr.lang @@ -2550,7 +2550,6 @@ book#:#book_booking#:#Booking###26 08 2024 new variable book#:#book_booking_information#:#Information###31 08 2017 new variable book#:#book_booking_objects#:#Booking Objects###29 07 2022 new variable book#:#book_booking_reminders#:#Upcoming reservations###10 11 2018 new variable -book#:#book_bookings_per_user#:#Bookings per User###29 07 2022 new variable book#:#book_bulk_confirmation#:#Please check that all values are listed correctly.###26 08 2024 new variable book#:#book_bulk_creation#:#Bulk Creation###26 08 2024 new variable book#:#book_bulk_data#:#Item Data###26 08 2024 new variable diff --git a/lang/ilias_sv.lang b/lang/ilias_sv.lang index ba8d2f0f492a..ff9f5e743179 100644 --- a/lang/ilias_sv.lang +++ b/lang/ilias_sv.lang @@ -2550,7 +2550,6 @@ book#:#book_booking#:#Booking###21 11 2023 new variable book#:#book_booking_information#:#Information book#:#book_booking_objects#:#Bokningsobjekt book#:#book_booking_reminders#:#Väntande reservationer -book#:#book_bookings_per_user#:#Bokningar per användare book#:#book_bulk_confirmation#:#Please check, if all values are listed correctly.###21 11 2023 new variable book#:#book_bulk_creation#:#Bulk Creation###21 11 2023 new variable book#:#book_bulk_data#:#Object Data###21 11 2023 new variable diff --git a/lang/ilias_tr.lang b/lang/ilias_tr.lang index 01bb3249d743..03287ed4be1b 100644 --- a/lang/ilias_tr.lang +++ b/lang/ilias_tr.lang @@ -2550,7 +2550,6 @@ book#:#book_booking#:#Booking###26 08 2024 new variable book#:#book_booking_information#:#Information###31 08 2017 new variable book#:#book_booking_objects#:#Booking Objects###29 07 2022 new variable book#:#book_booking_reminders#:#Upcoming reservations###10 11 2018 new variable -book#:#book_bookings_per_user#:#Bookings per User###29 07 2022 new variable book#:#book_bulk_confirmation#:#Please check that all values are listed correctly.###26 08 2024 new variable book#:#book_bulk_creation#:#Bulk Creation###26 08 2024 new variable book#:#book_bulk_data#:#Item Data###26 08 2024 new variable diff --git a/lang/ilias_uk.lang b/lang/ilias_uk.lang index f8bf8a1bef1c..d1787b0497b1 100644 --- a/lang/ilias_uk.lang +++ b/lang/ilias_uk.lang @@ -2550,7 +2550,6 @@ book#:#book_booking#:#Booking###26 08 2024 new variable book#:#book_booking_information#:#Information###31 08 2017 new variable book#:#book_booking_objects#:#Booking Objects###29 07 2022 new variable book#:#book_booking_reminders#:#Upcoming reservations###10 11 2018 new variable -book#:#book_bookings_per_user#:#Bookings per User###29 07 2022 new variable book#:#book_bulk_confirmation#:#Please check that all values are listed correctly.###26 08 2024 new variable book#:#book_bulk_creation#:#Bulk Creation###26 08 2024 new variable book#:#book_bulk_data#:#Item Data###26 08 2024 new variable diff --git a/lang/ilias_vi.lang b/lang/ilias_vi.lang index 6965c11d9a66..35c361ca9d53 100644 --- a/lang/ilias_vi.lang +++ b/lang/ilias_vi.lang @@ -2552,7 +2552,6 @@ book#:#book_booking#:#Booking###26 08 2024 new variable book#:#book_booking_information#:#Information###31 08 2017 new variable book#:#book_booking_objects#:#Booking Objects###29 07 2022 new variable book#:#book_booking_reminders#:#Upcoming reservations###10 11 2018 new variable -book#:#book_bookings_per_user#:#Bookings per User###29 07 2022 new variable book#:#book_bulk_confirmation#:#Please check that all values are listed correctly.###26 08 2024 new variable book#:#book_bulk_creation#:#Bulk Creation###26 08 2024 new variable book#:#book_bulk_data#:#Item Data###26 08 2024 new variable diff --git a/lang/ilias_zh.lang b/lang/ilias_zh.lang index ef76ca57a729..32a9b35f61b0 100644 --- a/lang/ilias_zh.lang +++ b/lang/ilias_zh.lang @@ -2549,7 +2549,6 @@ book#:#book_booking#:#Booking###26 08 2024 new variable book#:#book_booking_information#:#Information###31 08 2017 new variable book#:#book_booking_objects#:#Booking Objects###29 07 2022 new variable book#:#book_booking_reminders#:#Upcoming reservations###10 11 2018 new variable -book#:#book_bookings_per_user#:#Bookings per User###29 07 2022 new variable book#:#book_bulk_confirmation#:#Please check that all values are listed correctly.###26 08 2024 new variable book#:#book_bulk_creation#:#Bulk Creation###26 08 2024 new variable book#:#book_bulk_data#:#Item Data###26 08 2024 new variable From 494a6c6ea23fd6d2cbf2747f1338fdd7e0d9d0a8 Mon Sep 17 00:00:00 2001 From: Matheus Zych Date: Mon, 13 Oct 2025 08:01:27 +0200 Subject: [PATCH 199/865] Allows non owner with write permission to add new participants to booking pool inside of a course --- components/ILIAS/BookingManager/Access/AccessManager.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/components/ILIAS/BookingManager/Access/AccessManager.php b/components/ILIAS/BookingManager/Access/AccessManager.php index fb068a76e151..627c649503b1 100644 --- a/components/ILIAS/BookingManager/Access/AccessManager.php +++ b/components/ILIAS/BookingManager/Access/AccessManager.php @@ -76,7 +76,7 @@ public function filterManageableParticipants( array $participant_ids ): array { return $this->access->filterUserIdsByRbacOrPositionOfCurrentUser( - 'render', + 'write', 'render', $ref_id, $participant_ids From c4b058837a5e636db888846d7c552086a748f565 Mon Sep 17 00:00:00 2001 From: Matheus Zych Date: Thu, 6 Nov 2025 14:50:01 +0100 Subject: [PATCH 200/865] Fixes cloze question changing answers and wrongly interpreting best answer --- .../COPage/PC/Question/class.ilPCQuestion.php | 2 +- .../classes/class.ilPageQuestionProcessor.php | 15 +- .../resources/js/dist/question_handling.js | 251 ++++++++++-------- 3 files changed, 148 insertions(+), 120 deletions(-) diff --git a/components/ILIAS/COPage/PC/Question/class.ilPCQuestion.php b/components/ILIAS/COPage/PC/Question/class.ilPCQuestion.php index 645715504bb9..c1b5ede6e67c 100755 --- a/components/ILIAS/COPage/PC/Question/class.ilPCQuestion.php +++ b/components/ILIAS/COPage/PC/Question/class.ilPCQuestion.php @@ -336,7 +336,7 @@ public function getOnloadCode(string $a_mode): array if (count($q_ids) > 0) { foreach ($q_ids as $q_id) { $as = ilPageQuestionProcessor::getAnswerStatus($q_id, $ilUser->getId()); - $code[] = "ilias.questions.initAnswer(" . $q_id . ", " . (int) ($as["try"] ?? 0) . ", " . ($as["passed"] ? "true" : "null") . ");"; + $code[] = "ilias.questions.initAnswer(" . $q_id . ", " . (int) ($as["try"] ?? 0) . ", " . ($as["passed"] ? "true" : "null") . ", " . ($as["points"] ?? "null") . ");"; } } } diff --git a/components/ILIAS/COPage/classes/class.ilPageQuestionProcessor.php b/components/ILIAS/COPage/classes/class.ilPageQuestionProcessor.php index 8e0a5050275f..ecd6a63017fc 100755 --- a/components/ILIAS/COPage/classes/class.ilPageQuestionProcessor.php +++ b/components/ILIAS/COPage/classes/class.ilPageQuestionProcessor.php @@ -287,9 +287,9 @@ public static function getAnswerStatus( $ilDB = $DIC->database(); - $qst = (is_array($a_q_id)) - ? $ilDB->in("qst_id", $a_q_id, false, "integer") - : " qst_id = " . $ilDB->quote($a_q_id, "integer"); + $a_q_id = is_array($a_q_id) ? $a_q_id : [(int) $a_q_id]; + + $qst = $ilDB->in("qst_id", $a_q_id, false, "integer"); $and = ($a_user_id > 0) ? " AND user_id = " . $ilDB->quote($a_user_id, "integer") @@ -301,12 +301,10 @@ public static function getAnswerStatus( $and ); - if (is_array($a_q_id) || $a_user_id == 0) { + if ($a_user_id === 0) { $recs = array(); while ($rec = $ilDB->fetchAssoc($set)) { - $key = ($a_user_id == 0) - ? $rec["qst_id"] . ":" . $rec["user_id"] - : $rec["qst_id"]; + $key = "{$rec["qst_id"]}:{$rec["user_id"]}"; $recs[$key] = $rec; } return $recs; @@ -317,7 +315,8 @@ public static function getAnswerStatus( } return [ "try" => 0, - "passed" => false + "passed" => false, + "points" => null ]; } diff --git a/components/ILIAS/TestQuestionPool/resources/js/dist/question_handling.js b/components/ILIAS/TestQuestionPool/resources/js/dist/question_handling.js index 0204171c678f..511b9ae98838 100755 --- a/components/ILIAS/TestQuestionPool/resources/js/dist/question_handling.js +++ b/components/ILIAS/TestQuestionPool/resources/js/dist/question_handling.js @@ -48,7 +48,8 @@ ilias.questions.enhancedQuestionTypes = [ ]; ilias.questions.questionTypesSupportingPartialScoring = [ - "assKprimChoice" + "assKprimChoice", + "assClozeTest" ]; ilias.questions.init = function() { @@ -56,16 +57,14 @@ ilias.questions.init = function() { }; ilias.questions.refresh_lang = function() { - jQuery(".ilc_qinput_ClozeGapSelect").each(function(){ - $(this).prepend(""); - - $(this).val(""); + if (!$(this).prop("disabled")) { + $(this).prepend(``); + $(this).val(""); + } }); jQuery("input[value='TXT_SUBMIT_ANSWERS']").val(ilias.questions.txt.submit_answers); - }; ilias.questions.shuffleAll = function() { @@ -98,13 +97,14 @@ ilias.questions.swapper = function(a) } }; -ilias.questions.initAnswer = function(a_id, tries, passed) { +ilias.questions.initAnswer = function(a_id, tries, passed, scored_points = null) { if (!answers[a_id]) { // to keep answers[a_id].areas intact if initialized before answers[a_id] = {}; } answers[a_id].tries = tries; answers[a_id].wrong = 0; answers[a_id].passed = passed; + answers[a_id].scored_points = scored_points; answers[a_id].answer = new Array(); answers[a_id].interactionId=null; if (tries > 0 && (answers[a_id].tries >= questions[a_id].nr_of_tries || passed)) { @@ -535,77 +535,99 @@ ilias.questions.assTextSubset = function(a_id) { ilias.questions.assClozeTest = function(a_id) { - answers[a_id].wrong = 0; - answers[a_id].passed = true; - answers[a_id].choice = []; + let value_found; + let a_node; + answers[a_id].wrong = 0; + answers[a_id].passed = true; + answers[a_id].isBestSolution = true; + answers[a_id].choice = []; + + const gaps = questions[a_id].gaps; + for (let i = 0; i < gaps.length; i++) { + const gap = gaps[i]; + const type = gap.type; + + if (type !== 1) { + a_node = jQuery(`input#${a_id}_${i}`).get(0); + value_found = false; + } - for (var i=0;i= 0) { - answers[a_id].choice.push(questions[a_id].gaps[i].item[selected].order); - } - } - else - { - var a_node = jQuery('input#'+a_id+"_"+i).get(0); - var value_found = false; + let j; + const items = gap.item; + const max_points = Math.max(...items.map(item => item.points)); + let points = 0; + switch (type) { + case 0: + for (j = 0; j < items.length; j++) { + if (items[j].value !== a_node.value) { + continue; + } + + value_found = true; + if (items[j].points <= 0) { + answers[a_id].passed = false; + answers[a_id].wrong++; + answers[a_id].answer[i] = false; + continue; + } + + answers[a_id].answer[i] = true; + points = items[j].points; + } + break + case 1: + a_node = jQuery(`select#${a_id}_${i}`).get(0); + const selected = a_node.options[a_node.selectedIndex].id; + + if (parseInt(selected) < 0 || items[selected].points <= 0) { + answers[a_id].passed = false; + answers[a_id].wrong++; + answers[a_id].answer[i] = false; + } else { + answers[a_id].answer[i] = true; + points = items[selected].points; + } - // text - if (type==0) { - for(var j=0;j= val) { - value_found=true; - if (questions[a_id].gaps[i].item[j].points <= 0) { - answers[a_id].passed = false; - answers[a_id].wrong++; - answers[a_id].answer[i]=false; - } else { - answers[a_id].answer[i]=true; - } - } - } + if (parseInt(selected) >= 0) { + answers[a_id].choice.push(items[selected].order); + } + break; + case 2: + for (let j = 0; j < items.length; j++) { + a_node.value = a_node.value.replace(',', '.'); + const lb = parseFloat(items[j].lowerbound); + const ub = parseFloat(items[j].upperbound); + const val = parseFloat(a_node.value); + + if (!isNaN(a_node.value) && lb <= val && ub >= val) { + value_found = true; + if (items[j].points <= 0) { + answers[a_id].passed = false; + answers[a_id].wrong++; + answers[a_id].answer[i] = false; + } else { + answers[a_id].answer[i] = true; + points = items[j].points; + } + } + } + break; + } - } + if (type !== 1) { + answers[a_id].choice.push(a_node.value); + if (value_found === false) { + answers[a_id].passed = false; + answers[a_id].wrong++; + answers[a_id].answer[i] = false; + } + } - answers[a_id].choice.push(a_node.value); - if (value_found==false) {answers[a_id].passed = false; answers[a_id].wrong++; answers[a_id].answer[i]=false;} - } - } - ilias.questions.showFeedback(a_id); + if (points !== max_points) { + answers[a_id].isBestSolution = false; + } + } + ilias.questions.showFeedback(a_id); }; ilias.questions.initClozeTest = function(a_id) { @@ -832,11 +854,20 @@ ilias.questions.showFeedback = function(a_id) { answers[a_id].wrong ; } - if(jQuery.inArray(questions[a_id].type, ilias.questions.questionTypesSupportingPartialScoring) == -1) - { + if (jQuery.inArray(questions[a_id].type, ilias.questions.questionTypesSupportingPartialScoring) === -1) { answers[a_id].isBestSolution = answers[a_id].passed; } + if (questions[a_id].type === "assClozeTest" && answers[a_id].isBestSolution === undefined) { + let total_max_points = 0; + const gaps = questions[a_id].gaps; + for (let i = 0; i < gaps.length; i++) { + total_max_points += Math.max(...gaps[i].item.map(item => item.points)); + } + + answers[a_id].isBestSolution = total_max_points === answers[a_id].scored_points; + } + jQuery('#feedback'+a_id).removeClass("ilc_qfeedw_FeedbackWrong"); jQuery('#feedback'+a_id).removeClass("ilc_qfeedr_FeedbackRight"); @@ -848,7 +879,7 @@ ilias.questions.showFeedback = function(a_id) { if (answers[a_id].passed===true) { jQuery('#feedback'+a_id).addClass("ilc_qfeedr_FeedbackRight"); - if( answers[a_id].isBestSolution ) { + if (answers[a_id].isBestSolution) { if (ilias.questions.default_feedback) { fbtext = '' + ilias.questions.txt.all_answers_correct + '
'; } @@ -857,15 +888,15 @@ ilias.questions.showFeedback = function(a_id) { fbtext += questions[a_id].feedback['allcorrect']; } - if( jQuery.inArray(questions[a_id].type, ilias.questions.enhancedQuestionTypes) == -1 ) { + if (jQuery.inArray(questions[a_id].type, ilias.questions.enhancedQuestionTypes) === -1) { ilias.questions.showCorrectAnswers(a_id); } } else { if (ilias.questions.default_feedback) { fbtext = '' + ilias.questions.txt.enough_answers_correct + '
' + txt_wrong_answers + '
' + ilias.questions.txt.correct_answers_shown; - } else if (questions[a_id].feedback['allcorrect']) { - fbtext += questions[a_id].feedback['allcorrect']; + } else if (questions[a_id].feedback['onenotcorrect']) { + fbtext += questions[a_id].feedback['onenotcorrect']; } ilias.questions.showCorrectAnswers(a_id); @@ -1154,36 +1185,34 @@ ilias.questions.showCorrectAnswers =function(a_id) { break; //end assMatchingQuestion - case 'assClozeTest': - for (var i=0;i=1) - { - cid=j; - } - } - //jQuery('select#'+a_id+"_"+i+" option[id="+cid+"]").attr("selected","selected"); - jQuery('select#'+a_id+"_"+i+" option[id="+cid+"]").prop('selected', true); - jQuery('select#'+a_id+"_"+i).prop("disabled",true); - } - if (type==0 || type==2) { - var cvalue; - //look for correct solution - for (var j=0;j 0) - { - cvalue = questions[a_id].gaps[i].item[j].value; - } - } - jQuery('input#'+a_id+"_"+i).val(cvalue); - jQuery('input#'+a_id+"_"+i).prop("disabled",true); - } + case 'assClozeTest': + for (let i = 0; i < questions[a_id].gaps.length; i++) { + const gap = questions[a_id].gaps[i]; + const type = gap.type; + const items = gap.item; + const maxPoints = Math.max(...items.map(item => item.points)); + const input = jQuery(`input#${a_id}_${i}`); + const select = jQuery(`select#${a_id}_${i}`); + let best_values; + + switch (type) { + case 0: + best_values = items.filter(item => item.points === maxPoints).map(item => item.value); + input.val(best_values.join(' / ')); + input.prop('disabled', true); + break; + case 1: + best_values = items.filter(item => item.points === maxPoints).map(item => item.value); + const option = jQuery(`select#${a_id}_${i} option[id="1"]`); + option.prop('selected', true); + option.text(best_values.join(' / ')); + select.prop('disabled', true); + break; + case 2: + const best_value = items.find(item => item.points === maxPoints).value; + input.val(best_value); + input.prop('disabled', true); + } } break; //end assClozeTest From 46e70712dad74eb0aa3b649e48491f396e4f8e08 Mon Sep 17 00:00:00 2001 From: iszmais <45942348+iszmais@users.noreply.github.com> Date: Mon, 15 Dec 2025 19:23:36 +0100 Subject: [PATCH 201/865] dc remove xlsx export notification (#10723) --- components/ILIAS/DataCollection/ROADMAP.md | 5 ++++- .../classes/Content/class.ilDclContentExporter.php | 1 - 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/components/ILIAS/DataCollection/ROADMAP.md b/components/ILIAS/DataCollection/ROADMAP.md index 55c4f2835c60..d46dc4f20181 100755 --- a/components/ILIAS/DataCollection/ROADMAP.md +++ b/components/ILIAS/DataCollection/ROADMAP.md @@ -36,6 +36,9 @@ This document is a roadmap for the ILIAS Object 'Data Collection'. It is a livin * Stack
We do not know if we really need the `\ILIAS\Modules\DataCollection\Fields\Formula\FormulaParser\Stack` or what is really the needed difference to a regular php-array. +* Toast Notification on XLSX export + Since the export success message was removed on the asycn XLSX export a toast should inform the user about the finish of it. + ## Mid Term * Removal of legacy user interface components and usage of the KitchenSink. @@ -43,4 +46,4 @@ This document is a roadmap for the ILIAS Object 'Data Collection'. It is a livin ## Long Term -* … \ No newline at end of file +* … diff --git a/components/ILIAS/DataCollection/classes/Content/class.ilDclContentExporter.php b/components/ILIAS/DataCollection/classes/Content/class.ilDclContentExporter.php index 473d70ff2c8f..c0307b5ea756 100755 --- a/components/ILIAS/DataCollection/classes/Content/class.ilDclContentExporter.php +++ b/components/ILIAS/DataCollection/classes/Content/class.ilDclContentExporter.php @@ -146,7 +146,6 @@ public function export(string $format = self::EXPORT_EXCEL, ?string $filepath = return false; } - $this->main_tpl->setOnScreenMessage($this->main_tpl::MESSAGE_TYPE_SUCCESS, $this->lng->txt('exp_file_created'), true); if ($send) { $adapter->sendToClient($filename); } else { From 80f6d4f79ec0dcc4690a2fd1c0632f0b2b5f36cb Mon Sep 17 00:00:00 2001 From: iszmais <45942348+iszmais@users.noreply.github.com> Date: Mon, 15 Dec 2025 19:37:59 +0100 Subject: [PATCH 202/865] dc add selected presentation to tableview (#10727) --- .../classes/Content/class.ilDclRecordListGUI.php | 3 ++- .../classes/Content/class.ilDclRecordListTableGUI.php | 1 - .../classes/Helpers/class.ilDclSwitcher.php | 8 ++++++-- 3 files changed, 8 insertions(+), 4 deletions(-) diff --git a/components/ILIAS/DataCollection/classes/Content/class.ilDclRecordListGUI.php b/components/ILIAS/DataCollection/classes/Content/class.ilDclRecordListGUI.php index 364fc62d3d2b..068dfaefa7b7 100755 --- a/components/ILIAS/DataCollection/classes/Content/class.ilDclRecordListGUI.php +++ b/components/ILIAS/DataCollection/classes/Content/class.ilDclRecordListGUI.php @@ -550,7 +550,8 @@ protected function createSwitchers(): void $this->table_obj->getVisibleTableViews(), $this->getTableId(), self::class, - self::CMD_SHOW + self::CMD_SHOW, + $this->getTableviewId() ); } diff --git a/components/ILIAS/DataCollection/classes/Content/class.ilDclRecordListTableGUI.php b/components/ILIAS/DataCollection/classes/Content/class.ilDclRecordListTableGUI.php index 74c287b99b03..536c6dad791d 100755 --- a/components/ILIAS/DataCollection/classes/Content/class.ilDclRecordListTableGUI.php +++ b/components/ILIAS/DataCollection/classes/Content/class.ilDclRecordListTableGUI.php @@ -96,7 +96,6 @@ public function __construct( $this->setShowRowsSelector(true); $this->setEnableTitle(true); $this->setTitle($table->getTitle()); - $this->setDescription($this->tableview->getTitle()); $this->setDefaultOrderDirection($this->table->getDefaultSortFieldOrder()); // Set a default sorting? $default_sort_title = 'id'; diff --git a/components/ILIAS/DataCollection/classes/Helpers/class.ilDclSwitcher.php b/components/ILIAS/DataCollection/classes/Helpers/class.ilDclSwitcher.php index 250ff03158d5..70a0b33e4d8f 100755 --- a/components/ILIAS/DataCollection/classes/Helpers/class.ilDclSwitcher.php +++ b/components/ILIAS/DataCollection/classes/Helpers/class.ilDclSwitcher.php @@ -64,13 +64,17 @@ public function addTableSwitcherToToolbar(array $tables, string $target_class, s * @return void * @throws ilCtrlException */ - public function addViewSwitcherToToolbar(array $views, int $table_id, string $target_class, string $target_cmd): void + public function addViewSwitcherToToolbar(array $views, int $table_id, string $target_class, string $target_cmd, int $tableview_id = 0): void { $links = []; $this->ctrl->setParameterByClass($target_class, "table_id", $table_id); foreach ($views as $view) { $this->ctrl->setParameterByClass($target_class, "tableview_id", $view->getId()); - $links[] = $this->ui_factory->link()->standard($view->getTitle(), $this->ctrl->getLinkTargetByClass($target_class, $target_cmd)); + $title = $view->getTitle(); + if ($view->getId() === $tableview_id) { + $title .= ' (' . $this->lng->txt('selected') . ')'; + } + $links[] = $this->ui_factory->link()->standard($title, $this->ctrl->getLinkTargetByClass($target_class, $target_cmd)); } $this->addSwitcherToToolbar($links, $this->lng->txt('dcl_switch_view')); } From 43bc7be8bb7fd10407b128f9ade556c7f7ffc4f5 Mon Sep 17 00:00:00 2001 From: iszmais <45942348+iszmais@users.noreply.github.com> Date: Mon, 15 Dec 2025 19:55:27 +0100 Subject: [PATCH 203/865] dc set text detailed link to same view target (#10731) --- .../Fields/Text/class.ilDclTextRecordRepresentation.php | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/components/ILIAS/DataCollection/classes/Fields/Text/class.ilDclTextRecordRepresentation.php b/components/ILIAS/DataCollection/classes/Fields/Text/class.ilDclTextRecordRepresentation.php index ade35f177028..c3a6a50b1ce5 100755 --- a/components/ILIAS/DataCollection/classes/Fields/Text/class.ilDclTextRecordRepresentation.php +++ b/components/ILIAS/DataCollection/classes/Fields/Text/class.ilDclTextRecordRepresentation.php @@ -67,11 +67,12 @@ public function getHTML(bool $link = true, array $options = []): string case 0: return $value; case 1: + $key = array_keys($links)[0]; return $this->renderer->render( $this->factory->link()->standard( $value, reset($links) - )->withOpenInNewViewport(true) + )->withOpenInNewViewport($key === 'dcl_open_url') ); case 2: default: @@ -80,7 +81,7 @@ public function getHTML(bool $link = true, array $options = []): string $ui_links[] = $this->factory->link()->standard( $this->lng->txt($key), $link - )->withOpenInNewViewport(true); + )->withOpenInNewViewport($key === 'dcl_open_url'); } return $this->renderer->render( $this->factory->dropdown()->standard( From 8caebf2a748e9b98a98b762410ba6241088f5390 Mon Sep 17 00:00:00 2001 From: Matheus Zych Date: Mon, 15 Dec 2025 11:01:29 +0100 Subject: [PATCH 204/865] Displays result points in attempt overview --- .../Test/src/Results/Data/AttemptOverview.php | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/components/ILIAS/Test/src/Results/Data/AttemptOverview.php b/components/ILIAS/Test/src/Results/Data/AttemptOverview.php index 937cc389a992..628f9d4a8101 100644 --- a/components/ILIAS/Test/src/Results/Data/AttemptOverview.php +++ b/components/ILIAS/Test/src/Results/Data/AttemptOverview.php @@ -133,11 +133,13 @@ public function getAsDescriptiveListing( UIFactory $ui_factory, array $environment ): DescriptiveListing { + $is_finished = $this->getStatusOfAttempt()->isFinished(); $items = [ - $lng->txt('tst_stat_result_resultspoints') => $this->reached_points - . ' ' . strtolower($lng->txt('of')) . ' ' . $this->available_points - . ' (' . sprintf('%2.2f', $this->getReachedPointsInPercent()) . ' %)', - $lng->txt('tst_stat_result_resultsmarks') => $this->mark?->getShortName() ?? '' + $lng->txt('tst_stat_result_resultspoints') => + "{$this->getReachedPoints()} " . strtolower($lng->txt('of')) . " {$this->getAvailablePoints()} (" . sprintf('%2.2f', $this->getReachedPointsInPercent()) . ' %)', + $lng->txt('tst_stat_result_resultsmarks') => $is_finished + ? $this->mark?->getShortName() ?? '-' + : '-' ]; return $ui_factory->listing()->descriptive( @@ -150,8 +152,8 @@ public function getAsDescriptiveListing( ?->setTimezone($environment['timezone']) ->format($environment['datetimeformat']) ?? '', $lng->txt('tst_nr_of_passes') => (string) $this->nr_of_attempts, - $lng->txt('scored_pass') => (string) ($this->scored_attempt + 1), - $lng->txt('tst_stat_result_rank_participant') => (string) $this->rank + $lng->txt('scored_pass') => $is_finished && $this->scored_attempt !== null ? (string) ($this->scored_attempt + 1) : '-', + $lng->txt('tst_stat_result_rank_participant') => $is_finished ? (string) $this->rank : '-', ] ); } From e24117325356ba7916c9227307af60892e5400da Mon Sep 17 00:00:00 2001 From: Matheus Zych Date: Wed, 23 Jul 2025 14:59:05 +0200 Subject: [PATCH 205/865] Redirects user after booking an item in bookingpool to week view --- .../BookingProcess/class.ilBookingProcessWithScheduleGUI.php | 2 +- .../BookingProcess/class.ilBookingProcessWithoutScheduleGUI.php | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/components/ILIAS/BookingManager/BookingProcess/class.ilBookingProcessWithScheduleGUI.php b/components/ILIAS/BookingManager/BookingProcess/class.ilBookingProcessWithScheduleGUI.php index c31c4e294a8d..c1659d6b7a9c 100755 --- a/components/ILIAS/BookingManager/BookingProcess/class.ilBookingProcessWithScheduleGUI.php +++ b/components/ILIAS/BookingManager/BookingProcess/class.ilBookingProcessWithScheduleGUI.php @@ -219,7 +219,7 @@ public function book(): void // ok $this->lng->loadLanguageModule("dateplaner"); $this->ctrl->setParameter($this, 'object_id', $obj->getId()); - //$this->ctrl->setParameter($this, 'returnCmd', "book"); + $this->ctrl->setParameter($this, 'returnCmd', 'week'); if ($this->user_id_to_book !== $this->user_id_assigner) { $this->ctrl->setParameter($this, 'bkusr', $this->user_id_to_book); diff --git a/components/ILIAS/BookingManager/BookingProcess/class.ilBookingProcessWithoutScheduleGUI.php b/components/ILIAS/BookingManager/BookingProcess/class.ilBookingProcessWithoutScheduleGUI.php index 53171b99ab25..384cb89f4dbc 100755 --- a/components/ILIAS/BookingManager/BookingProcess/class.ilBookingProcessWithoutScheduleGUI.php +++ b/components/ILIAS/BookingManager/BookingProcess/class.ilBookingProcessWithoutScheduleGUI.php @@ -154,7 +154,7 @@ public function book(): void // ok $this->lng->loadLanguageModule("dateplaner"); $this->ctrl->setParameter($this, 'object_id', $obj->getId()); - $this->ctrl->setParameter($this, 'returnCmd', "back"); + $this->ctrl->setParameter($this, 'returnCmd', 'week'); if ($this->user_id_to_book !== $this->user_id_assigner) { $this->ctrl->setParameter($this, 'bkusr', $this->user_id_to_book); From 2572b38fd6fae0393f69bd7416c75b3e27fdec72 Mon Sep 17 00:00:00 2001 From: Matheus Zych Date: Tue, 16 Dec 2025 08:39:40 +0100 Subject: [PATCH 206/865] Improves redirect after booking of an item and adds missing language variables in booking pool --- .../BookingProcess/class.ProcessUtilGUI.php | 12 ++++++++++++ .../BookingManager/BookingProcess/class.WeekGUI.php | 2 ++ .../class.ilBookingProcessWithScheduleGUI.php | 12 +++++++++++- .../classes/class.StandardGUIRequest.php | 4 ++++ lang/ilias_de.lang | 5 +++-- 5 files changed, 32 insertions(+), 3 deletions(-) diff --git a/components/ILIAS/BookingManager/BookingProcess/class.ProcessUtilGUI.php b/components/ILIAS/BookingManager/BookingProcess/class.ProcessUtilGUI.php index 435b6a6688bb..584281ab09f1 100755 --- a/components/ILIAS/BookingManager/BookingProcess/class.ProcessUtilGUI.php +++ b/components/ILIAS/BookingManager/BookingProcess/class.ProcessUtilGUI.php @@ -20,6 +20,7 @@ namespace ILIAS\BookingManager\BookingProcess; +use ilBookingProcessWithScheduleGUI; use ILIAS\BookingManager\InternalDomainService; use ILIAS\BookingManager\InternalGUIService; use ILIAS\BookingManager\Objects\ObjectsManager; @@ -60,6 +61,17 @@ public function back(): void $this->log->debug("back"); $retCmd = $this->request->getReturnCmd(); $this->log->debug("returnCmd is " . $retCmd); + + $class = get_class($this->parent_gui); + if ($retCmd === 'week' && $class === ilBookingProcessWithScheduleGUI::class) { + if ($this->request->getOriginCmd() === 'book') { + $this->domain->objectSelection($this->pool->getId())->setSelectedObjects([$this->request->getObjectId()]); + } + $this->ctrl->setParameterByClass($class, 'seed', $this->request->getSeed()); + $this->ctrl->redirectByClass($class, $retCmd); + return; + } + if ($retCmd !== "") { $this->ctrl->redirectByClass(get_class($this->parent_gui), $retCmd); } else { diff --git a/components/ILIAS/BookingManager/BookingProcess/class.WeekGUI.php b/components/ILIAS/BookingManager/BookingProcess/class.WeekGUI.php index 855123ccc160..99d1b8e86aa2 100755 --- a/components/ILIAS/BookingManager/BookingProcess/class.WeekGUI.php +++ b/components/ILIAS/BookingManager/BookingProcess/class.WeekGUI.php @@ -205,7 +205,9 @@ protected function getWeekGridEntries( $this->ctrl->setParameterByClass(self::PROCESS_CLASS, "slot", $slot_from . "_" . $slot_to); $this->ctrl->setParameterByClass(self::PROCESS_CLASS, "object_id", $obj->getId()); $this->ctrl->setParameterByClass(self::PROCESS_CLASS, "seed", $this->seed_str); + $this->ctrl->setParameterByClass(self::PROCESS_CLASS, "origin_cmd", $this->ctrl->getCmd()); $link = $this->ctrl->getLinkTargetByClass(self::PROCESS_CLASS, "showNumberForm", "", true); + $this->ctrl->setParameterByClass(self::PROCESS_CLASS, "origin_cmd", null); $this->ctrl->setParameterByClass(self::PROCESS_CLASS, "slot", null); $this->ctrl->setParameterByClass(self::PROCESS_CLASS, "object_id", null); $slot_gui = new SlotGUI( diff --git a/components/ILIAS/BookingManager/BookingProcess/class.ilBookingProcessWithScheduleGUI.php b/components/ILIAS/BookingManager/BookingProcess/class.ilBookingProcessWithScheduleGUI.php index c1659d6b7a9c..16021d7f8446 100755 --- a/components/ILIAS/BookingManager/BookingProcess/class.ilBookingProcessWithScheduleGUI.php +++ b/components/ILIAS/BookingManager/BookingProcess/class.ilBookingProcessWithScheduleGUI.php @@ -48,6 +48,7 @@ class ilBookingProcessWithScheduleGUI implements \ILIAS\BookingManager\BookingPr protected ilObjUser $user; protected int $book_obj_id; protected array $rsv_ids = []; + protected ?string $origin_cmd = null; public function __construct( ilObjBookingPool $pool, @@ -295,7 +296,8 @@ protected function getNumberForm( ->number("nr", $period, "", 1, 1, $counter) ->radio("recurrence", $this->lng->txt("book_recurrence"), "", "0") ->radioOption("0", $this->lng->txt("book_no_recurrence")) - ->radioOption("1", $this->lng->txt("book_book_recurrence")); + ->radioOption("1", $this->lng->txt("book_book_recurrence")) + ->hidden("origin_cmd", $this->book_request->getOriginCmd()); if ($this->pool->usesMessages()) { $form = $form->textarea( "message", @@ -331,6 +333,11 @@ public function processNumberForm(): void ->send(); } + $origin_cmd = $form->getData("origin_cmd"); + if (is_string($origin_cmd) && $origin_cmd !== "") { + $this->origin_cmd = $origin_cmd; + } + $message = $this->pool->usesMessages() ? $form->getData("message") : ""; @@ -526,6 +533,9 @@ protected function getBookAvailableTarget( $this->ctrl->setParameter($this, "recurrence", $recurrence); $this->ctrl->setParameter($this, "nr", $nr); $this->ctrl->setParameter($this, "until", $until); + if (is_string($this->origin_cmd) && $this->origin_cmd !== "") { + $this->ctrl->setParameter($this, "origin_cmd", $this->origin_cmd); + } return $this->ctrl->getLinkTarget($this, "bookAvailableItems"); } diff --git a/components/ILIAS/BookingManager/classes/class.StandardGUIRequest.php b/components/ILIAS/BookingManager/classes/class.StandardGUIRequest.php index 903d361eaba2..b3d8f879e931 100755 --- a/components/ILIAS/BookingManager/classes/class.StandardGUIRequest.php +++ b/components/ILIAS/BookingManager/classes/class.StandardGUIRequest.php @@ -225,4 +225,8 @@ public function getBulkCreationData(): string return $this->str("data"); } + public function getOriginCmd(): string + { + return $this->str("origin_cmd"); + } } diff --git a/lang/ilias_de.lang b/lang/ilias_de.lang index 25dfa24276bf..f5b29706f352 100644 --- a/lang/ilias_de.lang +++ b/lang/ilias_de.lang @@ -2612,7 +2612,7 @@ book#:#book_object_selection#:#Angebotsauswahl book#:#book_object_updated#:#Das Angebot wurde geändert. book#:#book_objects_available#:#Verfügbare Angebote: %s book#:#book_open#:#Buchungspool öffnen -book#:#book_overall_limit#:#Begrenzung +book#:#book_overall_limit#:#Gesamtzahl der Buchungen pro Benutzer begrenzen book#:#book_overall_limit_warning#:#Sie haben die maximale Anzahl Buchungen erreicht. book#:#book_participant_already_assigned#:#Ein oder mehrere Teilnehmer waren bereits zugewiesen. book#:#book_participant_assigned#:#Teilnehmer wurde/n hinzugefügt. @@ -2665,7 +2665,7 @@ book#:#book_schedule_type_fixed#:#Buchung nach festem Zeitplan book#:#book_schedule_type_fixed_info#:#Geeignet für Buchungen von Dingen für einen bestimmten Zeitraum, wie Räume, Dienstleistungen oder Geräte. book#:#book_schedule_type_none#:#Ohne Zeitplan book#:#book_schedule_type_none_direct#:#Buchung ohne Termine -book#:#book_schedule_type_none_direct_info#:#Teilnehmer können direkt buchen. Der Modus ist geeignet für Referatsthemen oder Seminarplätze, die ohne Termin vergeben werden. +book#:#book_schedule_type_none_direct_info#:#Dieser Buchungsmodus ist ideal für Präsentationsthemen oder Plätze in Seminaren, die keine festen Zeiten erfordern. Teilnehmende können Elemente direkt nach dem Prinzip „wer zuerst kommt, mahlt zuerst“ buchen. Jedes Element kann nur einmal pro Teilnehmendem gebucht werden. book#:#book_schedule_type_none_info#:#Dieser Buchungsmodus ist geeignet für die Vergabe von Referatsthemen, Seminarplätzen oder vergleichbaren Angeboten. book#:#book_schedule_type_none_preference#:#Automatisch nach Präferenzen verteilen book#:#book_schedule_type_none_preference_info#:#Teilnehmer benennen zunächst Präferenzen. Zu einem gewählten Enddatum werden dann die Buchungen automatisch vorgenommen. Der Buchungsmodus ist geeignet für Referatsthemen oder Seminarplätze, die ohne Termin vergeben werden. @@ -2679,6 +2679,7 @@ book#:#book_show_message#:#Mitteilung anzeigen book#:#book_title_description_nr#:#Titel; Beschreibung; Anzahl book#:#book_title_description_nr_info#:#Geben Sie bitte Titel, Beschreibung und Anzahl getrennt durch ein Semikolon oder TAB ein. Nutzen Sie einen Zeile je Buchungsobjekt. book#:#book_too_many_preferences#:#Sie haben zu viele Präferenzen ausgewählt. Die Präferenzen wurden nicht gespeichert. +book#:#book_total_individual_bookings_limit#:#Begrenze die Gesamtanzahl an Buchungen, die von/für einzelne Teilnehmende durchgeführt werden können – über alle verfügbaren Objekte hinweg. Jedes buchbare Objekt kann dabei weiterhin nur einmal pro Teilnehmendem gebucht werden. book#:#book_type_warning#:#Es sind momentan keine Angebote vorhanden. Um den Pool nutzen zu können, müssen zuerst Angebote angelegt werden. book#:#book_week#:#Wochenansicht book#:#book_your_bookings#:#Ihre Buchungen From 370b1752c41e88c0dc77f3d184a84c7faa3bc59d Mon Sep 17 00:00:00 2001 From: mjansen Date: Tue, 16 Dec 2025 12:29:58 +0100 Subject: [PATCH 207/865] Chatroom: Fix message import on same installation See: https://mantis.ilias.de/view.php?id=46593 --- .../Chatroom/classes/class.ilChatroomXMLParser.php | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/components/ILIAS/Chatroom/classes/class.ilChatroomXMLParser.php b/components/ILIAS/Chatroom/classes/class.ilChatroomXMLParser.php index dec2889a94e2..8e7756c299f0 100755 --- a/components/ILIAS/Chatroom/classes/class.ilChatroomXMLParser.php +++ b/components/ILIAS/Chatroom/classes/class.ilChatroomXMLParser.php @@ -72,6 +72,11 @@ public function setHandlers($a_xml_parser): void public function handlerBeginTag(XMLParser $a_xml_parser, string $a_name, array $a_attribs): void { switch ($a_name) { + case 'Body': + $this->timestamp = null; + $this->message = null; + break; + case 'Messages': $this->in_messages = true; break; @@ -130,9 +135,6 @@ public function handlerEndTag(XMLParser $a_xml_parser, string $a_name): void break; case 'Message': - break; - - case 'Messages': if ($this->isSameInstallation()) { $message = json_decode($this->message, true, 512, JSON_THROW_ON_ERROR); if (is_array($message)) { @@ -142,8 +144,9 @@ public function handlerEndTag(XMLParser $a_xml_parser, string $a_name): void $this->room->addHistoryEntry($message); } } + break; - $this->timestamp = 0; + case 'Messages': $this->in_messages = false; break; From 38140b1911eb7373ac42e93b621799bda2dfa9ae Mon Sep 17 00:00:00 2001 From: Fabian Schmid Date: Tue, 16 Dec 2025 12:28:30 +0100 Subject: [PATCH 208/865] [FIX] array access # Conflicts: # components/ILIAS/StaticURL/src/Request/StaticURLRequestBuilder.php --- .../ILIAS/StaticURL/src/Request/StaticURLRequestBuilder.php | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/components/ILIAS/StaticURL/src/Request/StaticURLRequestBuilder.php b/components/ILIAS/StaticURL/src/Request/StaticURLRequestBuilder.php index f42ac1638d71..c07971a7a6e6 100755 --- a/components/ILIAS/StaticURL/src/Request/StaticURLRequestBuilder.php +++ b/components/ILIAS/StaticURL/src/Request/StaticURLRequestBuilder.php @@ -42,7 +42,9 @@ public function buildRequest(Services $http, Factory $refinery, array $handlers) $target_parts = explode('_', (string) $target); $namespace = array_shift($target_parts); - $reference_id = is_numeric($target_parts[0]) ? new ReferenceId((int) array_shift($target_parts)) : null; + $reference_id = is_numeric($target_parts[0] ?? null) + ? new ReferenceId((int) array_shift($target_parts)) + : null; $additional_parameters = []; foreach ($target_parts as $target_part) { $additional_parameters[] = urldecode($target_part); From c13d62140bf031dbf2b56dad023d36c24ffecc4f Mon Sep 17 00:00:00 2001 From: Aaron Bidzan Date: Tue, 16 Dec 2025 14:52:21 +0100 Subject: [PATCH 209/865] Introduces own booking module language variable for participant --- .../Participants/class.ilBookingParticipantGUI.php | 2 +- lang/ilias_de.lang | 1 + lang/ilias_en.lang | 1 + 3 files changed, 3 insertions(+), 1 deletion(-) diff --git a/components/ILIAS/BookingManager/Participants/class.ilBookingParticipantGUI.php b/components/ILIAS/BookingManager/Participants/class.ilBookingParticipantGUI.php index 1be1e9ec11cf..8a19294fa671 100755 --- a/components/ILIAS/BookingManager/Participants/class.ilBookingParticipantGUI.php +++ b/components/ILIAS/BookingManager/Participants/class.ilBookingParticipantGUI.php @@ -77,7 +77,7 @@ public function executeCommand(): void $a_user_id ); }); - $rep_search->setTitle($this->lng->txt("exc_add_participant")); + $rep_search->setTitle($this->lng->txt("book_add_participant")); $rep_search->setCallback($this, 'addParticipantObject'); $this->ctrl->setReturn($this, 'render'); $this->ctrl->forwardCommand($rep_search); diff --git a/lang/ilias_de.lang b/lang/ilias_de.lang index f5b29706f352..94a302c60ff6 100644 --- a/lang/ilias_de.lang +++ b/lang/ilias_de.lang @@ -2532,6 +2532,7 @@ blog#:#blog_whole_blog#:#Gesamtes Blog book#:#X_reservations_of#:#%s Buchungen von book#:#book_add#:#Buchungspool anlegen book#:#book_add_object#:#Angebot hinzufügen +book#:#book_add_participant#:#Teilnehmer hinzufügen book#:#book_add_schedule#:#Zeitplan hinzufügen book#:#book_additional_info_file#:#Zusätzliche Beschreibung book#:#book_all#:#Alle anzeigen diff --git a/lang/ilias_en.lang b/lang/ilias_en.lang index bf64b4a7cc75..03b167dc638e 100644 --- a/lang/ilias_en.lang +++ b/lang/ilias_en.lang @@ -2533,6 +2533,7 @@ blog#:#blog_whole_blog#:#Whole blog book#:#X_reservations_of#:#%s booking(s) of book#:#book_add#:#Add Booking Pool book#:#book_add_object#:#Add Item +book#:#book_add_participant#:#Add Participant book#:#book_add_schedule#:#Add Schedule book#:#book_additional_info_file#:#Additional Description book#:#book_all#:#Show all From 6baeb8cd323fc2a5006e776557173269d47630af Mon Sep 17 00:00:00 2001 From: mjansen Date: Tue, 16 Dec 2025 19:29:55 +0100 Subject: [PATCH 210/865] Contact: Make user selection mandatory for mailing lists See: https://mantis.ilias.de/view.php?id=46617 (cherry picked from commit e6daf4a528a8d7a6aa7d4ca777e5fae336d60815) --- components/ILIAS/Contact/classes/class.ilMailingListsGUI.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/components/ILIAS/Contact/classes/class.ilMailingListsGUI.php b/components/ILIAS/Contact/classes/class.ilMailingListsGUI.php index ead8a9090ef6..c847f487cd8e 100755 --- a/components/ILIAS/Contact/classes/class.ilMailingListsGUI.php +++ b/components/ILIAS/Contact/classes/class.ilMailingListsGUI.php @@ -606,7 +606,7 @@ private function getAssignmentForm(): ?StandardForm $user_select = $this->ui_factory->input()->field()->select( $this->lng->txt('mail_entry_of_contacts'), $options - ); + )->withRequired(true); $this->ctrl->setParameter($this, 'ml_id', $this->mlists->getCurrentMailingList()->getId()); $form = $this->ui_factory->input()->container()->form()->standard( From 3d00da3691351604d79a5a3351699bb4eebaf337 Mon Sep 17 00:00:00 2001 From: mjansen Date: Tue, 16 Dec 2025 20:01:19 +0100 Subject: [PATCH 211/865] Contact: Fix member pagination when using dropdown See: https://mantis.ilias.de/view.php?id=46619 (cherry picked from commit 215742c0453cd11ea4eb237904239be1f15504d3) --- .../ILIAS/Contact/classes/class.ilMailSearchObjectGUI.php | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/components/ILIAS/Contact/classes/class.ilMailSearchObjectGUI.php b/components/ILIAS/Contact/classes/class.ilMailSearchObjectGUI.php index 1651555694ab..df2d19c38bea 100755 --- a/components/ILIAS/Contact/classes/class.ilMailSearchObjectGUI.php +++ b/components/ILIAS/Contact/classes/class.ilMailSearchObjectGUI.php @@ -412,16 +412,14 @@ public function showMembers(): void } } + $this->lng->loadLanguageModule($this->getObjectType()); + $this->tpl->setTitle($this->lng->txt('mail_addressbook')); $this->ctrl->setParameter($this, 'view', $this->getObjectType() . '_members'); if ($obj_ids !== []) { $this->ctrl->setParameter($this, 'search_' . $this->getObjectType(), implode(',', $obj_ids)); } - $this->tpl->setVariable('ACTION', $this->ctrl->getFormAction($this)); - $this->ctrl->clearParameters($this); - - $this->lng->loadLanguageModule($this->getObjectType()); $context = $this->getContext(); @@ -436,7 +434,7 @@ public function showMembers(): void $searchTpl = new ilTemplate('tpl.mail_search_template.html', true, true, 'components/ILIAS/Contact'); foreach ($obj_ids as $obj_id) { $members_obj = ilParticipants::getInstanceByObjId($obj_id); - $usr_ids = array_map('intval', ilUtil::_sortIds($members_obj->getParticipants(), 'usr_data', 'lastname', 'usr_id')); + $usr_ids = array_map('\intval', ilUtil::_sortIds($members_obj->getParticipants(), 'usr_data', 'lastname', 'usr_id')); foreach ($usr_ids as $usr_id) { $user = new ilObjUser($usr_id); if (!$user->getActive()) { From 9a1c3539f77e89fb42aca358f36af2f2ec63e6ea Mon Sep 17 00:00:00 2001 From: mjansen Date: Wed, 17 Dec 2025 10:35:15 +0100 Subject: [PATCH 212/865] Badge: Fix retrieving query parameter See: https://mantis.ilias.de/view.php?id=46624 --- components/ILIAS/Badge/classes/class.ilBadgeProfileGUI.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/components/ILIAS/Badge/classes/class.ilBadgeProfileGUI.php b/components/ILIAS/Badge/classes/class.ilBadgeProfileGUI.php index d29c0bac2172..ca0ecb24fed3 100755 --- a/components/ILIAS/Badge/classes/class.ilBadgeProfileGUI.php +++ b/components/ILIAS/Badge/classes/class.ilBadgeProfileGUI.php @@ -79,8 +79,8 @@ public function executeCommand(): void $query = $DIC->http()->wrapper()->query(); $action = ''; $parameter = 'badge_table_action'; - if ($cmd === 'action' && $this->query->has($parameter)) { - $action = $this->query->retrieve($parameter, $DIC->refinery()->kindlyTo()->string()); + if ($cmd === 'action' && $query->has($parameter)) { + $action = $query->retrieve($parameter, $DIC->refinery()->kindlyTo()->string()); $cmd = 'listBadges'; } if ($action === 'obj_badge_activate') { From 884f852eba0ef1b1997a161a84847592ffc9f3c9 Mon Sep 17 00:00:00 2001 From: Lukas Scharmer Date: Wed, 17 Dec 2025 12:55:10 +0100 Subject: [PATCH 213/865] Contact: Use profile links in buddy system table --- .../classes/Tables/RelationsTable.php | 10 ++++++++-- .../Contact/classes/class.ilContactGUI.php | 19 ++++++++++++++++++- .../BuddySystem/Tables/RelationsTableTest.php | 9 +++++---- 3 files changed, 31 insertions(+), 7 deletions(-) diff --git a/components/ILIAS/Contact/BuddySystem/classes/Tables/RelationsTable.php b/components/ILIAS/Contact/BuddySystem/classes/Tables/RelationsTable.php index 3dbf7cbad536..6310145daf4a 100644 --- a/components/ILIAS/Contact/BuddySystem/classes/Tables/RelationsTable.php +++ b/components/ILIAS/Contact/BuddySystem/classes/Tables/RelationsTable.php @@ -46,11 +46,15 @@ class RelationsTable { + /** + * @param Closure(int, string): string $link_to_profile + */ public function __construct( private readonly UIFactory $create, private readonly ilLanguage $lng, private readonly ilUIService $ui_service, - private readonly Http $http + private readonly Http $http, + private readonly Closure $link_to_profile, ) { } @@ -214,7 +218,7 @@ private function filterComponent(string $target_url): Filter */ private function rows(array $data, array $actions): Closure { - return static function ( + return function ( DataRowBuilder $row_builder, array $visible_column_ids, Range $range, @@ -224,6 +228,8 @@ private function rows(array $data, array $actions): Closure $times = current($order) === 'ASC' ? 1 : -1; usort($data, fn(array $a, array $b): int => $times * strcasecmp($a[key($order)], $b[key($order)])); foreach ($data as $row) { + $row['public_name'] = ($this->link_to_profile)($row['user_id'], $row['public_name']); + $row['login'] = ($this->link_to_profile)($row['user_id'], $row['login']); $transitions = array_map(fn($s): string => $row['state'] . '->' . $s, $row['points']); yield array_reduce( $actions, diff --git a/components/ILIAS/Contact/classes/class.ilContactGUI.php b/components/ILIAS/Contact/classes/class.ilContactGUI.php index 2248c5ecd009..ac7d882f92d0 100755 --- a/components/ILIAS/Contact/classes/class.ilContactGUI.php +++ b/components/ILIAS/Contact/classes/class.ilContactGUI.php @@ -86,7 +86,8 @@ public function __construct( $this->ui_factory, $this->lng, $DIC->uiService(), - $this->http + $this->http, + $this->linkToProfile(...) ); $this->lng->loadLanguageModule('buddysystem'); } @@ -638,4 +639,20 @@ private function contactAction(): Closure $token ); } + + private function linkToProfile(int $user, string $label): string + { + $public_profile = ilObjUser::_lookupPref($user, 'public_profile'); + if (($this->user->isAnonymous() || $public_profile !== 'y') && $public_profile !== 'g') { + return $label; + } + + $this->ctrl->setParameterByClass(PublicProfileGUI::class, 'user', (string) $user); + $profile_target = $this->ctrl->getLinkTargetByClass( + PublicProfileGUI::class, + 'getHTML' + ); + + return $this->ui_renderer->render($this->ui_factory->link()->standard($label, $profile_target)); + } } diff --git a/components/ILIAS/Contact/tests/BuddySystem/Tables/RelationsTableTest.php b/components/ILIAS/Contact/tests/BuddySystem/Tables/RelationsTableTest.php index 47cc5996287a..9b1c1686c7a2 100644 --- a/components/ILIAS/Contact/tests/BuddySystem/Tables/RelationsTableTest.php +++ b/components/ILIAS/Contact/tests/BuddySystem/Tables/RelationsTableTest.php @@ -53,9 +53,9 @@ class RelationsTableTest extends TestCase public function testConstruct(): void { - $this->assertInstanceOf(RelationsTable::class, new RelationsTable( - ...array_map($this->mock(...), [UIFactory::class, ilLanguage::class, ilUIService::class, Http::class]) - )); + $args = array_map($this->mock(...), [UIFactory::class, ilLanguage::class, ilUIService::class, Http::class]); + $args[] = $this->fail(...); + $this->assertInstanceOf(RelationsTable::class, new RelationsTable(...$args)); } public function testData(): void @@ -127,7 +127,8 @@ public function testBuild(): void $this->mockTree(UIFactory::class, ['table' => ['data' => $data_table]]), $this->mock(ilLanguage::class), $this->mockTree(ilUIService::class, ['filter' => ['standard' => $filter]]), - $this->mockTree(Http::class, ['request' => $request]) + $this->mockTree(Http::class, ['request' => $request]), + fn($label) => $label, ) extends RelationsTable { public static Closure $data; public static function data(array $filter = []): array From 133f8a073f0077b248cfa2cde0c3d071be8a7447 Mon Sep 17 00:00:00 2001 From: Guido Vollbach Date: Wed, 17 Dec 2025 15:23:48 +0100 Subject: [PATCH 214/865] Badge/11/Bugfix (#10693) - Remove flavours and machines - Badge: Wrap rendered HTML of UI component in a "Badge"-specific container See: - https://mantis.ilias.de/view.php?id=46327 - https://mantis.ilias.de/view.php?id=46551 --------- Co-authored-by: mjansen --- .../class.ilBadgePictureDefinition.php | 77 ------------- .../Flavours/class.ilBadgePictureMachine.php | 106 ------------------ .../ILIAS/Badge/classes/ModalBuilder.php | 12 +- .../Badge/classes/class.ilBadgeImage.php | 7 +- .../classes/class.ilBadgeImageTemplate.php | 9 +- .../class.ilBadgeImageTemplateTableGUI.php | 16 +-- .../classes/class.ilBadgeManagementGUI.php | 4 - .../classes/class.ilBadgePersonalTableGUI.php | 8 +- .../Badge/classes/class.ilBadgeTableGUI.php | 12 +- .../classes/class.ilBadgeUserTableGUI.php | 1 - .../class.ilObjBadgeAdministrationGUI.php | 1 - .../classes/class.ilObjectBadgeTableGUI.php | 13 ++- .../src/Table/LegacyTableContentWrapper.php | 57 ++++++++++ .../legacy/Services/_component_badge.scss | 18 ++- templates/default/delos.css | 12 +- 15 files changed, 113 insertions(+), 240 deletions(-) delete mode 100644 components/ILIAS/Badge/classes/Flavours/class.ilBadgePictureDefinition.php delete mode 100644 components/ILIAS/Badge/classes/Flavours/class.ilBadgePictureMachine.php create mode 100644 components/ILIAS/Badge/src/Table/LegacyTableContentWrapper.php diff --git a/components/ILIAS/Badge/classes/Flavours/class.ilBadgePictureDefinition.php b/components/ILIAS/Badge/classes/Flavours/class.ilBadgePictureDefinition.php deleted file mode 100644 index 005e2ea6f16a..000000000000 --- a/components/ILIAS/Badge/classes/Flavours/class.ilBadgePictureDefinition.php +++ /dev/null @@ -1,77 +0,0 @@ - 1920, - 'l' => 960, - 'm' => 480, - 's' => 240, - 'xs' => 120 - ]; - - public function getId(): string - { - return self::ID; - } - - public function getFlavourMachineId(): string - { - return ilBadgePictureMachine::ID; - } - - public function getInternalName(): string - { - return 'badge_picture'; - } - - public function getVariantName(): ?string - { - return json_encode([ - 'quality' => $this->quality, - 'sizes' => $this->widths - ], JSON_THROW_ON_ERROR); - } - - public function persist(): bool - { - return true; - } - - public function getQuality(): int - { - return $this->quality; - } - - /** - * @return array{"xl": int, "l": int, "m": int, "s": int, "xs": int} - */ - public function getWidths(): array - { - return $this->widths; - } -} diff --git a/components/ILIAS/Badge/classes/Flavours/class.ilBadgePictureMachine.php b/components/ILIAS/Badge/classes/Flavours/class.ilBadgePictureMachine.php deleted file mode 100644 index 070d5f756a6c..000000000000 --- a/components/ILIAS/Badge/classes/Flavours/class.ilBadgePictureMachine.php +++ /dev/null @@ -1,106 +0,0 @@ -crop = new CropSquare(); - } - - public function getId(): string - { - return self::ID; - } - - public function canHandleDefinition(FlavourDefinition $definition): bool - { - return $definition instanceof ilBadgePictureDefinition; - } - - public function dependsOnEngine(): ?string - { - return ImagickEngine::class; - } - - public function processStream( - FileInformation $information, - FileStream $stream, - FlavourDefinition $for_definition - ): Generator { - /** @var ilBadgePictureDefinition $for_definition */ - $this->definition = $for_definition; - $this->information = $information; - - $i = 0; - foreach ($for_definition->getWidths() as $width) { - yield new Result( - $for_definition, - $this->cropImage($stream, $width), - $i, - true - ); - $i++; - } - } - - protected function cropImage( - FileStream $stream, - int $size - ): ?Stream { - $quality = $size <= self::FULL_QUALITY_SIZE_THRESHOLD - ? 100 - : $this->definition->getQuality(); - - return $this->crop->processStream( - $this->information, - $stream, - new CropToSquare( - false, - $size, - $quality - ) - )->current()->getStream(); - } -} diff --git a/components/ILIAS/Badge/classes/ModalBuilder.php b/components/ILIAS/Badge/classes/ModalBuilder.php index eab9e79a25d4..9da21c0e8978 100644 --- a/components/ILIAS/Badge/classes/ModalBuilder.php +++ b/components/ILIAS/Badge/classes/ModalBuilder.php @@ -28,7 +28,6 @@ use ilDatePresentation; use ILIAS\UI\Renderer; use ILIAS\UI\Factory; -use ILIAS\UI\Implementation\Component\Card\Card; class ModalBuilder { @@ -57,10 +56,17 @@ public function __construct(?ilBadgeAssignment $assignment = null) public function constructModal( ?Image $badge_image, string $badge_title, - array $badge_properties = [] + array $badge_properties = [], + bool $enclose_in_div = false ): Modal { if ($badge_image !== null) { - $modal_content[] = $badge_image; + if ($enclose_in_div) { + $modal_content[] = $this->ui_factory->legacy()->content( + '
' . $this->ui_renderer->render($badge_image) . '
' + ); + } else { + $modal_content[] = $badge_image; + } } if ($this->assignment) { diff --git a/components/ILIAS/Badge/classes/class.ilBadgeImage.php b/components/ILIAS/Badge/classes/class.ilBadgeImage.php index 8b8f6c5b076d..0359188f128f 100644 --- a/components/ILIAS/Badge/classes/class.ilBadgeImage.php +++ b/components/ILIAS/Badge/classes/class.ilBadgeImage.php @@ -67,11 +67,7 @@ public function getImageFromResourceId( if ($badge->getImageRid() !== '' && $badge->getImageRid() !== null) { $identification = $this->resource_storage->manage()->find($badge->getImageRid()); if ($identification !== null) { - $flavour = $this->resource_storage->flavours()->get($identification, new \ilBadgePictureDefinition()); - $urls = $this->resource_storage->consume()->flavourUrls($flavour)->getURLsAsArray(); - if (\count($urls) === self::IMAGE_URL_COUNT && isset($urls[$size])) { - $image_src = $urls[$size]; - } + $image_src = $this->resource_storage->consume()->src($identification)->getSrc(); } } elseif ($badge->getImage()) { $image_src = ilWACSignedPath::signFile($badge->getImagePath()); @@ -88,7 +84,6 @@ public function processImageUpload(ilBadge $badge): void $array_result = array_pop($array_result); $stakeholder = new ilBadgeFileStakeholder(); $identification = $this->resource_storage->manage()->upload($array_result, $stakeholder); - $this->resource_storage->flavours()->ensure($identification, new \ilBadgePictureDefinition()); $badge->setImageRid($identification->serialize()); $badge->update(); } catch (IllegalStateException $e) { diff --git a/components/ILIAS/Badge/classes/class.ilBadgeImageTemplate.php b/components/ILIAS/Badge/classes/class.ilBadgeImageTemplate.php index 1edf101717f3..c95b348f852a 100755 --- a/components/ILIAS/Badge/classes/class.ilBadgeImageTemplate.php +++ b/components/ILIAS/Badge/classes/class.ilBadgeImageTemplate.php @@ -19,7 +19,6 @@ use ILIAS\FileUpload\Exception\IllegalStateException; use ILIAS\ResourceStorage\Services; use ILIAS\FileUpload\FileUpload; -use ILIAS\Badge\ilBadgeImage; use ILIAS\ResourceStorage\Identification\ResourceIdentification; class ilBadgeImageTemplate @@ -184,7 +183,6 @@ public function processImageUpload(ilBadgeImageTemplate $badge): void } $stakeholder = new ilBadgeFileStakeholder(); $identification = $this->resource_storage->manage()->upload($array_result, $stakeholder); - $this->resource_storage->flavours()->ensure($identification, new \ilBadgePictureDefinition()); $badge->setImageRid($identification); $badge->update(); } @@ -378,18 +376,13 @@ public function setImageRid(?string $image_rid = null): void } public function getImageFromResourceId( - int $size = ilBadgeImage::IMAGE_SIZE_XS ): string { $image_src = ''; if ($this->getImageRid()) { $identification = $this->resource_storage->manage()->find($this->getImageRid()); if ($identification !== null) { - $flavour = $this->resource_storage->flavours()->get($identification, new ilBadgePictureDefinition()); - $urls = $this->resource_storage->consume()->flavourUrls($flavour)->getURLsAsArray(); - if (count($urls) === ilBadgeImage::IMAGE_URL_COUNT && isset($urls[$size])) { - $image_src = $urls[$size]; - } + $image_src = $this->resource_storage->consume()->src($identification)->getSrc(); } } elseif ($this->getImage()) { $image_src = ilWACSignedPath::signFile($this->getImagePath()); diff --git a/components/ILIAS/Badge/classes/class.ilBadgeImageTemplateTableGUI.php b/components/ILIAS/Badge/classes/class.ilBadgeImageTemplateTableGUI.php index 3095b5341aa7..15b36e9cafad 100755 --- a/components/ILIAS/Badge/classes/class.ilBadgeImageTemplateTableGUI.php +++ b/components/ILIAS/Badge/classes/class.ilBadgeImageTemplateTableGUI.php @@ -37,6 +37,7 @@ use ILIAS\UI\URLBuilderToken; use ILIAS\Filesystem\Stream\Streams; use ILIAS\UI\Component\Table\Column\Column; +use ILIAS\Badge\Table\TableContentWrapper; class ilBadgeImageTemplateTableGUI implements DataRetrieval { @@ -86,15 +87,12 @@ private function getRecords(): array ); $image_html = $this->renderer->render($image_component); - $image_src_large = $template->getImageFromResourceId( - ilBadgeImage::IMAGE_SIZE_XL - ); $large_image_component = $this->factory->image()->responsive( - $image_src_large, + $image_src, $template->getTitle() ); - $modal = $modal_container->constructModal($large_image_component, $template->getTitle()); + $modal = $modal_container->constructModal($large_image_component, $template->getTitle(), [], true); $image = implode('', [ $modal_container->renderShyButton($image_html, $modal), @@ -222,7 +220,6 @@ public function renderTable(string $url): void ->withActions($this->getActions($url_builder, $action_parameter_token, $row_id_token)) ->withRequest($this->request); - $out = [$table]; $query = $this->http->wrapper()->query(); if ($query->has('tid')) { $query_values = $query->retrieve( @@ -280,6 +277,11 @@ public function renderTable(string $url): void } } - $this->tpl->setContent($this->renderer->render($out)); + $content_wrapper = new TableContentWrapper($this->renderer, $this->factory); + $this->tpl->setContent($this->renderer->render( + $content_wrapper->wrap( + $table + ) + )); } } diff --git a/components/ILIAS/Badge/classes/class.ilBadgeManagementGUI.php b/components/ILIAS/Badge/classes/class.ilBadgeManagementGUI.php index 1ab74e7dd602..b50c6edbe456 100755 --- a/components/ILIAS/Badge/classes/class.ilBadgeManagementGUI.php +++ b/components/ILIAS/Badge/classes/class.ilBadgeManagementGUI.php @@ -24,8 +24,6 @@ use ILIAS\Badge\ilBadgeUserTableGUI; use ILIAS\Refinery\Factory; use ILIAS\ResourceStorage\Identification\ResourceIdentification; -use ILIAS\ResourceStorage\Collection\ResourceCollection; -use ILIAS\Setup\ArrayEnvironment; /** * @ilCtrl_Calls ilBadgeManagementGUI: ilPropertyFormGUI @@ -50,7 +48,6 @@ class ilBadgeManagementGUI implements ilCtrlSecurityInterface private ?ilBadgeImage $badge_image_service = null; private ?Services $resource_storage; private ?FileUpload $upload_service; - private ?ilBadgePictureDefinition $flavour_definition = null; private \ILIAS\HTTP\Services $http; private Factory $refinery; @@ -96,7 +93,6 @@ public function __construct( $DIC->upload(), $DIC->ui()->mainTemplate() ); - $this->flavour_definition = new ilBadgePictureDefinition(); } /** diff --git a/components/ILIAS/Badge/classes/class.ilBadgePersonalTableGUI.php b/components/ILIAS/Badge/classes/class.ilBadgePersonalTableGUI.php index d567c39dfdb0..5c517a39f09f 100755 --- a/components/ILIAS/Badge/classes/class.ilBadgePersonalTableGUI.php +++ b/components/ILIAS/Badge/classes/class.ilBadgePersonalTableGUI.php @@ -35,6 +35,7 @@ use ILIAS\Badge\PresentationHeader; use ILIAS\Badge\Tile; use ILIAS\UI\Component\Table\Column\Column; +use ILIAS\Badge\Table\TableContentWrapper; class ilBadgePersonalTableGUI implements DataRetrieval { @@ -384,6 +385,11 @@ public function renderTable(string $url): void $pres = new PresentationHeader($this->dic, ilBadgeProfileGUI::class); $pres->show($this->lng->txt('table_view')); - $this->tpl->setContent($this->renderer->render($table)); + $content_wrapper = new TableContentWrapper($this->renderer, $this->factory); + $this->tpl->setContent($this->renderer->render( + $content_wrapper->wrap( + $table + ) + )); } } diff --git a/components/ILIAS/Badge/classes/class.ilBadgeTableGUI.php b/components/ILIAS/Badge/classes/class.ilBadgeTableGUI.php index 5615db8e5183..f4feb9501d29 100755 --- a/components/ILIAS/Badge/classes/class.ilBadgeTableGUI.php +++ b/components/ILIAS/Badge/classes/class.ilBadgeTableGUI.php @@ -38,6 +38,7 @@ use ilBadgeAuto; use ILIAS\Filesystem\Stream\Streams; use ILIAS\UI\Component\Table\Column\Column; +use ILIAS\Badge\Table\TableContentWrapper; class ilBadgeTableGUI implements DataRetrieval { @@ -179,7 +180,8 @@ private function enrichRecord(ModalBuilder $modal_builder, array $record): array [ 'description' => $badge->getDescription(), 'badge_criteria' => $badge->getCriteria(), - ] + ], + true ); $record['image'] = $images['rendered'] @@ -351,7 +353,6 @@ public function renderTable(string $url): void ->withOrder(new Order('title', Order::ASC)) ->withActions($this->getActions($url_builder, $action_parameter_token, $row_id_token)) ->withRequest($this->request); - $out = [$table]; $query = $this->http->wrapper()->query(); @@ -387,6 +388,11 @@ public function renderTable(string $url): void } } - $this->tpl->setContent($this->renderer->render($out)); + $content_wrapper = new TableContentWrapper($this->renderer, $this->factory); + $this->tpl->setContent($this->renderer->render( + $content_wrapper->wrap( + $table + ) + )); } } diff --git a/components/ILIAS/Badge/classes/class.ilBadgeUserTableGUI.php b/components/ILIAS/Badge/classes/class.ilBadgeUserTableGUI.php index 8359f0d42b53..284c55b0433d 100755 --- a/components/ILIAS/Badge/classes/class.ilBadgeUserTableGUI.php +++ b/components/ILIAS/Badge/classes/class.ilBadgeUserTableGUI.php @@ -41,7 +41,6 @@ use ILIAS\UI\URLBuilderToken; use ilObjectDataDeletionLog; use ilTree; -use ilCalendarSettings; use ilObjUser; use ILIAS\Data\DateFormat\DateFormat; use ILIAS\UI\Component\Table\Column\Column; diff --git a/components/ILIAS/Badge/classes/class.ilObjBadgeAdministrationGUI.php b/components/ILIAS/Badge/classes/class.ilObjBadgeAdministrationGUI.php index e20d18f3907c..ca0b09aa80a6 100755 --- a/components/ILIAS/Badge/classes/class.ilObjBadgeAdministrationGUI.php +++ b/components/ILIAS/Badge/classes/class.ilObjBadgeAdministrationGUI.php @@ -17,7 +17,6 @@ *********************************************************************/ use ILIAS\Badge\ilBadgeImageTemplateTableGUI; -use ILIAS\HTTP\Services; use ILIAS\Badge\ilBadgeTypesTableGUI; use ILIAS\Badge\ilObjectBadgeTableGUI; use ILIAS\Badge\ilBadgeUserTableGUI; diff --git a/components/ILIAS/Badge/classes/class.ilObjectBadgeTableGUI.php b/components/ILIAS/Badge/classes/class.ilObjectBadgeTableGUI.php index a9e4e097e5b9..6bbf931dd6c0 100755 --- a/components/ILIAS/Badge/classes/class.ilObjectBadgeTableGUI.php +++ b/components/ILIAS/Badge/classes/class.ilObjectBadgeTableGUI.php @@ -45,6 +45,7 @@ use ILIAS\UI\Component\Table\Action\Action; use ilAccessHandler; use ILIAS\UI\Component\Table\Column\Column; +use ILIAS\Badge\Table\TableContentWrapper; class ilObjectBadgeTableGUI implements DataRetrieval { @@ -299,7 +300,8 @@ private function enrichRecord( 'active' => $badge_item['active'] ? $this->lng->txt('yes') : $this->lng->txt('no'), 'type' => $record['type'], 'container' => implode(' ', \array_slice($container_title_parts, 1, null, true)), - ] + ], + true ); return [ @@ -456,8 +458,6 @@ public function renderTable(string $url): void ->withActions($this->getActions($url_builder, $action_parameter_token, $row_id_token)) ->withRequest($this->request); - $out = [$table]; - $query = $this->http->wrapper()->query(); if ($query->has($action_parameter_token->getName())) { $action = $query->retrieve($action_parameter_token->getName(), $this->refinery->kindlyTo()->string()); @@ -506,6 +506,11 @@ public function renderTable(string $url): void } } - $this->tpl->setContent($this->renderer->render($out)); + $content_wrapper = new TableContentWrapper($this->renderer, $this->factory); + $this->tpl->setContent($this->renderer->render( + $content_wrapper->wrap( + $table + ) + )); } } diff --git a/components/ILIAS/Badge/src/Table/LegacyTableContentWrapper.php b/components/ILIAS/Badge/src/Table/LegacyTableContentWrapper.php new file mode 100644 index 000000000000..e46709c693f1 --- /dev/null +++ b/components/ILIAS/Badge/src/Table/LegacyTableContentWrapper.php @@ -0,0 +1,57 @@ + Table > Data + * into a specific HTML container/block element (div). + * Since badge images are of different types (PNG as raster image, SVG as vector image), + * and the UI > Table > Data > Column types are agnostic of the content type, we need + * this wrapper to apply specific CSS styles to the rendered HTML images to prevent visual issues + * (like image stretching, alignment issues, etc.). + * We were not able to adress this with IRSS flavours and picture mashines (crop etc.) to ensure + * equal dimensions of the images (in contrast to ILIAS <= 9.x), since this heavily + * relies on `Imagick` (which is not always available) and also causes issues because + * of the different image types (transparancy handling etc.). + * If the UI > Table > Data supports some non-responsive/fixed width image column types, + * this class MUST NOT be used anymore. + * See: https://mantis.ilias.de/view.php?id=46327, https://mantis.ilias.de/view.php?id=46551 + * @depracated + */ +final class TableContentWrapper +{ + public function __construct( + private readonly Renderer $r, + private readonly Factory $f, + ) { + } + + public function wrap(Data $c): \ILIAS\UI\Component\Legacy\Content + { + return $this->f->legacy()->content( + '
' . $this->r->render($c) . '
' + ); + } +} diff --git a/templates/default/070-components/legacy/Services/_component_badge.scss b/templates/default/070-components/legacy/Services/_component_badge.scss index d716ef185868..e642397c22f5 100755 --- a/templates/default/070-components/legacy/Services/_component_badge.scss +++ b/templates/default/070-components/legacy/Services/_component_badge.scss @@ -5,16 +5,14 @@ img.ilBadgeImage { max-height: 150px; } -.ilBadgeImageThumbnail a .img-responsive { - max-width: 50px; - max-height: 50px; - display: inline-block; -} - -.ilBadgeImageThumbnail .modal .img-responsive { - margin: auto; - width: 50%; - height: auto; +.badge_table-wrapper { + button, a { + > img.img-responsive { + max-width: 150px; + max-height: 150px; + display: inline-block; + } + } } div.ilBadgeBackpackPanelContent { diff --git a/templates/default/delos.css b/templates/default/delos.css index e24057cd4fa7..9e4299cbae18 100644 --- a/templates/default/delos.css +++ b/templates/default/delos.css @@ -17188,18 +17188,12 @@ img.ilBadgeImage { max-height: 150px; } -.ilBadgeImageThumbnail a .img-responsive { - max-width: 50px; - max-height: 50px; +.badge_table-wrapper button > img.img-responsive, .badge_table-wrapper a > img.img-responsive { + max-width: 150px; + max-height: 150px; display: inline-block; } -.ilBadgeImageThumbnail .modal .img-responsive { - margin: auto; - width: 50%; - height: auto; -} - div.ilBadgeBackpackPanelContent { min-height: 200px; } From d0ce8bd3468a86f2d792342377cf85b407cd37ce Mon Sep 17 00:00:00 2001 From: Chris Potter Date: Wed, 17 Dec 2025 15:26:16 +0100 Subject: [PATCH 215/865] AE to BE correction --- lang/ilias_en.lang | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lang/ilias_en.lang b/lang/ilias_en.lang index 03b167dc638e..f95094a3a8c6 100644 --- a/lang/ilias_en.lang +++ b/lang/ilias_en.lang @@ -770,7 +770,7 @@ assessment#:#hide_best_solution#:#Hide best solution assessment#:#identical_scoring#:#Identical Scoring assessment#:#identical_scoring_desc#:#If selected, gaps with identical solutions will be scored, even if the same solution was used twice or more. If not selected, only the first occurrence of the same solution will be scored. assessment#:#imagemap#:#Image Map -assessment#:#imap_line_color#:#Image Map Line Color +assessment#:#imap_line_color#:#Image Map Line Colour assessment#:#import_question#:#Import Question(s) assessment#:#in_range#:#Within range assessment#:#in_trash#:#In Trash From 25b2dabfa53c6180e21a2451274861d0cd754178 Mon Sep 17 00:00:00 2001 From: mjansen Date: Wed, 17 Dec 2025 15:31:50 +0100 Subject: [PATCH 216/865] Badge: Fix typo in phpdoc comment --- components/ILIAS/Badge/src/Table/LegacyTableContentWrapper.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/components/ILIAS/Badge/src/Table/LegacyTableContentWrapper.php b/components/ILIAS/Badge/src/Table/LegacyTableContentWrapper.php index e46709c693f1..284b41f54eed 100644 --- a/components/ILIAS/Badge/src/Table/LegacyTableContentWrapper.php +++ b/components/ILIAS/Badge/src/Table/LegacyTableContentWrapper.php @@ -38,7 +38,7 @@ * If the UI > Table > Data supports some non-responsive/fixed width image column types, * this class MUST NOT be used anymore. * See: https://mantis.ilias.de/view.php?id=46327, https://mantis.ilias.de/view.php?id=46551 - * @depracated + * @deprecated */ final class TableContentWrapper { From 91cbf3cf00e94855076a3893b75419a0688757a9 Mon Sep 17 00:00:00 2001 From: iszmais <45942348+iszmais@users.noreply.github.com> Date: Wed, 17 Dec 2025 15:54:59 +0100 Subject: [PATCH 217/865] remove artifacts of tablevieworder (#10757) --- .../classes/TableView/class.ilDclTableViewEditGUI.php | 1 - 1 file changed, 1 deletion(-) diff --git a/components/ILIAS/DataCollection/classes/TableView/class.ilDclTableViewEditGUI.php b/components/ILIAS/DataCollection/classes/TableView/class.ilDclTableViewEditGUI.php index 40a22c16aedb..02f4e388fb11 100755 --- a/components/ILIAS/DataCollection/classes/TableView/class.ilDclTableViewEditGUI.php +++ b/components/ILIAS/DataCollection/classes/TableView/class.ilDclTableViewEditGUI.php @@ -254,7 +254,6 @@ public function save(bool $create = false): void $this->tableview->setRoles($data['settings']['role_limitation']['roles'] ?? []); if ($create) { $this->tableview->setTableId($this->table->getId()); - $this->tableview->setOrder($this->table->getNewTableviewOrder()); $this->tpl->setOnScreenMessage($this->tpl::MESSAGE_TYPE_SUCCESS, $this->lng->txt('dcl_msg_tableview_created'), true); $this->tableview->create(); } else { From b98795a2cfecbe144dd604af4dba8399fdc802ff Mon Sep 17 00:00:00 2001 From: Fabian Wolf Date: Wed, 17 Dec 2025 15:52:37 +0100 Subject: [PATCH 218/865] Case changes --- lang/ilias_en.lang | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/lang/ilias_en.lang b/lang/ilias_en.lang index f95094a3a8c6..02881d429595 100644 --- a/lang/ilias_en.lang +++ b/lang/ilias_en.lang @@ -970,9 +970,9 @@ assessment#:#option_label_not_adequate#:#not adequate assessment#:#option_label_not_applicable#:#not applicable assessment#:#option_label_plus#:#+ assessment#:#option_label_plus_minus#:#+ / - -assessment#:#option_label_right#:#right +assessment#:#option_label_right#:#Right assessment#:#option_label_right_wrong#:#right / wrong -assessment#:#option_label_wrong#:#wrong +assessment#:#option_label_wrong#:#Wrong assessment#:#oq_btn_define_pictures#:#Switch to picture definition view assessment#:#oq_btn_define_terms#:#Switch to term definition view assessment#:#oq_btn_nest_pictures#:#Switch to picture nesting view @@ -18005,4 +18005,4 @@ wsp#:#wsp_type_ltiv#:#Certificate: LTI Consumer wsp#:#wsp_type_scov#:#Certificate: SCORM wsp#:#wsp_type_tstv#:#Certificate: Test wsp#:#wsp_type_webr#:#Weblink -wsp#:#wsp_type_wfld#:#Folder \ No newline at end of file +wsp#:#wsp_type_wfld#:#Folder From 71966840ddd07be0485a843771714e16c5fd484d Mon Sep 17 00:00:00 2001 From: iszmais <45942348+iszmais@users.noreply.github.com> Date: Wed, 17 Dec 2025 16:26:44 +0100 Subject: [PATCH 219/865] dc fix text regex validation (#10761) --- .../classes/Fields/Text/class.ilDclTextFieldModel.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/components/ILIAS/DataCollection/classes/Fields/Text/class.ilDclTextFieldModel.php b/components/ILIAS/DataCollection/classes/Fields/Text/class.ilDclTextFieldModel.php index a4b992d1dd5e..9e0fd02ac6a1 100755 --- a/components/ILIAS/DataCollection/classes/Fields/Text/class.ilDclTextFieldModel.php +++ b/components/ILIAS/DataCollection/classes/Fields/Text/class.ilDclTextFieldModel.php @@ -114,7 +114,7 @@ protected function checkRegexAndLength(string $value): void throw new ilDclInputException(ilDclInputException::REGEX_CONFIG_EXCEPTION); } - if ($preg_match === false) { + if ($preg_match !== 1) { throw new ilDclInputException(ilDclInputException::REGEX_EXCEPTION); } } From 3d5542e2c1f3dbdb0776154119662fedae407f1d Mon Sep 17 00:00:00 2001 From: iszmais <45942348+iszmais@users.noreply.github.com> Date: Wed, 17 Dec 2025 16:44:19 +0100 Subject: [PATCH 220/865] set missing table id after creation (#9920) (#10763) --- .../DataCollection/classes/Table/class.ilDclTableEditGUI.php | 1 + 1 file changed, 1 insertion(+) diff --git a/components/ILIAS/DataCollection/classes/Table/class.ilDclTableEditGUI.php b/components/ILIAS/DataCollection/classes/Table/class.ilDclTableEditGUI.php index 48dac4984a30..81f69997a128 100755 --- a/components/ILIAS/DataCollection/classes/Table/class.ilDclTableEditGUI.php +++ b/components/ILIAS/DataCollection/classes/Table/class.ilDclTableEditGUI.php @@ -260,6 +260,7 @@ public function save(bool $create = true): void if ($create) { $this->table->doCreate(); + $this->ctrl->setParameter($this, 'table_id', $this->table->getId()); $message = 'dcl_msg_table_created'; } else { $this->table->setDefaultSortField($data['table']['default_sort_field']); From 3613a231909da7d548df89a4b3e48ed4f5cada0a Mon Sep 17 00:00:00 2001 From: Tim Schmitz Date: Thu, 18 Dec 2025 10:33:00 +0100 Subject: [PATCH 221/865] Course: make reading out course defined field values more robust (46618) --- .../Export/class.ilCourseDefinedFieldDefinition.php | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/components/ILIAS/Course/classes/Export/class.ilCourseDefinedFieldDefinition.php b/components/ILIAS/Course/classes/Export/class.ilCourseDefinedFieldDefinition.php index 79ce2ab89472..08b7d2d5f8cc 100755 --- a/components/ILIAS/Course/classes/Export/class.ilCourseDefinedFieldDefinition.php +++ b/components/ILIAS/Course/classes/Export/class.ilCourseDefinedFieldDefinition.php @@ -1,4 +1,5 @@ setName((string) $row->field_name); $this->setType((int) $row->field_type); - $this->setValues(unserialize($row->field_values) ?: []); - $this->setValueOptions(unserialize($row->field_values_opt) ?: []); + $this->setValues($row->field_values === null ? [] : (unserialize($row->field_values) ?: [])); + $this->setValueOptions($row->field_values === null ? [] : (unserialize($row->field_values_opt) ?: [])); $this->enableRequired((bool) $row->field_required); } } From 12501bb7eb5a1208899510767070f525a7991561 Mon Sep 17 00:00:00 2001 From: Tim Schmitz Date: Thu, 18 Dec 2025 10:37:42 +0100 Subject: [PATCH 222/865] sort langfiles --- lang/ilias_en.lang | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lang/ilias_en.lang b/lang/ilias_en.lang index 02881d429595..788ca84ae26e 100644 --- a/lang/ilias_en.lang +++ b/lang/ilias_en.lang @@ -18005,4 +18005,4 @@ wsp#:#wsp_type_ltiv#:#Certificate: LTI Consumer wsp#:#wsp_type_scov#:#Certificate: SCORM wsp#:#wsp_type_tstv#:#Certificate: Test wsp#:#wsp_type_webr#:#Weblink -wsp#:#wsp_type_wfld#:#Folder +wsp#:#wsp_type_wfld#:#Folder \ No newline at end of file From 2d32e6ec0d6389cab2ec55e92cbb10216298cd9a Mon Sep 17 00:00:00 2001 From: Tim Schmitz Date: Thu, 18 Dec 2025 11:19:48 +0100 Subject: [PATCH 223/865] Course: fix typo (46618) --- .../classes/Export/class.ilCourseDefinedFieldDefinition.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/components/ILIAS/Course/classes/Export/class.ilCourseDefinedFieldDefinition.php b/components/ILIAS/Course/classes/Export/class.ilCourseDefinedFieldDefinition.php index 08b7d2d5f8cc..2ea932f09c1b 100755 --- a/components/ILIAS/Course/classes/Export/class.ilCourseDefinedFieldDefinition.php +++ b/components/ILIAS/Course/classes/Export/class.ilCourseDefinedFieldDefinition.php @@ -322,7 +322,7 @@ private function read(): void $this->setName((string) $row->field_name); $this->setType((int) $row->field_type); $this->setValues($row->field_values === null ? [] : (unserialize($row->field_values) ?: [])); - $this->setValueOptions($row->field_values === null ? [] : (unserialize($row->field_values_opt) ?: [])); + $this->setValueOptions($row->field_values_opt === null ? [] : (unserialize($row->field_values_opt) ?: [])); $this->enableRequired((bool) $row->field_required); } } From b8ac853587bbbaa0727e19f5299fc069a7e98477 Mon Sep 17 00:00:00 2001 From: Lukas Eichenauer Date: Wed, 17 Dec 2025 16:25:06 +0100 Subject: [PATCH 224/865] fix: news items should not be aggregated recursively in categories --- .../News/src/Aggregation/CategoryAggregationStrategy.php | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/components/ILIAS/News/src/Aggregation/CategoryAggregationStrategy.php b/components/ILIAS/News/src/Aggregation/CategoryAggregationStrategy.php index 3980b31b537e..728d8983b81d 100644 --- a/components/ILIAS/News/src/Aggregation/CategoryAggregationStrategy.php +++ b/components/ILIAS/News/src/Aggregation/CategoryAggregationStrategy.php @@ -31,4 +31,9 @@ public function shouldSkip(NewsContext $context): bool { return false; } + + public function isRecursive(): bool + { + return true; + } } From 8ce96c0e13e94aad063de4b5e844e029a8b79896 Mon Sep 17 00:00:00 2001 From: Lukas Eichenauer Date: Thu, 18 Dec 2025 10:21:43 +0100 Subject: [PATCH 225/865] fix: use subtree aggregation to load news in nested folders --- .../ILIAS/News/src/Aggregation/NewsAggregator.php | 1 + .../src/Aggregation/SubtreeAggregationStrategy.php | 12 ++++++++---- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/components/ILIAS/News/src/Aggregation/NewsAggregator.php b/components/ILIAS/News/src/Aggregation/NewsAggregator.php index 5ccde866ff63..be589e766821 100644 --- a/components/ILIAS/News/src/Aggregation/NewsAggregator.php +++ b/components/ILIAS/News/src/Aggregation/NewsAggregator.php @@ -98,5 +98,6 @@ protected function initializeStrategies(): void $this->strategies['cat'] = new CategoryAggregationStrategy($this->tree); $this->strategies['crs'] = $subtree_strategy; $this->strategies['grp'] = $subtree_strategy; + $this->strategies['fold'] = $subtree_strategy; } } diff --git a/components/ILIAS/News/src/Aggregation/SubtreeAggregationStrategy.php b/components/ILIAS/News/src/Aggregation/SubtreeAggregationStrategy.php index 7584b62aff1a..cd7778eb5d51 100644 --- a/components/ILIAS/News/src/Aggregation/SubtreeAggregationStrategy.php +++ b/components/ILIAS/News/src/Aggregation/SubtreeAggregationStrategy.php @@ -58,9 +58,13 @@ public function isRecursive(): bool public function shouldSkip(NewsContext $context): bool { - // see #31471, #30687, and ilMembershipNotification - return !\ilContainer::_lookupContainerSetting($context->getObjId(), 'cont_use_news', '1') - || (!\ilContainer::_lookupContainerSetting($context->getObjId(), 'cont_show_news', '1') - && !\ilContainer::_lookupContainerSetting($context->getObjId(), 'news_timeline')); + if (in_array($context->getObjType(), ['crs', 'grp', 'cat'])) { + // see #31471, #30687, and ilMembershipNotification + return !\ilContainer::_lookupContainerSetting($context->getObjId(), 'cont_use_news', '1') + || (!\ilContainer::_lookupContainerSetting($context->getObjId(), 'cont_show_news', '1') + && !\ilContainer::_lookupContainerSetting($context->getObjId(), 'news_timeline')); + } + + return false; } } From 28d63a9267e9abb38932192d22b3335387690b72 Mon Sep 17 00:00:00 2001 From: Lukas Eichenauer Date: Thu, 18 Dec 2025 12:08:33 +0100 Subject: [PATCH 226/865] fix: disable forum grouping in forum container --- .../ILIAS/News/classes/class.ilNewsForContextBlockGUI.php | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/components/ILIAS/News/classes/class.ilNewsForContextBlockGUI.php b/components/ILIAS/News/classes/class.ilNewsForContextBlockGUI.php index 95397b55be73..ee1e8ff000f9 100755 --- a/components/ILIAS/News/classes/class.ilNewsForContextBlockGUI.php +++ b/components/ILIAS/News/classes/class.ilNewsForContextBlockGUI.php @@ -107,8 +107,10 @@ private function loadNewsData(): void true ); - $forum_grouping = $this->ctrl->getContextObjType() !== 'frm'; - $this->initData($collection->groupFiles()->groupForums($forum_grouping)); + if ($this->ctrl->getContextObjType() !== 'frm') { + $collection = $collection->groupForums(true); + } + $this->initData($collection->groupFiles()); } protected function initData(NewsCollection $collection): void From 611d26b92d9992460fb969d24eb68e6570ed25d7 Mon Sep 17 00:00:00 2001 From: Lukas Eichenauer Date: Thu, 18 Dec 2025 14:39:01 +0100 Subject: [PATCH 227/865] fix: prevent private news items from being loaded from cache when only_public --- components/ILIAS/News/src/Persistence/NewsCache.php | 1 + 1 file changed, 1 insertion(+) diff --git a/components/ILIAS/News/src/Persistence/NewsCache.php b/components/ILIAS/News/src/Persistence/NewsCache.php index fdf555506222..8cc6aa4efa1c 100644 --- a/components/ILIAS/News/src/Persistence/NewsCache.php +++ b/components/ILIAS/News/src/Persistence/NewsCache.php @@ -209,6 +209,7 @@ protected function generateL3Key(int $user_id, NewsCriteria $criteria): string 'min_priority' => $criteria->getMinPriority(), 'max_priority' => $criteria->getMaxPriority(), 'no_auto_generated' => $criteria->isNoAutoGenerated(), + 'only_public' => $criteria->isOnlyPublic() ]; // The Period of entries only needs to be considered if cache entries are stored for longer periods From 8f97f523c2101bfe1e9ea3d54c9f969310a12031 Mon Sep 17 00:00:00 2001 From: Stephan Kergomard Date: Fri, 19 Dec 2025 09:09:12 +0100 Subject: [PATCH 228/865] Test: Fix Content Style in OrderingQst See: https://mantis.ilias.de/view.php?id=46627 --- .../classes/class.assOrderingQuestionGUI.php | 2 -- ...ss.ilAssNestedOrderingElementsInputGUI.php | 10 ---------- .../class.ilAssOrderingImagesInputGUI.php | 20 +------------------ .../class.ilAssOrderingTextsInputGUI.php | 19 ------------------ 4 files changed, 1 insertion(+), 50 deletions(-) diff --git a/components/ILIAS/TestQuestionPool/classes/class.assOrderingQuestionGUI.php b/components/ILIAS/TestQuestionPool/classes/class.assOrderingQuestionGUI.php index 54e55ae42d2a..2605757d2f4f 100755 --- a/components/ILIAS/TestQuestionPool/classes/class.assOrderingQuestionGUI.php +++ b/components/ILIAS/TestQuestionPool/classes/class.assOrderingQuestionGUI.php @@ -257,7 +257,6 @@ public function populateAnswerSpecificFormPart(ilPropertyFormGUI $form): ilPrope $form->addItem($header); $orderingElementInput = $this->object->buildOrderingElementInputGui(); - $orderingElementInput->setStylingDisabled($this->isRenderPurposePrintPdf()); $this->object->initOrderingElementAuthoringProperties($orderingElementInput); $list = $this->object->getOrderingElementList(); @@ -397,7 +396,6 @@ protected function buildNestingForm() $form->addItem($header); $orderingElementInput = $this->object->buildNestedOrderingElementInputGui(); - $orderingElementInput->setStylingDisabled($this->isRenderPurposePrintPdf()); $this->object->initOrderingElementAuthoringProperties($orderingElementInput); diff --git a/components/ILIAS/TestQuestionPool/classes/forms/class.ilAssNestedOrderingElementsInputGUI.php b/components/ILIAS/TestQuestionPool/classes/forms/class.ilAssNestedOrderingElementsInputGUI.php index dbd0f215cff7..06a676b89e9f 100755 --- a/components/ILIAS/TestQuestionPool/classes/forms/class.ilAssNestedOrderingElementsInputGUI.php +++ b/components/ILIAS/TestQuestionPool/classes/forms/class.ilAssNestedOrderingElementsInputGUI.php @@ -41,7 +41,6 @@ class ilAssNestedOrderingElementsInputGUI extends ilIdentifiedMultiValuesInputGU private ?ilAssOrderingElementList $correctness_true_element_list = null; private bool $interaction_enabled = true; private bool $nesting_enabled = true; - private bool $styling_disabled = false; private ?ilTemplate $list_tpl = null; private UIFactory $ui_factory; @@ -70,11 +69,6 @@ public function setNestingEnabled(bool $nesting_enabled): void $this->nesting_enabled = $nesting_enabled; } - public function setStylingDisabled(bool $styling_disabled): void - { - $this->styling_disabled = $styling_disabled; - } - private function getGlobalTpl() { return isset($GLOBALS['DIC']) ? $GLOBALS['DIC']['tpl'] : $GLOBALS['tpl']; @@ -383,10 +377,6 @@ function (string $c, array $v) use ($sort_closure): string { public function render(string $a_mode = ''): string { - if (!$this->styling_disabled) { - $this->getGlobalTpl()->addCss('assets/css/content.css'); - } - if ($this->interaction_enabled) { $this->initializePlayerJS(); } diff --git a/components/ILIAS/TestQuestionPool/classes/forms/class.ilAssOrderingImagesInputGUI.php b/components/ILIAS/TestQuestionPool/classes/forms/class.ilAssOrderingImagesInputGUI.php index cf043bca8aad..a947f6ccbcfa 100755 --- a/components/ILIAS/TestQuestionPool/classes/forms/class.ilAssOrderingImagesInputGUI.php +++ b/components/ILIAS/TestQuestionPool/classes/forms/class.ilAssOrderingImagesInputGUI.php @@ -1,4 +1,5 @@ addFormValuesManipulator($converter); } - /** - * FOR COMPATIBILITY ONLY - * - * @param $stylingDisabled - */ - public function setStylingDisabled($stylingDisabled): void - { - } - - /** - * FOR COMPATIBILITY ONLY - * - * @return bool - */ - public function getStylingDisabled(): bool - { - return false; - } - /** * @param ilAssOrderingElementList $elementList */ From 02f62656067dff7cc4f28b8c6f10b94dade579e3 Mon Sep 17 00:00:00 2001 From: Stephan Kergomard Date: Fri, 19 Dec 2025 10:30:05 +0100 Subject: [PATCH 229/865] User: Fix Link to Profile See: https://mantis.ilias.de/view.php?id=46602 --- components/ILIAS/User/src/StaticURLHandler.php | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/components/ILIAS/User/src/StaticURLHandler.php b/components/ILIAS/User/src/StaticURLHandler.php index 4c251c9a122b..5358db188025 100755 --- a/components/ILIAS/User/src/StaticURLHandler.php +++ b/components/ILIAS/User/src/StaticURLHandler.php @@ -24,6 +24,7 @@ use ILIAS\User\Profile\PersonalProfileGUI; use ILIAS\User\Profile\PublicProfileGUI; use ILIAS\User\Settings\StartingPoint\Repository as StartingPointRepository; +use ILIAS\Data\ReferenceId; use ILIAS\LegalDocuments\Conductor as LegalDocumentsConductor; use ILIAS\StaticURL\Handler\Handler; use ILIAS\StaticURL\Request\Request; @@ -153,7 +154,7 @@ private function buildDeleteUsrUrl( private function getRedirectToOtherComponentsOrProfile( \ilCtrl $ctrl, - ?int $target_user_id, + ?ReferenceId $target_user_id, string $cmd ): string { if (substr($cmd, -4) == '_bdg') { @@ -177,15 +178,15 @@ private function getRedirectToOtherComponentsOrProfile( } return $this->buildProfileUrl( - $target_user_id->toInt(), $ctrl, + $target_user_id, PublicProfileGUI::DEFAULT_CMD ); } private function buildProfileUrl( \ilCtrl $ctrl, - ?int $target_user_id, + ?ReferenceId $target_user_id, string $cmd ): string { if ($target_user_id === null) { @@ -194,7 +195,7 @@ private function buildProfileUrl( 'jumpToProfile' ); } - $ctrl->setParameterByClass(PublicProfileGUI::class, 'user_id', $target_user_id); + $ctrl->setParameterByClass(PublicProfileGUI::class, 'user_id', $target_user_id->toInt()); return $ctrl->getLinkTargetByClass([\ilPublicProfileBaseClassGUI::class, PublicProfileGUI::class], $cmd); } } From 352314c15d272d22a127bd8caff9ae14557cdcd5 Mon Sep 17 00:00:00 2001 From: Stephan Kergomard Date: Fri, 19 Dec 2025 10:49:46 +0100 Subject: [PATCH 230/865] User: Remove Avatar Value in Anonymized See: https://mantis.ilias.de/view.php?id=46578 --- .../ILIAS/User/src/Profile/class.PersonalProfileGUI.php | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/components/ILIAS/User/src/Profile/class.PersonalProfileGUI.php b/components/ILIAS/User/src/Profile/class.PersonalProfileGUI.php index 4cb48df0e6e3..20c3dab84c25 100755 --- a/components/ILIAS/User/src/Profile/class.PersonalProfileGUI.php +++ b/components/ILIAS/User/src/Profile/class.PersonalProfileGUI.php @@ -640,7 +640,9 @@ public function showPublicProfileFields( switch ($field->getIdentifier()) { case 'avatar': $caption = $this->lng->txt('personal_picture'); - $value = "{$this->lng->txt("; + $value = $value !== null + ? "{$this->lng->txt(" + : null; break; default: From 92551bdfcd22d19db76c1d1c032f1ac5394cea25 Mon Sep 17 00:00:00 2001 From: iszmais <45942348+iszmais@users.noreply.github.com> Date: Fri, 19 Dec 2025 12:40:49 +0100 Subject: [PATCH 231/865] dc remove media size properties (#10774) --- .../Fields/Base/class.ilDclBaseFieldModel.php | 2 -- .../Fields/Mob/class.ilDclMobFieldModel.php | 2 -- .../Mob/class.ilDclMobFieldRepresentation.php | 14 -------------- .../Mob/class.ilDclMobRecordRepresentation.php | 11 +---------- 4 files changed, 1 insertion(+), 28 deletions(-) diff --git a/components/ILIAS/DataCollection/classes/Fields/Base/class.ilDclBaseFieldModel.php b/components/ILIAS/DataCollection/classes/Fields/Base/class.ilDclBaseFieldModel.php index 545d06c16617..bcce34fa8a84 100755 --- a/components/ILIAS/DataCollection/classes/Fields/Base/class.ilDclBaseFieldModel.php +++ b/components/ILIAS/DataCollection/classes/Fields/Base/class.ilDclBaseFieldModel.php @@ -43,8 +43,6 @@ class ilDclBaseFieldModel public const PROP_URL = "url"; public const PROP_REFERENCE_LINK = "reference_link"; public const PROP_UNIQUE = "unique"; - public const PROP_WIDTH = "width"; - public const PROP_HEIGHT = "height"; public const PROP_LEARNING_PROGRESS = "learning_progress"; public const PROP_ILIAS_REFERENCE_LINK = "ILIAS_reference_link"; public const PROP_N_REFERENCE = "multiple_selection"; diff --git a/components/ILIAS/DataCollection/classes/Fields/Mob/class.ilDclMobFieldModel.php b/components/ILIAS/DataCollection/classes/Fields/Mob/class.ilDclMobFieldModel.php index 2db07c1c0817..d9f3fab66e2c 100755 --- a/components/ILIAS/DataCollection/classes/Fields/Mob/class.ilDclMobFieldModel.php +++ b/components/ILIAS/DataCollection/classes/Fields/Mob/class.ilDclMobFieldModel.php @@ -34,8 +34,6 @@ public function __construct(int $a_id = 0) public function getValidFieldProperties(): array { return [ - ilDclBaseFieldModel::PROP_WIDTH, - ilDclBaseFieldModel::PROP_HEIGHT, ilDclBaseFieldModel::PROP_LINK_DETAIL_PAGE_MOB ]; } diff --git a/components/ILIAS/DataCollection/classes/Fields/Mob/class.ilDclMobFieldRepresentation.php b/components/ILIAS/DataCollection/classes/Fields/Mob/class.ilDclMobFieldRepresentation.php index 2250148164a0..ec55b91aeffd 100755 --- a/components/ILIAS/DataCollection/classes/Fields/Mob/class.ilDclMobFieldRepresentation.php +++ b/components/ILIAS/DataCollection/classes/Fields/Mob/class.ilDclMobFieldRepresentation.php @@ -58,20 +58,6 @@ protected function buildFieldCreationInput(ilObjDataCollection $dcl, string $mod $opt->setInfo(sprintf($opt->getInfo(), implode(", ", $this->getField()->getSupportedExtensions()))); - $prop_width = new ilNumberInputGUI($this->lng->txt('dcl_width'), 'prop_' . ilDclBaseFieldModel::PROP_WIDTH); - $prop_width->setInfo($this->lng->txt('dcl_width_desc')); - $prop_width->setSize(5); - $prop_width->setMaxValue(4000); - - $opt->addSubItem($prop_width); - - $prop_height = new ilNumberInputGUI($this->lng->txt('dcl_height'), 'prop_' . ilDclBaseFieldModel::PROP_HEIGHT); - $prop_height->setInfo($this->lng->txt('dcl_height_desc')); - $prop_height->setSize(5); - $prop_height->setMaxValue(4000); - - $opt->addSubItem($prop_height); - $prop_page_details = new ilDclCheckboxInputGUI( $this->lng->txt('dcl_link_detail_page'), 'prop_' . ilDclBaseFieldModel::PROP_LINK_DETAIL_PAGE_MOB diff --git a/components/ILIAS/DataCollection/classes/Fields/Mob/class.ilDclMobRecordRepresentation.php b/components/ILIAS/DataCollection/classes/Fields/Mob/class.ilDclMobRecordRepresentation.php index bc47068b38db..9f4ce97d8756 100755 --- a/components/ILIAS/DataCollection/classes/Fields/Mob/class.ilDclMobRecordRepresentation.php +++ b/components/ILIAS/DataCollection/classes/Fields/Mob/class.ilDclMobRecordRepresentation.php @@ -110,16 +110,7 @@ public function getHTML(bool $link = true, array $options = []): string } } - $width = "200px"; - $height = "auto"; - if ($field->getProperty(ilDclBaseFieldModel::PROP_WIDTH) > 0) { - $width = $field->getProperty(ilDclBaseFieldModel::PROP_WIDTH) . "px"; - } - if ($field->getProperty(ilDclBaseFieldModel::PROP_HEIGHT) > 0) { - $height = $field->getProperty(ilDclBaseFieldModel::PROP_HEIGHT) . "px"; - } - $content = $this->renderer->render($components); - return "
$content
"; + return $this->renderer->render($components); } public function parseFormInput($value) From 1d05c00053b7fedc8bc0169fc7fd4024810df475 Mon Sep 17 00:00:00 2001 From: Aaron Bidzan Date: Wed, 17 Dec 2025 12:37:07 +0100 Subject: [PATCH 232/865] Fixes objects without permissions shown in item group materials --- .../ILIAS/ItemGroup/classes/class.ilItemGroupItems.php | 10 +++++++--- .../ItemGroup/classes/class.ilObjItemGroupGUI.php | 8 ++++---- 2 files changed, 11 insertions(+), 7 deletions(-) diff --git a/components/ILIAS/ItemGroup/classes/class.ilItemGroupItems.php b/components/ILIAS/ItemGroup/classes/class.ilItemGroupItems.php index 7a671d048671..fdbcb3f8a6a8 100755 --- a/components/ILIAS/ItemGroup/classes/class.ilItemGroupItems.php +++ b/components/ILIAS/ItemGroup/classes/class.ilItemGroupItems.php @@ -28,6 +28,7 @@ class ilItemGroupItems protected ilObjectDefinition $obj_def; protected ilObjectDataCache $obj_data_cache; protected ilLogger $log; + protected ilAccessHandler $access; public ilTree $tree; public ilLanguage $lng; public int $item_group_id = 0; @@ -45,6 +46,7 @@ public function __construct( $this->lng = $DIC->language(); $this->tree = $DIC->repositoryTree(); $this->obj_def = $DIC["objDefinition"]; + $this->access = $DIC->access(); $this->setItemGroupRefId($a_item_group_ref_id); if ($this->getItemGroupRefId() > 0) { @@ -131,8 +133,6 @@ public function read(): void public function getAssignableItems(): array { - $objDefinition = $this->obj_def; - if ($this->getItemGroupRefId() <= 0) { return array(); } @@ -159,7 +159,11 @@ public function getAssignableItems(): array continue; } - if ($objDefinition->isInactivePlugin((string) $node['type'])) { + if ($this->obj_def->isInactivePlugin((string) $node['type'])) { + continue; + } + + if (!$this->access->checkAccess('visible', '', $node['ref_id'])) { continue; } diff --git a/components/ILIAS/ItemGroup/classes/class.ilObjItemGroupGUI.php b/components/ILIAS/ItemGroup/classes/class.ilObjItemGroupGUI.php index ce16a4ebfd7e..96e79d84cd10 100755 --- a/components/ILIAS/ItemGroup/classes/class.ilObjItemGroupGUI.php +++ b/components/ILIAS/ItemGroup/classes/class.ilObjItemGroupGUI.php @@ -266,17 +266,17 @@ public function getCreatableObjectTypes(): array public function saveItemAssignment(): void { - $ilCtrl = $this->ctrl; - $this->checkPermission("write"); $item_group_items = new ilItemGroupItems($this->object->getRefId()); - $items = $this->ig_request->getItems(); + $assignable_ref_ids = array_column($item_group_items->getAssignableItems(), 'ref_id'); + $items = array_intersect($this->ig_request->getItems(), $assignable_ref_ids); + $item_group_items->setItems($items); $item_group_items->update(); $this->tpl->setOnScreenMessage('success', $this->lng->txt('msg_obj_modified'), true); - $ilCtrl->redirect($this, "listMaterials"); + $this->ctrl->redirect($this, 'listMaterials'); } public function getTemplate(): void From a4bdacba5fb13536163d9cf8b358abb16a3860d1 Mon Sep 17 00:00:00 2001 From: Lukas Eichenauer Date: Fri, 19 Dec 2025 12:30:00 +0100 Subject: [PATCH 233/865] fix: revert removing condition in ilPCQuestionProcessor::getAnswerStatus --- .../ILIAS/COPage/PC/Question/class.ilPCQuestion.php | 9 +++++++-- .../COPage/classes/class.ilPageQuestionProcessor.php | 6 ++++-- 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/components/ILIAS/COPage/PC/Question/class.ilPCQuestion.php b/components/ILIAS/COPage/PC/Question/class.ilPCQuestion.php index c1b5ede6e67c..f3181be5b451 100755 --- a/components/ILIAS/COPage/PC/Question/class.ilPCQuestion.php +++ b/components/ILIAS/COPage/PC/Question/class.ilPCQuestion.php @@ -335,8 +335,13 @@ public function getOnloadCode(string $a_mode): array if ($get_stored_tries) { if (count($q_ids) > 0) { foreach ($q_ids as $q_id) { - $as = ilPageQuestionProcessor::getAnswerStatus($q_id, $ilUser->getId()); - $code[] = "ilias.questions.initAnswer(" . $q_id . ", " . (int) ($as["try"] ?? 0) . ", " . ($as["passed"] ? "true" : "null") . ", " . ($as["points"] ?? "null") . ");"; + $status = ilPageQuestionProcessor::getAnswerStatus($q_id, $ilUser->getId()); + $status = $status[$q_id] ?? $status; + + $try = (int) ($status["try"] ?? 0); + $passed = isset($status["passed"]) && $status["passed"] ? "true" : "null"; + $points = $status["points"] ?? "null"; + $code[] = "ilias.questions.initAnswer(" . $q_id . ", " . $try . ", " . $passed . ", " . $points . ");"; } } } diff --git a/components/ILIAS/COPage/classes/class.ilPageQuestionProcessor.php b/components/ILIAS/COPage/classes/class.ilPageQuestionProcessor.php index ecd6a63017fc..26dbd5d5a597 100755 --- a/components/ILIAS/COPage/classes/class.ilPageQuestionProcessor.php +++ b/components/ILIAS/COPage/classes/class.ilPageQuestionProcessor.php @@ -301,10 +301,12 @@ public static function getAnswerStatus( $and ); - if ($a_user_id === 0) { + if (is_array($a_q_id) || $a_user_id == 0) { $recs = array(); while ($rec = $ilDB->fetchAssoc($set)) { - $key = "{$rec["qst_id"]}:{$rec["user_id"]}"; + $key = ($a_user_id == 0) + ? $rec["qst_id"] . ":" . $rec["user_id"] + : $rec["qst_id"]; $recs[$key] = $rec; } return $recs; From 27bf95b5f1930bc2b7814d094655825acc2145f3 Mon Sep 17 00:00:00 2001 From: Tim Schmitz Date: Fri, 19 Dec 2025 15:59:54 +0100 Subject: [PATCH 234/865] Group: fix member table when group specific userdata is shown (46681) --- .../ILIAS/Group/classes/class.ilGroupParticipantsTableGUI.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/components/ILIAS/Group/classes/class.ilGroupParticipantsTableGUI.php b/components/ILIAS/Group/classes/class.ilGroupParticipantsTableGUI.php index 806bd97bd8c8..c686b52f1f7e 100755 --- a/components/ILIAS/Group/classes/class.ilGroupParticipantsTableGUI.php +++ b/components/ILIAS/Group/classes/class.ilGroupParticipantsTableGUI.php @@ -207,7 +207,7 @@ protected function fillRow(array $a_set): void default: $this->tpl->setCurrentBlock('custom_fields'); - $this->tpl->setVariable('VAL_CUST', is_array($a_set[$field] ?? '') ? implode(', ', $a_set[$field]) : (string) $a_set[$field]); + $this->tpl->setVariable('VAL_CUST', is_array($a_set[$field] ?? '') ? implode(', ', $a_set[$field]) : (string) ($a_set[$field] ?? '')); $this->tpl->parseCurrentBlock(); break; } From 6b1b083cea72a946c5d2c14480e9374fb1bd01ec Mon Sep 17 00:00:00 2001 From: Tim Schmitz Date: Fri, 19 Dec 2025 16:15:53 +0100 Subject: [PATCH 235/865] Group: fix settings print defaults (46677) --- .../classes/Export/class.ilMemberExportSettingsGUI.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/components/ILIAS/Membership/classes/Export/class.ilMemberExportSettingsGUI.php b/components/ILIAS/Membership/classes/Export/class.ilMemberExportSettingsGUI.php index a8bf1e119764..b23c14ba123f 100755 --- a/components/ILIAS/Membership/classes/Export/class.ilMemberExportSettingsGUI.php +++ b/components/ILIAS/Membership/classes/Export/class.ilMemberExportSettingsGUI.php @@ -116,7 +116,7 @@ protected function initForm(string $a_type): ilPropertyFormGUI } // udf - $exportable = $this->profile->getVisibleUserDefinedFields(Context::buildFromObjectType($this->type)); + $exportable = $this->profile->getVisibleUserDefinedFields(Context::buildFromObjectType($this->parent_type)); foreach ($exportable as $field) { $fields['udf_' . $field->getIdentifier()] = $field->getLabel($this->lng); } From a4522552fe3c6168643c7bbcfa5a922722062a21 Mon Sep 17 00:00:00 2001 From: Alexander Killing Date: Fri, 19 Dec 2025 19:46:06 +0100 Subject: [PATCH 236/865] 45830: Object/AvailabilityPeriod: Duplicate/Contradictory records in crs_items can lead to granted access to unaivable content --- components/ILIAS/Container/classes/class.ilContainerGUI.php | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/components/ILIAS/Container/classes/class.ilContainerGUI.php b/components/ILIAS/Container/classes/class.ilContainerGUI.php index d9175f073b0a..e3e6e462bbbc 100755 --- a/components/ILIAS/Container/classes/class.ilContainerGUI.php +++ b/components/ILIAS/Container/classes/class.ilContainerGUI.php @@ -1423,6 +1423,9 @@ public function performPasteIntoMultipleObjectsObject(): void $rbacadmin->adjustMovedObjectPermissions($ref_id, $old_parent); ilConditionHandler::_adjustMovedObjectConditions($ref_id); + $availability = new ilObjectActivation(); + $availability->read($ref_id); + $availability->update($ref_id, $folder_ref_id); // BEGIN ChangeEvent: Record cut event. $node_data = $tree->getNodeData($ref_id); @@ -1739,6 +1742,9 @@ public function pasteObject(): void $rbacadmin->adjustMovedObjectPermissions($ref_id, $old_parent); ilConditionHandler::_adjustMovedObjectConditions($ref_id); + $availability = new ilObjectActivation(); + $availability->read($ref_id); + $availability->update($ref_id, $this->object->getRefId()); // BEGIN ChangeEvent: Record cut event. $node_data = $tree->getNodeData($ref_id); From 28a201351e47752041eaa522bd92e77f4487c7ad Mon Sep 17 00:00:00 2001 From: Alexander Killing Date: Fri, 19 Dec 2025 20:18:00 +0100 Subject: [PATCH 237/865] 45449: ModeInfo Missing, when using an exercise with Show Member View --- .../ILIAS/Exercise/classes/class.ilExerciseHandlerGUI.php | 3 +++ 1 file changed, 3 insertions(+) diff --git a/components/ILIAS/Exercise/classes/class.ilExerciseHandlerGUI.php b/components/ILIAS/Exercise/classes/class.ilExerciseHandlerGUI.php index 9c546f96a35e..41368471eff1 100755 --- a/components/ILIAS/Exercise/classes/class.ilExerciseHandlerGUI.php +++ b/components/ILIAS/Exercise/classes/class.ilExerciseHandlerGUI.php @@ -23,6 +23,7 @@ */ class ilExerciseHandlerGUI implements ilCtrlBaseClassInterface { + protected \ILIAS\GlobalScreen\Services $gs; protected ilCtrl $ctrl; protected ilLanguage $lng; protected ilAccessHandler $access; @@ -37,6 +38,7 @@ public function __construct() $request = $DIC->exercise()->internal()->gui()->request(); $this->requested_ref_id = $request->getRefId(); + $this->gs = $DIC->globalScreen(); $this->lng = $DIC->language(); $this->access = $DIC->access(); @@ -72,6 +74,7 @@ public function executeCommand(): void switch ($next_class) { case 'ilobjexercisegui': + $this->gs->tool()->context()->claim()->repository(); $ex_gui = new ilObjExerciseGUI("", $this->requested_ref_id, true); $this->ctrl->forwardCommand($ex_gui); break; From 6394ffe594188d4493197046aaae9235ab4ce03a Mon Sep 17 00:00:00 2001 From: Alexander Killing Date: Sat, 20 Dec 2025 14:22:51 +0100 Subject: [PATCH 238/865] 45534: No Download-Link in videocast-view --- .../Presentation/class.VideoViewGUI.php | 10 +++++++++- .../ILIAS/MediaCast/Video/class.VideoItem.php | 18 +++++++++++++++++- .../MediaCast/Video/class.VideoSequence.php | 9 +++++++-- .../MediaCast/Video/class.VideoWidgetGUI.php | 10 ++++++++++ .../ILIAS/MediaCast/resources/video_widget.js | 17 +++++++++++++++-- .../ILIAS/News/classes/class.ilNewsItem.php | 1 - 6 files changed, 58 insertions(+), 7 deletions(-) diff --git a/components/ILIAS/MediaCast/Presentation/class.VideoViewGUI.php b/components/ILIAS/MediaCast/Presentation/class.VideoViewGUI.php index b26ccbf7d2e0..6a3657d6e592 100755 --- a/components/ILIAS/MediaCast/Presentation/class.VideoViewGUI.php +++ b/components/ILIAS/MediaCast/Presentation/class.VideoViewGUI.php @@ -236,6 +236,13 @@ public function renderSideColumn(): string "mob_id", $video->getId() ); + $download_url = ""; + if ($video->isLocal() && $this->media_cast->getDownloadable()) { + $this->ctrl->setParameterByClass("ilobjmediacastgui", "purpose", "Standard"); + $this->ctrl->setParameterByClass("ilobjmediacastgui", "item_id", $video->getNewsId()); + $download_url = $this->ctrl->getLinkTargetByClass("ilobjmediacastgui", "downloadItem"); + } + $items[] = [ "id" => $video->getId(), "resource" => $video->getResource(), @@ -251,7 +258,8 @@ public function renderSideColumn(): string "renderUrl" => $this->ctrl->getLinkTargetByClass( \ilObjMediaCastGUI::class, "renderVideo" - ) + ), + "download_url" => $download_url ]; } diff --git a/components/ILIAS/MediaCast/Video/class.VideoItem.php b/components/ILIAS/MediaCast/Video/class.VideoItem.php index 2cf3f4e8343a..431d0316169a 100755 --- a/components/ILIAS/MediaCast/Video/class.VideoItem.php +++ b/components/ILIAS/MediaCast/Video/class.VideoItem.php @@ -32,6 +32,8 @@ class VideoItem protected string $description = ""; protected string $playing_time = ""; protected int $duration = 0; + protected int $news_id = 0; + protected bool $is_local = false; public function __construct( string $id, @@ -42,12 +44,16 @@ public function __construct( string $preview_pic, string $description = "", string $playing_time = "", - int $duration = 0 + int $duration = 0, + bool $is_local = false, + int $news_id = 0, ) { $this->id = $id; $this->title = $title; $this->time = $time; $this->mime = $mime; + $this->is_local = $is_local; + $this->news_id = $news_id; $this->resource = $resource; $this->preview_pic = $preview_pic; if ($this->preview_pic == "") { @@ -102,4 +108,14 @@ public function getDuration(): int { return $this->duration; } + + public function isLocal(): bool + { + return $this->is_local; + } + + public function getNewsId(): int + { + return $this->news_id; + } } diff --git a/components/ILIAS/MediaCast/Video/class.VideoSequence.php b/components/ILIAS/MediaCast/Video/class.VideoSequence.php index 17847ed7ea51..20daf4efea8c 100755 --- a/components/ILIAS/MediaCast/Video/class.VideoSequence.php +++ b/components/ILIAS/MediaCast/Video/class.VideoSequence.php @@ -58,9 +58,12 @@ protected function init(): void $mime = ''; $resource = ''; - + $local = false; if (is_object($med)) { $resource = $mob->getStandardSrc(); + if ($med->getLocationType() !== "Reference") { + $local = true; + } $mime = $med->getFormat(); } if (in_array($mime, iterator_to_array($this->media_types->getAllowedVideoMimeTypes()), true)) { @@ -73,7 +76,9 @@ protected function init(): void $preview_pic, (string) $item["content"], (string) $item["playtime"], - $med->getDuration() + $med->getDuration(), + $local, + $item["id"] ); } } diff --git a/components/ILIAS/MediaCast/Video/class.VideoWidgetGUI.php b/components/ILIAS/MediaCast/Video/class.VideoWidgetGUI.php index 9cbf72b12e29..9b1e6b5abc05 100755 --- a/components/ILIAS/MediaCast/Video/class.VideoWidgetGUI.php +++ b/components/ILIAS/MediaCast/Video/class.VideoWidgetGUI.php @@ -84,6 +84,9 @@ public function render(): string } $item = $f->item()->standard('#title#') + ->withMainAction( + $f->link()->standard('#download#', "#") + ) ->withDescription('#description#'); $item_html = $ui->renderer()->render($item); $item_html = str_replace( @@ -91,6 +94,13 @@ public function render(): string '', $item_html ); + $item_html = str_replace( + "#download#", + '' . + $this->lng->txt("download") . + '', + $item_html + ); $item_html = str_replace( "#description#", '', diff --git a/components/ILIAS/MediaCast/resources/video_widget.js b/components/ILIAS/MediaCast/resources/video_widget.js index f9d43ae2f98d..700e7221154a 100644 --- a/components/ILIAS/MediaCast/resources/video_widget.js +++ b/components/ILIAS/MediaCast/resources/video_widget.js @@ -119,7 +119,7 @@ il.VideoWidget = il.VideoWidget || {}; t.wrapper_ids.push(wrapper_id); }; - const setMeta = (wrapper_id, title, description) => { + const setMeta = (wrapper_id, title, description, downloadUrl) => { const $wrap = $(`#${wrapper_id}`); $wrap.parent().find("[data-elementtype='title']").html(title); if (description !== '') { @@ -131,6 +131,14 @@ il.VideoWidget = il.VideoWidget || {}; $wrap.parent().find("[data-elementtype='description']").html(''); // $wrap.parent().find("[data-elementtype='description-wrapper']").addClass("ilNoDisplay"); } + const downEl = $wrap.parent().find("[data-elementtype='download']"); + if (downloadUrl !== '') { + downEl.closest('a').removeClass('ilNoDisplay'); + downEl.closest('a').attr('href', downloadUrl); + } else { + downEl.closest('a').addClass('ilNoDisplay'); + downEl.closest('a').attr('href', '#'); + } }; // load file into player and show it @@ -172,7 +180,12 @@ il.VideoWidget = il.VideoWidget || {}; }, ); - setMeta(wrapper_id, video_data.title, video_data.description); + setMeta( + wrapper_id, + video_data.title, + video_data.description, + video_data.download_url + ); t.widget[wrapper_id].progress_cb = progress_cb; }; diff --git a/components/ILIAS/News/classes/class.ilNewsItem.php b/components/ILIAS/News/classes/class.ilNewsItem.php index 1389dd1ce1f3..717e7d657eb1 100755 --- a/components/ILIAS/News/classes/class.ilNewsItem.php +++ b/components/ILIAS/News/classes/class.ilNewsItem.php @@ -1817,7 +1817,6 @@ public function deliverMobFile( $mob = $this->getMobId(); $mob = new ilObjMediaObject($mob); $mob_dir = ilObjMediaObject::_getDirectory($mob->getId()); - // check purpose if (!$mob->hasPurposeItem($a_purpose)) { return false; From 9fee469d2d9a93d337ad954a417b7a1fce3387c0 Mon Sep 17 00:00:00 2001 From: Alexander Killing Date: Sat, 20 Dec 2025 17:18:08 +0100 Subject: [PATCH 239/865] 38134: Autoplay does not function with external URL Videos; fixed ffmpeg path; fixed video dropdown --- .../Presentation/class.VideoViewGUI.php | 45 +------------ .../Service/class.InternalDataService.php | 2 - .../ILIAS/MediaCast/Settings/Settings.php | 6 -- .../Settings/SettingsDBRepository.php | 5 +- .../MediaCast/Settings/class.SettingsGUI.php | 12 ---- .../MediaCast/Video/class.VideoWidgetGUI.php | 29 --------- .../classes/class.ilMediaCastDataSet.php | 1 - .../classes/class.ilObjMediaCast.php | 20 +----- .../classes/class.ilObjMediaCastGUI.php | 16 ----- .../ILIAS/MediaCast/resources/video_widget.js | 65 ++----------------- .../MediaObjects/classes/class.ilFFmpeg.php | 2 +- 11 files changed, 14 insertions(+), 189 deletions(-) diff --git a/components/ILIAS/MediaCast/Presentation/class.VideoViewGUI.php b/components/ILIAS/MediaCast/Presentation/class.VideoViewGUI.php index 6a3657d6e592..9a383a9aa9ce 100755 --- a/components/ILIAS/MediaCast/Presentation/class.VideoViewGUI.php +++ b/components/ILIAS/MediaCast/Presentation/class.VideoViewGUI.php @@ -39,7 +39,6 @@ class VideoViewGUI protected \ilLanguage $lng; protected \ilObjUser $user; protected string $completed_callback = ""; - protected string $autoplay_callback = ""; protected VideoSequence $video_sequence; protected string $video_wrapper_id = "mcst_video"; @@ -70,11 +69,6 @@ public function setCompletedCallback(string $completed_callback): void $this->completed_callback = $completed_callback; } - public function setAutoplayCallback(string $autoplay_callback): void - { - $this->autoplay_callback = $autoplay_callback; - } - /** * @throws \ilTemplateException */ @@ -98,8 +92,6 @@ public function renderToolbar(): void $mcst_settings = \ilMediaCastSettings::_getInstance(); - $autoplay = $this->getAutoplay(); - $factory = $this->ui->factory(); $renderer = $this->ui->renderer(); @@ -131,23 +123,6 @@ public function renderToolbar(): void $toolbar->addStickyItem($next); } - // autoplay - if ($this->media_cast->getAutoplayMode() !== \ilObjMediaCast::AUTOPLAY_NO && $video_cnt > 1) { - $toolbar->addSeparator(); - $s = new SignalGenerator(); - $autoplay_on = $s->create(); - $autoplay_off = $s->create(); - $button = $factory->button()->toggle($lng->txt("mcst_autoplay"), $autoplay_on, $autoplay_off, $autoplay); - $toolbar->addStickyItem($button); - $this->main_tpl->addOnLoadCode(" - $(document).on('" . $autoplay_on . "', function (event, signalData) { - il.VideoPlaylist.autoplay('mcst_playlist', true); - }); - $(document).on('" . $autoplay_off . "', function (event, signalData) { - il.VideoPlaylist.autoplay('mcst_playlist', false); - });"); - } - if ($video_cnt > 0 && $this->rss_link !== "") { $f = $this->ui->factory(); $actions = [ @@ -160,20 +135,6 @@ public function renderToolbar(): void } } - protected function getAutoplay(): bool - { - $video_cnt = count($this->video_sequence->getVideos()); - if ($video_cnt <= 1) { - return false; - } - $autoplay = (bool) ($this->user->getPref("mcst_autoplay") ?? - ($this->media_cast->getAutoplayMode() == \ilObjMediaCast::AUTOPLAY_ACT)); - if ($this->media_cast->getAutoplayMode() == \ilObjMediaCast::AUTOPLAY_NO) { - $autoplay = false; - } - return $autoplay; - } - protected function getDropdown(): ?\ILIAS\UI\Component\Dropdown\Standard { @@ -196,8 +157,6 @@ public function renderSideColumn(): string { $mcst_settings = \ilMediaCastSettings::_getInstance(); - $autoplay = $this->getAutoplay(); - $lng = $this->lng; $tpl = new \ilTemplate("tpl.video_cast_side.html", true, true, "components/ILIAS/MediaCast/Presentation"); @@ -318,8 +277,8 @@ function ($id) { $this->tpl->addOnLoadCode( "il.VideoPlaylist.init('mcst_playlist', 'mcst_video', " . json_encode( $items - ) . ", '$item_content', " . ($autoplay ? "true" : "false") . ", " . - (int) $init_videos . ", '" . $this->completed_callback . "', '" . $this->autoplay_callback . "', " . ((int) $mcst_settings->getVideoCompletionThreshold()) . ");" + ) . ", '$item_content', false, " . + (int) $init_videos . ", '" . $this->completed_callback . "', '', " . ((int) $mcst_settings->getVideoCompletionThreshold()) . ");" ); if (count($items) === 1) { diff --git a/components/ILIAS/MediaCast/Service/class.InternalDataService.php b/components/ILIAS/MediaCast/Service/class.InternalDataService.php index 7cdabf61b0cb..0d39f6cb0ebe 100755 --- a/components/ILIAS/MediaCast/Service/class.InternalDataService.php +++ b/components/ILIAS/MediaCast/Service/class.InternalDataService.php @@ -35,7 +35,6 @@ public function settings( int $default_access, int $sort_mode, string $view_mode, - bool $autoplay_mode, int $nr_initial_videos, bool $new_items_in_lp ): Settings { @@ -46,7 +45,6 @@ public function settings( $default_access, $sort_mode, $view_mode, - $autoplay_mode, $nr_initial_videos, $new_items_in_lp ); diff --git a/components/ILIAS/MediaCast/Settings/Settings.php b/components/ILIAS/MediaCast/Settings/Settings.php index 147a1d5215e5..f1c4509abffb 100644 --- a/components/ILIAS/MediaCast/Settings/Settings.php +++ b/components/ILIAS/MediaCast/Settings/Settings.php @@ -29,7 +29,6 @@ public function __construct( protected int $default_access, protected int $sort_mode, protected string $view_mode, - protected bool $autoplay_mode, protected int $nr_initial_videos, protected bool $new_items_in_lp ) { @@ -65,11 +64,6 @@ public function getViewMode(): string return $this->view_mode; } - public function getAutoplayMode(): bool - { - return $this->autoplay_mode; - } - public function getNumberInitialVideos(): int { return $this->nr_initial_videos; diff --git a/components/ILIAS/MediaCast/Settings/SettingsDBRepository.php b/components/ILIAS/MediaCast/Settings/SettingsDBRepository.php index 340e6be5c798..341202fb51ce 100644 --- a/components/ILIAS/MediaCast/Settings/SettingsDBRepository.php +++ b/components/ILIAS/MediaCast/Settings/SettingsDBRepository.php @@ -52,7 +52,7 @@ public function update(Settings $settings): void 'def_access' => ['integer', $settings->getDefaultAccess()], 'sortmode' => ['integer', $settings->getSortMode()], 'viewmode' => ['text', $settings->getViewMode()], - 'autoplaymode' => ['integer', (int) $settings->getAutoplayMode()], + 'autoplaymode' => ['integer', 0], 'nr_initial_videos' => ['integer', $settings->getNumberInitialVideos()], 'new_items_in_lp' => ['integer', (int) $settings->getNewItemsInLearningProgress()], ], [ @@ -69,7 +69,7 @@ public function create(Settings $settings): void 'def_access' => ['integer', $settings->getDefaultAccess()], 'sortmode' => ['integer', $settings->getSortMode()], 'viewmode' => ['text', $settings->getViewMode()], - 'autoplaymode' => ['integer', (int) $settings->getAutoplayMode()], + 'autoplaymode' => ['integer', 0], 'nr_initial_videos' => ['integer', $settings->getNumberInitialVideos()], 'new_items_in_lp' => ['integer', (int) $settings->getNewItemsInLearningProgress()], ]); @@ -93,7 +93,6 @@ protected function getSettingsFromRecord(array $record): Settings (int) $record['def_access'], (int) $record['sortmode'], (string) $record['viewmode'], - (bool) $record['autoplaymode'], (int) $record['nr_initial_videos'], (bool) $record['new_items_in_lp'] ); diff --git a/components/ILIAS/MediaCast/Settings/class.SettingsGUI.php b/components/ILIAS/MediaCast/Settings/class.SettingsGUI.php index 1a0d64fc1388..9a85c61de70b 100644 --- a/components/ILIAS/MediaCast/Settings/class.SettingsGUI.php +++ b/components/ILIAS/MediaCast/Settings/class.SettingsGUI.php @@ -93,17 +93,6 @@ protected function getEditForm(): FormAdapterGUI ->group(\ilObjMediaCast::VIEW_IMG_GALLERY, $lng->txt("mcst_img_gallery")) ->group(\ilObjMediaCast::VIEW_PODCAST, $lng->txt("mcst_podcast")) ->group(\ilObjMediaCast::VIEW_VCAST, $lng->txt("mcst_video_cast")) - ->select( - "autoplaymode", - $lng->txt("mcst_autoplay"), - [ - \ilObjMediaCast::AUTOPLAY_NO => $lng->txt("mcst_no_autoplay"), - \ilObjMediaCast::AUTOPLAY_ACT => $lng->txt("mcst_autoplay_active"), - \ilObjMediaCast::AUTOPLAY_INACT => $lng->txt("mcst_autoplay_inactive") - ], - "", - (string) $settings->getAutoplayMode() - ) ->number( "nr_videos", $lng->txt("mcst_nr_videos"), @@ -221,7 +210,6 @@ protected function save(): void (int) $form->getData("defaultaccess"), (int) $form->getData("order"), (string) $form->getData("viewmode"), - (bool) $form->getData("autoplaymode"), (int) $form->getData("nr_videos"), \ilLearningProgressAccess::checkAccess($this->ref_id) && (bool) $form->getData("auto_det_lp") ); diff --git a/components/ILIAS/MediaCast/Video/class.VideoWidgetGUI.php b/components/ILIAS/MediaCast/Video/class.VideoWidgetGUI.php index 9b1e6b5abc05..47156e09bdb9 100755 --- a/components/ILIAS/MediaCast/Video/class.VideoWidgetGUI.php +++ b/components/ILIAS/MediaCast/Video/class.VideoWidgetGUI.php @@ -108,35 +108,6 @@ public function render(): string ); $tpl->setVariable("ITEM", $item_html); - - /* - $back = $f->button()->standard("", "") - ->withOnLoadCode(function ($id) { - return - "$(\"#$id\").click(function() { il.VideoWidget.previous(\"".$this->dom_wrapper_id."\"); return false;});"; - }); - $next = $f->button()->standard("", "") - ->withOnLoadCode(function ($id) { - return - "$(\"#$id\").click(function() { il.VideoWidget.next(\"".$this->dom_wrapper_id."\"); return false;});"; - });*/ - - - /* - $description_link = $f->button()->shy($this->lng->txt("mcst_show_description"), "")->withOnLoadCode(function ($id) { - return - "$(\"#$id\").click(function() { $(document).find(\"[data-elementtype='description']\").removeClass('ilNoDisplay'); $(document).find(\"[data-elementtype='description-trigger']\").addClass('ilNoDisplay'); return false;});"; - }); - $tpl->setVariable("DESCRIPTION_LINK", $ui->renderer()->render($description_link));*/ - - //$tpl->setVariable("VIEWCONTROL", $ui->renderer()->render([$back,$next])); - - /* - $tpl->setCurrentBlock("autoplay"); - $tpl->setVariable("TXT_AUTOPLAY", - $this->lng->txt("mcst_autoplay")); - $tpl->parseCurrentBlock();*/ - return $tpl->get(); } } diff --git a/components/ILIAS/MediaCast/classes/class.ilMediaCastDataSet.php b/components/ILIAS/MediaCast/classes/class.ilMediaCastDataSet.php index 63eac600820b..5e4030394b06 100755 --- a/components/ILIAS/MediaCast/classes/class.ilMediaCastDataSet.php +++ b/components/ILIAS/MediaCast/classes/class.ilMediaCastDataSet.php @@ -225,7 +225,6 @@ public function importRecord( ); } if (in_array($a_schema_version, ["8.0"])) { - $newObj->setAutoplayMode((int) ($a_rec["Autoplaymode"] ?? 0)); $newObj->setNumberInitialVideos((int) ($a_rec["NrInitialVideos"] ?? 0)); $newObj->setNewItemsInLearningProgress((bool) (int) ($a_rec["NewItemsInLp"] ?? false)); } diff --git a/components/ILIAS/MediaCast/classes/class.ilObjMediaCast.php b/components/ILIAS/MediaCast/classes/class.ilObjMediaCast.php index a9cd052a3088..c68f7889be68 100755 --- a/components/ILIAS/MediaCast/classes/class.ilObjMediaCast.php +++ b/components/ILIAS/MediaCast/classes/class.ilObjMediaCast.php @@ -31,9 +31,6 @@ class ilObjMediaCast extends ilObject public const VIEW_IMG_GALLERY = "img_gallery"; public const VIEW_PODCAST = "podcast"; public const VIEW_VCAST = "video"; - public const AUTOPLAY_NO = 0; - public const AUTOPLAY_ACT = 1; - public const AUTOPLAY_INACT = 2; protected bool $comments = false; protected \ILIAS\Notes\Service $notes; protected \ILIAS\MediaCast\InternalDomainService $domain; @@ -51,7 +48,6 @@ class ilObjMediaCast extends ilObject protected array $mob_mapping = []; protected int $nr_initial_videos = 5; protected bool $new_items_in_lp = true; - protected int $autoplay_mode = self::AUTOPLAY_ACT; public function __construct( int $a_id = 0, @@ -123,16 +119,6 @@ public function getItemsArray(): array return $this->itemsarray; } - public function setAutoplayMode(int $a_val): void - { - $this->autoplay_mode = $a_val; - } - - public function getAutoplayMode(): int - { - return $this->autoplay_mode; - } - public function setNumberInitialVideos(int $a_val): void { $this->nr_initial_videos = $a_val; @@ -250,7 +236,7 @@ public function create(): int . "," . $ilDB->quote((int) $this->getDefaultAccess(), "integer") . "," . $ilDB->quote((int) $this->getOrder(), "integer") . "," . $ilDB->quote($this->getViewMode(), "text") - . "," . $ilDB->quote((int) $this->getAutoplayMode(), "integer") + . "," . $ilDB->quote(0, "integer") . "," . $ilDB->quote((int) $this->getNumberInitialVideos(), "integer") . "," . $ilDB->quote((int) $this->getNewItemsInLearningProgress(), "integer") . ")"; @@ -276,7 +262,7 @@ public function update(): bool ", def_access = " . $ilDB->quote($this->getDefaultAccess(), "integer") . ", sortmode = " . $ilDB->quote($this->getOrder(), "integer") . ", viewmode = " . $ilDB->quote($this->getViewMode(), "text") . - ", autoplaymode = " . $ilDB->quote($this->getAutoplayMode(), "integer") . + ", autoplaymode = " . $ilDB->quote(0, "integer") . ", nr_initial_videos = " . $ilDB->quote($this->getNumberInitialVideos(), "integer") . ", new_items_in_lp = " . $ilDB->quote($this->getNewItemsInLearningProgress(), "integer") . " WHERE id = " . $ilDB->quote($this->getId(), "integer"); @@ -306,7 +292,6 @@ public function read(): void $this->setDefaultAccess((int) $rec["def_access"]); $this->setOrder((int) $rec["sortmode"]); $this->setViewMode((string) $rec["viewmode"]); - $this->setAutoplayMode((int) $rec["autoplaymode"]); $this->setNumberInitialVideos((int) $rec["nr_initial_videos"]); $this->setNewItemsInLearningProgress((bool) $rec["new_items_in_lp"]); @@ -437,7 +422,6 @@ public function cloneObject(int $a_target_id, int $a_copy_id = 0, bool $a_omit_t $new_obj->setDefaultAccess($this->getDefaultAccess()); $new_obj->setOrder($this->getOrder()); $new_obj->setViewMode($this->getViewMode()); - $new_obj->setAutoplayMode($this->getAutoplayMode()); $new_obj->setNumberInitialVideos($this->getNumberInitialVideos()); $new_obj->setNewItemsInLearningProgress($this->getNewItemsInLearningProgress()); diff --git a/components/ILIAS/MediaCast/classes/class.ilObjMediaCastGUI.php b/components/ILIAS/MediaCast/classes/class.ilObjMediaCastGUI.php index aabf80aa9a2c..e2e5ea18bf3e 100755 --- a/components/ILIAS/MediaCast/classes/class.ilObjMediaCastGUI.php +++ b/components/ILIAS/MediaCast/classes/class.ilObjMediaCastGUI.php @@ -1345,13 +1345,6 @@ public function showContentObject(): void true, false )); - $view->setAutoplayCallback($this->ctrl->getLinkTarget( - $this, - "handleAutoplayTrigger", - "", - true, - false - )); $view->show(); } else { $this->listItemsObject(true); @@ -1445,15 +1438,6 @@ protected function afterPoolInsert(array $mob_ids): void $this->addMobsToCast($mob_ids, "", true, true); } - protected function handleAutoplayTriggerObject(): void - { - $this->user->writePref( - "mcst_autoplay", - $this->mc_request->getAutoplay() - ); - exit; - } - protected function getCommentGUI(): ilCommentGUI { return $this->gui->comments()->commentGUI( diff --git a/components/ILIAS/MediaCast/resources/video_widget.js b/components/ILIAS/MediaCast/resources/video_widget.js index 700e7221154a..292a3e8bccd3 100644 --- a/components/ILIAS/MediaCast/resources/video_widget.js +++ b/components/ILIAS/MediaCast/resources/video_widget.js @@ -416,21 +416,10 @@ il.VideoPlaylist = il.VideoPlaylist || {}; } } } - - // check if we should play the next item - if (t.playlist[list_wrapper].autoplay) { - if (ended || (v.mime === 'video/vimeo' && v.duration <= Math.ceil(current_time))) { - autoplayNext(list_wrapper); - } - } } }); } } - - // console.log("duration " + duration); - // console.log("current time " + current_time); - // console.log("ended " + ended); }; const refreshNavigation = (list_wrapper) => { @@ -480,45 +469,6 @@ il.VideoPlaylist = il.VideoPlaylist || {}; }); }; - /** - * @param list_wrapper - */ - const autoplayNext = (list_wrapper) => { - const current = t.current_item[t.playlist[list_wrapper].player_wrapper]; - let found = false; - let nextItem = 0; - - t.playlist[list_wrapper].items.forEach((v, i, a) => { - if (nextItem === 0 && found) { - if (v.hidden === true) { - nextItems(list_wrapper); - } - nextItem = v.id; - } - if (v.id === current) { - found = true; - } - }); - if (nextItem > 0) { - loadItem(list_wrapper, nextItem, true); - } - }; - - const toggleItem = (list_wrapper, id) => { - const current = t.current_item[t.playlist[list_wrapper].player_wrapper]; - - //const player = il.VideoWidget.player(t.playlist[list_wrapper].player_wrapper); - - // const isVideoPlaying = video => !!(video.currentTime > 0 && !video.paused && !video.ended && video.readyState > 2); - /*if (current !== id) { - loadItem(list_wrapper, id, true); - }*/ /*else if (player.domNode.paused) { - player.play(); - } else { - player.pause(); - }*/ - }; - /** * Load item from playlist * @param list_wrapper @@ -540,6 +490,13 @@ il.VideoPlaylist = il.VideoPlaylist || {}; refreshNavigation(list_wrapper); }; + const toggleItem = (listWrapper, id) => { + const current = t.current_item[t.playlist[listWrapper].player_wrapper]; + if (current !== id) { + loadItem(listWrapper, id, true); + } + }; + /** * Load item from playlist * @param list_wrapper @@ -614,13 +571,6 @@ il.VideoPlaylist = il.VideoPlaylist || {}; loadFirst(list_wrapper, false); }; - const autoplay = (list_wrapper, active) => { - t.playlist[list_wrapper].autoplay = active; - $.ajax({ - type: 'GET', - url: `${t.playlist[list_wrapper].autoplay_cb}&autoplay=${active ? '1' : '0'}`, - }); - }; const loadComments = (id) => { const el = document.querySelector('[data-mcst-comments]'); @@ -638,7 +588,6 @@ il.VideoPlaylist = il.VideoPlaylist || {}; init, loadItem, toggleItem, - autoplay, nextItems, previousItems, }; diff --git a/components/ILIAS/MediaObjects/classes/class.ilFFmpeg.php b/components/ILIAS/MediaObjects/classes/class.ilFFmpeg.php index 6e650089d27a..4e26dca94cad 100755 --- a/components/ILIAS/MediaObjects/classes/class.ilFFmpeg.php +++ b/components/ILIAS/MediaObjects/classes/class.ilFFmpeg.php @@ -189,7 +189,7 @@ public static function extractPNGFromVideoInZip( $command1 = "unzip -p $zip $path > $tmp_file"; shell_exec($command1); - $command2 = "ffmpeg -i $tmp_file -f image2 -vframes 1 -ss $sec -vcodec png pipe:1"; + $command2 = self::getCmd() . " -i $tmp_file -f image2 -vframes 1 -ss $sec -vcodec png pipe:1"; $ret = (string) shell_exec($command2); unlink($tfile); From 4026ad04f56e4d3f50609c259125514103da9025 Mon Sep 17 00:00:00 2001 From: Alexander Killing Date: Sat, 20 Dec 2025 23:41:12 +0100 Subject: [PATCH 240/865] =?UTF-8?q?44667:=20Alle=20Abgaben=20herunterladen?= =?UTF-8?q?=20ohne=20vorhandene=20=C3=9Cbungseinheit=20f=C3=BChrt=20zu=20A?= =?UTF-8?q?bsturz?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Exercise/classes/class.ilExerciseManagementGUI.php | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/components/ILIAS/Exercise/classes/class.ilExerciseManagementGUI.php b/components/ILIAS/Exercise/classes/class.ilExerciseManagementGUI.php index b7aeb8730ca7..7dbdae863472 100755 --- a/components/ILIAS/Exercise/classes/class.ilExerciseManagementGUI.php +++ b/components/ILIAS/Exercise/classes/class.ilExerciseManagementGUI.php @@ -1037,9 +1037,13 @@ public function showParticipantObject(): void $this->ctrl->setParameter($this, "vw", self::VIEW_PARTICIPANT); $this->ctrl->setParameter($this, "part_id", $current_participant); - $ilToolbar->addSeparator(); - $ilToolbar->setFormAction($ilCtrl->getFormAction($this)); - $ilToolbar->addFormButton($lng->txt("download_all_returned_files"), "downloadSubmissions"); + $ass = ilExAssignment::getInstancesByExercise($this->exercise->getId()); + + if (count($ass) > 0) { + $ilToolbar->addSeparator(); + $ilToolbar->setFormAction($ilCtrl->getFormAction($this)); + $ilToolbar->addFormButton($lng->txt("download_all_returned_files"), "downloadSubmissions"); + } $part_tab = new ilAssignmentsPerParticipantTableGUI( $this, From 631ce405f217b68b24bee48b979dd5c3a2b81527 Mon Sep 17 00:00:00 2001 From: Alexander Killing Date: Sun, 21 Dec 2025 18:23:18 +0100 Subject: [PATCH 241/865] 41914: links to internal objects for translations in page editor not updated when copying container object --- components/ILIAS/Container/classes/class.ilContainer.php | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/components/ILIAS/Container/classes/class.ilContainer.php b/components/ILIAS/Container/classes/class.ilContainer.php index 0fcdd9defc28..39ec20603e50 100755 --- a/components/ILIAS/Container/classes/class.ilContainer.php +++ b/components/ILIAS/Container/classes/class.ilContainer.php @@ -996,6 +996,13 @@ protected static function fixInternalLinksAfterCopy( $pg = new ilContainerPage($obj_id); $pg->handleRepositoryLinksOnCopy($mapping, $a_source_ref_id); $pg->update(true, true); + foreach (ilContainerPage::lookupTranslations("cont", $obj_id) as $trans) { + if ($trans !== "-" && ilContainerPage::_exists("cont", $obj_id, $trans, true)) { + $pg = new ilContainerPage($obj_id, 0, $trans); + $pg->handleRepositoryLinksOnCopy($mapping, $a_source_ref_id); + $pg->update(true, true); + } + } } foreach ($mapping as $old_ref_id => $new_ref_id) { From 8ba661a7e96d41b4efbffd2a2b6191ac5270e089 Mon Sep 17 00:00:00 2001 From: Alexander Killing Date: Mon, 22 Dec 2025 23:02:45 +0100 Subject: [PATCH 242/865] 44386: internal wiki page links in ex/imported wiki don't work --- .../COPage/IntLink/class.ilInternalLink.php | 10 ++-- components/ILIAS/Wiki/Page/ImportResolver.php | 47 +++++++++++++++++++ .../ILIAS/Wiki/Page/PageDBRepository.php | 27 +++++++++++ components/ILIAS/Wiki/Page/PageManager.php | 6 +++ .../ILIAS/Wiki/Page/Service/DomainService.php | 8 ++++ .../Wiki/Setup/class.ilWikiDBUpdateSteps.php | 23 +++++++++ .../Wiki/classes/class.ilWikiDataSet.php | 15 +++++- .../Wiki/classes/class.ilWikiExporter.php | 6 +++ .../ILIAS/Wiki/classes/class.ilWikiPage.php | 8 +++- 9 files changed, 141 insertions(+), 9 deletions(-) create mode 100644 components/ILIAS/Wiki/Page/ImportResolver.php diff --git a/components/ILIAS/COPage/IntLink/class.ilInternalLink.php b/components/ILIAS/COPage/IntLink/class.ilInternalLink.php index db6f1d7ae2bf..047bd9c23b27 100755 --- a/components/ILIAS/COPage/IntLink/class.ilInternalLink.php +++ b/components/ILIAS/COPage/IntLink/class.ilInternalLink.php @@ -176,6 +176,9 @@ public static function _getIdForImportId( string $a_type, string $a_target ): ?string { + global $DIC; + $wiki_import_resolver = $DIC->wiki()->internal()->domain()->page()->importResolver(); + switch ($a_type) { case "PageObject": $id = ilLMObject::_getIdForImportId($a_target); @@ -200,13 +203,10 @@ public static function _getIdForImportId( break; case "WikiPage": - // no import IDs for wiki pages (yet) - //$id = ilGlossaryTerm::_getIdForImportId($a_target); - $id = 0; - /* + $id = $wiki_import_resolver->getIdForImportId($a_target); if ($id > 0) { return "il__wpage_" . $id; - }*/ + } break; case "MediaObject": diff --git a/components/ILIAS/Wiki/Page/ImportResolver.php b/components/ILIAS/Wiki/Page/ImportResolver.php new file mode 100644 index 000000000000..82bf4a4685eb --- /dev/null +++ b/components/ILIAS/Wiki/Page/ImportResolver.php @@ -0,0 +1,47 @@ +page_repo->getPageIdsForImportId($import_id) as $wpage_id) { + $wiki_id = \ilWikiPage::lookupWikiId($wpage_id); + if (\ilObject::_hasUntrashedReference($wiki_id)) { + return $wpage_id; + } + } + return 0; + } + +} diff --git a/components/ILIAS/Wiki/Page/PageDBRepository.php b/components/ILIAS/Wiki/Page/PageDBRepository.php index 72c99917f660..706a6fcc4c1e 100755 --- a/components/ILIAS/Wiki/Page/PageDBRepository.php +++ b/components/ILIAS/Wiki/Page/PageDBRepository.php @@ -330,4 +330,31 @@ public function getWikiIdByPageId( return null; } + public function writeImportId(int $id, string $lang, string $import_id): void + { + $this->db->update( + "il_wiki_page", + [ + "import_id" => ["text", $import_id] + ], + [ // where + "id" => ["integer", $id], + "lang" => ["text", $lang], + ] + ); + } + + public function getPageIdsForImportId(string $import_id): \Generator + { + $set = $this->db->queryF( + "SELECT id FROM il_wiki_page " . + " WHERE import_id = %s ORDER BY create_date DESC", + ["text"], + [$import_id] + ); + while ($rec = $this->db->fetchAssoc($set)) { + yield (int) $rec["id"]; + } + } + } diff --git a/components/ILIAS/Wiki/Page/PageManager.php b/components/ILIAS/Wiki/Page/PageManager.php index e57a2afa6d3d..96790d593694 100755 --- a/components/ILIAS/Wiki/Page/PageManager.php +++ b/components/ILIAS/Wiki/Page/PageManager.php @@ -298,4 +298,10 @@ public function belongsToWiki( return $this->page_repo->getWikiIdByPageId($id) === $this->getWikiId(); } + public function writeImportId(int $id, string $lang, string $import_id): void + { + $this->page_repo->writeImportId($id, $lang, $import_id); + } + + } diff --git a/components/ILIAS/Wiki/Page/Service/DomainService.php b/components/ILIAS/Wiki/Page/Service/DomainService.php index 5419f399fe90..7101849c1c90 100755 --- a/components/ILIAS/Wiki/Page/Service/DomainService.php +++ b/components/ILIAS/Wiki/Page/Service/DomainService.php @@ -70,4 +70,12 @@ public function page( ); } + public function importResolver(): ImportResolver + { + return new ImportResolver( + $this->data_service, + $this->repo_service->page() + ); + } + } diff --git a/components/ILIAS/Wiki/Setup/class.ilWikiDBUpdateSteps.php b/components/ILIAS/Wiki/Setup/class.ilWikiDBUpdateSteps.php index 7f56727e8f1f..44cdeaeef133 100755 --- a/components/ILIAS/Wiki/Setup/class.ilWikiDBUpdateSteps.php +++ b/components/ILIAS/Wiki/Setup/class.ilWikiDBUpdateSteps.php @@ -144,4 +144,27 @@ public function step_6(): void } + public function step_7(): void + { + $db = $this->db; + if (!$db->tableColumnExists('il_wiki_page', 'create_date')) { + $this->db->addTableColumn('il_wiki_page', 'create_date', array( + 'type' => 'timestamp', + 'notnull' => false + )); + } + } + + public function step_8(): void + { + $db = $this->db; + if (!$db->tableColumnExists('il_wiki_page', 'import_id')) { + $this->db->addTableColumn('il_wiki_page', 'import_id', array( + 'type' => 'text', + 'notnull' => false, + 'length' => 50 + )); + } + } + } diff --git a/components/ILIAS/Wiki/classes/class.ilWikiDataSet.php b/components/ILIAS/Wiki/classes/class.ilWikiDataSet.php index 75992f1bafd3..c2985f634512 100755 --- a/components/ILIAS/Wiki/classes/class.ilWikiDataSet.php +++ b/components/ILIAS/Wiki/classes/class.ilWikiDataSet.php @@ -27,6 +27,7 @@ */ class ilWikiDataSet extends ilDataSet { + protected \ILIAS\Wiki\InternalRepoService $wiki_repo; protected \ILIAS\Wiki\Navigation\ImportantPageDBRepository $imp_page_repo; protected ?ilObjWiki $current_obj = null; protected ilLogger $wiki_log; @@ -39,6 +40,7 @@ public function __construct() parent::__construct(); $this->wiki_log = ilLoggerFactory::getLogger('wiki'); $this->imp_page_repo = $DIC->wiki()->internal()->repo()->importantPage(); + $this->wiki_repo = $DIC->wiki()->internal()->repo(); } public function getSupportedVersions(): array @@ -178,7 +180,8 @@ protected function getTypes(string $a_entity, string $a_version): array "Rating" => "integer", "TemplateNewPages" => "integer", "TemplateAddToPage" => "integer", - "Lang" => "text" + "Lang" => "text", + "ImportId" => "text" ); } } @@ -201,7 +204,6 @@ protected function getTypes(string $a_entity, string $a_version): array public function readData(string $a_entity, string $a_version, array $a_ids): void { $ilDB = $this->db; - if (!is_array($a_ids)) { $a_ids = array($a_ids); } @@ -304,6 +306,7 @@ public function readData(string $a_entity, string $a_version, array $a_ids): voi $this->data[$k]["TemplateNewPages"] = $rec["new_pages"]; $this->data[$k]["TemplateAddToPage"] = $rec["add_to_page"]; } + $this->data[$k]["ImportId"] = "il_" . IL_INST_ID . "_wpage_" . $v["Id"]; } break; } @@ -409,6 +412,14 @@ public function importRecord( $wpage->create(true); + if (isset($a_rec["ImportId"])) { + $this->wiki_repo->page()->writeImportId( + $wpage->getId(), + ($lang === "") ? "-" : $lang, + (string) $a_rec["ImportId"] + ); + } + if (isset($a_rec["TemplateNewPages"]) || isset($a_rec["TemplateAddToPage"])) { $wtpl = new ilWikiPageTemplate($wiki_id); $wtpl->save($wpage->getId(), (int) $a_rec["TemplateNewPages"], (int) $a_rec["TemplateAddToPage"]); diff --git a/components/ILIAS/Wiki/classes/class.ilWikiExporter.php b/components/ILIAS/Wiki/classes/class.ilWikiExporter.php index f70f3d6e0314..1b8abf73b033 100755 --- a/components/ILIAS/Wiki/classes/class.ilWikiExporter.php +++ b/components/ILIAS/Wiki/classes/class.ilWikiExporter.php @@ -163,6 +163,12 @@ public function getXmlRepresentation( public function getValidSchemaVersions(string $a_entity): array { return array( + "8.0" => array( + "namespace" => "https://www.ilias.de/Modules/Wiki/wiki/8", + "xsd_file" => "ilias_wiki_8.xsd", + "uses_dataset" => true, + "min" => "8.0", + "max" => ""), "5.4.0" => array( "namespace" => "https://www.ilias.de/Modules/Wiki/wiki/5_4", "xsd_file" => "ilias_wiki_5_4.xsd", diff --git a/components/ILIAS/Wiki/classes/class.ilWikiPage.php b/components/ILIAS/Wiki/classes/class.ilWikiPage.php index 1e18899f5dd8..cbb41160a948 100755 --- a/components/ILIAS/Wiki/classes/class.ilWikiPage.php +++ b/components/ILIAS/Wiki/classes/class.ilWikiPage.php @@ -155,6 +155,7 @@ public function create( ", rating" . ", hide_adv_md" . ", lang" . + ", create_date" . " ) VALUES (" . $ilDB->quote($this->getId(), "integer") . "," . $ilDB->quote($this->getTitle(), "text") @@ -163,6 +164,7 @@ public function create( . "," . $ilDB->quote((int) $this->getRating(), "integer") . "," . $ilDB->quote((int) $this->isAdvancedMetadataHidden(), "integer") . "," . $ilDB->quote($this->getLanguage(), "text") + . "," . $ilDB->now() . ")"; $this->wiki_log->debug($query); $ilDB->manipulate($query); @@ -356,8 +358,10 @@ public static function deleteAllPagesOfWiki(int $a_wiki_id): void $set = $ilDB->query($query); while ($rec = $ilDB->fetchAssoc($set)) { - $wiki_page = new ilWikiPage($rec["id"], 0, $rec["lang"]); - $wiki_page->delete(); + if (ilWikiPage::_exists("wpg", $rec["id"], 0, $rec["lang"])) { + $wiki_page = new ilWikiPage($rec["id"], 0, $rec["lang"]); + $wiki_page->delete(); + } } } From d7dc22b07289900b3d87e84094b6a746225e77d0 Mon Sep 17 00:00:00 2001 From: Sagun Karki <51822939+sKarki999@users.noreply.github.com> Date: Tue, 23 Dec 2025 16:06:57 +0100 Subject: [PATCH 243/865] Apply offline flag when creating forum via addObject (#10782) * Apply offline flag when creating forum via addObject --- .../class.ilSoapObjectAdministration.php | 35 ++++++++++++------- 1 file changed, 22 insertions(+), 13 deletions(-) diff --git a/components/ILIAS/soap/classes/class.ilSoapObjectAdministration.php b/components/ILIAS/soap/classes/class.ilSoapObjectAdministration.php index dc9ad668dca5..6ca6cb56e500 100755 --- a/components/ILIAS/soap/classes/class.ilSoapObjectAdministration.php +++ b/components/ILIAS/soap/classes/class.ilSoapObjectAdministration.php @@ -1,4 +1,5 @@ isSystemObject($node['type']) && ($all || !in_array($node['type'], $filter, true)) && $access->checkAccess("read", "", (int) $node['ref_id']) && - ($tmp = ilObjectFactory::getInstanceByRefId($node['ref_id'], false))) { + ($tmp = ilObjectFactory::getInstanceByRefId($node['ref_id'], false)) + ) { $nodes[] = $tmp; } } @@ -582,8 +584,10 @@ public function addObject(string $sid, int $a_target_id, string $a_xml) $newObj = new $class_constr(); if (isset($object_data['owner']) && $object_data['owner'] != '') { if ((int) $object_data['owner']) { - if (ilObject::_exists((int) $object_data['owner']) && - $ilObjDataCache->lookupType((int) $object_data['owner']) === 'usr') { + if ( + ilObject::_exists((int) $object_data['owner']) && + $ilObjDataCache->lookupType((int) $object_data['owner']) === 'usr' + ) { $newObj->setOwner((int) $object_data['owner']); } } else { @@ -599,12 +603,13 @@ public function addObject(string $sid, int $a_target_id, string $a_xml) $newObj->setImportId($object_data['import_id']); } - if ($objDefinition->supportsOfflineHandling($newObj->getType())) { - $newObj->setOfflineStatus((bool) $object_data['offline']); - } $newObj->setTitle($object_data['title']); $newObj->setDescription($object_data['description']); $newObj->create(); // true for upload + if ($objDefinition->supportsOfflineHandling($newObj->getType()) && isset($object_data['offline'])) { + $newObj->setOfflineStatus((bool) $object_data['offline']); + $newObj->update(); + } $newObj->createReference(); $newObj->putInTree($a_target_id); $newObj->setPermissions($a_target_id); @@ -675,9 +680,11 @@ public function addReference(string $sid, int $a_source_id, int $a_target_id) ); } - if (!$objDefinition->allowLink($source_obj->getType()) and + if ( + !$objDefinition->allowLink($source_obj->getType()) and $source_obj->getType() !== 'cat' and - $source_obj->getType() !== 'crs') { + $source_obj->getType() !== 'crs' + ) { return $this->raiseError( 'Linking of object type: ' . $source_obj->getType() . ' is not allowed', 'Client' @@ -1274,11 +1281,13 @@ private function validateReferences(string $a_action, array $a_object_data, int return true; } if ($a_action === 'create') { - if (count($a_object_data['references']) > 1 && in_array( - $a_object_data['type'], - ['cat', 'crs', 'grp', 'fold'], - true - )) { + if ( + count($a_object_data['references']) > 1 && in_array( + $a_object_data['type'], + ['cat', 'crs', 'grp', 'fold'], + true + ) + ) { return $this->raiseError( "Cannot create references for type " . $a_object_data['type'], 'Client' From 40e58b884c422fd4e7193588e7927827e2f7429f Mon Sep 17 00:00:00 2001 From: Alexander Killing Date: Tue, 23 Dec 2025 16:52:28 +0100 Subject: [PATCH 244/865] 44949: Collection Glossary: Improve usability by indicating if selected glossary is offline --- .../ILIAS/Glossary/classes/class.ilObjGlossaryGUI.php | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/components/ILIAS/Glossary/classes/class.ilObjGlossaryGUI.php b/components/ILIAS/Glossary/classes/class.ilObjGlossaryGUI.php index 076a71f823f4..3f3c6000a75e 100755 --- a/components/ILIAS/Glossary/classes/class.ilObjGlossaryGUI.php +++ b/components/ILIAS/Glossary/classes/class.ilObjGlossaryGUI.php @@ -689,8 +689,13 @@ public function showSelectedGlossariesForCollection(): array } $glossary = new ilObjGlossary($glo_id, false); $glo_ref_id = current(ilObject::_getAllReferences($glossary->getId())); + $props = []; + if (!ilObjGlossaryAccess::_lookupOnline($glo_id)) { + $props[$this->lng->txt("status")] = + $this->lng->txt("offline"); + } $glo_link = $this->ui_fac->link()->standard($glossary->getTitle(), ilLink::_getLink($glo_ref_id)); - $glo_item = $this->ui_fac->item()->standard($glo_link); + $glo_item = $this->ui_fac->item()->standard($glo_link)->withProperties($props); $glo_item = $glo_item->withDescription($glossary->getDescription()); $form_action = $this->ctrl->getFormActionByClass(ilObjGlossaryGUI::class, "removeGlossaryFromCollection"); $delete_modal = $this->ui_fac->modal()->interruptive( From 586c0e72a188bdcd67189da56cadf536952a880f Mon Sep 17 00:00:00 2001 From: Alexander Killing Date: Tue, 23 Dec 2025 20:19:12 +0100 Subject: [PATCH 245/865] 43992: Error on deleting removing multiple Entries from Trash --- components/ILIAS/Repository/Trash/class.ilRepUtil.php | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/components/ILIAS/Repository/Trash/class.ilRepUtil.php b/components/ILIAS/Repository/Trash/class.ilRepUtil.php index d01ac66dee5c..a2cf45bad260 100755 --- a/components/ILIAS/Repository/Trash/class.ilRepUtil.php +++ b/components/ILIAS/Repository/Trash/class.ilRepUtil.php @@ -90,7 +90,11 @@ public static function removeObjectsFromSystem( $node_data = $saved_tree->getNodeData($id); $subtree_nodes = $saved_tree->getSubTree($node_data); } else { - throw new ilRepositoryException('No valid tree id found for node id: ' . $id); + if (isset($affected_ids[$id])) { // see #43992 + continue; + } else { + throw new ilRepositoryException('No valid tree id found for node id: ' . $id); + } } } else { $node_data = $tree->getNodeData($id); From 25bf6e1b2698174305e53b8453c1c64d23212758 Mon Sep 17 00:00:00 2001 From: Alexander Killing Date: Tue, 23 Dec 2025 22:10:42 +0100 Subject: [PATCH 246/865] 46606: Verlinkte Bereiche der Instanz kann nicht aufgerufen werden --- .../MediaObjects/ImageMap/class.ilMapArea.php | 64 +++++++++---------- 1 file changed, 32 insertions(+), 32 deletions(-) diff --git a/components/ILIAS/MediaObjects/ImageMap/class.ilMapArea.php b/components/ILIAS/MediaObjects/ImageMap/class.ilMapArea.php index 31b7f646b8a3..ddeb132ecf70 100755 --- a/components/ILIAS/MediaObjects/ImageMap/class.ilMapArea.php +++ b/components/ILIAS/MediaObjects/ImageMap/class.ilMapArea.php @@ -562,37 +562,37 @@ public function drawRect( $this->drawLine( $im, - $coord[0] / $a_x_ratio, - $coord[1] / $a_y_ratio, - $coord[0] / $a_x_ratio, - $coord[3] / $a_y_ratio, + (int) ($coord[0] / $a_x_ratio), + (int) ($coord[1] / $a_y_ratio), + (int) ($coord[0] / $a_x_ratio), + (int) ($coord[3] / $a_y_ratio), $c1, $c2 ); $this->drawLine( $im, - $coord[0] / $a_x_ratio, - $coord[3] / $a_y_ratio, - $coord[2] / $a_x_ratio, - $coord[3] / $a_y_ratio, + (int) ($coord[0] / $a_x_ratio), + (int) ($coord[3] / $a_y_ratio), + (int) ($coord[2] / $a_x_ratio), + (int) ($coord[3] / $a_y_ratio), $c1, $c2 ); $this->drawLine( $im, - $coord[2] / $a_x_ratio, - $coord[3] / $a_y_ratio, - $coord[2] / $a_x_ratio, - $coord[1] / $a_y_ratio, + (int) ($coord[2] / $a_x_ratio), + (int) ($coord[3] / $a_y_ratio), + (int) ($coord[2] / $a_x_ratio), + (int) ($coord[1] / $a_y_ratio), $c1, $c2 ); $this->drawLine( $im, - $coord[2] / $a_x_ratio, - $coord[1] / $a_y_ratio, - $coord[0] / $a_x_ratio, - $coord[1] / $a_y_ratio, + (int) ($coord[2] / $a_x_ratio), + (int) ($coord[1] / $a_y_ratio), + (int) ($coord[0] / $a_x_ratio), + (int) ($coord[1] / $a_y_ratio), $c1, $c2 ); @@ -634,10 +634,10 @@ public function drawPoly( for ($i = 0; $i < $anz - $p; $i++) { $this->drawLine( $im, - $c[$i * 2] / $a_x_ratio, - $c[$i * 2 + 1] / $a_y_ratio, - $c[($i * 2 + 2) % (2 * $anz)] / $a_x_ratio, - $c[($i * 2 + 3) % (2 * $anz)] / $a_y_ratio, + (int) ($c[$i * 2] / $a_x_ratio), + (int) ($c[$i * 2 + 1] / $a_y_ratio), + (int) ($c[($i * 2 + 2) % (2 * $anz)] / $a_x_ratio), + (int) ($c[($i * 2 + 3) % (2 * $anz)] / $a_y_ratio), $c1, $c2 ); @@ -664,30 +664,30 @@ public function drawCircle( $c = explode(",", $coords); imagearc( $im, - $c[0] / $a_x_ratio, - $c[1] / $a_y_ratio, - ($c[2] + 1) * 2 / $a_x_ratio, - ($c[2] + 1) * 2 / $a_y_ratio, + (int) ($c[0] / $a_x_ratio), + (int) ($c[1] / $a_y_ratio), + (int) (($c[2] + 1) * 2 / $a_x_ratio), + (int) (($c[2] + 1) * 2 / $a_y_ratio), 1, 360, $c1 ); imagearc( $im, - $c[0] / $a_x_ratio, - $c[1] / $a_y_ratio, - ($c[2] - 1) * 2 / $a_x_ratio, - ($c[2] - 1) * 2 / $a_y_ratio, + (int) ($c[0] / $a_x_ratio), + (int) ($c[1] / $a_y_ratio), + (int) (($c[2] - 1) * 2 / $a_x_ratio), + (int) (($c[2] - 1) * 2 / $a_y_ratio), 1, 360, $c1 ); imagearc( $im, - $c[0] / $a_x_ratio, - $c[1] / $a_y_ratio, - $c[2] * 2 / $a_x_ratio, - $c[2] * 2 / $a_y_ratio, + (int) ($c[0] / $a_x_ratio), + (int) ($c[1] / $a_y_ratio), + (int) ($c[2] * 2 / $a_x_ratio), + (int) ($c[2] * 2 / $a_y_ratio), 1, 360, $c2 From 42b883387004fb8b8700e1bcaae256d8be0b6285 Mon Sep 17 00:00:00 2001 From: Alexander Killing Date: Tue, 23 Dec 2025 22:38:33 +0100 Subject: [PATCH 247/865] Whoops\Exception\ErrorException thrown with message Trying to access array offset on value of type null --- .../ImageMap/class.ilImageMapEditorGUI.php | 59 ++++++++++++------- 1 file changed, 39 insertions(+), 20 deletions(-) diff --git a/components/ILIAS/MediaObjects/ImageMap/class.ilImageMapEditorGUI.php b/components/ILIAS/MediaObjects/ImageMap/class.ilImageMapEditorGUI.php index a49c30ab101c..349569918d2b 100755 --- a/components/ILIAS/MediaObjects/ImageMap/class.ilImageMapEditorGUI.php +++ b/components/ILIAS/MediaObjects/ImageMap/class.ilImageMapEditorGUI.php @@ -616,36 +616,52 @@ public function getMapAreaLinkString( } switch ($a_type) { case "StructureObject": - $title = ilLMObject::_lookupTitle($t_arr[count($t_arr) - 1]); - $link_str = $lng->txt("chapter") . - ": " . $title . " [" . $t_arr[count($t_arr) - 1] . "]" . $frame_str; + $id = (int) $t_arr[count($t_arr) - 1]; + if (ilLMObject::_exists($id)) { + $title = ilLMObject::_lookupTitle($id); + $link_str = $lng->txt("chapter") . + ": " . $title . " [" . $t_arr[count($t_arr) - 1] . "]" . $frame_str; + } break; case "PageObject": - $title = ilLMObject::_lookupTitle($t_arr[count($t_arr) - 1]); - $link_str = $lng->txt("page") . - ": " . $title . " [" . $t_arr[count($t_arr) - 1] . "]" . $frame_str; + $id = (int) $t_arr[count($t_arr) - 1]; + if (ilLMObject::_exists($id)) { + $title = ilLMObject::_lookupTitle($id); + $link_str = $lng->txt("page") . + ": " . $title . " [" . $t_arr[count($t_arr) - 1] . "]" . $frame_str; + } break; case "GlossaryItem": - $term = new ilGlossaryTerm($t_arr[count($t_arr) - 1]); - $link_str = $lng->txt("term") . - ": " . $term->getTerm() . " [" . $t_arr[count($t_arr) - 1] . "]" . $frame_str; + $id = (int) $t_arr[count($t_arr) - 1]; + if (ilGlossaryTerm::_exists($id)) { + $term = new ilGlossaryTerm($id); + $link_str = $lng->txt("term") . + ": " . $term->getTerm() . " [" . $t_arr[count($t_arr) - 1] . "]" . $frame_str; + } break; case "MediaObject": - $mob = new ilObjMediaObject($t_arr[count($t_arr) - 1]); - $link_str = $lng->txt("mob") . - ": " . $mob->getTitle() . " [" . $t_arr[count($t_arr) - 1] . "]" . $frame_str; + $id = (int) $t_arr[count($t_arr) - 1]; + if (ilObjMediaObject::_exists($id)) { + $mob = new ilObjMediaObject($id); + $link_str = $lng->txt("mob") . + ": " . $mob->getTitle() . " [" . $t_arr[count($t_arr) - 1] . "]" . $frame_str; + } break; case "RepositoryItem": if (trim($a_target) !== "") { - $title = ilObject::_lookupTitle( - ilObject::_lookupObjId((int) $t_arr[count($t_arr) - 1]) - ); - $link_str = $lng->txt("obj_" . $t_arr[count($t_arr) - 2]) . - ": " . $title . " [" . $t_arr[count($t_arr) - 1] . "]" . $frame_str; + $id = (int) $t_arr[count($t_arr) - 1]; + $obj_id = ilObject::_lookupObjId($id); + if (ilObject::_exists($obj_id)) { + $title = ilObject::_lookupTitle( + $obj_id + ); + $link_str = $lng->txt("obj_" . $t_arr[count($t_arr) - 2]) . + ": " . $title . " [" . $t_arr[count($t_arr) - 1] . "]" . $frame_str; + } } else { $title = ""; $link_str = ""; @@ -653,9 +669,12 @@ public function getMapAreaLinkString( break; case "WikiPage": - $wpg = new ilWikiPage($t_arr[count($t_arr) - 1]); - $link_str = $lng->txt("cont_wiki_page") . - ": " . $wpg->getTitle() . " [" . $t_arr[count($t_arr) - 1] . "]" . $frame_str; + $id = (int) $t_arr[count($t_arr) - 1]; + if (ilWikiPage::_exists("wpg", $id)) { + $wpg = new ilWikiPage($id); + $link_str = $lng->txt("cont_wiki_page") . + ": " . $wpg->getTitle() . " [" . $t_arr[count($t_arr) - 1] . "]" . $frame_str; + } break; } From 8ad61b05c16d322d3b6e79cc5a0e7eb3b1e65cd0 Mon Sep 17 00:00:00 2001 From: Alexander Killing Date: Wed, 24 Dec 2025 08:11:06 +0100 Subject: [PATCH 248/865] 44673: Whoops\Exception\ErrorException thrown with message Undefined array key keywords --- components/ILIAS/Blog/classes/class.ilObjBlogGUI.php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/components/ILIAS/Blog/classes/class.ilObjBlogGUI.php b/components/ILIAS/Blog/classes/class.ilObjBlogGUI.php index 26d8420f9904..2dfc4ad428ab 100755 --- a/components/ILIAS/Blog/classes/class.ilObjBlogGUI.php +++ b/components/ILIAS/Blog/classes/class.ilObjBlogGUI.php @@ -1727,7 +1727,7 @@ public function renderNavigation( // by date if (count($a_items)) { - $blocks[$order["navigation"]] = array( + $blocks[$order["navigation"] ?? 0] = array( $this->lng->txt("blog_navigation"), $this->renderNavigationByDate($a_items, $a_list_cmd, $a_posting_cmd, $a_link_template, $a_show_inactive, $a_blpg) ); @@ -1746,7 +1746,7 @@ public function renderNavigation( $keywords = $this->lng->txt("blog_no_keywords"); } $cmd = null; - $blocks[$order["keywords"]] = array( + $blocks[$order["keywords"] ?? 2] = array( $this->lng->txt("blog_keywords"), $keywords, $cmd @@ -1763,7 +1763,7 @@ public function renderNavigation( $this->blog_settings->getAuthors()) { $authors = $this->renderNavigationByAuthors($a_items, $a_list_cmd, $a_show_inactive); if ($authors) { - $blocks[$order["authors"]] = array($this->lng->txt("blog_authors"), $authors); + $blocks[$order["authors"] ?? 1] = array($this->lng->txt("blog_authors"), $authors); } } From e04991069825fd9ba8f1d4ba39304b0c983a78b1 Mon Sep 17 00:00:00 2001 From: Alexander Killing Date: Wed, 24 Dec 2025 08:17:54 +0100 Subject: [PATCH 249/865] 45007: Error occurred while opening certain learning module --- .../Presentation/class.ilLMNavigationRendererGUI.php | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/components/ILIAS/LearningModule/Presentation/class.ilLMNavigationRendererGUI.php b/components/ILIAS/LearningModule/Presentation/class.ilLMNavigationRendererGUI.php index e2441a0037bf..fb8ba7f9ca6b 100755 --- a/components/ILIAS/LearningModule/Presentation/class.ilLMNavigationRendererGUI.php +++ b/components/ILIAS/LearningModule/Presentation/class.ilLMNavigationRendererGUI.php @@ -269,6 +269,8 @@ protected function addDropdown(): void $nodes = $this->lm_tree->getSubTree($this->lm_tree->getNodeData($this->lm_tree->getRootId())); //$nodes = $this->filterNonAccessibleNode($nodes); + $actions = []; + foreach ($nodes as $node) { $disabled = false; @@ -385,7 +387,6 @@ protected function addDropdown(): void $title = "" . $title . ""; - $this->toolbar->addStickyItem( $this->ui->factory()->dropdown()->standard($actions)->withLabel($title) ); From c7dd538fc5d90bbebafbf7a8023589d1d5277677 Mon Sep 17 00:00:00 2001 From: Alexander Killing Date: Wed, 24 Dec 2025 09:28:50 +0100 Subject: [PATCH 250/865] =?UTF-8?q?43203:=20mehrere=20Kategorien=20k=C3=B6?= =?UTF-8?q?nnen=20nicht=20gleichzeitig=20als=20ZIP.File=20heruntergeladen?= =?UTF-8?q?=20werden?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ILIAS/Container/classes/class.ilContainerGUI.php | 8 ++++++++ lang/ilias_de.lang | 1 + lang/ilias_en.lang | 1 + 3 files changed, 10 insertions(+) diff --git a/components/ILIAS/Container/classes/class.ilContainerGUI.php b/components/ILIAS/Container/classes/class.ilContainerGUI.php index e3e6e462bbbc..a611fa96161e 100755 --- a/components/ILIAS/Container/classes/class.ilContainerGUI.php +++ b/components/ILIAS/Container/classes/class.ilContainerGUI.php @@ -1142,6 +1142,14 @@ public function downloadObject(): void } } + foreach ($ids as $ref_id) { + if (!in_array(ilObject::_lookupType($ref_id, true), ["crs", "grp", "fold", "file"])) { + $this->lng->loadLanguageModule("cont"); + $this->tpl->setOnScreenMessage('failure', $this->lng->txt("cont_only_crs_grp_fold_download"), true); + $this->ctrl->redirect($this, ""); + } + } + $download_job = new ilDownloadContainerFilesBackgroundTask( $GLOBALS['DIC']->user()->getId(), $ids, diff --git a/lang/ilias_de.lang b/lang/ilias_de.lang index 94a302c60ff6..01a1fd379c67 100644 --- a/lang/ilias_de.lang +++ b/lang/ilias_de.lang @@ -6072,6 +6072,7 @@ cont#:#cont_news_timeline_landing_page#:#Startseite cont#:#cont_news_timeline_landing_page_info#:#Timeline als Startseite cont#:#cont_news_timeline_tab#:#Timeline cont#:#cont_no_title#:#Leerer Titel +cont#:#cont_only_crs_grp_fold_download#:#Es können nur Dateien, Kurse, Gruppen oder Ordner heruntergeladen werden. cont#:#cont_page_type_cont#:#Magazinseite (Kurs, Gruppe, Kategorie, ...) cont#:#cont_page_type_cstr#:#Startseite lernzielorientierter Kurs cont#:#cont_path#:#Pfad diff --git a/lang/ilias_en.lang b/lang/ilias_en.lang index 788ca84ae26e..85fdab33fe41 100644 --- a/lang/ilias_en.lang +++ b/lang/ilias_en.lang @@ -6073,6 +6073,7 @@ cont#:#cont_news_timeline_landing_page#:#Landing Page cont#:#cont_news_timeline_landing_page_info#:#Timeline page will be the landing page. cont#:#cont_news_timeline_tab#:#Timeline cont#:#cont_no_title#:#Empty Title +cont#:#cont_only_crs_grp_fold_download#:#Only courses, groups, folders or files can be downloaded. cont#:#cont_page_type_cont#:#Repository Page (Cours, Group, ...) cont#:#cont_page_type_cstr#:#Course Start Page (Learning Objectives View) cont#:#cont_path#:#Path From dbb557fb0a9ebbffe33d91cba055f083df57b33d Mon Sep 17 00:00:00 2001 From: Alexander Killing Date: Sat, 27 Dec 2025 11:55:16 +0100 Subject: [PATCH 251/865] 045083: Routing not accessible --- .../Survey/Constraints/class.SurveyConstraintsTableGUI.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/components/ILIAS/Survey/Constraints/class.SurveyConstraintsTableGUI.php b/components/ILIAS/Survey/Constraints/class.SurveyConstraintsTableGUI.php index d5245161fe4c..98856738d863 100755 --- a/components/ILIAS/Survey/Constraints/class.SurveyConstraintsTableGUI.php +++ b/components/ILIAS/Survey/Constraints/class.SurveyConstraintsTableGUI.php @@ -108,7 +108,7 @@ protected function initItems(ilObjSurvey $a_survey): void foreach ($constraints as $constraint) { $parsed[] = array( "id" => $constraint["id"], - "title" => $survey_questions[$constraint["question"]]["title"] . " " . + "title" => ($survey_questions[$constraint["question"]]["title"] ?? "") . " " . $constraint["short"] . " " . $constraint["valueoutput"] ); From 2c030e5a8d04939417166b902bb914dc95dff55d Mon Sep 17 00:00:00 2001 From: Alexander Killing Date: Wed, 31 Dec 2025 09:10:47 +0100 Subject: [PATCH 252/865] =?UTF-8?q?44755:=20360=20Feedback=20werden=20f?= =?UTF-8?q?=C3=BCr=20Ersteller=20alle=20immer=20alle=20Daten=20angezeigt?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Survey/Evaluation/class.EvaluationManager.php | 7 +++---- .../Evaluation/class.ilSurveyEvaluationGUI.php | 11 +++++++++-- .../Survey/Mode/class.AbstractUIModifier.php | 15 +++++++++++++++ .../ILIAS/Survey/Mode/interface.UIModifier.php | 6 ++++++ 4 files changed, 33 insertions(+), 6 deletions(-) diff --git a/components/ILIAS/Survey/Evaluation/class.EvaluationManager.php b/components/ILIAS/Survey/Evaluation/class.EvaluationManager.php index cc5502734827..a4b7bfbece8c 100755 --- a/components/ILIAS/Survey/Evaluation/class.EvaluationManager.php +++ b/components/ILIAS/Survey/Evaluation/class.EvaluationManager.php @@ -133,7 +133,6 @@ public function getSelectableAppraisees(): array public function getCurrentAppraisee(): int { $req_appr_id = $this->requested_appr_id; - // if no user is requested, request current user $user_id = $this->user_id; if ($req_appr_id === 0) { @@ -217,7 +216,6 @@ public function getFilteredFinishedIds(): ?array { $appr_id = $this->getCurrentAppraisee(); $finished_ids = null; - $filter = false; if ($appr_id > 0) { $filter = true; @@ -229,10 +227,11 @@ public function getFilteredFinishedIds(): ?array // see #36336, #36378 if ($this->survey->getMode() !== \ilObjSurvey::MODE_IND_FEEDB && $this->access->canEditSettings()) { - $filter = false; + if ($appr_id === 0) { // #44755 + $filter = false; + } } } - if ($filter) { $finished_ids = $this->survey->getFinishedIdsForAppraiseeId($appr_id); if (!count($finished_ids)) { diff --git a/components/ILIAS/Survey/Evaluation/class.ilSurveyEvaluationGUI.php b/components/ILIAS/Survey/Evaluation/class.ilSurveyEvaluationGUI.php index 8b271d6a6d36..ebb2ec0a75d3 100755 --- a/components/ILIAS/Survey/Evaluation/class.ilSurveyEvaluationGUI.php +++ b/components/ILIAS/Survey/Evaluation/class.ilSurveyEvaluationGUI.php @@ -837,9 +837,7 @@ public function evaluation( $this->lng->loadLanguageModule("content"); $toc_tpl->setVariable("TITLE_TOC", $this->lng->txt('cont_toc')); } - $finished_ids = $this->evaluation_manager->getFilteredFinishedIds(); - // parse answer data in evaluation results $listing = $this->gui->listing(); @@ -1146,6 +1144,15 @@ public function evaluationuser(): void $this->ctrl->redirectByClass("ilObjSurveyGUI", "infoScreen"); } + $this->ui_modifier->setResultsParticipantToolbar( + $this->object, + $ilToolbar, + $this->user->getId() + ); + + $ilToolbar->setFormAction($this->ctrl->getFormAction($this, "evaluationuser")); + + $modal = ""; $appr_id = null; $data = []; diff --git a/components/ILIAS/Survey/Mode/class.AbstractUIModifier.php b/components/ILIAS/Survey/Mode/class.AbstractUIModifier.php index 5f98d875570b..0e5963493d01 100755 --- a/components/ILIAS/Survey/Mode/class.AbstractUIModifier.php +++ b/components/ILIAS/Survey/Mode/class.AbstractUIModifier.php @@ -167,6 +167,21 @@ public function setResultsDetailToolbar( ); } + public function setResultsParticipantToolbar( + \ilObjSurvey $survey, + \ilToolbarGUI $toolbar, + int $user_id + ): void { + $config = $this->getInternalService()->domain()->modeFeatureConfig($survey->getMode()); + if ($config->usesAppraisees()) { + $this->addApprSelectionToToolbar( + $survey, + $toolbar, + $user_id + ); + } + } + protected function addExportAndPrintButton( \ilObjSurvey $survey, \ilToolbarGUI $toolbar, diff --git a/components/ILIAS/Survey/Mode/interface.UIModifier.php b/components/ILIAS/Survey/Mode/interface.UIModifier.php index c86417566ed7..4e1dba9b879e 100755 --- a/components/ILIAS/Survey/Mode/interface.UIModifier.php +++ b/components/ILIAS/Survey/Mode/interface.UIModifier.php @@ -75,6 +75,12 @@ public function setResultsDetailToolbar( \ilTemplate $eval_tpl ): void; + public function setResultsParticipantToolbar( + \ilObjSurvey $survey, + \ilToolbarGUI $toolbar, + int $user_id + ): void; + public function setResultsCompetenceToolbar( \ilObjSurvey $survey, \ilToolbarGUI $toolbar, From b5e18ce2c669d2d51bf611b0b56e33135d535b77 Mon Sep 17 00:00:00 2001 From: Alexander Killing Date: Wed, 31 Dec 2025 11:38:17 +0100 Subject: [PATCH 253/865] Fix: prevent duplication of navigation buttons in ILIAS 9 (refs #45442) (#9891) --- .../Presentation/class.ilLMNavigationRendererGUI.php | 2 ++ .../UIComponent/Toolbar/classes/class.ilToolbarGUI.php | 10 ++++++++++ 2 files changed, 12 insertions(+) diff --git a/components/ILIAS/LearningModule/Presentation/class.ilLMNavigationRendererGUI.php b/components/ILIAS/LearningModule/Presentation/class.ilLMNavigationRendererGUI.php index fb8ba7f9ca6b..12cc3048dfdd 100755 --- a/components/ILIAS/LearningModule/Presentation/class.ilLMNavigationRendererGUI.php +++ b/components/ILIAS/LearningModule/Presentation/class.ilLMNavigationRendererGUI.php @@ -89,6 +89,8 @@ public function renderBottom(): string protected function render(bool $top = true): string { + $this->toolbar->setStickyItems([]); + $page_id = $this->current_page; $tpl = new ilTemplate("tpl.lm_navigation.html", true, true, "components/ILIAS/LearningModule/Presentation"); diff --git a/components/ILIAS/UIComponent/Toolbar/classes/class.ilToolbarGUI.php b/components/ILIAS/UIComponent/Toolbar/classes/class.ilToolbarGUI.php index f8f8fdd19609..ecd3ac58b3b7 100755 --- a/components/ILIAS/UIComponent/Toolbar/classes/class.ilToolbarGUI.php +++ b/components/ILIAS/UIComponent/Toolbar/classes/class.ilToolbarGUI.php @@ -466,6 +466,16 @@ public function setItems(array $items): void $this->items = $items; } + public function getStickyItems(): array + { + return $this->sticky_items; + } + + public function setStickyItems(array $items): void + { + $this->sticky_items = $items; + } + /** * If the toolbar consists of only one button, make it sticky * Note: Atm this is only possible for buttons. If we are dealing with objects implementing the ilToolbarItem From 1b26aa83bcd45ffa74a9c99cae4ce012c393e7c1 Mon Sep 17 00:00:00 2001 From: Alexander Killing Date: Wed, 31 Dec 2025 14:36:29 +0100 Subject: [PATCH 254/865] =?UTF-8?q?45788:=20Button=20Mehr=20anzeigen=20fun?= =?UTF-8?q?ktioniert=20nicht=20f=C3=BCr=20Objektebl=C3=B6cke?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../class.ItemBlockSequenceGenerator.php | 14 +++- .../Content/class.ItemPresentationManager.php | 6 +- .../Content/class.ilContainerContentGUI.php | 47 ++--------- .../Content/class.ilContainerRenderer.php | 77 ++++++++++++++++++- 4 files changed, 98 insertions(+), 46 deletions(-) diff --git a/components/ILIAS/Container/Content/ItemBlock/class.ItemBlockSequenceGenerator.php b/components/ILIAS/Container/Content/ItemBlock/class.ItemBlockSequenceGenerator.php index 652a07b8140d..3e2900e19091 100755 --- a/components/ILIAS/Container/Content/ItemBlock/class.ItemBlockSequenceGenerator.php +++ b/components/ILIAS/Container/Content/ItemBlock/class.ItemBlockSequenceGenerator.php @@ -35,6 +35,7 @@ */ class ItemBlockSequenceGenerator { + protected array $omit_ref_ids = []; protected ?string $lang = null; protected ResourcesManager $copage_resources; protected bool $include_empty_blocks; @@ -66,7 +67,8 @@ public function __construct( BlockSequence $block_sequence, ItemSetManager $item_set_manager, bool $include_empty_blocks = true, - ?string $lang = null + ?string $lang = null, + array $omit_ref_ids = [] ) { $this->access = $domain_service->access(); $this->data_service = $data_service; @@ -83,6 +85,12 @@ public function __construct( $this->block_limit = (int) \ilContainer::_lookupContainerSetting($container->getId(), "block_limit"); } $this->test_assignments = \ilLOTestAssignments::getInstance($this->container->getId()); + $this->omit_ref_ids = $omit_ref_ids; + } + + public function setOmitRefIds(array $omit_ref_ids): void + { + $this->omit_ref_ids = $omit_ref_ids; } public function getSequence(): ItemBlockSequence @@ -323,7 +331,9 @@ protected function determineBlockItems( if ($this->block_limit > 0 && count($accessible_ref_ids) >= $this->block_limit) { $exhausted = true; } elseif (!$filter_session_and_item_group_items || !in_array($ref_id, $this->all_item_group_item_ref_ids)) { - $accessible_ref_ids[] = $ref_id; + if (!in_array($ref_id, $this->omit_ref_ids)) { + $accessible_ref_ids[] = $ref_id; + } } } } diff --git a/components/ILIAS/Container/Content/class.ItemPresentationManager.php b/components/ILIAS/Container/Content/class.ItemPresentationManager.php index b2c675d84332..78ba84146769 100755 --- a/components/ILIAS/Container/Content/class.ItemPresentationManager.php +++ b/components/ILIAS/Container/Content/class.ItemPresentationManager.php @@ -210,9 +210,11 @@ public function hasItems(): bool return $this->item_set->hasItems(); } - public function getItemBlockSequence(): ItemBlockSequence - { + public function getItemBlockSequence( + array $omit_ref_ids = [] + ): ItemBlockSequence { $this->init(); + $this->sequence_generator->setOmitRefIds($omit_ref_ids); return $this->sequence_generator->getSequence(); } diff --git a/components/ILIAS/Container/Content/class.ilContainerContentGUI.php b/components/ILIAS/Container/Content/class.ilContainerContentGUI.php index 7b65aaa7c327..bd29c63f8809 100755 --- a/components/ILIAS/Container/Content/class.ilContainerContentGUI.php +++ b/components/ILIAS/Container/Content/class.ilContainerContentGUI.php @@ -122,7 +122,6 @@ public function __construct( ->content() ->block(); $this->item_presentation = $item_presentation; - $this->block_limit = (int) ilContainer::_lookupContainerSetting($container_gui_obj->getObject()->getId(), "block_limit"); } @@ -710,48 +709,14 @@ public function getSingleTypeBlockAsynch( string $type ): string { $this->initRenderer(); - // get all sub items - $this->items = $this->getContainerObject()->getSubItems( - $this->getContainerGUI()->isActiveAdministrationPanel() - ); - - $exhausted = false; $ref_ids = $this->request->getAlreadyRenderedRefIds(); - // iterate all types - if (is_array($this->items[$type]) && - $this->renderer->addTypeBlock($type)) { - //$this->renderer->setBlockPosition($type, ++$pos); - - $position = 1; - $counter = 1; - foreach ($this->items[$type] as $item_data) { - $item_ref_id = $item_data["child"]; - - if (in_array($item_ref_id, $ref_ids)) { - continue; - } - if ($this->block_limit > 0 && $counter == $this->block_limit + 1) { - if ($counter == $this->block_limit + 1) { - // render more button - $this->renderer->addShowMoreButton($type); - $exhausted = true; - } - continue; - } - - if (!$this->renderer->hasItem($item_ref_id)) { - $html = $this->renderItem($item_data, $position++); - - if ($html != "") { - $counter++; - $this->renderer->addItemToBlock($type, $item_data["type"], $item_ref_id, $html); - } - } - } - } - - return $this->renderer->renderSingleTypeBlock($type, $exhausted); + return $this->renderer->renderSingleTypeBlockAsynch( + $this->item_presentation->getItemBlockSequence($ref_ids), + $type, + $ref_ids, + $this->block_limit + ); } /** diff --git a/components/ILIAS/Container/Content/class.ilContainerRenderer.php b/components/ILIAS/Container/Content/class.ilContainerRenderer.php index c81e89d74ce1..d11dd19b9120 100755 --- a/components/ILIAS/Container/Content/class.ilContainerRenderer.php +++ b/components/ILIAS/Container/Content/class.ilContainerRenderer.php @@ -16,6 +16,9 @@ * *********************************************************************/ +use ILIAS\Container\Content\ItemBlock\ItemBlockSequence; +use ILIAS\Container\Content\ItemBlock\ItemBlock; + /** * Class ilContainerRenderer * @@ -852,7 +855,7 @@ protected function getDetailsLevel(int $a_item_id): int } public function renderItemBlockSequence( - \ILIAS\Container\Content\ItemBlock\ItemBlockSequence $sequence + ItemBlockSequence $sequence ): string { $valid = false; @@ -1055,6 +1058,78 @@ public function renderItemBlockSequence( return $page_html; } + public function renderSingleTypeBlockAsynch( + ItemBlockSequence $sequence, + string $block_id, + array $already_rendered_items, + int $block_limit + ): string { + + $block = $this->getBlockById($sequence, $block_id); + // get all sub items + //$this->items = $this->getContainerObject()->getSubItems( + // $this->getContainerGUI()->isActiveAdministrationPanel() + //); + $exhausted = false; + $ref_ids = $already_rendered_items; + + // iterate all types + if (!is_null($block) && count($block->getItemRefIds()) > 0) { + + $this->addTypeBlock($block_id); + //$this->renderer->setBlockPosition($type, ++$pos); + + $position = 1; + $counter = 1; + foreach ($block->getItemRefIds() as $item_ref_id) { + $item_data = $this->item_presentation->getRawDataByRefId($item_ref_id); + if (in_array($item_ref_id, $ref_ids)) { + continue; + } + + $checkbox = \ILIAS\Containter\Content\ItemRenderer::CHECKBOX_NONE; + if ($this->container_gui->isActiveAdministrationPanel()) { + $checkbox = \ILIAS\Containter\Content\ItemRenderer::CHECKBOX_ADMIN; + } elseif ($this->container_gui->isMultiDownloadEnabled()) { + $checkbox = \ILIAS\Containter\Content\ItemRenderer::CHECKBOX_DOWNLOAD; + } + if (!$this->hasItem($item_ref_id)) { + $html = $this->item_renderer->renderItem( + $item_data, + $position++, + false, + "", + "", + $checkbox, + $this->item_presentation->isActiveItemOrdering($item_data["type"]), + ); + if ($html != "") { + $this->addItemToBlock($block_id, $item_data["type"], $item_ref_id, $html); + } + } + + if ($block_limit > 0 && $html != "" && $block->getLimitExhausted()) { + $this->addShowMoreButton($block_id); + $exhausted = true; + } + } + } + + return $this->renderSingleTypeBlock($block_id, $exhausted); + } + + public function getBlockById( + ItemBlockSequence $sequence, + string $block_id, + ): ?ItemBlock { + foreach ($sequence->getBlocks() as $block) { + if ($block->getId() === $block_id) { + return $block; + } + } + return null; + } + /** * replaces ilContainerContentGUI::renderItemGroup */ From 8287582ecae5291f88c58484604221b6af2c7c2d Mon Sep 17 00:00:00 2001 From: Alexander Killing Date: Wed, 31 Dec 2025 15:12:33 +0100 Subject: [PATCH 255/865] 46440: Cron Job Notification: Error Passing null to parameter #1 () of type string is deprecated --- components/ILIAS/Exercise/Assignment/class.ilExAssignment.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/components/ILIAS/Exercise/Assignment/class.ilExAssignment.php b/components/ILIAS/Exercise/Assignment/class.ilExAssignment.php index e5d6bf62a9d5..c7808e59280c 100755 --- a/components/ILIAS/Exercise/Assignment/class.ilExAssignment.php +++ b/components/ILIAS/Exercise/Assignment/class.ilExAssignment.php @@ -1451,7 +1451,7 @@ public static function getPendingFeedbackNotifications(): array $log->debug("check assignment " . $row['id'] . ", fb_file " . $row["fb_file"]); if ($row['fb_date'] == self::FEEDBACK_DATE_DEADLINE) { $max = max($row['time_stamp'], $row['deadline2']); - if (trim($row["fb_file"]) && $max <= time()) { + if (trim((string) $row["fb_file"]) && $max <= time()) { $log->debug("...adding(1)"); $res[] = $row["id"]; } From 990724a3127397bc9ff843ccbb879a3502d29bee Mon Sep 17 00:00:00 2001 From: Alexander Killing Date: Wed, 31 Dec 2025 16:25:55 +0100 Subject: [PATCH 256/865] 46686: saveEvaluationFromModalObject call getId() on null --- .../Exercise/classes/class.ilExerciseManagementGUI.php | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/components/ILIAS/Exercise/classes/class.ilExerciseManagementGUI.php b/components/ILIAS/Exercise/classes/class.ilExerciseManagementGUI.php index 7dbdae863472..79e1bf7718d5 100755 --- a/components/ILIAS/Exercise/classes/class.ilExerciseManagementGUI.php +++ b/components/ILIAS/Exercise/classes/class.ilExerciseManagementGUI.php @@ -840,6 +840,11 @@ public function getEvaluationModalForm( array $a_data ): ilPropertyFormGUI { $form = new ilPropertyFormGUI(); + $this->ctrl->setParameterByClass( + self::class, + "ass_id", + $this->assignment->getId() + ); $form->setFormAction($this->ctrl->getFormAction($this, "saveEvaluationFromModal")); $form->setId(uniqid('form')); @@ -894,7 +899,6 @@ public function saveEvaluationFromModalObject(): void $grade = trim($form->getInput('grade')); $mark = trim($form->getInput('mark')); } - if ($this->assignment->getId() && $user_id > 0) { $member_status = $this->assignment->getMemberStatus($user_id); $member_status->setComment(ilUtil::stripSlashes($comment)); From eae9a0a90efa0d26a7e623e84f0739e90bd92a8b Mon Sep 17 00:00:00 2001 From: Alexander Killing Date: Wed, 31 Dec 2025 16:32:59 +0100 Subject: [PATCH 257/865] 46008: Mass deletion with XML results in an error: Argument #1 () must be of type int, null given --- components/ILIAS/Exercise/Team/class.ilExAssignmentTeam.php | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/components/ILIAS/Exercise/Team/class.ilExAssignmentTeam.php b/components/ILIAS/Exercise/Team/class.ilExAssignmentTeam.php index 73fb9b6be9fb..79b319eb8a4d 100755 --- a/components/ILIAS/Exercise/Team/class.ilExAssignmentTeam.php +++ b/components/ILIAS/Exercise/Team/class.ilExAssignmentTeam.php @@ -276,7 +276,9 @@ public function writeLog( int $a_action, ?string $a_details = null ): void { - self::writeTeamLog($this->id, $a_action, $a_details); + if ($this->id) { + self::writeTeamLog($this->id, $a_action, $a_details); + } } /** From 734202499cb9aa188f62a6bd5443be690ba917ef Mon Sep 17 00:00:00 2001 From: Alexander Killing Date: Wed, 31 Dec 2025 17:35:10 +0100 Subject: [PATCH 258/865] 41840: Error due to Chapter-DropDown with no access right --- .../Presentation/class.ilLMNavigationRendererGUI.php | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/components/ILIAS/LearningModule/Presentation/class.ilLMNavigationRendererGUI.php b/components/ILIAS/LearningModule/Presentation/class.ilLMNavigationRendererGUI.php index 12cc3048dfdd..5a9bb78707d4 100755 --- a/components/ILIAS/LearningModule/Presentation/class.ilLMNavigationRendererGUI.php +++ b/components/ILIAS/LearningModule/Presentation/class.ilLMNavigationRendererGUI.php @@ -353,10 +353,14 @@ protected function addDropdown(): void } } $text = str_pad("", ($node["depth"] - 1) * 12, " ") . $text; - $actions[] = $this->ui->factory()->button()->shy( + $button = $this->ui->factory()->button()->shy( $text, $href ); + if ($disabled) { + $button = $button->withUnavailableAction(); + } + $actions[] = $button; } } From 3155ecdca1886ec798661a7cc69d7d193888a7c7 Mon Sep 17 00:00:00 2001 From: mjansen Date: Fri, 2 Jan 2026 09:36:42 +0100 Subject: [PATCH 259/865] Badge: Add dedicated URL handler for `badge` namespace See: https://mantis.ilias.de/view.php?id=46690 --- .../Badge/classes/class.ilBadgeHandler.php | 2 +- .../ILIAS/Badge/src/URL/StaticUrlHandler.php | 78 +++++++++++++++++++ 2 files changed, 79 insertions(+), 1 deletion(-) create mode 100644 components/ILIAS/Badge/src/URL/StaticUrlHandler.php diff --git a/components/ILIAS/Badge/classes/class.ilBadgeHandler.php b/components/ILIAS/Badge/classes/class.ilBadgeHandler.php index ff413c10ae1f..1381a4e2c0f1 100755 --- a/components/ILIAS/Badge/classes/class.ilBadgeHandler.php +++ b/components/ILIAS/Badge/classes/class.ilBadgeHandler.php @@ -524,7 +524,7 @@ public function sendNotification( $ntf->addAdditionalInfo('badge_notification_badges', implode("\n", $user_badges), true); - $url = ilLink::_getLink($user_id, 'usr', [], '_bdg'); + $url = ilLink::_getLink(null, 'badge', ['profile']); $ntf->addAdditionalInfo('badge_notification_badges_goto', $url); $ntf->setReasonLangId('badge_notification_reason'); diff --git a/components/ILIAS/Badge/src/URL/StaticUrlHandler.php b/components/ILIAS/Badge/src/URL/StaticUrlHandler.php new file mode 100644 index 000000000000..3d7ba13270d0 --- /dev/null +++ b/components/ILIAS/Badge/src/URL/StaticUrlHandler.php @@ -0,0 +1,78 @@ +ctrl = $ctrl ?? $DIC->ctrl(); + $this->user = $user ?? $DIC->user(); + + parent::__construct(); + } + + public function getNamespace(): string + { + return self::NAMESPACE; + } + + public function handle(Request $request, Context $context, Factory $response_factory): Response + { + if ($this->user->isAnonymous() || !$this->user->getId()) { + return $response_factory->loginFirst(); + } + + if (!\ilBadgeHandler::getInstance()->isActive()) { + return $response_factory->cannot(); + } + + $params = implode('/', $request->getAdditionalParameters() ?? []); + $path = parse_url($params, PHP_URL_PATH); + + return match ($path) { + 'profile' => $response_factory->can($this->ctrl->getLinkTargetByClass( + [ + \ilDashboardGUI::class, + \ilAchievementsGUI::class, + \ilBadgeProfileGUI::class + ] + )), + default => $response_factory->cannot(), + }; + } +} From c88b5def95726210d3fce1c7c52e0d34b4f86bab Mon Sep 17 00:00:00 2001 From: mjansen Date: Fri, 2 Jan 2026 11:34:45 +0100 Subject: [PATCH 260/865] Contact: Add dedicated URL handler for `contact` namespace --- .../class.ilBuddySystemNotification.php | 72 ++++++------- .../Contact/src/URL/StaticUrlHandler.php | 100 ++++++++++++++++++ 2 files changed, 131 insertions(+), 41 deletions(-) create mode 100644 components/ILIAS/Contact/src/URL/StaticUrlHandler.php diff --git a/components/ILIAS/Contact/BuddySystem/classes/class.ilBuddySystemNotification.php b/components/ILIAS/Contact/BuddySystem/classes/class.ilBuddySystemNotification.php index 2f16969498d5..493c17c34d5c 100755 --- a/components/ILIAS/Contact/BuddySystem/classes/class.ilBuddySystemNotification.php +++ b/components/ILIAS/Contact/BuddySystem/classes/class.ilBuddySystemNotification.php @@ -24,34 +24,31 @@ use ILIAS\Notifications\Model\ilNotificationParameter; use ILIAS\Contact\Provider\ContactNotificationProvider; -/** - * Class ilBuddyList - * @author Michael Jansen - */ class ilBuddySystemNotification { - public const CONTACT_REQUEST_KEY = 'contact_requested_by'; - /** @var int[] */ - protected array $recipientIds = []; + public const string CONTACT_REQUEST_KEY = 'contact_requested_by'; + + /** @var list */ + protected array $recipient_ids = []; public function __construct(protected ilObjUser $sender, protected ilSetting $settings) { } /** - * @return int[] + * @return list */ public function getRecipientIds(): array { - return $this->recipientIds; + return $this->recipient_ids; } /** - * @param int[] $recipientIds + * @param list $recipient_ids */ - public function setRecipientIds(array $recipientIds): void + public function setRecipientIds(array $recipient_ids): void { - $this->recipientIds = array_map('intval', $recipientIds); + $this->recipient_ids = array_map('\intval', $recipient_ids); } public function send(): void @@ -59,14 +56,17 @@ public function send(): void foreach ($this->getRecipientIds() as $usr_id) { $user = new ilObjUser($usr_id); - $recipientLanguage = ilLanguageFactory::_getLanguage($user->getLanguage()); - $recipientLanguage->loadLanguageModule('buddysystem'); + $recipient_language = ilLanguageFactory::_getLanguage($user->getLanguage()); + $recipient_language->loadLanguageModule('buddysystem'); $notification = new ilNotificationConfig(ContactNotificationProvider::NOTIFICATION_TYPE); - $personalProfileLink = $recipientLanguage->txt('buddy_noti_cr_profile_not_published'); + $approve_url = ilLink::_getLink($this->sender->getId(), 'contact', ['approve']); + $ignore_url = ilLink::_getLink($this->sender->getId(), 'contact', ['ignore']); + + $profile_url = $recipient_language->txt('buddy_noti_cr_profile_not_published'); if ($this->hasPublicProfile($this->sender->getId())) { - $personalProfileLink = ilLink::_getStaticLink($this->sender->getId(), 'usr', true); + $profile_url = ilLink::_getStaticLink($this->sender->getId(), 'usr', true); $links[] = new ilNotificationLink( new ilNotificationParameter( @@ -74,41 +74,31 @@ public function send(): void $this->sender->getLastname() . ' ' . $this->sender->getLogin() ), - $personalProfileLink + $profile_url ); } $links[] = new ilNotificationLink( new ilNotificationParameter('buddy_notification_contact_request_link_osd', [], 'buddysystem'), - ilLink::_getStaticLink( - $this->sender->getId(), - 'usr', - true, - '_contact_approved' - ) + $approve_url ); $links[] = new ilNotificationLink( new ilNotificationParameter('buddy_notification_contact_request_ignore_osd', [], 'buddysystem'), - ilLink::_getStaticLink( - $this->sender->getId(), - 'usr', - true, - '_contact_ignored' - ) + $ignore_url ); - $bodyParams = [ - 'SALUTATION' => ilMail::getSalutation($user->getId(), $recipientLanguage), + $body_params = [ + 'SALUTATION' => ilMail::getSalutation($user->getId(), $recipient_language), 'BR' => "\n", - 'APPROVE_REQUEST' => ilLink::_getStaticLink($this->sender->getId(), 'usr', true, '_contact_approved'), - 'APPROVE_REQUEST_TXT' => $recipientLanguage->txt('buddy_notification_contact_request_link'), - 'IGNORE_REQUEST' => ilLink::_getStaticLink($this->sender->getId(), 'usr', true, '_contact_ignored'), - 'IGNORE_REQUEST_TXT' => $recipientLanguage->txt('buddy_notification_contact_request_ignore'), + 'APPROVE_REQUEST' => $approve_url, + 'APPROVE_REQUEST_TXT' => $recipient_language->txt('buddy_notification_contact_request_link'), + 'IGNORE_REQUEST' => $ignore_url, + 'IGNORE_REQUEST_TXT' => $recipient_language->txt('buddy_notification_contact_request_ignore'), 'REQUESTING_USER' => ilUserUtil::getNamePresentation($this->sender->getId()), - 'PERSONAL_PROFILE_LINK' => $personalProfileLink, + 'PERSONAL_PROFILE_LINK' => $profile_url, ]; $notification->setTitleVar('buddy_notification_contact_request', [], 'buddysystem'); - $notification->setShortDescriptionVar('buddy_notification_contact_request_short', $bodyParams, 'buddysystem'); - $notification->setLongDescriptionVar('buddy_notification_contact_request_long', $bodyParams, 'buddysystem'); + $notification->setShortDescriptionVar('buddy_notification_contact_request_short', $body_params, 'buddysystem'); + $notification->setLongDescriptionVar('buddy_notification_contact_request_long', $body_params, 'buddysystem'); $notification->setLinks($links); $notification->setValidForSeconds(ilNotificationConfig::TTL_LONG); $notification->setVisibleForSeconds(ilNotificationConfig::DEFAULT_TTS); @@ -125,9 +115,9 @@ public function send(): void protected function hasPublicProfile(int $recipientUsrId): bool { - $portfolioId = ilObjPortfolio::getDefaultPortfolio($this->sender->getId()); - if (is_numeric($portfolioId) && $portfolioId > 0) { - return (new ilPortfolioAccessHandler())->checkAccessOfUser($recipientUsrId, 'read', '', $portfolioId); + $portfolio_id = ilObjPortfolio::getDefaultPortfolio($this->sender->getId()); + if (is_numeric($portfolio_id) && $portfolio_id > 0) { + return (new ilPortfolioAccessHandler())->checkAccessOfUser($recipientUsrId, 'read', '', $portfolio_id); } return ( diff --git a/components/ILIAS/Contact/src/URL/StaticUrlHandler.php b/components/ILIAS/Contact/src/URL/StaticUrlHandler.php new file mode 100644 index 000000000000..eb36b8236fe7 --- /dev/null +++ b/components/ILIAS/Contact/src/URL/StaticUrlHandler.php @@ -0,0 +1,100 @@ +ctrl = $ctrl ?? $DIC->ctrl(); + $this->user = $user ?? $DIC->user(); + + parent::__construct(); + } + + public function getNamespace(): string + { + return self::NAMESPACE; + } + + public function handle(Request $request, Context $context, Factory $response_factory): Response + { + if ($this->user->isAnonymous() || !$this->user->getId()) { + return $response_factory->loginFirst(); + } + + if (!\ilBuddySystem::getInstance()->isEnabled()) { + return $response_factory->cannot(); + } + + $params = implode('/', $request->getAdditionalParameters() ?? []); + $path = parse_url($params, PHP_URL_PATH); + + return match ($path) { + 'approve' => $response_factory->can($this->buildProfileUrl( + $context->ctrl(), + $request->getReferenceId(), + 'approveContactRequest' + )), + 'ignore' => $response_factory->can($this->buildProfileUrl( + $context->ctrl(), + $request->getReferenceId(), + 'ignoreContactRequest' + )), + default => $response_factory->cannot(), + }; + } + + private function buildProfileUrl( + \ilCtrl $ctrl, + ?ReferenceId $target_user_id, + string $cmd + ): string { + if ($target_user_id === null) { + return $ctrl->getLinkTargetByClass( + [\ilDashboardGUI::class], + 'jumpToProfile' + ); + } + + $ctrl->setParameterByClass(PublicProfileGUI::class, 'user_id', $target_user_id->toInt()); + + return $ctrl->getLinkTargetByClass([\ilPublicProfileBaseClassGUI::class, PublicProfileGUI::class], $cmd); + } +} From 0b69ceca0ea073ae1b37a3c9e4b33f2ca8cbdcda Mon Sep 17 00:00:00 2001 From: mjansen Date: Fri, 2 Jan 2026 11:47:12 +0100 Subject: [PATCH 261/865] Badge: Remove obsolete code from URL handler --- .../ILIAS/Badge/src/URL/StaticUrlHandler.php | 19 ++----------------- 1 file changed, 2 insertions(+), 17 deletions(-) diff --git a/components/ILIAS/Badge/src/URL/StaticUrlHandler.php b/components/ILIAS/Badge/src/URL/StaticUrlHandler.php index 3d7ba13270d0..f50fdea5e2ec 100644 --- a/components/ILIAS/Badge/src/URL/StaticUrlHandler.php +++ b/components/ILIAS/Badge/src/URL/StaticUrlHandler.php @@ -31,21 +31,6 @@ class StaticUrlHandler extends BaseHandler implements Handler { public const string NAMESPACE = 'badge'; - private readonly \ilCtrlInterface $ctrl; - private readonly \ilObjUser $user; - - public function __construct( - ?\ilCtrlInterface $ctrl = null, - ?\ilObjUser $user = null - ) { - global $DIC; - - $this->ctrl = $ctrl ?? $DIC->ctrl(); - $this->user = $user ?? $DIC->user(); - - parent::__construct(); - } - public function getNamespace(): string { return self::NAMESPACE; @@ -53,7 +38,7 @@ public function getNamespace(): string public function handle(Request $request, Context $context, Factory $response_factory): Response { - if ($this->user->isAnonymous() || !$this->user->getId()) { + if (!$context->isUserLoggedIn()) { return $response_factory->loginFirst(); } @@ -65,7 +50,7 @@ public function handle(Request $request, Context $context, Factory $response_fac $path = parse_url($params, PHP_URL_PATH); return match ($path) { - 'profile' => $response_factory->can($this->ctrl->getLinkTargetByClass( + 'profile' => $response_factory->can($context->ctrl()->getLinkTargetByClass( [ \ilDashboardGUI::class, \ilAchievementsGUI::class, From 7af02e5e0d3fc3b2da92eb8a15ef1358e66ecc63 Mon Sep 17 00:00:00 2001 From: mjansen Date: Fri, 2 Jan 2026 11:47:27 +0100 Subject: [PATCH 262/865] Contact: Remove obsolete code from URL handler --- .../ILIAS/Contact/src/URL/StaticUrlHandler.php | 17 +---------------- 1 file changed, 1 insertion(+), 16 deletions(-) diff --git a/components/ILIAS/Contact/src/URL/StaticUrlHandler.php b/components/ILIAS/Contact/src/URL/StaticUrlHandler.php index eb36b8236fe7..b7e655418d4e 100644 --- a/components/ILIAS/Contact/src/URL/StaticUrlHandler.php +++ b/components/ILIAS/Contact/src/URL/StaticUrlHandler.php @@ -33,21 +33,6 @@ class StaticUrlHandler extends BaseHandler implements Handler { public const string NAMESPACE = 'contact'; - private readonly \ilCtrlInterface $ctrl; - private readonly \ilObjUser $user; - - public function __construct( - ?\ilCtrlInterface $ctrl = null, - ?\ilObjUser $user = null - ) { - global $DIC; - - $this->ctrl = $ctrl ?? $DIC->ctrl(); - $this->user = $user ?? $DIC->user(); - - parent::__construct(); - } - public function getNamespace(): string { return self::NAMESPACE; @@ -55,7 +40,7 @@ public function getNamespace(): string public function handle(Request $request, Context $context, Factory $response_factory): Response { - if ($this->user->isAnonymous() || !$this->user->getId()) { + if (!$context->isUserLoggedIn()) { return $response_factory->loginFirst(); } From 125dfd959a16bd394a2407f0fe066e00a758cb7c Mon Sep 17 00:00:00 2001 From: mjansen Date: Fri, 2 Jan 2026 13:22:24 +0100 Subject: [PATCH 263/865] Certificate: Use context to retrieve services in URL handler --- .../Certificate/src/StaticUrlHandler.php | 31 ++++--------------- 1 file changed, 6 insertions(+), 25 deletions(-) diff --git a/components/ILIAS/Certificate/src/StaticUrlHandler.php b/components/ILIAS/Certificate/src/StaticUrlHandler.php index 701105e1bf3a..47f77a2a00e0 100644 --- a/components/ILIAS/Certificate/src/StaticUrlHandler.php +++ b/components/ILIAS/Certificate/src/StaticUrlHandler.php @@ -21,7 +21,6 @@ namespace ILIAS\Certificate; use ilAchievementsGUI; -use ilCtrlInterface; use ilDashboardGUI; use ILIAS\StaticURL\Context; use ILIAS\StaticURL\Handler\BaseHandler; @@ -29,30 +28,11 @@ use ILIAS\StaticURL\Request\Request; use ILIAS\StaticURL\Response\Factory; use ILIAS\StaticURL\Response\Response; -use ilObjUser; use ilSetting; use ilUserCertificateGUI; class StaticUrlHandler extends BaseHandler implements Handler { - private readonly ilCtrlInterface $ctrl; - private readonly ilSetting $certificate_settings; - private readonly ilObjUser $user; - - public function __construct( - ?ilCtrlInterface $ctrl = null, - ?ilSetting $certificate_settings = null, - ?ilObjUser $user = null - ) { - global $DIC; - - $this->ctrl = $ctrl ?? $DIC->ctrl(); - $this->certificate_settings = $certificate_settings ?? new ilSetting('certificate'); - $this->user = $user ?? $DIC->user(); - - parent::__construct(); - } - public function getNamespace(): string { return 'cert'; @@ -60,26 +40,27 @@ public function getNamespace(): string public function handle(Request $request, Context $context, Factory $response_factory): Response { - if ($this->user->isAnonymous() || !$this->user->getId()) { + if (!$context->isUserLoggedIn()) { return $response_factory->loginFirst(); } - if (!$this->certificate_settings->get('active', '0')) { + $certificate_settings = new ilSetting('certificate'); + if (!$certificate_settings->get('active', '0')) { return $response_factory->cannot(); } $additional_params = implode('/', $request->getAdditionalParameters() ?? []); return match ($additional_params) { - 'list' => $response_factory->can($this->ctrl->getLinkTargetByClass( + 'list' => $response_factory->can($context->ctrl()->getLinkTargetByClass( [ ilDashboardGUI::class, ilAchievementsGUI::class, ilUserCertificateGUI::class, ], - "listCertificates", + 'listCertificates', )), - default => $response_factory->cannot(), + default => $response_factory->cannot() }; } } From 804b7d333ffe673e38225f5888203f109c1f1dc6 Mon Sep 17 00:00:00 2001 From: mjansen Date: Fri, 2 Jan 2026 09:31:30 +0100 Subject: [PATCH 264/865] User/Badge: Fix handling of static badge URLs This commit suggests fixing the handling of static URLs like this: http://my.ilias.org/goto.php/usr/6/_bdg?osd_id=6 See: https://mantis.ilias.de/view.php?id=46690 --- components/ILIAS/User/src/StaticURLHandler.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/components/ILIAS/User/src/StaticURLHandler.php b/components/ILIAS/User/src/StaticURLHandler.php index 5358db188025..063511956825 100755 --- a/components/ILIAS/User/src/StaticURLHandler.php +++ b/components/ILIAS/User/src/StaticURLHandler.php @@ -157,7 +157,7 @@ private function getRedirectToOtherComponentsOrProfile( ?ReferenceId $target_user_id, string $cmd ): string { - if (substr($cmd, -4) == '_bdg') { + if (str_starts_with($cmd, '_bdg')) { return $ctrl->getLinkTargetByClass(\ilDashboardGUI::class, 'jumpToBadges'); } From f57e4d9b69caf54ecad68086f0f7b6216f0deb32 Mon Sep 17 00:00:00 2001 From: Denis Strassner Date: Fri, 2 Jan 2026 10:56:59 +0100 Subject: [PATCH 265/865] =?UTF-8?q?Exchange=20of=20'Feedback'=20in=20favor?= =?UTF-8?q?=20of=20'R=C3=BCckmeldung'?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lang/ilias_de.lang | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/lang/ilias_de.lang b/lang/ilias_de.lang index 01a1fd379c67..fd1f1ade3996 100644 --- a/lang/ilias_de.lang +++ b/lang/ilias_de.lang @@ -1239,7 +1239,7 @@ assessment#:#saveOrderAndObligations#:#Sortierung und Obligationen abspeichern assessment#:#save_and_next#:#Speichern und weiter assessment#:#save_on_navigation#:#Navigieren mit Speichern assessment#:#save_on_navigation_confirmation#:#Ihre geänderten Antworten werden beim Navigieren automatisch gespeichert. -assessment#:#save_on_navigation_forced_feedback_hint#:#Vorher erhalten Sie Feedback zu Ihrer Antwort. +assessment#:#save_on_navigation_forced_feedback_hint#:#Vorher erhalten Sie Rückmeldung zu Ihrer Antwort. assessment#:#save_on_navigation_locked_confirmation#:#Ihre geänderten Antworten werden beim Navigieren automatisch gespeichert und festgeschrieben. assessment#:#saved_adjustment#:#Veränderung gespeichert. assessment#:#score_anon#:#Anonym bewerten @@ -1576,9 +1576,9 @@ assessment#:#tst_instant_feedback_answer_specific_desc#:#Bei Anklicken des 'Rüc assessment#:#tst_instant_feedback_contents#:#Inhalte der Rückmeldung assessment#:#tst_instant_feedback_desc#:#Sofern Fragen mit Rückmeldungen versehen sind, stehen diese den Teilnehmern während des Tests zur Verfügung. assessment#:#tst_instant_feedback_results#:#Erreichte Punkte -assessment#:#tst_instant_feedback_results_desc#:#Den Teilnehmenden wird angezeigt, wie viele Punkte ihre Antwort wert ist. Bitte wählen Sie unten aus, wie das Feedback ausgelöst werden soll. +assessment#:#tst_instant_feedback_results_desc#:#Den Teilnehmenden wird angezeigt, wie viele Punkte ihre Antwort wert ist. Bitte wählen Sie unten aus, wie die Rückmeldung ausgelöst werden soll. assessment#:#tst_instant_feedback_solution#:#Bestmögliche Lösung anzeigen -assessment#:#tst_instant_feedback_solution_desc#:#Den Teilnehmenden wird die bestmögliche Antwort auf die Frage angezeigt. Bitte wählen Sie unten aus, wie das Feedback ausgelöst werden soll. +assessment#:#tst_instant_feedback_solution_desc#:#Den Teilnehmenden wird die bestmögliche Antwort auf die Frage angezeigt. Bitte wählen Sie unten aus, wie die Rückmeldung ausgelöst werden soll. assessment#:#tst_instant_feedback_trigger#:#Auslöser der Rückmeldung assessment#:#tst_instant_feedback_trigger_forced#:#Eine Frage beantworten assessment#:#tst_instant_feedback_trigger_forced_desc#:#Durch Beantwortung einer Frage wird die Rückmeldung automatisch ausgelöst. From 2de8c606b4fe26fe3e104f0892937576ce998ecb Mon Sep 17 00:00:00 2001 From: Denis Strassner Date: Fri, 2 Jan 2026 11:24:23 +0100 Subject: [PATCH 266/865] Exchange tst_feedback instead of common lang var --- .../Test/src/Questions/Presentation/QuestionsBrowserFilter.php | 2 +- .../Test/src/Questions/Presentation/QuestionsBrowserTable.php | 2 +- .../src/Questions/Presentation/QuestionTable.php | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/components/ILIAS/Test/src/Questions/Presentation/QuestionsBrowserFilter.php b/components/ILIAS/Test/src/Questions/Presentation/QuestionsBrowserFilter.php index da9df304104c..8a79803341cf 100644 --- a/components/ILIAS/Test/src/Questions/Presentation/QuestionsBrowserFilter.php +++ b/components/ILIAS/Test/src/Questions/Presentation/QuestionsBrowserFilter.php @@ -88,7 +88,7 @@ private function getFields(FieldFactory $input): array 'parent_title' => [$input->text($this->lng->txt($this->parent_title)), true], 'taxonomy_title' => [$input->text($this->lng->txt('taxonomy_title')), true], 'taxonomy_node_title' => [$input->text($this->lng->txt('taxonomy_node_title')), true], - 'feedback' => [$input->select($this->lng->txt('feedback'), $yes_no_all_options), false], + 'feedback' => [$input->select($this->lng->txt('tst_feedback'), $yes_no_all_options), false], ]; } diff --git a/components/ILIAS/Test/src/Questions/Presentation/QuestionsBrowserTable.php b/components/ILIAS/Test/src/Questions/Presentation/QuestionsBrowserTable.php index 6d7177f3a219..c93a7adc79d2 100644 --- a/components/ILIAS/Test/src/Questions/Presentation/QuestionsBrowserTable.php +++ b/components/ILIAS/Test/src/Questions/Presentation/QuestionsBrowserTable.php @@ -99,7 +99,7 @@ public function getColumns(): array $this->lng->txt('qpl_settings_subtab_taxonomies') )->withIsOptional(false, true), 'feedback' => $column_factory->boolean( - $this->lng->txt('feedback'), + $this->lng->txt('tst_feedback'), $iconYes, $iconNo )->withIsOptional(true, false), diff --git a/components/ILIAS/TestQuestionPool/src/Questions/Presentation/QuestionTable.php b/components/ILIAS/TestQuestionPool/src/Questions/Presentation/QuestionTable.php index 149af7796a5d..1629f51468e1 100755 --- a/components/ILIAS/TestQuestionPool/src/Questions/Presentation/QuestionTable.php +++ b/components/ILIAS/TestQuestionPool/src/Questions/Presentation/QuestionTable.php @@ -162,7 +162,7 @@ public function getColumns(): array 'author' => $f->text($this->lng->txt('author'))->withIsOptional(true, true), 'lifecycle' => $f->text($this->lng->txt('qst_lifecycle'))->withIsOptional(true, true), 'taxonomies' => $f->text($this->lng->txt('qpl_settings_subtab_taxonomies'))->withIsOptional(true, true), - 'feedback' => $f->boolean($this->lng->txt('feedback'), $icon_yes, $icon_no)->withIsOptional(true, true), + 'feedback' => $f->boolean($this->lng->txt('tst_feedback'), $icon_yes, $icon_no)->withIsOptional(true, true), 'created' => $f->date( $this->lng->txt('create_date'), $this->current_user->getDateTimeFormat() From 71141d5bd3b1cba39c2bf06319f762c1dc4e90ce Mon Sep 17 00:00:00 2001 From: Denis Strassner Date: Fri, 2 Jan 2026 10:56:59 +0100 Subject: [PATCH 267/865] Test: Use Correct LangVar See: https://mantis.ilias.de/view.php?id=46717 --- .../classes/class.assQuestionGUI.php | 12 +++++--- .../classes/class.ilBulkEditQuestionsGUI.php | 1 - .../Questions/Presentation/QuestionTable.php | 30 +++++++++---------- 3 files changed, 23 insertions(+), 20 deletions(-) diff --git a/components/ILIAS/TestQuestionPool/classes/class.assQuestionGUI.php b/components/ILIAS/TestQuestionPool/classes/class.assQuestionGUI.php index 0b9bdea9515a..10eccce369b9 100755 --- a/components/ILIAS/TestQuestionPool/classes/class.assQuestionGUI.php +++ b/components/ILIAS/TestQuestionPool/classes/class.assQuestionGUI.php @@ -1603,12 +1603,16 @@ protected function getAdditionalEditQuestionCommands(): array protected function addTab_QuestionFeedback(ilTabsGUI $tabs): void { - $tabCommands = self::getCommandsFromClassConstants(ilAssQuestionFeedbackEditingGUI::class); - $this->ctrl->setParameterByClass(ilAssQuestionFeedbackEditingGUI::class, 'q_id', $this->object->getId()); - $tabLink = $this->ctrl->getLinkTargetByClass(ilAssQuestionFeedbackEditingGUI::class, ilAssQuestionFeedbackEditingGUI::CMD_SHOW); - $tabs->addTarget('feedback', $tabLink, $tabCommands, $this->ctrl->getCmdClass(), ''); + $tabs->addTab( + 'feedback', + $this->lng->txt('tst_feedback'), + $this->ctrl->getLinkTargetByClass( + ilAssQuestionFeedbackEditingGUI::class, + ilAssQuestionFeedbackEditingGUI::CMD_SHOW + ) + ); } protected function addTab_Question(ilTabsGUI $tabs_gui): void diff --git a/components/ILIAS/TestQuestionPool/classes/class.ilBulkEditQuestionsGUI.php b/components/ILIAS/TestQuestionPool/classes/class.ilBulkEditQuestionsGUI.php index 4178685ae116..58c4856b3367 100644 --- a/components/ILIAS/TestQuestionPool/classes/class.ilBulkEditQuestionsGUI.php +++ b/components/ILIAS/TestQuestionPool/classes/class.ilBulkEditQuestionsGUI.php @@ -25,7 +25,6 @@ use Psr\Http\Message\ServerRequestInterface; use ILIAS\HTTP\Wrapper\RequestWrapper; use ILIAS\UI\Component\Input\Container\Form; -use ILIAS\UI\Component\MessageBox\MessageBox; /** * @ilCtrl_Calls ilBulkEditQuestionsGUI: ilFormPropertyDispatchGUI diff --git a/components/ILIAS/TestQuestionPool/src/Questions/Presentation/QuestionTable.php b/components/ILIAS/TestQuestionPool/src/Questions/Presentation/QuestionTable.php index 1629f51468e1..a7018262d284 100755 --- a/components/ILIAS/TestQuestionPool/src/Questions/Presentation/QuestionTable.php +++ b/components/ILIAS/TestQuestionPool/src/Questions/Presentation/QuestionTable.php @@ -330,27 +330,27 @@ protected function getActions(): array { $write_access = $this->rbac->checkAccess('write', $this->request_ref_id); return array_merge( - $this->buildAction('copy', 'standard'), - $write_access ? $this->buildAction('move', 'standard') : [], - $write_access ? $this->buildAction('delete', 'standard') : [], - $this->buildAction('export', 'multi'), - $this->buildAction('preview', 'single'), - $this->buildAction('statistics', 'single'), - $write_access ? $this->buildAction('edit_question', 'single') : [], - $write_access ? $this->buildAction('edit_page', 'single') : [], - $write_access ? $this->buildAction('feedback', 'single') : [], - $write_access ? $this->buildAction(\ilBulkEditQuestionsGUI::CMD_EDITTAUTHOR, 'multi') : [], - $write_access ? $this->buildAction(\ilBulkEditQuestionsGUI::CMD_EDITLIFECYCLE, 'multi') : [], - $write_access ? $this->buildAction(\ilBulkEditQuestionsGUI::CMD_EDITTAXONOMIES, 'multi') : [], - $this->showCommentAction() ? $this->buildAction('comments', 'single', true) : [] + $this->buildAction('copy', 'copy', 'standard'), + $write_access ? $this->buildAction('move', 'move', 'standard') : [], + $write_access ? $this->buildAction('delete', 'delete', 'standard') : [], + $this->buildAction('export', 'export', 'multi'), + $this->buildAction('preview', 'preview', 'single'), + $this->buildAction('statistics', 'statistics', 'single'), + $write_access ? $this->buildAction('edit_question', 'edit_question', 'single') : [], + $write_access ? $this->buildAction('edit_page', 'edit_page', 'single') : [], + $write_access ? $this->buildAction('feedback', 'tst_feedback', 'single') : [], + $write_access ? $this->buildAction(\ilBulkEditQuestionsGUI::CMD_EDITTAUTHOR, 'bulkedit_author', 'multi') : [], + $write_access ? $this->buildAction(\ilBulkEditQuestionsGUI::CMD_EDITLIFECYCLE, 'bulkedit_lifecycle', 'multi') : [], + $write_access ? $this->buildAction(\ilBulkEditQuestionsGUI::CMD_EDITTAXONOMIES, 'bulkedit_taxonomies', 'multi') : [], + $this->showCommentAction() ? $this->buildAction('comments', 'comments', 'single', true) : [] ); } - protected function buildAction(string $act, string $type, bool $async = false): array + protected function buildAction(string $act, string $lng_var, string $type, bool $async = false): array { $action = $this->ui_factory->table()->action() ->$type( - $this->lng->txt($act), + $this->lng->txt($lng_var), $this->url_builder->withParameter($this->action_parameter_token, $act), $this->row_id_token ); From e09bf6ce230c3138d84eaba6eda4717cc7b75f98 Mon Sep 17 00:00:00 2001 From: Alexander Killing Date: Mon, 5 Jan 2026 10:16:31 +0100 Subject: [PATCH 268/865] 45255: HTML export of ILIAS learning module doesn't work --- .../Presentation/class.ilLMNavigationRendererGUI.php | 1 + 1 file changed, 1 insertion(+) diff --git a/components/ILIAS/LearningModule/Presentation/class.ilLMNavigationRendererGUI.php b/components/ILIAS/LearningModule/Presentation/class.ilLMNavigationRendererGUI.php index 5a9bb78707d4..55238ad1d05e 100755 --- a/components/ILIAS/LearningModule/Presentation/class.ilLMNavigationRendererGUI.php +++ b/components/ILIAS/LearningModule/Presentation/class.ilLMNavigationRendererGUI.php @@ -364,6 +364,7 @@ protected function addDropdown(): void } } + $title = ""; if ($this->lm->getTOCMode() === "pages") { $title = ilLMPageObject::_getPresentationTitle( $this->current_page, From 294df36a22c4c2d9c36adc772040650ef38cbf49 Mon Sep 17 00:00:00 2001 From: Alexander Killing Date: Mon, 5 Jan 2026 10:25:45 +0100 Subject: [PATCH 269/865] 44239: SCROM WAC error; partly fixed --- .../LearningModule/classes/class.ilObjLearningModuleAccess.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/components/ILIAS/LearningModule/classes/class.ilObjLearningModuleAccess.php b/components/ILIAS/LearningModule/classes/class.ilObjLearningModuleAccess.php index 1230c9702d8e..2267035c00d5 100755 --- a/components/ILIAS/LearningModule/classes/class.ilObjLearningModuleAccess.php +++ b/components/ILIAS/LearningModule/classes/class.ilObjLearningModuleAccess.php @@ -85,7 +85,7 @@ public function canBeDelivered(ilWACPath $ilWACPath): bool * @var $ilAccess ilAccessHandler */ preg_match("/lm_data\\/lm_([0-9]*)\\//ui", $ilWACPath->getPath(), $results); - foreach (ilObject2::_getAllReferences($results[1]) as $ref_id) { + foreach (ilObject2::_getAllReferences((int) ($results[1] ?? 0)) as $ref_id) { if ($ilAccess->checkAccess('read', '', $ref_id)) { return true; } From 4a47ffa4515b56bb1a44085751daae6af70c7e5b Mon Sep 17 00:00:00 2001 From: Alexander Killing Date: Mon, 5 Jan 2026 11:16:37 +0100 Subject: [PATCH 270/865] 46179: Too long value for author in survey metadata leads to error --- components/ILIAS/Survey/classes/class.ilObjSurvey.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/components/ILIAS/Survey/classes/class.ilObjSurvey.php b/components/ILIAS/Survey/classes/class.ilObjSurvey.php index 66445f9d4da5..2e1b3a2189b5 100755 --- a/components/ILIAS/Survey/classes/class.ilObjSurvey.php +++ b/components/ILIAS/Survey/classes/class.ilObjSurvey.php @@ -758,7 +758,7 @@ public function saveToDb(): void $this->setSurveyId($next_id); } else { $affectedRows = $ilDB->update("svy_svy", array( - "author" => array("text", $this->getAuthor()), + "author" => array("text", ilStr::subStr($this->getAuthor(), 0, 50)), "introduction" => array("clob", ilRTE::_replaceMediaObjectImageSrc($this->getIntroduction(), 0)), "outro" => array("clob", ilRTE::_replaceMediaObjectImageSrc($this->getOutro(), 0)), "startdate" => array("text", $this->getStartDate()), From aa211c1a181b2425dff01922d5e75c8808d2551a Mon Sep 17 00:00:00 2001 From: Alexander Killing Date: Mon, 5 Jan 2026 12:07:03 +0100 Subject: [PATCH 271/865] 0044386]: internal wiki page links in ex/imported wiki don't work, part ii --- components/ILIAS/Wiki/Page/ImportResolver.php | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/components/ILIAS/Wiki/Page/ImportResolver.php b/components/ILIAS/Wiki/Page/ImportResolver.php index 82bf4a4685eb..0d09255e7237 100644 --- a/components/ILIAS/Wiki/Page/ImportResolver.php +++ b/components/ILIAS/Wiki/Page/ImportResolver.php @@ -37,7 +37,8 @@ public function getIdForImportId(string $import_id): int { foreach ($this->page_repo->getPageIdsForImportId($import_id) as $wpage_id) { $wiki_id = \ilWikiPage::lookupWikiId($wpage_id); - if (\ilObject::_hasUntrashedReference($wiki_id)) { + $ref_ids = \ilObject::_getAllReferences($wiki_id); // will be 0 if import of lm is in progress (new import) + if (count($ref_ids) === 0 || \ilObject::_hasUntrashedReference($wiki_id)) { return $wpage_id; } } From 90b45bdd80a29e6b5fb8cc41df6ec5b7186be8d6 Mon Sep 17 00:00:00 2001 From: Alexander Killing Date: Mon, 5 Jan 2026 13:10:26 +0100 Subject: [PATCH 272/865] 45848: Error when renaming objects in the MediaPool --- components/ILIAS/MediaPool/classes/class.ilMediaPoolItem.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/components/ILIAS/MediaPool/classes/class.ilMediaPoolItem.php b/components/ILIAS/MediaPool/classes/class.ilMediaPoolItem.php index 8eb096394a5c..2eb33dea589a 100755 --- a/components/ILIAS/MediaPool/classes/class.ilMediaPoolItem.php +++ b/components/ILIAS/MediaPool/classes/class.ilMediaPoolItem.php @@ -191,9 +191,9 @@ public static function updateObjectTitle(int $a_obj): void global $DIC; $ilDB = $DIC->database(); - if (ilObject::_lookupType($a_obj) === "mob") { - $title = ilObject::_lookupTitle($a_obj); + $media_object = new ilObjMediaObject($a_obj); + $title = $media_object->getTitle(); $ilDB->manipulate( "UPDATE mep_item SET " . " title = " . $ilDB->quote($title, "text") . From 74939144d1cc470c3cf92b0d5c2d87456a5ce3cb Mon Sep 17 00:00:00 2001 From: Stefan Meyer Date: Tue, 9 Dec 2025 14:33:20 +0100 Subject: [PATCH 273/865] ilServer tika dependencies Signed-off-by: Fabian Wolf --- components/ILIAS/WebServices/RPC/lib/pom.xml | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/components/ILIAS/WebServices/RPC/lib/pom.xml b/components/ILIAS/WebServices/RPC/lib/pom.xml index 65efce6976a3..07d04a49ffbe 100755 --- a/components/ILIAS/WebServices/RPC/lib/pom.xml +++ b/components/ILIAS/WebServices/RPC/lib/pom.xml @@ -5,7 +5,7 @@ 4.0.0 de.ilias.ilserver ilServer - 10.0.4 + 11.0.1 ilServer @@ -79,6 +79,17 @@ + + + + org.apache.tika + tika-bom + 3.2.3 + pom + import + + + @@ -184,37 +195,30 @@ org.apache.tika tika-core - 2.9.4 org.apache.tika tika-parser-html-module - 2.9.4 org.apache.tika tika-parser-microsoft-module - 2.9.4 org.apache.tika tika-parser-miscoffice-module - 2.9.4 org.apache.tika tika-parser-pdf-module - 2.9.4 org.apache.tika tika-parser-text-module - 2.9.4 org.apache.tika tika-parser-xml-module - 2.9.4 From f6c697bfd559a8a9692d6fda90ba665bb432e295 Mon Sep 17 00:00:00 2001 From: Fabian Schmid Date: Wed, 10 Dec 2025 09:46:23 +0100 Subject: [PATCH 274/865] 0045883, 0045884, 0045900 Several BGT Issues Signed-off-by: Fabian Wolf --- .../classes/class.ilBTControllerGUI.php | 226 +++++++++++++++--- 1 file changed, 190 insertions(+), 36 deletions(-) diff --git a/components/ILIAS/BackgroundTasks_/classes/class.ilBTControllerGUI.php b/components/ILIAS/BackgroundTasks_/classes/class.ilBTControllerGUI.php index d9e7f7186a78..f6e9d13d048c 100755 --- a/components/ILIAS/BackgroundTasks_/classes/class.ilBTControllerGUI.php +++ b/components/ILIAS/BackgroundTasks_/classes/class.ilBTControllerGUI.php @@ -16,6 +16,13 @@ * *********************************************************************/ +use ILIAS\HTTP\StatusCode; +use ILIAS\Filesystem\Stream\Streams; +use ILIAS\Data\URI; +use ILIAS\Data\Factory; +use ILIAS\BackgroundTasks\Bucket; +use ILIAS\Filesystem\Stream\Stream; +use ILIAS\HTTP\Response\ResponseHeader; use ILIAS\BackgroundTasks\Implementation\Tasks\UserInteraction\UserInteractionOption; use ILIAS\components\OrgUnit\ARHelper\DIC; @@ -25,7 +32,7 @@ * @author Oskar Truffer * @author Fabian Schmid */ -class ilBTControllerGUI implements ilCtrlBaseClassInterface +class ilBTControllerGUI implements ilCtrlBaseClassInterface, ilCtrlSecurityInterface { use DIC; public const FROM_URL = 'from_url'; @@ -37,7 +44,6 @@ class ilBTControllerGUI implements ilCtrlBaseClassInterface public const IS_ASYNC = 'bt_task_is_async'; public const CMD_GET_REPLACEMENT_ITEM = "getAsyncReplacementItem"; - public function executeCommand(): void { $cmd = $this->ctrl()->getCmd(); @@ -57,38 +63,55 @@ public function executeCommand(): void } } + public function getUnsafeGetCommands(): array + { + return array_unique([ + self::CMD_ABORT, + self::CMD_REMOVE, + self::CMD_USER_INTERACTION, + ]); + } - protected function userInteraction(): void + public function getSafePostCommands(): array { - $observer_id = (int) $this->http()->request()->getQueryParams()[self::OBSERVER_ID]; - $selected_option = $this->http()->request()->getQueryParams()[self::SELECTED_OPTION]; - $from_url = $this->getFromURL(); + return []; + } - $observer = $this->dic()->backgroundTasks()->persistence()->loadBucket($observer_id); - if ($observer->getUserId() !== $this->user()->getId()) { - return; - } - $option = new UserInteractionOption("", $selected_option); - $this->dic()->backgroundTasks()->taskManager()->continueTask($observer, $option); - if ($this->http()->request()->getQueryParams()[self::IS_ASYNC] === "true") { - $this->http()->close(); + protected function userInteraction(): void + { + $observer_id = $this->retrieveObserverIdFromRequest(); + $selected_option = $this->retrieveSelectedInteractionOption(); + if ($observer_id === null || $selected_option === null) { + $this->respondWithError(StatusCode::HTTP_BAD_REQUEST, 'Bad Request'); } - $this->ctrl()->redirectToURL($from_url); + + $bucket = $this->dic()->backgroundTasks()->persistence()->loadBucket($observer_id); + + $this->enforceBucketBelongsToCurrentUser($bucket); + + $this->dic()->backgroundTasks()->taskManager()->continueTask( + $bucket, + new UserInteractionOption('', $selected_option) + ); + + $this->redirectToCallerOrClose(); } protected function abortBucket(): void { - $observer_id = (int) $this->http()->request()->getQueryParams()[self::OBSERVER_ID]; - $from_url = $this->getFromURL(); + $observer_id = $this->retrieveObserverIdFromRequest(); + if ($observer_id === null) { + $this->respondWithError(StatusCode::HTTP_BAD_REQUEST, 'Bad Request'); + } $bucket = $this->dic()->backgroundTasks()->persistence()->loadBucket($observer_id); + $this->enforceBucketBelongsToCurrentUser($bucket); + $this->dic()->backgroundTasks()->taskManager()->quitBucket($bucket); - if ($this->http()->request()->getQueryParams()[self::IS_ASYNC] === "true") { - exit; - } - $this->ctrl()->redirectToURL($from_url); + + $this->redirectToCallerOrClose(); } @@ -98,37 +121,168 @@ protected function abortBucket(): void */ protected function getAsyncReplacementItem(): void { - $observer_id = (int) $this->http()->request()->getQueryParams()[self::OBSERVER_ID]; + $observer_id = $this->retrieveObserverIdFromRequest(); + if ($observer_id === null) { + $this->respondWithError(StatusCode::HTTP_BAD_REQUEST, 'Bad Request'); + } + $bucket = $this->dic()->backgroundTasks()->persistence()->loadBucket($observer_id); + $this->enforceBucketBelongsToCurrentUser($bucket); + $item_source = new ilBTPopOverGUI($this->dic()); $this->dic()->language()->loadLanguageModule('background_tasks'); $item = $item_source->getItemForObserver($bucket); - echo $this->dic()->ui()->renderer()->renderAsync($item); - exit; + + $this->sendSuccessResponse( + Streams::ofString( + $this->dic()->ui()->renderer()->renderAsync($item) + ) + ); } - protected function getFromURL(): string + private function getFromURL(): URI { - return self::unhash($this->http()->request()->getQueryParams()[self::FROM_URL]); - } + $uri = (new Factory())->uri($this->defaultReturnUrl()); + $decoded_from_url = $this->retrieveFromUrlFromRequest(); + if ($decoded_from_url === null || $decoded_from_url === '') { + return $uri; + } - /** - * @param $url - */ - public static function hash($url): string + $from_url = self::unhash($decoded_from_url); + if ($from_url === false) { + return $uri; + } + + $from_url_parts = parse_url($from_url); + if (!is_array($from_url_parts)) { + return $uri; + } + + $uri = $uri->withPath(null)->withQuery(null)->withFragment(null); + + $mutators = [ + 'path' => static fn(URI $u, string $v): URI => $u->withPath($v), + 'query' => static fn(URI $u, string $v): URI => $u->withQuery($v), + 'fragment' => static fn(URI $u, string $v): URI => $u->withFragment($v), + ]; + + foreach ($mutators as $key => $apply) { + $value = $from_url_parts[$key] ?? null; + if (is_string($value) && $value !== '') { + $uri = $apply($uri, $value); + } + } + + return $uri; + } + + public static function hash(string $url): string { return base64_encode((string) $url); } - - /** - * @param $url - */ - public static function unhash($url): string + public static function unhash(string $url): string|false { return base64_decode((string) $url); } + + private function enforceBucketBelongsToCurrentUser(Bucket $bucket): void + { + if ($bucket->getUserId() !== $this->user()->getId()) { + $this->respondWithError(StatusCode::HTTP_FORBIDDEN, 'Forbidden'); + } + } + + private function defaultReturnUrl(): string + { + return ilUtil::_getHttpPath(); + } + + private function sendSuccessResponse(Stream $stream): void + { + $response = $this->http()->response() + ->withStatus(StatusCode::HTTP_OK, 'OK') + ->withBody($stream); + $this->http()->saveResponse($response); + + if ($this->wasInvokedAsynchronously()) { + $this->http()->sendResponse(); + $this->http()->close(); + } + } + + private function redirectToCallerOrClose(): never + { + if (!$this->wasInvokedAsynchronously()) { + $this->ctrl()->redirectToURL((string) $this->getFromURL()); + } + + $this->http()->close(); + } + + private function respondWithError(int $error_status_code, string $message): never + { + $response = $this->http()->response()->withStatus($error_status_code, $message); + if ($error_status_code === StatusCode::HTTP_FORBIDDEN && !$this->wasInvokedAsynchronously()) { + $this->tpl()->setOnScreenMessage( + $this->tpl()::MESSAGE_TYPE_FAILURE, + $this->lng()->txt('permission_denied'), + true + ); + $response = $response + ->withStatus(StatusCode::HTTP_FOUND, 'Found') + ->withHeader(ResponseHeader::LOCATION, $this->defaultReturnUrl()); + } + + $this->http()->saveResponse($response); + $this->http()->sendResponse(); + $this->http()->close(); + } + + private function retrieveSelectedInteractionOption(): ?string + { + return $this->http()->wrapper()->query()->retrieve( + self::SELECTED_OPTION, + $this->dic()->refinery()->byTrying([ + $this->dic()->refinery()->kindlyTo()->string(), + $this->dic()->refinery()->always(null) + ]) + ); + } + + private function wasInvokedAsynchronously(): bool + { + return $this->http()->wrapper()->query()->retrieve( + self::IS_ASYNC, + $this->dic()->refinery()->byTrying([ + $this->dic()->refinery()->kindlyTo()->bool(), + $this->dic()->refinery()->always(false) + ]) + ); + } + + private function retrieveObserverIdFromRequest(): ?int + { + return $this->http()->wrapper()->query()->retrieve( + self::OBSERVER_ID, + $this->dic()->refinery()->byTrying([ + $this->dic()->refinery()->kindlyTo()->int(), + $this->dic()->refinery()->always(null) + ]) + ); + } + + private function retrieveFromUrlFromRequest(): ?string + { + return $this->http()->wrapper()->query()->retrieve( + self::FROM_URL, + $this->dic()->refinery()->byTrying([ + $this->dic()->refinery()->kindlyTo()->string(), + $this->dic()->refinery()->always(null) + ]) + ); + } } From 8a21d14c4557543af65e8b4e6b3a510d73bb5cbf Mon Sep 17 00:00:00 2001 From: Stephan Kergomard Date: Wed, 8 Oct 2025 08:36:56 +0200 Subject: [PATCH 275/865] FileUpload: Prohibit Inclusion of Foreign Objects # Conflicts: # components/ILIAS/FileUpload/src/Processor/SVGBlacklistPreProcessor.php # components/ILIAS/FileUpload/tests/Processor/SVGPreProcessorTest.php Signed-off-by: Fabian Wolf --- .../src/Processor/SVGBlacklistPreProcessor.php | 15 ++++++++++++++- .../tests/Processor/SVGPreProcessorTest.php | 4 ++-- .../ILIAS/Init/classes/class.ilInitialisation.php | 1 + lang/ilias_de.lang | 1 + lang/ilias_en.lang | 1 + 5 files changed, 19 insertions(+), 3 deletions(-) diff --git a/components/ILIAS/FileUpload/src/Processor/SVGBlacklistPreProcessor.php b/components/ILIAS/FileUpload/src/Processor/SVGBlacklistPreProcessor.php index 95e8cc844a2e..4f1d39173479 100755 --- a/components/ILIAS/FileUpload/src/Processor/SVGBlacklistPreProcessor.php +++ b/components/ILIAS/FileUpload/src/Processor/SVGBlacklistPreProcessor.php @@ -41,6 +41,10 @@ final class SVGBlacklistPreProcessor implements PreProcessor * @var string */ private const REGEX_SCRIPT = '/ diff --git a/components/ILIAS/MediaObjects/MediaObject/MediaObjectManager.php b/components/ILIAS/MediaObjects/MediaObject/MediaObjectManager.php index 9248bb38aa7e..82be18dc28a0 100644 --- a/components/ILIAS/MediaObjects/MediaObject/MediaObjectManager.php +++ b/components/ILIAS/MediaObjects/MediaObject/MediaObjectManager.php @@ -98,6 +98,14 @@ public function getLocationStream( return $this->repo->getLocationStream($mob_id, $location); } + public function getLocationContent( + int $mob_id, + string $location + ) : string + { + return $this->repo->getLocationContent($mob_id, $location); + } + public function addStream( int $mob_id, string $location, diff --git a/components/ILIAS/MediaObjects/MediaObject/MediaObjectRepository.php b/components/ILIAS/MediaObjects/MediaObject/MediaObjectRepository.php index dc46ffdfb8d8..b02b6cd8017f 100644 --- a/components/ILIAS/MediaObjects/MediaObject/MediaObjectRepository.php +++ b/components/ILIAS/MediaObjects/MediaObject/MediaObjectRepository.php @@ -197,6 +197,21 @@ public function getLocationStream( ); } + public function getLocationContent( + int $mob_id, + string $location + ) : string + { + $content = ""; + if (str_starts_with($location, "/")) { + $location = substr($location, 1); + } + if ($this->irss->hasContainerEntry($this->getRidForMobId($mob_id), $location)) { + $content = stream_get_contents($this->getLocationStream($mob_id, $location)->detach()); + } + return $content; + } + public function getInfoOfEntry( int $mob_id, string $path diff --git a/components/ILIAS/MediaObjects/MediaObject/class.ilObjMediaObject.php b/components/ILIAS/MediaObjects/MediaObject/class.ilObjMediaObject.php index b8877b62baff..d30ce53253fe 100755 --- a/components/ILIAS/MediaObjects/MediaObject/class.ilObjMediaObject.php +++ b/components/ILIAS/MediaObjects/MediaObject/class.ilObjMediaObject.php @@ -606,7 +606,10 @@ public function getXML( $ilUser->getLanguage() == $srt["language"]) { $def = ' Default="true" '; } - $xml .= "getId() . $srt["full_path"] + : $srt["src"]; + $xml .= ""; } } From adf641478d2df19d93ac9bed787bdddfcdaa6537 Mon Sep 17 00:00:00 2001 From: Alexander Killing Date: Fri, 30 Jan 2026 16:30:50 +0100 Subject: [PATCH 494/865] 46723: Failed test: Inhaltsseite importieren - Content-Style wird nicht korrekt zugewiesen --- .../ContentPage/classes/class.ilContentPageDataSet.php | 6 ++++++ .../ContentPage/classes/class.ilContentPageExporter.php | 2 +- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/components/ILIAS/ContentPage/classes/class.ilContentPageDataSet.php b/components/ILIAS/ContentPage/classes/class.ilContentPageDataSet.php index 15dacf3b0729..302fbdd3d797 100755 --- a/components/ILIAS/ContentPage/classes/class.ilContentPageDataSet.php +++ b/components/ILIAS/ContentPage/classes/class.ilContentPageDataSet.php @@ -160,6 +160,12 @@ public function importRecord( $a_rec['id'] . ':0:' . self::OBJ_TYPE, $newObject->getId() . ':0:' . self::OBJ_TYPE ); + $a_mapping->addMapping( + "components/ILIAS/ILIASObject", + "obj", + $a_rec["id"], + (string) $newObject->getId() + ); break; } } diff --git a/components/ILIAS/ContentPage/classes/class.ilContentPageExporter.php b/components/ILIAS/ContentPage/classes/class.ilContentPageExporter.php index 4af4193214a1..830ca53644c9 100755 --- a/components/ILIAS/ContentPage/classes/class.ilContentPageExporter.php +++ b/components/ILIAS/ContentPage/classes/class.ilContentPageExporter.php @@ -77,7 +77,7 @@ public function getXmlExportTailDependencies(string $a_entity, string $a_target_ $style_id = $this->content_style_domain ->styleForObjId($copa->getId()) - ->getStyleId(); + ->getExportStyleId(); if ($style_id > 0) { $styleIds[$style_id] = $style_id; } From 59b8fa7982c639b6989e3798c04e957a733fee22 Mon Sep 17 00:00:00 2001 From: mjansen Date: Mon, 2 Feb 2026 09:21:48 +0100 Subject: [PATCH 495/865] Forum: Fix export of content styloe --- components/ILIAS/Forum/classes/class.ilForumExporter.php | 4 +++- components/ILIAS/Forum/classes/class.ilForumXMLParser.php | 7 +++++++ components/ILIAS/Forum/classes/class.ilForumXMLWriter.php | 8 +++++--- 3 files changed, 15 insertions(+), 4 deletions(-) diff --git a/components/ILIAS/Forum/classes/class.ilForumExporter.php b/components/ILIAS/Forum/classes/class.ilForumExporter.php index 297e1ad93578..e8b7edd0dd45 100755 --- a/components/ILIAS/Forum/classes/class.ilForumExporter.php +++ b/components/ILIAS/Forum/classes/class.ilForumExporter.php @@ -88,7 +88,9 @@ public function getXmlExportTailDependencies(string $a_entity, string $a_target_ $pageObjectIds[] = self::OBJ_TYPE . ':' . $frmPageObjId; } - $style_id = $this->content_style_domain->styleForObjId((int) $frmObjId)->getStyleId(); + $style_id = $this->content_style_domain + ->styleForObjId((int) $frmObjId) + ->getExportStyleId(); if ($style_id > 0) { $styleIds[$style_id] = $style_id; } diff --git a/components/ILIAS/Forum/classes/class.ilForumXMLParser.php b/components/ILIAS/Forum/classes/class.ilForumXMLParser.php index 0b56a1bce05a..45bd13383be4 100755 --- a/components/ILIAS/Forum/classes/class.ilForumXMLParser.php +++ b/components/ILIAS/Forum/classes/class.ilForumXMLParser.php @@ -363,6 +363,13 @@ public function handlerEndTag(XMLParser $a_xml_parser, string $a_name): void 'frm:' . $this->forum->getId() ); + $this->importMapping->addMapping( + 'components/ILIAS/ILIASObject', + 'obj', + $this->forumArray['ObjId'], + (string) $newObjProp->getObjId() + ); + if ($this->last_handled_style_id) { self::$style_map[$this->last_handled_style_id][] = $newObjProp->getObjId(); $this->last_handled_style_id = null; diff --git a/components/ILIAS/Forum/classes/class.ilForumXMLWriter.php b/components/ILIAS/Forum/classes/class.ilForumXMLWriter.php index 4b9b65013c5e..ecf512819faa 100755 --- a/components/ILIAS/Forum/classes/class.ilForumXMLWriter.php +++ b/components/ILIAS/Forum/classes/class.ilForumXMLWriter.php @@ -94,10 +94,12 @@ public function start(): bool $res = $ilDB->query($query_frm); $row = $ilDB->fetchObject($res); + $attributes = []; + $style = $this->content_style_domain->styleForObjId((int) $row->obj_id); - $attributes = [ - 'Style' => $style->getStyleId() - ]; + if ($style->getEffectiveStyleId() > 0) { + $attributes['Style'] = $style->getEffectiveStyleId(); + } $this->xmlStartTag('Forum', $attributes); From 0a73a8bdfb047ab193d4dea9213a8a40dba0ed77 Mon Sep 17 00:00:00 2001 From: mjansen Date: Mon, 2 Feb 2026 09:22:12 +0100 Subject: [PATCH 496/865] ContentPage: Fix export of content style --- .../ILIAS/ContentPage/classes/class.ilContentPageDataSet.php | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/components/ILIAS/ContentPage/classes/class.ilContentPageDataSet.php b/components/ILIAS/ContentPage/classes/class.ilContentPageDataSet.php index 302fbdd3d797..9f7ffe98f252 100755 --- a/components/ILIAS/ContentPage/classes/class.ilContentPageDataSet.php +++ b/components/ILIAS/ContentPage/classes/class.ilContentPageDataSet.php @@ -177,7 +177,9 @@ public function getXmlRecord( ): array { if ($a_entity === self::OBJ_TYPE) { $style = $this->content_style_domain->styleForObjId((int) $a_set['id']); - $a_set['Style'] = $style->getStyleId(); + if ($style->getExportStyleId() > 0) { + $a_set['Style'] = $style->getExportStyleId(); + } return $a_set; } From 86bb3d6a0f92f0da52da4b7684da2266c83863c9 Mon Sep 17 00:00:00 2001 From: Matthias Kunkel Date: Mon, 2 Feb 2026 13:31:35 +0100 Subject: [PATCH 497/865] Fixed Mantis #41988: Lizenz vs. Copyright and #44613: Suggesting better labels for "Coyright & OER > Copyright-Vorgaben" --- lang/ilias_de.lang | 36 ++++++++++++++++++------------------ 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/lang/ilias_de.lang b/lang/ilias_de.lang index 622acfb5cbe3..26c5531454b9 100644 --- a/lang/ilias_de.lang +++ b/lang/ilias_de.lang @@ -6112,7 +6112,7 @@ cont#:#cont_std_filter_title_2#:#Beschreibung cont#:#cont_std_filter_title_3#:#Titel/Beschreibung cont#:#cont_std_filter_title_4#:#Schlagwort cont#:#cont_std_filter_title_5#:#Autor -cont#:#cont_std_filter_title_6#:#Copyright +cont#:#cont_std_filter_title_6#:#Lizenz cont#:#cont_std_filter_title_7#:#Kontaktperson cont#:#cont_std_filter_title_8#:#Objekttyp cont#:#cont_std_filter_title_9#:#Online/Offline @@ -9808,9 +9808,9 @@ file#:#add_icon#:#Icon hinzufügen file#:#amount_of_downloads#:#Downloads file#:#amount_of_downloads_since#:#%d seit %s file#:#copyright_custom#:#Benutzerdefiniert -file#:#copyright_custom_info#:#Benutzerdefiniertes Copyright auswählen, welches auf alle entpackten Dateien dieses Archivs angewandt wird. +file#:#copyright_custom_info#:#Lizenz auswählen, welche auf alle entpackten Dateien dieses Archivs angewandt wird. file#:#copyright_inherited#:#Vererbt -file#:#copyright_inherited_info#:#Copyright des Zip-Archivs auf seine entpackten Dateien anwenden.
Copyright des Zip-Archivs: %s. +file#:#copyright_inherited_info#:#Lizenz des Zip-Archivs auf seine entpackten Dateien anwenden.
Lizenz des Zip-Archivs: %s. file#:#could_not_create_file_objs#:#Beim Erstellen der Dateiobjekte ist ein Fehler aufgetreten, wenden Sie sich an die Administrierenden der Plattform. file#:#de_activate_icon#:#(De-)Aktivieren file#:#download_ascii_filename#:#Nur ASCII-Zeichen im Download @@ -12041,13 +12041,13 @@ meta#:#md_adv_text_multi_val#:#Mehrsprachige Werte meta#:#md_adv_text_multi_val_info#:#Erlauben Sie mehrsprachige Feldwerte für dieses Datenfeld. Für Texte, die keiner Übersetzung bedürfen, wie z.B. Personennamen, empfiehlt sich die Deaktivierung dieser Option. meta#:#md_advanced#:#Benutzerdefinierte Metadaten meta#:#md_aria_language_selection#:#Sprachauswahl -meta#:#md_copyright#:#Copyright -meta#:#md_copyright_add#:#Neue Vorgabe -meta#:#md_copyright_admin_tab#:#Copyright & OER +meta#:#md_copyright#:#Lizenz +meta#:#md_copyright_add#:#Neue Lizenz hinzufügen +meta#:#md_copyright_admin_tab#:#LOM & OER meta#:#md_copyright_alt_text#:#Alternativtext meta#:#md_copyright_alt_text_info#:#Wird für das „Alt“-Attribut des Bildes verwendet meta#:#md_copyright_default#:#Standard -meta#:#md_copyright_edit#:#Copyright-Vorgabe bearbeiten +meta#:#md_copyright_edit#:#Lizenzen bearbeiten meta#:#md_copyright_enable_info#:#Im Unterreiter „Lizenzen“ hinterlegte Auswahl wird in Objekten angeboten. meta#:#md_copyright_enabled#:#Lizenzen in Objekten meta#:#md_copyright_full_name#:#Vollständiger Name @@ -12058,10 +12058,10 @@ meta#:#md_copyright_image_is_link#:#URL eingeben meta#:#md_copyright_image_link#:#URL meta#:#md_copyright_link#:#URL meta#:#md_copyright_link_info#:#Link zu der Lizenz -meta#:#md_copyright_preview#:#Copyright (Vorschau) -meta#:#md_copyright_selection#:#Copyright-Vorgaben -meta#:#md_copyright_value#:#Copyright -meta#:#md_copyrights_deleted#:#Die ausgewählten Vorgaben wurden entfernt. +meta#:#md_copyright_preview#:#Vorschau +meta#:#md_copyright_selection#:#Lizenzen +meta#:#md_copyright_value#:#Lizenz +meta#:#md_copyrights_deleted#:#Die ausgewählten Lizenzen wurden entfernt. meta#:#md_days#:#Tage: meta#:#md_delete_cp_sure#:#Möchten Sie wirklich die ausgewählten Vorgaben entfernen? meta#:#md_delimiter#:#Trennzeichen @@ -12115,7 +12115,7 @@ meta#:#md_vocab_table_title#:#Metadaten-Elemente mit vordefinierten Werten meta#:#md_vocab_type_column#:#Typ meta#:#md_vocab_type_controlled_string#:#Kontrollierter Text meta#:#md_vocab_type_controlled_vocab_value#:#Kontrollierte Auswahl -meta#:#md_vocab_type_copyright#:#Copyright +meta#:#md_vocab_type_copyright#:#Lizenz meta#:#md_vocab_type_standard#:#Standard meta#:#md_vocab_update_successful#:#Vokabular erfolgreich aktualisiert meta#:#md_vocabularies_config#:#LOM-Vokabulare @@ -12404,8 +12404,8 @@ meta#:#meta_context#:#Kontext meta#:#meta_context_plural#:#Kontexte meta#:#meta_contribute#:#Beitrag meta#:#meta_contribute_plural#:#Beiträge -meta#:#meta_copyright#:#Copyright -meta#:#meta_copyright_and_other_restrictions#:#Copyright und andere Einschränkungen +meta#:#meta_copyright#:#Lizenz +meta#:#meta_copyright_and_other_restrictions#:#Lizenzen und andere Einschränkungen meta#:#meta_copyright_change_info#:#Beachten Sie unbedingt das Urheberrecht, wenn Sie die Lizenz für dieses Objekt ändern. Bitte fahren Sie nur fort, wenn Sie befugt sind, über die Nutzungsrechte an dem Objekt zu entscheiden. meta#:#meta_copyright_change_oer_info#:#Die Lizenz, die Sie ausgewählt haben, zeichnet das Object als Open Educational Resource aus. Wenn Sie fortfahren, wird es eventuell als solches mit einer Exportdatei gelistet, und über diese Plattform hinaus veröffentlicht. meta#:#meta_copyright_change_warning_title#:#Lizenz ändern @@ -12867,8 +12867,8 @@ mme#:#type_top_link_item#:#Link mme#:#type_top_parent_item#:#Container mme#:#unable_to_render#:#Der Eintrag '%s' kann nicht in '%s' angezeigt werden. mob#:#mob_choose_from_pool#:#Aus Medienpool -mob#:#mob_copyright#:#Copyright -mob#:#mob_copyright_icon#:#Copyright Icon +mob#:#mob_copyright#:#Lizenz +mob#:#mob_copyright_icon#:#Lizenz-Icon mob#:#mob_external_url#:#Externe URL mob#:#mob_extract_preview_image#:#Vorschaubild erzeugen mob#:#mob_file#:#Datei @@ -15522,7 +15522,7 @@ search#:#search_auto_complete_length#:#Anzahl der Einträge in Auto-Complete-Lis search#:#search_cdate_filter#:#Erstellungsdatum search#:#search_cdate_filter_info#:#In den Suchergebnissen erlaubt ein Filter die Eingabe eines Zeitraums. search#:#search_content#:#Seiteninhalt -search#:#search_copyright#:#Copyright +search#:#search_copyright#:#Lizenz search#:#search_created_after#:#Objekte erstellt nach dem... search#:#search_created_before#:#Objekte erstellt vor dem... search#:#search_created_on#:#Objekte erstellt am... @@ -17542,7 +17542,7 @@ user#:#confirm_logout_for_email_change#:#Sie haben Ihre E-Mail-Adresse geändert user#:#confirm_logout_for_email_change_with_confirmation#:#Im Anschluss wird Ihnen eine E-Mail auf die neue E-Mail gesendet, um zu bestätigen, dass diese Adresse Ihnen gehört. Erst nachdem Sie den Link in der E-Mail angeklickt haben, wird die Adresse in Ihrem Profil geändert. user#:#create_starting_point#:#Regel erstellen user#:#criteria#:#Kriterium -user#:#del_mail_body#:#Hallo %1$s, %2$s Sie haben sich seit längerer Zeit nicht mehr auf %3$s angemeldet. Daher wird ihr ILIAS-Konto %5$s voraussichtlich am %4$s gelöscht. Um Ihr ILIAS-Konto zu behalten, müssen Sie sich vor dem genannten Tag erneut einloggen. +user#:#del_mail_body#:#Hallo %1$s, %2$s Sie haben sich seit längerer Zeit nicht mehr auf %3$s angemeldet. Daher wird Ihr ILIAS-Konto %5$s voraussichtlich am %4$s gelöscht. Um Ihr ILIAS-Konto zu behalten, müssen Sie sich vor dem genannten Tag erneut einloggen. user#:#del_mail_subject#:#Ihr ILIAS-Konto wird bald gelöscht user#:#delete_inactive_user_accounts_frequency#:#Intervall user#:#delete_inactive_user_accounts_frequency_desc#:#Intervall, mit welchem auf Löschung sowie auf E-Mail-Versand getestet wird. From 621f56b70d53fa4f9d12d74e48aaa3b40f47c374 Mon Sep 17 00:00:00 2001 From: Matthias Kunkel Date: Mon, 2 Feb 2026 13:42:14 +0100 Subject: [PATCH 498/865] =?UTF-8?q?46451:=20Language=20LOM=20Copyright:=20?= =?UTF-8?q?Unterreiter=20=E2=80=9ELizenzen=E2=80=9C=20existiert=20nicht?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lang/ilias_de.lang | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lang/ilias_de.lang b/lang/ilias_de.lang index 26c5531454b9..6f9916d941ea 100644 --- a/lang/ilias_de.lang +++ b/lang/ilias_de.lang @@ -12048,7 +12048,7 @@ meta#:#md_copyright_alt_text#:#Alternativtext meta#:#md_copyright_alt_text_info#:#Wird für das „Alt“-Attribut des Bildes verwendet meta#:#md_copyright_default#:#Standard meta#:#md_copyright_edit#:#Lizenzen bearbeiten -meta#:#md_copyright_enable_info#:#Im Unterreiter „Lizenzen“ hinterlegte Auswahl wird in Objekten angeboten. +meta#:#md_copyright_enable_info#:#Welche Lizenzen in Objekten angeboten werden, legen Sie im Unterreiter „Lizenzen“ fest. meta#:#md_copyright_enabled#:#Lizenzen in Objekten meta#:#md_copyright_full_name#:#Vollständiger Name meta#:#md_copyright_image#:#Bild From 52fe5318aee9d8eab4e56a6121bc0c6afdeb4ce6 Mon Sep 17 00:00:00 2001 From: Matthias Kunkel Date: Mon, 2 Feb 2026 13:48:59 +0100 Subject: [PATCH 499/865] Fixed Mantis #46175: Typo in Meldung zu Notizen --- lang/ilias_de.lang | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lang/ilias_de.lang b/lang/ilias_de.lang index 6f9916d941ea..0788f36c9dcd 100644 --- a/lang/ilias_de.lang +++ b/lang/ilias_de.lang @@ -13067,7 +13067,7 @@ notes#:#notes_no_comments#:#Bisher wurde noch kein Kommentar abgegeben. notes#:#notes_no_comments_found#:#Es wurden keine Kommentare gefunden, die den Suchkriterien entsprechen. notes#:#notes_no_messages#:#Bisher wurde noch keine Mitteilung hinzugefügt. notes#:#notes_no_messages_found#:#Es wurden keine Mitteilungen gefunden, die den Suchkriterien entsprechen. -notes#:#notes_no_notes#:#Bisher wurde noch kein Notiz hinzugefügt. +notes#:#notes_no_notes#:#Bisher wurde noch keine Notiz hinzugefügt. notes#:#notes_no_notes_found#:#Es wurden keine Notizen gefunden, die den Suchkriterien entsprechen. notes#:#notes_note_deleted#:#Die Notiz wurde gelöscht notes#:#notes_notes_deleted#:#Die Notizen wurden gelöscht. From 825bd2047f376fb95723db431df23fb65d507215 Mon Sep 17 00:00:00 2001 From: Fabian Schmid Date: Tue, 3 Feb 2026 08:12:32 +0100 Subject: [PATCH 500/865] [FIX] 0047086: Failed test: Change Webfolders Instructions through the ILIAS Web Interface --- components/ILIAS/WebDAV/classes/class.ilWebDAVDIC.php | 1 - 1 file changed, 1 deletion(-) diff --git a/components/ILIAS/WebDAV/classes/class.ilWebDAVDIC.php b/components/ILIAS/WebDAV/classes/class.ilWebDAVDIC.php index f6d49a5970bf..25124aef720a 100755 --- a/components/ILIAS/WebDAV/classes/class.ilWebDAVDIC.php +++ b/components/ILIAS/WebDAV/classes/class.ilWebDAVDIC.php @@ -97,7 +97,6 @@ public function init(ILIASContainer $DIC): void $DIC->language(), $DIC->rbac()->system(), $DIC["ilErr"], - ilLoggerFactory::getLogger('webdav'), $DIC->toolbar(), $DIC->http(), $DIC->refinery(), From 02e72e09d1f2e4947d85a26e2ab2eec74c2727f2 Mon Sep 17 00:00:00 2001 From: Fabian Schmid Date: Tue, 3 Feb 2026 08:31:53 +0100 Subject: [PATCH 501/865] [FIX] updated sabre/dav --- composer.json | 2 +- composer.lock | 14 +++++++------- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/composer.json b/composer.json index a78482c9082a..9be3c56504b3 100755 --- a/composer.json +++ b/composer.json @@ -66,7 +66,7 @@ "phpoffice/phpspreadsheet": "^3.5", "pimple/pimple" : "^3.0", "ramsey/uuid": "^4.7", - "sabre/dav": "4.6.0", + "sabre/dav": "^4.7", "seld/jsonlint": "^1.11", "simplesamlphp/simplesamlphp": "^2.3.7", "symfony/console" : "^6.4", diff --git a/composer.lock b/composer.lock index 7dc5c8019177..afc8ebd55dc1 100644 --- a/composer.lock +++ b/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "ec6363b25f5fdb85aabb7f606063e994", + "content-hash": "60d21ae6286d7188f17bdf7c77530e91", "packages": [ { "name": "brick/math", @@ -3902,16 +3902,16 @@ }, { "name": "sabre/dav", - "version": "4.6.0", + "version": "4.7.0", "source": { "type": "git", "url": "https://github.com/sabre-io/dav.git", - "reference": "554145304b4a026477d130928d16e626939b0b2a" + "reference": "074373bcd689a30bcf5aaa6bbb20a3395964ce7a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sabre-io/dav/zipball/554145304b4a026477d130928d16e626939b0b2a", - "reference": "554145304b4a026477d130928d16e626939b0b2a", + "url": "https://api.github.com/repos/sabre-io/dav/zipball/074373bcd689a30bcf5aaa6bbb20a3395964ce7a", + "reference": "074373bcd689a30bcf5aaa6bbb20a3395964ce7a", "shasum": "" }, "require": { @@ -3981,7 +3981,7 @@ "issues": "https://github.com/sabre-io/dav/issues", "source": "https://github.com/fruux/sabre-dav" }, - "time": "2023-12-11T13:01:23+00:00" + "time": "2024-10-29T11:46:02+00:00" }, { "name": "sabre/event", @@ -10908,5 +10908,5 @@ "ext-imagick": "*" }, "platform-dev": {}, - "plugin-api-version": "2.9.0" + "plugin-api-version": "2.6.0" } From c2f90bb387de35db84f58be9900dfac994cd41d2 Mon Sep 17 00:00:00 2001 From: Fabian Schmid Date: Tue, 3 Feb 2026 09:04:09 +0100 Subject: [PATCH 502/865] [FIX] 0046092: Failed test: Datei importieren --- components/ILIAS/File/classes/class.ilFileXMLParser.php | 6 ++++++ components/ILIAS/File/classes/class.ilFileXMLWriter.php | 2 ++ 2 files changed, 8 insertions(+) diff --git a/components/ILIAS/File/classes/class.ilFileXMLParser.php b/components/ILIAS/File/classes/class.ilFileXMLParser.php index aa9ace9ed082..44f6f10df3ad 100755 --- a/components/ILIAS/File/classes/class.ilFileXMLParser.php +++ b/components/ILIAS/File/classes/class.ilFileXMLParser.php @@ -225,6 +225,12 @@ public function handlerEndTag($a_xml_parser, string $a_name): void case 'Rating': $this->file->setRating((bool) $this->cdata); break; + case 'ImportantInformation': + $this->file->setImportantInfo((string) $this->cdata); + break; + case 'OnClickMode': + $this->file->setOnclickMode((int) $this->cdata); + break; case 'Content': // Old import files case 'Version': if ($a_name === "Version" && $this->version === null) { diff --git a/components/ILIAS/File/classes/class.ilFileXMLWriter.php b/components/ILIAS/File/classes/class.ilFileXMLWriter.php index 9e1623e77e43..17f4412091b6 100755 --- a/components/ILIAS/File/classes/class.ilFileXMLWriter.php +++ b/components/ILIAS/File/classes/class.ilFileXMLWriter.php @@ -147,6 +147,8 @@ public function start(): bool $this->xmlElement("Title", null, $this->file->getTitle()); $this->xmlElement("Description", null, $this->file->getDescription()); $this->xmlElement("Rating", null, (int) $this->file->hasRating()); + $this->xmlElement("ImportantInformation", null, (string) $this->file->getImportantInfo()); + $this->xmlElement("OnClickMode", null, (int) $this->file->getOnClickMode()); $versions = $this->file->getVersions(); From 341d406dc1dbc73f3a8646cee6f2c56d47d3eacd Mon Sep 17 00:00:00 2001 From: Fabian Schmid Date: Tue, 3 Feb 2026 09:11:48 +0100 Subject: [PATCH 503/865] [FIX] 0046533: Failed test: Uhrzeit bei Downloads im Info-Tab --- .../ILIAS/File/classes/trait.ilObjFileInfoProvider.php | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/components/ILIAS/File/classes/trait.ilObjFileInfoProvider.php b/components/ILIAS/File/classes/trait.ilObjFileInfoProvider.php index d66e6d265fef..e1bbde044fc3 100755 --- a/components/ILIAS/File/classes/trait.ilObjFileInfoProvider.php +++ b/components/ILIAS/File/classes/trait.ilObjFileInfoProvider.php @@ -103,10 +103,16 @@ public function getFileInfoForAuthorsAndAdmins(): array $amount_of_downloads = null; if ($this->getGeneralSettings()->isShowAmountOfDownloads()) { + $create_date = ilDatePresentation::formatDate( + new ilDateTime( + $this->getFileObj()->getCreateDate(), + IL_CAL_DATETIME) + ); + $amount_of_downloads = $this->safeSprintf( $this->getLanguage()->txt("amount_of_downloads_since"), $this->getFileObj()->getAmountOfDownloads(), - $this->getFileObj()->getCreateDate(), + $create_date, ); } From 61bf82e392bdeed6a7dfad2a5675f8b310a3b917 Mon Sep 17 00:00:00 2001 From: Fabian Schmid Date: Tue, 3 Feb 2026 09:41:23 +0100 Subject: [PATCH 504/865] [FIX] #46534 UI: support `Modal\Lightbox` inside various parent containers. (#11037) * Fixes https://mantis.ilias.de/view.php?id=46534 * Add `type="button"` attribute to ` - diff --git a/components/ILIAS/UI/tests/Component/Modal/LightboxTest.php b/components/ILIAS/UI/tests/Component/Modal/LightboxTest.php index 108e4c92827f..e587b2760eee 100755 --- a/components/ILIAS/UI/tests/Component/Modal/LightboxTest.php +++ b/components/ILIAS/UI/tests/Component/Modal/LightboxTest.php @@ -183,11 +183,11 @@ protected static function getExpectedMixedPagesHTML(): string - - From dfde164117c5ade8f7dae1ba5b6ca532f4da57bc Mon Sep 17 00:00:00 2001 From: mjansen Date: Tue, 3 Feb 2026 10:42:09 +0100 Subject: [PATCH 505/865] LDAP/User: Fix "UDF" issue caused by "User"-related refactorings --- .../LDAP/classes/class.ilLDAPSettingsGUI.php | 31 +++++++++---------- 1 file changed, 15 insertions(+), 16 deletions(-) diff --git a/components/ILIAS/LDAP/classes/class.ilLDAPSettingsGUI.php b/components/ILIAS/LDAP/classes/class.ilLDAPSettingsGUI.php index 9a5247b9deea..5698a684cdff 100755 --- a/components/ILIAS/LDAP/classes/class.ilLDAPSettingsGUI.php +++ b/components/ILIAS/LDAP/classes/class.ilLDAPSettingsGUI.php @@ -41,10 +41,6 @@ class ilLDAPSettingsGUI implements ilCtrlSecurityInterface private ilToolbarGUI $toolbar; private ilGlobalTemplateInterface $main_tpl; private ilComponentRepository $component_repository; - /** - * @var array|null - */ - private ?array $user_defined_fields = null; private ?ilLDAPRoleAssignmentRule $role_mapping_rule = null; private ?ilLDAPRoleAssignmentRule $rule = null; private ?ilLDAPRoleGroupMappingSettings $role_mapping = null; @@ -276,7 +272,11 @@ private function getAttributeMappingKeys(): array foreach (array_keys($this->getMappingFields()) as $key) { $keys[] = $key; } - foreach ($this->user_defined_fields as $field) { + foreach ($this->profile->getFields() as $field) { + if (!$field->isCustom()) { + continue; + } + $keys[] = 'udf_' . $field->getIdentifier(); } @@ -675,8 +675,11 @@ private function saveMappingCmd(): void $this->attribute_mappings[$key][1] ); } - $this->initUserDefinedFields(); - foreach ($this->user_defined_fields as $field) { + foreach ($this->profile->getFields() as $field) { + if (!$field->isCustom()) { + continue; + } + $key = 'udf_' . $field->getIdentifier(); $this->mapping->setRule( $key, @@ -1204,13 +1207,6 @@ private function getMappingFields(): array ]; } - private function initUserDefinedFields(): void - { - if ($this->user_defined_fields === null) { - $this->user_defined_fields = $this->profile->getAllUserDefinedFields(); - } - } - private function initFormRoleAssignments(string $a_mode): void { $this->form = new ilPropertyFormGUI(); @@ -1358,8 +1354,11 @@ private function initUserMappingForm(): ilPropertyFormGUI $propertie_form->addItem($checkbox_form); } - $this->initUserDefinedFields(); - foreach ($this->user_defined_fields as $field) { + foreach ($this->profile->getFields() as $field) { + if (!$field->isCustom()) { + continue; + } + $text_form = new ilTextInputGUI($field->getLabel()); $text_form->setPostVar('udf_' . $field->getIdentifier() . '_value'); $text_form->setValue($this->mapping->getValue('udf_' . $field->getIdentifier())); From f386f1c7270c017b454dedab4839ef0306e6426d Mon Sep 17 00:00:00 2001 From: Fabian Schmid Date: Tue, 3 Feb 2026 08:48:20 +0100 Subject: [PATCH 506/865] [FIX] compatibility between ilObject and Metadata-call --- components/ILIAS/ILIASObject/classes/class.ilObject.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/components/ILIAS/ILIASObject/classes/class.ilObject.php b/components/ILIAS/ILIASObject/classes/class.ilObject.php index 49e527284989..c9e23ee5a705 100755 --- a/components/ILIAS/ILIASObject/classes/class.ilObject.php +++ b/components/ILIAS/ILIASObject/classes/class.ilObject.php @@ -709,7 +709,7 @@ final public function createMetaData(): void $this->lom_services->derive()->fromBasicProperties( $this->getTitle(), $this->getLongDescription(), - $ilUser->getPref('language') + $ilUser->getPref('language') ?? '' )->forObject($this->getId(), 0, $this->getType()); $this->doCreateMetaData(); From 716f4f3a462335bc1d46aa403305f1ba9bc8cd7d Mon Sep 17 00:00:00 2001 From: Fabian Schmid Date: Tue, 3 Feb 2026 11:34:35 +0100 Subject: [PATCH 507/865] =?UTF-8?q?[FIX]=200046317:=20Failed=20test:=20Dat?= =?UTF-8?q?eien=20und/oder=20Ordnerebenen=20l=C3=B6schen?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../class.ilContainerResourceGUI.php | 68 ++----------------- lang/ilias_de.lang | 1 + lang/ilias_en.lang | 1 + 3 files changed, 9 insertions(+), 61 deletions(-) diff --git a/components/ILIAS/ResourceStorage/classes/Container/class.ilContainerResourceGUI.php b/components/ILIAS/ResourceStorage/classes/Container/class.ilContainerResourceGUI.php index a830c9cd2fa3..c4d1a5c03e9a 100755 --- a/components/ILIAS/ResourceStorage/classes/Container/class.ilContainerResourceGUI.php +++ b/components/ILIAS/ResourceStorage/classes/Container/class.ilContainerResourceGUI.php @@ -25,7 +25,6 @@ use ILIAS\UI\Component\Modal\InterruptiveItem\Standard; use ILIAS\FileUpload\Handler\BasicHandlerResult; use ILIAS\Filesystem\Stream\Streams; -use ILIAS\ResourceStorage\Identification\ResourceIdentification; use ILIAS\UI\Component\Input\Field\UploadHandler; use ILIAS\FileUpload\Handler\FileInfoResult; use ILIAS\components\ResourceStorage\Container\View\Configuration; @@ -37,7 +36,6 @@ use ILIAS\components\ResourceStorage\Container\View\ViewControlBuilder; use ILIAS\components\ResourceStorage\Container\View\UploadBuilder; use ILIAS\components\ResourceStorage\Container\View\PreviewDefinition; -use ILIAS\Refinery\ConstraintViolationException; use ILIAS\components\ResourceStorage\Container\View\StandardActionProvider; use ILIAS\components\ResourceStorage\Container\View\CombinedActionProvider; @@ -73,6 +71,8 @@ final class ilContainerResourceGUI implements UploadHandler * @var string */ public const CMD_POST_UPLOAD = 'postUpload'; + + /** * @var string */ @@ -183,7 +183,7 @@ final public function __construct( // CMD CLASS - protected function abortWithPermissionDenied(): void + private function abortWithPermissionDenied(): void { $this->main_tpl->setOnScreenMessage('failure', $this->language->txt('msg_no_perm_read'), true); $this->ctrl->redirect($this, self::CMD_INDEX); @@ -193,9 +193,7 @@ public function executeCommand(): void { if ($this->view_request->handleViewTitle()) { $title = $this->view_request->getTitle(); - if ($title !== null) { - $this->main_tpl->setTitle($title); - } + $this->main_tpl->setTitle($title); $description = $this->view_request->getDescription(); if ($description !== null) { $this->main_tpl->setDescription($description); @@ -357,7 +355,7 @@ private function download(): never ); } - protected function getPathsFromRequest(): array + private function getPathsFromRequest(): array { $unhash = fn(string $path): string => $this->unhash($path); $unhash_array = static fn(array $paths): array => array_map( @@ -403,7 +401,8 @@ private function unzip(): void $paths ); - $this->postUpload(); + $this->main_tpl->setOnScreenMessage('success', $this->language->txt('rids_appended'), true); + $this->ctrl->redirect($this, self::CMD_INDEX); } private function renderConfirmRemove(): void @@ -458,59 +457,6 @@ private function remove(): void $this->ctrl->redirect($this, self::CMD_INDEX); } - // REQUEST HELPERS - - /** - * @return ResourceIdentification[] - */ - private function getResourceIdsFromRequest(): array - { - $token = $this->action_builder->getUrlToken(); - $wrapper = $this->http->wrapper(); - $to_string = $this->refinery->kindlyTo()->string(); - $to_array_of_string = $this->refinery->to()->listOf($to_string); - $rid_string = null; - - if ($wrapper->query()->has($token->getName())) { - try { - $rid_string = $wrapper->query()->retrieve( - $token->getName(), - $to_string - ); - $rid_strings = explode(',', (string) $rid_string); - } catch (ConstraintViolationException) { - $rid_strings = $wrapper->query()->retrieve( - $token->getName(), - $to_array_of_string - ); - } - } - - if ($wrapper->post()->has('interruptive_items')) { - $rid_strings = $wrapper->post()->retrieve( - 'interruptive_items', - $to_array_of_string - ); - } - - if ($rid_strings[0] === 'ALL_OBJECTS') { - return $this->view_request->getWrapper()->getResourceIdentifications(); - } - - if ($rid_strings === []) { - return []; - } - $resource_identifications = []; - foreach ($rid_strings as $rid_string) { - $resource_identification = $this->irss->manage()->find($this->unhash($rid_string)); - if ($resource_identification === null) { - continue; - } - $resource_identifications[] = $resource_identification; - } - return $resource_identifications; - } - // UPLOAD HANDLER public function getFileIdentifierParameterName(): string diff --git a/lang/ilias_de.lang b/lang/ilias_de.lang index 0788f36c9dcd..c3d042ad33e0 100644 --- a/lang/ilias_de.lang +++ b/lang/ilias_de.lang @@ -10701,6 +10701,7 @@ irss#:#full_size#:#Ressourcengröße (Alle Revisionen) irss#:#home_directory#:#Stammverzeichnis irss#:#max_revision#:#Maximale Revision irss#:#msg_error_adding_directory#:#Das Verzeichnis konnte nicht angelegt werden. +irss#:#msg_paths_deleted#:#Pfad(e) gelöscht irss#:#msg_success_adding_directory#:#Das Verzeichnis wurde erfolgreich angelegt. irss#:#msg_upload#:#Dateien zum Hinzufügen hier ablegen irss#:#resource_id#:#Resource ID diff --git a/lang/ilias_en.lang b/lang/ilias_en.lang index fe5ffb3331fb..212d25c70c65 100644 --- a/lang/ilias_en.lang +++ b/lang/ilias_en.lang @@ -10673,6 +10673,7 @@ irss#:#full_size#:#Resource Size (All Revisions) irss#:#home_directory#:#Root-Directory irss#:#max_revision#:#Max. Revision irss#:#msg_error_adding_directory#:#The directory could not be created. +irss#:#msg_paths_deleted#:#Path(s) deleted irss#:#msg_success_adding_directory#:#The directory was created successfully. irss#:#msg_upload#:#Drop Files to upload irss#:#resource_id#:#Resource ID From a1beb02171fbaa3656310849b387264291dd209c Mon Sep 17 00:00:00 2001 From: Fabian Schmid Date: Tue, 3 Feb 2026 11:43:38 +0100 Subject: [PATCH 508/865] [FIX] 0046302: Failed test: Liste nach Spaltentiteln sortieren --- .../classes/Container/DataProvider/TableDataProvider.php | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/components/ILIAS/ResourceStorage/classes/Container/DataProvider/TableDataProvider.php b/components/ILIAS/ResourceStorage/classes/Container/DataProvider/TableDataProvider.php index 688ef11da557..aa716c79ef1f 100755 --- a/components/ILIAS/ResourceStorage/classes/Container/DataProvider/TableDataProvider.php +++ b/components/ILIAS/ResourceStorage/classes/Container/DataProvider/TableDataProvider.php @@ -20,7 +20,6 @@ namespace ILIAS\components\ResourceStorage\Container\DataProvider; -use ILIAS\ResourceStorage\Services; use ILIAS\components\ResourceStorage\Container\View\Request; use ILIAS\components\ResourceStorage\Container\Wrapper\Dir; use ILIAS\components\ResourceStorage\Container\Wrapper\File; @@ -30,13 +29,10 @@ */ final class TableDataProvider { - private Services $irss; - public function __construct( private Request $view_request, ) { global $DIC; - $this->irss = $DIC->resourceStorage(); } public function getViewRequest(): Request @@ -72,7 +68,7 @@ public function getEntries(): array $type_a = $a instanceof Dir ? '' : $a->getMimeType(); $type_b = $b instanceof Dir ? '' : $b->getMimeType(); return match ($this->view_request->getSortation()) { - Request::BY_CREATION_DATE_DESC => $b->getModificationDate()->getTimestamp() <=> $a->getModificationDate()->getTimestamp(), + Request::BY_CREATION_DATE_DESC => $a->getModificationDate()->getTimestamp() <=> $b->getModificationDate()->getTimestamp(), Request::BY_CREATION_DATE_ASC => $b->getModificationDate()->getTimestamp() <=> $a->getModificationDate()->getTimestamp(), Request::BY_SIZE_DESC => $size_a - $size_b, Request::BY_SIZE_ASC => $size_b - $size_a, From 5cecf69a70bc139f818e08a3b57e4af0be6e089b Mon Sep 17 00:00:00 2001 From: Akumatic Date: Tue, 3 Feb 2026 11:46:59 +0100 Subject: [PATCH 509/865] Fix check for empty string before attempting to decode json (cherry picked from commit ee928491ccf728d21ac01e0701beaafea86edfb5) --- .../ILIAS/WebServices/ECS/classes/class.ilECSResult.php | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/components/ILIAS/WebServices/ECS/classes/class.ilECSResult.php b/components/ILIAS/WebServices/ECS/classes/class.ilECSResult.php index c0c8d4f88999..c4a56cc47dec 100755 --- a/components/ILIAS/WebServices/ECS/classes/class.ilECSResult.php +++ b/components/ILIAS/WebServices/ECS/classes/class.ilECSResult.php @@ -109,8 +109,9 @@ private function init(string $result_string, int $result_type): void { switch ($result_type) { case self::RESULT_TYPE_JSON: - if ($result_string) { - $this->result = json_decode($result_string, false, 512, JSON_THROW_ON_ERROR); + $payload = trim($result_string); + if ($payload !== '') { + $this->result = json_decode($payload, false, 512, JSON_THROW_ON_ERROR); } else { $this->result = []; } From a83ff71ef2d798a37f2133a7805094aca746f0a8 Mon Sep 17 00:00:00 2001 From: Christoph Ludolf <127395945+chlulei@users.noreply.github.com> Date: Tue, 3 Feb 2026 11:51:46 +0100 Subject: [PATCH 510/865] COPage: Init export configs bevore export (#11038) --- .../Administration/class.ilPageLayoutAdministrationGUI.php | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/components/ILIAS/COPage/Layout/Administration/class.ilPageLayoutAdministrationGUI.php b/components/ILIAS/COPage/Layout/Administration/class.ilPageLayoutAdministrationGUI.php index e94106fcc886..aea01ff22e0e 100755 --- a/components/ILIAS/COPage/Layout/Administration/class.ilPageLayoutAdministrationGUI.php +++ b/components/ILIAS/COPage/Layout/Administration/class.ilPageLayoutAdministrationGUI.php @@ -18,6 +18,7 @@ use ILIAS\COPage\Layout\AdministrationGUIRequest; use ILIAS\DI\UIServices; +use ILIAS\Export\ExportHandler\Factory as ilExportHandler; /** * Administration for page layouts @@ -39,6 +40,7 @@ class ilPageLayoutAdministrationGUI protected ilGlobalTemplateInterface $tpl; protected ILIAS\DI\Container $DIC; protected int $ref_id; + protected ilExportHandler $export_handler; public function __construct() { @@ -60,6 +62,7 @@ public function __construct() ->layout() ->adminRequest(); $this->ref_id = $this->admin_request->getRefId(); + $this->export_handler = new ilExportHandler(); } public function executeCommand(): void @@ -357,6 +360,7 @@ public function exportLayout(): void $tmpdir = ilFileUtils::ilTempnam(); ilFileUtils::makeDir($tmpdir); + $exp->setExportConfigs($this->export_handler->consumer()->exportConfig()->allExportConfigs()); $succ = $exp->exportEntity( "pgtp", $this->admin_request->getObjId(), From 51b46b4e9ffea4df6aecae67bf6e806a1d649258 Mon Sep 17 00:00:00 2001 From: Chris Potter Date: Tue, 3 Feb 2026 11:58:15 +0100 Subject: [PATCH 511/865] Improvement to tone of entry --- lang/ilias_en.lang | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lang/ilias_en.lang b/lang/ilias_en.lang index 212d25c70c65..842c1b49c5b4 100644 --- a/lang/ilias_en.lang +++ b/lang/ilias_en.lang @@ -5920,7 +5920,7 @@ common#:#usr_filter_lastlogin#:#Last login of user common#:#usr_filter_role#:#Assigned role common#:#usr_inactive_only#:#Inactive Users only common#:#usr_limited_access_only#:#Users with limited access only -common#:#usr_name_undisclosed#:#Undisclosed +common#:#usr_name_undisclosed#:#Profile not published common#:#usr_new#:#New User common#:#usr_settings_changeable_lua#:#Changeable in Local User Administration common#:#usr_settings_explanation_profile#:#Check ‘Visible’ to show fields in the registration form and personal settings. Check ‘Changeable’ to allow the user to change the values. Please note that visible fields can always be entered in the registration form. Required fields are required in the registration form and the personal settings. All data can be changed in the user administration independent on these settings. From 483dc0c6c54ff82015721d97e39c361ad27b397f Mon Sep 17 00:00:00 2001 From: Matthias Kunkel Date: Tue, 3 Feb 2026 12:13:14 +0100 Subject: [PATCH 512/865] Fixed Mantis #47104: Ambiguous title in editor administration --- lang/ilias_de.lang | 2 +- lang/ilias_en.lang | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/lang/ilias_de.lang b/lang/ilias_de.lang index c3d042ad33e0..1a7675344068 100644 --- a/lang/ilias_de.lang +++ b/lang/ilias_de.lang @@ -415,7 +415,7 @@ adve#:#adve_minutes_info#:#Zeitraum in Minuten bis die Seite wegen fehlender Akt adve#:#adve_page_editor_settings#:#ILIAS-Seiteneditor adve#:#adve_pe_general#:#Einstellungen adve#:#adve_rte_settings#:#TinyMCE-Editor -adve#:#adve_text_content_features#:#Text Content Menü +adve#:#adve_text_content_features#:#Unterstützte Zeichenformate adve#:#adve_use_physical#:#str|emp|imp durch B|I|U ersetzen adve#:#adve_use_physical_info#:#Die Einstellung ersetzt die Buttons der semantischen Styleklassen für strong, emphatic und important durch die fest definierten Auszeichnungen B (bold), I (italic) und U (underline). Achtung: hierbei kann es zu Inkonsistenzen kommen, wenn über den Styleeditor den Styleklassen für strong, emphatic und important andere Auszeichnungen zugeordnet wurden. adve#:#adve_use_tiny_mce#:#TinyMCE-Editor für WYSIWYG-Bearbeitung aktivieren diff --git a/lang/ilias_en.lang b/lang/ilias_en.lang index 842c1b49c5b4..1d1e9376a222 100644 --- a/lang/ilias_en.lang +++ b/lang/ilias_en.lang @@ -415,7 +415,7 @@ adve#:#adve_minutes_info#:#Minutes of inactivity before an edit lock expires and adve#:#adve_page_editor_settings#:#ILIAS Page Editor adve#:#adve_pe_general#:#General adve#:#adve_rte_settings#:#TinyMCE Editor -adve#:#adve_text_content_features#:#Text Content Menu +adve#:#adve_text_content_features#:#Supported Characters adve#:#adve_use_physical#:#Use b/i/u instead of str/emp/imp adve#:#adve_use_physical_info#:#This setting replaces the semantic style class buttons for ‘strong’, ‘emphatic’ and ‘important’ with physical attribute buttons ‘b’ (bold), ‘i’ (italic) and ‘u’ (underline). Please note, that this may result in inconsistencies if the style editor is used and other physical attributes are assigned to the strong/emphatic/important style classes. adve#:#adve_use_tiny_mce#:#Enable TinyMCE Editor for WYSIWYG Editing From 66c174f471cc91095099e5e2614283113f70d295 Mon Sep 17 00:00:00 2001 From: Fabian Schmid Date: Tue, 3 Feb 2026 12:54:20 +0100 Subject: [PATCH 513/865] =?UTF-8?q?[FIX]=200046438:=20Failed=20test:=20Ein?= =?UTF-8?q?trag=20l=C3=B6schen?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../UI/Footer/Entries/class.ilFooterEntriesGUI.php | 7 +++++++ components/ILIAS/GlobalScreen/src/GUI/Input/Input.php | 11 +++++++++-- 2 files changed, 16 insertions(+), 2 deletions(-) diff --git a/components/ILIAS/GlobalScreen/classes/UI/Footer/Entries/class.ilFooterEntriesGUI.php b/components/ILIAS/GlobalScreen/classes/UI/Footer/Entries/class.ilFooterEntriesGUI.php index 1245976aa98f..5766bf8039fc 100755 --- a/components/ILIAS/GlobalScreen/classes/UI/Footer/Entries/class.ilFooterEntriesGUI.php +++ b/components/ILIAS/GlobalScreen/classes/UI/Footer/Entries/class.ilFooterEntriesGUI.php @@ -361,6 +361,7 @@ private function delete(): void ); } + $successful_deletions = 0; foreach ($from_request as $id) { $item = $this->repository->get($id); if ($item === null) { @@ -370,8 +371,14 @@ private function delete(): void continue; } $this->repository->delete($item); + $successful_deletions++; } + if ($successful_deletions === 0) { + $this->pons->out()->error($this->translator->translate('error'), true); + $this->pons->flow()->redirect(self::CMD_DEFAULT); + return; + } $this->pons->out()->success($this->translator->translate('entry_deleted'), true); $this->pons->flow()->redirect(self::CMD_DEFAULT); } diff --git a/components/ILIAS/GlobalScreen/src/GUI/Input/Input.php b/components/ILIAS/GlobalScreen/src/GUI/Input/Input.php index f450a6d231e4..559f1d47fcd8 100644 --- a/components/ILIAS/GlobalScreen/src/GUI/Input/Input.php +++ b/components/ILIAS/GlobalScreen/src/GUI/Input/Input.php @@ -130,8 +130,15 @@ public function getAllFromRequest( $ids[] = $interruptive_item; } } - - return array_map(fn($id): string => $this->unhash($id), $ids); + $return_ids = []; + foreach ($ids as $id) { + try { + $return_ids[] = $this->unhash($id); + } catch (\Throwable $e) { + // skip invalid ids + } + } + return $return_ids; } public function buildToken(string $namespace, string $token, ?URI $uri = null): TokenContainer From 17c684ad8a76a8078caf02356fcc3d8cf368966d Mon Sep 17 00:00:00 2001 From: Fabian Schmid Date: Tue, 3 Feb 2026 15:36:46 +0100 Subject: [PATCH 514/865] [FIX] 0046439: Failed test: Eintrag verschieben --- .../UI/Footer/Entries/EntriesTable.php | 8 +- .../Entries/class.ilFooterEntriesGUI.php | 80 ++++++++++++++++++- lang/ilias_de.lang | 3 + lang/ilias_en.lang | 3 + 4 files changed, 88 insertions(+), 6 deletions(-) diff --git a/components/ILIAS/GlobalScreen/classes/UI/Footer/Entries/EntriesTable.php b/components/ILIAS/GlobalScreen/classes/UI/Footer/Entries/EntriesTable.php index bc6dee84a39b..6972b08b8a1b 100644 --- a/components/ILIAS/GlobalScreen/classes/UI/Footer/Entries/EntriesTable.php +++ b/components/ILIAS/GlobalScreen/classes/UI/Footer/Entries/EntriesTable.php @@ -110,25 +110,25 @@ public function get(): Ordering [ 'edit' => $this->ui_factory->table()->action()->single( $this->translator->translate('edit', 'entry'), - $this->url_builder->withURI($flow->getHereAsURI('edit')), + $this->url_builder->withURI($flow->getHereAsURI(\ilFooterEntriesGUI::CMD_EDIT)), $this->id_token )->withAsync(true), 'toggle_activation' => $this->ui_factory->table()->action()->standard( $this->translator->translate('toggle_activation', 'entry'), - $this->url_builder->withURI($flow->getHereAsURI('toggleActivation')), + $this->url_builder->withURI($flow->getHereAsURI(\ilFooterEntriesGUI::CMD_TOGGLE_ACTIVATION)), $this->id_token )->withAsync(false), 'delete' => $this->ui_factory->table()->action()->standard( $this->translator->translate('delete', 'entry'), - $this->url_builder->withURI($flow->getHereAsURI('confirmDelete')), + $this->url_builder->withURI($flow->getHereAsURI(\ilFooterEntriesGUI::CMD_CONFIRM_DELETE)), $this->id_token )->withAsync(true), 'move' => $this->ui_factory->table()->action()->standard( $this->translator->translate('move', 'entry'), - $this->url_builder->withURI($flow->getHereAsURI('selectMove')), + $this->url_builder->withURI($flow->getHereAsURI(\ilFooterEntriesGUI::CMD_SELECT_MOVE)), $this->id_token )->withAsync(true), diff --git a/components/ILIAS/GlobalScreen/classes/UI/Footer/Entries/class.ilFooterEntriesGUI.php b/components/ILIAS/GlobalScreen/classes/UI/Footer/Entries/class.ilFooterEntriesGUI.php index 5766bf8039fc..690d806b7410 100755 --- a/components/ILIAS/GlobalScreen/classes/UI/Footer/Entries/class.ilFooterEntriesGUI.php +++ b/components/ILIAS/GlobalScreen/classes/UI/Footer/Entries/class.ilFooterEntriesGUI.php @@ -18,6 +18,7 @@ declare(strict_types=1); +use ILIAS\UI\Component\Input\Container\Form\Standard; use ILIAS\GlobalScreen\GUI\I18n\Translator; use ILIAS\GlobalScreen\GUI\Input\TokenContainer; use ILIAS\UI\Factory; @@ -36,6 +37,8 @@ use ILIAS\GlobalScreen\GUI\Flow\Command; use ILIAS\GlobalScreen\GUI\I18n\MultiLanguage\TranslatableItem; use ILIAS\GlobalScreen\GUI\Input\Input; +use ILIAS\Data\URI; +use ILIAS\GlobalScreen\UI\Footer\Entries\EntryDTO; /** * @author Fabian Schmid @@ -91,6 +94,8 @@ final class ilFooterEntriesGUI extends AbstractPonsGUI implements SupportsTransl * @var string */ public const CMD_TOGGLE_ACTIVATION = 'toggleActivation'; + public const string CMD_SELECT_MOVE = 'selectMove'; + public const string CMD_MOVE = 'move'; private EntriesRepository $repository; private Factory $ui_factory; private ilCtrlInterface $ctrl; @@ -101,6 +106,7 @@ final class ilFooterEntriesGUI extends AbstractPonsGUI implements SupportsTransl private TokenContainer $group_token; private TokenContainer $entry_token; private ?Group $group; + private GroupsRepositoryDB $groups_repository; public function __construct( Pons $pons, @@ -111,7 +117,7 @@ public function __construct( $this->dic = $DIC; $this->ui_factory = $this->dic->ui()->factory(); - $group_repository = new GroupsRepositoryDB( + $this->groups_repository = new GroupsRepositoryDB( $this->dic->database(), new ilFooterCustomGroupsProvider($DIC) ); @@ -122,7 +128,7 @@ public function __construct( ); $this->group_token = $this->pons->in()->buildToken('group', 'id'); $this->entry_token = $this->pons->in()->buildToken('entry', 'id'); - $this->group = $group_repository->get( + $this->group = $this->groups_repository->get( $this->pons->in()->getFirstFromRequest($this->group_token) ); $this->pons->in()->keep($this->group_token); @@ -383,6 +389,7 @@ private function delete(): void $this->pons->flow()->redirect(self::CMD_DEFAULT); } + #[Command('write')] private function saveOrder(): void { foreach ($this->pons->in()->request()->getParsedBody() as $hashed_id => $position) { @@ -394,6 +401,73 @@ private function saveOrder(): void $this->pons->flow()->redirect(self::CMD_DEFAULT); } + private function buildTargetSelectorForm(URI $post_url): Standard + { + // determine parent group + $all_groups = $this->groups_repository->all(); + + $selection = []; + foreach ($all_groups as $group) { + if ($this->group !== null && $group->getId() === $this->group->getId()) { + continue; + } + $selection[$this->hash($group->getId())] = $group->getTitle(); + } + + return $this->pons->out()->ui()->factory()->input()->container()->form()->standard( + (string) $post_url, + [ + $this->pons->out()->ui()->factory()->input()->field()->select( + $this->pons->i18n()->t('target_group', 'entries'), + $selection + )->withRequired(true) + ] + ); + } + + #[Command('write')] + private function selectMove(): void + { + $this->pons->in()->keepTokens($this); + + $post_url = $this->pons->flow()->getHereAsURI(self::CMD_MOVE); + $this->pons->out()->outAsyncAsModal( + $this->pons->i18n()->t(self::CMD_MOVE), + $post_url, + $this->buildTargetSelectorForm($post_url) + ); + } + + #[Command('write')] + private function move(): void + { + $form = $this->buildTargetSelectorForm($this->pons->flow()->getHereAsURI(self::CMD_MOVE))->withRequest( + $this->pons->in()->request() + ); + + if (($data = $form->getData()) === null) { + $this->pons->out()->error($this->pons->i18n()->t('no_parent_selected'), true); + $this->pons->flow()->redirect(self::CMD_DEFAULT); + return; + } + + try { + $parent_group = $this->unhash($data[0] ?? ''); + } catch (Throwable $e) { + $this->pons->out()->error($this->pons->i18n()->t('no_parent_selected'), true); + $this->pons->flow()->redirect(self::CMD_DEFAULT); + return; + } + + /** + * @var EntryDTO $selected_item + */ + $selected_item = $this->getCurrentItem(); + $this->repository->store($selected_item->withParent($parent_group)); + $this->pons->out()->success($this->pons->i18n()->t('item_moved'), true); + $this->pons->flow()->redirect(self::CMD_DEFAULT); + } + public function executeCommand(): bool { if ($this->pons->handle(ilObjFooterAdministrationGUI::TAB_SUB_ITEMS)) { @@ -409,6 +483,8 @@ public function executeCommand(): bool self::CMD_DELETE => $this->delete(), self::CMD_TOGGLE_ACTIVATION => $this->toggleActivation(), self::CMD_SAVE_ORDER => $this->saveOrder(), + self::CMD_SELECT_MOVE => $this->selectMove(), + self::CMD_MOVE => $this->move(), default => $this->pons->out()->outString( 'Unknown command: ' . $this->pons->flow()->getCommand(self::CMD_DEFAULT) ), diff --git a/lang/ilias_de.lang b/lang/ilias_de.lang index 1a7675344068..72d40d78739d 100644 --- a/lang/ilias_de.lang +++ b/lang/ilias_de.lang @@ -10695,15 +10695,18 @@ irss#:#creation_date#:#Erstellungsdatum (Diese Revision) irss#:#directory_name#:#Verzeichnisname irss#:#directory_name_info#:#Name des Verzeichnisses, welches an der aktuellen Stelle eingefügt werden soll. irss#:#download_zip#:#Alle Dateien als ZIP herunterladen +irss#:#entries_target_group#:#Ziel wählen irss#:#file_size#:#Dateigröße (Diese Revision) irss#:#file_size_bigger_than#:#Dateigröße > MB irss#:#full_size#:#Ressourcengröße (Alle Revisionen) irss#:#home_directory#:#Stammverzeichnis +irss#:#item_moved#:#Eintrag verschoben irss#:#max_revision#:#Maximale Revision irss#:#msg_error_adding_directory#:#Das Verzeichnis konnte nicht angelegt werden. irss#:#msg_paths_deleted#:#Pfad(e) gelöscht irss#:#msg_success_adding_directory#:#Das Verzeichnis wurde erfolgreich angelegt. irss#:#msg_upload#:#Dateien zum Hinzufügen hier ablegen +irss#:#no_parent_selected#:#Kein Ziel gewählt irss#:#resource_id#:#Resource ID irss#:#resource_no_stakeholder_uri#:#Kein Stakeholder stellt einen Link zu der Nutzung dieser Resource zur Verfügung. irss#:#resource_overview#:#Ressourcen-Übersicht diff --git a/lang/ilias_en.lang b/lang/ilias_en.lang index 1d1e9376a222..e808b71ada7b 100644 --- a/lang/ilias_en.lang +++ b/lang/ilias_en.lang @@ -10667,15 +10667,18 @@ irss#:#creation_date#:#Creation Date (This Revision) irss#:#directory_name#:#Directory Name irss#:#directory_name_info#:#Name of the directory to be inserted at the current location. irss#:#download_zip#:#Download all files as ZIP +irss#:#entries_target_group#:#Select target group irss#:#file_size#:#File Size (This Revision) irss#:#file_size_bigger_than#:#File Size > MB irss#:#full_size#:#Resource Size (All Revisions) irss#:#home_directory#:#Root-Directory +irss#:#item_moved#:#Entry moved irss#:#max_revision#:#Max. Revision irss#:#msg_error_adding_directory#:#The directory could not be created. irss#:#msg_paths_deleted#:#Path(s) deleted irss#:#msg_success_adding_directory#:#The directory was created successfully. irss#:#msg_upload#:#Drop Files to upload +irss#:#no_parent_selected#:#No target group selected irss#:#resource_id#:#Resource ID irss#:#resource_no_stakeholder_uri#:#No Stakeholder provides a valid Link to the usage of this Resource. irss#:#resource_overview#:#Resource Overview From 51bc9d7289177510b14c04dc9fc9b03304119094 Mon Sep 17 00:00:00 2001 From: Fabian Schmid Date: Tue, 3 Feb 2026 15:46:25 +0100 Subject: [PATCH 515/865] =?UTF-8?q?[FIX]=200047053:=20Failed=20test:=20"Re?= =?UTF-8?q?ad=20only"=20f=C3=BCr=20Administrationsknoten=20"Hauptmen=C3=BC?= =?UTF-8?q?"?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ILIAS/GlobalScreen/src/GUI/Pons.php | 7 +- .../class.ilMMSubItemTableComponent.php | 141 ++++++++++-------- .../class.ilMMTopItemTableComponent.php | 109 +++++++------- 3 files changed, 139 insertions(+), 118 deletions(-) diff --git a/components/ILIAS/GlobalScreen/src/GUI/Pons.php b/components/ILIAS/GlobalScreen/src/GUI/Pons.php index ee1661490652..5f13d10a055a 100644 --- a/components/ILIAS/GlobalScreen/src/GUI/Pons.php +++ b/components/ILIAS/GlobalScreen/src/GUI/Pons.php @@ -162,7 +162,12 @@ public function handle(string $entry_tab, array $post_handling_classes = []): bo $attributes = $method->getAttributes(Command::class); foreach ($attributes as $attribute) { $instance = $attribute->newInstance(); - $this->access->require($instance->getPermissions()); + try { + $this->access->require($instance->getPermissions()); + } catch (\Exception $e) { + $this->out()->error($e->getMessage()); + return false; + } } } } diff --git a/components/ILIAS/MainMenu/classes/Administration/SubItems/class.ilMMSubItemTableComponent.php b/components/ILIAS/MainMenu/classes/Administration/SubItems/class.ilMMSubItemTableComponent.php index 64b4d5ef0e3b..6eb7a3e69229 100755 --- a/components/ILIAS/MainMenu/classes/Administration/SubItems/class.ilMMSubItemTableComponent.php +++ b/components/ILIAS/MainMenu/classes/Administration/SubItems/class.ilMMSubItemTableComponent.php @@ -137,77 +137,86 @@ public function getRows(OrderingRowBuilder $row_builder, array $visible_column_i public function get(): Component|array { - return [ - $this->ui_factory->table()->ordering( - $this, - $this->pons->flow()->getHereAsURI(ilMMSubItemGUI::CMD_SAVE_ORDER), - $this->parent_item?->getDefaultTitle() ?? $this->pons->i18n()->t('mme_lost_items'), - [ - 'title' => $this->ui_factory->table()->column()->text( - $this->pons->i18n()->t('title', 'sub'), + if ($this->write_access) { + $actions = [ + self::ACTION_EDIT => $this->ui_factory->table()->action()->single( + $this->pons->i18n()->t('edit'), + $this->url_builder->withURI( + $this->pons->flow()->getHereAsURI(ilMMSubItemGUI::CMD_EDIT) ), - 'active' => $this->ui_factory->table()->column()->boolean( - $this->pons->i18n()->t('active', 'sub'), - $this->pons->out()->ok(), - $this->pons->out()->nok(), + $this->token + )->withAsync(true), + self::ACTION_TRANSLATE => $this->ui_factory->table()->action()->single( + $this->pons->i18n()->t('translate'), + $this->url_builder->withURI( + $this->pons->flow()->getTranslationAsURI() ), - 'status' => $this->ui_factory->table()->column()->text( - $this->pons->i18n()->t('status', 'sub'), + $this->token + )->withAsync(true), + self::ACTION_ACTIVATE => $this->ui_factory->table()->action()->standard( + $this->pons->i18n()->t('activate'), + $this->url_builder->withURI( + $this->pons->flow()->getHereAsURI(ilMMSubItemGUI::CMD_ACTIVATE) ), - 'type' => $this->ui_factory->table()->column()->text( - $this->pons->i18n()->t('type', 'topitem'), + $this->token + ), + self::ACTION_DEACTIVATE => $this->ui_factory->table()->action()->standard( + $this->pons->i18n()->t('deactivate'), + $this->url_builder->withURI( + $this->pons->flow()->getHereAsURI(ilMMSubItemGUI::CMD_DEACTIVATE) ), - 'provider' => $this->ui_factory->table()->column()->text( - $this->pons->i18n()->t('provider', 'topitem'), + $this->token + ), + self::ACTION_MOVE => $this->ui_factory->table()->action()->standard( + $this->pons->i18n()->t('move'), + $this->url_builder->withURI( + $this->pons->flow()->getHereAsURI(ilMMSubItemGUI::CMD_CONFIRM_MOVE) ), - ] - )->withRequest($this->pons->in()->request()) - ->withActions( - [ - self::ACTION_EDIT => $this->ui_factory->table()->action()->single( - $this->pons->i18n()->t('edit'), - $this->url_builder->withURI( - $this->pons->flow()->getHereAsURI(ilMMSubItemGUI::CMD_EDIT) - ), - $this->token - )->withAsync(true), - self::ACTION_TRANSLATE => $this->ui_factory->table()->action()->single( - $this->pons->i18n()->t('translate'), - $this->url_builder->withURI( - $this->pons->flow()->getTranslationAsURI() - ), - $this->token - )->withAsync(true), - self::ACTION_ACTIVATE => $this->ui_factory->table()->action()->standard( - $this->pons->i18n()->t('activate'), - $this->url_builder->withURI( - $this->pons->flow()->getHereAsURI(ilMMSubItemGUI::CMD_ACTIVATE) - ), - $this->token - ), - self::ACTION_DEACTIVATE => $this->ui_factory->table()->action()->standard( - $this->pons->i18n()->t('deactivate'), - $this->url_builder->withURI( - $this->pons->flow()->getHereAsURI(ilMMSubItemGUI::CMD_DEACTIVATE) - ), - $this->token - ), - self::ACTION_MOVE => $this->ui_factory->table()->action()->standard( - $this->pons->i18n()->t('move'), - $this->url_builder->withURI( - $this->pons->flow()->getHereAsURI(ilMMSubItemGUI::CMD_CONFIRM_MOVE) - ), - $this->token - )->withAsync(true), - self::ACTION_DELETE => $this->ui_factory->table()->action()->standard( - $this->pons->i18n()->t('delete'), - $this->url_builder->withURI( - $this->pons->flow()->getHereAsURI(ilMMSubItemGUI::CMD_CONFIRM_DELETE) - ), - $this->token - )->withAsync(true), - ] - ) + $this->token + )->withAsync(true), + self::ACTION_DELETE => $this->ui_factory->table()->action()->standard( + $this->pons->i18n()->t('delete'), + $this->url_builder->withURI( + $this->pons->flow()->getHereAsURI(ilMMSubItemGUI::CMD_CONFIRM_DELETE) + ), + $this->token + )->withAsync(true), + ]; + } else { + $actions = []; + } + return [ + $this + ->ui_factory + ->table() + ->ordering( + $this, + $this->pons->flow()->getHereAsURI(ilMMSubItemGUI::CMD_SAVE_ORDER), + $this->parent_item?->getDefaultTitle() ?? $this->pons->i18n()->t('mme_lost_items'), + [ + 'title' => $this->ui_factory->table()->column()->text( + $this->pons->i18n()->t('title', 'sub'), + ), + 'active' => $this->ui_factory->table()->column()->boolean( + $this->pons->i18n()->t('active', 'sub'), + $this->pons->out()->ok(), + $this->pons->out()->nok(), + ), + 'status' => $this->ui_factory->table()->column()->text( + $this->pons->i18n()->t('status', 'sub'), + ), + 'type' => $this->ui_factory->table()->column()->text( + $this->pons->i18n()->t('type', 'topitem'), + ), + 'provider' => $this->ui_factory->table()->column()->text( + $this->pons->i18n()->t('provider', 'topitem'), + ), + ] + )->withRequest( + $this->pons->in()->request() + ) + ->withOrderingDisabled(!$this->write_access) + ->withActions($actions) ]; } } diff --git a/components/ILIAS/MainMenu/classes/Administration/TopItems/class.ilMMTopItemTableComponent.php b/components/ILIAS/MainMenu/classes/Administration/TopItems/class.ilMMTopItemTableComponent.php index 2603a9a7117d..a01cb2a89b2c 100755 --- a/components/ILIAS/MainMenu/classes/Administration/TopItems/class.ilMMTopItemTableComponent.php +++ b/components/ILIAS/MainMenu/classes/Administration/TopItems/class.ilMMTopItemTableComponent.php @@ -197,6 +197,62 @@ public function getRows(OrderingRowBuilder $row_builder, array $visible_column_i public function get(): Component|array { + $actions = [ + self::ACTION_EDIT_SUB_TEMS => $this->ui_factory->table()->action()->single( + $this->pons->i18n()->t('edit_sub_tems'), + $this->url_builder->withURI( + $this->pons->flow()->getTargetURI(ilMMSubItemGUI::class, ilMMSubItemGUI::CMD_DEFAULT) + ), + $this->token + ), + ]; + if ($this->write_access) { + $actions = array_merge($actions, [ + self::ACTION_EDIT => $this->ui_factory->table()->action()->single( + $this->pons->i18n()->t('edit'), + $this->url_builder->withURI( + $this->pons->flow()->getHereAsURI(ilMMTopItemGUI::CMD_EDIT) + ), + $this->token + )->withAsync(true), + self::ACTION_TRANSLATE => $this->ui_factory->table()->action()->single( + $this->pons->i18n()->t('translate'), + $this->url_builder->withURI( + $this->pons->flow()->getTranslationAsURI() + ), + $this->token + )->withAsync(true), + self::ACTION_ACTIVATE => $this->ui_factory->table()->action()->standard( + $this->pons->i18n()->t('activate'), + $this->url_builder->withURI( + $this->pons->flow()->getHereAsURI(ilMMTopItemGUI::CMD_ACTIVATE) + ), + $this->token + ), + self::ACTION_DEACTIVATE => $this->ui_factory->table()->action()->standard( + $this->pons->i18n()->t('deactivate'), + $this->url_builder->withURI( + $this->pons->flow()->getHereAsURI(ilMMTopItemGUI::CMD_DEACTIVATE) + ), + $this->token + ), + self::ACTION_MOVE => $this->ui_factory->table()->action()->standard( + $this->pons->i18n()->t('move'), + $this->url_builder->withURI( + $this->pons->flow()->getHereAsURI(ilMMTopItemGUI::CMD_SELECT_PARENT) + ), + $this->token + )->withAsync(true), + self::ACTION_DELETE => $this->ui_factory->table()->action()->standard( + $this->pons->i18n()->t('delete'), + $this->url_builder->withURI( + $this->pons->flow()->getHereAsURI(ilMMTopItemGUI::CMD_CONFIRM_DELETE) + ), + $this->token + )->withAsync(true), + ]); + } + return [ $this->ui_factory ->table() @@ -227,59 +283,10 @@ public function get(): Component|array ), ] ) + ->withOrderingDisabled(!$this->write_access) ->withRequest($this->pons->in()->request()) ->withActions( - [ - self::ACTION_EDIT_SUB_TEMS => $this->ui_factory->table()->action()->single( - $this->pons->i18n()->t('edit_sub_tems'), - $this->url_builder->withURI( - $this->pons->flow()->getTargetURI(ilMMSubItemGUI::class, ilMMSubItemGUI::CMD_DEFAULT) - ), - $this->token - ), - self::ACTION_EDIT => $this->ui_factory->table()->action()->single( - $this->pons->i18n()->t('edit'), - $this->url_builder->withURI( - $this->pons->flow()->getHereAsURI(ilMMTopItemGUI::CMD_EDIT) - ), - $this->token - )->withAsync(true), - self::ACTION_TRANSLATE => $this->ui_factory->table()->action()->single( - $this->pons->i18n()->t('translate'), - $this->url_builder->withURI( - $this->pons->flow()->getTranslationAsURI() - ), - $this->token - )->withAsync(true), - self::ACTION_ACTIVATE => $this->ui_factory->table()->action()->standard( - $this->pons->i18n()->t('activate'), - $this->url_builder->withURI( - $this->pons->flow()->getHereAsURI(ilMMTopItemGUI::CMD_ACTIVATE) - ), - $this->token - ), - self::ACTION_DEACTIVATE => $this->ui_factory->table()->action()->standard( - $this->pons->i18n()->t('deactivate'), - $this->url_builder->withURI( - $this->pons->flow()->getHereAsURI(ilMMTopItemGUI::CMD_DEACTIVATE) - ), - $this->token - ), - self::ACTION_MOVE => $this->ui_factory->table()->action()->standard( - $this->pons->i18n()->t('move'), - $this->url_builder->withURI( - $this->pons->flow()->getHereAsURI(ilMMTopItemGUI::CMD_SELECT_PARENT) - ), - $this->token - )->withAsync(true), - self::ACTION_DELETE => $this->ui_factory->table()->action()->standard( - $this->pons->i18n()->t('delete'), - $this->url_builder->withURI( - $this->pons->flow()->getHereAsURI(ilMMTopItemGUI::CMD_CONFIRM_DELETE) - ), - $this->token - )->withAsync(true), - ] + $actions ) ]; } From a82a47097b0a21a143d591a83a4944ccc92201b1 Mon Sep 17 00:00:00 2001 From: Fabian Schmid Date: Tue, 3 Feb 2026 15:54:35 +0100 Subject: [PATCH 516/865] =?UTF-8?q?[FIX]=200047111:=20Failed=20test:=20"Re?= =?UTF-8?q?ad=20only"=20f=C3=BCr=20Administrationsknoten=20"Ank=C3=BCndigu?= =?UTF-8?q?ngen"?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../AdministrativeNotification/classes/Table.php | 12 +++++++++--- .../class.ilObjAdministrativeNotificationAccess.php | 13 +++++++++---- 2 files changed, 18 insertions(+), 7 deletions(-) diff --git a/components/ILIAS/AdministrativeNotification/classes/Table.php b/components/ILIAS/AdministrativeNotification/classes/Table.php index f65727c68110..7e3abc76c9a1 100755 --- a/components/ILIAS/AdministrativeNotification/classes/Table.php +++ b/components/ILIAS/AdministrativeNotification/classes/Table.php @@ -31,7 +31,7 @@ use ILIAS\UI\URLBuilderToken; /** - * + * @author Fabian Schmid */ class Table { @@ -45,11 +45,12 @@ class Table private ilLanguage $lng; private URLBuilder $url_builder; private URLBuilderToken $id_token; + private bool $write_access; protected array $components = []; public function __construct( - private ilADNNotificationGUI $calling_gui, + private ilADNNotificationGUI $calling_gui ) { global $DIC; $this->ui_factory = $DIC['ui.factory']; @@ -58,10 +59,11 @@ public function __construct( $this->lng = $DIC['lng']; $this->url_builder = $this->initURIBuilder(); + $this->write_access = (new ilObjAdministrativeNotificationAccess())->hasUserPermissionTo('write'); $columns = $this->initColumns(); $actions = $this->initActions(); $data_retrieval = new DataRetrieval( - (new ilObjAdministrativeNotificationAccess())->hasUserPermissionTo('write') + $this->write_access ); $this->components[] = $this->ui_factory->table()->data( @@ -105,6 +107,10 @@ protected function initColumns(): array protected function initActions(): array { + if ($this->write_access === false) { + return []; + } + return [ self::ACTION_EDIT => $this->ui_factory->table()->action()->single( $this->lng->txt("btn_edit"), diff --git a/components/ILIAS/AdministrativeNotification/classes/class.ilObjAdministrativeNotificationAccess.php b/components/ILIAS/AdministrativeNotification/classes/class.ilObjAdministrativeNotificationAccess.php index 9da1fe5e33cf..fb1d667c51af 100755 --- a/components/ILIAS/AdministrativeNotification/classes/class.ilObjAdministrativeNotificationAccess.php +++ b/components/ILIAS/AdministrativeNotification/classes/class.ilObjAdministrativeNotificationAccess.php @@ -17,8 +17,7 @@ *********************************************************************/ /** - * Class ilObjAdministrativeNotificationAccess - * @author Fabian Schmid + * @author Fabian Schmid */ class ilObjAdministrativeNotificationAccess extends ilObjectAccess { @@ -48,8 +47,14 @@ public function checkAccessAndThrowException(string $permission): void } } - public function hasUserPermissionTo(string $permission): bool + public function hasUserPermissionTo(string $permissions_string): bool { - return $this->rbacsystem->checkAccess($permission, $this->ref_id); + $permissions = explode(',', $permissions_string); + foreach ($permissions as $permission) { + if ($this->rbacsystem->checkAccess($permission, $this->ref_id)) { + return true; + } + } + return false; } } From 06c480e7e24775b63401293a76b45361514b1da4 Mon Sep 17 00:00:00 2001 From: Fabian Schmid Date: Tue, 3 Feb 2026 16:02:16 +0100 Subject: [PATCH 517/865] =?UTF-8?q?[FIX]=200046344:=20Failed=20test:=20Lin?= =?UTF-8?q?k-Eintrag=20hinzuf=C3=BCgen?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Administration/SubItems/class.ilMMSubItemGUI.php | 12 +++++++++--- .../Administration/TopItems/class.ilMMTopItemGUI.php | 12 +++++++++--- 2 files changed, 18 insertions(+), 6 deletions(-) diff --git a/components/ILIAS/MainMenu/classes/Administration/SubItems/class.ilMMSubItemGUI.php b/components/ILIAS/MainMenu/classes/Administration/SubItems/class.ilMMSubItemGUI.php index 1e6ca93c37d2..737288c8654b 100755 --- a/components/ILIAS/MainMenu/classes/Administration/SubItems/class.ilMMSubItemGUI.php +++ b/components/ILIAS/MainMenu/classes/Administration/SubItems/class.ilMMSubItemGUI.php @@ -122,9 +122,15 @@ protected function form(bool $save = false): void $form = $this->buildForm(); - if ($save && $form->save()) { - $this->pons->out()->success($this->lng->t('item_updated'), true); - $this->pons->flow()->redirect(self::CMD_DEFAULT); + if ($save) { + if ($form->save()) { + $this->pons->out()->success($this->lng->t('item_updated'), true); + $this->pons->flow()->redirect(self::CMD_DEFAULT); + } else { + $this->pons->in()->keep($this->sub_token->token()); + $this->pons->out()->out($form->get()); + return; + } } $this->pons->out()->outAsyncAsModal( diff --git a/components/ILIAS/MainMenu/classes/Administration/TopItems/class.ilMMTopItemGUI.php b/components/ILIAS/MainMenu/classes/Administration/TopItems/class.ilMMTopItemGUI.php index 362425fa172b..303a24ccfbac 100755 --- a/components/ILIAS/MainMenu/classes/Administration/TopItems/class.ilMMTopItemGUI.php +++ b/components/ILIAS/MainMenu/classes/Administration/TopItems/class.ilMMTopItemGUI.php @@ -113,9 +113,15 @@ protected function form(bool $save = false): void $form = $this->buildForm(); - if ($save && $form->save()) { - $this->pons->out()->success($this->lng->t('item_updated'), true); - $this->pons->flow()->redirect(self::CMD_DEFAULT); + if ($save) { + if ($form->save()) { + $this->pons->out()->success($this->lng->t('item_updated'), true); + $this->pons->flow()->redirect(self::CMD_DEFAULT); + } else { + $this->pons->in()->keep($this->top_token->token()); + $this->pons->out()->out($form->get()); + return; + } } $this->pons->out()->outAsyncAsModal( From 2f13a0b54b9b26c221abb470a2757f301c1ad5c3 Mon Sep 17 00:00:00 2001 From: Fabian Schmid Date: Tue, 3 Feb 2026 16:24:29 +0100 Subject: [PATCH 518/865] [FIX] 0043115: Footer Items: isVisible & isAvailable is ignored --- .../Scope/Footer/Collector/FooterMainCollector.php | 14 ++++++++++++++ .../src/Scope/Footer/Factory/Group.php | 7 +++++++ .../src/Scope/Footer/Factory/isGroup.php | 4 ++++ 3 files changed, 25 insertions(+) diff --git a/components/ILIAS/GlobalScreen/src/Scope/Footer/Collector/FooterMainCollector.php b/components/ILIAS/GlobalScreen/src/Scope/Footer/Collector/FooterMainCollector.php index 4ad817c965d3..f123aae383ef 100755 --- a/components/ILIAS/GlobalScreen/src/Scope/Footer/Collector/FooterMainCollector.php +++ b/components/ILIAS/GlobalScreen/src/Scope/Footer/Collector/FooterMainCollector.php @@ -120,6 +120,20 @@ public function cleanupItemsForUIRepresentation(): void return $item->getEntries() !== []; }); + + + // Remove not visible children + $this->map->walk(function (isItem &$item): isItem { + if ($item instanceof isGroup) { + foreach ($item->getEntries() as $child) { + if (!$this->map->existsInFilter($child->getProviderIdentification())) { + $item->removeEntry($child); + } + } + } + return $item; + }); + } public function getItemsForUIRepresentation(): Generator diff --git a/components/ILIAS/GlobalScreen/src/Scope/Footer/Factory/Group.php b/components/ILIAS/GlobalScreen/src/Scope/Footer/Factory/Group.php index 557f1959c268..d17001a405bd 100755 --- a/components/ILIAS/GlobalScreen/src/Scope/Footer/Factory/Group.php +++ b/components/ILIAS/GlobalScreen/src/Scope/Footer/Factory/Group.php @@ -64,6 +64,13 @@ public function addEntry(canHaveParent $entry): isGroup return $this->addEntries($entry); } + public function removeEntry(canHaveParent $entry): isGroup + { + unset($this->entries[$entry->getProviderIdentification()->serialize()]); + + return $this; + } + public function isTop(): bool { return true; diff --git a/components/ILIAS/GlobalScreen/src/Scope/Footer/Factory/isGroup.php b/components/ILIAS/GlobalScreen/src/Scope/Footer/Factory/isGroup.php index c02e8193de13..25a255e78acd 100755 --- a/components/ILIAS/GlobalScreen/src/Scope/Footer/Factory/isGroup.php +++ b/components/ILIAS/GlobalScreen/src/Scope/Footer/Factory/isGroup.php @@ -25,6 +25,9 @@ */ interface isGroup extends isItem, hasTitle { + /** + * @return canHaveParent[] + */ public function getEntries(): array; /** @@ -41,4 +44,5 @@ public function addEntries(canHaveParent ...$entries): isGroup; * @mutable */ public function addEntry(canHaveParent $entry): isGroup; + public function removeEntry(canHaveParent $entry): isGroup; } From 9e4d18a1d01edcf9831be6b03a98dd37417b97ce Mon Sep 17 00:00:00 2001 From: Alexander Killing Date: Tue, 3 Feb 2026 17:31:39 +0100 Subject: [PATCH 519/865] 46959: Failed test: Versuch, zeitlich begrenzt aktivierte Seite aufzurufen --- .../COPage/classes/class.ilPageObjectGUI.php | 4 +- .../templates/default/tpl.page_activation.php | 48 ------------------- 2 files changed, 1 insertion(+), 51 deletions(-) delete mode 100755 components/ILIAS/COPage/templates/default/tpl.page_activation.php diff --git a/components/ILIAS/COPage/classes/class.ilPageObjectGUI.php b/components/ILIAS/COPage/classes/class.ilPageObjectGUI.php index a6210e8f2ca9..fee5de37ed52 100755 --- a/components/ILIAS/COPage/classes/class.ilPageObjectGUI.php +++ b/components/ILIAS/COPage/classes/class.ilPageObjectGUI.php @@ -2458,11 +2458,9 @@ public function editActivation(): void { $this->setBackToEditTabs(); - $atpl = new ilTemplate("tpl.page_activation.php", true, true, "components/ILIAS/COPage"); $this->initActivationForm(); $this->getActivationFormValues(); - $atpl->setVariable("FORM", $this->form->getHTML()); - $this->tpl->setContent($atpl->get()); + $this->tpl->setContent($this->form->getHTML()); } /** diff --git a/components/ILIAS/COPage/templates/default/tpl.page_activation.php b/components/ILIAS/COPage/templates/default/tpl.page_activation.php deleted file mode 100755 index fc7b61535bce..000000000000 --- a/components/ILIAS/COPage/templates/default/tpl.page_activation.php +++ /dev/null @@ -1,48 +0,0 @@ -/** - * This file is part of ILIAS, a powerful learning management system - * published by ILIAS open source e-Learning e.V. - * - * ILIAS is licensed with the GPL-3.0, - * see https://www.gnu.org/licenses/gpl-3.0.en.html - * You should have received a copy of said license along with the - * source code, too. - * - * If this is not the case or you just want to try ILIAS, you'll find - * us at: - * https://www.ilias.de - * https://github.com/ILIAS-eLearning - * - *********************************************************************/ - -/** - * This file is part of ILIAS, a powerful learning management system - * published by ILIAS open source e-Learning e.V. - * - * ILIAS is licensed with the GPL-3.0, - * see https://www.gnu.org/licenses/gpl-3.0.en.html - * You should have received a copy of said license along with the - * source code, too. - * - * If this is not the case or you just want to try ILIAS, you'll find - * us at: - * https://www.ilias.de - * https://github.com/ILIAS-eLearning - */ - -/** - * This file is part of ILIAS, a powerful learning management system - * published by ILIAS open source e-Learning e.V. - * - * ILIAS is licensed with the GPL-3.0, - * see https://www.gnu.org/licenses/gpl-3.0.en.html - * You should have received a copy of said license along with the - * source code, too. - * - * If this is not the case or you just want to try ILIAS, you'll find - * us at: - * https://www.ilias.de - * https://github.com/ILIAS-eLearning - * - *********************************************************************/ - -{FORM} \ No newline at end of file From a3443b35a5e87be62304b6891fb0e2a427950e41 Mon Sep 17 00:00:00 2001 From: Alexander Killing Date: Tue, 3 Feb 2026 17:57:04 +0100 Subject: [PATCH 520/865] 47079: Failed Test T88503 Creating a Private Note - 'Origin' link to File Objects doesn't work --- components/ILIAS/Notes/Note/class.ilNoteGUI.php | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/components/ILIAS/Notes/Note/class.ilNoteGUI.php b/components/ILIAS/Notes/Note/class.ilNoteGUI.php index 98801fe0b51f..4b34c1257a04 100755 --- a/components/ILIAS/Notes/Note/class.ilNoteGUI.php +++ b/components/ILIAS/Notes/Note/class.ilNoteGUI.php @@ -19,12 +19,14 @@ use ILIAS\Notes\NotesManager; use ILIAS\Notes\StandardGUIRequest; use ILIAS\Notes\Note; +use ILIAS\Data\ReferenceId; /** * @ilCtrl_Calls ilNoteGUI: ilCommentGUI */ class ilNoteGUI { + protected \ILIAS\Notes\InternalDomainService $domain; /** * @var Note[] */ @@ -125,6 +127,7 @@ public function __construct( ->gui() ->standardRequest(); $this->data = $ns->data(); + $this->domain = $ns->domain(); $this->gui = $ns->gui(); $this->notes_access = $ns->domain()->noteAccess(); @@ -282,11 +285,6 @@ public function getNotesHTML(): string public function getListHTML(bool $a_init_form = true): string { - $ilUser = $this->user; - $lng = $this->lng; - $ilCtrl = $this->ctrl; - $ilSetting = $this->settings; - $content = $this->getNoteListHTML($a_init_form); return $this->renderContent($content); } @@ -918,7 +916,11 @@ public function getTarget( } $this->item_list_gui[$type]->initItem($vis_ref_id, $context->getObjId(), $title, $a_obj_type); $link = $this->item_list_gui[$type]->getCommandLink("infoScreen"); - $link = $this->item_list_gui[$type]->appendRepositoryFrameParameter($link) . "#note_" . $a_note_id; + if ($link === "") { + $link = (string) $this->domain->staticUrl()->builder()->build($type, new ReferenceId($vis_ref_id)); + } else { + $link = $this->item_list_gui[$type]->appendRepositoryFrameParameter($link) . "#note_" . $a_note_id; + } } else { $title = ilObject::_lookupTitle($context->getObjId()); $link = "goto.php?target=pg_" . $a_obj_id . "_" . $vis_ref_id; From 46d7c711ce04c61e7ad8d905cc0508a4c7c7f57d Mon Sep 17 00:00:00 2001 From: Alexander Killing Date: Wed, 4 Feb 2026 09:25:35 +0100 Subject: [PATCH 521/865] 45371: Glossar nicht anlegbar --- components/ILIAS/Glossary/classes/class.ilObjGlossaryGUI.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/components/ILIAS/Glossary/classes/class.ilObjGlossaryGUI.php b/components/ILIAS/Glossary/classes/class.ilObjGlossaryGUI.php index 3f3c6000a75e..aefcf96d2e31 100755 --- a/components/ILIAS/Glossary/classes/class.ilObjGlossaryGUI.php +++ b/components/ILIAS/Glossary/classes/class.ilObjGlossaryGUI.php @@ -323,7 +323,7 @@ public function executeCommand(): void break; default: - if (!$this->rbacsystem->checkAccess('write', $this->object->getRefId()) && + if (!$this->getCreationMode() && !$this->rbacsystem->checkAccess('write', $this->object->getRefId()) && !$this->rbacsystem->checkAccess('edit_content', $this->object->getRefId())) { throw new ilGlossaryException("No permission."); } From 061057299d51634546caca81b3fe6e384d0ed5a7 Mon Sep 17 00:00:00 2001 From: mjansen Date: Wed, 4 Feb 2026 10:13:14 +0100 Subject: [PATCH 522/865] Chat: Fix permission checks See: https://mantis.ilias.de/view.php?id=47120 --- .../classes/admingui/class.ilChatroomAdminViewGUI.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/components/ILIAS/Chatroom/classes/admingui/class.ilChatroomAdminViewGUI.php b/components/ILIAS/Chatroom/classes/admingui/class.ilChatroomAdminViewGUI.php index 8d1a969f2cfa..382b21f855f5 100755 --- a/components/ILIAS/Chatroom/classes/admingui/class.ilChatroomAdminViewGUI.php +++ b/components/ILIAS/Chatroom/classes/admingui/class.ilChatroomAdminViewGUI.php @@ -150,7 +150,7 @@ public function saveClientSettings(): void public function deliverDocumentation(): never { - $this->redirectIfNoPermission(['visible','read']); + $this->redirectIfNoPermission(['read']); $this->file_delivery->delivery()->inline( ILIAS\Filesystem\Stream\Streams::ofResource( @@ -163,7 +163,7 @@ public function deliverDocumentation(): never public function clientsettings(?ilPropertyFormGUI $form = null): void { - $this->redirectIfNoPermission(['visible','read']); + $this->redirectIfNoPermission(['read']); $this->defaultActions(); $this->gui->switchToVisibleMode(); From 2009701778fb953756a2676c3d5e6da8edd46777 Mon Sep 17 00:00:00 2001 From: Alexander Killing Date: Wed, 4 Feb 2026 13:23:38 +0100 Subject: [PATCH 523/865] =?UTF-8?q?46841:=20Failed=20test:=20Verkn=C3=BCpf?= =?UTF-8?q?ungen=20zu=20einzelnen=20Begriffen=20aus=20anderen=20Glossaren?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ILIAS/Glossary/Table/class.TermListTable.php | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/components/ILIAS/Glossary/Table/class.TermListTable.php b/components/ILIAS/Glossary/Table/class.TermListTable.php index e987b9ccc704..e89489f13551 100644 --- a/components/ILIAS/Glossary/Table/class.TermListTable.php +++ b/components/ILIAS/Glossary/Table/class.TermListTable.php @@ -367,11 +367,12 @@ public function getRows( $data_row = $row_builder->buildDataRow((string) $row_id, $record); if (!($this->term_perm->checkPermission("write", $row_id) || $this->term_perm->checkPermission("edit_content", $row_id))) { - if (!(\ilGlossaryTerm::_lookGlossaryID($row_id) == $this->glossary->getId() - || \ilGlossaryTermReferences::isReferenced([$this->glossary->getId()], $row_id))) { - $data_row = $data_row->withDisabledAction("edit_definition"); - $data_row = $data_row->withDisabledAction("edit_term"); - } + // outcommented, see #0046841 + // if (!(\ilGlossaryTerm::_lookGlossaryID($row_id) == $this->glossary->getId() + // || \ilGlossaryTermReferences::isReferenced([$this->glossary->getId()], $row_id))) { + $data_row = $data_row->withDisabledAction("edit_definition"); + $data_row = $data_row->withDisabledAction("edit_term"); + // } } yield $data_row; } From 82da86bb8189811ca3bde1985fdf85a7348b4c9f Mon Sep 17 00:00:00 2001 From: Christoph Ludolf Date: Wed, 4 Feb 2026 13:51:09 +0100 Subject: [PATCH 524/865] Skill: require only read permission to access skill management gui --- components/ILIAS/Skill/Access/class.SkillManagementAccess.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/components/ILIAS/Skill/Access/class.SkillManagementAccess.php b/components/ILIAS/Skill/Access/class.SkillManagementAccess.php index 61cc684ca055..4f232fb5acc2 100755 --- a/components/ILIAS/Skill/Access/class.SkillManagementAccess.php +++ b/components/ILIAS/Skill/Access/class.SkillManagementAccess.php @@ -42,7 +42,7 @@ public function hasReadManagementPermission(int $a_usr_id = 0): bool if ($a_usr_id == 0) { $a_usr_id = $this->usr_id; } - return $this->access->checkAccessOfUser($a_usr_id, "visible,read", $this->skmg_ref_id); + return $this->access->checkAccessOfUser($a_usr_id, "read", $this->skmg_ref_id); } public function hasEditManagementSettingsPermission(int $a_usr_id = 0): bool From 1905fe140c8f84f274f279fd4bbb492fa19aed03 Mon Sep 17 00:00:00 2001 From: Alexander Killing Date: Wed, 4 Feb 2026 15:01:11 +0100 Subject: [PATCH 525/865] 46876: Text formatted as list is changed to continuous text when inserting in another paragraph --- .../Editor/js/src/components/paragraph/ui/html-transform.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/components/ILIAS/COPage/Editor/js/src/components/paragraph/ui/html-transform.js b/components/ILIAS/COPage/Editor/js/src/components/paragraph/ui/html-transform.js index 4d26d3cf1c30..712b5853967f 100755 --- a/components/ILIAS/COPage/Editor/js/src/components/paragraph/ui/html-transform.js +++ b/components/ILIAS/COPage/Editor/js/src/components/paragraph/ui/html-transform.js @@ -66,7 +66,7 @@ export default class HTMLTransform { // Entfernt alle Tags außer

tempDiv.querySelectorAll('*').forEach((node) => { - if (node.tagName.toLowerCase() !== 'p') { + if (!['p', 'li', 'ol', 'ul'].includes(node.tagName.toLowerCase())) { // see #0046876 node.replaceWith(...node.childNodes); // Ersetzt das Element mit seinem Inhalt } }); From 778ad53f0e01baeabab6ae812786ab46e5447bf8 Mon Sep 17 00:00:00 2001 From: Alexander Killing Date: Wed, 4 Feb 2026 17:49:04 +0100 Subject: [PATCH 526/865] 45842: Repository: feature has errors --- .../Deletion/PermissionStandardAdapter.php | 19 ++++++++++--------- .../ILIAS/Repository/Deletion/TreeDBRepo.php | 2 +- .../Repository/Deletion/TreeInterface.php | 2 ++ .../Deletion/TreeStandardAdapter.php | 10 +++++++++- 4 files changed, 22 insertions(+), 11 deletions(-) diff --git a/components/ILIAS/Repository/Deletion/PermissionStandardAdapter.php b/components/ILIAS/Repository/Deletion/PermissionStandardAdapter.php index 48ca541020e7..5b5da3f1e137 100644 --- a/components/ILIAS/Repository/Deletion/PermissionStandardAdapter.php +++ b/components/ILIAS/Repository/Deletion/PermissionStandardAdapter.php @@ -41,16 +41,17 @@ public function getRefIdsWithoutDeletePermission(array $ids): array if (!$this->access->checkAccess('delete', "", $id)) { $not_deletable[] = (int) $id; } + if ($this->tree->isInTree($id)) { + $node_data = $this->tree->getNodeData($id); + $subtree_nodes = $this->tree->getSubTree($node_data); - $node_data = $this->tree->getNodeData($id); - $subtree_nodes = $this->tree->getSubTree($node_data); - - foreach ($subtree_nodes as $node) { - if ($node['type'] === 'rolf') { - continue; - } - if (!$this->access->checkAccess('delete', "", $node["child"])) { - $not_deletable[] = (int) $node["child"]; + foreach ($subtree_nodes as $node) { + if ($node['type'] === 'rolf') { + continue; + } + if (!$this->access->checkAccess('delete', "", $node["child"])) { + $not_deletable[] = (int) $node["child"]; + } } } } diff --git a/components/ILIAS/Repository/Deletion/TreeDBRepo.php b/components/ILIAS/Repository/Deletion/TreeDBRepo.php index c92457930cbc..1b5781afa371 100644 --- a/components/ILIAS/Repository/Deletion/TreeDBRepo.php +++ b/components/ILIAS/Repository/Deletion/TreeDBRepo.php @@ -42,7 +42,7 @@ public function getTrashedSubtrees(int $ref_id): array $tree_ids = []; while ($row = $db->fetchObject($r)) { - $tree_ids = (int) $row->tree; + $tree_ids[] = (int) $row->tree; } return $tree_ids; } diff --git a/components/ILIAS/Repository/Deletion/TreeInterface.php b/components/ILIAS/Repository/Deletion/TreeInterface.php index 1b11070339ad..6ccc5ef12375 100644 --- a/components/ILIAS/Repository/Deletion/TreeInterface.php +++ b/components/ILIAS/Repository/Deletion/TreeInterface.php @@ -46,4 +46,6 @@ public function moveToTrash(int $ref_id): bool; */ public function getTrashedSubtrees(int $ref_id): array; + public function isInTree(int $id): bool; + } diff --git a/components/ILIAS/Repository/Deletion/TreeStandardAdapter.php b/components/ILIAS/Repository/Deletion/TreeStandardAdapter.php index 5bcdc5c55988..2d8e1489e89b 100644 --- a/components/ILIAS/Repository/Deletion/TreeStandardAdapter.php +++ b/components/ILIAS/Repository/Deletion/TreeStandardAdapter.php @@ -42,6 +42,10 @@ public function getNodeData(int $id): array { return $this->tree->getNodeData($id); } + public function isInTree(int $id): bool + { + return $this->tree->isInTree($id); + } public function getSubTree(array $node): array { return $this->tree->getSubTree($node); @@ -68,7 +72,11 @@ public function getDeletedTreeNodeIds(array $ids): array public function getTree(int $tree_id): TreeInterface { - return new self(new \ilTree($tree_id), $this->user_id); + return new self( + $this->repo, + new \ilTree($tree_id), + $this->user_id + ); } public function getTrashTree(int $ref_id): TreeInterface From 1edf1d928a26da99d3a56d9f70a64ba1d397ea89 Mon Sep 17 00:00:00 2001 From: Alexander Killing Date: Wed, 4 Feb 2026 17:56:55 +0100 Subject: [PATCH 527/865] repo: fixed tree construction --- .../ILIAS/Repository/Deletion/TreeStandardAdapter.php | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/components/ILIAS/Repository/Deletion/TreeStandardAdapter.php b/components/ILIAS/Repository/Deletion/TreeStandardAdapter.php index 2d8e1489e89b..cc46f1204883 100644 --- a/components/ILIAS/Repository/Deletion/TreeStandardAdapter.php +++ b/components/ILIAS/Repository/Deletion/TreeStandardAdapter.php @@ -88,7 +88,11 @@ public function getTrashTree(int $ref_id): TreeInterface if ($tree_id >= 0) { throw new NotInTrashException('Trying to delete node from trash, but node is not in trash: ' . $ref_id); } - return new self(new \ilTree($tree_id), $this->user_id); + return new self( + $this->repo, + new \ilTree($tree_id), + $this->user_id + ); } throw new NotInTrashException('Trying to delete node from trash, but no valid tree id found for node id: ' . $ref_id); } From 50db0b6edaab93b0d1e70160af077b044867e0fd Mon Sep 17 00:00:00 2001 From: Alexander Killing Date: Wed, 4 Feb 2026 21:48:37 +0100 Subject: [PATCH 528/865] 46715: Interaktives Bild: Hervorhebungen/Hotspot-Konturen scheinen durch Overlay-Bilder hindurch --- components/ILIAS/COPage/xsl/page.xsl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/components/ILIAS/COPage/xsl/page.xsl b/components/ILIAS/COPage/xsl/page.xsl index 5737bd23a4c8..55332676a751 100755 --- a/components/ILIAS/COPage/xsl/page.xsl +++ b/components/ILIAS/COPage/xsl/page.xsl @@ -2953,7 +2953,7 @@ - + /overlays/ iim_ov__ From 45f4d04143da62c4701a5a6202284860aecf716a Mon Sep 17 00:00:00 2001 From: Alexander Killing Date: Wed, 4 Feb 2026 22:31:00 +0100 Subject: [PATCH 529/865] 47051: Error When Trying to Open Learning Module --- .../Presentation/class.ilLMNavigationStatus.php | 6 +++--- .../classes/class.ilLearningModuleNotification.php | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/components/ILIAS/LearningModule/Presentation/class.ilLMNavigationStatus.php b/components/ILIAS/LearningModule/Presentation/class.ilLMNavigationStatus.php index 368181fde544..def7acd44100 100755 --- a/components/ILIAS/LearningModule/Presentation/class.ilLMNavigationStatus.php +++ b/components/ILIAS/LearningModule/Presentation/class.ilLMNavigationStatus.php @@ -108,7 +108,7 @@ protected function determineStatus(): void $active = ilLMPage::_lookupActive( $obj_id, $this->lm->getType(), - $this->lm_set->get("time_scheduled_page_activation") + (bool) $this->lm_set->get("time_scheduled_page_activation") ); if (!$active && @@ -149,7 +149,7 @@ protected function determineStatus(): void $active = ilLMPage::_lookupActive( $page_id, $this->lm->getType(), - $this->lm_set->get("time_scheduled_page_activation") + (bool) $this->lm_set->get("time_scheduled_page_activation") ); if (!$active) { // look, whether activation data should be shown @@ -227,7 +227,7 @@ public function getSuccessorPageId(): int $active = ilLMPage::_lookupActive( $c_id, $this->lm->getType(), - $this->lm_set->get("time_scheduled_page_activation") + (bool) $this->lm_set->get("time_scheduled_page_activation") ); } if (is_array($succ_node) && $succ_node["obj_id"] > 0 && !$active) { diff --git a/components/ILIAS/LearningModule/classes/class.ilLearningModuleNotification.php b/components/ILIAS/LearningModule/classes/class.ilLearningModuleNotification.php index 0d1e8a9f43fb..ee135bcbeebd 100755 --- a/components/ILIAS/LearningModule/classes/class.ilLearningModuleNotification.php +++ b/components/ILIAS/LearningModule/classes/class.ilLearningModuleNotification.php @@ -132,7 +132,7 @@ protected function getPageTitle(): string $this->page_id, $this->learning_module->getPageHeader(), $this->learning_module->isActiveNumbering(), - $this->lm_set->get("time_scheduled_page_activation"), + (bool) $this->lm_set->get("time_scheduled_page_activation"), false, 0, $this->lng->getLangKey() From e5cf3e22460d054ad3f1dce55ffe1631e38fe876 Mon Sep 17 00:00:00 2001 From: Fabian Helfer Date: Thu, 5 Feb 2026 10:43:14 +0100 Subject: [PATCH 530/865] [Fix] 0047068 Auth: Argument for apache_auth_username_config_type does not match input type --- .../Authentication/classes/Form/ApacheAuthSettingsForm.php | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/components/ILIAS/Authentication/classes/Form/ApacheAuthSettingsForm.php b/components/ILIAS/Authentication/classes/Form/ApacheAuthSettingsForm.php index 3d9c338a9a23..1141783815dc 100644 --- a/components/ILIAS/Authentication/classes/Form/ApacheAuthSettingsForm.php +++ b/components/ILIAS/Authentication/classes/Form/ApacheAuthSettingsForm.php @@ -200,7 +200,12 @@ private function buildAuthUsernameConfigTypeInput(): SwitchableGroup '2' => $this->ui_field->group([], $this->lng->txt('apache_auth_username_extended_mapping'))->withDisabled(true), '3' => $this->ui_field->group([], $this->lng->txt('apache_auth_username_by_function')), ], $this->lng->txt('apache_auth_username_config_type')) - ->withValue($this->values['apache_auth_username_config_type'] ?? '1'); + ->withValue( + isset($this->values['apache_auth_username_config_type']) && + $this->values['apache_auth_username_config_type'] !== '' ? + $this->values['apache_auth_username_config_type'] : + '1' + ); } private function checkGroupEnabled(string $post_var): bool From 9d71f21e6b5c416e44f7a65b534fc9497bd5d43f Mon Sep 17 00:00:00 2001 From: Fabian Schmid Date: Thu, 5 Feb 2026 10:59:46 +0100 Subject: [PATCH 531/865] =?UTF-8?q?[FIX]=200046437:=20Failed=20test:=20Gru?= =?UTF-8?q?ppe=20l=C3=B6schen=20(2)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Footer/Entries/class.ilFooterEntriesGUI.php | 2 +- .../Footer/Groups/class.ilFooterGroupsGUI.php | 17 ++++++++++++----- lang/ilias_de.lang | 1 + lang/ilias_en.lang | 1 + 4 files changed, 15 insertions(+), 6 deletions(-) diff --git a/components/ILIAS/GlobalScreen/classes/UI/Footer/Entries/class.ilFooterEntriesGUI.php b/components/ILIAS/GlobalScreen/classes/UI/Footer/Entries/class.ilFooterEntriesGUI.php index 690d806b7410..2b3e5c53d6fc 100755 --- a/components/ILIAS/GlobalScreen/classes/UI/Footer/Entries/class.ilFooterEntriesGUI.php +++ b/components/ILIAS/GlobalScreen/classes/UI/Footer/Entries/class.ilFooterEntriesGUI.php @@ -381,7 +381,7 @@ private function delete(): void } if ($successful_deletions === 0) { - $this->pons->out()->error($this->translator->translate('error'), true); + $this->pons->out()->error($this->translator->translate('entry_deleted_failed'), true); $this->pons->flow()->redirect(self::CMD_DEFAULT); return; } diff --git a/components/ILIAS/GlobalScreen/classes/UI/Footer/Groups/class.ilFooterGroupsGUI.php b/components/ILIAS/GlobalScreen/classes/UI/Footer/Groups/class.ilFooterGroupsGUI.php index 05c09b37824c..1ac2eb4e2505 100755 --- a/components/ILIAS/GlobalScreen/classes/UI/Footer/Groups/class.ilFooterGroupsGUI.php +++ b/components/ILIAS/GlobalScreen/classes/UI/Footer/Groups/class.ilFooterGroupsGUI.php @@ -327,18 +327,25 @@ private function delete(): void ); } + $successful_deletions = 0; foreach ($from_request as $id) { - $group = $this->repository->get($id); - if ($group === null) { + $item = $this->repository->get($id); + if ($item === null) { continue; } - if ($group->isCore()) { + if ($item->isCore()) { continue; } - $this->repository->delete($group); + $this->repository->delete($item); + $successful_deletions++; } - $this->pons->out()->success($this->translator->translate('group_deleted')); + if ($successful_deletions === 0) { + $this->pons->out()->error($this->translator->translate('entry_deleted_failed'), true); + $this->pons->flow()->redirect(self::CMD_DEFAULT); + return; + } + $this->pons->out()->success($this->translator->translate('entry_deleted'), true); $this->pons->flow()->redirect(self::CMD_DEFAULT); } diff --git a/lang/ilias_de.lang b/lang/ilias_de.lang index 72d40d78739d..ea980d5d98fb 100644 --- a/lang/ilias_de.lang +++ b/lang/ilias_de.lang @@ -10696,6 +10696,7 @@ irss#:#directory_name#:#Verzeichnisname irss#:#directory_name_info#:#Name des Verzeichnisses, welches an der aktuellen Stelle eingefügt werden soll. irss#:#download_zip#:#Alle Dateien als ZIP herunterladen irss#:#entries_target_group#:#Ziel wählen +irss#:#entry_deleted_failed#:#Löschen nicht möglich irss#:#file_size#:#Dateigröße (Diese Revision) irss#:#file_size_bigger_than#:#Dateigröße > MB irss#:#full_size#:#Ressourcengröße (Alle Revisionen) diff --git a/lang/ilias_en.lang b/lang/ilias_en.lang index e808b71ada7b..cff3829964ca 100644 --- a/lang/ilias_en.lang +++ b/lang/ilias_en.lang @@ -10668,6 +10668,7 @@ irss#:#directory_name#:#Directory Name irss#:#directory_name_info#:#Name of the directory to be inserted at the current location. irss#:#download_zip#:#Download all files as ZIP irss#:#entries_target_group#:#Select target group +irss#:#entry_deleted_failed#:#Deletion not possible irss#:#file_size#:#File Size (This Revision) irss#:#file_size_bigger_than#:#File Size > MB irss#:#full_size#:#Resource Size (All Revisions) From 0dcd14cc98da740b84e94cbb59837ec231b21279 Mon Sep 17 00:00:00 2001 From: Fabian Helfer Date: Thu, 5 Feb 2026 10:59:46 +0100 Subject: [PATCH 532/865] [Improvement] Auth: RegistrationCode Tab Read Access Restriction Forms --- .../classes/class.ilRegistrationSettingsGUI.php | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/components/ILIAS/Registration/classes/class.ilRegistrationSettingsGUI.php b/components/ILIAS/Registration/classes/class.ilRegistrationSettingsGUI.php index cc95cb2b53ff..ae8e3b9112a6 100755 --- a/components/ILIAS/Registration/classes/class.ilRegistrationSettingsGUI.php +++ b/components/ILIAS/Registration/classes/class.ilRegistrationSettingsGUI.php @@ -255,6 +255,14 @@ public function initForm(): ilPropertyFormGUI if ($this->rbacsystem->checkAccess("write", $this->ref_id)) { $form_gui->addCommandButton('save', $this->lng->txt('save')); + } else { + foreach ($form_gui->getItems() as $item) { + if ($item instanceof ilFormSectionHeaderGUI) { + continue; + } + + $item->setDisabled(true); + } } return $form_gui; } @@ -294,7 +302,7 @@ public function initFormValues(ilPropertyFormGUI $formGUI): void public function view(): void { - $this->checkAccess('visible,read'); + $this->checkAccess('read'); $this->setSubTabs(); // edit new accout mail @@ -809,7 +817,7 @@ private function initRoleAccessLimitations(): void public function listCodes(): void { - $this->checkAccess('visible,read'); + $this->checkAccess('read'); $this->setSubTabs('registration_codes'); if ($this->checkAccessBool('write')) { $this->toolbar->addButton( From 9629c7f69ac847093bad0ce2a4cfa92f5399be69 Mon Sep 17 00:00:00 2001 From: Alexander Killing Date: Thu, 5 Feb 2026 12:08:31 +0100 Subject: [PATCH 533/865] copage: improve visibility of editing shapes;handle sizes --- .../js/editor/src/shape-edit/handle.js | 147 +++++++++--------- components/ILIAS/COPage/css/content_base.css | 5 +- 2 files changed, 76 insertions(+), 76 deletions(-) diff --git a/components/ILIAS/COPage/PC/InteractiveImage/js/editor/src/shape-edit/handle.js b/components/ILIAS/COPage/PC/InteractiveImage/js/editor/src/shape-edit/handle.js index 705fb2a90c37..1a3f454b3bb0 100755 --- a/components/ILIAS/COPage/PC/InteractiveImage/js/editor/src/shape-edit/handle.js +++ b/components/ILIAS/COPage/PC/InteractiveImage/js/editor/src/shape-edit/handle.js @@ -1,4 +1,3 @@ - /** * This file is part of ILIAS, a powerful learning management system * published by ILIAS open source e-Learning e.V. @@ -13,100 +12,98 @@ * https://www.ilias.de * https://github.com/ILIAS-eLearning * - *********************************************************************/ - + ******************************************************************** */ /** * Handle */ export default class Handle { - - /** + /** * @param int x * @param int y */ - constructor(x, y) { - this.x = x; - this.y = y; - this.onDrag = null; - } + constructor(x, y) { + this.x = x; + this.y = y; + this.onDrag = null; + } - /** + /** * @return int */ - getX() { - return this.x; - } + getX() { + return this.x; + } - /** + /** * @return int */ - getY() { - return this.y; - } + getY() { + return this.y; + } - addHandleToMobElement(mobEl, drag = true) { - const handleEl = document.createElement("a"); - handleEl.setAttribute('data-copg-iim-type', 'handle'); - handleEl.style.position = "absolute"; - handleEl.style.display = "block"; - handleEl.style.left = (this.getX() - 3) + "px"; - handleEl.style.top = (this.getY() - 3) + "px"; - handleEl.style.background = "white"; - handleEl.style.width = "5px"; - handleEl.style.height = "5px"; - handleEl.style.width = "5px"; - handleEl.style.border = "black solid 2px"; - if (drag) { - this.draggable(handleEl); - } - mobEl.appendChild(handleEl); + addHandleToMobElement(mobEl, drag = true) { + const handleEl = document.createElement('a'); + handleEl.setAttribute('data-copg-iim-type', 'handle'); + handleEl.style.position = 'absolute'; + handleEl.style.display = 'block'; + handleEl.style.left = `${this.getX() - 5}px`; + handleEl.style.top = `${this.getY() - 5}px`; + handleEl.style.background = 'white'; + handleEl.style.height = '10px'; + handleEl.style.width = '10px'; + handleEl.style.border = 'black solid 2px'; + if (drag) { + this.draggable(handleEl); } + mobEl.appendChild(handleEl); + } - setOnDrag(f) { - this.onDrag = f; - } + setOnDrag(f) { + this.onDrag = f; + } - draggable(elmnt) { - var pos1 = 0, pos2 = 0, pos3 = 0, pos4 = 0; - const t = this; - elmnt.onmousedown = dragMouseDown; + draggable(elmnt) { + let pos1 = 0; let pos2 = 0; let pos3 = 0; let + pos4 = 0; + const t = this; + elmnt.onmousedown = dragMouseDown; - function dragMouseDown(e) { - e = e || window.event; - e.preventDefault(); - // get the mouse cursor position at startup: - pos3 = e.clientX; - pos4 = e.clientY; - document.onmouseup = closeDragElement; - // call a function whenever the cursor moves: - document.onmousemove = elementDrag; - } + function dragMouseDown(e) { + e = e || window.event; + e.preventDefault(); + // get the mouse cursor position at startup: + pos3 = e.clientX; + pos4 = e.clientY; + document.onmouseup = closeDragElement; + // call a function whenever the cursor moves: + document.onmousemove = elementDrag; + } - function elementDrag(e) { - e = e || window.event; - e.preventDefault(); - // calculate the new cursor position: - pos1 = pos3 - e.clientX; - pos2 = pos4 - e.clientY; - pos3 = e.clientX; - pos4 = e.clientY; - // set the element's new position: - elmnt.style.top = (elmnt.offsetTop - pos2) + "px"; - elmnt.style.left = (elmnt.offsetLeft - pos1) + "px"; - t.x = (elmnt.offsetLeft - pos1) + 3; - t.y = (elmnt.offsetTop - pos2) + 3; - if (t.onDrag) { - const f = t.onDrag; - console.log("call on drag"); - f(); - } - } + function elementDrag(e) { + e = e || window.event; + e.preventDefault(); + // calculate the new cursor position: + pos1 = pos3 - e.clientX; + pos2 = pos4 - e.clientY; + pos3 = e.clientX; + pos4 = e.clientY; + // set the element's new position: + elmnt.style.top = `${elmnt.offsetTop - pos2}px`; + elmnt.style.left = `${elmnt.offsetLeft - pos1}px`; + t.x = (elmnt.offsetLeft - pos1) + 3; + t.y = (elmnt.offsetTop - pos2) + 3; + if (t.onDrag) { + const f = t.onDrag; + console.log('call on drag'); + f(); + } + } - function closeDragElement() { - // stop moving when mouse button is released: - document.onmouseup = null; - document.onmousemove = null; - } + function closeDragElement() { + // stop moving when mouse button is released: + document.onmouseup = null; + document.onmousemove = null; } + } } diff --git a/components/ILIAS/COPage/css/content_base.css b/components/ILIAS/COPage/css/content_base.css index 106f0947b76e..ff6ee8cebe7d 100755 --- a/components/ILIAS/COPage/css/content_base.css +++ b/components/ILIAS/COPage/css/content_base.css @@ -99,7 +99,9 @@ div.ilc_VerificationPlaceHolder /* no custom image yet */ } .copg-iim-area-shape-sel.copg-iim-hl-mode-Edit { - stroke: #B54F00; + stroke: #FFF; + stroke-dasharray: 4 2; + filter: drop-shadow(0 0 1px #000) drop-shadow(0 0 1px #000); } .copg-iim-area-shape-sel.copg-iim-hl-mode-Always, .copg-iim-area-shape-sel.copg-iim-hl-mode-Hover:hover { @@ -121,6 +123,7 @@ div.ilc_VerificationPlaceHolder /* no custom image yet */ stroke: #0078D7; fill-opacity: 40%; fill: white; + filter: none; } .copg-iim-popup { From f7cd6c3fae3f1df003af2ecfb94707a8e4572cbb Mon Sep 17 00:00:00 2001 From: Stefan Meyer Date: Thu, 5 Feb 2026 12:27:43 +0100 Subject: [PATCH 534/865] Merge pull request #10894 from mjansenDatabay/hotfix/10/46748 Search/LegacyAutocomplete: Fix non-working "Autocomplete" in "Metabar" --- .../autocomplete/dist/legacyAutocomplete.js | 2 +- .../autocomplete/src/autocompleteHandler.js | 82 +++++++++++++------ .../classes/class.ilMainMenuSearchGUI.php | 6 +- .../ILIAS/Search/resources/SearchMainMenu.js | 67 ++++++++------- .../default/tpl.main_menu_search.html | 4 +- 5 files changed, 101 insertions(+), 60 deletions(-) diff --git a/components/ILIAS/Form/resources/autocomplete/dist/legacyAutocomplete.js b/components/ILIAS/Form/resources/autocomplete/dist/legacyAutocomplete.js index 800d1eecc811..4d334f33cfb8 100644 --- a/components/ILIAS/Form/resources/autocomplete/dist/legacyAutocomplete.js +++ b/components/ILIAS/Form/resources/autocomplete/dist/legacyAutocomplete.js @@ -12,4 +12,4 @@ * https://www.ilias.de * https://github.com/ILIAS-eLearning */ -!function(e){"use strict";const t="more",n=500;let o,i;function r(e,t,n){const o=document.createElement("li");return o.tabIndex=0,o.textContent=e,o.dataset.value=t,void 0!==n&&(o.dataset.id=n),o}function a(e){"UL"===e.nextElementSibling?.nodeName&&e.nextElementSibling.remove()}function l(){"number"==typeof i&&(window.clearTimeout(i),i=void 0)}async function u(e,n,i){try{const{signal:l}=o,u=await fetch(e,{signal:l});if(!u.ok)throw new Error(`Response status: ${u.status}`);const s=await u.json(),m=function(e){if(void 0===e.items)return e;const t=[];return Object.entries(e.items).forEach((([e,n])=>{t[e]=n})),t}(s);if(0===m.length)return void a(n);const g=document.createElement("ul");if(g.style.left=`${n.offsetLeft}px`,g.style.minWidth=`${n.offsetWidth}px`,g.classList.add("c-form__autocomplete"),m.forEach((e=>{n.value!==e.value&&n.value.includes(e.value)||g.appendChild(r(e.label,e.value,e.id))})),s.hasMoreResults&&g.appendChild(r(i.moreText,t)),0===g.children.length)return;g.addEventListener("keydown",(e=>{d(e,i)})),g.addEventListener("click",(e=>{c(e,i)}));const p=document.activeElement.dataset.value;a(n),n.parentNode.insertBefore(g,n.nextElementSibling),void 0!==p&&n.parentNode.querySelector(`[data-value="${p}"]`).focus()}catch(e){}}function d(e,t){"Enter"===e.key&&"LI"===e.target.nodeName&&(e.preventDefault(),c(e,t)),"ArrowDown"===e.key&&(e.stopImmediatePropagation(),e.preventDefault(),"UL"===e.target.nextElementSibling?.nodeName&&e.target.nextElementSibling.firstElementChild.focus(),"LI"===e.target.nodeName&&null!==e.target.nextElementSibling&&e.target.nextElementSibling.focus()),"ArrowUp"===e.key&&"LI"===e.target.nodeName&&(e.stopImmediatePropagation(),e.preventDefault(),null===e.target.previousElementSibling?e.target.parentElement.previousElementSibling.focus():e.target.previousElementSibling.focus())}function s(e,t){return null===t?e.trim():e.split(t).at(-1).trim()}function c(e,n){o.abort(),o=new AbortController;let{value:i}=e.target.dataset;if(i!==t){if(null!==n.delimiter){const t=e.target.parentNode.previousElementSibling.value.split(n.delimiter);let o="";t.length>1&&(o=`${t.slice(0,-1).join(`${n.delimiter} `)}${n.delimiter} `),i=`${o}${i}${n.delimiter} `}e.target.parentNode.previousElementSibling.value=i,e.target.parentNode.previousElementSibling.focus(),e.target.parentNode.remove(),n.submitOnSelection&&"id"in e.target.dataset&&(window.location.href=`${n.submitUrl}&selected_id=${encodeURIComponent(e.target.dataset.id)}`)}else{const t=s(e.target.parentNode.previousElementSibling.value,n.delimiter);u(`${n.dataSource}&term=${encodeURIComponent(t)}&fetchall=1`,e.target.parentNode.previousElementSibling,n)}}function m(e,t){o=new AbortController,function(e){const t=document.createAttribute("role");t.value="status",e.setAttributeNode(t);const n=document.createAttribute("aria-relevant");n.value="additions",e.setAttributeNode(n)}(e.parentElement),e.addEventListener("keydown",(e=>{d(e,t)})),e.addEventListener("keyup",(e=>{!function(e,t){if(void 0===e.key||"Tab"===e.key||"ArrowDown"===e.key||"ArrowUp"===e.key)return;if(e.target.value.length{u(`${t.dataSource}&term=${encodeURIComponent(o)}`,e.target,t)}),n)}(e,t)}))}e.LegacyForm=e.LegacyForm||{},e.LegacyForm.autocomplete=e.LegacyForm.autocomplete||{},e.LegacyForm.autocomplete.init=(e,t)=>m(e,t)}(il); +!function(e){"use strict";const t="more",n=500,o="c-form__autocomplete";let r,a;function i(e,t,n){const o=document.createElement("li");return o.tabIndex=0,o.textContent=e,o.dataset.value=t,void 0!==n&&(o.dataset.id=n),o}function l(e,t){t.appendTo?document.querySelector(t.appendTo)?.querySelector(`.${o}`)?.remove():e.parentNode.querySelector(`.${o}`)?.remove()}function u(){"number"==typeof a&&(window.clearTimeout(a),a=void 0)}async function d(e,n,a){try{const{signal:u}=r,d=await fetch(e,{signal:u});if(!d.ok)throw new Error(`Response status: ${d.status}`);const s=await d.json(),p=function(e){if(void 0===e.items)return e;const t=[];return Object.entries(e.items).forEach((([e,n])=>{t[e]=n})),t}(s);if(0===p.length)return void l(n,a);const f=document.createElement("ul");if("string"!=typeof a.appendTo&&(f.style.left=`${n.offsetLeft}px`),f.style.minWidth=`${n.offsetWidth}px`,f.classList.add(o),p.forEach((e=>{n.value!==e.value&&n.value.includes(e.value)||f.appendChild(i(e.label||e.value,e.value,e.id))})),s.hasMoreResults&&f.appendChild(i(a.moreText,t)),0===f.children.length)return;f.addEventListener("keydown",(e=>{c(n,e,a)})),f.addEventListener("click",(e=>{m(n,e,a)}));const v=document.activeElement.dataset.value;l(n,a),a.appendTo?(document.querySelector(a.appendTo).appendChild(f),void 0!==v&&document.querySelector(a.appendTo).querySelector(`[data-value="${v}"]`).focus()):(n.parentNode.insertBefore(f,n.nextElementSibling),void 0!==v&&n.parentNode.querySelector(`[data-value="${v}"]`).focus()),a.open&&a.open(f)}catch(e){}}function c(e,t,n){"Enter"===t.key&&"LI"===t.target.nodeName&&(t.preventDefault(),m(e,t,n)),"ArrowDown"===t.key&&(t.stopImmediatePropagation(),t.preventDefault(),t.target===e&&(n.appendTo?document.querySelector(n.appendTo).querySelector(`.${o}`).firstElementChild.focus():t.target.parentNode.querySelector(`.${o}`)?.firstElementChild?.focus()),"LI"===t.target.nodeName&&null!==t.target.nextElementSibling&&t.target.nextElementSibling.focus()),"ArrowUp"===t.key&&"LI"===t.target.nodeName&&(t.stopImmediatePropagation(),t.preventDefault(),null===t.target.previousElementSibling?e.focus():t.target.previousElementSibling.focus())}function s(e,t){return null===t?e.trim():e.split(t).at(-1).trim()}function m(e,n,o){r.abort(),r=new AbortController;let{value:a}=n.target.dataset;if(a!==t){if(null!==o.delimiter){const t=e.value.split(o.delimiter);let n="";t.length>1&&(n=`${t.slice(0,-1).join(`${o.delimiter} `)}${o.delimiter} `),a=`${n}${a}${o.delimiter} `}e.value=a,e.focus(),n.target.parentNode.remove(),o.submitOnSelection&&"id"in n.target.dataset&&(window.location.href=`${o.submitUrl}&selected_id=${encodeURIComponent(n.target.dataset.id)}`)}else{const t=s(e.value,o.delimiter);d(`${o.dataSource}&term=${encodeURIComponent(t)}&fetchall=1`,e,o)}}function p(e,t){r=new AbortController,function(e){const t=document.createAttribute("role");t.value="status",e.setAttributeNode(t);const n=document.createAttribute("aria-relevant");n.value="additions",e.setAttributeNode(n)}(e.parentElement),e.addEventListener("keydown",(n=>{c(e,n,t)})),e.addEventListener("keyup",(e=>{!function(e,t){if(void 0===e.key||"Tab"===e.key||"ArrowDown"===e.key||"ArrowUp"===e.key)return;if(e.target.value.length{d(`${t.dataSource}&term=${encodeURIComponent(o)}`,e.target,t)}),n)}(e,t)}))}e.LegacyForm=e.LegacyForm||{},e.LegacyForm.autocomplete=e.LegacyForm.autocomplete||{},e.LegacyForm.autocomplete.init=(e,t)=>p(e,t)}(il); diff --git a/components/ILIAS/Form/resources/autocomplete/src/autocompleteHandler.js b/components/ILIAS/Form/resources/autocomplete/src/autocompleteHandler.js index 142eb0498e00..bb3f6d079344 100644 --- a/components/ILIAS/Form/resources/autocomplete/src/autocompleteHandler.js +++ b/components/ILIAS/Form/resources/autocomplete/src/autocompleteHandler.js @@ -15,6 +15,7 @@ const moreValue = 'more'; const triggerTimeout = 500; +const listCssClass = 'c-form__autocomplete'; /** * @@ -79,11 +80,14 @@ function buildListElement(label, value, id) { /** * @param {HTMLElement} inputField + * @param {Object} config * @returns {void} */ -function removeList(inputField) { - if (inputField.nextElementSibling?.nodeName === 'UL') { - inputField.nextElementSibling.remove(); +function removeList(inputField, config) { + if (config.appendTo) { + document.querySelector(config.appendTo)?.querySelector(`.${listCssClass}`)?.remove(); + } else { + inputField.parentNode.querySelector(`.${listCssClass}`)?.remove(); } } @@ -113,19 +117,21 @@ async function fetchListItemsAndBuildSelector(fullUrl, inputField, config) { const items = buildItems(responseJson); if (items.length === 0) { - removeList(inputField); + removeList(inputField, config); return; } const list = document.createElement('ul'); - list.style.left = `${inputField.offsetLeft}px`; + if (typeof config.appendTo !== 'string') { + list.style.left = `${inputField.offsetLeft}px`; + } list.style.minWidth = `${inputField.offsetWidth}px`; - list.classList.add('c-form__autocomplete'); + list.classList.add(listCssClass); items.forEach((elem) => { if (inputField.value !== elem.value && inputField.value.includes(elem.value)) { return; } - list.appendChild(buildListElement(elem.label, elem.value, elem.id)); + list.appendChild(buildListElement(elem.label || elem.value, elem.value, elem.id)); }); if (responseJson.hasMoreResults) { list.appendChild(buildListElement(config.moreText, moreValue)); @@ -133,35 +139,54 @@ async function fetchListItemsAndBuildSelector(fullUrl, inputField, config) { if (list.children.length === 0) { return; } - list.addEventListener('keydown', (e) => { keyHandler(e, config); }); - list.addEventListener('click', (e) => { onSelectHandler(e, config); }); + list.addEventListener('keydown', (e) => { keyHandler(inputField, e, config); }); + list.addEventListener('click', (e) => { onSelectHandler(inputField, e, config); }); const activeElementValue = document.activeElement.dataset.value; - removeList(inputField); - inputField.parentNode.insertBefore(list, inputField.nextElementSibling); - if (typeof activeElementValue !== 'undefined') { - inputField.parentNode.querySelector(`[data-value="${activeElementValue}"]`).focus(); + removeList(inputField, config); + if (config.appendTo) { + document.querySelector(config.appendTo).appendChild(list); + if (typeof activeElementValue !== 'undefined') { + document.querySelector(config.appendTo) + .querySelector(`[data-value="${activeElementValue}"]`) + .focus(); + } + } else { + inputField.parentNode.insertBefore(list, inputField.nextElementSibling); + if (typeof activeElementValue !== 'undefined') { + inputField.parentNode.querySelector(`[data-value="${activeElementValue}"]`).focus(); + } + } + if (config.open) { + config.open(list); } } catch (e) { - // nothing to do } } /** + * @param {HTMLInputElement} inputField * @param {Event} e * @param {Object} config * @returns {void} */ -function keyHandler(e, config) { +function keyHandler(inputField, e, config) { if (e.key === 'Enter' && e.target.nodeName === 'LI') { e.preventDefault(); - onSelectHandler(e, config); + onSelectHandler(inputField, e, config); } if (e.key === 'ArrowDown') { e.stopImmediatePropagation(); e.preventDefault(); - if (e.target.nextElementSibling?.nodeName === 'UL') { - e.target.nextElementSibling.firstElementChild.focus(); + if (e.target === inputField) { + if (config.appendTo) { + document.querySelector(config.appendTo) + .querySelector(`.${listCssClass}`) + .firstElementChild + .focus(); + } else { + e.target.parentNode.querySelector(`.${listCssClass}`)?.firstElementChild?.focus(); + } } if (e.target.nodeName === 'LI' && e.target.nextElementSibling !== null) { @@ -172,8 +197,9 @@ function keyHandler(e, config) { if (e.key === 'ArrowUp' && e.target.nodeName === 'LI') { e.stopImmediatePropagation(); e.preventDefault(); + if (e.target.previousElementSibling === null) { - e.target.parentElement.previousElementSibling.focus(); + inputField.focus(); } else { e.target.previousElementSibling.focus(); } @@ -193,7 +219,7 @@ function onChangeHandler(e, config) { if (e.target.value.length < config.autocompleteLength) { clearTimeout(); - removeList(e.target); + removeList(e.target, config); return; } @@ -227,28 +253,30 @@ function getTermFromSelectedValue(value, delimiter) { } /** + * @param {HTMLInputElement} inputField * @param {Event} e * @param {Object} config * @returns {void} */ -function onSelectHandler(e, config) { +function onSelectHandler(inputField, e, config) { controller.abort(); controller = new AbortController(); let { value } = e.target.dataset; if (value === moreValue) { const term = getTermFromSelectedValue( - e.target.parentNode.previousElementSibling.value, + inputField.value, config.delimiter, ); fetchListItemsAndBuildSelector( `${config.dataSource}&term=${encodeURIComponent(term)}&fetchall=1`, - e.target.parentNode.previousElementSibling, + inputField, config, ); return; } + if (config.delimiter !== null) { - const currentValueArray = e.target.parentNode.previousElementSibling.value + const currentValueArray = inputField.value .split(config.delimiter); let currentValue = ''; if (currentValueArray.length > 1) { @@ -256,8 +284,8 @@ function onSelectHandler(e, config) { } value = `${currentValue}${value}${config.delimiter} `; } - e.target.parentNode.previousElementSibling.value = value; - e.target.parentNode.previousElementSibling.focus(); + inputField.value = value; + inputField.focus(); e.target.parentNode.remove(); if (config.submitOnSelection && 'id' in e.target.dataset) { @@ -268,6 +296,6 @@ function onSelectHandler(e, config) { export default function autocompleteHandler(autocompleteInput, config) { controller = new AbortController(); setAccessibilityAttributesToContainer(autocompleteInput.parentElement); - autocompleteInput.addEventListener('keydown', (e) => { keyHandler(e, config); }); + autocompleteInput.addEventListener('keydown', (e) => { keyHandler(autocompleteInput, e, config); }); autocompleteInput.addEventListener('keyup', (e) => { onChangeHandler(e, config); }); } diff --git a/components/ILIAS/Search/classes/class.ilMainMenuSearchGUI.php b/components/ILIAS/Search/classes/class.ilMainMenuSearchGUI.php index 43c21d71e6f4..a662b2379afb 100755 --- a/components/ILIAS/Search/classes/class.ilMainMenuSearchGUI.php +++ b/components/ILIAS/Search/classes/class.ilMainMenuSearchGUI.php @@ -36,6 +36,7 @@ class ilMainMenuSearchGUI protected ilTree $tree; protected ilCtrl $ctrl; protected ilObjUser $user; + protected ilGlobalTemplateInterface $global_template; private GlobalHttpState $http; private Factory $refinery; @@ -56,7 +57,7 @@ public function __construct() $this->http = $DIC->http(); $this->refinery = $DIC->refinery(); - $DIC->ui()->mainTemplate()->addJavascript('assets/js/SearchMainMenu.js'); + $this->global_template = $DIC->ui()->mainTemplate(); $this->initRefIdFromQuery(); } @@ -76,6 +77,9 @@ public function getHTML(): string { iljQueryUtil::initjQuery(); + $this->global_template->addJavaScript('assets/js/legacyAutocomplete.js', true, 3); + $this->global_template->addJavascript('assets/js/SearchMainMenu.js'); + $this->tpl = new ilTemplate('tpl.main_menu_search.html', true, true, 'components/ILIAS/Search'); if ($this->user->getId() != ANONYMOUS_USER_ID) { $this->tpl->setVariable('LABEL_SEARCH_OPTIONS', $this->lng->txt("label_search_options")); diff --git a/components/ILIAS/Search/resources/SearchMainMenu.js b/components/ILIAS/Search/resources/SearchMainMenu.js index c9b893ab0f30..258538b1ad04 100755 --- a/components/ILIAS/Search/resources/SearchMainMenu.js +++ b/components/ILIAS/Search/resources/SearchMainMenu.js @@ -1,3 +1,18 @@ +/** + * This file is part of ILIAS, a powerful learning management system + * published by ILIAS open source e-Learning e.V. + * + * ILIAS is licensed with the GPL-3.0, + * see https://www.gnu.org/licenses/gpl-3.0.en.html + * You should have received a copy of said license along with the + * source code, too. + * + * If this is not the case or you just want to try ILIAS, you'll find + * us at: + * https://www.ilias.de + * https://github.com/ILIAS-eLearning + */ + /* eslint-env jquery */ il.SearchMainMenu = { acDatasource: 'ilias.php?baseClass=ilSearchControllerGUI&cmd=autoComplete', @@ -5,7 +20,7 @@ il.SearchMainMenu = { init() { // we must bind the blur event before the autocomplete item is added this.suppressBlur(); - this.initAutocomplete(); + this.initAutocomplete(`${this.acDatasource}&search_type=4`); this.initChange(); }, @@ -16,46 +31,40 @@ il.SearchMainMenu = { ); }, - initAutocomplete() { - $('#main_menu_search').autocomplete({ - source: `${this.acDatasource}&search_type=4`, - appendTo: '#mm_search_menu_ac', - open() { - $('.ui-autocomplete').position({ - my: 'left top', - at: 'left top', - of: $('#mm_search_menu_ac'), - }); - }, - minLength: 3, + /** + * @param {string} dataSource + */ + initAutocomplete(dataSource) { + const autocomplete = document.querySelector('#main_menu_search'); + const target = document.getElementById('mm_search_menu_ac'); + + il.LegacyForm.autocomplete.init(autocomplete, { + delimiter: null, + dataSource, + submitOnSelection: false, + autocompleteLength: 3, + submitUrl: null, + moreText: null, + appendTo: `#${target.id}`, }); }, initChange() { $("#ilMMSearchMenu input[type='radio']").change(() => { - /* close current search */ - $('#main_menu_search').autocomplete('close'); - $('#main_menu_search').autocomplete('enable'); - - /* append search type */ - const checkedInput = $('input[name=root_id]:checked', '#mm_search_form'); - const typeVal = checkedInput.val(); + /* disabled autocomplete */ + const originalInput = document.querySelector('#main_menu_search'); + const autocomplete = originalInput.cloneNode(true); // clone attributes, value, etc. + originalInput.replaceWith(autocomplete); // replace the original inpu /* disable autocomplete for search at current position */ + const checkedInput = $('input[name=root_id]:checked', '#mm_search_form'); if (checkedInput[0].id === 'ilmmsc') { - $('#main_menu_search').autocomplete('disable'); return; } - $('#main_menu_search').autocomplete( - 'option', - { - source: `${this.acDatasource}&search_type=${typeVal}`, - }, - ); + const typeVal = checkedInput.val(); - /* start new search */ - $('#main_menu_search').autocomplete('search'); + this.initAutocomplete(`${this.acDatasource}&search_type=${typeVal}`); }); }, }; diff --git a/components/ILIAS/Search/templates/default/tpl.main_menu_search.html b/components/ILIAS/Search/templates/default/tpl.main_menu_search.html index 05fcc4b3ee28..d931a1b4da3c 100755 --- a/components/ILIAS/Search/templates/default/tpl.main_menu_search.html +++ b/components/ILIAS/Search/templates/default/tpl.main_menu_search.html @@ -1,7 +1,7 @@

- - + +
From 30c84f1122bd7bb29a8ac81980471ba96ae7a238 Mon Sep 17 00:00:00 2001 From: Alexander Killing Date: Thu, 5 Feb 2026 13:13:45 +0100 Subject: [PATCH 535/865] 46667: Interactive image file cannot be changed --- components/ILIAS/COPage/PC/InteractiveImage/IIMEditorInit.php | 2 +- .../js/editor/src/ui/iim-ui-action-handler.js | 1 - .../COPage/PC/InteractiveImage/js/editor/src/ui/iim-ui.js | 4 ++-- 3 files changed, 3 insertions(+), 4 deletions(-) diff --git a/components/ILIAS/COPage/PC/InteractiveImage/IIMEditorInit.php b/components/ILIAS/COPage/PC/InteractiveImage/IIMEditorInit.php index 19e586ad5fa1..cf68ceaf2261 100755 --- a/components/ILIAS/COPage/PC/InteractiveImage/IIMEditorInit.php +++ b/components/ILIAS/COPage/PC/InteractiveImage/IIMEditorInit.php @@ -79,7 +79,7 @@ public function getInitHtml(): string >
EOT; $debug = ""; - //$debug = "."; + $debug = "."; $module_tag = << EOT; diff --git a/components/ILIAS/COPage/PC/InteractiveImage/js/editor/src/ui/iim-ui-action-handler.js b/components/ILIAS/COPage/PC/InteractiveImage/js/editor/src/ui/iim-ui-action-handler.js index 33be37d3cf4f..9e3c152d569d 100755 --- a/components/ILIAS/COPage/PC/InteractiveImage/js/editor/src/ui/iim-ui-action-handler.js +++ b/components/ILIAS/COPage/PC/InteractiveImage/js/editor/src/ui/iim-ui-action-handler.js @@ -398,7 +398,6 @@ export default class IIMUIActionHandler { const af = this.actionFactory; const dispatch = this.dispatcher; const { util } = this; - this.util.sendFiles(params.form).then(() => { const data = new FormData(params.form); save_action = af.interactiveImage().command().saveSettings( diff --git a/components/ILIAS/COPage/PC/InteractiveImage/js/editor/src/ui/iim-ui.js b/components/ILIAS/COPage/PC/InteractiveImage/js/editor/src/ui/iim-ui.js index 9e44fb935603..c5ab7d99a437 100755 --- a/components/ILIAS/COPage/PC/InteractiveImage/js/editor/src/ui/iim-ui.js +++ b/components/ILIAS/COPage/PC/InteractiveImage/js/editor/src/ui/iim-ui.js @@ -479,7 +479,7 @@ export default class UI { dispatch.dispatch(action.interactiveImage().editor().saveTriggerOverlay( model.getCurrentTrigger().nr, this.getInputValueByName(this.formInput(0)), - model.getCurrentTrigger().getOverlay().getCoordsString() + model.getCurrentTrigger().getOverlay().getCoordsString(), )); break; } @@ -684,7 +684,7 @@ export default class UI { switch (act) { case ACTIONS.E_SAVE_SETTINGS: event.preventDefault(); - const form = document.querySelector('#copg-editor-slate-content .modal-body form'); + const form = document.querySelector('#copg-editor-slate-content form'); dispatch.dispatch(action.interactiveImage().editor().saveSettings( form, )); From ac65339d925b35a6d1c53bf44f8e442c2cc6f102 Mon Sep 17 00:00:00 2001 From: Alexander Killing Date: Thu, 5 Feb 2026 13:15:50 +0100 Subject: [PATCH 536/865] 46667: Interactive image file cannot be changed --- components/ILIAS/COPage/PC/InteractiveImage/IIMEditorInit.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/components/ILIAS/COPage/PC/InteractiveImage/IIMEditorInit.php b/components/ILIAS/COPage/PC/InteractiveImage/IIMEditorInit.php index cf68ceaf2261..19e586ad5fa1 100755 --- a/components/ILIAS/COPage/PC/InteractiveImage/IIMEditorInit.php +++ b/components/ILIAS/COPage/PC/InteractiveImage/IIMEditorInit.php @@ -79,7 +79,7 @@ public function getInitHtml(): string >
EOT; $debug = ""; - $debug = "."; + //$debug = "."; $module_tag = << EOT; From 7275133c278135e3f725c1c59ebdf036fdb8c145 Mon Sep 17 00:00:00 2001 From: Tim Schmitz Date: Thu, 5 Feb 2026 13:46:33 +0100 Subject: [PATCH 537/865] Search: fix sub id handling in object search (46825, 46371) --- .../Search/classes/class.ilRepositoryObjectDetailSearch.php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/components/ILIAS/Search/classes/class.ilRepositoryObjectDetailSearch.php b/components/ILIAS/Search/classes/class.ilRepositoryObjectDetailSearch.php index 2bd642501c48..20ec8b6b4bb4 100755 --- a/components/ILIAS/Search/classes/class.ilRepositoryObjectDetailSearch.php +++ b/components/ILIAS/Search/classes/class.ilRepositoryObjectDetailSearch.php @@ -103,9 +103,9 @@ protected function performLuceneSearch(): ilRepositoryObjectDetailSearchResult $detail_search_result->addResultSet( array( 'obj_id' => $this->getObjId(), - 'item_id' => $sub_id, - 'relevance' => $searcher->getHighlighter()->getRelevance($this->getObjId(), ...$sub_id), - 'content' => $searcher->getHighlighter()->getContent($this->getObjId(), ...$sub_id) + 'item_id' => $sub_id['id'], + 'relevance' => $searcher->getHighlighter()->getRelevance($this->getObjId(), $sub_id['id'], $sub_id['type']), + 'content' => $searcher->getHighlighter()->getContent($this->getObjId(), $sub_id['id'], $sub_id['type']) ) ); } From a6217864b5e85d8b35c1b13039f358f752b9a63e Mon Sep 17 00:00:00 2001 From: Tim Schmitz Date: Thu, 5 Feb 2026 14:17:49 +0100 Subject: [PATCH 538/865] Membership: remove checks for visible permission from administration (47118, 47117) --- .../classes/class.ilMembershipAdministrationGUI.php | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/components/ILIAS/Membership/classes/class.ilMembershipAdministrationGUI.php b/components/ILIAS/Membership/classes/class.ilMembershipAdministrationGUI.php index 7f79c8e73ec1..7cb1621932d6 100755 --- a/components/ILIAS/Membership/classes/class.ilMembershipAdministrationGUI.php +++ b/components/ILIAS/Membership/classes/class.ilMembershipAdministrationGUI.php @@ -25,8 +25,8 @@ */ abstract class ilMembershipAdministrationGUI extends ilObjectGUI { - protected const SUB_TAB_GENERAL_SETTINGS = 'settings'; - protected const SUB_TAB_PRINT_VIEW = 'print_view'; + protected const string SUB_TAB_GENERAL_SETTINGS = 'settings'; + protected const string SUB_TAB_PRINT_VIEW = 'print_view'; public function __construct($a_data, int $a_id, bool $a_call_by_reference = true, bool $a_prepare_output = true) { @@ -56,7 +56,7 @@ public function executeCommand(): void $this->prepareOutput(); - if (!$this->rbac_system->checkAccess("visible,read", $this->object->getRefId())) { + if (!$this->rbac_system->checkAccess("read", $this->object->getRefId())) { $this->error->raiseError($this->lng->txt("no_permission"), $this->error->WARNING); } @@ -91,7 +91,7 @@ public function executeCommand(): void public function getAdminTabs(): void { - if ($this->rbac_system->checkAccess("visible,read", $this->object->getRefId())) { + if ($this->rbac_system->checkAccess("read", $this->object->getRefId())) { $this->tabs_gui->addTarget( "settings", $this->ctrl->getLinkTarget($this, "editSettings"), From 6d89dfca3efb3ea862ded5fa536d3f79921d4a4a Mon Sep 17 00:00:00 2001 From: Tim Schmitz Date: Thu, 5 Feb 2026 14:31:47 +0100 Subject: [PATCH 539/865] MetaData: remove checks for visible permissions in administration (47115) --- .../Copyright/class.ilMDCopyrightConfigurationGUI.php | 5 +---- .../classes/Settings/OER/class.ilMDOERSettingsGUI.php | 5 +---- .../Vocabularies/class.ilMDVocabulariesGUI.php | 5 +---- .../Settings/class.ilMDSettingsControllerGUI.php | 10 ++-------- 4 files changed, 5 insertions(+), 20 deletions(-) diff --git a/components/ILIAS/MetaData/classes/Settings/Copyright/class.ilMDCopyrightConfigurationGUI.php b/components/ILIAS/MetaData/classes/Settings/Copyright/class.ilMDCopyrightConfigurationGUI.php index d28cb24d37bb..d5c0954f006e 100755 --- a/components/ILIAS/MetaData/classes/Settings/Copyright/class.ilMDCopyrightConfigurationGUI.php +++ b/components/ILIAS/MetaData/classes/Settings/Copyright/class.ilMDCopyrightConfigurationGUI.php @@ -86,10 +86,7 @@ public function executeCommand(): void $next_class = $this->ctrl->getNextClass($this); $cmd = $this->ctrl->getCmd(); - if ( - !$this->access_service->hasCurrentUserVisibleAccess() || - !$this->access_service->hasCurrentUserReadAccess() - ) { + if (!$this->access_service->hasCurrentUserReadAccess()) { throw new ilPermissionException($this->lng->txt('no_permission')); } diff --git a/components/ILIAS/MetaData/classes/Settings/OER/class.ilMDOERSettingsGUI.php b/components/ILIAS/MetaData/classes/Settings/OER/class.ilMDOERSettingsGUI.php index fa6e0f53d53e..977d9cc4abe7 100644 --- a/components/ILIAS/MetaData/classes/Settings/OER/class.ilMDOERSettingsGUI.php +++ b/components/ILIAS/MetaData/classes/Settings/OER/class.ilMDOERSettingsGUI.php @@ -50,10 +50,7 @@ public function executeCommand(): void $next_class = $this->ctrl->getNextClass($this); $cmd = $this->ctrl->getCmd(); - if ( - !$this->access_service->hasCurrentUserVisibleAccess() || - !$this->access_service->hasCurrentUserReadAccess() - ) { + if (!$this->access_service->hasCurrentUserReadAccess()) { throw new ilPermissionException($this->lng->txt('no_permission')); } diff --git a/components/ILIAS/MetaData/classes/Settings/Vocabularies/class.ilMDVocabulariesGUI.php b/components/ILIAS/MetaData/classes/Settings/Vocabularies/class.ilMDVocabulariesGUI.php index 99d2679e2d3a..6c030f1d2080 100644 --- a/components/ILIAS/MetaData/classes/Settings/Vocabularies/class.ilMDVocabulariesGUI.php +++ b/components/ILIAS/MetaData/classes/Settings/Vocabularies/class.ilMDVocabulariesGUI.php @@ -107,10 +107,7 @@ public function executeCommand(): void $next_class = $this->ctrl->getNextClass($this); $cmd = $this->ctrl->getCmd(); - if ( - !$this->access_service->hasCurrentUserVisibleAccess() || - !$this->access_service->hasCurrentUserReadAccess() - ) { + if (!$this->access_service->hasCurrentUserReadAccess()) { throw new ilPermissionException($this->lng->txt('no_permission')); } diff --git a/components/ILIAS/MetaData/classes/Settings/class.ilMDSettingsControllerGUI.php b/components/ILIAS/MetaData/classes/Settings/class.ilMDSettingsControllerGUI.php index 0d1f5a94e923..0927252d5e89 100644 --- a/components/ILIAS/MetaData/classes/Settings/class.ilMDSettingsControllerGUI.php +++ b/components/ILIAS/MetaData/classes/Settings/class.ilMDSettingsControllerGUI.php @@ -57,10 +57,7 @@ public function executeCommand(): void $this->setTabs(); - if ( - !$this->access_service->hasCurrentUserVisibleAccess() || - !$this->access_service->hasCurrentUserReadAccess() - ) { + if (!$this->access_service->hasCurrentUserReadAccess()) { throw new ilPermissionException($this->lng->txt('no_permission')); } @@ -95,10 +92,7 @@ public function executeCommand(): void protected function setTabs(): void { - if ( - !$this->access_service->hasCurrentUserVisibleAccess() || - !$this->access_service->hasCurrentUserReadAccess() - ) { + if (!$this->access_service->hasCurrentUserReadAccess()) { return; } From 499094d4f718ec73d677f9b26a8fded9b9ead621 Mon Sep 17 00:00:00 2001 From: Tim Schmitz Date: Thu, 5 Feb 2026 14:33:59 +0100 Subject: [PATCH 540/865] MetaData: remove checks for visible permissions in administration, part 2 (47115) --- .../Settings/Service/class.ilMDSettingsAccessService.php | 6 ------ 1 file changed, 6 deletions(-) diff --git a/components/ILIAS/MetaData/classes/Settings/Service/class.ilMDSettingsAccessService.php b/components/ILIAS/MetaData/classes/Settings/Service/class.ilMDSettingsAccessService.php index 9332e42776c2..19ff4cc2d3f9 100755 --- a/components/ILIAS/MetaData/classes/Settings/Service/class.ilMDSettingsAccessService.php +++ b/components/ILIAS/MetaData/classes/Settings/Service/class.ilMDSettingsAccessService.php @@ -20,7 +20,6 @@ class ilMDSettingsAccessService { - protected const string VISIBLE = 'visible'; protected const string READ = 'read'; protected const string WRITE = 'write'; protected const string EDIT_PERMISSION = 'edit_permission'; @@ -34,11 +33,6 @@ public function __construct(int $ref_id, ilAccess $access) $this->access = $access; } - public function hasCurrentUserVisibleAccess(): bool - { - return $this->hasCurrentUserAccess(self::VISIBLE); - } - public function hasCurrentUserReadAccess(): bool { return $this->hasCurrentUserAccess(self::READ); From 14ccc466800fdb5e80d2ca66f55640b675d2681f Mon Sep 17 00:00:00 2001 From: Fabian Helfer Date: Thu, 5 Feb 2026 11:49:28 +0100 Subject: [PATCH 541/865] [Improvement] Auth: Tab Apache Access Restriction Form --- .../classes/Form/ApacheAuthSettingsForm.php | 56 +++++++++++-------- .../classes/class.ilObjAuthSettingsGUI.php | 2 +- 2 files changed, 33 insertions(+), 25 deletions(-) diff --git a/components/ILIAS/Authentication/classes/Form/ApacheAuthSettingsForm.php b/components/ILIAS/Authentication/classes/Form/ApacheAuthSettingsForm.php index 1141783815dc..048171db3e7e 100644 --- a/components/ILIAS/Authentication/classes/Form/ApacheAuthSettingsForm.php +++ b/components/ILIAS/Authentication/classes/Form/ApacheAuthSettingsForm.php @@ -74,33 +74,41 @@ public function __construct( public function buildForm(): StandardForm { $access = $this->rbac_system->checkAccess('write', $this->ref_id); + $inputs = [ + 'apache_enable_auth' => $this->buildEnableAuthInput(), + 'apache_enable_local' => $this->ui_field->checkbox($this->lng->txt('apache_enable_local')) + ->withValue((bool) ($this->values['apache_enable_local'] ?? true)), + 'apache_enable_ldap' => $this->buildLdapEnableInput(), + 'apache_auth_indicator_name' => $this->ui_field->text($this->lng->txt('apache_auth_indicator_name')) + ->withRequired(true) + ->withValue($this->values['apache_auth_indicator_name'] ?? ''), + 'apache_auth_indicator_value' => $this->ui_field->text($this->lng->txt('apache_auth_indicator_value')) + ->withRequired(true) + ->withValue($this->values['apache_auth_indicator_value'] ?? ''), + 'apache_auth_enable_override_login_page' => $this->buildAuthEnableOverrideLoginPageInput(), + 'apache_auth_authenticate_on_login_page' => $this->ui_field->checkbox($this->lng->txt('apache_auth_authenticate_on_login_page')) + ->withValue((bool) ($this->values['apache_auth_authenticate_on_login_page'] ?? true)), + 'apache_auth_username_config' => $this->ui_field->section([ + 'apache_auth_username_config_type' => $this->buildAuthUsernameConfigTypeInput() + ], $this->lng->txt('apache_auth_username_config')), + 'apache_auth_security' => $this->ui_field->section([ + 'apache_auth_domains' => $this->ui_field->textarea( + $this->lng->txt('apache_auth_domains'), + $this->lng->txt('apache_auth_domains_description') + )->withValue($this->values['apache_auth_domains'] ?? '') + ], $this->lng->txt('apache_auth_security')) + ]; + + if (!$access) { + foreach ($inputs as $key => $input) { + $inputs[$key] = $input->withDisabled(true); + } + } + $form = $this->ui_factory->input()->container()->form()->standard( $this->ctrl->getFormAction($this->parentObject, $access ? $this->save_command : $this->show_command), - [ - 'apache_enable_auth' => $this->buildEnableAuthInput(), - 'apache_enable_local' => $this->ui_field->checkbox($this->lng->txt('apache_enable_local')) - ->withValue((bool) ($this->values['apache_enable_local'] ?? true)), - 'apache_enable_ldap' => $this->buildLdapEnableInput(), - 'apache_auth_indicator_name' => $this->ui_field->text($this->lng->txt('apache_auth_indicator_name')) - ->withRequired(true) - ->withValue($this->values['apache_auth_indicator_name'] ?? ''), - 'apache_auth_indicator_value' => $this->ui_field->text($this->lng->txt('apache_auth_indicator_value')) - ->withRequired(true) - ->withValue($this->values['apache_auth_indicator_value'] ?? ''), - 'apache_auth_enable_override_login_page' => $this->buildAuthEnableOverrideLoginPageInput(), - 'apache_auth_authenticate_on_login_page' => $this->ui_field->checkbox($this->lng->txt('apache_auth_authenticate_on_login_page')) - ->withValue((bool) ($this->values['apache_auth_authenticate_on_login_page'] ?? true)), - 'apache_auth_username_config' => $this->ui_field->section([ - 'apache_auth_username_config_type' => $this->buildAuthUsernameConfigTypeInput() - ], $this->lng->txt('apache_auth_username_config')), - 'apache_auth_security' => $this->ui_field->section([ - 'apache_auth_domains' => $this->ui_field->textarea( - $this->lng->txt('apache_auth_domains'), - $this->lng->txt('apache_auth_domains_description') - )->withValue($this->values['apache_auth_domains'] ?? '') - ], $this->lng->txt('apache_auth_security')) - ] + $inputs ); if (!$access) { diff --git a/components/ILIAS/Authentication/classes/class.ilObjAuthSettingsGUI.php b/components/ILIAS/Authentication/classes/class.ilObjAuthSettingsGUI.php index 2ff47156ac79..b6d06407b2d7 100755 --- a/components/ILIAS/Authentication/classes/class.ilObjAuthSettingsGUI.php +++ b/components/ILIAS/Authentication/classes/class.ilObjAuthSettingsGUI.php @@ -1168,7 +1168,7 @@ public function saveApacheSettingsObject(): void $this->ctrl->redirect($this, self::CMD_SHOW_APACHE_SETTINGS); } - $this->ctrl->redirect($this, self::CMD_SHOW_APACHE_SETTINGS); + $this->apacheAuthSettingsObject($form); } private function validateApacheAuthAllowedDomains(string $text): string From 83724c13befd64cfdb3ebd8086f0304c9f22e95b Mon Sep 17 00:00:00 2001 From: Stefan Meyer Date: Thu, 5 Feb 2026 14:52:29 +0100 Subject: [PATCH 542/865] Merge pull request #10898 from kergomard/10/references/fix_46848 References: Fix Custom Icon --- .../CategoryReferenceObjectProperties.php | 45 ++++++++++++++ ...goryReferenceObjectPropertiesProviders.php | 59 +++++++++++++++++++ .../CourseReferenceObjectProperties.php | 45 ++++++++++++++ ...urseReferenceObjectPropertiesProviders.php | 59 +++++++++++++++++++ .../GroupReferenceObjectProperties.php | 45 ++++++++++++++ ...roupReferenceObjectPropertiesProviders.php | 59 +++++++++++++++++++ 6 files changed, 312 insertions(+) create mode 100644 components/ILIAS/CategoryReference/ObjectProperties/CategoryReferenceObjectProperties.php create mode 100644 components/ILIAS/CategoryReference/ObjectProperties/CategoryReferenceObjectPropertiesProviders.php create mode 100644 components/ILIAS/CourseReference/ObjectProperties/CourseReferenceObjectProperties.php create mode 100644 components/ILIAS/CourseReference/ObjectProperties/CourseReferenceObjectPropertiesProviders.php create mode 100644 components/ILIAS/GroupReference/ObjectProperties/GroupReferenceObjectProperties.php create mode 100644 components/ILIAS/GroupReference/ObjectProperties/GroupReferenceObjectPropertiesProviders.php diff --git a/components/ILIAS/CategoryReference/ObjectProperties/CategoryReferenceObjectProperties.php b/components/ILIAS/CategoryReference/ObjectProperties/CategoryReferenceObjectProperties.php new file mode 100644 index 000000000000..23ebdbfae541 --- /dev/null +++ b/components/ILIAS/CategoryReference/ObjectProperties/CategoryReferenceObjectProperties.php @@ -0,0 +1,45 @@ +providers === null) { + $this->providers = new CategoryReferenceObjectPropertiesProviders(); + } + return $this->providers; + } + + public function preload(array $object_ids): void + { + return; + } +} diff --git a/components/ILIAS/CategoryReference/ObjectProperties/CategoryReferenceObjectPropertiesProviders.php b/components/ILIAS/CategoryReference/ObjectProperties/CategoryReferenceObjectPropertiesProviders.php new file mode 100644 index 000000000000..9085b5be575b --- /dev/null +++ b/components/ILIAS/CategoryReference/ObjectProperties/CategoryReferenceObjectPropertiesProviders.php @@ -0,0 +1,59 @@ +getObjectProperties()->getPropertyIcon()->getCustomIcon(); + if ($custom_icon?->exists()) { + return $icon_factory->custom( + $custom_icon->getFullPath(), + '' + ); + } + + return null; + } +} diff --git a/components/ILIAS/CourseReference/ObjectProperties/CourseReferenceObjectProperties.php b/components/ILIAS/CourseReference/ObjectProperties/CourseReferenceObjectProperties.php new file mode 100644 index 000000000000..af778ea32c29 --- /dev/null +++ b/components/ILIAS/CourseReference/ObjectProperties/CourseReferenceObjectProperties.php @@ -0,0 +1,45 @@ +providers === null) { + $this->providers = new CourseReferenceObjectPropertiesProviders(); + } + return $this->providers; + } + + public function preload(array $object_ids): void + { + return; + } +} diff --git a/components/ILIAS/CourseReference/ObjectProperties/CourseReferenceObjectPropertiesProviders.php b/components/ILIAS/CourseReference/ObjectProperties/CourseReferenceObjectPropertiesProviders.php new file mode 100644 index 000000000000..d62775c69b76 --- /dev/null +++ b/components/ILIAS/CourseReference/ObjectProperties/CourseReferenceObjectPropertiesProviders.php @@ -0,0 +1,59 @@ +getObjectProperties()->getPropertyIcon()->getCustomIcon(); + if ($custom_icon?->exists()) { + return $icon_factory->custom( + $custom_icon->getFullPath(), + '' + ); + } + + return null; + } +} diff --git a/components/ILIAS/GroupReference/ObjectProperties/GroupReferenceObjectProperties.php b/components/ILIAS/GroupReference/ObjectProperties/GroupReferenceObjectProperties.php new file mode 100644 index 000000000000..5a09cf45814c --- /dev/null +++ b/components/ILIAS/GroupReference/ObjectProperties/GroupReferenceObjectProperties.php @@ -0,0 +1,45 @@ +providers === null) { + $this->providers = new GroupReferenceObjectPropertiesProviders(); + } + return $this->providers; + } + + public function preload(array $object_ids): void + { + return; + } +} diff --git a/components/ILIAS/GroupReference/ObjectProperties/GroupReferenceObjectPropertiesProviders.php b/components/ILIAS/GroupReference/ObjectProperties/GroupReferenceObjectPropertiesProviders.php new file mode 100644 index 000000000000..95bfec6796fd --- /dev/null +++ b/components/ILIAS/GroupReference/ObjectProperties/GroupReferenceObjectPropertiesProviders.php @@ -0,0 +1,59 @@ +getObjectProperties()->getPropertyIcon()->getCustomIcon(); + if ($custom_icon?->exists()) { + return $icon_factory->custom( + $custom_icon->getFullPath(), + '' + ); + } + + return null; + } +} From 828db98c435fceffa24a9dd94685aaefdb19e7e6 Mon Sep 17 00:00:00 2001 From: Stefan Meyer Date: Thu, 5 Feb 2026 14:57:29 +0100 Subject: [PATCH 543/865] 0047073: Failed test: Update the didactic template to several languages --- .../classes/Multilingualism/class.ilMultilingualismGUI.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/components/ILIAS/DidacticTemplate/classes/Multilingualism/class.ilMultilingualismGUI.php b/components/ILIAS/DidacticTemplate/classes/Multilingualism/class.ilMultilingualismGUI.php index 536d4cdfce32..42585f5a16f2 100755 --- a/components/ILIAS/DidacticTemplate/classes/Multilingualism/class.ilMultilingualismGUI.php +++ b/components/ILIAS/DidacticTemplate/classes/Multilingualism/class.ilMultilingualismGUI.php @@ -52,7 +52,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() ); From aee5241932b52cead81ad99a1f469fb2c8a2a3c6 Mon Sep 17 00:00:00 2001 From: Christoph Ludolf Date: Thu, 5 Feb 2026 16:03:08 +0100 Subject: [PATCH 544/865] DidacticTemplate: fix edit-import, overwrite of existing didactic template when importing in the edit menu --- .../classes/Setting/class.ilDidacticTemplateSettingsGUI.php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/components/ILIAS/DidacticTemplate/classes/Setting/class.ilDidacticTemplateSettingsGUI.php b/components/ILIAS/DidacticTemplate/classes/Setting/class.ilDidacticTemplateSettingsGUI.php index c02dc74d5109..b3eee10d3251 100755 --- a/components/ILIAS/DidacticTemplate/classes/Setting/class.ilDidacticTemplateSettingsGUI.php +++ b/components/ILIAS/DidacticTemplate/classes/Setting/class.ilDidacticTemplateSettingsGUI.php @@ -792,9 +792,9 @@ public function editImportForm(): ilPropertyFormGUI public function editImport(ilDidacticTemplateSetting $a_settings): void { - ilDidacticTemplateObjSettings::transferAutoGenerateStatus($a_settings->getId(), $a_settings->getId()); - $assignments = ilDidacticTemplateObjSettings::getAssignmentsByTemplateID($a_settings->getId()); - $a_settings->delete(); + ilDidacticTemplateObjSettings::transferAutoGenerateStatus($this->setting->getId(), $a_settings->getId()); + $assignments = ilDidacticTemplateObjSettings::getAssignmentsByTemplateID($this->setting->getId()); + $this->setting->delete(); foreach ($assignments as $obj) { ilDidacticTemplateObjSettings::assignTemplate($obj["ref_id"], $obj["obj_id"], $a_settings->getId()); } From b380c2a6afca8ec4b183519fd9901a2d9a7c8ad0 Mon Sep 17 00:00:00 2001 From: Christoph Ludolf Date: Thu, 5 Feb 2026 16:19:09 +0100 Subject: [PATCH 545/865] DidacticTemplate: fix incorrect icon displaying --- ...s.ilDidacticTemplateSettingsTableDataRetrieval.php | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/components/ILIAS/DidacticTemplate/classes/Setting/class.ilDidacticTemplateSettingsTableDataRetrieval.php b/components/ILIAS/DidacticTemplate/classes/Setting/class.ilDidacticTemplateSettingsTableDataRetrieval.php index 4d8055fe8bcb..0fe63f943b97 100755 --- a/components/ILIAS/DidacticTemplate/classes/Setting/class.ilDidacticTemplateSettingsTableDataRetrieval.php +++ b/components/ILIAS/DidacticTemplate/classes/Setting/class.ilDidacticTemplateSettingsTableDataRetrieval.php @@ -129,12 +129,11 @@ protected function getRecords(Order $order, Range $range): array foreach ($tpl->getAssignments() as $obj_type) { $icon_label = $this->lng->txt('objs_' . $obj_type); } - if ($icon_path) { - $icon = $this->ui_factory->symbol()->icon()->custom( - $icon_path, - $icon_label - ); - } + + $icon = ($icon_path !== "") ? $this->ui_factory->symbol()->icon()->custom( + $icon_path, + $icon_label + ) : null; $icon_active = $this->ui_factory->symbol()->icon()->custom( $tpl->isEnabled() ? From 7f4c4f6824917a1888c01e2aab7775bc88b5561e Mon Sep 17 00:00:00 2001 From: Tim Schmitz Date: Thu, 5 Feb 2026 17:00:16 +0100 Subject: [PATCH 546/865] SystemCheck: avoid visible checks in recovery folder (47050) --- .../class.ilObjRecoveryFolderGUI.php | 15 +++++++++++++++ .../Container/classes/class.ilContainerGUI.php | 13 +++++++------ 2 files changed, 22 insertions(+), 6 deletions(-) diff --git a/components/ILIAS/Administration/classes/RecoveryFolder/class.ilObjRecoveryFolderGUI.php b/components/ILIAS/Administration/classes/RecoveryFolder/class.ilObjRecoveryFolderGUI.php index e11cd4f89bf6..96ba8a909a0b 100755 --- a/components/ILIAS/Administration/classes/RecoveryFolder/class.ilObjRecoveryFolderGUI.php +++ b/components/ILIAS/Administration/classes/RecoveryFolder/class.ilObjRecoveryFolderGUI.php @@ -100,4 +100,19 @@ public function getActions(): array "removeFromSystem" => array("name" => "removeFromSystem", "lng" => "btn_remove_system") ); } + + protected function checkPermissionBool(string $perm, string $cmd = "", string $type = "", ?int $ref_id = null): bool + { + /* + * Since nodes in the administration do not have visible permissions anymore, + * those object permission checks have to be overwritten. + */ + $operations = explode(',', $perm); + $operations = array_diff($operations, ["visible"]); + $perm = implode(',', $operations); + if ($perm === '') { + return true; + } + return parent::checkPermissionBool($perm, $cmd, $type, $ref_id); + } } diff --git a/components/ILIAS/Container/classes/class.ilContainerGUI.php b/components/ILIAS/Container/classes/class.ilContainerGUI.php index a611fa96161e..7ded4fd98d14 100755 --- a/components/ILIAS/Container/classes/class.ilContainerGUI.php +++ b/components/ILIAS/Container/classes/class.ilContainerGUI.php @@ -2714,12 +2714,13 @@ public function getAdminTabs(): void ); } - // Always show container trash - $this->tabs_gui->addTab( - 'trash', - $this->lng->txt('trash'), - $this->ctrl->getLinkTarget($this, 'trash') - ); + if ($this->checkPermissionBool("write")) { + $this->tabs_gui->addTab( + 'trash', + $this->lng->txt('trash'), + $this->ctrl->getLinkTarget($this, 'trash') + ); + } if ($this->checkPermissionBool("edit_permission")) { $this->tabs_gui->addTab( From eb891e0ac0073a37eb1deb391a16c00f53add54b Mon Sep 17 00:00:00 2001 From: "Alex Hartwig (Qualitus)" Date: Thu, 5 Feb 2026 19:09:09 +0100 Subject: [PATCH 547/865] Fix Mantis #47160: session_timeout.html not found (#11070) --- components/ILIAS/Scorm2004/Scorm2004.php | 11 +++++++++++ .../ILIAS/Scorm2004/scripts/buildrte/rte-min.js | 4 ++-- components/ILIAS/Scorm2004/scripts/buildrte/rte.js | 4 ++-- components/ILIAS/Scorm2004/scripts/rtemain/main.js | 2 +- 4 files changed, 16 insertions(+), 5 deletions(-) diff --git a/components/ILIAS/Scorm2004/Scorm2004.php b/components/ILIAS/Scorm2004/Scorm2004.php index 9a947ce303d9..6eec7d5acd15 100644 --- a/components/ILIAS/Scorm2004/Scorm2004.php +++ b/components/ILIAS/Scorm2004/Scorm2004.php @@ -87,5 +87,16 @@ public function getTarget(): string return "components/ILIAS/Scorm2004/templates/default/player.css"; } }; + + $contribute[Component\Resource\PublicAsset::class] = static fn() => new class () implements Component\Resource\PublicAsset { + public function getSource(): string + { + return "components/ILIAS/Scorm2004/templates/default/session_timeout.html"; + } + public function getTarget(): string + { + return "components/ILIAS/Scorm2004/templates/default/session_timeout.html"; + } + }; } } diff --git a/components/ILIAS/Scorm2004/scripts/buildrte/rte-min.js b/components/ILIAS/Scorm2004/scripts/buildrte/rte-min.js index dee9d7fd5f11..5d9c69d18bfa 100755 --- a/components/ILIAS/Scorm2004/scripts/buildrte/rte-min.js +++ b/components/ILIAS/Scorm2004/scripts/buildrte/rte-min.js @@ -1,4 +1,4 @@ -// Build: 2026119165414 +// Build: 2026205180244 /* +-----------------------------------------------------------------------------+ | ILIAS open source | @@ -10732,7 +10732,7 @@ function sendJSONRequest (url, data, callback, user, password, headers) if (r.content) { if (r.content.indexOf("login.php")>-1 || r.content.indexOf("formlogin")>-1) { var thref=window.location.href; - thref=thref.substring(0,thref.indexOf('ilias.php'))+"Modules/Scorm2004/templates/default/session_timeout.html"; + thref=thref.substring(0,thref.indexOf('ilias.php'))+"components/ILIAS/Scorm2004/templates/default/session_timeout.html"; window.location.href = thref; } } diff --git a/components/ILIAS/Scorm2004/scripts/buildrte/rte.js b/components/ILIAS/Scorm2004/scripts/buildrte/rte.js index 305460a809b4..5d6c887bcf2f 100755 --- a/components/ILIAS/Scorm2004/scripts/buildrte/rte.js +++ b/components/ILIAS/Scorm2004/scripts/buildrte/rte.js @@ -1,4 +1,4 @@ -// Build: 2026119165414 +// Build: 2026205180244 /* +-----------------------------------------------------------------------------+ | ILIAS open source | @@ -12237,7 +12237,7 @@ function sendJSONRequest (url, data, callback, user, password, headers) if (r.content) { if (r.content.indexOf("login.php")>-1 || r.content.indexOf("formlogin")>-1) { var thref=window.location.href; - thref=thref.substring(0,thref.indexOf('ilias.php'))+"Modules/Scorm2004/templates/default/session_timeout.html"; + thref=thref.substring(0,thref.indexOf('ilias.php'))+"components/ILIAS/Scorm2004/templates/default/session_timeout.html"; window.location.href = thref; } } diff --git a/components/ILIAS/Scorm2004/scripts/rtemain/main.js b/components/ILIAS/Scorm2004/scripts/rtemain/main.js index c7956bbe3e8a..c715474c7f90 100755 --- a/components/ILIAS/Scorm2004/scripts/rtemain/main.js +++ b/components/ILIAS/Scorm2004/scripts/rtemain/main.js @@ -1452,7 +1452,7 @@ function sendJSONRequest (url, data, callback, user, password, headers) if (r.content) { if (r.content.indexOf("login.php")>-1 || r.content.indexOf("formlogin")>-1) { var thref=window.location.href; - thref=thref.substring(0,thref.indexOf('ilias.php'))+"Modules/Scorm2004/templates/default/session_timeout.html"; + thref=thref.substring(0,thref.indexOf('ilias.php'))+"components/ILIAS/Scorm2004/templates/default/session_timeout.html"; window.location.href = thref; } } From 80ae12c470de0a089c6290faa4107844f4ac0e2f Mon Sep 17 00:00:00 2001 From: Fabian Helfer <82493694+fhelfer@users.noreply.github.com> Date: Thu, 5 Feb 2026 19:45:44 +0100 Subject: [PATCH 548/865] [Improvement] Auth: Tab OpenID Connect Access Restriction Form (#11059) --- .../class.ilOpenIdConnectSettingsGUI.php | 50 +++++++++++++++++-- 1 file changed, 45 insertions(+), 5 deletions(-) diff --git a/components/ILIAS/OpenIdConnect/classes/class.ilOpenIdConnectSettingsGUI.php b/components/ILIAS/OpenIdConnect/classes/class.ilOpenIdConnectSettingsGUI.php index 311f97e76427..f2713078f5dc 100755 --- a/components/ILIAS/OpenIdConnect/classes/class.ilOpenIdConnectSettingsGUI.php +++ b/components/ILIAS/OpenIdConnect/classes/class.ilOpenIdConnectSettingsGUI.php @@ -334,6 +334,16 @@ private function initSettingsForm(): ilPropertyFormGUI $user_attr->setRequired(true); $form->addItem($user_attr); + if (!$this->checkAccessBool('write')) { + foreach ($form->getItems() as $item) { + if ($item instanceof ilFormSectionHeaderGUI) { + continue; + } + + $item->setDisabled(true); + } + } + return $form; } @@ -444,7 +454,7 @@ private function scopes(): void $this->setSubTabs(self::STAB_SCOPES); $url = $this->settings->getProvider(); - if ($url !== '') { + if ($url !== '' && $this->checkAccessBool('write')) { $this->toolbar->setFormAction($this->ctrl->getFormAction($this)); $this->toolbar->addFormButton($this->lng->txt('auth_oidc_discover_scopes'), 'discoverScopesFromServer'); } @@ -458,14 +468,19 @@ private function initScopesForm(): Form $this->checkAccess('read'); $ui_container = []; - $ui_container = $this->buildScopeSelection($ui_container); + $has_write_access = $this->checkAccessBool('write'); + $ui_container = $this->buildScopeSelection($ui_container, $has_write_access); /** @var Form $form */ $form = $this->ui->input()->container()->form()->standard( - $this->ctrl->getFormAction($this, 'saveScopes'), + $has_write_access ? $this->ctrl->getFormAction($this, 'saveScopes') : $this->ctrl->getFormAction($this, 'scopes'), $ui_container )->withAdditionalTransformation($this->saniziteArrayElementsTrafo()); + if (!$has_write_access) { + $form = $form->withSubmitLabel($this->lng->txt('refresh')); + } + return $form; } @@ -493,7 +508,7 @@ private function discoverScopesFromServer(): void * @param list $ui_container * @return list */ - private function buildScopeSelection(array $ui_container): array + private function buildScopeSelection(array $ui_container, bool $has_write_access): array { $disabled_input = $this->ui ->input() @@ -551,6 +566,12 @@ private function buildScopeSelection(array $ui_container): array ); $ui_container[] = $group; + if (!$has_write_access) { + foreach ($ui_container as $key => $item) { + $ui_container[$key] = $item->withDisabled(true); + } + } + return $ui_container; } @@ -766,6 +787,14 @@ private function initRolesForm(): ilPropertyFormGUI if ($this->checkAccessBool('write')) { $form->addCommandButton('saveRoles', $this->lng->txt('save')); + } else { + foreach ($form->getItems() as $item) { + if ($item instanceof ilFormSectionHeaderGUI) { + continue; + } + + $item->setDisabled(true); + } } return $form; @@ -925,6 +954,13 @@ private function initUserMappingForm(): Form $ui_container = $this->buildUserMappingInputFormUDF($field, $ui_container); } + $has_write_access = $this->checkAccessBool('write'); + if (!$has_write_access) { + foreach ($ui_container as $key => $item) { + $ui_container[$key] = $item->withDisabled(true); + } + } + $this->ctrl->setParameter( $this, 'opic', @@ -937,10 +973,14 @@ private function initUserMappingForm(): Form ->container() ->form() ->standard( - $this->ctrl->getFormAction($this, 'saveProfileMapping'), + $has_write_access ? $this->ctrl->getFormAction($this, 'saveProfileMapping') : $this->ctrl->getFormAction($this, 'profile'), $ui_container )->withAdditionalTransformation($this->saniziteArrayElementsTrafo()); + if (!$has_write_access) { + $form = $form->withSubmitLabel($this->lng->txt('refresh')); + } + return $form; } From 8074e8c7d649e32b06f5349fa73a426ff21c1950 Mon Sep 17 00:00:00 2001 From: Fabian Helfer <82493694+fhelfer@users.noreply.github.com> Date: Thu, 5 Feb 2026 19:46:57 +0100 Subject: [PATCH 549/865] [Improvement] Auth: Tab SOAP Access Restriction Form (#11062) --- .../classes/class.ilObjAuthSettingsGUI.php | 76 +++++++++++++------ 1 file changed, 53 insertions(+), 23 deletions(-) diff --git a/components/ILIAS/Authentication/classes/class.ilObjAuthSettingsGUI.php b/components/ILIAS/Authentication/classes/class.ilObjAuthSettingsGUI.php index b6d06407b2d7..6479df1e0fe4 100755 --- a/components/ILIAS/Authentication/classes/class.ilObjAuthSettingsGUI.php +++ b/components/ILIAS/Authentication/classes/class.ilObjAuthSettingsGUI.php @@ -562,7 +562,8 @@ public function setAuthModeObject(): void } private function buildSOAPForm( - string $submit_action + string $submit_action, + string $show_action ): \ILIAS\UI\Component\Input\Container\Form\Form { $role_list = $this->rbac_review->getRolesByFilter(2, $this->object->getId()); $roles = []; @@ -671,22 +672,36 @@ private function buildSOAPForm( ) ->withValue((bool) $this->settings->get('soap_auth_user_default_role', '')); + $access = $this->rbac_system->checkAccess('write', $this->object->getRefId()); + $inputs = [ + 'active' => $active, + 'server' => $server, + 'port' => $port, + 'use_https' => $use_https, + 'uri' => $uri, + 'namespace' => $namespace, + 'dotnet' => $dotnet, + 'createuser' => $createuser, + 'sendmail' => $sendmail, + 'defaultrole' => $defaultrole, + 'allowlocal' => $allowlocal + ]; + + if (!$access) { + foreach ($inputs as $key => $input) { + $inputs[$key] = $input->withDisabled(true); + } + } + $form = $this->ui_factory->input()->container()->form()->standard( - $submit_action, - [ - 'active' => $active, - 'server' => $server, - 'port' => $port, - 'use_https' => $use_https, - 'uri' => $uri, - 'namespace' => $namespace, - 'dotnet' => $dotnet, - 'createuser' => $createuser, - 'sendmail' => $sendmail, - 'defaultrole' => $defaultrole, - 'allowlocal' => $allowlocal - ] + $access ? $submit_action : $show_action, + $inputs ); + + if (!$access) { + $form = $form->withSubmitLabel($this->lng->txt('refresh')); + } + return $form; } @@ -708,7 +723,7 @@ private function buildSOAPTestForm( 'soap_pw' => $soap_pw, 'new_user' => $new_user ] - )->withSubmitLabel('Send'); + )->withSubmitLabel($this->lng->txt('send')); } public function editSOAPObject(): void @@ -717,8 +732,13 @@ public function editSOAPObject(): void $this->ilias->raiseError($this->lng->txt('permission_denied'), $this->ilias->error_obj->MESSAGE); } - $soap_form = $this->buildSOAPForm($this->ctrl->getFormAction($this, 'saveSOAP')); - $test_form = $this->buildSOAPTestForm($this->ctrl->getFormAction($this, 'testSoapAuthConnection')); + $soap_form = $this->buildSOAPForm( + $this->ctrl->getFormAction($this, 'saveSOAP'), + $this->ctrl->getFormAction($this, 'editSOAP') + ); + $test_form = $this->buildSOAPTestForm( + $this->ctrl->getFormAction($this, 'testSoapAuthConnection'), + ); $this->tabs_gui->setTabActive('auth_soap'); $panel = $this->ui_factory->panel()->standard('SOAP', [$soap_form, $test_form]); @@ -731,15 +751,20 @@ public function testSoapAuthConnectionObject(): void $this->ilias->raiseError($this->lng->txt('permission_denied'), $this->ilias->error_obj->MESSAGE); } - $soap_form = $this->buildSOAPForm($this->ctrl->getFormAction($this, 'saveSOAP')); - $test_form = $this->buildSOAPTestForm($this->ctrl->getFormAction($this, 'testSoapAuthConnection')); + $soap_form = $this->buildSOAPForm( + $this->ctrl->getFormAction($this, 'saveSOAP'), + $this->ctrl->getFormAction($this, 'editSOAP') + ); + $test_form = $this->buildSOAPTestForm( + $this->ctrl->getFormAction($this, 'testSoapAuthConnection') + ); $panel_content = [$soap_form, $test_form]; if ($this->request->getMethod() === 'POST') { $test_form = $test_form->withRequest($this->request); $result = $test_form->getData(); if ($result !== null) { $panel_content[] = $this->ui_factory->legacy()->content( - ilSOAPAuth::testConnection($result['ext_uid'], $result['soap_pw'], $result['new_user']) + ilAuthSOAP::testConnection($result['ext_uid'], $result['soap_pw'], $result['new_user']) ); } } @@ -754,8 +779,13 @@ public function saveSOAPObject(): void $this->ilias->raiseError($this->lng->txt('permission_denied'), $this->ilias->error_obj->MESSAGE); } - $soap_form = $this->buildSOAPForm($this->ctrl->getFormAction($this, 'saveSOAP')); - $test_form = $this->buildSOAPTestForm($this->ctrl->getFormAction($this, 'testSoapAuthConnection')); + $soap_form = $this->buildSOAPForm( + $this->ctrl->getFormAction($this, 'saveSOAP'), + $this->ctrl->getFormAction($this, 'editSOAP') + ); + $test_form = $this->buildSOAPTestForm( + $this->ctrl->getFormAction($this, 'testSoapAuthConnection'), + ); if ($this->request->getMethod() === 'POST') { $soap_form = $soap_form->withRequest($this->request); $result = $soap_form->getData(); From e387086d41566b8f74ccc46e0a591669700e923e Mon Sep 17 00:00:00 2001 From: Alexander Killing Date: Thu, 5 Feb 2026 23:07:42 +0100 Subject: [PATCH 550/865] 42985: Failed Test: Taxonomy nodes are not always (directly) displayed --- .../GlobalScreen/classes/class.ilTaxonomyGSToolProvider.php | 6 ++++++ .../ILIAS/Taxonomy/classes/class.ilObjTaxonomyGUI.php | 3 +++ 2 files changed, 9 insertions(+) diff --git a/components/ILIAS/Taxonomy/GlobalScreen/classes/class.ilTaxonomyGSToolProvider.php b/components/ILIAS/Taxonomy/GlobalScreen/classes/class.ilTaxonomyGSToolProvider.php index 504b7fd8cc77..2cd06d51fded 100755 --- a/components/ILIAS/Taxonomy/GlobalScreen/classes/class.ilTaxonomyGSToolProvider.php +++ b/components/ILIAS/Taxonomy/GlobalScreen/classes/class.ilTaxonomyGSToolProvider.php @@ -88,6 +88,12 @@ private function getEditTree(array $gui_path, int $tax_id, string $cmd, string $ $cmd ); + $gui = $this->dic->taxonomy()->internal()->gui(); + $params = $gui->http()->request()->getQueryParams(); + $current_tax_node = (int) ($params["tax_node"] ?? null); + $tax_exp->setPathOpen($current_tax_node); + + return $tax_exp->getHTML(); } } diff --git a/components/ILIAS/Taxonomy/classes/class.ilObjTaxonomyGUI.php b/components/ILIAS/Taxonomy/classes/class.ilObjTaxonomyGUI.php index 49c17534c8ee..b8e2e6ab3878 100755 --- a/components/ILIAS/Taxonomy/classes/class.ilObjTaxonomyGUI.php +++ b/components/ILIAS/Taxonomy/classes/class.ilObjTaxonomyGUI.php @@ -337,6 +337,7 @@ public function createTaxNode(): void $tpl = $this->tpl; $ilHelp = $this->help; + $this->showTree(); $this->setTabs("list_items"); $ilHelp->setSubScreenId("create_node"); @@ -471,6 +472,7 @@ public function deleteItems(): void $ilCtrl = $this->ctrl; $ilHelp = $this->help; $body = $this->request->getParsedBody(); + $this->showTree(); if (!isset($body["id"])) { $this->tpl->setOnScreenMessage('failure', $this->lng->txt("no_checkbox"), true); @@ -776,6 +778,7 @@ public function editSettings(): void { $tpl = $this->tpl; + $this->showTree(); $this->setTabs("settings"); $form = $this->initSettingsForm(); From 0298a397a27ce2567e0745bb7a8f56ce43137420 Mon Sep 17 00:00:00 2001 From: Alexander Killing Date: Fri, 6 Feb 2026 08:57:51 +0100 Subject: [PATCH 551/865] 42489: Awareness Tool: User actions do not expand when clicking on a user --- .../ILIAS/Awareness/classes/class.ilAwarenessGUI.php | 10 ++++++---- components/ILIAS/Awareness/resources/Awareness.js | 1 + 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/components/ILIAS/Awareness/classes/class.ilAwarenessGUI.php b/components/ILIAS/Awareness/classes/class.ilAwarenessGUI.php index eeb15509f512..72175dcdcb73 100755 --- a/components/ILIAS/Awareness/classes/class.ilAwarenessGUI.php +++ b/components/ILIAS/Awareness/classes/class.ilAwarenessGUI.php @@ -91,10 +91,12 @@ public function executeCommand(): void public function initJS(): void { - $ilUser = $this->user; - // init js - //$this->main_tpl->addJavaScript("../components/ILIAS/Awareness/resources/Awareness.js"); - $this->main_tpl->addJavaScript("./assets/js/Awareness.js"); + $debug = false; + if ($debug) { + $this->main_tpl->addJavaScript("../components/ILIAS/Awareness/resources/Awareness.js"); + } else { + $this->main_tpl->addJavaScript("./assets/js/Awareness.js"); + } $this->ctrl->setParameter($this, "ref_id", $this->ref_id); $this->main_tpl->addOnLoadCode("il.Awareness.setBaseUrl('" . $this->ctrl->getLinkTarget( $this, diff --git a/components/ILIAS/Awareness/resources/Awareness.js b/components/ILIAS/Awareness/resources/Awareness.js index 16f1485268ed..001e2d0cb525 100755 --- a/components/ILIAS/Awareness/resources/Awareness.js +++ b/components/ILIAS/Awareness/resources/Awareness.js @@ -76,6 +76,7 @@ il.Awareness = { afterListUpdate: function() { var t = il.Awareness; + t.init(); $("#il_awrn_filter_form").submit(function (e) { var t = il.Awareness; $("#il_awrn_filer_btn").html(""); From 7269bbb7fb2db97dffaa09bf8196c586f6d194c1 Mon Sep 17 00:00:00 2001 From: Alexander Killing Date: Fri, 6 Feb 2026 12:05:17 +0100 Subject: [PATCH 552/865] 47135: ILIAS crashes when ilMobMigration is incomplete --- .../MediaObject/MediaObjectRepository.php | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/components/ILIAS/MediaObjects/MediaObject/MediaObjectRepository.php b/components/ILIAS/MediaObjects/MediaObject/MediaObjectRepository.php index b02b6cd8017f..a21c3a387853 100644 --- a/components/ILIAS/MediaObjects/MediaObject/MediaObjectRepository.php +++ b/components/ILIAS/MediaObjects/MediaObject/MediaObjectRepository.php @@ -179,12 +179,20 @@ public function addLocalDirectory(int $mob_id, string $dir): void public function getLocalSrc(int $mob_id, string $location): string { - return $this->irss->getContainerUri($this->getRidForMobId($mob_id), $location); + $rid = $this->getRidForMobId($mob_id); + if ($rid === "") { + return ""; + } + return $this->irss->getContainerUri($rid, $location); } public function hasLocalFile(int $mob_id, string $location): bool { - return $this->irss->hasContainerEntry($this->getRidForMobId($mob_id), $location); + $rid = $this->getRidForMobId($mob_id); + if ($rid === "") { + return false; + } + return $this->irss->hasContainerEntry($rid, $location); } public function getLocationStream( @@ -200,8 +208,7 @@ public function getLocationStream( public function getLocationContent( int $mob_id, string $location - ) : string - { + ): string { $content = ""; if (str_starts_with($location, "/")) { $location = substr($location, 1); From c691b86ddca51604074f2a6784f08ace333c9393 Mon Sep 17 00:00:00 2001 From: Tim Schmitz Date: Fri, 6 Feb 2026 13:35:00 +0100 Subject: [PATCH 553/865] Staff: fix links to profile (46744) --- .../MyStaff/classes/ShowUser/class.ilMStShowUserGUI.php | 1 + components/ILIAS/MyStaff/classes/class.ilMyStaffGUI.php | 6 +----- 2 files changed, 2 insertions(+), 5 deletions(-) diff --git a/components/ILIAS/MyStaff/classes/ShowUser/class.ilMStShowUserGUI.php b/components/ILIAS/MyStaff/classes/ShowUser/class.ilMStShowUserGUI.php index 5d968ccc456d..0338678b11dd 100755 --- a/components/ILIAS/MyStaff/classes/ShowUser/class.ilMStShowUserGUI.php +++ b/components/ILIAS/MyStaff/classes/ShowUser/class.ilMStShowUserGUI.php @@ -25,6 +25,7 @@ * @author Martin Studer * @ilCtrl_IsCalledBy ilMStShowUserGUI: ilMyStaffGUI * @ilCtrl_Calls ilMStShowUserGUI: ilUserCertificateGUI + * @ilCtrl_Calls ilMStShowUserGUI: ILIAS\User\Profile\PublicProfileGUI */ class ilMStShowUserGUI { diff --git a/components/ILIAS/MyStaff/classes/class.ilMyStaffGUI.php b/components/ILIAS/MyStaff/classes/class.ilMyStaffGUI.php index 9b80b28cd06e..f53689ccc58b 100755 --- a/components/ILIAS/MyStaff/classes/class.ilMyStaffGUI.php +++ b/components/ILIAS/MyStaff/classes/class.ilMyStaffGUI.php @@ -18,6 +18,7 @@ use ILIAS\MyStaff\ilMyStaffAccess; use ILIAS\MyStaff\ListCourses\ilMStListCourse; +use ILIAS\User\Profile\PublicProfileGUI; /** * Class ilMyStaffGUI @@ -108,11 +109,6 @@ final public static function extendActionMenuWithUserActions( */ switch ($action->getType()) { case "profile": //personal profile - $actions[] = $ui_fac->link()->standard( - $action->getText(), - $action->getHref() . "&back_url=" . $return_url - ); - break; case "compose": //mail case "invite": //public chat case "invite_osd": //direct chat (start conversation) From 7114cdd00bf96b3159277e9d78351a796437aca8 Mon Sep 17 00:00:00 2001 From: Alexander Killing Date: Wed, 4 Feb 2026 08:22:33 +0100 Subject: [PATCH 554/865] =?UTF-8?q?46716:=20WebP=20wird=20im=20Medienobjek?= =?UTF-8?q?t=20/=20Page=20Editor=20als=20nicht=20unterst=C3=BCtzter=20Medi?= =?UTF-8?q?entyp=20abgelehnt?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit # Conflicts: # components/ILIAS/FileUpload/src/mime_type_map.php --- components/ILIAS/FileUpload/src/MimeType.php | 1 + components/ILIAS/FileUpload/src/mime_type_map.php | 1 + 2 files changed, 2 insertions(+) diff --git a/components/ILIAS/FileUpload/src/MimeType.php b/components/ILIAS/FileUpload/src/MimeType.php index 5676871eff78..5c1e5c1b394b 100755 --- a/components/ILIAS/FileUpload/src/MimeType.php +++ b/components/ILIAS/FileUpload/src/MimeType.php @@ -341,6 +341,7 @@ class MimeType public const IMAGE__VND_RN_REALPIX = 'image/vnd.rn-realpix'; public const IMAGE__VND_WAP_WBMP = 'image/vnd.wap.wbmp'; public const IMAGE__VND_XIFF = 'image/vnd.xiff'; + public const IMAGE__WEBP = 'image/webp'; public const IMAGE__XBM = 'image/xbm'; public const IMAGE__XPM = 'image/xpm'; public const IMAGE__X_ADOBE_DNG = 'image/x-adobe-dng'; diff --git a/components/ILIAS/FileUpload/src/mime_type_map.php b/components/ILIAS/FileUpload/src/mime_type_map.php index b5517679a9c7..f4a5556ba4c1 100755 --- a/components/ILIAS/FileUpload/src/mime_type_map.php +++ b/components/ILIAS/FileUpload/src/mime_type_map.php @@ -867,6 +867,7 @@ 'wbmp' => MimeType::IMAGE__VND_WAP_WBMP, 'web' => MimeType::APPLICATION__VND_XARA, 'webm' => MimeType::VIDEO__WEBM, + 'webp' => MimeType::IMAGE__WEBP, 'wiz' => MimeType::APPLICATION__MSWORD, 'wk1' => MimeType::APPLICATION__X_123, 'wm' => MimeType::VIDEO__X_MS_WM, From 0b670600d58dc8fb7e57ee6a483ec58efd3ebfb0 Mon Sep 17 00:00:00 2001 From: Alexander Killing Date: Sat, 7 Feb 2026 09:04:35 +0100 Subject: [PATCH 555/865] 46970: UIComponent/CoPage/Accordion/LearningModule: ./assets/js/owl.carousel.js is requested on every page with page editor content --- components/ILIAS/Accordion/Accordion.php | 4 ---- .../ILIAS/Accordion/classes/class.ilAccordionGUI.php | 9 ++------- 2 files changed, 2 insertions(+), 11 deletions(-) diff --git a/components/ILIAS/Accordion/Accordion.php b/components/ILIAS/Accordion/Accordion.php index 59477bd07f57..de9e2323b0db 100644 --- a/components/ILIAS/Accordion/Accordion.php +++ b/components/ILIAS/Accordion/Accordion.php @@ -34,9 +34,5 @@ public function init( ): void { $contribute[Component\Resource\PublicAsset::class] = fn() => new Component\Resource\ComponentJS($this, "accordion.js"); - /* This library was missing after discussing dependencies for ILIAS 10 - $contribute[Component\Resource\PublicAsset::class] = static fn() => - new Component\Resource\NodeModule("owl.carousel/dist/owl.carousel.js"); - */ } } diff --git a/components/ILIAS/Accordion/classes/class.ilAccordionGUI.php b/components/ILIAS/Accordion/classes/class.ilAccordionGUI.php index c8507fc6becf..c9f02be21eb8 100755 --- a/components/ILIAS/Accordion/classes/class.ilAccordionGUI.php +++ b/components/ILIAS/Accordion/classes/class.ilAccordionGUI.php @@ -44,9 +44,6 @@ class ilAccordionGUI protected string $containerclass = ""; protected string $id = ""; protected bool $head_class_set = false; - public static string $owl_path = "./node_modules/owl.carousel/dist"; - public static string $owl_js_path = "/owl.carousel.js"; - public static string $owl_css_path = "/assets/owl.carousel.css"; protected ilGlobalTemplateInterface $main_tpl; protected string $active_headerclass = ""; protected string $behaviour = self::FIRST_OPEN; @@ -256,16 +253,14 @@ public static function getLocalJavascriptFiles(): array ); } return array( - "assets/js/accordion.js", - "assets/js" . self::$owl_js_path + "assets/js/accordion.js" ); } public static function getLocalCssFiles(): array { return array( - "./components/ILIAS/Accordion/css/accordion.css", - self::$owl_path . self::$owl_css_path + "./components/ILIAS/Accordion/css/accordion.css" ); } From 4f5c45b1654906c59b8e727c6855d256b97e6d7e Mon Sep 17 00:00:00 2001 From: Alexander Killing Date: Sat, 7 Feb 2026 09:39:34 +0100 Subject: [PATCH 556/865] 47163: CoPage: JS error ilias is not defined on views with page editor content --- components/ILIAS/COPage/PC/Question/class.ilPCQuestion.php | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/components/ILIAS/COPage/PC/Question/class.ilPCQuestion.php b/components/ILIAS/COPage/PC/Question/class.ilPCQuestion.php index f3181be5b451..098fa0bb0787 100755 --- a/components/ILIAS/COPage/PC/Question/class.ilPCQuestion.php +++ b/components/ILIAS/COPage/PC/Question/class.ilPCQuestion.php @@ -346,7 +346,9 @@ public function getOnloadCode(string $a_mode): array } } - $code[] = "ilias.questions.refresh_lang();"; + if ($this->getPage()->getPageConfig()->getEnableSelfAssessment()) { + $code[] = "ilias.questions.refresh_lang();"; + } return $code; } From b08657e7537e6aa5f0a27aece163f1edd7092f2f Mon Sep 17 00:00:00 2001 From: Matthias Kunkel Date: Sat, 7 Feb 2026 15:57:57 +0100 Subject: [PATCH 557/865] =?UTF-8?q?Fixed=20Mantis=20#46989:=20Missverst?= =?UTF-8?q?=C3=A4ndlicher=20Text=20bei=20=C3=9Cbung=20/=20R=C3=BCckmeldung?= =?UTF-8?q?=20durch/an=20Tutor?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lang/ilias_de.lang | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lang/ilias_de.lang b/lang/ilias_de.lang index ea980d5d98fb..9adf3c276569 100644 --- a/lang/ilias_de.lang +++ b/lang/ilias_de.lang @@ -9347,7 +9347,7 @@ exc#:#exc_ended#:#Beendet exc#:#exc_ended_on#:#Beendet am exc#:#exc_export_excel#:#Export (Excel) exc#:#exc_fb_files#:#Bewertungsdateien -exc#:#exc_fb_tutor_info#:#Wird eine Datei zur Bewertung der Übungseinheit hochgeladen, erhält die Teilnehmerin oder der Teilnehmer eine Benachrichtigung und kann dann in der Übersicht der Übungseinheiten heruntergeladen und eingesehen werden. +exc#:#exc_fb_tutor_info#:#Wird eine Datei zur Bewertung der Übungseinheit hochgeladen, erhält die Teilnehmerin oder der Teilnehmer eine Benachrichtigung und kann dann die Datei in der Übersicht der Übungseinheiten herunterladen und einsehen. exc#:#exc_feedback#:#Rückmeldungen exc#:#exc_feedback_notification_body#:#Das Feedback zur folgenden Übungseinheit wurde freigeschaltet. exc#:#exc_feedback_notification_link#:#Link zur Übung From c922a8141ba267d7a5842bb92cb6498cba712ab4 Mon Sep 17 00:00:00 2001 From: Alexander Killing Date: Sat, 7 Feb 2026 17:00:20 +0100 Subject: [PATCH 558/865] 41086: Section cannot link to portfolio pages/internal link --- .../ILIAS/COPage/IntLink/class.ilInternalLinkGUI.php | 3 +++ components/ILIAS/Form/classes/class.ilLinkInputGUI.php | 8 +++++++- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/components/ILIAS/COPage/IntLink/class.ilInternalLinkGUI.php b/components/ILIAS/COPage/IntLink/class.ilInternalLinkGUI.php index 0935efebbc48..72a204d25a73 100755 --- a/components/ILIAS/COPage/IntLink/class.ilInternalLinkGUI.php +++ b/components/ILIAS/COPage/IntLink/class.ilInternalLinkGUI.php @@ -58,6 +58,9 @@ public function __construct( bool $a_is_ref = true ) { global $DIC; + if ($a_default_link_type === "PortfolioPage") { + $a_is_ref = false; + } $this->tree = $DIC->repositoryTree(); $this->lng = $DIC->language(); $this->ctrl = $DIC->ctrl(); diff --git a/components/ILIAS/Form/classes/class.ilLinkInputGUI.php b/components/ILIAS/Form/classes/class.ilLinkInputGUI.php index 3b4429b61336..c695389d6319 100755 --- a/components/ILIAS/Form/classes/class.ilLinkInputGUI.php +++ b/components/ILIAS/Form/classes/class.ilLinkInputGUI.php @@ -46,7 +46,8 @@ class ilLinkInputGUI extends ilFormPropertyGUI "page" => "PageObject", "chap" => "StructureObject", "term" => "GlossaryItem", - "wpage" => "WikiPage" + "wpage" => "WikiPage", + "ppage" => "PortfolioPage", ); protected ilObjectDefinition $obj_definition; protected string $requested_postvar; @@ -544,6 +545,11 @@ public static function getTranslatedValue(string $a_value): array $name = ilLMPageObject::_lookupTitle((int) $value[1]); break; + case "ppage": + $type = $lng->txt("cont_prtf_page"); + $name = ilPortfolioPage::lookupTitle((int) $value[1]); + break; + case "chap": $type = $lng->txt("obj_st"); $name = ilStructureObject::_lookupTitle((int) $value[1]); From b0bb87395b811e1351baf91009b3b32fd4d34080 Mon Sep 17 00:00:00 2001 From: Alexander Killing Date: Sat, 7 Feb 2026 17:07:07 +0100 Subject: [PATCH 559/865] =?UTF-8?q?33072:=20Medienpool=20:=20Verf=C3=BCgba?= =?UTF-8?q?rkeit=20/=20Vorbedingungen=20ohne=20Anzeige=20von=20Objektinfor?= =?UTF-8?q?mationen?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- components/ILIAS/MediaPool/classes/class.ilObjMediaPoolGUI.php | 1 + 1 file changed, 1 insertion(+) diff --git a/components/ILIAS/MediaPool/classes/class.ilObjMediaPoolGUI.php b/components/ILIAS/MediaPool/classes/class.ilObjMediaPoolGUI.php index efc48d2c0947..1d8ba42e3e76 100755 --- a/components/ILIAS/MediaPool/classes/class.ilObjMediaPoolGUI.php +++ b/components/ILIAS/MediaPool/classes/class.ilObjMediaPoolGUI.php @@ -391,6 +391,7 @@ public function executeCommand(): void break; case "ilcommonactiondispatchergui": + $this->prepareOutput(); $gui = ilCommonActionDispatcherGUI::getInstanceFromAjaxCall(); $this->ctrl->forwardCommand($gui); break; From 3f36bf2cd97ff6e735a7bcc0edfb1995002f0dc7 Mon Sep 17 00:00:00 2001 From: Alexander Killing Date: Sat, 7 Feb 2026 22:24:48 +0100 Subject: [PATCH 560/865] 45922: Breadcrumb Truncation in Learning Module Presentation View --- .../class.ilLMPresentationGUI.php | 22 ++++++++----------- 1 file changed, 9 insertions(+), 13 deletions(-) diff --git a/components/ILIAS/LearningModule/Presentation/class.ilLMPresentationGUI.php b/components/ILIAS/LearningModule/Presentation/class.ilLMPresentationGUI.php index fd86c1d09d4c..3295446329ea 100755 --- a/components/ILIAS/LearningModule/Presentation/class.ilLMPresentationGUI.php +++ b/components/ILIAS/LearningModule/Presentation/class.ilLMPresentationGUI.php @@ -1033,25 +1033,21 @@ public function ilLocator(): void if ($row["type"] != "pg") { if ($row["child"] != $this->lm_tree->getRootId()) { $ilLocator->addItem( - ilStr::shortenTextExtended( - ilStructureObject::_getPresentationTitle( - $row["child"], - ilLMObject::CHAPTER_TITLE, - $this->lm->isActiveNumbering(), - (bool) $this->lm_set->get("time_scheduled_page_activation"), - false, - 0, - $this->lang - ), - 50, - true + ilStructureObject::_getPresentationTitle( + $row["child"], + ilLMObject::CHAPTER_TITLE, + $this->lm->isActiveNumbering(), + (bool) $this->lm_set->get("time_scheduled_page_activation"), + false, + 0, + $this->lang ), $this->linker->getLink("layout", $row["child"], $frame_param, "StructureObject"), $frame_target ); } else { $ilLocator->addItem( - ilStr::shortenTextExtended($this->getLMPresentationTitle(), 50, true), + $this->getLMPresentationTitle(), $this->linker->getLink("layout", 0, $frame_param), $frame_target, $this->requested_ref_id From 24449c3054d6bd6b743e3f2ac0da85fcf5495d3f Mon Sep 17 00:00:00 2001 From: Alexander Killing Date: Sat, 7 Feb 2026 23:31:52 +0100 Subject: [PATCH 561/865] 46654: Repository-Plugin: Icon not found --- .../PluginSlot/class.ilRepositoryObjectPlugin.php | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/components/ILIAS/Repository/PluginSlot/class.ilRepositoryObjectPlugin.php b/components/ILIAS/Repository/PluginSlot/class.ilRepositoryObjectPlugin.php index af66890529c0..126fd4b72bff 100755 --- a/components/ILIAS/Repository/PluginSlot/class.ilRepositoryObjectPlugin.php +++ b/components/ILIAS/Repository/PluginSlot/class.ilRepositoryObjectPlugin.php @@ -48,18 +48,19 @@ public static function _getImagePath(string $a_ctype, string $a_cname, string $a } $component_repository = $DIC["component.repository"]; + $component_fac = $DIC["component.factory"]; - $plugin = $component_repository->getPluginByName($a_pname); + $plugin_info = $component_repository->getPluginByName($a_pname); $component = $component_repository->getComponentByTypeAndName($a_ctype, $a_cname); - $d2 = $component->getId() . "_" . $a_slot_id . "_" . $plugin->getId(); - + $d2 = $component->getId() . "_" . $a_slot_id . "_" . $plugin_info->getId(); $img = ilUtil::getImagePath($d2 . "/" . $a_img); if (is_int(strpos($img, "Customizing"))) { return $img; } - $d = $plugin->getPath(); + $plugin = $component_fac->getPlugin($plugin_info->getId()); + $d = $plugin->getRelativeDirectory(); return $d . "/templates/images/" . $a_img; } From 85c89f8a8606a05d6baf040dbd14006e7ac88050 Mon Sep 17 00:00:00 2001 From: Alexander Killing Date: Sun, 8 Feb 2026 00:01:19 +0100 Subject: [PATCH 562/865] 36581: Adding a new headline in local user admin tab --- components/ILIAS/Category/classes/class.ilObjCategoryGUI.php | 2 ++ 1 file changed, 2 insertions(+) diff --git a/components/ILIAS/Category/classes/class.ilObjCategoryGUI.php b/components/ILIAS/Category/classes/class.ilObjCategoryGUI.php index fc648623592f..65d99e0fc9cb 100755 --- a/components/ILIAS/Category/classes/class.ilObjCategoryGUI.php +++ b/components/ILIAS/Category/classes/class.ilObjCategoryGUI.php @@ -1041,6 +1041,8 @@ public function listUsersObject(bool $show_delete = false): void $this->lng->loadLanguageModule('user'); $utab = new ilUserTableGUI($this, 'listUsers', ilUserTableGUI::MODE_LOCAL_USER); + $utab->setTitle($this->lng->txt('administrate_users_headline')); + ; $this->tpl->setVariable('USERS_TABLE', $utab->getHTML()); } From ddf227021c0c4e22db1d87e156c3bf3b4cdb4bb5 Mon Sep 17 00:00:00 2001 From: Alexander Killing Date: Sun, 8 Feb 2026 00:02:56 +0100 Subject: [PATCH 563/865] 36581: Adding a new headline in local user admin tab --- components/ILIAS/Category/classes/class.ilObjCategoryGUI.php | 1 - 1 file changed, 1 deletion(-) diff --git a/components/ILIAS/Category/classes/class.ilObjCategoryGUI.php b/components/ILIAS/Category/classes/class.ilObjCategoryGUI.php index 65d99e0fc9cb..3ebbbbcc7249 100755 --- a/components/ILIAS/Category/classes/class.ilObjCategoryGUI.php +++ b/components/ILIAS/Category/classes/class.ilObjCategoryGUI.php @@ -1042,7 +1042,6 @@ public function listUsersObject(bool $show_delete = false): void $utab = new ilUserTableGUI($this, 'listUsers', ilUserTableGUI::MODE_LOCAL_USER); $utab->setTitle($this->lng->txt('administrate_users_headline')); - ; $this->tpl->setVariable('USERS_TABLE', $utab->getHTML()); } From 57569487d8ebe1c95b3fc67f2c067be0e1aa1b9f Mon Sep 17 00:00:00 2001 From: Alexander Killing Date: Sun, 8 Feb 2026 11:16:27 +0100 Subject: [PATCH 564/865] 44419: P Element um Button Text bearbeiten --- .../Assignment/templates/default/tpl.panel_content.html | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/components/ILIAS/Exercise/Assignment/templates/default/tpl.panel_content.html b/components/ILIAS/Exercise/Assignment/templates/default/tpl.panel_content.html index 60c2bf9d06cf..862f46b08435 100755 --- a/components/ILIAS/Exercise/Assignment/templates/default/tpl.panel_content.html +++ b/components/ILIAS/Exercise/Assignment/templates/default/tpl.panel_content.html @@ -16,11 +16,11 @@
-

+

{BUTTON} -

+
From 3984a4f860a772d90103aeb1ff42905419c9a436 Mon Sep 17 00:00:00 2001 From: Alexander Killing Date: Sun, 8 Feb 2026 12:17:24 +0100 Subject: [PATCH 565/865] 43245: Woops when resizing an image in the media pool / ILIAS Page Editor --- .../MediaObject/MediaObjectManager.php | 50 +++++- .../MediaObject/class.ilObjMediaObject.php | 35 ---- .../MediaObject/class.ilObjMediaObjectGUI.php | 161 +++--------------- 3 files changed, 73 insertions(+), 173 deletions(-) diff --git a/components/ILIAS/MediaObjects/MediaObject/MediaObjectManager.php b/components/ILIAS/MediaObjects/MediaObject/MediaObjectManager.php index 82be18dc28a0..e87969366feb 100644 --- a/components/ILIAS/MediaObjects/MediaObject/MediaObjectManager.php +++ b/components/ILIAS/MediaObjects/MediaObject/MediaObjectManager.php @@ -101,8 +101,7 @@ public function getLocationStream( public function getLocationContent( int $mob_id, string $location - ) : string - { + ): string { return $this->repo->getLocationContent($mob_id, $location); } @@ -232,6 +231,53 @@ public function generatePreview( } } + public function resizeImage( + int $mob_id, + string $location, + string $format, + int $width, + int $height, + bool $a_constrain_prop = false + ): string { + + if (!is_int(strpos($format, "image/"))) { + return ""; + } + + $file_path = pathinfo($location); + $new_location = substr($file_path["basename"], 0, strlen($file_path["basename"]) - + strlen($file_path["extension"]) - 1) . "_" . + $width . "_" . + $height . "." . $file_path["extension"]; + + + $image_quality = 60; + + // the zip stream is not seekable, which is needed by Imagick + // so we create a seekable stream first + $tempStream = fopen('php://temp', 'w+'); + stream_copy_to_stream($this->repo->getLocationStream($mob_id, $location)->detach(), $tempStream); + rewind($tempStream); + $stream = new Stream($tempStream); + + $converter = $this->image_converters->resizeToFixedSize( + $stream, + $width, + $height, + false, + $this->output_options + //->withQuality($image_quality) + //->withFormat(ImageOutputOptions::FORMAT_PNG) + ); + $this->repo->addStream( + $mob_id, + $new_location, + $converter->getStream() + ); + fclose($tempStream); + return $new_location; + } + public function addPreviewFromUrl( int $mob_id, string $url, diff --git a/components/ILIAS/MediaObjects/MediaObject/class.ilObjMediaObject.php b/components/ILIAS/MediaObjects/MediaObject/class.ilObjMediaObject.php index d30ce53253fe..b94868ad4d09 100755 --- a/components/ILIAS/MediaObjects/MediaObject/class.ilObjMediaObject.php +++ b/components/ILIAS/MediaObjects/MediaObject/class.ilObjMediaObject.php @@ -1197,41 +1197,6 @@ public static function getParentObjectIdForUsage( return $obj_id; } - /** - * Resize image and return new image file ("_width_height" string appended) - */ - public static function _resizeImage( - string $a_file, - int $a_width, - int $a_height, - bool $a_constrain_prop = false - ): string { - global $DIC; - $file_path = pathinfo($a_file); - $location = substr($file_path["basename"], 0, strlen($file_path["basename"]) - - strlen($file_path["extension"]) - 1) . "_" . - $a_width . "_" . - $a_height . "." . $file_path["extension"]; - $target_file = $file_path["dirname"] . "/" . - $location; - - $returned_target_file = $DIC->fileConverters() - ->legacyImages() - ->resizeToFixedSize( - $a_file, - $target_file, - $a_width, - $a_height, - $a_constrain_prop - ); - - if ($returned_target_file !== $target_file) { - throw new RuntimeException('Could not resize image'); - } - - return $location; - } - /** * get mime type for file */ diff --git a/components/ILIAS/MediaObjects/MediaObject/class.ilObjMediaObjectGUI.php b/components/ILIAS/MediaObjects/MediaObject/class.ilObjMediaObjectGUI.php index b47be8eb7e55..147e557387e0 100755 --- a/components/ILIAS/MediaObjects/MediaObject/class.ilObjMediaObjectGUI.php +++ b/components/ILIAS/MediaObjects/MediaObject/class.ilObjMediaObjectGUI.php @@ -796,8 +796,10 @@ public function setObjectPerCreationForm( is_int(strpos($format, "image"))) ) { $full_wh_input = $form->getInput("full_width_height"); - $location = ilObjMediaObject::_resizeImage( - $file, + $location = $this->media_manager->resizeImage( + $this->object->getId(), + $full_file_name, + $format, (int) $full_wh_input["width"], (int) $full_wh_input["height"], (bool) ($full_wh_input["constr_prop"] ?? false) @@ -891,17 +893,15 @@ public function extractPreviewImageObject(): void */ public function resizeImagesObject(): void { - // directory - $mob_dir = ilObjMediaObject::_getDirectory($this->object->getId()); - // standard item $std_item = $this->object->getMediaItem("Standard"); if ($std_item->getLocationType() == "LocalFile" && is_int(strpos($std_item->getFormat(), "image")) ) { - $file = $mob_dir . "/" . $std_item->getLocation(); - $location = ilObjMediaObject::_resizeImage( - $file, + $location = $this->media_manager->resizeImage( + $this->object->getId(), + $std_item->getLocation(), + $std_item->getFormat(), $std_item->getWidth(), $std_item->getHeight() ); @@ -915,9 +915,10 @@ public function resizeImagesObject(): void if ($full_item->getLocationType() == "LocalFile" && is_int(strpos($full_item->getFormat(), "image")) ) { - $file = $mob_dir . "/" . $full_item->getLocation(); - $location = ilObjMediaObject::_resizeImage( - $file, + $location = $this->media_manager->resizeImage( + $this->object->getId(), + $full_item->getLocation(), + $full_item->getFormat(), $full_item->getWidth(), $full_item->getHeight() ); @@ -1018,8 +1019,10 @@ public function savePropertiesObject(): void if ($form->getInput("standard_size") != "original" && is_int(strpos($format, "image"))) { $wh_input = $form->getInput("standard_width_height"); - $location = ilObjMediaObject::_resizeImage( - $file, + $location = $this->media_manager->resizeImage( + $this->object->getId(), + $location, + $format, (int) $wh_input["width"], (int) $wh_input["height"], (bool) ($wh_input["constr_prop"] ?? false) @@ -1095,19 +1098,17 @@ public function savePropertiesObject(): void if ($form->getInput("full_type") == "File") { $resize = false; if ($_FILES['full_file']['name'] != "") { - //$full_file_name = ilObjMediaObject::fixFilename($_FILES['full_file']['name']); $full_file_name = $_FILES['full_file']['name']; $this->media_manager->addFileFromLegacyUpload( $this->object->getId(), $_FILES['full_file']['tmp_name'] ); - $format = ilObjMediaObject::getMimeType($file); + $format = ilObjMediaObject::getMimeType($full_file_name); $location = $full_file_name; $resize = true; } elseif ($form->getInput("full_resize")) { - $file = $mob_dir . "/" . $location; $resize = true; } @@ -1116,8 +1117,10 @@ public function savePropertiesObject(): void if ($form->getInput("full_size") != "original" && is_int(strpos($format, "image"))) { $wh_input = $form->getInput("full_width_height"); - $location = ilObjMediaObject::_resizeImage( - $file, + $location = $this->media_manager->resizeImage( + $this->object->getId(), + $location, + $format, (int) $wh_input["width"], (int) $wh_input["height"], (bool) ($wh_input["constr_prop"] ?? false) @@ -1144,10 +1147,11 @@ public function savePropertiesObject(): void if ($form->getInput("full_size") != "original" && is_int(strpos($format, "image")) && $full_item->getLocationType() == "LocalFile") { - $file = $mob_dir . "/" . $location; $wh_input = $form->getInput("full_width_height"); - $location = ilObjMediaObject::_resizeImage( - $file, + $location = $this->media_manager->resizeImage( + $this->object->getId(), + $location, + $format, (int) $wh_input["width"], (int) $wh_input["height"], (bool) ($wh_input["constr_prop"] ?? false) @@ -1192,11 +1196,6 @@ public function savePropertiesObject(): void } } - /* - ilObjMediaObject::renameExecutables(ilObjMediaObject::_getDirectory($this->object->getId())); - ilMediaSvgSanitizer::sanitizeDir(ilObjMediaObject::_getDirectory($this->object->getId())); - */ // see #20339 - $this->object->update(); $this->tpl->setOnScreenMessage('success', $lng->txt("msg_obj_modified"), true); $this->ctrl->redirect($this, "edit"); @@ -1206,116 +1205,6 @@ public function savePropertiesObject(): void } } - /** - * assign file to standard view - */ - public function assignStandardObject( - string $a_file - ): void { - // determine directory - $cur_subdir = dirname($a_file); - $mob_dir = ilFileUtils::getWebspaceDir() . "/mobs/mm_" . $this->object->getId(); - $cur_dir = (!empty($cur_subdir)) - ? $mob_dir . "/" . $cur_subdir - : $mob_dir; - $file = $cur_dir . "/" . basename($a_file); - $location = $a_file; - - if (!is_file($file)) { - $this->ilias->raiseError($this->lng->txt("cont_select_file"), $this->ilias->error_obj->MESSAGE); - } - - $std_item = $this->object->getMediaItem("Standard"); - $std_item->setLocationType("LocalFile"); - $std_item->setLocation($location); - $format = ilObjMediaObject::getMimeType($file); - $std_item->setFormat($format); - $this->object->update(); - // $this->ctrl->saveParameter($this, "cdir"); - $this->ctrl->redirectByClass(ilContainerResourceGUI::class, "listFiles"); - } - - - /** - * assign file to fullscreen view - */ - public function assignFullscreenObject( - string $a_file - ): void { - // determine directory - $cur_subdir = dirname($a_file); - $mob_dir = ilFileUtils::getWebspaceDir() . "/mobs/mm_" . $this->object->getId(); - $cur_dir = (!empty($cur_subdir)) - ? $mob_dir . "/" . $cur_subdir - : $mob_dir; - $file = $cur_dir . "/" . basename($a_file); - $location = $a_file; - - if (!is_file($file)) { - $this->ilias->raiseError($this->lng->txt("cont_select_file"), $this->ilias->error_obj->MESSAGE); - } - - if (!$this->object->hasFullscreenItem()) { // create new fullscreen item - $std_item = $this->object->getMediaItem("Standard"); - $mob_dir = ilFileUtils::getWebspaceDir() . "/mobs/mm_" . $this->object->getId(); - $file = $mob_dir . "/" . $location; - $full_item = new ilMediaItem(); - $full_item->setMobId($std_item->getMobId()); - $full_item->setLocation($location); - $full_item->setLocationType("LocalFile"); - $full_item->setFormat(ilObjMediaObject::getMimeType($file)); - $full_item->setPurpose("Fullscreen"); - $this->object->addMediaItem($full_item); - } else { // alter existing fullscreen item - $full_item = $this->object->getMediaItem("Fullscreen"); - - $full_item->setLocationType("LocalFile"); - $full_item->setLocation($location); - $format = ilObjMediaObject::getMimeType($file); - $full_item->setFormat($format); - } - $this->object->update(); - // $this->ctrl->saveParameter($this, "cdir"); - $this->ctrl->redirectByClass(ilContainerResourceGUI::class, "listFiles"); - } - - - /** - * remove fullscreen view - */ - public function removeFullscreenObject(): void - { - $this->object->removeMediaItem("Fullscreen"); - $this->object->update(); - - $this->ctrl->redirect($this, "edit"); - } - - /** - * add fullscreen view - */ - public function addFullscreenObject(): void - { - if (!$this->object->hasFullscreenItem()) { - $std_item = $this->object->getMediaItem("Standard"); - $full_item = new ilMediaItem(); - $full_item->setMobId($std_item->getMobId()); - $full_item->setLocation($std_item->getLocation()); - $full_item->setLocationType($std_item->getLocationType()); - $full_item->setFormat($std_item->getFormat()); - $full_item->setWidth($std_item->getWidth()); - $full_item->setHeight($std_item->getHeight()); - $full_item->setCaption($std_item->getCaption()); - $full_item->setTextRepresentation($std_item->getTextRepresentation()); - $full_item->setPurpose("Fullscreen"); - $this->object->addMediaItem($full_item); - - $this->object->update(); - } - - $this->ctrl->redirect($this, "edit"); - } - /** * Show all media object usages (incl history) */ From 4433139d1c84038106aa944467ff73c7a168f9c0 Mon Sep 17 00:00:00 2001 From: Alexander Killing Date: Sun, 8 Feb 2026 14:52:48 +0100 Subject: [PATCH 566/865] 47012: Error message when entering a title longer than 200 characters --- .../Editing/class.EditSubObjectsGUI.php | 16 ++++++++++++++++ .../classes/class.ilLMObjTranslation.php | 5 +++-- .../LearningModule/classes/class.ilLMObject.php | 2 ++ .../Service/Form/class.FormAdapterGUI.php | 6 +++++- 4 files changed, 26 insertions(+), 3 deletions(-) diff --git a/components/ILIAS/LearningModule/Editing/class.EditSubObjectsGUI.php b/components/ILIAS/LearningModule/Editing/class.EditSubObjectsGUI.php index c430e529b3c1..b785eb48d23a 100644 --- a/components/ILIAS/LearningModule/Editing/class.EditSubObjectsGUI.php +++ b/components/ILIAS/LearningModule/Editing/class.EditSubObjectsGUI.php @@ -403,15 +403,26 @@ protected function getEditTitleForm(int $id): FormAdapterGUI $this->gui->ctrl()->setParameterByClass(self::class, "edit_id", $id); $ot = (new TranslationsRepository($this->domain->database()))->getFor($this->lm->getId()); $ml = ""; +<<<<<<< HEAD if ($ot->getContentTranslationActivated()) { $ml = " (" . $lng->txt("meta_l_" . $ot->getBaseLanguage()) . ")"; +======= + if ($ot->getContentActivated()) { + $ml = " (" . $lng->txt("meta_l_" . $ot->getMasterLanguage()) . ")"; +>>>>>>> 9796661b130 (47012: Error message when entering a title longer than 200 characters) } $form = $this ->gui +<<<<<<< HEAD ->form([self::class], "saveTitle") ->text("title", $lng->txt('title') . $ml, "", ilLMObject::_lookupTitle($id)); if ($ot->getContentTranslationActivated()) { +======= + ->form(self::class, "saveTitle") + ->text("title", $lng->txt('title') . $ml, "", ilLMObject::_lookupTitle($id), 200); + if ($ot->getContentActivated()) { +>>>>>>> 9796661b130 (47012: Error message when entering a title longer than 200 characters) foreach ($ot->getLanguages() as $lang) { $code = $lang->getLanguageCode(); if ($code === $ot->getBaseLanguage()) { @@ -423,7 +434,12 @@ protected function getEditTitleForm(int $id): FormAdapterGUI "title_" . $code, $lng->txt('title') . " (" . $lng->txt("meta_l_" . $code) . ")", "", +<<<<<<< HEAD $title +======= + $title, + 200 +>>>>>>> 9796661b130 (47012: Error message when entering a title longer than 200 characters) ); } } diff --git a/components/ILIAS/LearningModule/classes/class.ilLMObjTranslation.php b/components/ILIAS/LearningModule/classes/class.ilLMObjTranslation.php index 71a833fc32e5..d3233ac3ab5b 100755 --- a/components/ILIAS/LearningModule/classes/class.ilLMObjTranslation.php +++ b/components/ILIAS/LearningModule/classes/class.ilLMObjTranslation.php @@ -115,12 +115,13 @@ public function save(): void { $ilDB = $this->db; + $title = ilStr::substr($this->getTitle(), 0, 200); if (!self::exists($this->getId(), $this->getLang())) { $ilDB->manipulate("INSERT INTO lm_data_transl " . "(id, lang, title, short_title, create_date, last_update) VALUES (" . $ilDB->quote($this->getId(), "integer") . "," . $ilDB->quote($this->getLang(), "text") . "," . - $ilDB->quote($this->getTitle(), "text") . "," . + $ilDB->quote($title, "text") . "," . $ilDB->quote($this->getShortTitle(), "text") . "," . $ilDB->now() . "," . $ilDB->now() . @@ -128,7 +129,7 @@ public function save(): void } else { $ilDB->manipulate( "UPDATE lm_data_transl SET " . - " title = " . $ilDB->quote($this->getTitle(), "text") . "," . + " title = " . $ilDB->quote($title, "text") . "," . " short_title = " . $ilDB->quote($this->getShortTitle(), "text") . "," . " last_update = " . $ilDB->now() . " WHERE id = " . $ilDB->quote($this->getId(), "integer") . diff --git a/components/ILIAS/LearningModule/classes/class.ilLMObject.php b/components/ILIAS/LearningModule/classes/class.ilLMObject.php index 32fb3d523c8a..6aa2d9d07f8c 100755 --- a/components/ILIAS/LearningModule/classes/class.ilLMObject.php +++ b/components/ILIAS/LearningModule/classes/class.ilLMObject.php @@ -275,6 +275,8 @@ public static function _writeTitle(int $a_obj_id, string $a_title): void $ilDB = $DIC->database(); + $a_title = ilStr::substr($a_title, 0, 200); + $query = "UPDATE lm_data SET " . " title = " . $ilDB->quote($a_title, "text") . " WHERE obj_id = " . $ilDB->quote($a_obj_id, "integer"); diff --git a/components/ILIAS/Repository/Service/Form/class.FormAdapterGUI.php b/components/ILIAS/Repository/Service/Form/class.FormAdapterGUI.php index 10ba7eccbd04..8a4d133db6b6 100755 --- a/components/ILIAS/Repository/Service/Form/class.FormAdapterGUI.php +++ b/components/ILIAS/Repository/Service/Form/class.FormAdapterGUI.php @@ -175,10 +175,14 @@ public function text( string $key, string $title, string $description = "", - ?string $value = null + ?string $value = null, + int $max_length = 0 ): self { $this->values[$key] = $value; $field = $this->ui->factory()->input()->field()->text($title, $description); + if ($max_length > 0) { + $field = $field->withMaxLength($max_length); + } if (!is_null($value)) { $field = $field->withValue($value); } From c45fcdeccdc90b95ddf0a47aa8145532555e4792 Mon Sep 17 00:00:00 2001 From: Alexander Killing Date: Sun, 8 Feb 2026 14:57:17 +0100 Subject: [PATCH 567/865] fixed conflict marker --- .../Editing/class.EditSubObjectsGUI.php | 17 +---------------- 1 file changed, 1 insertion(+), 16 deletions(-) diff --git a/components/ILIAS/LearningModule/Editing/class.EditSubObjectsGUI.php b/components/ILIAS/LearningModule/Editing/class.EditSubObjectsGUI.php index b785eb48d23a..92620e275ae0 100644 --- a/components/ILIAS/LearningModule/Editing/class.EditSubObjectsGUI.php +++ b/components/ILIAS/LearningModule/Editing/class.EditSubObjectsGUI.php @@ -403,26 +403,15 @@ protected function getEditTitleForm(int $id): FormAdapterGUI $this->gui->ctrl()->setParameterByClass(self::class, "edit_id", $id); $ot = (new TranslationsRepository($this->domain->database()))->getFor($this->lm->getId()); $ml = ""; -<<<<<<< HEAD if ($ot->getContentTranslationActivated()) { $ml = " (" . $lng->txt("meta_l_" . $ot->getBaseLanguage()) . ")"; -======= - if ($ot->getContentActivated()) { - $ml = " (" . $lng->txt("meta_l_" . $ot->getMasterLanguage()) . ")"; ->>>>>>> 9796661b130 (47012: Error message when entering a title longer than 200 characters) } $form = $this ->gui -<<<<<<< HEAD ->form([self::class], "saveTitle") - ->text("title", $lng->txt('title') . $ml, "", ilLMObject::_lookupTitle($id)); - if ($ot->getContentTranslationActivated()) { -======= - ->form(self::class, "saveTitle") ->text("title", $lng->txt('title') . $ml, "", ilLMObject::_lookupTitle($id), 200); - if ($ot->getContentActivated()) { ->>>>>>> 9796661b130 (47012: Error message when entering a title longer than 200 characters) + if ($ot->getContentTranslationActivated()) { foreach ($ot->getLanguages() as $lang) { $code = $lang->getLanguageCode(); if ($code === $ot->getBaseLanguage()) { @@ -434,12 +423,8 @@ protected function getEditTitleForm(int $id): FormAdapterGUI "title_" . $code, $lng->txt('title') . " (" . $lng->txt("meta_l_" . $code) . ")", "", -<<<<<<< HEAD - $title -======= $title, 200 ->>>>>>> 9796661b130 (47012: Error message when entering a title longer than 200 characters) ); } } From 4b358c6cf273f130c7bc8bd77f05b827b8cb63c2 Mon Sep 17 00:00:00 2001 From: Alexander Killing Date: Sun, 8 Feb 2026 16:09:57 +0100 Subject: [PATCH 568/865] 045649: Column Layout: --- components/ILIAS/COPage/css/content_base.css | 9 +++++++++ components/ILIAS/COPage/xsl/page.xsl | 5 +++-- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/components/ILIAS/COPage/css/content_base.css b/components/ILIAS/COPage/css/content_base.css index ff6ee8cebe7d..b5a473e14ce4 100755 --- a/components/ILIAS/COPage/css/content_base.css +++ b/components/ILIAS/COPage/css/content_base.css @@ -253,3 +253,12 @@ button.copg-add.dropdown-toggle.btn:focus-visible { .il-copg-mob-fullscreen { height: calc(90vh - 160px); } + +.copg-edit-container:not(.il_editarea) { + border: none !important; +} + + +.copg-edit-container { + outline: 1px dashed #d0d0d0; +} diff --git a/components/ILIAS/COPage/xsl/page.xsl b/components/ILIAS/COPage/xsl/page.xsl index 55332676a751..e6ad2022ff29 100755 --- a/components/ILIAS/COPage/xsl/page.xsl +++ b/components/ILIAS/COPage/xsl/page.xsl @@ -307,7 +307,8 @@
- il_editarea + il_editarea copg-edit-container + pc-area @@ -3591,7 +3592,7 @@ - copg-edit-container +
col-sm- From 19eb5a074b31235dddc7291a98cf96e5fe46cb14 Mon Sep 17 00:00:00 2001 From: Alexander Killing Date: Sun, 8 Feb 2026 16:32:35 +0100 Subject: [PATCH 569/865] 045649: Column Layout: --- components/ILIAS/COPage/css/content_base.css | 11 +--- components/ILIAS/COPage/xsl/page.xsl | 55 ++++++++++---------- 2 files changed, 29 insertions(+), 37 deletions(-) diff --git a/components/ILIAS/COPage/css/content_base.css b/components/ILIAS/COPage/css/content_base.css index b5a473e14ce4..ff752cb79828 100755 --- a/components/ILIAS/COPage/css/content_base.css +++ b/components/ILIAS/COPage/css/content_base.css @@ -252,13 +252,4 @@ button.copg-add.dropdown-toggle.btn:focus-visible { .il-copg-mob-fullscreen { height: calc(90vh - 160px); -} - -.copg-edit-container:not(.il_editarea) { - border: none !important; -} - - -.copg-edit-container { - outline: 1px dashed #d0d0d0; -} +} \ No newline at end of file diff --git a/components/ILIAS/COPage/xsl/page.xsl b/components/ILIAS/COPage/xsl/page.xsl index e6ad2022ff29..4036795be9ca 100755 --- a/components/ILIAS/COPage/xsl/page.xsl +++ b/components/ILIAS/COPage/xsl/page.xsl @@ -307,8 +307,7 @@
- il_editarea copg-edit-container - + il_editarea pc-area @@ -3604,33 +3603,35 @@ - +
+ + + + + + + + + + + + + + cmd[exec_:] + +
+
+ + End of Grid Cell +
- - - - - - - - - - - - - - - - cmd[exec_:] - -
-
+ + - End of Grid Cell
From 411c33ded9bd37662911ce462545569acdca62a5 Mon Sep 17 00:00:00 2001 From: Stephan Kergomard Date: Mon, 9 Feb 2026 08:24:21 +0100 Subject: [PATCH 570/865] Test: Forbid Saving Order on Results Exists See: https://mantis.ilias.de/view.php?id=46844 --- .../src/Questions/Presentation/QuestionsTableActions.php | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/components/ILIAS/Test/src/Questions/Presentation/QuestionsTableActions.php b/components/ILIAS/Test/src/Questions/Presentation/QuestionsTableActions.php index 1732c33ada1a..2ba63254041c 100644 --- a/components/ILIAS/Test/src/Questions/Presentation/QuestionsTableActions.php +++ b/components/ILIAS/Test/src/Questions/Presentation/QuestionsTableActions.php @@ -157,6 +157,12 @@ public function handleCommand( switch ($cmd) { case self::ACTION_SAVE_ORDER: $protect_by_write_protection(); + + if ($this->is_in_test_with_random_question_set || $this->is_in_test_with_results) { + $this->tpl->setOnScreenMessage('failure', $this->lng->txt('questionlist_cannot_be_altered')); + return true; + } + $data = $get_table()->getTableComponent()->getData(); $this->test_obj->setQuestionOrder(array_flip($data), []); $this->tpl->setOnScreenMessage('success', $this->lng->txt('saved_successfully'), true); From 1c8e5420b63d660cdf2b31818230df403a1e7139 Mon Sep 17 00:00:00 2001 From: Stephan Kergomard Date: Mon, 9 Feb 2026 08:30:52 +0100 Subject: [PATCH 571/865] Object: Fix Plugins Title Of Create Form See: https://mantis.ilias.de/view.php?id=46961 --- .../ILIASObject/classes/class.ilObjectGUI.php | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/components/ILIAS/ILIASObject/classes/class.ilObjectGUI.php b/components/ILIAS/ILIASObject/classes/class.ilObjectGUI.php index 196b880db99e..55ab390d79ec 100755 --- a/components/ILIAS/ILIASObject/classes/class.ilObjectGUI.php +++ b/components/ILIAS/ILIASObject/classes/class.ilObjectGUI.php @@ -725,14 +725,23 @@ protected function getCreationFormsHTML(StandardForm|ilPropertyFormGUI|array $fo protected function getTitleForCreationFormPage(): string { if (!$this->obj_definition->isPlugin($this->requested_new_type)) { - return $this->lng->txt('obj_' . $this->requested_new_type); + return $this->lng->txt("obj_{$this->requested_new_type}"); } - return ilObjectPlugin::lookupTxtById($this->requested_new_type, "obj_{$this->requested_new_type}"); + return ilObjectPlugin::lookupTxtById( + $this->requested_new_type, + "obj_{$this->requested_new_type}" + ); } protected function getCreationFormTitle(): string { - return $this->lng->txt($this->requested_new_type . '_new'); + if (!$this->obj_definition->isPlugin($this->requested_new_type)) { + return $this->lng->txt("{$this->requested_new_type}_new"); + } + return ilObjectPlugin::lookupTxtById( + $this->requested_new_type, + "{$this->requested_new_type}_new" + ); } protected function initCreateForm(string $new_type): StandardForm|ilPropertyFormGUI|array From 4e80b4df9e5917acf2c545e0307eb813a25239f9 Mon Sep 17 00:00:00 2001 From: Stephan Kergomard Date: Mon, 9 Feb 2026 08:37:21 +0100 Subject: [PATCH 572/865] InfoScreen: Fix Link to Public Profile See: https://mantis.ilias.de/view.php?id=46169 --- components/ILIAS/InfoScreen/classes/class.ilInfoScreenGUI.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/components/ILIAS/InfoScreen/classes/class.ilInfoScreenGUI.php b/components/ILIAS/InfoScreen/classes/class.ilInfoScreenGUI.php index 60ff725c1747..d3337bd0d998 100755 --- a/components/ILIAS/InfoScreen/classes/class.ilInfoScreenGUI.php +++ b/components/ILIAS/InfoScreen/classes/class.ilInfoScreenGUI.php @@ -538,7 +538,7 @@ public function addObjectSections(): void $this->addProperty( $lng->txt("owner"), $ownerObj->getPublicName(), - $ilCtrl->getLinkTargetByClass(PublicProfileGUI::class, "getHTML") + $ilCtrl->getLinkTargetByClass([ilPublicProfileBaseClassGUI::class, PublicProfileGUI::class], "getHTML") ); } else { $this->addProperty($lng->txt("owner"), $ownerObj->getPublicName()); From b774b55d705151cdb50962b9b4fed4e3ef8740f0 Mon Sep 17 00:00:00 2001 From: mjansen Date: Wed, 4 Feb 2026 16:22:00 +0100 Subject: [PATCH 573/865] Object: Use `mb_*` functions when manipulating object title --- .../ILIAS/ILIASObject/classes/class.ilObject.php | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/components/ILIAS/ILIASObject/classes/class.ilObject.php b/components/ILIAS/ILIASObject/classes/class.ilObject.php index c9e23ee5a705..0c77757f1da0 100755 --- a/components/ILIAS/ILIASObject/classes/class.ilObject.php +++ b/components/ILIAS/ILIASObject/classes/class.ilObject.php @@ -1558,13 +1558,13 @@ final public static function _prepareCloneSelection( } while ($row = $db->fetchObject($res)) { - if (strlen($title = $row->obj_title) > 40) { - $title = substr($title, 0, 40) . '...'; + if (mb_strlen($title = $row->obj_title) > 40) { + $title = mb_substr($title, 0, 40) . '...'; } if ($show_path) { - if (strlen($path = $row->path_title) > 40) { - $path = substr($path, 0, 40) . '...'; + if (mb_strlen($path = $row->path_title) > 40) { + $path = mb_substr($path, 0, 40) . '...'; } $title .= ' (' . $lng->txt('path') . ': ' . $path . ')'; @@ -1786,7 +1786,7 @@ private function isTitleUnique(string $title, array $nodes): bool private function buildTitleWithoutCopySuffix(string $title): string { if (preg_match('/ \((\d+)\)$/', $title, $matches)) { - return substr($title, 0, -strlen($matches[0])); + return mb_substr($title, 0, -strlen($matches[0])); } return $title; From 4eb9f29515491bc199494c7b83e5609f3538ca93 Mon Sep 17 00:00:00 2001 From: Stephan Kergomard Date: Mon, 9 Feb 2026 09:13:17 +0100 Subject: [PATCH 574/865] Object: Do Not Set DidacticTemplate if Missing See: https://mantis.ilias.de/view.php?id=46378 --- .../ILIAS/ILIASObject/classes/class.ilObjectGUI.php | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/components/ILIAS/ILIASObject/classes/class.ilObjectGUI.php b/components/ILIAS/ILIASObject/classes/class.ilObjectGUI.php index 55ab390d79ec..52060b342e7f 100755 --- a/components/ILIAS/ILIASObject/classes/class.ilObjectGUI.php +++ b/components/ILIAS/ILIASObject/classes/class.ilObjectGUI.php @@ -783,18 +783,22 @@ protected function didacticTemplatesToForm(): ?Radio $didactic_templates_radio = $this->ui_factory->input()->field()->radio($this->lng->txt('type')); + $values = []; foreach ($options as $value => $option) { if ($existing_exclusive && $value == 'dtpl_0') { //Skip default disabled if an exclusive template exists - Whatever the f*** that means! continue; } + $values[] = $value; $didactic_templates_radio = $didactic_templates_radio->withOption($value, $option[0], $option[1] ?? ''); } if (!$this->getCreationMode()) { - $value = 'dtpl_' . ilDidacticTemplateObjSettings::lookupTemplateId($this->object->getRefId()); + $current_value = 'dtpl_' . ilDidacticTemplateObjSettings::lookupTemplateId($this->object->getRefId()); - $didactic_templates_radio = $didactic_templates_radio->withValue($value); + if (in_array($current_value, $values)) { + $didactic_templates_radio = $didactic_templates_radio->withValue($current_value); + } if (!in_array($value, array_keys($options)) || ($existing_exclusive && $value == "dtpl_0")) { //add or rename actual value to not available From d6591c77db4603c911a035f2334b115df948f948 Mon Sep 17 00:00:00 2001 From: Stephan Kergomard Date: Mon, 9 Feb 2026 09:40:12 +0100 Subject: [PATCH 575/865] Test: Remove Unlinked addtime Columns See: https://mantis.ilias.de/view.php?id=46198 --- components/ILIAS/Test/src/Setup/Test10DBUpdateSteps.php | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/components/ILIAS/Test/src/Setup/Test10DBUpdateSteps.php b/components/ILIAS/Test/src/Setup/Test10DBUpdateSteps.php index 15f8527b7195..4d9078800d9f 100644 --- a/components/ILIAS/Test/src/Setup/Test10DBUpdateSteps.php +++ b/components/ILIAS/Test/src/Setup/Test10DBUpdateSteps.php @@ -349,6 +349,10 @@ public function step_5(): void } if (!$this->db->primaryExistsByFields('tst_addtime', ['user_fi', 'test_fi'])) { + $this->db->manipulate( + 'DELETE FROM tst_addtime WHERE test_fi = 0 OR user_fi = 0' + ); + $this->db->addPrimaryKey('tst_addtime', ['user_fi', 'test_fi']); } } From ab8212a59f1c4b04d84ab9ca1f1305c56e8a9fe6 Mon Sep 17 00:00:00 2001 From: Matheus Zych Date: Thu, 11 Dec 2025 08:49:26 +0100 Subject: [PATCH 576/865] Allows answertext of cloze question to only be a string instead of also null --- .../Test/src/Setup/Test11DBUpdateSteps.php | 10 +++ .../classes/class.assClozeTest.php | 76 +++++++++---------- 2 files changed, 48 insertions(+), 38 deletions(-) diff --git a/components/ILIAS/Test/src/Setup/Test11DBUpdateSteps.php b/components/ILIAS/Test/src/Setup/Test11DBUpdateSteps.php index d0c0552d5feb..3dc82c72fe75 100644 --- a/components/ILIAS/Test/src/Setup/Test11DBUpdateSteps.php +++ b/components/ILIAS/Test/src/Setup/Test11DBUpdateSteps.php @@ -155,4 +155,14 @@ public function step_3(): void $this->db->modifyTableColumn('tst_test_settings', $column, ['length' => 8]); } } + + public function step_4(): void + { + $table = 'qpl_a_cloze'; + $column = 'answertext'; + if ($this->db->tableExists($table) && $this->db->tableColumnExists($table, $column)) { + $this->db->manipulate("UPDATE {$table} SET {$column} = '' WHERE {$column} IS NULL"); + $this->db->modifyTableColumn($table, $column, ['default' => '', 'notnull' => true]); + } + } } diff --git a/components/ILIAS/TestQuestionPool/classes/class.assClozeTest.php b/components/ILIAS/TestQuestionPool/classes/class.assClozeTest.php index 4e74cfa497a3..fa6520069c81 100755 --- a/components/ILIAS/TestQuestionPool/classes/class.assClozeTest.php +++ b/components/ILIAS/TestQuestionPool/classes/class.assClozeTest.php @@ -311,24 +311,24 @@ protected function saveClozeTextGapRecordToDb( $this->db->manipulateF( 'INSERT INTO qpl_a_cloze (answer_id, question_fi, gap_id, answertext, points, aorder, cloze_type, gap_size) VALUES (%s, %s, %s, %s, %s, %s, %s, %s)', [ - 'integer', - 'integer', - 'integer', - 'text', - 'float', - 'integer', - 'text', - 'integer' + ilDBConstants::T_INTEGER, + ilDBConstants::T_INTEGER, + ilDBConstants::T_INTEGER, + ilDBConstants::T_TEXT, + ilDBConstants::T_FLOAT, + ilDBConstants::T_INTEGER, + ilDBConstants::T_TEXT, + ilDBConstants::T_INTEGER ], [ $next_id, $this->getId(), $key, - strlen($item->getAnswertext()) ? $item->getAnswertext() : '', + $item->getAnswertext(), $item->getPoints(), $item->getOrder(), $gap->getType(), - (int) $gap->getGapSize() + $gap->getGapSize() ] ); } @@ -342,24 +342,24 @@ protected function saveClozeSelectGapRecordToDb( $this->db->manipulateF( 'INSERT INTO qpl_a_cloze (answer_id, question_fi, gap_id, answertext, points, aorder, cloze_type, shuffle) VALUES (%s, %s, %s, %s, %s, %s, %s, %s)', [ - 'integer', - 'integer', - 'integer', - 'text', - 'float', - 'integer', - 'text', - 'text' + ilDBConstants::T_INTEGER, + ilDBConstants::T_INTEGER, + ilDBConstants::T_INTEGER, + ilDBConstants::T_TEXT, + ilDBConstants::T_FLOAT, + ilDBConstants::T_INTEGER, + ilDBConstants::T_TEXT, + ilDBConstants::T_TEXT ], [ $next_id, $this->getId(), $key, - strlen($item->getAnswertext()) ? $item->getAnswertext() : '', + $item->getAnswertext(), $item->getPoints(), $item->getOrder(), $gap->getType(), - ($gap->getShuffle()) ? '1' : '0' + $gap->getShuffle() ? '1' : '0' ] ); } @@ -375,32 +375,32 @@ protected function saveClozeNumericGapRecordToDb( $this->db->manipulateF( 'INSERT INTO qpl_a_cloze (answer_id, question_fi, gap_id, answertext, points, aorder, cloze_type, lowerlimit, upperlimit, gap_size) VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s)', [ - 'integer', - 'integer', - 'integer', - 'text', - 'float', - 'integer', - 'text', - 'text', - 'text', - 'integer' + ilDBConstants::T_INTEGER, + ilDBConstants::T_INTEGER, + ilDBConstants::T_INTEGER, + ilDBConstants::T_TEXT, + ilDBConstants::T_FLOAT, + ilDBConstants::T_INTEGER, + ilDBConstants::T_TEXT, + ilDBConstants::T_TEXT, + ilDBConstants::T_TEXT, + ilDBConstants::T_INTEGER ], [ $next_id, $this->getId(), $key, - strlen($item->getAnswertext()) ? $item->getAnswertext() : '', + $item->getAnswertext(), $item->getPoints(), $item->getOrder(), $gap->getType(), - ($eval->e($item->getLowerBound()) !== false && strlen( - $item->getLowerBound() - ) > 0) ? $item->getLowerBound() : $item->getAnswertext(), - ($eval->e($item->getUpperBound()) !== false && strlen( - $item->getUpperBound() - ) > 0) ? $item->getUpperBound() : $item->getAnswertext(), - (int) $gap->getGapSize() + ($eval->e($item->getLowerBound()) !== false && ($item->getLowerBound() ?? '') !== '') + ? $item->getLowerBound() + : $item->getAnswertext(), + ($eval->e($item->getUpperBound()) !== false && ($item->getUpperBound() ?? '') !== '') + ? $item->getUpperBound() + : $item->getAnswertext(), + $gap->getGapSize() ] ); } From 6f67608cc1b9f294cb2f032e39fd4df36d5f1ed3 Mon Sep 17 00:00:00 2001 From: Chris Potter Date: Mon, 9 Feb 2026 10:04:29 +0100 Subject: [PATCH 577/865] Orphaned variable removed --- lang/ilias_en.lang | 1 - 1 file changed, 1 deletion(-) diff --git a/lang/ilias_en.lang b/lang/ilias_en.lang index cff3829964ca..7551967596c0 100644 --- a/lang/ilias_en.lang +++ b/lang/ilias_en.lang @@ -16489,7 +16489,6 @@ survey#:#err_minvalueganswers#:#The minimum value must equal or be smaller than survey#:#err_no_exact_answers#:#Please select exactly %s answer(s). survey#:#err_no_max_answers#:#Please select at most %s answers. survey#:#err_no_min_answers#:#Please select at least %s answer(s). -survey#:#err_no_pool_name#:#Please enter the name of a survey question pool survey#:#error_retrieving_anonymous_survey#:#The system could not find your survey data for survey code "%s". Please check the survey code you have entered! survey#:#error_save_code#:#Value not saved properly. The e-mail address: '%s' is not valid. First name: '%s', Last name: '%s'.
survey#:#evaluation#:#Statistics From cd917817f8e28ca3bdfe88dc83f268547b6b3fea Mon Sep 17 00:00:00 2001 From: Fabian Helfer Date: Mon, 9 Feb 2026 09:23:35 +0100 Subject: [PATCH 578/865] [Fix] 0047164 Init: Double lang_key because regex is wrong (cherry picked from commit 645516341dd8eef10c5a625e976a2dbfa7b72acd) --- .../ILIAS/Init/classes/Provider/StartUpMetaBarProvider.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/components/ILIAS/Init/classes/Provider/StartUpMetaBarProvider.php b/components/ILIAS/Init/classes/Provider/StartUpMetaBarProvider.php index 3979bed6c472..0452ab58d729 100755 --- a/components/ILIAS/Init/classes/Provider/StartUpMetaBarProvider.php +++ b/components/ILIAS/Init/classes/Provider/StartUpMetaBarProvider.php @@ -146,6 +146,6 @@ private function getBaseURL(UriInterface $uri): string { $base = substr($uri->__toString(), strrpos($uri->__toString(), '/') + 1); - return rtrim(preg_replace('/([&?])lang=[a-z]{2}([&$])/', '$1', $base), '?&'); + return rtrim(preg_replace('/([&?])lang=[a-z]{2}(&|$)/', '$1', $base), '?&'); } } From 9de838135f90075046f34e961aa50378d41b08f2 Mon Sep 17 00:00:00 2001 From: Maximilian Becker Date: Mon, 9 Feb 2026 11:16:29 +0100 Subject: [PATCH 579/865] [FIX] provide column which shows startfile of learning-module (#11090) * [FIX] provide column which shows startfile of learning-module * PHP CS Fixer components/ILIAS/HTMLLearningModule/classes/ContainerView/HTMLModuleViewConfig.php --------- Co-authored-by: Fabian Schmid --- .../ContainerView/HTMLModuleViewConfig.php | 65 +++++++++++++++++++ .../classes/class.ilObjFileBasedLMGUI.php | 11 ++-- 2 files changed, 70 insertions(+), 6 deletions(-) create mode 100644 components/ILIAS/HTMLLearningModule/classes/ContainerView/HTMLModuleViewConfig.php diff --git a/components/ILIAS/HTMLLearningModule/classes/ContainerView/HTMLModuleViewConfig.php b/components/ILIAS/HTMLLearningModule/classes/ContainerView/HTMLModuleViewConfig.php new file mode 100644 index 000000000000..3579d543c964 --- /dev/null +++ b/components/ILIAS/HTMLLearningModule/classes/ContainerView/HTMLModuleViewConfig.php @@ -0,0 +1,65 @@ + + */ +class HTMLModuleViewConfig implements PathStatusInfo +{ + private \ILIAS\components\ResourceStorage\Container\View\Configuration $view_config; + + public function __construct( + ?StorableContainerResource $resource, + string $title, + bool $writeable, + private string $start_file, + private string $start_file_label + ) { + $this->view_config = (new \ILIAS\components\ResourceStorage\Container\View\Configuration( + $resource, + new \ilHTLMStakeholder(), + $title, + Mode::DATA_TABLE, + 250, + $writeable, + $writeable + ))->withPathStatusInfo($this); + } + + public function getConfiguration(): \ILIAS\components\ResourceStorage\Container\View\Configuration + { + return $this->view_config; + } + + public function statusTextForPath(string $path): ?string + { + if ($path === $this->start_file) { + return $this->start_file_label; + } + return null; + } + +} diff --git a/components/ILIAS/HTMLLearningModule/classes/class.ilObjFileBasedLMGUI.php b/components/ILIAS/HTMLLearningModule/classes/class.ilObjFileBasedLMGUI.php index b7b83ded25f6..722c90a13b57 100755 --- a/components/ILIAS/HTMLLearningModule/classes/class.ilObjFileBasedLMGUI.php +++ b/components/ILIAS/HTMLLearningModule/classes/class.ilObjFileBasedLMGUI.php @@ -22,6 +22,7 @@ use ILIAS\components\ResourceStorage\Container\View\Mode; use ILIAS\components\ResourceStorage\Container\View\ActionBuilder\TopAction; use ILIAS\Filesystem\Stream\Streams; +use ILIAS\HTMLLearningModule\ContainerView\HTMLModuleViewConfig; /** * User Interface class for file based learning modules (HTML) @@ -106,15 +107,13 @@ public function executeCommand(): void $check_access = $this->access->checkAccess('write', '', $this->object->getRefId()); // Build the view configuration - $view_configuration = new Configuration( + $view_configuration = (new HTMLModuleViewConfig( $this->object->getResource(), - new ilHTLMStakeholder(), $this->lng->txt('files'), - Mode::DATA_TABLE, - 250, $check_access, - $check_access - ); + $this->object->getStartFile(), + $this->lng->txt('start_file'), + ))->getConfiguration(); // Add a single action for text-files to set as startfile $view_configuration = $view_configuration->withExternalAction( From 43ce57eccd1b999ec2519c7fe511df9c5cfa5bda Mon Sep 17 00:00:00 2001 From: mjansen Date: Mon, 9 Feb 2026 11:18:29 +0100 Subject: [PATCH 580/865] Contact: Use different form action if user has no "write" permission https://mantis.ilias.de/view.php?id=47110 --- .../class.ilObjContactAdministrationGUI.php | 97 ++++++++++++------- 1 file changed, 61 insertions(+), 36 deletions(-) diff --git a/components/ILIAS/Contact/classes/class.ilObjContactAdministrationGUI.php b/components/ILIAS/Contact/classes/class.ilObjContactAdministrationGUI.php index 9f321df3d30d..c955ad9a2186 100755 --- a/components/ILIAS/Contact/classes/class.ilObjContactAdministrationGUI.php +++ b/components/ILIAS/Contact/classes/class.ilObjContactAdministrationGUI.php @@ -22,17 +22,19 @@ use ILIAS\UI\Component\Input\Container\Form\Standard as StandardForm; /** - * Class ilObjContactAdministrationGUI - * @author Michael Jansen * @ilCtrl_Calls ilObjContactAdministrationGUI: ilPermissionGUI * @ilCtrl_isCalledBy ilObjContactAdministrationGUI: ilAdministrationGUI */ class ilObjContactAdministrationGUI extends ilObject2GUI { + private readonly bool $has_write_access; + public function __construct(int $a_id = 0, int $a_id_type = self::REPOSITORY_NODE_ID, int $a_parent_node_id = 0) { parent::__construct($a_id, $a_id_type, $a_parent_node_id); $this->lng->loadLanguageModule('buddysystem'); + + $this->has_write_access = $this->checkPermissionBool('write'); } public function getType(): string @@ -84,53 +86,72 @@ public function executeCommand(): void protected function getConfigurationForm(): StandardForm { - $notification = $this->ui_factory->input()->field()->checkbox( - $this->lng->txt('buddy_use_osd'), - $this->lng->txt('buddy_use_osd_info') - ) - ->withDisabled(!$this->checkPermissionBool('write')); - - $contact_request_default = $this->ui_factory->input()->field()->select( - $this->lng->txt('buddy_allow_to_contact_me'), - [ - 'y' => $this->lng->txt('buddy_allow_to_contact_me_yes'), - 'n' => $this->lng->txt('buddy_allow_to_contact_me_no') - ], - $this->lng->txt('buddy_allow_to_contact_me_default_info') - ) + $notification = $this->ui_factory + ->input() + ->field() + ->checkbox( + $this->lng->txt('buddy_use_osd'), + $this->lng->txt('buddy_use_osd_info') + ) + ->withDisabled(!$this->has_write_access); + + $contact_request_default = $this->ui_factory + ->input() + ->field() + ->select( + $this->lng->txt('buddy_allow_to_contact_me'), + [ + 'y' => $this->lng->txt('buddy_allow_to_contact_me_yes'), + 'n' => $this->lng->txt('buddy_allow_to_contact_me_no') + ], + $this->lng->txt('buddy_allow_to_contact_me_default_info') + ) ->withRequired(true) - ->withDisabled(!$this->checkPermissionBool('write')); + ->withDisabled(!$this->has_write_access); $cfg = ilNotificationDatabaseHandler::loadUserConfig(-1); - $checkbox = $this->ui_factory->input()->field()->optionalGroup( - [ - 'use_osd' => $notification, - 'allow_contact_request_default' => $contact_request_default - ], - $this->lng->txt('buddy_enable'), - $this->lng->txt('buddy_enable_info') - ) + $checkbox = $this->ui_factory + ->input() + ->field() + ->optionalGroup( + [ + 'use_osd' => $notification, + 'allow_contact_request_default' => $contact_request_default + ], + $this->lng->txt('buddy_enable'), + $this->lng->txt('buddy_enable_info') + ) ->withValue( [ 'use_osd' => isset($cfg['buddysystem_request']) && in_array('osd', $cfg['buddysystem_request'], true), - 'allow_contact_request_default' => $this->settings->get('bs_allow_to_contact_me', 'n') + 'allow_contact_request_default' => $this->settings->get( + 'bs_allow_to_contact_me', + 'n' + ) ] ) - ->withDisabled(!$this->checkPermissionBool('write')); + ->withDisabled(!$this->has_write_access); if (ilBuddySystem::getInstance()->getSetting('enabled', '0') === '0') { $checkbox = $checkbox->withValue(null); } - return $this->ui_factory->input()->container()->form()->standard( - $this->ctrl->getFormAction($this, 'saveConfigurationForm'), - [ - 'enable' => $checkbox, - ] - )->withSubmitLabel( - $this->checkPermissionBool('write') ? $this->lng->txt('save') : $this->lng->txt('refresh') - ); + return $this->ui_factory + ->input() + ->container() + ->form() + ->standard( + $this->ctrl->getFormAction( + $this, + $this->has_write_access ? 'saveConfigurationForm' : 'showConfigurationForm' + ), + [ + 'enable' => $checkbox, + ] + )->withSubmitLabel( + $this->has_write_access ? $this->lng->txt('save') : $this->lng->txt('refresh') + ); } protected function showConfigurationForm(?StandardForm $form = null): void @@ -200,7 +221,11 @@ protected function saveConfigurationForm(): void ); } - $this->tpl->setOnScreenMessage('success', $this->lng->txt('saved_successfully'), true); + $this->tpl->setOnScreenMessage( + $this->tpl::MESSAGE_TYPE_SUCCESS, + $this->lng->txt('saved_successfully'), + true + ); $this->ctrl->redirect($this); } } From 2bdb3aba9376948da60cff903828381cc86e62ee Mon Sep 17 00:00:00 2001 From: Matheus Zych Date: Mon, 5 Jan 2026 16:02:58 +0100 Subject: [PATCH 581/865] Fixes error on question point correction page --- components/ILIAS/Test/classes/class.ilObjTestGUI.php | 3 ++- .../ILIAS/Test/classes/class.ilTestCorrectionsGUI.php | 10 ++++++---- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/components/ILIAS/Test/classes/class.ilObjTestGUI.php b/components/ILIAS/Test/classes/class.ilObjTestGUI.php index 1b49bb7c28cd..7a59ac284581 100755 --- a/components/ILIAS/Test/classes/class.ilObjTestGUI.php +++ b/components/ILIAS/Test/classes/class.ilObjTestGUI.php @@ -925,7 +925,8 @@ public function executeCommand(): void $this->getTestObject()->getTestLogger(), $this->testrequest, $this->getTestObject(), - $this->user + $this->user, + $this->test_pass_result_repository ); $this->ctrl->forwardCommand($gui); break; diff --git a/components/ILIAS/Test/classes/class.ilTestCorrectionsGUI.php b/components/ILIAS/Test/classes/class.ilTestCorrectionsGUI.php index 0c97f3c178f4..f5fef6533972 100755 --- a/components/ILIAS/Test/classes/class.ilTestCorrectionsGUI.php +++ b/components/ILIAS/Test/classes/class.ilTestCorrectionsGUI.php @@ -18,6 +18,7 @@ declare(strict_types=1); +use ILIAS\Test\Results\Data\Repository as TestResultRepository; use ILIAS\Test\Scoring\Manual\TestScoring; use ILIAS\Test\Logging\TestLogger; use ILIAS\Test\Logging\TestQuestionAdministrationInteractionTypes; @@ -51,6 +52,7 @@ public function __construct( private readonly RequestDataCollector $testrequest, private readonly ilObjTest $test_obj, private readonly ilObjUser $scorer, + private readonly TestResultRepository $test_result_repository, ) { $question_id = $this->testrequest->getQuestionId(); if ($question_id !== 0) { @@ -102,7 +104,7 @@ protected function buildQuestionCorrectionForm(assQuestionGUI $question_gui): il $this->test_obj, $this->scorer, $this->database, - $this->language + $this->test_result_repository ); $scoring->setQuestionId($question_gui->getObject()->getId()); @@ -123,7 +125,7 @@ protected function confirmManualScoringReset() $this->test_obj, $this->scorer, $this->database, - $this->language + $this->test_result_repository ); $scoring->setQuestionId($this->question_gui->getObject()->getId()); @@ -168,7 +170,7 @@ protected function saveQuestion() $this->test_obj, $this->scorer, $this->database, - $this->language + $this->test_result_repository ); $scoring->setPreserveManualScores(false); $scoring->setQuestionId($question_gui->getObject()->getId()); @@ -297,7 +299,7 @@ protected function addAnswer() $this->test_obj, $this->scorer, $this->database, - $this->language + $this->test_result_repository ); $scoring->setPreserveManualScores(true); $scoring->setQuestionId($question_index); From 232d16331c3d88086dcc37108eac7db11755f64d Mon Sep 17 00:00:00 2001 From: Matheus Zych Date: Mon, 5 Jan 2026 10:29:21 +0100 Subject: [PATCH 582/865] Fixes issue when creating a formula question with units --- .../classes/class.assFormulaQuestion.php | 29 +++++++++---------- .../classes/class.assFormulaQuestionGUI.php | 2 +- 2 files changed, 14 insertions(+), 17 deletions(-) diff --git a/components/ILIAS/TestQuestionPool/classes/class.assFormulaQuestion.php b/components/ILIAS/TestQuestionPool/classes/class.assFormulaQuestion.php index c3c8a7c44231..f47d721ccda8 100755 --- a/components/ILIAS/TestQuestionPool/classes/class.assFormulaQuestion.php +++ b/components/ILIAS/TestQuestionPool/classes/class.assFormulaQuestion.php @@ -451,7 +451,7 @@ public function substituteVariables(array $userdata, bool $graphicalOutput = fal $user_value = ''; if (is_array($userdata) && is_array($userdata[$result])) { if (isset($userdata[$result]["unit"]) && $userdata[$result]["unit"] > 0) { - $resunit = $this->getUnitrepository()->getUnit($userdata[$result]["unit"]); + $resunit = $this->getUnitrepository()->getUnit((int) $userdata[$result]["unit"]); } if (isset($userdata[$result]["value"])) { @@ -848,7 +848,7 @@ public function calculateReachedPointsFromPreviewSession(ilAssQuestionPreviewSes $points = 0; foreach ($this->getResults() as $result) { - $result_unit = $result->getResult() . '_unit'; + $result_unit = "{$result->getResult()}_unit"; $unit_id = isset($user_solution[$result_unit]) && is_numeric($user_solution[$result_unit]) ? (int) $user_solution[$result_unit] : null; @@ -893,7 +893,7 @@ public function saveWorkingData( function () use ($answer, $active_id, $pass, $authorized) { foreach ($answer as $key => $value) { $matches = null; - if (preg_match('/^result_(\$r\d+)$/', $key, $matches) !== false) { + if (preg_match('/^result_(\$r\d+)$/', $key, $matches) !== false && $matches !== []) { $queryResult = "SELECT solution_id FROM tst_solutions WHERE active_fi = %s AND pass = %s AND question_fi = %s AND authorized = %s AND " . $this->db->like('value1', 'clob', $matches[1]); if ($this->getStep() !== null) { @@ -1097,30 +1097,27 @@ public function getBestSolution(array $solutions): array if (!array_key_exists($matches[1], $user_solution)) { $user_solution[$matches[1]] = []; } - $user_solution[$matches[1]]['unit'] = $solution_value['value2']; + $user_solution[$matches[1]]['unit'] = (int) $solution_value['value2']; } } foreach ($this->getResults() as $result) { $resVal = $result->calculateFormula($this->getVariables(), $this->getResults(), $this->getId(), false); - if (is_object($result->getUnit())) { - $user_solution[$result->getResult()]['unit'] = $result->getUnit()->getId(); + $unit = $result->getUnit(); + if ($unit instanceof assFormulaQuestionUnit) { + $user_solution[$result->getResult()]['unit'] = $unit->getId(); $user_solution[$result->getResult()]['value'] = $resVal; - } elseif ($result->getUnit() === null) { + } elseif ($unit === null) { $unit_factor = 1; // there is no fix result_unit, any "available unit" is accepted - $available_units = $result->getAvailableResultUnits(parent::getId()); + $available_units = $result->getAvailableResultUnits($this->getId()); $result_name = $result->getResult(); - $check_unit = false; - if (array_key_exists($result_name, $available_units) && - $available_units[$result_name] !== null) { - $check_unit = in_array($user_solution[$result_name]['unit'] ?? null, $available_units[$result_name]); - } - - if ($check_unit == true) { - //get unit-factor + if ( + isset($available_units[$result_name]) + && in_array($user_solution[$result_name]['unit'] ?? null, $available_units[$result_name]) + ) { $unit_factor = assFormulaQuestionUnit::lookupUnitFactor($user_solution[$result_name]['unit']); } diff --git a/components/ILIAS/TestQuestionPool/classes/class.assFormulaQuestionGUI.php b/components/ILIAS/TestQuestionPool/classes/class.assFormulaQuestionGUI.php index 525cbe6546a8..d56216e7f4ad 100755 --- a/components/ILIAS/TestQuestionPool/classes/class.assFormulaQuestionGUI.php +++ b/components/ILIAS/TestQuestionPool/classes/class.assFormulaQuestionGUI.php @@ -979,7 +979,7 @@ public function getTestOutput( if (!array_key_exists($matches[1], $user_solution)) { $user_solution[$matches[1]] = []; } - $user_solution[$matches[1]][['unit']] = $solution_value['value2']; + $user_solution[$matches[1]]['unit'] = $solution_value['value2']; } if (preg_match('/^(\$r\d+)/', $solution_value['value1'], $matches) && !isset($user_solution[$matches[1]]['result_type'])) { $user_solution[$matches[1]]['result_type'] = assFormulaQuestionResult::getResultTypeByQstId($this->object->getId(), $solution_value['value1']); From d680e277e86cbc0d54563558daaab260c7a46caf Mon Sep 17 00:00:00 2001 From: Fabian Helfer <82493694+fhelfer@users.noreply.github.com> Date: Mon, 9 Feb 2026 11:50:52 +0100 Subject: [PATCH 583/865] [Improvement] Auth: LDAP Tab Read Access Restriction Forms&Table (#11055) --- .../LDAP/classes/LDAPRoleAssignmentTable.php | 17 ++- .../LDAP/classes/LDAPRoleMappingTable.php | 28 ++-- .../LDAP/classes/class.ilLDAPSettingsGUI.php | 141 ++++++++++++++---- .../ILIAS/LDAP/src/Server/UI/ServerTable.php | 38 +++-- 4 files changed, 159 insertions(+), 65 deletions(-) diff --git a/components/ILIAS/LDAP/classes/LDAPRoleAssignmentTable.php b/components/ILIAS/LDAP/classes/LDAPRoleAssignmentTable.php index 17a0ab2fa5dd..2cc84a4cf136 100644 --- a/components/ILIAS/LDAP/classes/LDAPRoleAssignmentTable.php +++ b/components/ILIAS/LDAP/classes/LDAPRoleAssignmentTable.php @@ -47,7 +47,8 @@ public function __construct( private readonly ilLanguage $lng, private readonly UIFactory $ui_factory, private readonly \ILIAS\Data\URI $action_url, - private readonly int $server_id + private readonly int $server_id, + private readonly bool $has_write_access ) { } @@ -170,14 +171,16 @@ public function getActions( URLBuilderToken $row_id_token ): array { $actions = []; - $actions['delete'] = $this->ui_factory->table()->action()->multi( - $this->lng->txt('delete'), - $url_builder->withParameter($action_parameter_token, 'confirmDeleteRules'), - $row_id_token - ); + if ($this->has_write_access) { + $actions['delete'] = $this->ui_factory->table()->action()->multi( + $this->lng->txt('delete'), + $url_builder->withParameter($action_parameter_token, 'confirmDeleteRules'), + $row_id_token + ); + } $actions['edit'] = $this->ui_factory->table()->action()->single( - $this->lng->txt('edit'), + $this->has_write_access ? $this->lng->txt('edit') : $this->lng->txt('view'), $url_builder->withParameter($action_parameter_token, 'editRoleAssignment'), $row_id_token ); diff --git a/components/ILIAS/LDAP/classes/LDAPRoleMappingTable.php b/components/ILIAS/LDAP/classes/LDAPRoleMappingTable.php index d9a83fcb7a5a..78696c9e3f31 100644 --- a/components/ILIAS/LDAP/classes/LDAPRoleMappingTable.php +++ b/components/ILIAS/LDAP/classes/LDAPRoleMappingTable.php @@ -49,7 +49,8 @@ public function __construct( private readonly int $server_id, private readonly ilObjectDataCache $object_data_cache, private readonly ilRbacReview $rbac_review, - private readonly \ILIAS\Data\URI $action_url + private readonly \ILIAS\Data\URI $action_url, + private readonly bool $has_write_access ) { } @@ -158,20 +159,23 @@ private function getRecords(Range $range, Order $order): array public function getActions(URLBuilder $url_builder, URLBuilderToken $action_parameter_token, URLBuilderToken $row_id_token): array { $actions = []; - $actions['delete'] = $this->ui_factory->table()->action()->multi( - $this->lng->txt('delete'), - $url_builder->withParameter($action_parameter_token, 'confirmDeleteRoleMapping'), - $row_id_token - ); - $actions['copy'] = $this->ui_factory->table()->action()->single( - $this->lng->txt('copy'), - $url_builder->withParameter($action_parameter_token, 'addRoleMapping'), - $row_id_token - ); + if ($this->has_write_access) { + $actions['delete'] = $this->ui_factory->table()->action()->multi( + $this->lng->txt('delete'), + $url_builder->withParameter($action_parameter_token, 'confirmDeleteRoleMapping'), + $row_id_token + ); + + $actions['copy'] = $this->ui_factory->table()->action()->single( + $this->lng->txt('copy'), + $url_builder->withParameter($action_parameter_token, 'addRoleMapping'), + $row_id_token + ); + } $actions['edit'] = $this->ui_factory->table()->action()->single( - $this->lng->txt('edit'), + $this->has_write_access ? $this->lng->txt('edit') : $this->lng->txt('view'), $url_builder->withParameter($action_parameter_token, 'editRoleMapping'), $row_id_token ); diff --git a/components/ILIAS/LDAP/classes/class.ilLDAPSettingsGUI.php b/components/ILIAS/LDAP/classes/class.ilLDAPSettingsGUI.php index 5698a684cdff..a482788b76e2 100755 --- a/components/ILIAS/LDAP/classes/class.ilLDAPSettingsGUI.php +++ b/components/ILIAS/LDAP/classes/class.ilLDAPSettingsGUI.php @@ -245,9 +245,8 @@ public function executeCommand(): bool $cmd = 'serverList'; } - if ($cmd !== 'serverList' && !$this->rbacSystem->checkAccess('visible,read', $this->ref_id)) { - $this->main_tpl->setOnScreenMessage('failure', $this->lng->txt('msg_no_perm_write'), true); - $this->ctrl->redirect($this, 'serverList'); + if (!$this->rbacSystem->checkAccess('read', $this->ref_id)) { + $this->ilErr->raiseError($this->lng->txt('permission_denied'), $this->ilErr->WARNING); } $verified_command = $cmd . 'Cmd'; @@ -412,6 +411,8 @@ private function confirmDeleteRules(): void private function deleteRulesCmd(): void { + $this->checkAccess('write'); + if (!$this->rule_ids) { $this->main_tpl->setOnScreenMessage('failure', $this->lng->txt('select_once')); $this->roleAssignmentsCmd(); @@ -491,6 +492,8 @@ private function roleSelectionRequired(): bool private function showRoleSelectionCmd(): void { + $this->checkAccess('read'); + $this->setSubTabs(); $this->tabs_gui->activateTab('role_assignments'); $this->ctrl->saveParameter($this, 'rule_id'); @@ -508,7 +511,9 @@ private function showRoleSelectionCmd(): void $table = new ilRoleSelectionTableGUI($this, 'showRoleSelection'); $table->setTitle($this->lng->txt('ldap_role_selection')); - $table->addMultiCommand('saveRoleSelection', $this->lng->txt('ldap_choose_role')); + if ($this->rbacSystem->checkAccess('write', $this->ref_id)) { + $table->addMultiCommand('saveRoleSelection', $this->lng->txt('ldap_choose_role')); + } $table->parse($entries); $this->tpl->setContent($table->getHTML()); @@ -563,6 +568,7 @@ private function getRoleAssignmentTable(): ?Table ilUtil::_getHttpPath() . '/' . $this->ctrl->getLinkTarget($this, 'handleRoleAssignmentTableActions') ), $this->server->getServerId(), + $this->rbacSystem->checkAccess('write', $this->ref_id) ))->getComponent(); } @@ -632,6 +638,8 @@ private function loadRoleAssignmentRule(int $a_rule_id, bool $load_from_form = t private function deleteRoleMappingCmd(): void { + $this->checkAccess('write'); + if (!$this->mappings) { $this->main_tpl->setOnScreenMessage('failure', $this->lng->txt('select_one')); $this->roleMappingCmd(); @@ -649,6 +657,8 @@ private function deleteRoleMappingCmd(): void private function chooseMappingCmd(): void { + $this->checkAccess('read'); + if (!$this->mapping_template) { $this->userMappingCmd(); return; @@ -665,6 +675,8 @@ private function chooseMappingCmd(): void private function saveMappingCmd(): void { + $this->checkAccess('write'); + $this->initAttributeMapping(); $this->tabs_gui->activateTab('role_mapping'); @@ -759,7 +771,7 @@ private function handleRoleMappingTableActionsCmd(): void private function serverListCmd(): void { - if (!$this->rbacSystem->checkAccess('visible,read', $this->ref_id)) { + if (!$this->rbacSystem->checkAccess('read', $this->ref_id)) { $this->ilErr->raiseError($this->lng->txt('msg_no_perm_read'), $this->ilErr->WARNING); } @@ -788,7 +800,8 @@ private function serverListCmd(): void ->uri( ilUtil::_getHttpPath() . '/' . $this->ctrl->getLinkTarget($this, 'handleServerTableActions') ), - $this->rbacSystem->checkAccess('write', $this->ref_id) + $this->rbacSystem->checkAccess('write', $this->ref_id), + $this->rbacSystem->checkAccess('read', $this->ref_id) ); $this->tpl->setContent($this->ui_renderer->render($table->getComponent())); @@ -1026,7 +1039,17 @@ private function initForm(): void ilAdministrationSettingsFormHandler::getSettingsGUIInstance('auth') ); - $this->form_gui->addCommandButton('save', $this->lng->txt('save')); + if ($this->rbacSystem->checkAccess('write', $this->ref_id)) { + $this->form_gui->addCommandButton('save', $this->lng->txt('save')); + } else { + foreach ($this->form_gui->getItems() as $item) { + if ($item instanceof ilFormSectionHeaderGUI) { + continue; + } + $item->setDisabled(true); + } + } + if ($this->ctrl->getCmd() === 'addServerSettings') { $this->form_gui->addCommandButton('serverList', $this->lng->txt('cancel')); } @@ -1034,6 +1057,8 @@ private function initForm(): void private function saveCmd(): void { + $this->checkAccess('write'); + $this->setSubTabs(); $this->tabs_gui->setTabActive('settings'); @@ -1212,17 +1237,6 @@ private function initFormRoleAssignments(string $a_mode): void $this->form = new ilPropertyFormGUI(); $this->form->setFormAction($this->ctrl->getFormAction($this)); - switch ($a_mode) { - case 'edit': - $this->form->setTitle($this->lng->txt('ldap_edit_role_ass_rule')); - $this->form->addCommandButton('updateRoleAssignment', $this->lng->txt('save')); - break; - case 'create': - $this->form->setTitle($this->lng->txt('ldap_add_role_ass_rule')); - $this->form->addCommandButton('addRoleAssignment', $this->lng->txt('ldap_btn_add_role_ass')); - break; - } - $role = new ilRadioGroupInputGUI($this->lng->txt('ldap_ilias_role'), 'role_name'); $role->setInfo($this->lng->txt('ldap_role_name_info')); $role->setRequired(true); @@ -1306,6 +1320,26 @@ private function initFormRoleAssignments(string $a_mode): void $group->addOption($pl); $this->form->addItem($group); + + if ($this->rbacSystem->checkAccess('write', $this->ref_id)) { + switch ($a_mode) { + case 'edit': + $this->form->setTitle($this->lng->txt('ldap_edit_role_ass_rule')); + $this->form->addCommandButton('updateRoleAssignment', $this->lng->txt('save')); + break; + case 'create': + $this->form->setTitle($this->lng->txt('ldap_add_role_ass_rule')); + $this->form->addCommandButton('addRoleAssignment', $this->lng->txt('ldap_btn_add_role_ass')); + break; + } + } else { + foreach ($this->form->getItems() as $item) { + if ($item instanceof ilFormSectionHeaderGUI) { + continue; + } + $item->setDisabled(true); + } + } } private function addRoleAutoCompleteObjectCmd(): void @@ -1337,7 +1371,6 @@ private function initUserMappingForm(): ilPropertyFormGUI $propertie_form = new ilPropertyFormGUI(); $propertie_form->setTitle($this->lng->txt('ldap_mapping_table')); $propertie_form->setFormAction($this->ctrl->getFormAction($this, 'saveMapping')); - $propertie_form->addCommandButton('saveMapping', $this->lng->txt('save')); foreach ($this->getMappingFields() as $mapping => $lang) { $text_form = new ilTextInputGUI($lang); @@ -1359,7 +1392,7 @@ private function initUserMappingForm(): ilPropertyFormGUI continue; } - $text_form = new ilTextInputGUI($field->getLabel()); + $text_form = new ilTextInputGUI($field->getLabel($this->lng)); $text_form->setPostVar('udf_' . $field->getIdentifier() . '_value'); $text_form->setValue($this->mapping->getValue('udf_' . $field->getIdentifier())); $text_form->setSize(32); @@ -1373,22 +1406,33 @@ private function initUserMappingForm(): ilPropertyFormGUI $propertie_form->addItem($checkbox_form); } + if ($this->rbacSystem->checkAccess('write', $this->ref_id)) { + $propertie_form->addCommandButton('saveMapping', $this->lng->txt('save')); + } else { + foreach ($propertie_form->getItems() as $item) { + if ($item instanceof ilFormSectionHeaderGUI) { + continue; + } + if ($item instanceof ilRadioGroupInputGUI) { + $item->setDisabled(true); + } + $item->setDisabled(true); + } + } + return $propertie_form; } private function roleMappingCmd(): void { + $this->checkAccess('read'); + $this->setSubTabs(); $this->tabs_gui->setTabActive('role_mapping'); - $this->toolbar->addButton( - $this->lng->txt('ldap_new_role_assignment'), - $this->ctrl->getLinkTarget($this, 'addRoleMapping') - ); $propertie_form = new ilPropertyFormGUI(); $propertie_form->setTitle($this->lng->txt('ldap_role_settings')); $propertie_form->setFormAction($this->ctrl->getFormAction($this, 'saveSyncronizationSettings')); - $propertie_form->addCommandButton('saveSyncronizationSettings', $this->lng->txt('save')); $role_active = new ilCheckboxInputGUI($this->lng->txt('ldap_role_active')); $role_active->setPostVar('role_sync_active'); $role_active->setChecked($this->server->enabledRoleSynchronization()); @@ -1412,6 +1456,21 @@ private function roleMappingCmd(): void $propertie_form->addItem($binding); + if ($this->rbacSystem->checkAccess('write', $this->ref_id)) { + $this->toolbar->addButton( + $this->lng->txt('ldap_new_role_assignment'), + $this->ctrl->getLinkTarget($this, 'addRoleMapping') + ); + $propertie_form->addCommandButton('saveSyncronizationSettings', $this->lng->txt('save')); + } else { + foreach ($propertie_form->getItems() as $item) { + if ($item instanceof ilFormSectionHeaderGUI) { + continue; + } + $item->setDisabled(true); + } + } + $this->tpl->addBlockFile('ADM_CONTENT', 'adm_content', 'tpl.ldap_role_mappings.html', 'components/ILIAS/LDAP'); $this->tpl->setVariable('NEW_ASSIGNMENT_TBL', $propertie_form->getHTML()); @@ -1425,7 +1484,8 @@ private function roleMappingCmd(): void $this->object_data_cache, $this->rbacReview, (new Factory()) - ->uri(ilUtil::_getHttpPath() . '/' . $this->ctrl->getLinkTarget($this, 'handleRoleMappingTableActions')) + ->uri(ilUtil::_getHttpPath() . '/' . $this->ctrl->getLinkTarget($this, 'handleRoleMappingTableActions')), + $this->rbacSystem->checkAccess('write', $this->ref_id), ))->getComponent()) ); } @@ -1464,6 +1524,8 @@ private function editRoleMapping(): void private function createRoleMappingCmd(): void { + $this->checkAccess('write'); + $propertie_form = $this->initRoleMappingForm('createRoleMapping'); if ($propertie_form->checkInput() && $this->rbacReview->roleExists($propertie_form->getInput('role'))) { $mapping = new ilLDAPRoleGroupMappingSetting(0); @@ -1492,6 +1554,8 @@ private function createRoleMappingCmd(): void private function confirmDeleteRoleMapping(): void { + $this->checkAccess('write'); + if (!$this->mappings) { $this->main_tpl->setOnScreenMessage('failure', $this->lng->txt('select_one'), true); $this->ctrl->redirect($this, 'roleMapping'); @@ -1533,7 +1597,7 @@ private function addServerSettingsCmd(): void private function editServerSettingsCmd(): void { - $this->checkAccess('write'); + $this->checkAccess('read'); $this->setSubTabs(); $this->tabs_gui->setTabActive('settings'); @@ -1567,6 +1631,8 @@ private function confirmDeleteServerSettings(): void private function deleteServerSettingsCmd(): void { + $this->checkAccess('write'); + if (!$this->server_ids) { $this->main_tpl->setOnScreenMessage('failure', $this->lng->txt('select_one')); $this->serverListCmd(); @@ -1631,8 +1697,6 @@ private function initRoleMappingForm(string $command): ilPropertyFormGUI $propertie_form = new ilPropertyFormGUI(); $propertie_form->setTitle($this->lng->txt('ldap_mapping_table')); $propertie_form->setFormAction($this->ctrl->getFormAction($this, $command)); - $propertie_form->addCommandButton($command, $this->lng->txt('save')); - $propertie_form->addCommandButton('roleMapping', $this->lng->txt('cancel')); $url = new ilTextInputGUI($this->lng->txt('ldap_server')); $url->setPostVar('url'); @@ -1683,6 +1747,19 @@ private function initRoleMappingForm(string $command): ilPropertyFormGUI $propertie_form->addItem($info); $propertie_form->addItem($info_type); + if ($this->rbacSystem->checkAccess('write', $this->ref_id)) { + $propertie_form->addCommandButton($command, $this->lng->txt('save')); + } else { + foreach ($propertie_form->getItems() as $item) { + if ($item instanceof ilFormSectionHeaderGUI) { + continue; + } + + $item->setDisabled(true); + } + } + $propertie_form->addCommandButton('roleMapping', $this->lng->txt('cancel')); + return $propertie_form; } @@ -1724,9 +1801,11 @@ private function addRoleMappingCmd(): void private function updateRoleMappingCmd(): void { + $this->checkAccess('write'); $propertie_form = $this->initRoleMappingForm('updateRoleMapping'); - if ($propertie_form->checkInput() && $this->rbacReview->roleExists($propertie_form->getInput('role'))) { + if ($propertie_form->checkInput() && + $this->rbacReview->roleExists($propertie_form->getInput('role'))) { $mapping = new ilLDAPRoleGroupMappingSetting($this->mapping_id); $mapping->setServerId($this->server->getServerId()); $mapping->setURL($propertie_form->getInput('url')); @@ -1755,6 +1834,8 @@ private function updateRoleMappingCmd(): void private function saveSyncronizationSettingsCmd(): void { + $this->checkAccess('write'); + $this->server->setRoleBindDN($this->role_bind_user); $this->server->setRoleBindPassword($this->role_bind_pass); $this->server->enableRoleSynchronization($this->role_sync_active); diff --git a/components/ILIAS/LDAP/src/Server/UI/ServerTable.php b/components/ILIAS/LDAP/src/Server/UI/ServerTable.php index 9573e405cf77..9d231f07861d 100644 --- a/components/ILIAS/LDAP/src/Server/UI/ServerTable.php +++ b/components/ILIAS/LDAP/src/Server/UI/ServerTable.php @@ -40,7 +40,8 @@ public function __construct( private \ilCtrlInterface $ctrl, private \Psr\Http\Message\ServerRequestInterface $http_request, private \ILIAS\Data\URI $action_url, - private bool $has_write_access + private bool $has_write_access, + private bool $has_read_access ) { [ $this->url_builder, @@ -98,7 +99,7 @@ public function getRows( ): \Generator { foreach ($this->getRecords($range, $order) as $server) { $title = $server['name']; - if ($this->has_write_access) { + if ($this->has_read_access) { $this->ctrl->setParameter($this->parent_gui, 'ldap_server_id', $server['server_id']); $title = $this->ui_renderer->render( $this->ui_factory->link()->standard( @@ -181,32 +182,37 @@ private function getColumnDefinition(): array */ private function getActions(): array { - if (!$this->has_write_access) { - return []; - } + $actions = []; - return [ - 'editServerSettings' => $this->ui_factory->table()->action()->single( - $this->lng->txt('edit'), + if ($this->has_read_access || $this->has_write_access) { + $actions['editServerSettings'] = $this->ui_factory->table()->action()->single( + $this->has_write_access ? $this->lng->txt('edit') : $this->lng->txt('view'), $this->url_builder->withParameter($this->action_parameter_token, 'editServerSettings'), $this->row_id_token - ), - 'activateServer' => $this->ui_factory->table()->action()->single( + ); + } + + if ($this->has_write_access) { + $actions['activateServer'] = $this->ui_factory->table()->action()->single( $this->lng->txt('activate'), $this->url_builder->withParameter($this->action_parameter_token, 'activateServer'), $this->row_id_token - ), - 'deactivateServer' => $this->ui_factory->table()->action()->single( + ); + + $actions['deactivateServer'] = $this->ui_factory->table()->action()->single( $this->lng->txt('deactivate'), $this->url_builder->withParameter($this->action_parameter_token, 'deactivateServer'), $this->row_id_token - ), - 'confirmDeleteServerSettings' => $this->ui_factory->table()->action()->single( + ); + + $actions['confirmDeleteServerSettings'] = $this->ui_factory->table()->action()->single( $this->lng->txt('delete'), $this->url_builder->withParameter($this->action_parameter_token, 'confirmDeleteServerSettings'), $this->row_id_token - ) - ]; + ); + } + + return $actions; } public function getComponent(): \ILIAS\UI\Component\Table\Table From f8f9a9b650fe51d10313b64203feae06b5b6b8e3 Mon Sep 17 00:00:00 2001 From: Fabian Helfer <82493694+fhelfer@users.noreply.github.com> Date: Mon, 9 Feb 2026 11:56:40 +0100 Subject: [PATCH 584/865] [Improvement] Auth: Tab Auth Access Restriction Form&Tables&SubTabs (#11063) --- .../Logout/class.ilAuthLogoutBehaviourGUI.php | 24 +++++++- .../Pages/AuthPageLanguagesOverviewTable.php | 32 ++++++---- .../classes/class.ilAuthPageEditorGUI.php | 20 ++++++- .../classes/class.ilObjAuthSettingsGUI.php | 55 ++++++++++++----- .../templates/default/tpl.auth_general.html | 2 +- .../class.ilObjectContentStyleSettingsGUI.php | 60 +++++++++++++------ 6 files changed, 143 insertions(+), 50 deletions(-) diff --git a/components/ILIAS/Authentication/classes/Logout/class.ilAuthLogoutBehaviourGUI.php b/components/ILIAS/Authentication/classes/Logout/class.ilAuthLogoutBehaviourGUI.php index d12d308ed18a..519cf73aef9f 100644 --- a/components/ILIAS/Authentication/classes/Logout/class.ilAuthLogoutBehaviourGUI.php +++ b/components/ILIAS/Authentication/classes/Logout/class.ilAuthLogoutBehaviourGUI.php @@ -39,11 +39,13 @@ class ilAuthLogoutBehaviourGUI private Refinery $refinery; private ilSetting $settings; private UIFactory $ui_factory; + private ilErrorHandling $ilErr; private UIRenderer $ui_renderer; + private ilRbacSystem $rbac_system; private ilGlobalTemplateInterface $tpl; private ConfigurableLogoutTarget $configurable_logout_target; - public function __construct() + public function __construct(private readonly int $ref_id) { global $DIC; $this->ctrl = $DIC->ctrl(); @@ -52,7 +54,9 @@ public function __construct() $this->refinery = $DIC->refinery(); $this->tpl = $DIC->ui()->mainTemplate(); $this->ui_factory = $DIC->ui()->factory(); + $this->rbac_system = $DIC->rbac()->system(); $this->ui_renderer = $DIC->ui()->renderer(); + $this->ilErr = $DIC->error(); $this->lng->loadLanguageModule('auth'); $this->settings = new ilSetting('auth'); $this->configurable_logout_target = new ConfigurableLogoutTarget( @@ -157,6 +161,11 @@ public function getForm( ) ); + $access = $this->rbac_system->checkAccess('write', $this->ref_id); + if (!$access) { + $logout_behaviour_switchable_group = $logout_behaviour_switchable_group->withDisabled(true); + } + $section = $this->ui_factory->input()->field() ->section( ['logout_behaviour_settings' => $logout_behaviour_switchable_group], @@ -165,13 +174,19 @@ public function getForm( $form = $this->ui_factory->input()->container()->form() ->standard( - $this->ctrl->getFormAction($this, 'saveForm'), + $access ? + $this->ctrl->getFormAction($this, 'saveForm') : + $this->ctrl->getFormAction($this, 'showForm'), ['logout_behaviour' => $section] ); if ($request) { $form = $form->withRequest($request); } + if (!$access) { + $form = $form->withSubmitLabel($this->lng->txt('refresh')); + } + return $form; } @@ -195,6 +210,11 @@ public function showForm(): void public function saveForm(): void { + if (!$this->rbac_system->checkAccess('write', $this->ref_id)) { + $this->ilErr->raiseError($this->lng->txt('permission_denied'), $this->ilErr->WARNING); + return; + } + $form = $this->getForm(); $form = $form->withRequest($this->http->request()); $section = $form->getInputs()['logout_behaviour']; diff --git a/components/ILIAS/Authentication/classes/Pages/AuthPageLanguagesOverviewTable.php b/components/ILIAS/Authentication/classes/Pages/AuthPageLanguagesOverviewTable.php index 413aebf6ab18..371672a71e1c 100644 --- a/components/ILIAS/Authentication/classes/Pages/AuthPageLanguagesOverviewTable.php +++ b/components/ILIAS/Authentication/classes/Pages/AuthPageLanguagesOverviewTable.php @@ -28,12 +28,14 @@ use ilCtrlInterface; use ilAuthPageEditorSettings; use ILIAS\Data\Range; +use ilAuthPageEditorGUI; class AuthPageLanguagesOverviewTable implements UI\Component\Table\DataRetrieval { public const string ACTIVATE = 'activate'; public const string DEACTIVATE = 'deactivate'; public const string EDIT = 'edit'; + public const string PREVIEW = 'preview'; private ServerRequestInterface $request; private Data\Factory $data_factory; @@ -48,7 +50,8 @@ public function __construct( \ILIAS\HTTP\Services $http, private readonly \ILIAS\UI\Factory $ui_factory, private readonly \ILIAS\UI\Renderer $ui_renderer, - private readonly AuthPageEditorContext $context + private readonly AuthPageEditorContext $context, + private readonly bool $has_write_access ) { $this->request = $http->request(); $this->data_factory = new Data\Factory(); @@ -113,23 +116,28 @@ protected function getActions(): array 'key' ); - return [ - self::EDIT => $this->ui_factory->table()->action()->single( - $this->lng->txt('edit'), - $overview_url_builder->withParameter($overview_action_parameter, self::EDIT), - $overview_row_id - ), - self::ACTIVATE => $this->ui_factory->table()->action()->standard( + $actions = []; + $actions[self::EDIT] = $this->ui_factory->table()->action()->single( + $this->lng->txt($this->has_write_access ? 'edit' : 'preview'), + $overview_url_builder->withParameter($overview_action_parameter, $this->has_write_access ? self::EDIT : self::PREVIEW), + $overview_row_id + ); + + if ($this->has_write_access) { + $actions[self::ACTIVATE] = $this->ui_factory->table()->action()->standard( $this->lng->txt('page_design_activate'), $overview_url_builder->withParameter($overview_action_parameter, self::ACTIVATE), $overview_row_id - ), - self::DEACTIVATE => $this->ui_factory->table()->action()->standard( + ); + + $actions[self::DEACTIVATE] = $this->ui_factory->table()->action()->standard( $this->lng->txt('page_design_deactivate'), $overview_url_builder->withParameter($overview_action_parameter, self::DEACTIVATE), $overview_row_id - ) - ]; + ); + } + + return $actions; } private function initRecords(): void diff --git a/components/ILIAS/Authentication/classes/class.ilAuthPageEditorGUI.php b/components/ILIAS/Authentication/classes/class.ilAuthPageEditorGUI.php index 06de1a95adaf..891e979cfd96 100644 --- a/components/ILIAS/Authentication/classes/class.ilAuthPageEditorGUI.php +++ b/components/ILIAS/Authentication/classes/class.ilAuthPageEditorGUI.php @@ -46,6 +46,8 @@ class ilAuthPageEditorGUI implements ilCtrlSecurityInterface private GUIService $content_style_gui; private int $ref_id; private ?string $request_ipe_context; + private ilRbacSystem $rbac_system; + private ilErrorHandling $ilErr; public function __construct(int $a_ref_id) { @@ -56,9 +58,11 @@ public function __construct(int $a_ref_id) $this->tabs = $DIC->tabs(); $this->http = $DIC->http(); + $this->ilErr = $DIC->ilErr(); $this->refinery = $DIC->refinery(); $this->ui_factory = $DIC->ui()->factory(); $this->ui_renderer = $DIC->ui()->renderer(); + $this->rbac_system = $DIC->rbac()->system(); $this->lng = $DIC['lng']; @@ -170,6 +174,7 @@ private function forwardToPageObject(): void } $this->ctrl->setReturnByClass($ipe_gui_class, 'edit'); + /** @var ilLoginPageGUI $page_gui */ $page_gui = new ($ipe_gui_class)($this->requested_language_id); $this->tpl->addCss(ilObjStyleSheet::getContentStylePath(0)); @@ -180,6 +185,11 @@ private function forwardToPageObject(): void $page_gui->setStyleId($this->content_style_domain->getEffectiveStyleId()); $page_gui->setTemplateOutput(false); + if (!$this->rbac_system->checkAccess('write', $this->ref_id)) { + $page_gui->setOutputMode(ilPageObjectGUI::PREVIEW); + $page_gui->setEnableEditing(false); + } + $html = $this->ctrl->forwardCommand($page_gui); if ($html !== '') { @@ -208,16 +218,21 @@ private function handlePageActionsCommand(): void switch ($action) { case AuthPageLanguagesOverviewTable::DEACTIVATE: case AuthPageLanguagesOverviewTable::ACTIVATE: + if (!$this->rbac_system->checkAccess('write', $this->ref_id)) { + $this->ilErr->raiseError($this->lng->txt('permission_denied'), $this->ilErr->WARNING); + break; + } $this->$action(); break; case AuthPageLanguagesOverviewTable::EDIT: + case AuthPageLanguagesOverviewTable::PREVIEW: $language_id = ilLanguage::lookupId((string) current($keys)); if ($language_id) { $this->ctrl->setParameter($this, 'key', $language_id); $this->ctrl->redirectByClass( $this->getRequestedAuthPageEditorContext()->pageUiClass(), - 'edit' + $action ); } } @@ -290,7 +305,8 @@ private function showPageEditorLanguagesCommand(): void $this->http, $this->ui_factory, $this->ui_renderer, - $this->getRequestedAuthPageEditorContext() + $this->getRequestedAuthPageEditorContext(), + $this->rbac_system->checkAccess('write', $this->ref_id) ); $this->tpl->setContent($this->ui_renderer->render($tbl->getComponent())); diff --git a/components/ILIAS/Authentication/classes/class.ilObjAuthSettingsGUI.php b/components/ILIAS/Authentication/classes/class.ilObjAuthSettingsGUI.php index 6479df1e0fe4..acfc418912d5 100755 --- a/components/ILIAS/Authentication/classes/class.ilObjAuthSettingsGUI.php +++ b/components/ILIAS/Authentication/classes/class.ilObjAuthSettingsGUI.php @@ -115,6 +115,7 @@ private function authSettingsObject( ); $this->logger->debug(print_r($auth_modes, true)); + $access = $this->rbac_system->checkAccess('write', $this->object->getRefId()); foreach ($auth_modes as $mode => $mode_name) { if (!in_array($mode, $valid_modes, true) && !ilLDAPServer::isAuthModeLDAP( (string) $mode @@ -165,6 +166,11 @@ private function authSettingsObject( } $generalSettingsTpl->setVariable('AUTH_ID', $mode_name); $generalSettingsTpl->setVariable('AUTH_VAL', $mode); + + if (!$access) { + $generalSettingsTpl->touchBlock('DISABLED'); + } + $generalSettingsTpl->setCurrentBlock('auth_mode'); $generalSettingsTpl->parseCurrentBlock(); } @@ -210,7 +216,7 @@ private function authSettingsObject( private function buildRegistrationRoleMappingForm(): ILIAS\UI\Component\Input\Container\Form\Form { - $disabled_fields = !$this->rbac_system->checkAccess('write', $this->object->getRefId()); + $access = $this->rbac_system->checkAccess('write', $this->object->getRefId()); $fields = []; $reg_roles = ilObjRole::_lookupRegisterAllowed(); @@ -272,15 +278,26 @@ static function (string $auth_name) use ($excluded_auth_names): bool { ->withRequired(true) ->withValue($value) ->withDedicatedName('r_' . $role['id']) - ->withDisabled($disabled_fields); + ->withDisabled(!$access); } - return $this->ui_factory + $form = $this->ui_factory ->input() ->container() ->form() - ->standard($this->ctrl->getFormAction($this, 'updateRegistrationRoleMapping'), $fields) + ->standard( + $access ? + $this->ctrl->getFormAction($this, 'updateRegistrationRoleMapping') : + $this->ctrl->getFormAction($this, 'authSettings'), + $fields + ) ->withDedicatedName('registration_role_mapping'); + + if (!$access) { + $form = $form->withSubmitLabel($this->lng->txt('refresh')); + } + + return $form; } private function updateRegistrationRoleMappingObject(): void @@ -328,7 +345,7 @@ private function buildAuthModeDeterminationForm(): ?ILIAS\UI\Component\Input\Con return null; } - $disabled_fields = !$this->rbac_system->checkAccess('write', $this->object->getRefId()); + $access = $this->rbac_system->checkAccess('write', $this->object->getRefId()); $automatic_options = []; $counter = 1; @@ -364,7 +381,7 @@ private function buildAuthModeDeterminationForm(): ?ILIAS\UI\Component\Input\Con ->numeric($text) ->withDedicatedName('m' . $auth_mode) ->withValue($counter++) - ->withDisabled($disabled_fields); + ->withDisabled(!$access); } $options = [ @@ -376,7 +393,7 @@ private function buildAuthModeDeterminationForm(): ?ILIAS\UI\Component\Input\Con $this->lng->txt('auth_by_user') ) ->withDedicatedName((string) ilAuthModeDetermination::TYPE_MANUAL) - ->withDisabled($disabled_fields), + ->withDisabled(!$access), (string) ilAuthModeDetermination::TYPE_AUTOMATIC => $this->ui_factory ->input() ->field() @@ -385,7 +402,7 @@ private function buildAuthModeDeterminationForm(): ?ILIAS\UI\Component\Input\Con $this->lng->txt('auth_automatic') ) ->withDedicatedName((string) ilAuthModeDetermination::TYPE_AUTOMATIC) - ->withDisabled($disabled_fields) + ->withDisabled(!$access) ]; $sections = [ @@ -399,15 +416,20 @@ private function buildAuthModeDeterminationForm(): ?ILIAS\UI\Component\Input\Con ) ->withDedicatedName(self::PROP_AUTH_MODE_KIND) ->withValue((string) $det->getKind()) - ->withDisabled($disabled_fields) + ->withDisabled(!$access) ->withRequired(true) ]; - return $this->ui_factory + $form = $this->ui_factory ->input() ->container() ->form() - ->standard($this->ctrl->getFormAction($this, 'updateAuthModeDetermination'), $sections) + ->standard( + $access ? + $this->ctrl->getFormAction($this, 'updateAuthModeDetermination') : + $this->ctrl->getFormAction($this, 'authSettings'), + $sections + ) ->withDedicatedName('auth_mode_determination') ->withAdditionalTransformation( $this->refinery->custom()->transformation(function ($value): array { @@ -429,6 +451,12 @@ private function buildAuthModeDeterminationForm(): ?ILIAS\UI\Component\Input\Con return $merged_values; }) ); + + if (!$access) { + $form = $form->withSubmitLabel($this->lng->txt('refresh')); + } + + return $form; } private function updateAuthModeDeterminationObject(): void @@ -941,7 +969,6 @@ public function executeCommand(): void break; case strtolower(ilObjectContentStyleSettingsGUI::class): - $this->checkPermission('write'); $this->setTitleAndDescription(); $this->setSubTabs('authSettings'); $this->tabs_gui->activateTab('authentication_settings'); @@ -960,7 +987,7 @@ public function executeCommand(): void $this->tabs_gui->setTabActive('authentication_settings'); $this->tabs_gui->setSubTabActive('logout_behaviour'); - $gui = new ilAuthLogoutBehaviourGUI(); + $gui = new ilAuthLogoutBehaviourGUI($this->object->getRefId()); $this->ctrl->forwardCommand($gui); break; @@ -1056,7 +1083,7 @@ public function setSubTabs(string $a_tab): void { $this->lng->loadLanguageModule('auth'); - if ($a_tab === 'authSettings' && $this->access->checkAccess('write', '', $this->object->getRefId())) { + if ($a_tab === 'authSettings' && $this->access->checkAccess('read', '', $this->object->getRefId())) { $this->tabs_gui->addSubTabTarget( 'auth_settings', $this->ctrl->getLinkTarget($this, 'authSettings'), diff --git a/components/ILIAS/Authentication/templates/default/tpl.auth_general.html b/components/ILIAS/Authentication/templates/default/tpl.auth_general.html index dc94b772b417..0e7a937a525f 100755 --- a/components/ILIAS/Authentication/templates/default/tpl.auth_general.html +++ b/components/ILIAS/Authentication/templates/default/tpl.auth_general.html @@ -9,7 +9,7 @@ - + disabled="disabled"/> {AUTH_ACTIVE} {AUTH_USER_NUM} diff --git a/components/ILIAS/Style/Content/Object/class.ilObjectContentStyleSettingsGUI.php b/components/ILIAS/Style/Content/Object/class.ilObjectContentStyleSettingsGUI.php index 33957bab4ae9..0fabadd66959 100755 --- a/components/ILIAS/Style/Content/Object/class.ilObjectContentStyleSettingsGUI.php +++ b/components/ILIAS/Style/Content/Object/class.ilObjectContentStyleSettingsGUI.php @@ -38,6 +38,7 @@ class ilObjectContentStyleSettingsGUI protected int $ref_id; protected int $obj_id; private ilGlobalTemplateInterface $main_tpl; + private ilRbacSystem $rbac_system; public function __construct( InternalDomainService $domain_service, @@ -57,6 +58,7 @@ public function __construct( $this->container_manager = $domain_service->repositoryContainer($ref_id); $this->object_manager = $domain_service->object($ref_id, $this->obj_id); $this->current_style_id = $current_style_id ?? $this->object_manager->getStyleId(); + $this->rbac_system = $DIC->rbac()->system(); } public function executeCommand(): void @@ -106,6 +108,7 @@ public function initStylePropertiesForm(): ilPropertyFormGUI $lng = $this->domain->lng(); $style_id = $this->current_style_id; + $access = $this->rbac_system->checkAccess('write', $this->ref_id); $lng->loadLanguageModule("style"); @@ -136,20 +139,25 @@ public function initStylePropertiesForm(): ilPropertyFormGUI $cb->setInfo($lng->txt("style_support_reuse_info")); $cb->setChecked($this->container_manager->getReuse()); $form->addItem($cb); + if ($access) { + $form->addCommandButton( + "saveIndividualStyleSettings", + $lng->txt("save") + ); + } + } + + if ($access) { $form->addCommandButton( - "saveIndividualStyleSettings", - $lng->txt("save") + "editStyle", + $lng->txt("style_edit_style") ); - } - $form->addCommandButton( - "editStyle", - $lng->txt("style_edit_style") - ); - $form->addCommandButton( - "deleteStyle", - $lng->txt("style_delete_style") - ); + $form->addCommandButton( + "deleteStyle", + $lng->txt("style_delete_style") + ); + } } if ($this->object_manager->canSelectStyle($style_id)) { @@ -160,19 +168,33 @@ public function initStylePropertiesForm(): ilPropertyFormGUI $style_sel->setOptions($st_styles); $style_sel->setValue($style_id); $form->addItem($style_sel); - $form->addCommandButton( - "saveStyleSettings", - $lng->txt("save") - ); - $form->addCommandButton( - "createStyle", - $lng->txt("sty_create_ind_style") - ); + + if ($access) { + $form->addCommandButton( + "saveStyleSettings", + $lng->txt("save") + ); + + $form->addCommandButton( + "createStyle", + $lng->txt("sty_create_ind_style") + ); + } } } $form->setTitle($lng->txt("obj_sty")); $form->setFormAction($ilCtrl->getFormAction($this)); + if (!$access) { + foreach ($form->getItems() as $item) { + if ($item instanceof ilFormSectionHeaderGUI) { + continue; + } + + $item->setDisabled(true); + } + } + return $form; } From 2ef4ef59853c6e1a7bb3d3f57463bfb5e7840593 Mon Sep 17 00:00:00 2001 From: Stephan Kergomard Date: Mon, 9 Feb 2026 12:07:15 +0100 Subject: [PATCH 585/865] User: Allow Show User Actions on View See: https://mantis.ilias.de/view.php?id=47117 --- .../Actions/class.ilUserActionAdminGUI.php | 27 +++++++++---------- 1 file changed, 13 insertions(+), 14 deletions(-) diff --git a/components/ILIAS/User/classes/Actions/class.ilUserActionAdminGUI.php b/components/ILIAS/User/classes/Actions/class.ilUserActionAdminGUI.php index 18796790a22a..82ef6498c233 100755 --- a/components/ILIAS/User/classes/Actions/class.ilUserActionAdminGUI.php +++ b/components/ILIAS/User/classes/Actions/class.ilUserActionAdminGUI.php @@ -22,7 +22,7 @@ use ILIAS\UI\Factory as UIFactory; use ILIAS\UI\Renderer as UIRenderer; use ILIAS\UI\Component\Input\Container\Form\Standard as StandardForm; - +use ILIAS\UI\Component\MessageBox\MessageBox; use Psr\Http\Message\ServerRequestInterface; /** @@ -87,20 +87,12 @@ public function executeCommand(): void public function show(): void { - if (!$this->rbabsystem->checkAccess('write', $this->ref_id)) { - $this->ctrl->redirect($this, 'show'); + if (!$this->rbabsystem->checkAccess('read', $this->ref_id)) { + $this->ctrl->redirectByClass(ilObjRootFolderGUI::class); } $this->tpl->setOnScreenMessage('info', $this->lng->txt('user_actions_activation_info')); - $inputs = []; - - foreach($this->getActions() as $action) { - $inputs["{$action['action_comp_id']}:{$action['action_type_id']}"] = - $this->ui_factory->input()->field()->checkbox($action["action_type_name"]) - ->withValue($action['active']); - } - $this->tpl->setContent( $this->ui_renderer->render( $this->buildForm() @@ -112,10 +104,12 @@ private function buildForm(): StandardForm { $inputs = []; - foreach($this->getActions() as $action) { + foreach ($this->getActions() as $action) { $inputs["{$action['action_comp_id']}:{$action['action_type_id']}"] = $this->ui_factory->input()->field()->checkbox($action["action_type_name"]) - ->withValue($action['active']); + ->withDisabled( + !$this->rbabsystem->checkAccess('write', $this->ref_id) + )->withValue($action['active']); } return $this->ui_factory->input()->container()->form()->standard( @@ -127,7 +121,12 @@ private function buildForm(): StandardForm public function save(): void { if (!$this->rbabsystem->checkAccess('write', $this->ref_id)) { - $this->ctrl->redirect($this, 'show'); + $this->tpl->setOnScreenMessage( + MessageBox::FAILURE, + $this->lng->txt('no_permission'), + true + ); + $this->ctrl->redirectByClass(self::class, 'show'); } $form = $this->buildForm()->withRequest($this->request); From 009450006a77d4b71337a0fc4ad68d56d6832103 Mon Sep 17 00:00:00 2001 From: Fabian Helfer Date: Mon, 9 Feb 2026 12:05:59 +0100 Subject: [PATCH 586/865] [Revert] Stlye: Access Restriction in Authentiation Style --- .../class.ilObjectContentStyleSettingsGUI.php | 60 ++++++------------- 1 file changed, 19 insertions(+), 41 deletions(-) diff --git a/components/ILIAS/Style/Content/Object/class.ilObjectContentStyleSettingsGUI.php b/components/ILIAS/Style/Content/Object/class.ilObjectContentStyleSettingsGUI.php index 0fabadd66959..33957bab4ae9 100755 --- a/components/ILIAS/Style/Content/Object/class.ilObjectContentStyleSettingsGUI.php +++ b/components/ILIAS/Style/Content/Object/class.ilObjectContentStyleSettingsGUI.php @@ -38,7 +38,6 @@ class ilObjectContentStyleSettingsGUI protected int $ref_id; protected int $obj_id; private ilGlobalTemplateInterface $main_tpl; - private ilRbacSystem $rbac_system; public function __construct( InternalDomainService $domain_service, @@ -58,7 +57,6 @@ public function __construct( $this->container_manager = $domain_service->repositoryContainer($ref_id); $this->object_manager = $domain_service->object($ref_id, $this->obj_id); $this->current_style_id = $current_style_id ?? $this->object_manager->getStyleId(); - $this->rbac_system = $DIC->rbac()->system(); } public function executeCommand(): void @@ -108,7 +106,6 @@ public function initStylePropertiesForm(): ilPropertyFormGUI $lng = $this->domain->lng(); $style_id = $this->current_style_id; - $access = $this->rbac_system->checkAccess('write', $this->ref_id); $lng->loadLanguageModule("style"); @@ -139,25 +136,20 @@ public function initStylePropertiesForm(): ilPropertyFormGUI $cb->setInfo($lng->txt("style_support_reuse_info")); $cb->setChecked($this->container_manager->getReuse()); $form->addItem($cb); - if ($access) { - $form->addCommandButton( - "saveIndividualStyleSettings", - $lng->txt("save") - ); - } - } - - if ($access) { $form->addCommandButton( - "editStyle", - $lng->txt("style_edit_style") - ); - - $form->addCommandButton( - "deleteStyle", - $lng->txt("style_delete_style") + "saveIndividualStyleSettings", + $lng->txt("save") ); } + + $form->addCommandButton( + "editStyle", + $lng->txt("style_edit_style") + ); + $form->addCommandButton( + "deleteStyle", + $lng->txt("style_delete_style") + ); } if ($this->object_manager->canSelectStyle($style_id)) { @@ -168,33 +160,19 @@ public function initStylePropertiesForm(): ilPropertyFormGUI $style_sel->setOptions($st_styles); $style_sel->setValue($style_id); $form->addItem($style_sel); - - if ($access) { - $form->addCommandButton( - "saveStyleSettings", - $lng->txt("save") - ); - - $form->addCommandButton( - "createStyle", - $lng->txt("sty_create_ind_style") - ); - } + $form->addCommandButton( + "saveStyleSettings", + $lng->txt("save") + ); + $form->addCommandButton( + "createStyle", + $lng->txt("sty_create_ind_style") + ); } } $form->setTitle($lng->txt("obj_sty")); $form->setFormAction($ilCtrl->getFormAction($this)); - if (!$access) { - foreach ($form->getItems() as $item) { - if ($item instanceof ilFormSectionHeaderGUI) { - continue; - } - - $item->setDisabled(true); - } - } - return $form; } From 8beea3d304285f28e595c3549aea83b09c660f7f Mon Sep 17 00:00:00 2001 From: Matheus Zych Date: Fri, 9 Jan 2026 09:27:05 +0100 Subject: [PATCH 587/865] Fixes insert action link building incorrect url due to proxy http protocol mismatch --- .../Test/src/Questions/Presentation/QuestionsBrowserTable.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/components/ILIAS/Test/src/Questions/Presentation/QuestionsBrowserTable.php b/components/ILIAS/Test/src/Questions/Presentation/QuestionsBrowserTable.php index c93a7adc79d2..80cb7409eb49 100644 --- a/components/ILIAS/Test/src/Questions/Presentation/QuestionsBrowserTable.php +++ b/components/ILIAS/Test/src/Questions/Presentation/QuestionsBrowserTable.php @@ -124,10 +124,10 @@ public function getActions(): array private function getInsertAction(): TableAction { $url_builder = new URLBuilder($this->data_factory->uri( - ServerRequest::getUriFromGlobals() . $this->ctrl->getLinkTargetByClass( + ILIAS_HTTP_PATH . "/{$this->ctrl->getLinkTargetByClass( ilTestQuestionBrowserTableGUI::class, ilTestQuestionBrowserTableGUI::CMD_INSERT_QUESTIONS - ) + )}" )); [$url_builder, $row_id_token] = $url_builder->acquireParameters(['qlist'], 'q_id'); From cac4594d18a4f11ed01937ca4d2c231bb39b28e3 Mon Sep 17 00:00:00 2001 From: Tim Schmitz Date: Mon, 9 Feb 2026 12:48:08 +0100 Subject: [PATCH 588/865] Course/Group: fix label and activation of first settings subtab (45443, 47181) --- components/ILIAS/Course/classes/class.ilObjCourseGUI.php | 2 +- components/ILIAS/Group/classes/class.ilObjGroupGUI.php | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/components/ILIAS/Course/classes/class.ilObjCourseGUI.php b/components/ILIAS/Course/classes/class.ilObjCourseGUI.php index 54f97e2499d9..295579d86277 100755 --- a/components/ILIAS/Course/classes/class.ilObjCourseGUI.php +++ b/components/ILIAS/Course/classes/class.ilObjCourseGUI.php @@ -1414,7 +1414,7 @@ public function setSubTabs(string $a_tab): void switch ($a_tab) { case "properties": $this->tabs_gui->addSubTabTarget( - "crs_settings", + "general", $this->ctrl->getLinkTarget($this, 'edit'), "edit", get_class($this) diff --git a/components/ILIAS/Group/classes/class.ilObjGroupGUI.php b/components/ILIAS/Group/classes/class.ilObjGroupGUI.php index f742baa103de..559932846b6d 100755 --- a/components/ILIAS/Group/classes/class.ilObjGroupGUI.php +++ b/components/ILIAS/Group/classes/class.ilObjGroupGUI.php @@ -1808,7 +1808,7 @@ protected function setSubTabs(string $a_tab): void switch ($a_tab) { case 'settings': $this->tabs_gui->addSubTabTarget( - "grp_settings", + "general", $this->ctrl->getLinkTarget($this, 'edit'), "edit", get_class($this) From f274bc800b546bb2b15c173899519b3aca8c4ea9 Mon Sep 17 00:00:00 2001 From: Fred Neumann Date: Mon, 9 Feb 2026 12:57:50 +0100 Subject: [PATCH 589/865] SystemFolder: Fix missing "ref_id" when redirecting in `_goto` (#11095) * SystemFolder: Fix missing "ref_id" when redirecting in `_goto` * SystemFolder: Use fixed ref_id for redirecting in `_goto` --------- Co-authored-by: mjansen --- .../classes/SystemFolder/class.ilObjSystemFolderGUI.php | 2 ++ 1 file changed, 2 insertions(+) diff --git a/components/ILIAS/Administration/classes/SystemFolder/class.ilObjSystemFolderGUI.php b/components/ILIAS/Administration/classes/SystemFolder/class.ilObjSystemFolderGUI.php index ff80bc3fc7e4..ccb026d39bc7 100755 --- a/components/ILIAS/Administration/classes/SystemFolder/class.ilObjSystemFolderGUI.php +++ b/components/ILIAS/Administration/classes/SystemFolder/class.ilObjSystemFolderGUI.php @@ -47,6 +47,8 @@ public function viewObject(): void public static function _goto(): void { global $DIC; + + $DIC->ctrl()->setParameterByClass(self::class, 'ref_id', SYSTEM_FOLDER_ID); $DIC->ctrl()->redirectByClass([ilAdministrationGUI::class, self::class]); } } From a630e9cdd2d5d9ba30829c6d789d9261759133a9 Mon Sep 17 00:00:00 2001 From: Akumatic Date: Mon, 9 Feb 2026 14:39:47 +0100 Subject: [PATCH 590/865] ECS: Fix for undefined property if message doesn't contain a description (cherry picked from commit 57645be6fa52293dc7a400836d8d23c7913e8cbf) --- .../ILIAS/WebServices/ECS/classes/class.ilRemoteObjectBase.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/components/ILIAS/WebServices/ECS/classes/class.ilRemoteObjectBase.php b/components/ILIAS/WebServices/ECS/classes/class.ilRemoteObjectBase.php index 7eb0f888b410..943a5c0b08a6 100755 --- a/components/ILIAS/WebServices/ECS/classes/class.ilRemoteObjectBase.php +++ b/components/ILIAS/WebServices/ECS/classes/class.ilRemoteObjectBase.php @@ -380,7 +380,7 @@ public function updateFromECSContent(ilECSSetting $a_server, object $a_ecs_conte $this->setMID($a_owner); // obsolete? $this->setOrganization($organisation); $this->setTitle($a_ecs_content->title); - $this->setDescription($a_ecs_content->abstract); + $this->setDescription($a_ecs_content->abstract ?? ''); $this->setRemoteLink($a_ecs_content->url); $this->logger->info('updateCustomFromECSContent'); From 4bcb474d2b23d8b82563bf42d2c950b8f74a3dc1 Mon Sep 17 00:00:00 2001 From: Stephan Kergomard Date: Mon, 9 Feb 2026 15:34:35 +0100 Subject: [PATCH 591/865] ILIASObject: Show All Repository Objects in Create See: https://mantis.ilias.de/view.php?id=47129 --- .../classes/class.ilObjectDefinition.php | 23 +++++++++++-------- 1 file changed, 13 insertions(+), 10 deletions(-) diff --git a/components/ILIAS/ILIASObject/classes/class.ilObjectDefinition.php b/components/ILIAS/ILIASObject/classes/class.ilObjectDefinition.php index a1a6cdc41e04..59540aaad84d 100755 --- a/components/ILIAS/ILIASObject/classes/class.ilObjectDefinition.php +++ b/components/ILIAS/ILIASObject/classes/class.ilObjectDefinition.php @@ -111,14 +111,15 @@ protected static function getGroupedPluginObjectTypes(array $grouped_obj, string { global $DIC; - $component_repository = $DIC["component.repository"]; + $component_repository = $DIC['component.repository']; $plugins = $component_repository->getPluginSlotById($slotId)->getActivePlugins(); + foreach ($plugins as $plugin) { $pl_id = $plugin->getId(); if (!isset($grouped_obj[$pl_id])) { $grouped_obj[$pl_id] = [ - "pos" => "99992000", // "unassigned" group - "objs" => [0 => $pl_id] + 'pos' => '99992000', // "unassigned" group + 'objs' => [0 => $pl_id] ]; } } @@ -329,22 +330,22 @@ public function hasLocalRoles(string $obj_type): bool public function getSubObjects(string $obj_type, bool $filter = true): array { $subs = []; - if ($subobjects = ($this->obj_data[$obj_type]["subobjects"] ?? false)) { + if ($subobjects = ($this->obj_data[$obj_type]['subobjects'] ?? [])) { // Filter some objects e.g. chat object are creatable if chat is active if ($filter) { $this->__filterObjects($subobjects); } foreach ($subobjects as $data => $sub) { - if (!isset($sub["module"]) || $sub["module"] != "n") { - if (!($this->settings->get("obj_dis_creation_" . $data))) { + if (!isset($sub['module']) || $sub['module'] !== 'n') { + if (!($this->settings->get('obj_dis_creation_' . $data))) { $subs[$data] = $sub; // determine position - $pos = (int) $this->obj_data[$data]["default_pos"]; - if ($this->settings->get("obj_add_new_pos_" . $data) > 0) { + $pos = (int) $this->obj_data[$data]['default_pos']; + if ($this->settings->get('obj_add_new_pos_' . $data) > 0) { $pos = (int) $this->settings->get("obj_add_new_pos_" . $data); } - $subs[$data]["pos"] = $pos; + $subs[$data]['pos'] = $pos; } } } @@ -873,6 +874,8 @@ protected function readPluginData(): void protected function parsePluginData(string $slotId, bool $isInAdministration): void { $plugins = $this->component_repository->getPluginSlotById($slotId)->getActivePlugins(); + + $pos = 0; foreach ($plugins as $plugin) { $pl_id = $plugin->getId(); if ($pl_id != "" && !isset($this->obj_data[$pl_id])) { @@ -895,7 +898,7 @@ protected function parsePluginData(string $slotId, bool $isInAdministration): vo "rbac" => "1", "group" => null, "system" => "0", - "default_pos" => "99992000", // "unassigned" group + 'default_pos' => (string) (99992000 + $pos++), 'repository' => '1', 'workspace' => '0', 'administration' => $isInAdministration ? '1' : '0', From 332fde36c03353bd235ab57a1ed151aec676a0b2 Mon Sep 17 00:00:00 2001 From: Matheus Zych Date: Fri, 6 Feb 2026 09:27:30 +0100 Subject: [PATCH 592/865] Removes display none when auto save message fades out --- .../ilTestPlayerQuestionEditControl.js | 24 ++++++++++++------- .../default/tpl.il_as_tst_output.html | 2 +- 2 files changed, 16 insertions(+), 10 deletions(-) diff --git a/components/ILIAS/Test/resources/ilTestPlayerQuestionEditControl.js b/components/ILIAS/Test/resources/ilTestPlayerQuestionEditControl.js index 41b06409e0b8..50c41712e954 100644 --- a/components/ILIAS/Test/resources/ilTestPlayerQuestionEditControl.js +++ b/components/ILIAS/Test/resources/ilTestPlayerQuestionEditControl.js @@ -376,9 +376,11 @@ il.TestPlayerQuestionEditControl = new function() { * @param jqXHR */ function detectBackgroundChangesFailure(jqXHR) { - $('#autosavemessage').text(jqXHR.responseText) - .fadeIn(500, function(){ - $('#autosavemessage').fadeOut(5000) + $('#autosavemessage').removeClass('sr-only').text(jqXHR.responseText) + .fadeTo(500, 1, function(){ + $(this).fadeTo(5000, 0, function(){ + $(this).removeAttr('style').addClass('sr-only'); + }); }); } @@ -708,9 +710,11 @@ il.TestPlayerQuestionEditControl = new function() { */ function autoSaveSuccess(responseText) { if (typeof responseText !== 'undefined' && responseText != '-IGNORE-') { - $('#autosavemessage').text(responseText) - .fadeIn(500, function(){ - $('#autosavemessage').fadeOut(5000) + $('#autosavemessage').removeClass('sr-only').text(responseText) + .fadeTo(500, 1, function(){ + $(this).fadeTo(5000, 0, function(){ + $(this).removeAttr('style').addClass('sr-only'); + }); }); } } @@ -725,9 +729,11 @@ il.TestPlayerQuestionEditControl = new function() { responseText = jqXHR.responseText ; } - $('#autosavemessage').text(responseText) - .fadeIn(500, function(){ - $('#autosavemessage').fadeOut(5000); + $('#autosavemessage').removeClass('sr-only').text(responseText) + .fadeTo(500, 1, function(){ + $(this).fadeTo(5000, 0, function(){ + $(this).removeAttr('style').addClass('sr-only'); + }); }); autoSavedData = ''; } diff --git a/components/ILIAS/Test/templates/default/tpl.il_as_tst_output.html b/components/ILIAS/Test/templates/default/tpl.il_as_tst_output.html index 9ae03f5f804a..08e4c91c322d 100755 --- a/components/ILIAS/Test/templates/default/tpl.il_as_tst_output.html +++ b/components/ILIAS/Test/templates/default/tpl.il_as_tst_output.html @@ -97,4 +97,4 @@ {NAV_WHILE_EDIT_MODAL}
-
+
From 7ca45787d21a5a09b44e9028734c8639e2e8ac6d Mon Sep 17 00:00:00 2001 From: Alexander Killing Date: Mon, 9 Feb 2026 16:31:34 +0100 Subject: [PATCH 593/865] 44509: Hover colour of AccordIHead (Vert. Akkordeonelement Kopf) not changeable --- .../ILIAS/Style/Content/Style/CSSBuilder.php | 23 +++++++++++-------- .../Content/classes/class.ilObjStyleSheet.php | 6 +++++ 2 files changed, 20 insertions(+), 9 deletions(-) diff --git a/components/ILIAS/Style/Content/Style/CSSBuilder.php b/components/ILIAS/Style/Content/Style/CSSBuilder.php index 5197a787398b..b0ec5c220ca5 100644 --- a/components/ILIAS/Style/Content/Style/CSSBuilder.php +++ b/components/ILIAS/Style/Content/Style/CSSBuilder.php @@ -32,7 +32,6 @@ public function __construct( public function getCss(): string { $style = $this->style->getStyle(); - $css = ""; $page_background = ""; @@ -40,7 +39,6 @@ public function getCss(): string foreach ($this->style->getMediaQueries() as $mq) { $mqs[] = $mq; } - // iterate all media queries foreach ($mqs as $mq) { if ($mq["id"] > 0) { @@ -76,25 +74,32 @@ public function getCss(): string if ($tag[0]["type"] == "text_block") { $css .= ",html.il-no-tiny-bg body#tinymce.ilc_text_block_" . $tag[0]["class"] . "\n"; } - if ($tag[0]["class"] == "VAccordCntr") { + if ($tag[0]["class"] == "VAccordCntr" && + $this->style->hasCharacteristic("va_cntr", "VAccordCntr")) { $css .= ",div.ilc_va_cntr_AccordCntr\n"; } - if ($tag[0]["class"] == "VAccordICntr") { + if ($tag[0]["class"] == "VAccordICntr" && + $this->style->hasCharacteristic("va_icntr", "VAccordICntr")) { $css .= ",div.ilc_va_icntr_AccordICntr\n"; } - if ($tag[0]["class"] == "VAccordICont") { + if ($tag[0]["class"] == "VAccordICont" && + $this->style->hasCharacteristic("va_icont", "VAccordICont")) { $css .= ",div.ilc_va_icont_AccordICont\n"; } - if ($tag[0]["class"] == "VAccordIHead") { + if ($tag[0]["class"] == "VAccordIHead" && + $this->style->hasCharacteristic("va_ihead", "VAccordIHead")) { $css .= ",div.ilc_va_ihead_AccordIHead\n"; } - if ($tag[0]["class"] == "VAccordIHead:hover") { + if ($tag[0]["class"] == "VAccordIHead:hover" && + $this->style->hasCharacteristic("va_ihead", "VAccordIHead")) { $css .= ",div.ilc_va_ihead_AccordIHead:hover\n"; } - if ($tag[0]["class"] == "VAccordIHeadActive") { + if ($tag[0]["class"] == "VAccordIHeadActive" && + $this->style->hasCharacteristic("va_iheada", "VAccordIHeadActive")) { $css .= ",div.ilc_va_iheada_AccordIHeadActive\n"; } - if ($tag[0]["class"] == "VAccordIHeadActive:hover") { + if ($tag[0]["class"] == "VAccordIHeadActive:hover" && + $this->style->hasCharacteristic("va_iheada", "VAccordIHeadActive")) { $css .= ",div.ilc_va_iheada_AccordIHeadActive:hover\n"; } $css .= "{\n"; diff --git a/components/ILIAS/Style/Content/classes/class.ilObjStyleSheet.php b/components/ILIAS/Style/Content/classes/class.ilObjStyleSheet.php index 313a0e49043d..15134d5fd6d6 100755 --- a/components/ILIAS/Style/Content/classes/class.ilObjStyleSheet.php +++ b/components/ILIAS/Style/Content/classes/class.ilObjStyleSheet.php @@ -947,6 +947,12 @@ public function getCharacteristics( return $chars; } + public function hasCharacteristic(string $type, string $char): bool + { + $chars = $this->getCharacteristics($type); + return in_array($char, $chars); + } + public function setCharacteristics(array $a_chars): void { $this->chars = $a_chars; From 4116c4607a3d87fd88c1d33039584af795bc9d90 Mon Sep 17 00:00:00 2001 From: Stefan Meyer Date: Mon, 9 Feb 2026 16:42:46 +0100 Subject: [PATCH 594/865] 0046275: Failed test: Kurslink kopieren --- .../ContainerReference/classes/class.ilContainerReference.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/components/ILIAS/ContainerReference/classes/class.ilContainerReference.php b/components/ILIAS/ContainerReference/classes/class.ilContainerReference.php index 039875008ebf..78a83349c5d1 100755 --- a/components/ILIAS/ContainerReference/classes/class.ilContainerReference.php +++ b/components/ILIAS/ContainerReference/classes/class.ilContainerReference.php @@ -222,7 +222,7 @@ public function update(): bool $query = "INSERT INTO container_reference (obj_id, target_obj_id, title_type) " . "VALUES( " . $ilDB->quote($this->getId(), 'integer') . ", " . - $ilDB->quote($this->getTargetId(), 'integer') . ", " . + $ilDB->quote((int) $this->getTargetId(), 'integer') . ", " . $ilDB->quote($this->getTitleType(), 'integer') . ' ' . ")"; $ilDB->manipulate($query); From b891875f6bbcdd007dd033268376b51df823f7bf Mon Sep 17 00:00:00 2001 From: Stephan Kergomard Date: Mon, 9 Feb 2026 16:43:17 +0100 Subject: [PATCH 595/865] User: Fix Fetching User on Missing DataSet See: https://mantis.ilias.de/view.php?id=47129 --- components/ILIAS/User/src/Profile/DatabaseDataRepository.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/components/ILIAS/User/src/Profile/DatabaseDataRepository.php b/components/ILIAS/User/src/Profile/DatabaseDataRepository.php index 7f7c2c9adb90..c5ade109a7b7 100644 --- a/components/ILIAS/User/src/Profile/DatabaseDataRepository.php +++ b/components/ILIAS/User/src/Profile/DatabaseDataRepository.php @@ -68,7 +68,7 @@ public function getSingle(int $id): Data ); return $this->buildFromData( - $this->db->fetchObject($base_query), + $this->db->fetchObject($base_query) ?? $this->getDefault()->withId($id), $this->db->fetchAll( $additional_query, \ilDBConstants::FETCHMODE_OBJECT From fb433740a43e348b2dc998caf7beeed6887f5403 Mon Sep 17 00:00:00 2001 From: Stephan Kergomard Date: Mon, 9 Feb 2026 16:49:48 +0100 Subject: [PATCH 596/865] Object: Skip Tiles with Missing Images See: https://mantis.ilias.de/view.php?id=47103 --- .../ILIASObject/classes/class.ilObjectDataSet.php | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/components/ILIAS/ILIASObject/classes/class.ilObjectDataSet.php b/components/ILIAS/ILIASObject/classes/class.ilObjectDataSet.php index 1b428e57e09a..5aac279801ba 100755 --- a/components/ILIAS/ILIASObject/classes/class.ilObjectDataSet.php +++ b/components/ILIAS/ILIASObject/classes/class.ilObjectDataSet.php @@ -19,6 +19,7 @@ declare(strict_types=1); use ILIAS\ILIASObject\LocalDIC; +use ILIAS\ResourceStorage\Identification\ResourceIdentification; use ILIAS\ResourceStorage\Services as ResourceStorage; use ILIAS\ILIASObject\Properties\Aggregator; use ILIAS\ILIASObject\Properties\Translations\Language; @@ -217,12 +218,14 @@ public function readData(string $entity, string $version, array $ids): void if ($entity == "tile") { $this->data = []; foreach ($ids as $id) { - $rid = $this->properties_aggregator->getFor((int) $id) + $rid_string = $this->properties_aggregator->getFor((int) $id) ->getPropertyTileImage()->getTileImage()->getRid(); - if ($rid === null) { + if ($rid_string === null + || ($rid = $this->storage->manage()->find($rid_string)) === null) { continue; } + ; $temp_dir = $this->copyTileToTempFolderForExport($rid); $this->data[] = [ @@ -250,9 +253,8 @@ public function readData(string $entity, string $version, array $ids): void } } - private function copyTileToTempFolderForExport(string $rid): string + private function copyTileToTempFolderForExport(ResourceIdentification $rid): string { - $i = $this->storage->manage()->find($rid); $resource = $this->storage->manage()->getResource($i); $path_in_container = "/dsDir_" . $this->dircnt . "/" . $resource->getCurrentRevision()->getTitle(); $path_in_container = $this->export->isContainerExport() From 84c2fb87d3e8d55646bbc312e2f98d32f9253bed Mon Sep 17 00:00:00 2001 From: Stephan Kergomard Date: Mon, 9 Feb 2026 17:37:00 +0100 Subject: [PATCH 597/865] Revert "User: Fix Fetching User on Missing DataSet" This reverts commit b891875f6bbcdd007dd033268376b51df823f7bf. --- components/ILIAS/User/src/Profile/DatabaseDataRepository.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/components/ILIAS/User/src/Profile/DatabaseDataRepository.php b/components/ILIAS/User/src/Profile/DatabaseDataRepository.php index c5ade109a7b7..7f7c2c9adb90 100644 --- a/components/ILIAS/User/src/Profile/DatabaseDataRepository.php +++ b/components/ILIAS/User/src/Profile/DatabaseDataRepository.php @@ -68,7 +68,7 @@ public function getSingle(int $id): Data ); return $this->buildFromData( - $this->db->fetchObject($base_query) ?? $this->getDefault()->withId($id), + $this->db->fetchObject($base_query), $this->db->fetchAll( $additional_query, \ilDBConstants::FETCHMODE_OBJECT From cdc516b89419a1a2d94bc958254d3af5a8c1f42e Mon Sep 17 00:00:00 2001 From: Alexander Killing Date: Mon, 9 Feb 2026 17:42:26 +0100 Subject: [PATCH 598/865] 44312: (+) Button im Seiteneditor wird nicht informativ vorgelesen --- .../js/src/components/page/ui/page-ui.js | 6 +++-- .../Page/class.PageQueryActionHandler.php | 25 +++++++++++++------ lang/ilias_de.lang | 1 + lang/ilias_en.lang | 1 + 4 files changed, 23 insertions(+), 10 deletions(-) diff --git a/components/ILIAS/COPage/Editor/js/src/components/page/ui/page-ui.js b/components/ILIAS/COPage/Editor/js/src/components/page/ui/page-ui.js index 3eec2f890956..ed908c7df026 100755 --- a/components/ILIAS/COPage/Editor/js/src/components/page/ui/page-ui.js +++ b/components/ILIAS/COPage/Editor/js/src/components/page/ui/page-ui.js @@ -222,7 +222,7 @@ export default class PageUI { const { uiModel } = this; let li; let li_templ; let ul; - area.innerHTML = this.droparea + uiModel.dropdown; + area.innerHTML = this.droparea + uiModel.addDropdown; const { model } = this; @@ -296,9 +296,11 @@ export default class PageUI { this.hideAllAddDropdowns(); ul.style.display = 'block'; ul.dataset.copgDDShown = '1'; + b.setAttribute('aria-expanded', 'true'); } else { ul.style.display = 'none'; ul.dataset.copgDDShown = '0'; + b.setAttribute('aria-expanded', 'false'); } }); }); @@ -591,7 +593,7 @@ export default class PageUI { document.querySelectorAll(droppableSelector).forEach((droppableElement) => { droppableElement.addEventListener('dragover', (event) => { event.preventDefault(); // Necessary to allow a drop - event.dataTransfer.dropEffect = "move"; + event.dataTransfer.dropEffect = 'move'; }); droppableElement.addEventListener('dragenter', (event) => { diff --git a/components/ILIAS/COPage/Page/class.PageQueryActionHandler.php b/components/ILIAS/COPage/Page/class.PageQueryActionHandler.php index 76bd7e885343..4e29040eea21 100755 --- a/components/ILIAS/COPage/Page/class.PageQueryActionHandler.php +++ b/components/ILIAS/COPage/Page/class.PageQueryActionHandler.php @@ -83,15 +83,9 @@ public function handle(array $query): Server\Response protected function allCommand(): Server\Response { $ctrl = $this->ctrl; - $f = $this->ui->factory(); - $dd = $f->dropdown()->standard([ - $f->link()->standard("label", "#") - ]); - $r = $this->ui->renderer(); $o = new \stdClass(); - $dd_html = preg_replace('/\s*id="[^"]*"/', '', $r->render($dd)); - $r->renderAsync($dd); // this prevents further buttons to get the dd JS attached - $o->dropdown = $dd_html; + $o->dropdown = $this->getDropdownTemplate(); + $o->addDropdown = $this->getDropdownTemplate($this->lng->txt("copg_add_content")); $o->addCommands = $this->getAddCommands(); $o->pageEditHelp = $this->getPageEditHelp(); $o->multiEditHelp = $this->getMultiEditHelp(); @@ -126,6 +120,21 @@ protected function allCommand(): Server\Response return new Server\Response($o); } + protected function getDropdownTemplate(string $aria_label = ""): string + { + $f = $this->ui->factory(); + $dd = $f->dropdown()->standard([ + $f->link()->standard("label", "#") + ]); + if ($aria_label !== "") { + $dd = $dd->withAriaLabel($aria_label); + } + $r = $this->ui->renderer(); + $dd_html = preg_replace('/\s*id="[^"]*"/', '', $r->render($dd)); + $r->renderAsync($dd); // this prevents further buttons to get the dd JS attached + return $dd_html; + } + protected function getConfig(): \stdClass { $config = new \stdClass(); diff --git a/lang/ilias_de.lang b/lang/ilias_de.lang index 9adf3c276569..911f4add6fda 100644 --- a/lang/ilias_de.lang +++ b/lang/ilias_de.lang @@ -7354,6 +7354,7 @@ copa#:#copa_value_reading_time_f_p#:#%s Minuten copa#:#copa_value_reading_time_f_s#:#%s Minute copa#:#obj_copa_duplicate#:#Inhaltsseite duplizieren copg#:#copg_active_to_small#:#Dieses Datum muss größer als das „Aktiv ab“-Datum sein. +copg#:#copg_add_content#:#Inhalte hinzufügen copg#:#copg_allow_html#:#HTML/Javascript erlauben copg#:#copg_allow_html_info#:#Benutzer können HTML oder Javascript in Seiteninhalten verwenden. Dies kann zu Sicherheitsproblemen führen. Sie sollten diese Funktion nur für Komponenten aktivieren, die von vertrauenswürdigen Benutzern verwendet werden. Die Möglichkeit, HTML in dieser Art einzubinden, wird möglicherweise in einer zukünftigen Version komplett entfallen. copg#:#copg_an_error_occured#:#Es ist leider ein Problem aufgetreten. diff --git a/lang/ilias_en.lang b/lang/ilias_en.lang index 7551967596c0..f59128f89971 100644 --- a/lang/ilias_en.lang +++ b/lang/ilias_en.lang @@ -7355,6 +7355,7 @@ copa#:#copa_value_reading_time_f_p#:#%s Minutes copa#:#copa_value_reading_time_f_s#:#%s Minute copa#:#obj_copa_duplicate#:#Duplicate Content Page copg#:#copg_active_to_small#:#This date must be higher than the starting date. +copg#:#copg_add_content#:#Add Content copg#:#copg_allow_html#:#Enable HTML/Javascript copg#:#copg_allow_html_info#:#User may use HTML or Javascript page content. This may lead to security issues. Do not activate, if features can be used by users which you consider not being trustworthy. The support to add HTML content this way may be discontinued in a future version. copg#:#copg_an_error_occured#:#An error occured. From dc9f231982079c80c0e29c3b93e8a10c614009c0 Mon Sep 17 00:00:00 2001 From: Stephan Kergomard Date: Mon, 9 Feb 2026 17:49:52 +0100 Subject: [PATCH 599/865] User: Fix Fetching User on Missing DataSet See: https://mantis.ilias.de/view.php?id=47129 --- .../ILIAS/User/src/Profile/DatabaseDataRepository.php | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/components/ILIAS/User/src/Profile/DatabaseDataRepository.php b/components/ILIAS/User/src/Profile/DatabaseDataRepository.php index 7f7c2c9adb90..1f4c9dd0cfbe 100644 --- a/components/ILIAS/User/src/Profile/DatabaseDataRepository.php +++ b/components/ILIAS/User/src/Profile/DatabaseDataRepository.php @@ -67,8 +67,13 @@ public function getSingle(int $id): Data 'SELECT field_id, value FROM ' . self::USER_VALUES_TABLE . " WHERE usr_id = {$id}" ); + $base_data = $this->db->fetchObject($base_query); + if ($base_data === null) { + return $this->getDefault()->withId($id); + } + return $this->buildFromData( - $this->db->fetchObject($base_query), + $base_data, $this->db->fetchAll( $additional_query, \ilDBConstants::FETCHMODE_OBJECT From 52a989eb708a8e776f312b308d00d4e46f43bdf6 Mon Sep 17 00:00:00 2001 From: Stephan Kergomard Date: Mon, 9 Feb 2026 18:04:20 +0100 Subject: [PATCH 600/865] User: Assign Empty Array to SystemInformation --- components/ILIAS/User/src/Profile/Data.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/components/ILIAS/User/src/Profile/Data.php b/components/ILIAS/User/src/Profile/Data.php index a33e4b58ef14..4bd76890b3df 100644 --- a/components/ILIAS/User/src/Profile/Data.php +++ b/components/ILIAS/User/src/Profile/Data.php @@ -25,7 +25,7 @@ class Data { - private array $system_information; + private array $system_information = []; public function __construct( private ?int $id = null, From 3fb3378e3e18361f7dd04b679b9402a9072e5a36 Mon Sep 17 00:00:00 2001 From: Stephan Kergomard Date: Mon, 9 Feb 2026 18:36:15 +0100 Subject: [PATCH 601/865] Test: Abandon Support to Export HTML in Essay-Qst See: https://mantis.ilias.de/view.php?id=47157 --- .../src/ExportImport/ResultsExportExcel.php | 5 +---- .../GlobalSettings/GlobalTestSettings.php | 19 +------------------ .../Settings/GlobalSettings/Repository.php | 6 ------ .../Test/src/Setup/Test11DBUpdateSteps.php | 7 +++++++ 4 files changed, 9 insertions(+), 28 deletions(-) diff --git a/components/ILIAS/Test/src/ExportImport/ResultsExportExcel.php b/components/ILIAS/Test/src/ExportImport/ResultsExportExcel.php index b3a9cf9bd268..4d8ff6860bac 100755 --- a/components/ILIAS/Test/src/ExportImport/ResultsExportExcel.php +++ b/components/ILIAS/Test/src/ExportImport/ResultsExportExcel.php @@ -461,9 +461,6 @@ private function addUserContent( $answers = implode("\n", $answers); } - $disable_strip_tags_for_answers = $question_obj instanceof \assTextQuestion - && $this->test_obj->getGlobalSettings()->getExportEssayQuestionsAsHtml(); - $correct_answers = $question_obj->getCorrectSolutionForTextOutput($active_id, $test_attempt->getPass()); if (is_array($correct_answers)) { $correct_answers = implode("\n", $correct_answers); @@ -472,7 +469,7 @@ private function addUserContent( $col = 0; $this->worksheet->setCell($current_row, $col++, $question_obj->getTitle()); $this->worksheet->setCell($current_row, $col++, $this->lng->txt($question_obj->getQuestionType())); - $this->worksheet->setCell($current_row, $col++, $answers, DataType::TYPE_STRING, $disable_strip_tags_for_answers); + $this->worksheet->setCell($current_row, $col++, $answers, DataType::TYPE_STRING); $this->worksheet->setCell($current_row, $col++, $correct_answers); $this->worksheet->setCell($current_row, $col++, implode(', ', $question_obj->getVariablesAsTextArray($active_id, $test_attempt->getPass()))); $this->worksheet->setCell($current_row, $col++, $test_attempt->getAnsweredQuestionByQuestionId($question_id)['reached'] ?? 0); diff --git a/components/ILIAS/Test/src/Settings/GlobalSettings/GlobalTestSettings.php b/components/ILIAS/Test/src/Settings/GlobalSettings/GlobalTestSettings.php index 09f856802ba8..28e98af25e99 100755 --- a/components/ILIAS/Test/src/Settings/GlobalSettings/GlobalTestSettings.php +++ b/components/ILIAS/Test/src/Settings/GlobalSettings/GlobalTestSettings.php @@ -33,7 +33,6 @@ public function __construct( private string $image_map_line_color = 'FF0000', private UserIdentifiers $user_identifier = UserIdentifiers::USER_ID, private int $skill_triggering_number_of_answers = 1, - private bool $export_essay_questions_as_html = false, private array $disabled_question_types = [], private bool $manual_scoring_enabled = false, private bool $adjusting_questions_with_results_allowed = false, @@ -122,18 +121,6 @@ public function withSkillTriggeringNumberOfAnswers(int $skill_triggering_number_ return $clone; } - public function getExportEssayQuestionsAsHtml(): bool - { - return $this->export_essay_questions_as_html; - } - - public function withExportEssayQuestionsAsHtml(bool $export_essay_questions_as_html): self - { - $clone = clone $this; - $clone->export_essay_questions_as_html = $export_essay_questions_as_html; - return $clone; - } - /** * @return array */ @@ -203,7 +190,6 @@ static function ($vs) use ($all_question_types): self { substr($vs['general_settings']['image_map_line_color']->asHex(), 1), UserIdentifiers::from($vs['general_settings']['user_identifier']), $vs['general_settings']['skill_triggering_number_of_answers'], - $vs['general_settings']['export_essay_questions_as_html'], array_reduce( $all_question_types, static function (array $c, array $v) use ($vs): array { @@ -262,10 +248,7 @@ function (array $c, UserIdentifiers $v): array { 'skill_triggering_number_of_answers' => $ff->numeric($lng->txt('tst_skill_triggerings_num_req_answers')) ->withAdditionalTransformation($refinery->int()->isGreaterThan(0)) ->withByline($lng->txt('tst_skill_triggerings_num_req_answers_desc')) - ->withValue($this->skill_triggering_number_of_answers), - 'export_essay_questions_as_html' => $ff->checkbox($lng->txt('export_essay_qst_with_html')) - ->withByline($lng->txt('export_essay_qst_with_html_desc')) - ->withValue($this->export_essay_questions_as_html) + ->withValue($this->skill_triggering_number_of_answers) ], $lng->txt('settings') ); diff --git a/components/ILIAS/Test/src/Settings/GlobalSettings/Repository.php b/components/ILIAS/Test/src/Settings/GlobalSettings/Repository.php index a8d9164fe47d..2efe32d0164d 100644 --- a/components/ILIAS/Test/src/Settings/GlobalSettings/Repository.php +++ b/components/ILIAS/Test/src/Settings/GlobalSettings/Repository.php @@ -29,7 +29,6 @@ class Repository private const SETTINGS_KEY_IMAGE_MAP_LINE_COLOR = 'imap_line_color'; private const SETTINGS_KEY_UNIQUE_USER_IDENTIFIER = 'user_criteria'; private const SETTINGS_KEY_SKILL_TRIGGERING_NUMBER_OF_ANSWERS = 'ass_skl_trig_num_answ_barrier'; - private const SETTINGS_KEY_EXPORT_ESSAY_QUESTIONS_AS_HTML = 'export_essay_qst_with_html'; private const SETTINGS_KEY_DISABLED_QUESTION_TYPES = 'disabled_question_types'; private const SETTINGS_KEY_MANUAL_SCORING_ENABLED = 'manual_scoring'; private const SETTINGS_KEY_ADJUSTING_QUESTIONS_WITH_RESULTS_ALLOWED = 'assessment_adjustments_enabled'; @@ -81,10 +80,6 @@ private function buildGlobalTestSettings(): GlobalTestSettings $global_settings = $global_settings->withSkillTriggeringNumberOfAnswers((int) $skill_triggering_number_of_answers); } - if (($export_essay_questions_as_html = $this->settings_test->get(self::SETTINGS_KEY_EXPORT_ESSAY_QUESTIONS_AS_HTML)) !== null) { - $global_settings = $global_settings->withExportEssayQuestionsAsHtml($export_essay_questions_as_html === '1'); - } - if (($disabled_question_types_legacy = $this->settings_test->get(self::SETTINGS_KEY_DISABLED_QUESTION_TYPES_LEGACY)) !== null) { $this->migrateLegacyQuestionTypes($disabled_question_types_legacy); } @@ -118,7 +113,6 @@ public function storeGlobalSettings(GlobalTestSettings $global_settings): void $this->settings_test->set(self::SETTINGS_KEY_IMAGE_MAP_LINE_COLOR, $global_settings->getImageMapLineColor()); $this->settings_test->set(self::SETTINGS_KEY_UNIQUE_USER_IDENTIFIER, $global_settings->getUserIdentifier()->value); $this->settings_test->set(self::SETTINGS_KEY_SKILL_TRIGGERING_NUMBER_OF_ANSWERS, (string) $global_settings->getSkillTriggeringNumberOfAnswers()); - $this->settings_test->set(self::SETTINGS_KEY_EXPORT_ESSAY_QUESTIONS_AS_HTML, $global_settings->getExportEssayQuestionsAsHtml() ? '1' : '0'); $this->settings_test->set(self::SETTINGS_KEY_DISABLED_QUESTION_TYPES, implode(',', $global_settings->getDisabledQuestionTypes())); $this->settings_test->set(self::SETTINGS_KEY_MANUAL_SCORING_ENABLED, $global_settings->isManualScoringEnabled() ? '1' : '0'); $this->settings_test->set(self::SETTINGS_KEY_ADJUSTING_QUESTIONS_WITH_RESULTS_ALLOWED, $global_settings->isAdjustingQuestionsWithResultsAllowed() ? '1' : '0'); diff --git a/components/ILIAS/Test/src/Setup/Test11DBUpdateSteps.php b/components/ILIAS/Test/src/Setup/Test11DBUpdateSteps.php index 3dc82c72fe75..c6ea64f5c469 100644 --- a/components/ILIAS/Test/src/Setup/Test11DBUpdateSteps.php +++ b/components/ILIAS/Test/src/Setup/Test11DBUpdateSteps.php @@ -165,4 +165,11 @@ public function step_4(): void $this->db->modifyTableColumn($table, $column, ['default' => '', 'notnull' => true]); } } + + public function step_5(): void + { + $this->db->manipulate( + 'DELETE FROM settings WHERE module="assessment" AND keyword="export_essay_qst_with_html"' + ); + } } From e93ca9dec7e5c1b420019c428c50af0ec69e95ef Mon Sep 17 00:00:00 2001 From: Stephan Kergomard Date: Mon, 9 Feb 2026 18:41:32 +0100 Subject: [PATCH 602/865] Excel: Remove Specialcasing For Essay Question --- components/ILIAS/Excel/classes/class.ilExcel.php | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/components/ILIAS/Excel/classes/class.ilExcel.php b/components/ILIAS/Excel/classes/class.ilExcel.php index c8528e7d223a..18990b6d3da6 100755 --- a/components/ILIAS/Excel/classes/class.ilExcel.php +++ b/components/ILIAS/Excel/classes/class.ilExcel.php @@ -226,7 +226,6 @@ protected function prepareBooleanValue(bool $a_value): string protected function prepareString( string $value, - bool $disable_strip_tags = false ): string { if (!mb_check_encoding($value, 'UTF-8')) { throw new InvalidArgumentException('Invalid UTF-8 passed.'); @@ -292,15 +291,14 @@ public function setCell( int $a_row, int $col, $value, - ?string $datatype = null, - bool $disable_strip_tags_for_strings = false + ?string $datatype = null ): void { $coordinate = $this->getCoordByColumnAndRow($col, $a_row); if ($datatype === DataType::TYPE_STRING) { $this->workbook->getActiveSheet()->setCellValueExplicit( $coordinate, - $this->prepareString($value, $disable_strip_tags_for_strings), + $this->prepareString($value), $datatype ); } elseif ($datatype !== null) { From 985b4f68c5149bd47d4fdb51b16e445820a71812 Mon Sep 17 00:00:00 2001 From: mjansen Date: Tue, 10 Feb 2026 08:09:03 +0100 Subject: [PATCH 603/865] Mail: Improve README by adding more details to delivery rules --- components/ILIAS/Mail/README.md | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/components/ILIAS/Mail/README.md b/components/ILIAS/Mail/README.md index 36a5de47e4ad..19ef32b49910 100755 --- a/components/ILIAS/Mail/README.md +++ b/components/ILIAS/Mail/README.md @@ -919,11 +919,13 @@ For **system mails**: For each recipient account, delivery is decided as follows: - **Not active OR expired** - → Mail is sent **internally only** (no external). + → Mail is sent **internally only** (no external), even if the check + in [paragraph 1](#1-internal-mail-eligibility) evaluates to `false`. - **Active AND not expired** - **Has not accepted all legal documents** - → Mail is always sent **externally**, optionally **internally**. + → Mail is always sent **externally**, optionally **internally** (even if + the check in [paragraph 1](#1-internal-mail-eligibility) evaluates to `false`). - **Wants both internal and external** → Mail is sent **internally and externally**. - **Configured for external only** From a558d055bdea2194535a5f1c00167e9326190b3d Mon Sep 17 00:00:00 2001 From: Marvin Beym <79150442+mBeym@users.noreply.github.com> Date: Tue, 10 Feb 2026 08:56:06 +0100 Subject: [PATCH 604/865] [FIX] #47191 2: Fix mail only send to first rcp & draft validation not done (#11098) --- .../ILIAS/Mail/classes/class.ilMailFormGUI.php | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/components/ILIAS/Mail/classes/class.ilMailFormGUI.php b/components/ILIAS/Mail/classes/class.ilMailFormGUI.php index 209fcedb1728..52dc7b390ab8 100755 --- a/components/ILIAS/Mail/classes/class.ilMailFormGUI.php +++ b/components/ILIAS/Mail/classes/class.ilMailFormGUI.php @@ -342,13 +342,13 @@ public function sendMessage(): void $rcp_cc = ''; $rcp_bcc = ''; if ($value['rcp_to'] != []) { - $rcp_to = $value['rcp_to'][0]; + $rcp_to = implode(',', $value['rcp_to']); } if ($value['rcp_cc'] != []) { - $rcp_cc = $value['rcp_cc'][0]; + $rcp_cc = implode(',', $value['rcp_cc']); } if ($value['rcp_bcc'] != []) { - $rcp_bcc = $value['rcp_bcc'][0]; + $rcp_bcc = implode(',', $value['rcp_bcc']); } if ($errors = $mailer->enqueue( @@ -428,9 +428,9 @@ public function saveDraft(): void $draft_folder_id = $this->mbox->getDraftsFolder(); - $rcp_to = ilUtil::securePlainString($this->getBodyParam('rcp_to', $this->refinery->kindlyTo()->string(), '')); - $rcp_cc = ilUtil::securePlainString($this->getBodyParam('rcp_cc', $this->refinery->kindlyTo()->string(), '')); - $rcp_bcc = ilUtil::securePlainString($this->getBodyParam('rcp_bcc', $this->refinery->kindlyTo()->string(), '')); + $rcp_to = implode(',', $value['rcp_to']); + $rcp_cc = implode(',', $value['rcp_cc']); + $rcp_bcc = implode(',', $value['rcp_bcc']); if ($errors = $this->umail->validateRecipients( $rcp_to, @@ -453,9 +453,9 @@ public function saveDraft(): void $this->umail->updateDraft( $draft_folder_id, $files, - implode(',', $value['rcp_to']), - implode(',', $value['rcp_cc']), - implode(',', $value['rcp_bcc']), + $rcp_to, + $rcp_cc, + $rcp_bcc, ilUtil::securePlainString($value['m_subject']), $value['m_message'], $draft_id, From 0543c3886a7c85788f96863f3ad1f9af257d1786 Mon Sep 17 00:00:00 2001 From: mjansen Date: Tue, 10 Feb 2026 09:06:03 +0100 Subject: [PATCH 605/865] Mail: Improve recipient handling --- .../ILIAS/Mail/classes/class.ilMailFormGUI.php | 18 +++++++----------- 1 file changed, 7 insertions(+), 11 deletions(-) diff --git a/components/ILIAS/Mail/classes/class.ilMailFormGUI.php b/components/ILIAS/Mail/classes/class.ilMailFormGUI.php index 52dc7b390ab8..28906f0a760d 100755 --- a/components/ILIAS/Mail/classes/class.ilMailFormGUI.php +++ b/components/ILIAS/Mail/classes/class.ilMailFormGUI.php @@ -341,13 +341,13 @@ public function sendMessage(): void $rcp_to = ''; $rcp_cc = ''; $rcp_bcc = ''; - if ($value['rcp_to'] != []) { + if (!empty($value['rcp_to'])) { $rcp_to = implode(',', $value['rcp_to']); } - if ($value['rcp_cc'] != []) { + if (!empty($value['rcp_cc'])) { $rcp_cc = implode(',', $value['rcp_cc']); } - if ($value['rcp_bcc'] != []) { + if (!empty($value['rcp_bcc'])) { $rcp_bcc = implode(',', $value['rcp_bcc']); } @@ -428,15 +428,11 @@ public function saveDraft(): void $draft_folder_id = $this->mbox->getDraftsFolder(); - $rcp_to = implode(',', $value['rcp_to']); - $rcp_cc = implode(',', $value['rcp_cc']); - $rcp_bcc = implode(',', $value['rcp_bcc']); + $rcp_to = !empty($value['rcp_to']) ? implode(',', $value['rcp_to']) : ''; + $rcp_cc = !empty($value['rcp_cc']) ? implode(',', $value['rcp_cc']) : ''; + $rcp_bcc = !empty($value['rcp_bcc']) ? implode(',', $value['rcp_bcc']) : ''; - if ($errors = $this->umail->validateRecipients( - $rcp_to, - $rcp_cc, - $rcp_bcc, - )) { + if ($errors = $this->umail->validateRecipients($rcp_to, $rcp_cc, $rcp_bcc)) { $this->request_attachments = $files; $this->showSubmissionErrors($errors); $this->showForm($form); From 5d47a631916270af7989b450f66acb34308901ec Mon Sep 17 00:00:00 2001 From: Stephan Kergomard Date: Tue, 10 Feb 2026 10:24:54 +0100 Subject: [PATCH 606/865] Object: Fix Variable Name See: https://mantis.ilias.de/view.php?id=47199 --- .../classes/class.ilObjectDataSet.php | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/components/ILIAS/ILIASObject/classes/class.ilObjectDataSet.php b/components/ILIAS/ILIASObject/classes/class.ilObjectDataSet.php index 5aac279801ba..2c5eec1c711f 100755 --- a/components/ILIAS/ILIASObject/classes/class.ilObjectDataSet.php +++ b/components/ILIAS/ILIASObject/classes/class.ilObjectDataSet.php @@ -255,12 +255,18 @@ public function readData(string $entity, string $version, array $ids): void private function copyTileToTempFolderForExport(ResourceIdentification $rid): string { - $resource = $this->storage->manage()->getResource($i); - $path_in_container = "/dsDir_" . $this->dircnt . "/" . $resource->getCurrentRevision()->getTitle(); + $path_in_container = "/dsDir_{$this->dircnt}/" + . $this->storage->manage()->getResource($rid) + ->getCurrentRevision()->getTitle(); $path_in_container = $this->export->isContainerExport() - ? $this->export->getPathToComponentExpDirInContainerWithLeadingSetNumber() . $path_in_container - : $this->export->getPathToComponentExpDirInContainer() . $path_in_container; - $this->export->getExportWriter()->writeFilesByResourceId($rid, $path_in_container); + ? $this->export->getPathToComponentExpDirInContainerWithLeadingSetNumber() + . $path_in_container + : $this->export->getPathToComponentExpDirInContainer() + . $path_in_container; + $this->export->getExportWriter()->writeFilesByResourceId( + $rid->serialize(), + $path_in_container + ); return $path_in_container; } /** From ff38dd0a47e59346c244ddc0a9ab579fcff19c5a Mon Sep 17 00:00:00 2001 From: Alexander Killing Date: Tue, 10 Feb 2026 11:05:54 +0100 Subject: [PATCH 607/865] =?UTF-8?q?42645:=20Ausgeschnittenes=20Kapitel=20e?= =?UTF-8?q?inf=C3=BCgen=20wirft=20Fehler?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Editing/class.EditSubObjectsGUI.php | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/components/ILIAS/LearningModule/Editing/class.EditSubObjectsGUI.php b/components/ILIAS/LearningModule/Editing/class.EditSubObjectsGUI.php index 92620e275ae0..dce582e697e8 100644 --- a/components/ILIAS/LearningModule/Editing/class.EditSubObjectsGUI.php +++ b/components/ILIAS/LearningModule/Editing/class.EditSubObjectsGUI.php @@ -164,9 +164,18 @@ protected function list(): void $main_tpl->addOnloadCode("window.setTimeout(() => { il.repository.core.trigger('il-lm-editor-tree'); }, 500);"); } - public function insertChapterClipBefore(): void + protected function getCurrentParentId(): int { $parent = $this->sub_obj_id; + if ($parent === 0) { + $parent = $this->lm_tree->readRootId(); + } + return $parent; + } + + public function insertChapterClipBefore(): void + { + $parent = $this->getCurrentParentId(); $target_id = $this->request->getTargetId(); $before_target = \ilTree::POS_FIRST_NODE; foreach ($this->lm_tree->getChilds($parent) as $node) { @@ -355,10 +364,7 @@ public function insertChapterAfter(): void public function insertChapterBefore(): void { - $parent = $this->sub_obj_id; - if ($parent === 0) { - $parent = $this->lm_tree->getRootId(); - } + $parent = $this->getCurrentParentId(); $target_id = $this->request->getTargetId(); $before_target = \ilTree::POS_FIRST_NODE; foreach ($this->lm_tree->getChilds($parent) as $node) { From 72b7e7bd3c38f25aca2a4ead81840954f38015ce Mon Sep 17 00:00:00 2001 From: Akumatic Date: Tue, 10 Feb 2026 11:17:22 +0100 Subject: [PATCH 608/865] ECS: add fallback to id lookup & fix missing function call --- .../ILIAS/RemoteCourse/classes/class.ilObjRemoteCourse.php | 5 +++-- .../ILIAS/RemoteGroup/classes/class.ilObjRemoteGroup.php | 3 ++- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/components/ILIAS/RemoteCourse/classes/class.ilObjRemoteCourse.php b/components/ILIAS/RemoteCourse/classes/class.ilObjRemoteCourse.php index 14de96b4a905..45dc053c0f4a 100755 --- a/components/ILIAS/RemoteCourse/classes/class.ilObjRemoteCourse.php +++ b/components/ILIAS/RemoteCourse/classes/class.ilObjRemoteCourse.php @@ -136,7 +136,8 @@ public static function _lookupOnline($a_obj_id) return false; case self::ACTIVATION_LIMITED: - return time() > $row->r_start && time < $row->r_end; + $now = time(); + return $now > $row->r_start && $now < $row->r_end; default: return false; @@ -183,7 +184,7 @@ protected function updateCustomFromECSContent(ilECSSetting $a_server, $a_ecs_con ); $import = new ilECSImport($a_server->getServerId(), $this->getId()); - $import->setContentId($a_ecs_content->courseID); + $import->setContentId($a_ecs_content->courseID ?? $a_ecs_content->id); $import->save(); } } diff --git a/components/ILIAS/RemoteGroup/classes/class.ilObjRemoteGroup.php b/components/ILIAS/RemoteGroup/classes/class.ilObjRemoteGroup.php index 0d54fd0bb946..ca941911791f 100755 --- a/components/ILIAS/RemoteGroup/classes/class.ilObjRemoteGroup.php +++ b/components/ILIAS/RemoteGroup/classes/class.ilObjRemoteGroup.php @@ -137,7 +137,8 @@ public static function _lookupOnline($a_obj_id) return false; case self::ACTIVATION_LIMITED: - return time() > $row->r_start && time < $row->r_end; + $now = time(); + return $now > $row->r_start && $now < $row->r_end; default: return false; From 74bc23abb906c183c7195f658d7d2100a157b3b1 Mon Sep 17 00:00:00 2001 From: Alexander Killing Date: Tue, 10 Feb 2026 11:52:41 +0100 Subject: [PATCH 609/865] 42075: DataFragments: PageObjects are not deleted --- .../Container/Page/class.PageManager.php | 19 +++++++++++++++++++ .../Container/classes/class.ilContainer.php | 3 +++ 2 files changed, 22 insertions(+) diff --git a/components/ILIAS/Container/Page/class.PageManager.php b/components/ILIAS/Container/Page/class.PageManager.php index 7b31f44d1902..4d19d02a04c2 100755 --- a/components/ILIAS/Container/Page/class.PageManager.php +++ b/components/ILIAS/Container/Page/class.PageManager.php @@ -103,4 +103,23 @@ public function getDom(): ?\DOMDocument return $page->getDomDoc(); } + public function getPage(): ?\ilContainerPage + { + $page = null; + if (\ilContainerPage::_exists( + "cont", + $this->container->getId() + )) { + $page = new \ilContainerPage($this->container->getId()); + } + return $page; + } + + public function deletePage(): void + { + if ($page = $this->getPage()) { + $page->delete(); + } + } + } diff --git a/components/ILIAS/Container/classes/class.ilContainer.php b/components/ILIAS/Container/classes/class.ilContainer.php index 39ec20603e50..501536cf8c62 100755 --- a/components/ILIAS/Container/classes/class.ilContainer.php +++ b/components/ILIAS/Container/classes/class.ilContainer.php @@ -584,6 +584,9 @@ public function delete(): bool // delete translations $this->getObjectProperties()->deletePropertyTranslations(); + // delete content page + $this->domain->page($this)->deletePage(); + return true; } From 4753b45156d6218e6f0a0986fa254280e6399cd9 Mon Sep 17 00:00:00 2001 From: Fred Neumann Date: Tue, 10 Feb 2026 12:02:31 +0100 Subject: [PATCH 610/865] fixed Mantis #46828: Failed test: Creating and Installing from a Custom Language File --- lang/customizing/README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lang/customizing/README.md b/lang/customizing/README.md index 2a0ff44d4a75..d1f7ff1fe515 100644 --- a/lang/customizing/README.md +++ b/lang/customizing/README.md @@ -3,8 +3,8 @@ You may change terms used in the user interface of ILIAS. To do this, use the same format as is used in the language files in directory `/lang`. Store the values to be overwritten in files ending with `.lang.local` and put them into -the `/lang/Customizing` directory. +the `/lang/customizing` directory. ``` -/lang/Customizing/ilias_.lang.local +/lang/customizing/ilias_.lang.local ``` From 75aa05660ed5a0f4819965f2adb67cab3bdb0a5e Mon Sep 17 00:00:00 2001 From: Stephan Kergomard Date: Tue, 10 Feb 2026 12:13:55 +0100 Subject: [PATCH 611/865] Excel: Completely Remove Strip Tags See: https://mantis.ilias.de/view.php?id=47198 --- components/ILIAS/Excel/classes/class.ilExcel.php | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/components/ILIAS/Excel/classes/class.ilExcel.php b/components/ILIAS/Excel/classes/class.ilExcel.php index 18990b6d3da6..8d8e666d1fc6 100755 --- a/components/ILIAS/Excel/classes/class.ilExcel.php +++ b/components/ILIAS/Excel/classes/class.ilExcel.php @@ -231,9 +231,7 @@ protected function prepareString( throw new InvalidArgumentException('Invalid UTF-8 passed.'); } - return $this->cleanupNonCharachters( - $disable_strip_tags ? $value : strip_tags($value) - ); // #14542 + return $this->cleanupNonCharachters(strip_tags($value)); } /** From 4a6e6f4bf1542f0dcfd214c90f37bf39e7bb3201 Mon Sep 17 00:00:00 2001 From: Christoph Ludolf Date: Tue, 10 Feb 2026 11:35:43 +0100 Subject: [PATCH 612/865] AccessControl: disable public access flag of export files for role exports --- components/ILIAS/AccessControl/classes/class.ilObjRoleGUI.php | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/components/ILIAS/AccessControl/classes/class.ilObjRoleGUI.php b/components/ILIAS/AccessControl/classes/class.ilObjRoleGUI.php index 049e151320ca..d23f6c0403d0 100755 --- a/components/ILIAS/AccessControl/classes/class.ilObjRoleGUI.php +++ b/components/ILIAS/AccessControl/classes/class.ilObjRoleGUI.php @@ -117,8 +117,7 @@ public function executeCommand(): void $eo = ilExportOptions::newInstance(ilExportOptions::allocateExportId()); $eo->addOption(ilExportOptions::KEY_ROOT, 0, $this->object->getId(), $this->obj_ref_id); - $exp = new ilExportGUI($this, new ilObjRole($this->object->getId())); - $exp->addFormat('xml'); + $exp = new ilExportGUI($this, new ilObjRole($this->object->getId()), false); $this->ctrl->forwardCommand($exp); break; From 771531dab0e91e1e396ed63e49049c4f3a811b71 Mon Sep 17 00:00:00 2001 From: Fred Neumann Date: Tue, 10 Feb 2026 13:11:04 +0100 Subject: [PATCH 613/865] fixed Mantis #46821: Failed test: Overview of Installed Languages https://mantis.ilias.de/view.php?id=46821 --- .../classes/class.ilObjLanguageExtGUI.php | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/components/ILIAS/Language/classes/class.ilObjLanguageExtGUI.php b/components/ILIAS/Language/classes/class.ilObjLanguageExtGUI.php index 9e37cd2da5c5..dc5e5bac27dd 100755 --- a/components/ILIAS/Language/classes/class.ilObjLanguageExtGUI.php +++ b/components/ILIAS/Language/classes/class.ilObjLanguageExtGUI.php @@ -59,6 +59,8 @@ public function __construct($a_data, int $a_id = 0, bool $a_call_by_reference = $ilClientIniFile = $DIC->clientIni(); $ilCtrl = $DIC->ctrl(); $lng = $DIC->language(); + $this->http = $DIC['http']; + $this->refinery = $DIC['refinery']; // language maintenance strings are defined in administration $lng->loadLanguageModule("administration"); @@ -71,19 +73,18 @@ public function __construct($a_data, int $a_id = 0, bool $a_call_by_reference = $this->type = "lng"; $obj_id_get = 0; - if (!$this->id = $obj_id_get) { - $this->id = ilObjLanguageAccess::_lookupId($lng->getUserLanguage()); - } - - // do all generic GUI initialisations - parent::__construct($a_data, $this->id, false, true); - if ($this->http->wrapper()->query()->has("obj_id")) { $obj_id_get = $this->http->wrapper()->query()->retrieve("obj_id", $this->refinery->kindlyTo()->int()); } elseif ($this->http->wrapper()->query()->has("language_folder_obj_ids")) { $obj_id_get = $this->http->wrapper()->query()->retrieve("language_folder_obj_ids", $this->refinery->kindlyTo()->int()); } + if (!$this->id = $obj_id_get) { + $this->id = ilObjLanguageAccess::_lookupId($lng->getUserLanguage()); + } + + // do all generic GUI initialisations + parent::__construct($a_data, $this->id, false, true); // initialize the array to store session variables for extended language maintenance if (!is_array($this->getSession())) { From 7d1e57c8d6e6eb3b922a2ba4437f479ec39aa161 Mon Sep 17 00:00:00 2001 From: Fabian Helfer <82493694+fhelfer@users.noreply.github.com> Date: Tue, 10 Feb 2026 16:17:30 +0100 Subject: [PATCH 614/865] [FIX] #4951 UI: update `Input\Container\Form\FormInput` HTML context. (#11017) * Fixes https://mantis.ilias.de/view.php?id=46951 * Hides asterisk from assistive technologies and provides alternative text information instead. --- .../Test/tests/Scoring/Settings/ScoreSettingsTest.php | 10 +++++----- .../src/templates/default/Input/tpl.context_form.html | 2 +- .../Input/Container/Form/StandardFormTest.php | 2 +- .../Component/Input/Field/CommonFieldRendering.php | 2 +- .../UI/tests/Component/Input/Field/MarkdownTest.php | 2 +- .../Component/Input/Field/TreeMultiSelectTest.php | 2 +- .../UI/tests/Component/Input/Field/TreeSelectTest.php | 2 +- 7 files changed, 11 insertions(+), 11 deletions(-) diff --git a/components/ILIAS/Test/tests/Scoring/Settings/ScoreSettingsTest.php b/components/ILIAS/Test/tests/Scoring/Settings/ScoreSettingsTest.php index 88132d15e0fb..c43aa12e1d76 100755 --- a/components/ILIAS/Test/tests/Scoring/Settings/ScoreSettingsTest.php +++ b/components/ILIAS/Test/tests/Scoring/Settings/ScoreSettingsTest.php @@ -291,7 +291,7 @@ public function testScoreSettingsSectionSummary(): void $i1_1_4_1 = $this->getFormWrappedHtml( 'date-time-field-input', - 'tst_reporting_date*', + 'tst_reporting_daterequired_field', '
', @@ -303,7 +303,7 @@ public function testScoreSettingsSectionSummary(): void $i1_1_4 = $this->getFormWrappedHtml( 'group-field-input', - 'tst_results_access_date*', + 'tst_results_access_daterequired_field', $i1_1_4_1, 'tst_results_access_date_desc', 'id_5', @@ -313,7 +313,7 @@ public function testScoreSettingsSectionSummary(): void $i1_1 = $this->getFormWrappedHtml( 'switchable-group-field-input', - 'tst_results_access_setting*', + 'tst_results_access_settingrequired_field', $i1_1_1 . $i1_1_2 . $i1_1_3 . $i1_1_4, null, null, @@ -441,7 +441,7 @@ public function testScoreSettingsSectionGamification(): void $fields = $this->getFormWrappedHtml( 'radio-field-input', - 'tst_highscore_mode*', + 'tst_highscore_moderequired_field', '
@@ -460,7 +460,7 @@ public function testScoreSettingsSectionGamification(): void ); $fields .= $this->getFormWrappedHtml( 'numeric-field-input', - 'tst_highscore_top_num*', + 'tst_highscore_top_numrequired_field', '', 'tst_highscore_top_num_description', 'id_3', diff --git a/components/ILIAS/UI/src/templates/default/Input/tpl.context_form.html b/components/ILIAS/UI/src/templates/default/Input/tpl.context_form.html index 116c46e1112f..490bada52cc3 100755 --- a/components/ILIAS/UI/src/templates/default/Input/tpl.context_form.html +++ b/components/ILIAS/UI/src/templates/default/Input/tpl.context_form.html @@ -1,6 +1,6 @@
disabled="disabled" aria-describedby="{ERROR_ID}" id="{BINDING_ID}" tabindex="0"> - +
{INPUT} diff --git a/components/ILIAS/UI/tests/Component/Input/Container/Form/StandardFormTest.php b/components/ILIAS/UI/tests/Component/Input/Container/Form/StandardFormTest.php index c50961ee797d..fc8bc1fa0b6e 100755 --- a/components/ILIAS/UI/tests/Component/Input/Container/Form/StandardFormTest.php +++ b/components/ILIAS/UI/tests/Component/Input/Container/Form/StandardFormTest.php @@ -366,7 +366,7 @@ public function testStandardFormRenderWithRequired(): void $field_html = $this->getFormWrappedHtml( 'text-field-input', - 'label*', + 'labelrequired_field', '', 'byline', 'id_1', diff --git a/components/ILIAS/UI/tests/Component/Input/Field/CommonFieldRendering.php b/components/ILIAS/UI/tests/Component/Input/Field/CommonFieldRendering.php index 167f1d3e02dd..7affdef80ba1 100644 --- a/components/ILIAS/UI/tests/Component/Input/Field/CommonFieldRendering.php +++ b/components/ILIAS/UI/tests/Component/Input/Field/CommonFieldRendering.php @@ -60,7 +60,7 @@ protected function testWithError(FormInput $component): void protected function testWithRequired(FormInput $component): void { - $expected = '*'; + $expected = 'required_field'; $this->assertStringContainsString($expected, $this->render($component->withRequired(true))); } diff --git a/components/ILIAS/UI/tests/Component/Input/Field/MarkdownTest.php b/components/ILIAS/UI/tests/Component/Input/Field/MarkdownTest.php index 5b243b5fd7dd..363bfa10c336 100755 --- a/components/ILIAS/UI/tests/Component/Input/Field/MarkdownTest.php +++ b/components/ILIAS/UI/tests/Component/Input/Field/MarkdownTest.php @@ -357,7 +357,7 @@ public function testRenderWithRequired(): void $expected = $this->brutallyTrimHTML( "
- +
diff --git a/components/ILIAS/UI/tests/Component/Input/Field/TreeMultiSelectTest.php b/components/ILIAS/UI/tests/Component/Input/Field/TreeMultiSelectTest.php index 061f117e5882..912ffa38f81f 100644 --- a/components/ILIAS/UI/tests/Component/Input/Field/TreeMultiSelectTest.php +++ b/components/ILIAS/UI/tests/Component/Input/Field/TreeMultiSelectTest.php @@ -223,7 +223,7 @@ public function testRenderWithRequired(): void $renderer = $this->getDefaultRenderer(); $expected_html = <<* + HTML; $actual_html = $renderer->render($component); diff --git a/components/ILIAS/UI/tests/Component/Input/Field/TreeSelectTest.php b/components/ILIAS/UI/tests/Component/Input/Field/TreeSelectTest.php index e13ce55d8499..70da6eb1e99b 100644 --- a/components/ILIAS/UI/tests/Component/Input/Field/TreeSelectTest.php +++ b/components/ILIAS/UI/tests/Component/Input/Field/TreeSelectTest.php @@ -223,7 +223,7 @@ public function testRenderWithRequired(): void $renderer = $this->getDefaultRenderer(); $expected_html = <<* + HTML; $actual_html = $renderer->render($component); From 908743b4082d494bafcf2a695b014142e7a71c22 Mon Sep 17 00:00:00 2001 From: Alexander Killing Date: Tue, 10 Feb 2026 16:18:12 +0100 Subject: [PATCH 615/865] 44822: Failed test: Hotspot/Imagemap-Frage erstellen/bearbeiten --- components/ILIAS/COPage/css/content.css | 3456 +++++++++-------- components/ILIAS/COPage/css/content.less | 6 + .../Content/classes/class.ilObjStyleSheet.php | 3 +- vendor/ilias/Style/basic_style/style.zip | Bin 60301 -> 54588 bytes 4 files changed, 1918 insertions(+), 1547 deletions(-) mode change 100755 => 100644 vendor/ilias/Style/basic_style/style.zip diff --git a/components/ILIAS/COPage/css/content.css b/components/ILIAS/COPage/css/content.css index 9f25273c43a8..c78b7bd65b5c 100755 --- a/components/ILIAS/COPage/css/content.css +++ b/components/ILIAS/COPage/css/content.css @@ -1,1548 +1,1912 @@ /* this should be derived from zip in libs/ilias/Style */ -a.ilc_qetitem_ErrorTextItem { - padding: 2px; - text-decoration: none; -} -a.ilc_qetitem_ErrorTextItem:hover { - color: #000000; - text-decoration: none; - background-color: #D0D0D0; -} -a.ilc_qetitem_ErrorTextSelected { - border-style: none; - background-color: #E2E8EF; - color: #161616; -} -a.ilc_link_ExtLink { - text-decoration: underline; -} -a.ilc_link_FileLink { - text-decoration: underline; -} -a.ilc_link_GlossaryLink { - text-decoration: underline; -} -a.ilc_glo_ovclink_GlossaryOvCloseLink { - text-decoration: underline; - font-weight: normal; -} -a.ilc_glo_ovuglistlink_GlossaryOvUGListLink { - font-weight: normal; -} -a.ilc_glo_ovuglink_GlossaryOvUnitGloLink { - font-weight: normal; -} -a.ilc_qimgd_ImageDetailsLink { - font-size: 90%; -} -a.ilc_link_IntLink { - text-decoration: underline; -} -a.ilc_marker_Marker { - background-image: url("../basic_style/images/icon_pin.svg"); - background-repeat: no-repeat; - cursor: pointer; - display: block; - height: 32px; - width: 24px; - position: absolute; -} -a.ilc_marker_Marker:hover { - background-repeat: no-repeat; - background-image: url("../basic_style/images/icon_pin_on.svg"); -} -a.ilc_rte_mlink_RTELink { - font-size: 100%; - margin: 1px; - margin-top: 10px; - margin-right: 5px; - margin-bottom: 10px; - margin-left: 5px; - padding-right: 3mm; - padding-top: 1mm; - border-style: none; - padding-bottom: 1mm; - text-decoration: none; - padding-left: 3mm; - border-width: 1px; - background-color: #4C6586; - text-align: center; - height: 50px; - color: #ffffff !important; - text-decoration: none !important; -} -a.ilc_rte_mlink_RTELink:hover { - background-color: #577399; - color: #FFFFFF; - text-decoration: none !important; -} -a.ilc_rte_texp_RTETreeCollapsed { - background-image: url("../basic_style/images/arrow_right.svg"); - background-repeat: no-repeat; - background-position: 0px 0px; - background-size: 15px 15px !important; -} -a.ilc_rte_tclink_RTETreeControlLink { - color: #4C6586; - color: #4C6586 !important; -} -a.ilc_rte_tlink_RTETreeCurrent { - background-color: #FFFF9D; - color: #161616 !important; - background-color: #E2E8EF !important; -} -a.ilc_rte_texp_RTETreeExpanded { - background-image: url("../basic_style/images/arrow_down.svg"); - background-size: 15px 15px; -} -a.ilc_rte_tlink_RTETreeLink { - color: #4C6586; - color: #4C6586 !important; -} -div.ilc_va_cntr_AccordCntr { - margin-top: 5px; -} -div.ilc_va_icntr_AccordICntr { - margin-bottom: 5px; -} -div.ilc_va_icont_AccordICont { - margin-top: -1px; - margin-bottom: 12px; - padding-top: 3px; - padding-right: 3px; - padding-bottom: 3px; - padding-left: 15px; - border-width: 1px; - border-color: #DDDDDD; - border-style: solid; - background-color: #FFFFFF; - border-bottom-right-radius: 3px; - border-bottom-left-radius: 3px; -} -div.ilc_va_ihead_AccordIHead { - text-align: left; - margin-bottom: 12px; - padding-top: 8px; - padding-right: 8px; - padding-bottom: 8px; - padding-left: 38px; - border-width: 1px; - border-color: #DDDDDD; - border-style: solid; - background-color: #F9F9F9; - background-image: url("../basic_style/images/arrow_right.svg"); - background-repeat: no-repeat; - background-position: 15px center; - cursor: pointer; - background-size: 20px 20px; - border-radius: 3px; - font-weight: 600; -} -div.ilc_va_ihead_AccordIHead:hover { - background-color: #E2E8EF; -} -div.ilc_va_ihcap_AccordIHeadCap { - font-size: 1em; - font-weight: 600; -} -div.ilc_section_Additional, -a.ilc_section_Additional { - padding-left: 20px; - margin-top: 40px; - margin-bottom: 10px; - position: relative; - border-width: 2px; - border-color: #4C6586; - border-style: solid; - padding-top: 35px; - padding-right: 30px; - padding-bottom: 15px; - border-radius: 3px; - position: relative !important; - background-position: left top; -} -div.ilc_section_Additional::before, -a.ilc_section_Additional::before { - border-width: 2px; - border-color: #FFFFFF; - border-style: solid; - background-color: #eceff4; - background-position: center center; - left: 15px; - background-image: url("../basic_style/images/additional.svg"); - background-repeat: no-repeat; - position: absolute; - width: 60px; - height: 60px; - top: -32px; - right: 0px; - content: ""; - display: block; - border-radius: 50px; -} -div.ilc_section_AdvancedKnowledge, -a.ilc_section_AdvancedKnowledge { - position: relative; - border-width: 2px; - border-color: #4C6586; - border-style: solid; - padding-left: 20px; - padding-right: 30px; - padding-top: 35px; - padding-bottom: 15px; - margin-top: 40px; - margin-bottom: 10px; - background-position: left top; - border-radius: 3px; - position: relative !important; -} -div.ilc_section_AdvancedKnowledge::before, -a.ilc_section_AdvancedKnowledge::before { - border-width: 2px; - border-color: #FFFFFF; - border-style: solid; - background-color: #eceff4; - background-position: center center; - left: 15px; - background-image: url("../basic_style/images/advknowledge.svg"); - position: absolute; - top: -32px; - right: 0px; - content: ""; - width: 60px; - display: block; - height: 60px; - border-radius: 50px; - background-repeat: no-repeat; -} -div.ilc_qanswer_Answer { - padding-right: 10px; - border-radius: 5px; -} -div.ilc_section_Attention, -a.ilc_section_Attention { - position: relative; - border-width: 2px; - border-color: #FA8228; - border-style: solid; - border-radius: 3px; - position: relative !important; - padding-left: 20px; - padding-bottom: 15px; - padding-right: 30px; - padding-top: 35px; - margin-bottom: 10px; - margin-top: 40px; -} -div.ilc_section_Attention::before, -a.ilc_section_Attention::before { - border-width: 2px; - border-color: #FFFFFF; - border-style: solid; - background-color: #fee6d4; - background-position: center 12px; - left: 15px; - content: ""; - display: block; - border-radius: 50px; - background-image: url("../basic_style/images/attention.svg"); - background-repeat: no-repeat; - position: absolute; - top: -32px; - width: 60px; - height: 60px; -} -div.ilc_section_Background, -a.ilc_section_Background { - background-color: #F9F9F9; - padding-top: 10px; - margin-bottom: 20px; - padding-right: 20px; - padding-bottom: 10px; - padding-left: 20px; -} -div.ilc_section_Block, -a.ilc_section_Block { - padding-bottom: 10px; - padding-right: 20px; - margin-bottom: 10px; - padding-top: 10px; - margin-top: 20px; - padding-left: 20px; -} -div.ilc_section_Card, -a.ilc_section_Card { - min-height: 250px; - position: relative; - margin: 15px; - padding-top: 15px; - padding-right: 15px; - padding-bottom: 15px; - padding-left: 15px; - box-shadow: 5px 5px 40px rgba(0, 0, 0, 0.2); - border-radius: 15px; - max-width: 400px; -} -div.ilc_section_Citation, -a.ilc_section_Citation { - padding-right: 30px; - padding-top: 35px; - margin-bottom: 10px; - margin-top: 40px; - position: relative; - border-width: 2px; - border-color: #4C6586; - border-style: solid; - background-color: #FFFFFF; - border-radius: 3px; - position: relative !important; - padding-left: 20px; - padding-bottom: 15px; -} -div.ilc_section_Citation::before, -a.ilc_section_Citation::before { - background-color: #eceff4; - left: 15px; - background-position: center center; - border-width: 2px; - border-color: #FFFFFF; - border-style: solid; - content: ""; - display: block; - border-radius: 50px; - background-image: url("../basic_style/images/citation.svg"); - background-repeat: no-repeat; - position: absolute; - top: -32px; - width: 60px; - height: 60px; -} -div.ilc_va_ihead_ColoredAccordIHead:hover { - background-color: #3d506b; - cursor: pointer; - transition: all 0.5s ease-out; -} -div.ilc_section_Confirmation, -a.ilc_section_Confirmation { - position: relative; - border-width: 2px; - border-color: #6EA03C; - border-style: solid; - border-radius: 3px; - position: relative !important; - margin-top: 40px; - margin-bottom: 10px; - padding-top: 35px; - padding-bottom: 15px; - padding-right: 30px; - padding-left: 20px; -} -div.ilc_section_Confirmation::before, -a.ilc_section_Confirmation::before { - border-width: 2px; - border-color: #FFFFFF; - border-style: solid; - background-position: center center; - left: 15px; - background-color: #e9f3df; - content: ""; - display: block; - border-radius: 50px; - background-image: url("../basic_style/images/confirmation.svg"); - position: absolute; - top: -32px; - width: 60px; - height: 60px; - background-repeat: no-repeat; -} -div.ilc_iim_ContentPopup { - padding-left: 10px; - padding-bottom: 5px; - padding-right: 10px; - padding-top: 5px; - border-style: solid; - border-width: 1px; - background-color: #FFFFFF; - border-color: #d8d8d8; -} -div.ilc_qover_Correct { - padding-top: 20px; - padding-right: 20px; - background-image: url("../basic_style/images/correct.svg"); - padding-bottom: 20px; - padding-left: 60px; - background-position: 10px; - background-repeat: no-repeat; - border-style: none; - background-color: #f0f7ea; - margin-bottom: 10px; - border-radius: 3px; - margin-top: 10px; -} -div.ilc_va_cntr_EmphasisedAccordCntr { - padding-top: 5px; - padding-right: 15px; - padding-left: 15px; -} -div.ilc_va_icont_EmphasisedAccordICont { - padding: 15px; - background-color: #eceff4; - transform: scale(1.01); - -webkit-transform: scale(1.01); - -moz-transform: scale(1.01); - -ms-transform: scale(1.01); - transition: all 0.5s ease-out; -} -div.ilc_va_ihead_EmphasisedAccordIHead { - font-size: 1.5em; - color: #FFFFFF; - padding: 15px; - background-color: #4C6586; - background-image: url("../basic_style/images/expand_white.svg"); - background-repeat: no-repeat; - background-position: right center; - transition: all 0.5s ease-out; -} -div.ilc_va_ihead_EmphasisedAccordIHead:hover { - background-color: #3d506b; - transition: all 0.5s ease-out; -} -div.ilc_section_Example, -a.ilc_section_Example { - padding-right: 30px; - padding-bottom: 15px; - padding-left: 20px; - background-position: left center; - margin-bottom: 10px; - margin-top: 40px; - position: relative; - border-width: 2px; - border-color: #4C6586; - border-style: solid; - border-radius: 3px; - position: relative !important; - padding-top: 35px; -} -div.ilc_section_Example::before, -a.ilc_section_Example::before { - background-color: #eceff4; - background-position: center center; - left: 15px; - background-image: url("../basic_style/images/example.svg"); - background-repeat: no-repeat; - position: absolute; - top: -32px; - width: 60px; - height: 60px; - border-width: 2px; - border-color: #FFFFFF; - border-style: solid; - right: 0px; - content: ""; - display: block; - border-radius: 50px; -} -div.ilc_section_Excursus, -a.ilc_section_Excursus { - padding-right: 30px; - margin-bottom: 10px; - margin-top: 40px; - border-style: solid; - border-width: 2px; - position: relative; - padding-top: 35px; - border-color: #4C6586; - padding-left: 20px; - border-radius: 3px; - position: relative !important; - padding-bottom: 15px; -} -div.ilc_section_Excursus::before, -a.ilc_section_Excursus::before { - border-width: 2px; - border-color: #FFFFFF; - border-style: solid; - background-color: #eceff4; - background-position: center center; - left: 15px; - content: ""; - display: block; - border-radius: 50px; - background-image: url("../basic_style/images/excursus.svg"); - background-repeat: no-repeat; - position: absolute; - top: -32px; - width: 60px; - height: 60px; -} -div.ilc_qfeedr_FeedbackRight { - margin-top: 10px; - padding-top: 20px; - margin-bottom: 10px; - border-style: none; - background-color: #f0f7ea; - padding-left: 60px; - padding-bottom: 20px; - padding-right: 160px; - background-image: url("../basic_style/images/correct.svg"); - background-position: 10px; - background-repeat: no-repeat; - border-radius: 3px; -} -div.ilc_qfeedw_FeedbackWrong { - padding-left: 60px; - padding-bottom: 20px; - background-position: 24px; - padding-right: 160px; - background-image: url("../basic_style/images/exclamation.svg"); - margin-top: 10px; - background-repeat: no-repeat; - padding-top: 20px; - margin-bottom: 10px; - border-style: none; - background-color: #fef2ea; - border-radius: 3px; -} -div.ilc_flist_cont_FileListContainer { - border-radius: 3px; - color: #FFFFFF; - margin-top: 10px; - margin-right: 0px; - margin-bottom: 10px; - margin-left: 0px; - border-color: #4C6586; - border-style: solid; - border-width: 1px; - text-indent: 7px; - padding-bottom: 10px; -} -div.ilc_flist_head_FileListHeading { - margin-bottom: 10px; - text-align: left; - color: #FFFFFF; - font-weight: bold; - background-image: url("../basic_style/images/download.svg"); - background-color: #4C6586; - margin-top: 0px; - background-position: 10px; - background-repeat: no-repeat; - padding-left: 50px; - padding-bottom: 10px; - padding-right: 20px; - padding-top: 10px; -} -div.ilc_sco_fmess_FinalMessage { - margin: 100px; - text-align: center; - border-style: none; - border-width: 1px; - padding: 50px; - font-size: 125%; -} -div.ilc_page_fn_Footnote { - margin-bottom: 5px; - margin-top: 5px; -} -div.ilc_glo_overlay_GlossaryOverlay { - border-style: none; - padding-top: 5px; - border-width: 2px; - padding-left: 10px; - padding-bottom: 5px; - padding-right: 10px; -} -div.ilc_ha_ihead_HAccordIHead:hover { - background-color: #E2E8EF; -} -div.ilc_qover_Incorrect { - padding-left: 60px; - background-image: url("../basic_style/images/exclamation.svg"); - background-repeat: no-repeat; - background-position: 24px; - padding-bottom: 20px; - padding-right: 20px; - margin-bottom: 10px; - margin-top: 10px; - background-color: #fef2ea; - border-style: none; - padding-top: 20px; - border-radius: 3px; -} -div.ilc_section_Information, -a.ilc_section_Information { - margin-bottom: 10px; - margin-top: 40px; - position: relative; - border-width: 2px; - border-color: #4C6586; - border-style: solid; - border-radius: 3px; - position: relative !important; - padding-left: 20px; - padding-bottom: 15px; - padding-right: 30px; - padding-top: 35px; -} -div.ilc_section_Information::before, -a.ilc_section_Information::before { - background-color: #eceff4; - background-position: center center; - left: 15px; - border-width: 2px; - border-color: #FFFFFF; - border-style: solid; - background-image: url("../basic_style/images/information.svg"); - background-repeat: no-repeat; - position: absolute; - top: -32px; - width: 60px; - height: 60px; - content: ""; - display: block; - border-radius: 50px; -} -div.ilc_section_Interaction, -a.ilc_section_Interaction { - margin-top: 10px; - padding-top: 20px; - margin-bottom: 10px; - padding-right: 20px; - padding-bottom: 20px; - background-image: url("../basic_style/images/interaction.svg"); - padding-left: 60px; - background-position: 12px; - background-repeat: no-repeat; - border-width: 1px; - border-color: #4C6586; - border-style: solid; - border-radius: 3px; -} -div.ilc_section_Interaction:hover, -a.ilc_section_Interaction:hover { - cursor: pointer; - background-color: #E2E8EF; -} -div.ilc_va_icont_LightAccordICont { - padding: 10px; - border-width: 4px; - border-color: #4C6586; - border-bottom-style: solid; -} -div.ilc_va_ihead_LightAccordIHead { - color: #4C6586; - padding: 10px; - border-width: 2px; - border-color: #4C6586; - border-bottom-style: solid; - background-image: url("../basic_style/images/expand.svg"); - background-position: right center; - background-repeat: no-repeat; - font-size: 1.5em; - background-color: #FFFFFF; - transition: background-image 2s ease-in-out; -} -div.ilc_va_ihead_LightAccordIHead:hover { - cursor: pointer; - border-width: 4px; - border-color: #4C6586; - border-bottom-style: solid; - transition: all 0.5s ease-out; -} -div.ilc_section_Link, -a.ilc_section_Link { - text-decoration: underline; - margin-top: 10px; - margin-bottom: 10px; - padding-top: 20px; - padding-right: 20px; - padding-bottom: 20px; - padding-left: 60px; - border-width: 1px; - border-color: #4C6586; - border-style: dashed; - background-image: url("../basic_style/images/link.svg"); - background-repeat: no-repeat; - background-position: 10px; - border-radius: 3px; -} -div.ilc_section_Literature, -a.ilc_section_Literature { - margin-top: 40px; - margin-bottom: 10px; - padding-top: 35px; - padding-right: 30px; - padding-bottom: 15px; - padding-left: 20px; - position: relative; - border-width: 2px; - border-color: #4C6586; - border-style: solid; - border-radius: 3px; - position: relative !important; -} -div.ilc_section_Literature::before, -a.ilc_section_Literature::before { - border-width: 2px; - border-color: #FFFFFF; - border-style: solid; - background-color: #eceff4; - background-position: center center; - left: 15px; - content: ""; - display: block; - border-radius: 50px; - background-image: url("../basic_style/images/literature.svg"); - background-repeat: no-repeat; - position: absolute; - top: -32px; - width: 60px; - height: 60px; -} -div.ilc_media_caption_MediaCaption { - font-weight: bolder; - font-size: 100%; - padding: 10px; - background-color: #F9F9F9; -} -div.ilc_section_Mnemonic, -a.ilc_section_Mnemonic { - padding-right: 30px; - padding-bottom: 15px; - padding-left: 20px; - background-position: left center; - border-style: solid; - padding-top: 35px; - position: relative; - border-width: 2px; - border-color: #F3DE2C; - border-radius: 3px; - position: relative !important; - margin-top: 40px; - margin-bottom: 10px; -} -div.ilc_section_Mnemonic::before, -a.ilc_section_Mnemonic::before { - border-width: 2px; - border-color: #FFFFFF; - background-color: #fdfadf; - background-position: center center; - left: 15px; - border-style: solid; - content: ""; - display: block; - border-radius: 50px; - background-image: url("../basic_style/images/mnemonic.svg"); - background-repeat: no-repeat; - position: absolute; - top: -32px; - width: 60px; - height: 60px; -} -div.ilc_page_Page { - min-height: 300px; -} -div.ilc_page_cont_PageContainer { - border-width: 1px; - border-color: #DDDDDD; - padding: 20px; - margin: 0px; - border-style: solid; - background-color: #FFFFFF; - min-height: 500px; -} -div.ilc_section_Remark, -a.ilc_section_Remark { - border-style: solid; - border-width: 2px; - position: relative; - border-color: #4C6586; - border-radius: 3px; - position: relative !important; - padding-right: 30px; - padding-top: 35px; - padding-left: 20px; - padding-bottom: 15px; - margin-top: 40px; - margin-bottom: 10px; -} -div.ilc_section_Remark::before, -a.ilc_section_Remark::before { - border-width: 2px; - border-color: #FFFFFF; - background-image: url("../basic_style/images/remark.svg"); - border-style: solid; - background-repeat: no-repeat; - background-color: #eceff4; - position: absolute; - background-position: center center; - top: -32px; - left: 15px; - width: 60px; - content: ""; - height: 60px; - display: block; - border-radius: 50px; -} -div.ilc_rte_menu_RTELinkBar { - border-top-width: 10px; - border-bottom-width: 10px; - margin-top: 10px; - margin-bottom: 10px; -} -div.ilc_rte_menu_RTELogo { - float: left; -} -div.ilc_rte_menu_RTEMenu { - background-color: #FFFFFF; -} -div.ilc_section_Separator, -a.ilc_section_Separator { - margin-top: 10px; - margin-bottom: 10px; - padding-top: 20px; - border-width: 2px; - padding-bottom: 20px; - border-color: #4C6586; - border-top-style: solid; -} -div.ilc_section_Special, -a.ilc_section_Special { - padding-left: 20px; - border-style: none; - border-width: 1px; - padding-bottom: 20px; - padding-top: 20px; - padding-right: 20px; -} -div.ilc_question_Standard { - padding-left: 30px; - padding-bottom: 60px; - box-shadow: 0 3px 3px rgba(0, 0, 0, 0.1), 0 6px 15px rgba(0, 0, 0, 0.12); - background-position: right top; - margin-top: 20px; - margin-bottom: 10px; - padding-top: 30px; - padding-right: 30px; -} -div.ilc_qover_StatusMessage { - padding-bottom: 7px; -} -div.ilc_qtitle_Title { - margin-bottom: 20px; - font-size: 140%; - font-weight: normal; -} -div.ilc_sco_title_Title { - border-bottom-style: solid; - border-bottom-width: 2px; - padding-bottom: 3px; - font-size: 140%; - margin-bottom: 20px; - font-weight: bold; - margin-top: 5px; -} -em.ilc_em_Emph, -span.ilc_text_inline_Emph { - font-style: italic; -} -figure.ilc_media_cont_MediaContainer { - margin: 0px; -} -figure.ilc_media_cont_MediaContainerFull100 { - margin: 0px; - width: 100%; - box-shadow: 0 3px 3px rgba(0, 0, 0, 0.1), 0 6px 15px rgba(0, 0, 0, 0.12); -} -figure.ilc_media_cont_MediaContainerHighlighted { - margin: 0px; - box-shadow: 0 3px 3px rgba(0, 0, 0, 0.1), 0 6px 15px rgba(0, 0, 0, 0.12); -} -figure.ilc_media_cont_MediaContainerMax50 { - margin: 0px; - box-shadow: 0 3px 3px rgba(0, 0, 0, 0.1), 0 6px 15px rgba(0, 0, 0, 0.12); - max-width: 50%; -} -figure.ilc_media_cont_MediaContainerSeparated { - margin: 40px; -} -h1.ilc_glo_ovtitle_GlossaryOvTitle, -div.ilc_text_block_GlossaryOvTitle, -html.il-no-tiny-bg body#tinymce.ilc_text_block_GlossaryOvTitle p { - margin-bottom: 10px; - font-size: 1.5em; - margin-top: 10px; - font-weight: 600; -} -h1.ilc_heading1_Headline1, -div.ilc_text_block_Headline1, -html.il-no-tiny-bg body#tinymce.ilc_text_block_Headline1 p { - padding-top: 10px; - margin-bottom: 15px; - margin-top: 20px; - font-size: 1.75em; - font-weight: 600; -} -h1.ilc_page_title_PageTitle, -div.ilc_text_block_PageTitle, -html.il-no-tiny-bg body#tinymce.ilc_text_block_PageTitle p { - font-weight: 600; - border-bottom-width: 1px; - border-bottom-style: none; - border-style: none; - font-size: 1.75rem; - padding-bottom: 3px; - margin-top: 15px; - margin-bottom: 15px; - text-align: left; - white-space: normal; -} -h2.ilc_heading2_Headline2, -div.ilc_text_block_Headline2, -html.il-no-tiny-bg body#tinymce.ilc_text_block_Headline2 p { - font-weight: 600; - font-size: 1.5em; - margin-top: 20px; - margin-bottom: 15px; -} -h3.ilc_heading3_Headline3, -div.ilc_text_block_Headline3, -html.il-no-tiny-bg body#tinymce.ilc_text_block_Headline3 p { - font-weight: 600; - margin-top: 15px; - margin-bottom: 10px; - font-size: 1.115em; -} -img.ilc_qimg_QuestionImage { - margin: 10px; - box-shadow: 0 3px 3px rgba(0, 0, 0, 0.1), 0 6px 15px rgba(0, 0, 0, 0.12); -} -input.ilc_qsubmit_Submit { - border-style: none; - color: #ffffff !important; - padding: 0.5em; - margin-top: 20px; - background-color: #4C6586; -} -input.ilc_qinput_TextInput { - padding-left: 4px; -} -li.ilc_list_item_Attention { - margin-bottom: 15px; - padding-top: 6px; - padding-bottom: 6px; - padding-left: 45px; - position: relative; - list-style-type: none; -} -li.ilc_list_item_Attention::before { - background-image: url("../basic_style/images/attention_red.svg"); - background-repeat: no-repeat; - position: absolute; - width: 35px; - height: 35px; - left: 0; - top: 0; - content: ""; -} -li.ilc_list_item_Checklist { - list-style-type: none; - margin-bottom: 15px; - padding-top: 6px; - padding-bottom: 6px; - padding-left: 45px; - position: relative; -} -li.ilc_list_item_Checklist2::before { - background-image: url("../basic_style/images/wrong.svg"); - background-repeat: no-repeat; - position: absolute; - width: 35px; - height: 35px; - left: 0; - top: 0; - content: ""; -} -li.ilc_list_item_Checklist::before { - content: ""; - background-image: url("../basic_style/images/checked.svg"); - background-repeat: no-repeat; - width: 35px; - height: 35px; - position: absolute; - left: 0; - top: 0; -} -li.ilc_list_item_ColoredCircle::before { - font-weight: bold; - color: #FFFFFF; - background-color: #59A0A5; - position: absolute; - width: 35px; - height: 35px; - content: counter(section); - border-radius: 50px; - left: 0; - display: grid; - justify-content: center; - align-items: center; - top: 0; -} -li.ilc_list_item_ColoredCircleBackground::before { - font-size: 1.5rem; - font-weight: bold; - color: #FFFFFF; - margin-left: 10px; - background-color: #4C6586; - position: absolute; - width: 50px; - height: 50px; - content: counter(section); - border-radius: 50px; - left: 0; - top: 13px; - display: grid; - align-items: center; - justify-content: center; -} -li.ilc_list_item_ColoredSquare::before { - font-weight: bold; - color: #FFFFFF; - background-color: #F3DE2C; - position: absolute; - width: 35px; - height: 35px; - content: counter(section); - border-radius: 6px; - left: 0; - display: grid; - justify-content: center; - align-items: center; - top: 0; -} -li.ilc_list_item_ColoredSquareBackground::before { - font-weight: bold; - color: #FFFFFF; - background-color: #F3DE2C; - position: absolute; - width: 35px; - height: 100%; - text-align: center; - content: counter(section); - left: 0; - top: 0; - display: grid; - justify-content: center; - align-items: center; -} -li.ilc_flist_li_FileListItem { - padding-left: 3px; - padding-right: 3px; - padding-top: 5px; - padding-bottom: 5px; -} -li.ilc_list_item_FilledCircle { - margin-bottom: 15px; - padding-top: 6px; - padding-bottom: 6px; - padding-left: 45px; - position: relative; - list-style-type: none; - counter-increment: section 1; -} -li.ilc_list_item_FilledCircle::before { - font-weight: bold; - color: #FFFFFF; - background-color: #59A0A5; - position: absolute; - height: 35px; - min-width: 35px; - content: counter(section); - border-radius: 50px; - left: 0; - display: grid; - justify-content: center; - align-items: center; - top: 0; -} -li.ilc_list_item_FilledCircleLarge { - font-size: 1.5rem; - position: relative; - padding-top: 20px; - padding-right: 20px; - padding-bottom: 20px; - padding-left: 70px; - list-style-type: none; - counter-increment: section 1; -} -li.ilc_list_item_FilledCircleLarge::before { - font-weight: bold; - color: #FFFFFF; - margin-left: 10px; - position: absolute; - height: 50px; - background-color: #4C6586; - content: counter(section); - min-width: 50px; - border-radius: 50px; - left: 0; - top: 13px; - display: grid; - align-items: center; - justify-content: center; -} -li.ilc_list_item_FilledSquare { - margin-bottom: 15px; - padding-top: 6px; - padding-bottom: 6px; - padding-left: 45px; - position: relative; - list-style-type: none; - counter-increment: section 1; -} -li.ilc_list_item_FilledSquare::before { - font-weight: bold; - color: #FFFFFF; - background-color: #F3DE2C; - position: absolute; - height: 35px; - content: counter(section); - min-width: 35px; - border-radius: 6px; - left: 0; - display: grid; - justify-content: center; - align-items: center; - top: 0; -} -li.ilc_list_item_FilledSquareBackground { - margin-top: -2px; - padding-top: 15px; - padding-bottom: 15px; - padding-left: 50px; - border-width: 2px; - border-color: #FFFFFF; - border-style: solid; - background-color: #fdfadf; - list-style-type: none; - counter-increment: section 1; - position: relative; -} -li.ilc_list_item_FilledSquareBackground::before { - background-color: #F3DE2C; - font-weight: bold; - color: #FFFFFF; - min-width: 35px; - display: grid; - justify-content: center; - align-items: center; - content: counter(section); - left: 0; - top: 0; - position: absolute; - height: 100%; -} -li.ilc_list_item_ListItem2::before { - width: 35px; - height: 35px; - color: #FFFFFF; - background-color: #59A0A5; - font-weight: bold; - margin-right: 10px; - content: counter(section); - display: inline-flex; - border-radius: 50px; - justify-content: center; - align-items: center; -} -li.ilc_list_item_ListItem2Absolut::before { - font-weight: bold; - color: #FFFFFF; - background-color: #59A0A5; - width: 35px; - height: 35px; - position: absolute; - content: counter(section); - border-radius: 50px; - left: 0; - display: grid; - justify-content: center; - align-items: center; -} -li.ilc_list_item_ListItem2Grid::before { - font-weight: bold; - color: #FFFFFF; - background-color: #59A0A5; - width: 35px; - height: 35px; - content: counter(section); - border-radius: 50px; - display: inline-grid; - justify-content: center; - align-items: center; -} -li.ilc_list_item_ListItem3::before { - background-image: url("../basic_style/images/checked.svg"); - background-repeat: no-repeat; - width: 35px; - height: 35px; - margin-right: 5px; - display: inline-flex; - content: ""; -} -li.ilc_list_item_ListItem4::before { - background-image: url("../basic_style/images/wrong.svg"); - background-repeat: no-repeat; - width: 35px; - height: 35px; - margin-right: 5px; - display: inline-flex; - content: ""; -} -li.ilc_list_item_ListItem::before { - font-size: 1.5rem; - font-weight: bold; - color: #FFFFFF; - background-color: #4C6586; - width: 50px; - height: 50px; - vertical-align: middle; - margin-left: 10px; - position: absolute; - content: counter(section); - display: grid; - border-radius: 50px; - align-items: center; - justify-content: center; - left: 0; - top: 13px; -} -li.ilc_qordli_OrderListItem { - margin-top: 5px; - margin-bottom: 5px; - margin-left: 0px; - margin-right: 0px; - cursor: move; - padding: 10px; - background-color: #E2E8EF; -} -li.ilc_qordli_OrderListItemHorizontal { - float: left; - margin-top: 5px; - margin-bottom: 5px; - margin-right: 10px; - padding: 10px; - cursor: move; - background-color: #E2E8EF; -} -li.ilc_list_item_Pointer { - margin-bottom: 15px; - padding-top: 6px; - padding-bottom: 6px; - padding-left: 45px; - position: relative; - list-style-type: none; -} -li.ilc_list_item_Pointer::before { - background-image: url("../basic_style/images/pointer.svg"); - background-repeat: no-repeat; - position: absolute; - width: 35px; - height: 35px; - left: 0; - top: 0; - content: ""; -} -ol.ilc_list_o_NumberedListNoStyle { - list-style-type: none; - margin-top: 15px; - padding-top: 20px; - padding-bottom: 20px; - counter-reset: section; -} -p.ilc_text_block_Book, -html.il-no-tiny-bg body#tinymce.ilc_text_block_Book p { - hyphens: auto; - text-align: justify; -} -p.ilc_text_block_Button:hover, -html.il-no-tiny-bg body#tinymce.ilc_text_block_Button:hover p { - background-color: #5774A0; -} -p.ilc_text_block_List, -html.il-no-tiny-bg body#tinymce.ilc_text_block_List p { - margin-top: 3px; - margin-bottom: 3px; -} -p.ilc_text_block_Numbers, -html.il-no-tiny-bg body#tinymce.ilc_text_block_Numbers p { - text-align: right; -} -p.ilc_text_block_Standard, -html.il-no-tiny-bg body#tinymce.ilc_text_block_Standard p { - margin-bottom: 10px; - margin-top: 10px; -} -p.ilc_text_block_StandardLarge, -html.il-no-tiny-bg body#tinymce.ilc_text_block_StandardLarge p { - font-size: 1.115rem; -} -p.ilc_text_block_TableContent, -html.il-no-tiny-bg body#tinymce.ilc_text_block_TableContent p { - line-height: 1.8em; - padding-bottom: 10px; - padding-top: 10px; - padding-left: 10px; - padding-right: 10px; - margin-top: 0px; - margin-bottom: 0px; - margin-right: 0px; - margin-left: 0px; -} -p.ilc_text_block_Verse, -html.il-no-tiny-bg body#tinymce.ilc_text_block_Verse p { - text-align: center; -} -pre.ilc_code_block_Code { - border-width: 1px; - border-color: #DDDDDD; - border-style: solid; - padding: 9px; - background-color: #F9F9F9; -} -span.ilc_text_inline_Accent { - color: #087e0a; -} -span.ilc_text_inline_Attention { - color: #CB4D16; -} -span.ilc_text_inline_Comment { - color: #b31bff; -} -span.ilc_qetcorr_ErrorTextCorrected { - text-decoration: line-through; -} -span.ilc_text_inline_Important { - text-decoration: underline; -} -span.ilc_text_inline_Mnemonic { - background-color: #fcf7ca; - padding-left: 4px; - padding-right: 4px; -} -span.ilc_text_inline_Quotation { - letter-spacing: 0.2px; - font-style: italic; - font-family: serif; - color: #1B5FFF; - font-size: 114%; -} -strong.ilc_strong_Strong, -span.ilc_text_inline_Strong { - font-weight: bold; -} -table.ilc_table_StandardTable { - border-collapse: collapse; - margin-top: 10px; - margin-bottom: 10px; - border-color: #9EADBA; -} -td.ilc_table_cell_Cell1, -th.ilc_table_cell_Cell1 { - padding-top: 3px; - padding-right: 10px; - padding-bottom: 3px; - padding-left: 10px; - background-color: #FFCCCC; -} -td.ilc_table_cell_Cell2, -th.ilc_table_cell_Cell2 { - background-color: #CCCCFF; - padding-top: 3px; - padding-right: 10px; - padding-bottom: 3px; - padding-left: 10px; -} -td.ilc_table_cell_Cell3, -th.ilc_table_cell_Cell3 { - padding-left: 10px; - padding-bottom: 3px; - padding-right: 10px; - padding-top: 3px; - background-color: #CCFFCC; -} -td.ilc_table_cell_Cell4, -th.ilc_table_cell_Cell4 { - padding-top: 3px; - padding-right: 10px; - padding-bottom: 3px; - padding-left: 10px; - background-color: #FFFFCC; -} -td.ilc_table_cell_StandardCell1, -th.ilc_table_cell_StandardCell1 { - background-color: #FFFFFF; - border-style: solid; - border-color: #4C6586; - border-width: 1px; - padding-left: 10px; - padding-bottom: 3px; - font-weight: normal; - padding-top: 3px; - padding-right: 10px; -} -td.ilc_table_cell_StandardCell2, -th.ilc_table_cell_StandardCell2 { - padding-top: 3px; - font-weight: normal; - background-color: #FFFFFF; - border-width: 1px; - border-style: solid; - border-color: #4C6586; - padding-left: 10px; - padding-right: 10px; - padding-bottom: 3px; -} -td.ilc_table_cell_StandardHeader, -th.ilc_table_cell_StandardHeader { - font-weight: normal; - padding-top: 3px; - color: #FFFFFF; - padding-bottom: 3px; - padding-right: 10px; - border-width: 1px; - border-color: #FFFFFF; - padding-left: 10px; - border-style: solid; - background-color: #4C6586; -} -td.ilc_table_cell_TransparentC, -th.ilc_table_cell_TransparentC { - font-weight: normal; - padding-top: 3px; - padding-right: 10px; - padding-bottom: 3px; - padding-left: 10px; - border-width: 1px; - border-color: #000000; - border-style: solid; -} -td.ilc_table_cell_TransparentH, -th.ilc_table_cell_TransparentH { - font-weight: normal; - padding-top: 3px; - padding-bottom: 3px; - padding-right: 10px; - padding-left: 10px; - border-style: solid; - border-width: 1px; -} -textarea.ilc_qlinput_LongTextInput { - padding-left: 4px; -} -ul.ilc_flist_FileList { - list-style-type: none; - padding: 0px; - margin: 0px; -} -ul.ilc_qordul_OrderList { - padding: 0px; - margin: 0px; - list-style: none; - list-style-position: outside; -} -ul.ilc_qordul_OrderListHorizontal { - list-style: none; - margin: 0px; - padding: 0px; - list-style-position: outside; -} -div.ilc_va_iheada_AccordIHeadActive { - margin-bottom: 0px; - padding-top: 8px; - padding-right: 8px; - padding-bottom: 8px; - padding-left: 38px; - border-width: 1px; - border-color: #DDDDDD; - border-style: solid; - background-color: #E2E8EF; - background-image: url("../basic_style/images/arrow_down.svg"); - background-repeat: no-repeat; - background-position: 10px center; - cursor: pointer; - background-size: 20px 20px; - border-top-left-radius: 3px; - border-top-right-radius: 3px; - border-bottom-right-radius: 0px; - border-bottom-left-radius: 0px; -} -div.ilc_va_iheada_AccordIHeadActive:hover { - background-position: 10px center; -} -div.ilc_va_iheada_ColoredAccordIHeadActive:hover { - background-color: #3d506b; - background-image: url("../basic_style/images/collapse_white.svg"); - background-position: right center; - cursor: pointer; - transition: all 0.5s ease-out; -} -div.ilc_va_iheada_EmphasisedAccordIHeadActive { - font-size: 1.5em; - color: #FFFFFF; - padding: 15px; - background-color: #3d506b; - background-image: url("../basic_style/images/collapse_white.svg"); - background-repeat: no-repeat; - background-position: right center; - border-radius: 0px; - transform: scale(1.01); - -webkit-transform: scale(1.01); - -moz-transform: scale(1.01); - -ms-transform: scale(1.01); - transition: all 0.5s ease-out; -} -div.ilc_va_iheada_EmphasisedAccordIHeadActive:hover { - background-color: #3d506b; - background-image: url("../basic_style/images/collapse_white.svg"); - background-repeat: no-repeat; - background-position: right center; - cursor: pointer; - transition: all 0.5s ease-out; -} -div.ilc_va_iheada_LightAccordIHeadActive { - background-image: url("../basic_style/images/collapse.svg"); - background-repeat: no-repeat; - border-radius: 0px; - transition: all 0.5s ease-out; - font-size: 1.5em; - color: #4C6586; - padding: 10px; - border-bottom-style: solid; - background-position: right center; - border-top-width: 0px; - border-right-width: 0px; - border-bottom-width: 2px; - border-left-width: 0px; - border-top-style: none; - border-right-style: none; - border-left-style: none; - background-color: #FFFFFF; - border-color: #FFFFFF; -} -div.ilc_va_iheada_LightAccordIHeadActive:hover { - background-position: right center; - background-color: #FFFFFF; - cursor: pointer; - border-width: 0px; - border-top-width: 0px; - border-right-width: 0px; - border-bottom-width: 2px; - border-left-width: 0px; - border-style: none; - border-top-style: none; - border-right-style: none; - border-bottom-style: solid; - border-left-style: none; - border-color: #FFFFFF; - transition: all 0.5s ease-out; + +@image_path: '../basic_style/images/'; + +a.ilc_qetitem_ErrorTextItem +{ + padding: 2px; + text-decoration: none; +} + +a.ilc_qetitem_ErrorTextItem:hover +{ + color: #000000; + text-decoration: none; + background-color: #D0D0D0; +} + +a.ilc_qetitem_ErrorTextSelected +{ + border-style: none; + background-color: #E2E8EF; + color: #161616; +} + +a.ilc_link_ExtLink +{ + text-decoration: underline; +} + +a.ilc_link_FileLink +{ + text-decoration: underline; +} + +a.ilc_link_GlossaryLink +{ + text-decoration: underline; +} + +a.ilc_glo_ovclink_GlossaryOvCloseLink +{ + text-decoration: underline; + font-weight: normal; +} + +a.ilc_glo_ovuglistlink_GlossaryOvUGListLink +{ + font-weight: normal; +} + +a.ilc_glo_ovuglink_GlossaryOvUnitGloLink +{ + font-weight: normal; +} + +a.ilc_qimgd_ImageDetailsLink +{ + font-size: 90%; +} + +a.ilc_link_IntLink +{ + text-decoration: underline; +} + +a.ilc_marker_Marker +{ + background-image: url("@{image_path}icon_pin.svg"); + background-repeat: no-repeat; + cursor: pointer; + display: block; + height: 32px; + width: 24px; + position: absolute; +} + +a.ilc_marker_Marker:hover +{ + background-repeat: no-repeat; + background-image: url("@{image_path}icon_pin_on.svg"); +} + + + +a.ilc_rte_mlink_RTELink +{ + font-size: 100%; + margin: 1px; + margin-top: 10px; + margin-right: 5px; + margin-bottom: 10px; + margin-left: 5px; + padding-right: 3mm; + padding-top: 1mm; + border-style: none; + padding-bottom: 1mm; + text-decoration: none; + padding-left: 3mm; + border-width: 1px; + background-color: #4C6586; + text-align: center; + height: 50px; + color: #ffffff !important; + text-decoration: none !important; +} + +a.ilc_rte_mlink_RTELink:hover +{ + background-color: #577399; + color: #FFFFFF; + text-decoration: none !important; +} + +a.ilc_rte_mlink_RTELinkDisabled +{ +} + +a.ilc_rte_mlink_RTELinkDisabled:hover +{ +} + +a.ilc_rte_texp_RTETreeCollapsed +{ + background-image: url("@{image_path}arrow_right.svg"); + background-repeat: no-repeat; + background-position: 0px 0px; + background-size: 15px 15px !important; +} + +a.ilc_rte_tclink_RTETreeControlLink +{ + color: #4C6586; + color: #4C6586 !important; +} + +a.ilc_rte_tlink_RTETreeCurrent +{ + background-color: #FFFF9D; + color: #161616 !important; + background-color: #E2E8EF !important; +} + +a.ilc_rte_texp_RTETreeExpanded +{ + background-image: url("@{image_path}arrow_down.svg"); + background-size: 15px 15px; +} + +a.ilc_rte_tlink_RTETreeLink +{ + color: #4C6586; + color: #4C6586 !important; +} + +div.ilc_va_cntr_AccordCntr +{ + margin-top: 5px; +} + +div.ilc_va_icntr_AccordICntr +{ + margin-bottom: 5px; +} + +div.ilc_va_icont_AccordICont +{ + margin-top: -1px; + margin-bottom: 12px; + padding-top: 3px; + padding-right: 3px; + padding-bottom: 3px; + padding-left: 15px; + border-width: 1px; + border-color: #DDDDDD; + border-style: solid; + background-color: #FFFFFF; + border-bottom-right-radius: 3px; + border-bottom-left-radius: 3px; +} + +div.ilc_va_ihead_AccordIHead +{ + text-align: left; + margin-bottom: 12px; + padding-top: 8px; + padding-right: 8px; + padding-bottom: 8px; + padding-left: 38px; + border-width: 1px; + border-color: #DDDDDD; + border-style: solid; + background-color: #F9F9F9; + background-image: url("@{image_path}arrow_right.svg"); + background-repeat: no-repeat; + background-position: 15px center; + cursor: pointer; + background-size: 20px 20px; + border-radius: 3px; + font-weight: 600; +} + +div.ilc_va_ihead_AccordIHead:hover +{ + background-color: #E2E8EF; +} + +div.ilc_va_ihcap_AccordIHeadCap +{ + font-size: 1em; + font-weight: 600; +} + +div.ilc_section_Additional +,a.ilc_section_Additional +{ + padding-left: 20px; + margin-top: 40px; + margin-bottom: 10px; + position: relative; + border-width: 2px; + border-color: #4C6586; + border-style: solid; + padding-top: 35px; + padding-right: 30px; + padding-bottom: 15px; + border-radius: 3px; + position: relative !important; + background-position: left top; +} + +div.ilc_section_Additional::before +,a.ilc_section_Additional::before +{ + border-width: 2px; + border-color: #FFFFFF; + border-style: solid; + background-color: #eceff4; + background-position: center center; + left: 15px; + background-image: url("@{image_path}additional.svg"); + background-repeat: no-repeat; + position: absolute; + width: 60px; + height: 60px; + top: -32px; + right: 0px; + content: ""; + display: block; + border-radius: 50px; +} + +div.ilc_section_AdvancedKnowledge +,a.ilc_section_AdvancedKnowledge +{ + position: relative; + border-width: 2px; + border-color: #4C6586; + border-style: solid; + padding-left: 20px; + padding-right: 30px; + padding-top: 35px; + padding-bottom: 15px; + margin-top: 40px; + margin-bottom: 10px; + background-position: left top; + border-radius: 3px; + position: relative !important; +} + +div.ilc_section_AdvancedKnowledge::before +,a.ilc_section_AdvancedKnowledge::before +{ + border-width: 2px; + border-color: #FFFFFF; + border-style: solid; + background-color: #eceff4; + background-position: center center; + left: 15px; + background-image: url("@{image_path}advknowledge.svg"); + position: absolute; + top: -32px; + right: 0px; + content: ""; + width: 60px; + display: block; + height: 60px; + border-radius: 50px; + background-repeat: no-repeat; +} + +div.ilc_qanswer_Answer +{ + padding-right: 10px; + border-radius: 5px; +} + +div.ilc_section_Attention +,a.ilc_section_Attention +{ + position: relative; + border-width: 2px; + border-color: #FA8228; + border-style: solid; + border-radius: 3px; + position: relative !important; + padding-left: 20px; + padding-bottom: 15px; + padding-right: 30px; + padding-top: 35px; + margin-bottom: 10px; + margin-top: 40px; +} + +div.ilc_section_Attention::before +,a.ilc_section_Attention::before +{ + border-width: 2px; + border-color: #FFFFFF; + border-style: solid; + background-color: #fee6d4; + background-position: center 12px; + left: 15px; + content: ""; + display: block; + border-radius: 50px; + background-image: url("@{image_path}attention.svg"); + background-repeat: no-repeat; + position: absolute; + top: -32px; + width: 60px; + height: 60px; +} + +div.ilc_section_Background +,a.ilc_section_Background +{ + background-color: #F9F9F9; + padding-top: 10px; + margin-bottom: 20px; + padding-right: 20px; + padding-bottom: 10px; + padding-left: 20px; +} + +div.ilc_section_Block +,a.ilc_section_Block +{ + padding-bottom: 10px; + padding-right: 20px; + margin-bottom: 10px; + padding-top: 10px; + margin-top: 20px; + padding-left: 20px; +} + + +div.ilc_section_Button:hover +,a.ilc_section_Button:hover +{ +} + +div.ilc_section_Card +,a.ilc_section_Card +{ + min-height: 250px; + position: relative; + margin: 15px; + padding-top: 15px; + padding-right: 15px; + padding-bottom: 15px; + padding-left: 15px; + box-shadow: 5px 5px 40px rgba(0,0,0,.2); + border-radius: 15px; + max-width: 400px; +} + +div.ilc_section_Citation +,a.ilc_section_Citation +{ + padding-right: 30px; + padding-top: 35px; + margin-bottom: 10px; + margin-top: 40px; + position: relative; + border-width: 2px; + border-color: #4C6586; + border-style: solid; + background-color: #FFFFFF; + border-radius: 3px; + position: relative !important; + padding-left: 20px; + padding-bottom: 15px; +} + +div.ilc_section_Citation::before +,a.ilc_section_Citation::before +{ + background-color: #eceff4; + left: 15px; + background-position: center center; + border-width: 2px; + border-color: #FFFFFF; + border-style: solid; + content: ""; + display: block; + border-radius: 50px; + background-image: url("@{image_path}citation.svg"); + background-repeat: no-repeat; + position: absolute; + top: -32px; + width: 60px; + height: 60px; +} + +div.ilc_va_ihead_ColoredAccordIHead:hover +{ + background-color: #3d506b; + cursor: pointer; + transition: all 0.5s ease-out; +} + +div.ilc_section_Confirmation +,a.ilc_section_Confirmation +{ + position: relative; + border-width: 2px; + border-color: #6EA03C; + border-style: solid; + border-radius: 3px; + position: relative !important; + margin-top: 40px; + margin-bottom: 10px; + padding-top: 35px; + padding-bottom: 15px; + padding-right: 30px; + padding-left: 20px; +} + +div.ilc_section_Confirmation::before +,a.ilc_section_Confirmation::before +{ + border-width: 2px; + border-color: #FFFFFF; + border-style: solid; + background-position: center center; + left: 15px; + background-color: #e9f3df; + content: ""; + display: block; + border-radius: 50px; + background-image: url("@{image_path}confirmation.svg"); + position: absolute; + top: -32px; + width: 60px; + height: 60px; + background-repeat: no-repeat; +} + +div.ilc_iim_ContentPopup +{ + padding-left: 10px; + padding-bottom: 5px; + padding-right: 10px; + padding-top: 5px; + border-style: solid; + border-width: 1px; + background-color: #FFFFFF; + border-color: #d8d8d8; +} + +div.ilc_qover_Correct +{ + padding-top: 20px; + padding-right: 20px; + background-image: url("@{image_path}correct.svg"); + padding-bottom: 20px; + padding-left: 60px; + background-position: 10px; + background-repeat: no-repeat; + border-style: none; + background-color: #f0f7ea; + margin-bottom: 10px; + border-radius: 3px; + margin-top: 10px; +} + +div.ilc_va_cntr_EmphasisedAccordCntr +{ + padding-top: 5px; + padding-right: 15px; + padding-left: 15px; +} + +div.ilc_va_icont_EmphasisedAccordICont +{ + padding: 15px; + background-color: #eceff4; + transform: scale(1.01); + -webkit-transform: scale(1.01); + -moz-transform: scale(1.01); + -ms-transform: scale(1.01); + transition: all 0.5s ease-out; +} + +div.ilc_va_ihead_EmphasisedAccordIHead +{ + font-size: 1.5em; + color: #FFFFFF; + padding: 15px; + background-color: #4C6586; + background-image: url("@{image_path}expand_white.svg"); + background-repeat: no-repeat; + background-position: right center; + transition: all 0.5s ease-out; +} + +div.ilc_va_ihead_EmphasisedAccordIHead:hover +{ + background-color: #3d506b; + transition: all 0.5s ease-out; +} + +div.ilc_section_Example +,a.ilc_section_Example +{ + padding-right: 30px; + padding-bottom: 15px; + padding-left: 20px; + background-position: left center; + margin-bottom: 10px; + margin-top: 40px; + position: relative; + border-width: 2px; + border-color: #4C6586; + border-style: solid; + border-radius: 3px; + position: relative !important; + padding-top: 35px; +} + +div.ilc_section_Example::before +,a.ilc_section_Example::before +{ + background-color: #eceff4; + background-position: center center; + left: 15px; + background-image: url("@{image_path}example.svg"); + background-repeat: no-repeat; + position: absolute; + top: -32px; + width: 60px; + height: 60px; + border-width: 2px; + border-color: #FFFFFF; + border-style: solid; + right: 0px; + content: ""; + display: block; + border-radius: 50px; +} + +div.ilc_section_Excursus +,a.ilc_section_Excursus +{ + padding-right: 30px; + margin-bottom: 10px; + margin-top: 40px; + border-style: solid; + border-width: 2px; + position: relative; + padding-top: 35px; + border-color: #4C6586; + padding-left: 20px; + border-radius: 3px; + position: relative !important; + padding-bottom: 15px; +} + +div.ilc_section_Excursus::before +,a.ilc_section_Excursus::before +{ + border-width: 2px; + border-color: #FFFFFF; + border-style: solid; + background-color: #eceff4; + background-position: center center; + left: 15px; + content: ""; + display: block; + border-radius: 50px; + background-image: url("@{image_path}excursus.svg"); + background-repeat: no-repeat; + position: absolute; + top: -32px; + width: 60px; + height: 60px; +} + +div.ilc_qfeedr_FeedbackRight +{ + margin-top: 10px; + padding-top: 20px; + margin-bottom: 10px; + border-style: none; + background-color: #f0f7ea; + padding-left: 60px; + padding-bottom: 20px; + padding-right: 160px; + background-image: url("@{image_path}correct.svg"); + background-position: 10px; + background-repeat: no-repeat; + border-radius: 3px; +} + +div.ilc_qfeedw_FeedbackWrong +{ + padding-left: 60px; + padding-bottom: 20px; + background-position: 24px; + padding-right: 160px; + background-image: url("@{image_path}exclamation.svg"); + margin-top: 10px; + background-repeat: no-repeat; + padding-top: 20px; + margin-bottom: 10px; + border-style: none; + background-color: #fef2ea; + border-radius: 3px; +} + +div.ilc_flist_cont_FileListContainer +{ + border-radius: 3px; + color: #FFFFFF; + margin-top: 10px; + margin-right: 0px; + margin-bottom: 10px; + margin-left: 0px; + border-color: #4C6586; + border-style: solid; + border-width: 1px; + text-indent: 7px; + padding-bottom: 10px; +} + +div.ilc_flist_head_FileListHeading +{ + margin-bottom: 10px; + text-align: left; + color: #FFFFFF; + font-weight: bold; + background-image: url("@{image_path}download.svg"); + background-color: #4C6586; + margin-top: 0px; + background-position: 10px; + background-repeat: no-repeat; + padding-left: 50px; + padding-bottom: 10px; + padding-right: 20px; + padding-top: 10px; +} + +div.ilc_sco_fmess_FinalMessage +{ + margin: 100px; + text-align: center; + border-style: none; + border-width: 1px; + padding: 50px; + font-size: 125%; +} + +div.ilc_page_fn_Footnote +{ + margin-bottom: 5px; + margin-top: 5px; +} + +div.ilc_glo_overlay_GlossaryOverlay +{ + border-style: none; + padding-top: 5px; + border-width: 2px; + padding-left: 10px; + padding-bottom: 5px; + padding-right: 10px; +} + +div.ilc_ha_ihead_HAccordIHead:hover +{ + background-color: #E2E8EF; +} + +div.ilc_qover_Incorrect +{ + padding-left: 60px; + background-image: url("@{image_path}exclamation.svg"); + background-repeat: no-repeat; + background-position: 24px; + padding-bottom: 20px; + padding-right: 20px; + margin-bottom: 10px; + margin-top: 10px; + background-color: #fef2ea; + border-style: none; + padding-top: 20px; + border-radius: 3px; +} + +div.ilc_section_Information +,a.ilc_section_Information +{ + margin-bottom: 10px; + margin-top: 40px; + position: relative; + border-width: 2px; + border-color: #4C6586; + border-style: solid; + border-radius: 3px; + position: relative !important; + padding-left: 20px; + padding-bottom: 15px; + padding-right: 30px; + padding-top: 35px; +} + +div.ilc_section_Information::before +,a.ilc_section_Information::before +{ + background-color: #eceff4; + background-position: center center; + left: 15px; + border-width: 2px; + border-color: #FFFFFF; + border-style: solid; + background-image: url("@{image_path}information.svg"); + background-repeat: no-repeat; + position: absolute; + top: -32px; + width: 60px; + height: 60px; + content: ""; + display: block; + border-radius: 50px; +} + +div.ilc_section_Interaction +,a.ilc_section_Interaction +{ + margin-top: 10px; + padding-top: 20px; + margin-bottom: 10px; + padding-right: 20px; + padding-bottom: 20px; + background-image: url("@{image_path}interaction.svg"); + padding-left: 60px; + background-position: 12px; + background-repeat: no-repeat; + border-width: 1px; + border-color: #4C6586; + border-style: solid; + border-radius: 3px; +} + +div.ilc_section_Interaction:hover +,a.ilc_section_Interaction:hover +{ + cursor: pointer; + background-color: #E2E8EF; +} + + +div.ilc_va_icont_LightAccordICont +{ + padding: 10px; + border-width: 4px; + border-color: #4C6586; + border-bottom-style: solid; +} + +div.ilc_va_ihead_LightAccordIHead +{ + color: #4C6586; + padding: 10px; + border-width: 2px; + border-color: #4C6586; + border-bottom-style: solid; + background-image: url("@{image_path}expand.svg"); + background-position: right center; + background-repeat: no-repeat; + font-size: 1.5em; + background-color: #FFFFFF; + transition: background-image 2s ease-in-out; +} + +div.ilc_va_ihead_LightAccordIHead:hover +{ + cursor: pointer; + border-width: 4px; + border-color: #4C6586; + border-bottom-style: solid; + transition: all 0.5s ease-out; +} + +div.ilc_section_Link +,a.ilc_section_Link +{ + text-decoration: underline; + margin-top: 10px; + margin-bottom: 10px; + padding-top: 20px; + padding-right: 20px; + padding-bottom: 20px; + padding-left: 60px; + border-width: 1px; + border-color: #4C6586; + border-style: dashed; + background-image: url("@{image_path}link.svg"); + background-repeat: no-repeat; + background-position: 10px; + border-radius: 3px; +} + +div.ilc_section_Literature +,a.ilc_section_Literature +{ + margin-top: 40px; + margin-bottom: 10px; + padding-top: 35px; + padding-right: 30px; + padding-bottom: 15px; + padding-left: 20px; + position: relative; + border-width: 2px; + border-color: #4C6586; + border-style: solid; + border-radius: 3px; + position: relative !important; +} + +div.ilc_section_Literature::before +,a.ilc_section_Literature::before +{ + border-width: 2px; + border-color: #FFFFFF; + border-style: solid; + background-color: #eceff4; + background-position: center center; + left: 15px; + content: ""; + display: block; + border-radius: 50px; + background-image: url("@{image_path}literature.svg"); + background-repeat: no-repeat; + position: absolute; + top: -32px; + width: 60px; + height: 60px; +} + +div.ilc_media_caption_MediaCaption +{ + font-weight: bolder; + font-size: 100%; + padding: 10px; + background-color: #F9F9F9; +} + +div.ilc_section_Mnemonic +,a.ilc_section_Mnemonic +{ + padding-right: 30px; + padding-bottom: 15px; + padding-left: 20px; + background-position: left center; + border-style: solid; + padding-top: 35px; + position: relative; + border-width: 2px; + border-color: #F3DE2C; + border-radius: 3px; + position: relative !important; + margin-top: 40px; + margin-bottom: 10px; +} + +div.ilc_section_Mnemonic::before +,a.ilc_section_Mnemonic::before +{ + border-width: 2px; + border-color: #FFFFFF; + background-color: #fdfadf; + background-position: center center; + left: 15px; + border-style: solid; + content: ""; + display: block; + border-radius: 50px; + background-image: url("@{image_path}mnemonic.svg"); + background-repeat: no-repeat; + position: absolute; + top: -32px; + width: 60px; + height: 60px; +} + +div.ilc_page_Page +{ + min-height: 300px; +} + +div.ilc_page_cont_PageContainer +{ + border-width: 1px; + border-color: #DDDDDD; + padding: 20px; + margin: 0px; + border-style: solid; + background-color: #FFFFFF; + min-height: 500px; +} + +div.ilc_section_Remark +,a.ilc_section_Remark +{ + border-style: solid; + border-width: 2px; + position: relative; + border-color: #4C6586; + border-radius: 3px; + position: relative !important; + padding-right: 30px; + padding-top: 35px; + padding-left: 20px; + padding-bottom: 15px; + margin-top: 40px; + margin-bottom: 10px; +} + +div.ilc_section_Remark::before +,a.ilc_section_Remark::before +{ + border-width: 2px; + border-color: #FFFFFF; + background-image: url("@{image_path}remark.svg"); + border-style: solid; + background-repeat: no-repeat; + background-color: #eceff4; + position: absolute; + background-position: center center; + top: -32px; + left: 15px; + width: 60px; + content: ""; + height: 60px; + display: block; + border-radius: 50px; +} + + +div.ilc_rte_menu_RTELinkBar +{ + border-top-width: 10px; + border-bottom-width: 10px; + margin-top: 10px; + margin-bottom: 10px; +} + +div.ilc_rte_menu_RTELogo +{ + float: left; +} + +div.ilc_rte_menu_RTEMenu +{ + background-color: #FFFFFF; +} + +div.ilc_section_Separator +,a.ilc_section_Separator +{ + margin-top: 10px; + margin-bottom: 10px; + padding-top: 20px; + border-width: 2px; + padding-bottom: 20px; + border-color: #4C6586; + border-top-style: solid; +} + +div.ilc_section_Special +,a.ilc_section_Special +{ + padding-left: 20px; + border-style: none; + border-width: 1px; + padding-bottom: 20px; + padding-top: 20px; + padding-right: 20px; +} + +div.ilc_question_Standard +{ + padding-left: 30px; + padding-bottom: 60px; + box-shadow: 0 3px 3px rgba(0,0,0,0.10), 0 6px 15px rgba(0,0,0,0.12); + + background-position: right top; + margin-top: 20px; + margin-bottom: 10px; + padding-top: 30px; + padding-right: 30px; +} + +div.ilc_qover_StatusMessage +{ + padding-bottom: 7px; +} + +div.ilc_qtitle_Title +{ + margin-bottom: 20px; + font-size: 140%; + font-weight: normal; +} + +div.ilc_sco_title_Title +{ + border-bottom-style: solid; + border-bottom-width: 2px; + padding-bottom: 3px; + font-size: 140%; + margin-bottom: 20px; + font-weight: bold; + margin-top: 5px; +} + + + +em.ilc_em_Emph, span.ilc_text_inline_Emph +{ + font-style: italic; +} + +figure.ilc_media_cont_MediaContainer +{ + margin: 0px; +} + +figure.ilc_media_cont_MediaContainerFull100 +{ + margin: 0px; + width: 100%; + box-shadow: 0 3px 3px rgba(0,0,0,0.10), 0 6px 15px rgba(0,0,0,0.12); +} + +figure.ilc_media_cont_MediaContainerHighlighted +{ + margin: 0px; + box-shadow: 0 3px 3px rgba(0,0,0,0.10), 0 6px 15px rgba(0,0,0,0.12); +} + +figure.ilc_media_cont_MediaContainerMax50 +{ + margin: 0px; + box-shadow: 0 3px 3px rgba(0,0,0,0.10), 0 6px 15px rgba(0,0,0,0.12); + max-width: 50%; +} + +figure.ilc_media_cont_MediaContainerSeparated +{ + margin: 40px; +} + +h1.ilc_glo_ovtitle_GlossaryOvTitle +,div.ilc_text_block_GlossaryOvTitle +,html.il-no-tiny-bg body#tinymce.ilc_text_block_GlossaryOvTitle p +{ + margin-bottom: 10px; + font-size: 1.5em; + margin-top: 10px; + font-weight: 600; +} + +h1.ilc_heading1_Headline1 +,div.ilc_text_block_Headline1 +,html.il-no-tiny-bg body#tinymce.ilc_text_block_Headline1 p +{ + padding-top: 10px; + margin-bottom: 15px; + margin-top: 20px; + font-size: 1.75em; + font-weight: 600; +} + +h1.ilc_page_title_PageTitle +,div.ilc_text_block_PageTitle +,html.il-no-tiny-bg body#tinymce.ilc_text_block_PageTitle p +{ + font-weight: 600; + border-bottom-width: 1px; + border-bottom-style: none; + border-style: none; + font-size: 1.75rem; + padding-bottom: 3px; + margin-top: 15px; + margin-bottom: 15px; + text-align: left; + white-space: normal; +} + +h2.ilc_heading2_Headline2 +,div.ilc_text_block_Headline2 +,html.il-no-tiny-bg body#tinymce.ilc_text_block_Headline2 p +{ + font-weight: 600; + font-size: 1.5em; + margin-top: 20px; + margin-bottom: 15px; +} + +h3.ilc_heading3_Headline3 +,div.ilc_text_block_Headline3 +,html.il-no-tiny-bg body#tinymce.ilc_text_block_Headline3 p +{ + font-weight: 600; + margin-top: 15px; + margin-bottom: 10px; + font-size: 1.115em; +} + + + +img.ilc_qimg_QuestionImage +{ + margin: 10px; + box-shadow: 0 3px 3px rgba(0,0,0,0.10), 0 6px 15px rgba(0,0,0,0.12); +} + + +input.ilc_qsubmit_Submit +{ + border-style: none; + color: #ffffff !important; + padding: 0.5em; + margin-top: 20px; + background-color: #4C6586; +} + +input.ilc_qsubmit_Submit:hover +{ + cursor: pointer; + background-color: #314157; +} + +input.ilc_qinput_TextInput +{ + padding-left: 4px; +} + +li.ilc_list_item_Attention +{ + margin-bottom: 15px; + padding-top: 6px; + padding-bottom: 6px; + padding-left: 45px; + position: relative; + list-style-type: none; +} + +li.ilc_list_item_Attention::before +{ + background-image: url("@{image_path}attention_red.svg"); + background-repeat: no-repeat; + position: absolute; + width: 35px; + height: 35px; + left: 0; + top: 0; + content: ""; +} + +li.ilc_list_item_Checklist +{ + list-style-type: none; + margin-bottom: 15px; + padding-top: 6px; + padding-bottom: 6px; + padding-left: 45px; + position: relative; +} + +li.ilc_list_item_Checklist2::before +{ + background-image: url("@{image_path}wrong.svg"); + background-repeat: no-repeat; + position: absolute; + width: 35px; + height: 35px; + left: 0; + top: 0; + content: ""; +} + +li.ilc_list_item_Checklist::before +{ + content: ""; + background-image: url("@{image_path}checked.svg"); + background-repeat: no-repeat; + width: 35px; + height: 35px; + position: absolute; + left: 0; + top: 0; +} + +li.ilc_list_item_ColoredCircle::before +{ + font-weight: bold; + color: #FFFFFF; + background-color: #59A0A5; + position: absolute; + width: 35px; + height: 35px; + content: counter(section); + border-radius: 50px; + left: 0; + display: grid; + justify-content: center; + align-items: center; + top: 0; +} + +li.ilc_list_item_ColoredCircleBackground::before +{ + font-size: 1.5rem; + font-weight: bold; + color: #FFFFFF; + margin-left: 10px; + background-color: #4C6586; + position: absolute; + width: 50px; + height: 50px; + content: counter(section); + border-radius: 50px; + left: 0; + top: 13px; + display: grid; + align-items: center; + justify-content: center; +} + +li.ilc_list_item_ColoredSquare::before +{ + font-weight: bold; + color: #FFFFFF; + background-color: #F3DE2C; + position: absolute; + width: 35px; + height: 35px; + content: counter(section); + border-radius: 6px; + left: 0; + display: grid; + justify-content: center; + align-items: center; + top: 0; +} + +li.ilc_list_item_ColoredSquareBackground::before +{ + font-weight: bold; + color: #FFFFFF; + background-color: #F3DE2C; + position: absolute; + width: 35px; + height: 100%; + text-align: center; + content: counter(section); + left: 0; + top: 0; + display: grid; + justify-content: center; + align-items: center; +} + +li.ilc_flist_li_FileListItem +{ + padding-left: 3px; + padding-right: 3px; + padding-top: 5px; + padding-bottom: 5px; +} + +li.ilc_list_item_FilledCircle +{ + margin-bottom: 15px; + padding-top: 6px; + padding-bottom: 6px; + padding-left: 45px; + position: relative; + list-style-type: none; + counter-increment: section 1; +} + +li.ilc_list_item_FilledCircle::before +{ + font-weight: bold; + color: #FFFFFF; + background-color: #59A0A5; + position: absolute; + height: 35px; + min-width: 35px; + content: counter(section); + border-radius: 50px; + left: 0; + display: grid; + justify-content: center; + align-items: center; + top: 0; +} + +li.ilc_list_item_FilledCircleLarge +{ + font-size: 1.5rem; + position: relative; + padding-top: 20px; + padding-right: 20px; + padding-bottom: 20px; + padding-left: 70px; + list-style-type: none; + counter-increment: section 1; +} + +li.ilc_list_item_FilledCircleLarge::before +{ + font-weight: bold; + color: #FFFFFF; + margin-left: 10px; + position: absolute; + height: 50px; + background-color: #4C6586; + content: counter(section); + min-width: 50px; + border-radius: 50px; + left: 0; + top: 13px; + display: grid; + align-items: center; + justify-content: center; +} + +li.ilc_list_item_FilledSquare +{ + margin-bottom: 15px; + padding-top: 6px; + padding-bottom: 6px; + padding-left: 45px; + position: relative; + list-style-type: none; + counter-increment: section 1; +} + +li.ilc_list_item_FilledSquare::before +{ + font-weight: bold; + color: #FFFFFF; + background-color: #F3DE2C; + position: absolute; + height: 35px; + content: counter(section); + min-width: 35px; + border-radius: 6px; + left: 0; + display: grid; + justify-content: center; + align-items: center; + top: 0; +} + +li.ilc_list_item_FilledSquareBackground +{ + margin-top: -2px; + padding-top: 15px; + padding-bottom: 15px; + padding-left: 50px; + border-width: 2px; + border-color: #FFFFFF; + border-style: solid; + background-color: #fdfadf; + list-style-type: none; + counter-increment: section 1; + position: relative; +} + +li.ilc_list_item_FilledSquareBackground::before +{ + background-color: #F3DE2C; + font-weight: bold; + color: #FFFFFF; + min-width: 35px; + display: grid; + justify-content: center; + align-items: center; + content: counter(section); + left: 0; + top: 0; + position: absolute; + height: 100%; +} + +li.ilc_list_item_ListItem2::before +{ + width: 35px; + height: 35px; + color: #FFFFFF; + background-color: #59A0A5; + font-weight: bold; + margin-right: 10px; + content: counter(section); + display: inline-flex; + border-radius: 50px; + justify-content: center; + align-items: center; +} + +li.ilc_list_item_ListItem2Absolut::before +{ + font-weight: bold; + color: #FFFFFF; + background-color: #59A0A5; + width: 35px; + height: 35px; + position: absolute; + content: counter(section); + border-radius: 50px; + left: 0; + display: grid; + justify-content: center; + align-items: center; +} + +li.ilc_list_item_ListItem2Grid::before +{ + font-weight: bold; + color: #FFFFFF; + background-color: #59A0A5; + width: 35px; + height: 35px; + content: counter(section); + border-radius: 50px; + display: inline-grid; + justify-content: center; + align-items: center; +} + +li.ilc_list_item_ListItem3::before +{ + background-image: url("@{image_path}checked.svg"); + background-repeat: no-repeat; + width: 35px; + height: 35px; + margin-right: 5px; + display: inline-flex; + content: ""; +} + +li.ilc_list_item_ListItem4::before +{ + background-image: url("@{image_path}wrong.svg"); + background-repeat: no-repeat; + width: 35px; + height: 35px; + margin-right: 5px; + display: inline-flex; + content: ""; +} + +li.ilc_list_item_ListItem::before +{ + font-size: 1.5rem; + font-weight: bold; + color: #FFFFFF; + background-color: #4C6586; + width: 50px; + height: 50px; + vertical-align: middle; + margin-left: 10px; + position: absolute; + content: counter(section); + display: grid; + border-radius: 50px; + align-items: center; + justify-content: center; + left: 0; + top: 13px; +} + +li.ilc_qordli_OrderListItem +{ + margin-top: 5px; + margin-bottom: 5px; + margin-left: 0px; + margin-right: 0px; + cursor: move; + padding: 10px; + background-color: #E2E8EF; +} + +li.ilc_qordli_OrderListItemHorizontal +{ + float: left; + margin-top: 5px; + margin-bottom: 5px; + margin-right: 10px; + padding: 10px; + cursor: move; + background-color: #E2E8EF; +} + +li.ilc_list_item_Pointer +{ + margin-bottom: 15px; + padding-top: 6px; + padding-bottom: 6px; + padding-left: 45px; + position: relative; + list-style-type: none; +} + +li.ilc_list_item_Pointer::before +{ + background-image: url("@{image_path}pointer.svg"); + background-repeat: no-repeat; + position: absolute; + width: 35px; + height: 35px; + left: 0; + top: 0; + content: ""; +} + +ol.ilc_list_o_NumberedListNoStyle +{ + list-style-type: none; + margin-top: 15px; + padding-top: 20px; + padding-bottom: 20px; + counter-reset: section; +} + +p.ilc_text_block_Book +,html.il-no-tiny-bg body#tinymce.ilc_text_block_Book p +{ + hyphens: auto; + text-align: justify; +} + +p.ilc_text_block_Button:hover +,html.il-no-tiny-bg body#tinymce.ilc_text_block_Button:hover p +{ + background-color: #5774A0; +} + +p.ilc_text_block_List +,html.il-no-tiny-bg body#tinymce.ilc_text_block_List p +{ + margin-top: 3px; + margin-bottom: 3px; +} + +p.ilc_text_block_Numbers +,html.il-no-tiny-bg body#tinymce.ilc_text_block_Numbers p +{ + text-align: right; +} + +p.ilc_text_block_Standard +,html.il-no-tiny-bg body#tinymce.ilc_text_block_Standard p +{ + margin-bottom: 10px; + margin-top: 10px; +} + +p.ilc_text_block_StandardLarge +,html.il-no-tiny-bg body#tinymce.ilc_text_block_StandardLarge p +{ + font-size: 1.115rem; +} + +p.ilc_text_block_TableContent +,html.il-no-tiny-bg body#tinymce.ilc_text_block_TableContent p +{ + line-height: 1.8em; + padding-bottom: 10px; + padding-top: 10px; + padding-left: 10px; + padding-right: 10px; + margin-top: 0px; + margin-bottom: 0px; + margin-right: 0px; + margin-left: 0px; +} + +p.ilc_text_block_Verse +,html.il-no-tiny-bg body#tinymce.ilc_text_block_Verse p +{ + text-align: center; +} + +pre.ilc_code_block_Code +{ + border-width: 1px; + border-color: #DDDDDD; + border-style: solid; + padding: 9px; + background-color: #F9F9F9; +} + +span.ilc_text_inline_Accent +{ + color: #087e0a; +} + +span.ilc_text_inline_Attention +{ + color: #CB4D16; +} + +span.ilc_text_inline_Comment +{ + color: #b31bff; +} + +span.ilc_qetcorr_ErrorTextCorrected +{ + text-decoration: line-through; +} + +span.ilc_text_inline_Important +{ + text-decoration: underline; +} + +span.ilc_text_inline_Mnemonic +{ + background-color: #fcf7ca; + padding-left: 4px; + padding-right: 4px; +} + +span.ilc_text_inline_Quotation +{ + letter-spacing: 0.2px; + font-style: italic; + font-family: serif; + color: #1B5FFF; + font-size: 114%; +} + +strong.ilc_strong_Strong, span.ilc_text_inline_Strong +{ + font-weight: bold; +} + +table.ilc_table_StandardTable +{ + border-collapse: collapse; + margin-top: 10px; + margin-bottom: 10px; + border-color: #9EADBA; +} + +td.ilc_table_cell_Cell1 +,th.ilc_table_cell_Cell1 +{ + padding-top: 3px; + padding-right: 10px; + padding-bottom: 3px; + padding-left: 10px; + background-color: #FFCCCC; +} + +td.ilc_table_cell_Cell2 +,th.ilc_table_cell_Cell2 +{ + background-color: #CCCCFF; + padding-top: 3px; + padding-right: 10px; + padding-bottom: 3px; + padding-left: 10px; +} + +td.ilc_table_cell_Cell3 +,th.ilc_table_cell_Cell3 +{ + padding-left: 10px; + padding-bottom: 3px; + padding-right: 10px; + padding-top: 3px; + background-color: #CCFFCC; +} + +td.ilc_table_cell_Cell4 +,th.ilc_table_cell_Cell4 +{ + padding-top: 3px; + padding-right: 10px; + padding-bottom: 3px; + padding-left: 10px; + background-color: #FFFFCC; +} + +td.ilc_table_cell_StandardCell1 +,th.ilc_table_cell_StandardCell1 +{ + background-color: #FFFFFF; + border-style: solid; + border-color: #4C6586; + border-width: 1px; + padding-left: 10px; + padding-bottom: 3px; + font-weight: normal; + padding-top: 3px; + padding-right: 10px; +} + +td.ilc_table_cell_StandardCell2 +,th.ilc_table_cell_StandardCell2 +{ + padding-top: 3px; + font-weight: normal; + background-color: #FFFFFF; + border-width: 1px; + border-style: solid; + border-color: #4C6586; + padding-left: 10px; + padding-right: 10px; + padding-bottom: 3px; +} + +td.ilc_table_cell_StandardHeader +,th.ilc_table_cell_StandardHeader +{ + font-weight: normal; + padding-top: 3px; + color: #FFFFFF; + padding-bottom: 3px; + padding-right: 10px; + border-width: 1px; + border-color: #FFFFFF; + padding-left: 10px; + border-style: solid; + background-color: #4C6586; +} + +td.ilc_table_cell_TransparentC +,th.ilc_table_cell_TransparentC +{ + font-weight: normal; + padding-top: 3px; + padding-right: 10px; + padding-bottom: 3px; + padding-left: 10px; + border-width: 1px; + border-color: #000000; + border-style: solid; +} + +td.ilc_table_cell_TransparentH +,th.ilc_table_cell_TransparentH +{ + font-weight: normal; + padding-top: 3px; + padding-bottom: 3px; + padding-right: 10px; + padding-left: 10px; + border-style: solid; + border-width: 1px; +} + +textarea.ilc_qlinput_LongTextInput +{ + padding-left: 4px; +} + +ul.ilc_flist_FileList +{ + list-style-type: none; + padding: 0px; + margin: 0px; +} + +ul.ilc_qordul_OrderList +{ + padding: 0px; + margin: 0px; + list-style: none; + list-style-position: outside; +} + +ul.ilc_qordul_OrderListHorizontal +{ + list-style: none; + margin: 0px; + padding: 0px; + list-style-position: outside; +} + +div.ilc_va_iheada_AccordIHeadActive +{ + margin-bottom: 0px; + padding-top: 8px; + padding-right: 8px; + padding-bottom: 8px; + padding-left: 38px; + border-width: 1px; + border-color: #DDDDDD; + border-style: solid; + background-color: #E2E8EF; + background-image: url("@{image_path}arrow_down.svg"); + background-repeat: no-repeat; + background-position: 10px center; + cursor: pointer; + background-size: 20px 20px; + border-top-left-radius: 3px; + border-top-right-radius: 3px; + border-bottom-right-radius: 0px; + border-bottom-left-radius: 0px; +} + +div.ilc_va_iheada_AccordIHeadActive:hover +{ + background-position: 10px center; +} + +div.ilc_va_iheada_ColoredAccordIHeadActive:hover +{ + background-color: #3d506b; + background-image: url("@{image_path}collapse_white.svg"); + background-position: right center; + cursor: pointer; + transition: all 0.5s ease-out; +} + +div.ilc_va_iheada_EmphasisedAccordIHeadActive +{ + font-size: 1.5em; + color: #FFFFFF; + padding: 15px; + background-color: #3d506b; + background-image: url("@{image_path}collapse_white.svg"); + background-repeat: no-repeat; + background-position: right center; + border-radius: 0px; + transform: scale(1.01); + -webkit-transform: scale(1.01); + -moz-transform: scale(1.01); + -ms-transform: scale(1.01); + transition: all 0.5s ease-out; +} + +div.ilc_va_iheada_EmphasisedAccordIHeadActive:hover +{ + background-color: #3d506b; + background-image: url("@{image_path}collapse_white.svg"); + background-repeat: no-repeat; + background-position: right center; + cursor: pointer; + transition: all 0.5s ease-out; +} + +div.ilc_va_iheada_LightAccordIHeadActive +{ + background-image: url("@{image_path}collapse.svg"); + background-repeat: no-repeat; + border-radius: 0px; + transition: all 0.5s ease-out; + font-size: 1.5em; + color: #4C6586; + padding: 10px; + border-bottom-style: solid; + background-position: right center; + border-top-width: 0px; + border-right-width: 0px; + border-bottom-width: 2px; + border-left-width: 0px; + border-top-style: none; + border-right-style: none; + border-left-style: none; + background-color: #FFFFFF; + border-color: #FFFFFF; +} + +div.ilc_va_iheada_LightAccordIHeadActive:hover +{ + background-position: right center; + background-color: #FFFFFF; + cursor: pointer; + border-width: 0px; + border-top-width: 0px; + border-right-width: 0px; + border-bottom-width: 2px; + border-left-width: 0px; + border-style: none; + border-top-style: none; + border-right-style: none; + border-bottom-style: solid; + border-left-style: none; + border-color: #FFFFFF; + transition: all 0.5s ease-out; } diff --git a/components/ILIAS/COPage/css/content.less b/components/ILIAS/COPage/css/content.less index 32c1f7ee8696..c78b7bd65b5c 100755 --- a/components/ILIAS/COPage/css/content.less +++ b/components/ILIAS/COPage/css/content.less @@ -1147,6 +1147,12 @@ input.ilc_qsubmit_Submit background-color: #4C6586; } +input.ilc_qsubmit_Submit:hover +{ + cursor: pointer; + background-color: #314157; +} + input.ilc_qinput_TextInput { padding-left: 4px; diff --git a/components/ILIAS/Style/Content/classes/class.ilObjStyleSheet.php b/components/ILIAS/Style/Content/classes/class.ilObjStyleSheet.php index 15134d5fd6d6..e61037fe0578 100755 --- a/components/ILIAS/Style/Content/classes/class.ilObjStyleSheet.php +++ b/components/ILIAS/Style/Content/classes/class.ilObjStyleSheet.php @@ -373,7 +373,8 @@ class ilObjStyleSheet extends ilObject "a" => ["hover"], "div" => ["hover", "before"], "img" => ["hover"], - "li" => ["before"] + "li" => ["before"], + "input" => ["hover"], ]; // core styles these styles MUST exists -> see also basic_style/style.xml diff --git a/vendor/ilias/Style/basic_style/style.zip b/vendor/ilias/Style/basic_style/style.zip old mode 100755 new mode 100644 index a08ac7a46369087ab14266dc26ee828485776c0f..ee86d56552ccd77f285d87cb0a869db3dd4abb34 GIT binary patch delta 22382 zcmb811z1&EyS70}KtQ@1q(Qp7k?uyiyK~VE(%mZ3-QChDAuZh{o&QqzcQ)+(o$Kc; z9CGQJ>z>d1j+o<_YmN~y4c1fu1~2;#3>*gJ*9+89LNgj3`y~T&nCY()O^*rp>;EG7 z%dpadWXb`afq$rvmndk4!{^xVQexv`l&x%Wm^DF#|AoSk}xc@sr z;kT%NDv|i_9OC~U$KKFE=j}gLVFG@&izBnjkr{RnkWgO;5Sr(43|(xj?Hp)bEG?es z`$uEiPj|PUW2ro94V{(F6gQ^SI3bl%XEny@w&Ic+XE~3}cmOcHhJI&3?n_9aiTD&RDVT|eZm?< zh`#)haYjI^*8m{1{<`qN=(u!AI+W1^*Rq^=x{~Uwz%y^CA4Ckh#t59(9{aj(mZM<77b3PpE?fw|# z!51FkA_!wA9k%dx^R66l2nTJyh<=lU`IDaI)reLm^@fnibuUMIZ6VciQPxCc(iKz? z)NR1q2iJSRMrk<{t!hIJM+!@3?Flj5l=5sL@giMmByA2+Zt3t<474~J-o7#~esi{K zlyJVuMd8PV>dfH|6`VVh#0O7Br+sfyh>%P8lL8herRmKojPtG&7i7au9&4qmi?M^A zF9SM94=NGy%x=Azibo5DX1A_qolU4=Ml@b**L=BvQzeXbgRU<$$*2}=q~DXQ5kwo; z--%|5aeXXx;ViK3|3I6WZ!Y|nP;Js5^g;UUP-i~(REaN;U*4cer&~sJ<&I>z(JT&K z?#PUffn~syi+ri#cx7yk{8OnLkhCNUFd!V_F<3zlv;J_Ogql55GoVA;LYFGbymwDP z1RDxq#D9Bf!KfE^2pU13O~RzxM6(2j?ib*|wxY3YjQSD)c6u%=lT>v0e6SPkNlTdg)V7+pFH zHQEAaP~+r?;y1H^*t}(4SNchCdF>h9yEiQ0%ZjmPtNTk|p1mv>CkICK{Q@jTmO5v&ZX$fbJC}l#n))-NZF6+?u4d6RUT&DKny{oqZ z;Gs&)-PFD2lsD zQ!4YJQWN;b>oBH6yxp=YhfP&itN$X*35Ji9SIyAyW%Sg1?bUOUt)6I!gS4 z^5t1h{ri0McN?(cC+44Z0bBq?tDmNbWs;M(vDEtCA(|;5Z@HPgi+k)*A}(x0Ud*4F zh}%l*AFbMoo93mceYvehgyu=)q;miSn}c;NVS?cnUXrFn0^8e=$$=jV`pbf>v5I|b za#pxioVu-hB+_k3!A^9Fv$J zxm!4{$KkE6-10FDU8Vm!V5iE9^66{dR0)I)i#UZ|J7TJ>w}Zj`_UFed zYjA)wW}m%9^j8Wgd3t2*el|$}*O9iKL38hm^};exhp%5InNBj7rQ(NPR(QN75l^lc zhOkTPTvDNVDH{&)Af@ij15#tuMvrHaupWh~ssWDj(H4&neXi%+odMo;+xbkxC<#N` zc#q@4iv-dlCE+5OYm<#M`e8sI4Na-@2YWA+axmxN#J7i#GqS!roppR;fcOi}*5oX5 zhmdx*ZefuDPE5=&?y?6Mx7ZZbm84Hc#)-*mYi~%!U*Zd4wlZvj;Q2Bdzb%PYOOP97 zx2ECuP+fOI$=KS5ur9&tardqV@fpqz-&2>S9NoNhZ3`qE0)yz1c;SXXpg2ZNg@R5E z0dL3txn4q$D*_3r^8*bM1|W00n3C(>`5tMY1BVS1`|cx03;vy;A5nuZ4`do&HA%wD zBXs|fXzltfgLT^rTMUsE!%_OyH~v&|r)0O>y3?ALzRfh-;#|FVU&xM#GLu2G3*P-O z-GwR>41N{y0cOkD3=V|4KD;7-=`|Uv5L*Jb72xf_38u+{G^|a6CIeuJY%IC=rTB|d zOz*}x$p~~X*+IT95|hMDGFx$^a?3PrqLlJfZgaP;zD$tpBE5W3;{?8zvnZ1gp2CuB zM{_q<7N1(0AsQA61Pkm(1Mp#N-@dQovyp3tV(EOFRo-vTy-deXyP^jHQtuyz3bOWs zRv83}2aFo6^1@sfwQCo^Tn>T=5y>Yig)L6Y5VNLP`B9vnuj3ev0jimzs@qD35%Rmp z+Zz1KF_c zBEg4Hz*y3+d60}J;tV}LoTPSuWfowrlwyJbWL<=T7ZCE;Lr74-s)*bbqzs~T?zaD$ zoV1|Md!kkEv@4KoTA_09_gSnIU|kzcCpeqwy+nHmeIx{w)0a2`YRWNhDC<*l8ZP3eMy~C-E1Or&hLy@0*VXJQRH7C!kqN97 z4L_k3I`51e1spS)_wLHzTa|6w$WG<)oa~QXp`ALq0HA(!Sz+e6sZoj46b-JYrQv0O z(Hk#6oBcObZ-o|AchL8=t?k?0IOC?PDh^2}m{UV#ovZ`xM9#;DyV&;yk+gY!(oTUa- zdl_I9N_g&$cvx+bICVs%#LLu`G>L%8VrE+eW;L=Hzz6#M6s&k{!NegBBVaW=*e?-1 z^~*iBaR1#8mf_vaGe+S!2dw}V)=}O zZ!x0S&02oHQ#R0fJh7tR!zM!QX0d{!L=A!etno;uz!C$-G&YPB23cBf5+u}H$>lvD zfjxB2o+w91#Em3pO-Ur1xKDpYEU?kAU~%!_YBhxz*fHP)sCPQzL+y2u)Aklbm*B6g==Mb4_XNze%Rs}< z_N{7P9is5t%kk^Ufq>LBHun*jS4V;Q@6Kp-`*$~$=q#e@&8~gZUKrV_-E7-V9CK(2 zyq2rFI_O{fuIMGFh`On^XMv<(J&n5CCUPY@ zxMg2C9cZ-r!atJC8SbkNq)aYJet$X8Q*f+eH0GH$bO~3W-qpg+E|pdj#Negiwo`6Z zgL_jbJ;`X;tvEmDq9Odc;o7Sp5}-=j5`Hxi=q*pi%yhe1!o3>}X}UiRMt=n*mUX1g ziAU6_-fNXtvOVZ&bhaSAU|~>hg6>q+-`*Wy{v$c^08jQp@@DV=hy0Lnub=M=^@jrI zN#~N;YEqKH5>dFaa&(T|;CCc)6`nI5pY==7JRv2DrV6l+UX17O24wiEB>+YYM8A3k zHE4>gs@34h-ev?Ms!6ZgQ{rjJI?CoMk#{L_p^S%@1T^BH6Xnj(G#@$pO+#4=C9}1|Zxp9g?)Q0*v!EFkoMD^db9Pb@z*w?C zyitdsbxo!TQlb!BrFFoYnLt<$Wx(#bVeefOSy@PJ`TQ|vgSfm%rfcmKadaCeRV4MEHA}*}* z2IU~%036Yi{oSH0g?#{;6DDImSIN?g*PN8s^9}eG+Fa7Qc?t3y@2-9gsR{B|`US7Q@#RhXP4Q@_X&S`A8>zh+ zxiz&du6f1nd1ZvlNwrlL{1IG&2%qA-vBLA**4$T==yP^Ci}nb>Oabgt-b&Jfv03I^ zT01RG?-P3awEPA|W6ai@_ukmsiAS0j7{_jbRf8czk`_}MakJyIU3aT`)*llH}#0PQy7LznE6`? zd~558QaEk$ITIa9x|UG1xQ+FfdwPsSZPgNtENBO}Q3jcJote|#SFxWfPqi)b$y2UF z3R=B2e{Q*rm>zZq_)#|c%uy#$tq>U}iNqw?jn-PzsTMe@0UArE$91&Yj#XG+5hvy0 z5S&#I5a_=&+W^xS?g)L;4Zg;{NtZ1_z?i=t`3k$zRE}2s^_!x(lY=Z;bmV43<~7FS zh*KsBvD*y0RFzl=IV-Tq6}J~GO=%~hpu*fTrmy>CKFA8c{f<&n9!7x%UnI>w_G7%X zFp`WFLT@C(Jq1AVlMv}hQen5#J>fmxVgy@t_tuWz1k9pcp~AB+gy)Q@u!>*CyoW{Er z``Kw;Zz(f)LZ`5e7wF9M)LY+9A_>c)Cfp@K-qBe>Gbu6%pxhe9OA$=K-k?^k&al7v^+lpLJyBEOIs$#*Xd^* z_(@cp1?8UnXq9lCmE=gJUNElaL5>sG5}gqE>Dw&&I6X`_pLjC=bsWB)J+I9XXT6Ix zjeBBN1goO}&o+%ZX8_s5av9AB)c9&Jd9+C|4!(2}b)-PKjGi^+gojTJE1R5I9HNWb z02=$kAQwtUy+aTtts8FVo(f6q+^Gka}bZh)l{ zuNyz*58vcn(bTKTuqf+RsMAMQBIsMU4yfe!wu0aN&SZ!=eP}4>8^PGsj=d~ZZ*NCj zb*Z)(NRYlt(mI8rRo+K;7BHCk13jzq8YERAHgZygd$0~Q(@3+m*NSsQ8}EL30%yZ* z#V}4vX`4qjpcxNcfYeGD5*=HS>!u8XIw9ByTN#Ich(ms9#0I-;WyW{E3ogZ$8L+&f zUY1a1(iKTcht{VbvYY=xsdDKdh29W}%hIUqzWrh};`|K{`6SbM8?;jCzGvU4^qNtb z35y}8CbfG7E)D#dz(}Z+eN|4kE;7zfHOiDP&DfjUR%s>CEg8q(lPzK~4;ni&y*Sto zKt~W4E(Hj3Q&DG47cwCBZhD%$$N_he)`HIQ0z=zLlBh!l$)WwDF>Hh?-tu!628U{N zN!O^2gnpB7jub<@eEr)6^OFlXSh`a8kRd6#78ci3e`iQL)1;9`bP34CRnN+? z&1XfBJ+}-RkFqiy?AYL`C!A1pv&WfhV2;gEt1(g}DO83FbsK95^FPc_GGwq*+$e&h zz+#kv4IB7r5D+SSqS~H=$fI19(T|_FMUi?#e43jjF4lPhcQ;&_$zmPV7M3^5Hf1EK z-uHtgeUv0oYa$J`XbkbZlN1nBLG&#*>N<#(si6tNOR;tMD#WPXzJxk?2Ru?ixy&~r znYxbAXk0VnEbe_mfhF1->NYUA%Mbf{vM@41F22_)Cj*g|F~O z)_hAf3#Z6#VOwg28MZvOL5HE>8k3V6L$L)$#Ouh=wLvxGVj^sXFhDF74%Uy|{&9iU zLo7C1|5oxsO_aX0<9GBI6Zx${>a zP*-&-nzJE7Rx}ZpOB*5YDlR;6QTmnA)qoS>AXUE=uNXJ73JQhufYNo$xVQoM;QsHS zfwG#Y_A~nYx>hK5Y5+Y-%6b##>=b1xvG#8^rc7B4ZScQlA6=|<=dQ{85!Q^V0WjnX zsUE`B^_T7y&L=BtC;CY7V;(mI_?ybxn!c!+t!V>_?4#6u@$AKQ-g>BQI@~+- znONz@LCr(z30Ya@Ar9nl-D&r#L&~hXIyvc@C!1IOJ8qlb%~db_xJqpoAW#ivuOJ=q z?J;aXa&0AP3;?#nr15#dE*dQ#f9@Gtx(9L%hv8jn$Svpg9eC_hn15XOt}+wYSXo*( z|gk%~4q7sykQ8H)fN4sR;Vq+W@MpRLHFSEJERIc0uz2#XTID z={F2|qOh=d^l~5wm(Gfafzx#${iSo@Iyx*Yh-#<$I`t2!LJ$wz8GXk3_@e-1 z(IXunE;^90IY`;m6XKGTOl;6qP;7zOA2=aYA^Q%Spb%wuhKw?{5&h1^$`z%b)S36* zGfFS2NB}OV@J7W)V2Or_UfDvVT&|9H?8NnNrC?ilxr39RL%chb;ABD+){ib?r7kTi z)=NCY3H8^!8lvGM>0hXCW&aw@m&jP}_>G9&-aV;U;Ik~9rQePc^83+pokT7jbI%WN zy*X!4U9zx)-=fSn+-bJd$-T#}VU7c9DSrDCd+8n^Lgz4Z=H||@I?JK4T2Yiynm0?5 zcI3($OJ4M|K%QboZB_|pT)G(TssbTr=a`Ly=p#kE^tC^YPUjM=eUds^6t(`eU^$-C zNg@4ghHS`Bw;f8MQRK;J8E#S%u^sh-FJ}S;C8=J@tyNV;DKP#n_Gzratt&N|p!heu zt`m>|YKl4}%GOVL2!gSN`=EfVrKVXVn@RUe4V!FptKoqQ<_~JPmdGE(u^W=Skp}{q zBpR^#sBu*Z{IL;@Uf4ALbnUJO$CX3!F!hX9W_&h z?ShR~Kd^WcU%wxRscvJj{ZcHI>{|G6eRO(?a$TeBze^~BDbD8A1GT;1Ouge9uE+7p z1n`Pf#gh2F=RIk7*AzAe+dR3raW_Y~*e8{{DJ9s#tF=~YJOofB3o;La=|j9`{k}`> z5Ph-UGnnQJ_vF_JF_z-HE;`?gMVOeqQIblagPH;r7ZyYVx9yU9jim#GTqFI)mFQ0} z$0zlFFc$VFL5uTbYoih=*rxambt#>=B>|ETt4crvTYm0n(q-(omnJG+;GiAS*Jv{f zF?YaO>E6JGNnzLc3hRGW8*_8(sr|u@Gs6+8WLz~EirA*}BT)d; zi-p9(bkh6hB-s>KU)@I|xy6G*%w@)bABuJOly^>onU}u5(VkI-m{;YbqK#wCmRPCv z4&!#O+vsz``noG$e$4dE`&GOvm0kZ=@5q?)Phnf3a1sPo;X!KPS?;#JihC6|Djg6s zv_@T3-oDTxp(oKLp?x*UXFlC(!FB`qP@PLBjb&-{nP86TveFm+i}ywecELjEz6Ub! zD_B$#ij+3q6Sl_iBf~2wT)K1JmR@r1dhz-K-2%B18B^4X-A{PtBuB0Yxw0yC+|4_9 z4RyDQtsUmwcfB8Z-rGu!do=3Ob=PLDTJ;@bSp~k-LU!$`u9TJ%6!f=JKbVCB;9vJU zqwfE{37fGSojp+3PL1rmnpWb*gRY}mZaFVQ=1xW@EzNxhnt*~ChP!#o`r;iDk`7TP z&2SBBxQcMJ_Gpfg*{fva_&CP^u&-Dkz`= zlW_GeF@jiTCPzcNI<7jP1-ftnZ&L89a-iYHu=9C)XO!GZ1t9oD4hsNxgzeVaKM+-* zn9#55uG^J%Zp0o?X+RYh2$9U*aS|HJaaU7|d0kwqNqKmA_Zv^9Pv3%(yj8TXanhMH zkaCffxkEbNEwWV=C!Vjc*2Of?Zzk8W%@%aECG0hA=N&iAcd1J@hiXI4sFQa~?Kb*I z-DgcdU>~z^Z~K|1+`br)(l+AW>^KX&itP1krmP*K?a`y>>G6rpvsFnYk)_+^bmDGV zYL3D&(U=_6M7Yw1Vg#p+9H@owz^bEAFCQL)5iaDY1~k8_DN;VRDRir#!`1mdWc3x- zf~V<5mha+IRz>6W5Z{Hjx0NGD+jPmej{iolY=kxW&WtbKsM{;R-J0{yxcX8Mli}$7 z%d^cc%Pk*~RFEoK8=8Alx&vzSH#`}-cG|CPlc<`VI;7wkSwAu@)Mmq07#jMv^aEhhxuOxi6_d`$#qQ-@_K!pU_ z}Ifio? zPDaL6xnZ=TISRwDFD_rA*?$l(bj^MYNC_!7$uyE@;z+_ojW}QqhUsKBBryxZL`f9v z9Sjp$9nDr(NjOJzp@O4I;_YIE7=Xr0^fD9?&DBo!i8fI&lBMpCPe%D*)g3cHo?0W+ zTH&h%qYM942oSec3nF*KP)NU}wD z=q^bI3}%F9lR#s92jT+vSJuy+)vz`cc*>`}aR^jKBmkITR4O#mE*P{3q7&K`e1dMt z7TxS|K?_;id_tBkld34rnc}!87hvT%y#5N`_Stu)jd+63A}X4kfF)1$6aibAX(xz* zorZR@(?8_hzU)K}7w~I?T6vC&6T}t@9QftBI5=cB2H{TsFrmJ;x_WYNCDTme!Y-iG zD@b5Q3jydxvY+cdvqDG-U?o^@-Mnm$Urry!UrF6^^!-ZeF|^g&Rf>rb0>a{_hu99x zzrf|1NZj)4&zQ5ix3n&`ubK<-R#H{%fX5~b0*{RW9;?a#JocTDymhxcjwRdopDV!o zY|N&~F}xq{<1I(-(mTVYr)>uc1mp<4_UQp-6_D-0-GmJ9;}?$?Os}9Yi;EAna%@~j zN@g>6&!(G2C%3F)x;B5vOjFg1^Q;`_vx`fF57P4Hs>c9v zGq@sM?4R+fg{dS&f}fc3`y^4uy;v?TZb$uZe-s?o#|Hg2&2BnUadZdTJyl~if`Keb zlU8O@0!H^itkexn`)0Wu#fjk;nT=H$jW76F#_<@^tu z&xC}}Ik3w5AGVpx2G;)dz@Dl;v6Fotw+zvKkLg5BJWpNlM3mZ)NL!fr~wY(u$ zv=1Y}x5TkJ$v5R#{gS}PEb6L=G!gn1Px5iXwj~8WuNWzOvZc)6K*0imKLPyb76zuL zF>f=)!$1%5NzsM=RrSQ--I4y6Y1d)E5^qs+-G$&sJa@LquQU3`K2{Gg%tI2 z+IpOOo`;<0+tiUa&0oazrZwuEeotYr_OC3MB4Ex;g|$PpV6(4DGkIaa^CiNrX~H_r z)q>s3;x@AJ>S<~K*)8Ztn1OEE{>s^=hO3cp-%{IEK^?eReKdAYv&<#z0*&OHZ5wADerkohO^A`*6ZJHfx~(tMQ4uG*m6KyQ z088%INc*;oHnSm!UBxgLT%tO~{i)83rd#K%>t%$7ApJ@$Kv7&=ocvR)z`O6U)~2#m zamB&FZ|N*8piec0oEcLTzK?4gS=)4Zod!f)4%YJrf_=kMFI;nkos=D{_>PHL%`$}~ z*vYJ<3|Oj+=Y0KD=GQ|rSyZdRdt2i%SQBHPNf}N)z8lbP%XLxL`^a8iz1D57XWpEh z%|vH$!D3-n3m|2Mi5QGQjm9+<4<8>aGY~aaQnwq3K=^=uy8C(dd&+Ie&}H=OdzM?1 zVtQvA?k3dcR>WV`R_JY=?6K+~yWeiUiLFS8s!Q0R1_0&re8f zt0Kr|I8LjdQ@K!YIa!BW2gRoJ21YXQv)7Fg4n2sbzXBHU#fI>2;M<%ejAcrg0N2e! zgU~ahuq|EjN(w0hd;kuR+B@SVgrp+;pzRNvZJl^nncMm!_n$8HSwIT$Oun>F2rzE; z)s0=eFpJH#43rG(fE&Wb@=9;M5+AbX)w+0N;Q=Xe!*t5ByDl@!Cb6o4Vu50*_*I$0 zI+hCQ4g`QUf~D$N;~mHV&6IDaN#8;F=@7JlqKGAt0V|fM;bc%#y{x8!q!^pKB1aYN z$fd}Dk%|cR`>U|wU44-rUF;NgIn%+qUC)5ANe(B)*X5Ll+ms!ZiOq1EQw%c5!OVM+ zr47FFbJ?CyTA0Q|%38^HxXEXSo=}SLlJPGpf~){-RN7zk*+>TKT|%jW9fb8RsVw9} zJtlRE=t|9?Ih39d&o6S6%m2GOd#D zQ{(`XskS5(MspJ`m}H2G03s);3KEH)c-r$0MyUORbR&u8t~Mac8?C$THIwsDLdy2#EkD&Xi6`Q>oKt=_G+fu#|C#m-_d@w zm@ScoKsOS4lZ(uXMKuwFRr_VG1i36py@VK0;y_~~o#0Q>n9hj~-)u)aa|XuqxjPa& zdU2(y{G*(fv{f%tJbGETBS;xX)1~QV=j?c=E4o{FXlOKkNTi(|@?eGLUgzbsz3?pB z?sy7%w4v!xcuzqUK@UwX&XH|Dg#r`-vZ5se!O&oExae*(cEk^t1e?*CBn7H6ns_BZ z3AeYLrrH@OQivhzVx9#&x`B{U5G)JUz^YakFJEY~u$3f9<(v=3*qT$8)%1K%Q6ZZX zh=@{mE^L$uB}?9AkvX=R(0O$yPh?MrSLP_iyBv^KS5MZ4OEvV5vuMo|Kt)rg?R%OE zUA1)-UwGQ`e3LmrLS7g(cZ{j38tDN%V7??{MmLype;y-G#ovxI$UH98K{eKhqkE?= zRFFtYk0ocY*1fl7@BKATH{~dLEAfq_M?*pgMs%)Wy^edK@n`d@O$bER><(v=*xW=) z^Zt#oR)(=}OWPL+jM1@P@yg#c@rOlm*LHAiG@-YF{`B>O+uOFYuEMHj4v1S6D#iV5@;f6x&;@}h#PNcX?imx z%P_I_JEiR1vm7JhSMc@{R&gy!et0$uBljgVw574p6MG?i0bxDg4NxgVM{sI8L=0jZ zg}~j-lUOO#eXPyqWQkJ%-{DbRMI_KV3UMdqup|3uQUy(;q&G@<;6vSTHn04;*78h3d1lD;X zyTfbO&uYaXfNwebkd4KK8_u5sAET;^)rmmt+=b`s_WQ)on&(CU_((y@070WWFwGVC z;M!5rbve0yNj>oSMysDFT(IQBJlp)MxuaK?YJ}c?}+9Gkj>*h*gJmJ9}zAth(*2k*Pf~uRY_L0Jij^q-Pex zSQ$>s%wDkNp`TNlfEPC}Nr{)qezJvMSh!aQD|eKMAUX=B__yISwu4hA_@D5k?E4kT zL^GO8s5X+hrGQ!Jj8h+~yWGUuO4h?*^5YUZNWJul(Ve1UibG3hYsO=mBVx{=3_eHX zkHek_K3FV2K?TMqI4zd6l6}*X{dgmwZz18 z{dNbf=}Z~#tqIv@t1i&#iOZ#VFE|E{_)MgciDifDMc=}ao&l=q>4M8h#4thY&01Ol zKHbLnH!uS4H(x~GyyOJcNJ_zF&X}R$)Ru!;Yw`Q(efVSNGPmBroh9)-FM+@Fh*{7J zY~iRJ+yV}O=qlSBSF8x=ErPX%gX`R6k$K46YY2{zkGA8eC>7P=XxM@z2b89jp$2De z26(0%%;G~sPV0F{7MD9LC{iqRG>f5(MQpK|EUMCs#@ry)Y?DC1xK5kwPp9^jR zU2^rE&@e~i@jm9}Rw0Z^M{}!kWTh%-n52DO>MI5|{Od{pFIUGNWI z5}y%Z<;mTQzuMc<%A;IGaRm>8!FI>^dXHO>~ ztFgdq0IQ9e5WE~RCC5k>G)B4ppnv2ye6x-oWDV8m7VUym8piy?wz>Sk*&`~{aj((~ zZnG0KHC>hkpP94wejmO;>-t4bNtXMF7L3eheVn$iPJ@-gc2uwhhCs^ zYSs_`1->6j_r0=I{uNS9VC{_GfWml;goW#0%5<*le}didw5651~tFzOOML=ED|T9MvwbIvpim zMwtH~!HnpBukWi(C9A4rt|+p`GFOg2LbmLyo$#hhgcgSoET%xfMX~P%D&#%72MK ztr_Q`oqbaib66&2NxD>zYe@>QEw=m&{IcEFw@?~EJfVD7m!j?)RB%hDG1F(E8doxl zD=ZPKAzXqVD-%;VXEC@+QY$xkkl_| z@-B|E*aoYt z{qgW>>Nygx=55T8Vtj*J#Ho>x03MAd)PoaCl;i`A@FsSmaH-e&OHh!l)Qe+u3^93( zL*2GtYVDJp$@@$bhp^xtRvkMwikXWu)wKpyv9e!Y%y%cut}F8(t<}?wT=#>&SflAD zT-gPU5As|5L;@YO-gQA6p2N>e0Gnqr3f6F1A>eS0p`kkmcR_gK8FQ&24A7yz=rLYs zUPQPbfig6%vQ#E#UJ0BfP{i(qYYCAL_G=2U3ii8gso{5M)|L3KFOM$#8b~SQF z!c%A*dq&g9>hg1gLmz`0jv`)E63_18>2-vYL}^2oREglt&()efxl|t0Y^Lh%1hl?y zG{khW63T{|%P`$0<6y-xbbxC~8H^aN??jCuV~GqDp;_oyyNTY&-E8I7sC=SdYj#DJl5m1d|!XG`lA+nGOuorkC6O<-d(!e_62 zDhK=rJ{&H{0H*MjlZ-S62v8xieRX-%aUyb8F9Cy)%Xh5dm5@mLY{X*k~nfW zp#<3a+|-NwJoSj}BYNQFAIbtzejde`V%5I?pzODTJO689JhcZHg;ekA#6h*h)MKVt z{4pt5MKe&}atWR-Km~^|*KWtAT0*(egY8|_f)!hPT%DJ~B*Hzz3EF0G9V5d=C5lf~CE0#XlC2Z^p~AQPHH9q_?i#Q-%dbk(G{+98!>X-` z3>6xQ`uJ4FOO?)jbZO?=Z=-2`a9_ zLyi|8ep2Pp#kz2?8y+*VaIliyNVWU!VdtPnqAJN6cfe;IAERX6E7RGK_B^zDyJlRr zg*zRcgz8{6Wh#TFrp#7kTwL^4aWplDLm&S{CR7k`Ihvh1eg?SlANYPiIc=uzmlU(N ziAeS4%!$*%h6=y_R=Ws+c5x$SSxhWJ-bE{#)3p57kV5sq|3gF@Rzjtrmc`KLy_K&L zfyK9qAseoY5)|}_gG$63fm8BU)ZOP+cS|lwZ$xHUGWbo`w0dCGh*f^-a%mHH(-vB- zc`OA0Mu!`3r$U`xn39au+7WkZch*RJ8}}N?OKdSzJEhBXqUv8!QIaBkSd6v1{*=Z; z@kOS8TZDDH)m>hTzpx}0N=YjqE%x1Vh`h7s&1ipNO*G~H*}h+4X`oU6*>o*JN!w0p z{^q%zT#=Yxyd`sSI0=f3E$@2)^=Gt%{b1(ZGhbZ(%<%9N!#Dpv!hUn z0!&&R?scxx);A5zq|4@=@c8<+3t6`K^4E&2gb_$Y9Euf9+0C(0f}Q#&)2b~&1vpV> zJ7>?YnZZvoan(#E+zoH`Be$3_&mmJyZM&ySRA=0-mBvcc2d@<%X@7Gfr3_s9LS4p{R*5_Kx zt`0DJPOQzH^fzE~IWgjE6`5*4wm#tL6qu&ws@76*U!IqzUPUqNw~R@iU&zGydX;7PPYJF{_b=c>aIbgKyx`0?>2$e z!^B6Nvt12J6>${}m{0FegYGiTQaaA}<0%S*L=4Z;#nx^d5_iO9JjWF>Prs3IPcnY4 zfNpf7lcsibb-NFZCSBKU$?q~$O zX>`AcUgsrfaqT?Iu~$FBuPZtF*%wjAY1`v&ypLXb&-y#KQhm-^XjR)tLMbm$*1 zf_?F8bu_ZZe_vC}^nc_U*#C?Fd+{~PuSK?pMzgf9fvc>GfJNq6;8^}#yx3hXl;7*P zhuFeQE1|e4K!3yVNp0Vb@*ofT|jSp*~X?e=c%tiP$4$-D0dSeuv2=;bg`J43iTGd}hvmg~|I3 z?nxaey_5SB>AN3}T|7XZ1d#Xa`UHxbhl)LreD!yPH^}qiC@t*|Yj{>Ff0%6Y#GkY29-_l}D4Yz;S#_P1bzFZ)17FeDO1l9(} z?32zKTWHk!8>jx-b-N#kLImo2W?%hPxrN4mk4mvU#;dHj1S@$iLz9S}qV?5Et%tAY1s1b>5q&Bp$K+)Po-%Yluo8RGe>7ExkT zEgq>Vx9I;fa$L&6nQ#GB{TkYynf>yyUqjoI>{ouXR{A5(lJ1_2lMy)d0?RX7F6IK> zlV0F$tH}5}{fO%X*8_i5<^N&)$Xj?ie$ahh`;EJ%LQbavhB^-{($A{^{#^RME5I#R z_rrGeMdWcNBbwE(eSS+ zNN|40A8vPHPqiAbuLB^TuW{*rH2!8;725qZUYaz%;Q;Cr0Jhv`wh{PJ;@^q;4Pq}< z_|w?TW@u}AfQjP<1}yTt8pvLL^Pj~1V#V&3Fa54ePuV^zHy~#Gm#*ibE-Og?)+>HZFw?5PkWV-Dd7SBr=OG_&@$(-zuoC`M ztlKCS`!UzEqyahqu|dk6*kd9U|Fej{e3|h0>!;MmE{gZBBm-M0u*(UF zJc|l+F32W^`sRiPf4cfV6Y=;2LQhU`C;H42{4#B?|CQmVmhEvq8pWRl{$t=?{R{lm zzC8xZOFj$y$ISgB(N9g>V=B1xv#5XOJ-;j+^uHuOHFS^RtuoJo|1lV-Pus>*Tlbi% zDE}<#uNFrp2lp?zPc7bKu!+jEzy!*8|AIcXdyk>oYR`iHF@H!;bMVylJ*N7oKZ{DC zhVw6}PaWW6XubBcpnv(n*yd^Ir*faVz{lj<_s=2|&JaH(KJ|i+iFbO>A_AQu+Orx{wudn4dP>Hi_x>7K)d+A=zVGxAERHIJP-ZbIR0Z`c`Qw+f2g#E5%Q(>O$N2Tsbv~v-=RJ$cpG*6%x_atBA46O6p9RfcBzqeCQy==6$XxhLB1$al62epJ zQy2P}ieLOZ>e4@St~~LgkBR4H&mzK?68tNjPkrfQXhG$(pxMiR8>!!|^Qk?3OgyT3 z7V)xz=wC9QTGhwUjhbgc{}@;Je}SLc*2iG|hG&8Qm{^2=fuEY!$Kd^@XMul>De}8W f6u(^RKXxybeFp*gtHaX(e{#`4K)hRi{p`byU{d*6(RVx*J4Vx}`xHY3c6n?gv4-yOEOamhNt(Q@T^S?xUW)x9)R}zW?m^ zj&Uzz{J;pO5!@ zL+YS6i7iMhzMbuh3i)t*q#=mt>Uxa7beXoSAR!%}+ zEFU^3i)oY$R`i&;)eZ_Zxzo))?6FRycP`Dhb{S8J$&HltabPV5QV0_!j_F)k zBbSLdp(n2cu=`?nzWcLNo9Q)T$;qJ;;0*FFL2S*0Rlf@J#}^_99zKYjy^Fa4-5Ud2 zM-x2*J30k<7!dHvimBG(#)?E$-3Qa8`e*?XwxI)UV9{Lz3II*-l!Lpnb3Ad*#a z_6yxa=ee1<&K3UwU8nLH?wj}XCJP^PR0zt~FA3eG8+aX!QOfAWyIUS#QqekT-d*vQ zhI`J;Ui*+S6GOstW;G1YHdL;i4L?e)wN&P%&khgo5xXWg<1FM*Q*juHX-2#xg9L1< zT-}D>B^I{aNMisVAJ(!d#+4cx7+^)YbX>}DyO8^|h97UrnM8x~>Td6Q8tZP$?Fb~c zW85{XPJN9@t(>A->W8v6DlIK7)0Xym4Q8F4O6Ly_9*%CECZV04pOlh=YPbj0Ivl*& z;JsnaZrEaO2m?zxQY2}(3vGbzAb3e7&K(wgDr!X(6Mrsut;q3mU+aqLK`^;~`+d}6nB>Tz=CqJ-;eB2|VJ zKl|BTIsv%!s~`310KyXdkb+^3wo<5a-1T`qiK;wTunj^ zK_LmP_h*3soG5CpxnfTq*Vkvyg5}0Wr$rjfcvF2#A@|2HI!1jxQ(fiOB_Yu!kHBXkBmVGs84b3B7pROSJ>ti*CG9k|tF1lE&xswcGK&8_5P zqSKHeNG0z|p+`A|gt8*bVR49bKX!w>Ck>+}!`2V68T8xd2pDj9MtV(b=pt3oz*~BI z$NAKwOP-H8xGxpi_fdz;*QaOnZ<!u z2NeKjm=g&uu@`$wQY0LF4=##3wvl<9m*YlK08d3gp-j35581n}`~<||s3>1bKAyoG z;-oR8db>|JtKd|;Ptpu>v|X6i2AaHhpS_9l$S8QzdU=Kk%J$w585@eE7>$D6*I62H zf^kf3>f{Ew>QlOiyz!1MPO~;RV4E37TK54!Xa)bg;Bx%}X@VkkA||HXC?ZjgQSo}2 z7iFft$@s=PCcm=hYXB$={kM&nR(b{><3%Zhqwi zpx141gI(LU-W4+eiS&dYp2t2tQ-&@DHtwd}yhJo=nIiOl?K;?NUOL#zpx^?rBE$gm zOU?G#s`s@6s5^pL1w?EBhaZl|u5;D`UJ6 z@En-BvJNqjw&}0fCj2ZLm~l3!iyHn2(HzoUE!UR1=iAKsNDbo-ecW)r1xaam?UuAP z%7O?ln17>?lZHugZO$AjuXcHTC)9c{?ZVsY##6FcUn8F0y-(=M|Mtkz)$c>#E`UM6 zL{dWRX8P1(DYKDWh(0ii0V+mCUC>1078L`MhwiL``(^ifirzD<$kINpMj@oE9g?W^YyuLV-b6~I?H`=AvAUVoWD zYg@PxwS{&?^nh?#VB=nqe@q!y|3I522ouQtLYdiHt&BO8?X`C;+Jp}7b z>23<(ixv*r7|WIH%98?va{Xg%fUGk~Lg->*=n z)i;`;%OB0h6@phT2OF!P0;`#|1(9pDcl0I?1i(Md*BUiIk?bnPP)FLnx6i~!KX8g| zE+qZhI!>MOXlpF7ms}DLupW0Y!*8!|$o1kBI(x;dA z=Pqv1y`?456Dr%{2Hk$ns0abAiAt?l^|+@K+j-ies2?7JU%-@nU zD=@~EdOmw|yU9fO6MGMeq${KN|f_C%4^ohO>-mof|l7DP%VlxuY6da3+J{|F? zAt}ma%r17JY$j-A*#HoES8;2cobw&Ph%x4O(9O3==k(}8L!d(f-e-=iNPV1 zeVdol{X`}dIoPAKGY%;x9)1H>;?Ct5%7kR~OyK0)iw2BI69$lqjveT5FuNCA>TeZ8s8`ABL>bQ*kE!!6>ZSi3-;nZ!}zm1}D^wcqPSZt~T=x2pC6jFArl z(`nIbm~L)#1O?pDd4smZ7NUAXGVh9|D3wMFyWQ3A@>rpJuN<%f8Ex;9vpgkE-8VP{ zuh+(=bF)d{T*v{3Xscvv{T;l~&ca$pggLb$4U?DSNRyXJMjwb|9y~t1-+)XGdcUe3}@znvS| zVBZQrZ`7$cfT}@q#F9-`Xwco$#nHH?hT^G8j=@c|VwLsPs1>L)h!>R+vc_J-`lOnJ zKjLMvc}77D5KAybeh=;Bj>vHbse)Pe0#DS-Dzhx1SJ8f`-*t17hfwKmp6@B?92WTxK~2XBFBOKNPb(CAqWT!g!A5OVs1lJffU<#^B6DSbl*b z`-6il0Y_fb6M|Xm!%)ir%*I6B2yU%jH;d>=9PJ|404VHgg6C`9O*DG}Y9y`n#?O;W zGGf&U0HFvtS=K4YHe_eIOtjir@9ITXy7TXgJXg1Qi(lCv=;$R4$U;6&F3`!7X{Sn@&ET;jg zKcc(A(e3M9r22J+q6_8|lTszvCh(qma)a2NV1TP4`c9gEc9^W+sOVV?iCIx$qNl0b z3!0}oler`^UEzmfq$jSH89j!Mgc{Xea$tB6NPOA==)-6OC$Z?VB_3q|4 zof@D-7Yxv9me;$)oIkMzM^J?}o3_)&WxK(R5@}nW^l*^a_Iue8@3U5G6$VPo$*vaq zN{z9)&1G9|2V{AK*^mQzr+QlCOws%8iS&^@OpEmvv;w@Xn) zjG)$I>#*H_zd60;XfG`MMtr^h>XhZ`KD{~9c@BZ9lP_dwxT^Dfu6Q|M#)!BQn*orP z4B{6&S@$6>1greh_~%vi4i4S-8}>9ueIb=3^9GN~1MQRZgAg!-s|5~x1|*9;<)K^I z1-|>KdlL|*ZklWCIi+d)hOcJzx(d=&X2MWVlI&P3Q@6VAKKl0hNPY^#ilKezo5s z2v(G*MkzJ=V1+vwr|Jb4!6qZlNX7Zp+9h*HuPy8QHzy0;1>i4>Gf8t+Gt$Wb4m4z& zbx1_LmVLp1-4=Fds)7m7aDSpbVs(tN>J!!a{@tBMW?DE?e>}3d!`W0H)ei*Pi4q~O zH~JVoO%)_%=e8HxENs+~x#QJ47D&;Qk$ZFLw2rJ0P8u^<2`qCLOQ75H4U&hHoXW#X zm2;dzd|7ESI6>DpPTkq6)wk$?FRvduar5fxBhMR8mBHol4C<(j%7U%IxcwztLu(03 z^OM(Izu-8V#iGDARch`)Ugeq+EKm5sX}Ts`Yka7^Y%Q@JRMUoKXI0WiV}t|$cqk8b z6+cgCI2P>#29j3uelQg_x(y_CDE(i#2=ARSqr$Hic% z@+JIbU;ydyD%MPf`WgB_J9YxaC*jTua@r@_lL{ekCs;#jCgZOTEMu;GvCSF+AHuBI zmfvyt2_IrDt*g4?E24=KD^J_XwEHzD6|b1=RW~&dK(EJfPcXUtNk>+ncX`7oQ9#gchOff@_N7t0RGq z%Zj#tzFh;H;s%F|KTr>>Qwq^oZp7IX&@GqP8A0M>*u;2=Jtf)jRAL?FX_W*Kb2PIq z3!Sc-JM?N!!6lv_JZ@WB=~{sxZGJKp_ey%UT2Sn*z=9~El8XdMEWrA0{z`J4Li!6a zhd`KEc3EL++BX&AtMZuA@Axf3Mm?l05zBkF<`$A{;6hHfmO>z_#KF(KTm{VO(tSTU z^7iI!yvuj~9Axg#;P}My9b3PeHI?5SxbbuTIMaCpzrYA6YT~EyFw;ZEiWYIgvYj{IpG1M8pu}lt(W6YV|T^zBOqf$Tm0+;~ur_^F|Es(-(U#;y$9D74N7< z`*Os?G@evgn>zG=M8E=Q1mi7WB&4z*suT`FON^o_6(b(2c)NPBfz4s86^83lIZqU~ z4-B;VdhhbY(@?hoA{I#)h;k zhIaGOxc;!Qoa*$zigH`H?n3O+=9uGC{Ryt}-ZdQ=)YI>c8P5{yqNE7~)JC>8$!k_}YNGWONtd7G z)jh(e$TNOej*l)KyL#|&b!2E|NR8E*^*Ob2##DJz>ti zUA<0sgL`1^ydQ=uv2{8^dl{+yN9ypL6@gM9_gNU&B<2Cqtv;{L-Vq}`S@FS~wnMOmfeyAoO)yb!u zj(Fc8tvvxT*NEy8@zJR87F;Tpe1&GOct%6=IouT#Y2{%{8^l55ppEu?A!S0|qAk@c zUCW%pnJqx5S4l}iDklOgcEV;;BJ@V7iz$c#SPXK*Vjnq)J{x0GL*@IWxJQFEWS8;# z>O0rDy@yk?+cw#lnoj`C)b#!Ii){ta$MQ=5%x3Dx$kZVQ2zM?K`Pp)j|NytInNEPud!9rgELzp6>+%Aum)H+9o zz_zh)t}!`p#pzZZP3-nCP|mMzg4SMF(bT8LwxVdAEM2#oCfZpzouwCLgT63NstBRF zt?+8^R@nkUIN7{lszZNqPi-YcF=7+7Z2SVyII~_@|NP9zS$Mlh1O$3A+qHTOjmdH< z7h8$BqG32X-oM3}CG=yzGq%ASg(W0){)!%7neh2YxNbl6NamV!AyiNc@L-ZBs{Xt8 z*jC`mB;GTY(``%@P@4L|Q&AWrhk7s}hTs+J=L)d}*k1rc35=C#tkcRzD@MnP?x-z* z7*n#_m4pIJtQLLeEn6m4uFTmm%uxNB4xvn=ZJja7NX0r)xOaLyvO>32)4T4meLFb2 z$=L7H`&ef;JvrPT?pEqxxnUgE2HxeB=ouS124j?8uDaZRy1|bZ(i(_Ks^m=U&+9uS zh&>^I|cvP!e$9QQ&1s)%qG(7^HtL1|PZSJNQG2bTN@Uony;TS=oFxjlm; zcSKspNfi}(of6c8wokyAcr6`d^suX4zM(#rj$`?5a&??rSSW#|m#eG<)8~#H0|sDs zYo^`$w)Umgv6O6;cGsGj6~X9!YQlKBrO5&qG~q&&$%`iUFw27^*%N9FCaSntKp|OI zll8JtJE6iLBQ^)^*%TCd_+;(}q0P_=U7<=)m9f=XpCW6IML+e-B6G{s(Rpt&BKQHe zFC5ZoR!f|qST5BzheHWf`kfja8Dg{z>+Dp@Sxkq}5)uZ!d6Hu1T1(^GrwBJX4;{Trw&qaIA(EqN537fXa7M(INbW{<3yr=<0A=MmmX{tCYg}V@F zWF-n^$SCmrLFl1S213CiK63Ll+eHMy4V%V>iRX17{ zZ}yXL!|I+36j^R1c$RJZDnDB7ARY+~^>Anf!)qy_MXX{e`3Y;t7b!sup?>n1_ictk z1inxFr+H48ijXaZ3rC?ofC2i|6qA!Xe45&V+hCq=UxO67x6}zMy8x{FOGp`?B5c*$ zzU*a;(->6~*kHu1okicE@rjp&28iZr_V%fDxd8m@r)zz_&n2 z))?O%tqOfS@)icxbP9CWCj5GRn~Qzla%$|Ikj6m2fC)v;d9G=D{YP*T(|%GwT5VZL zZO(m;1MlWp^0Y?_SSV+_+$BROk%$?N$fU0H@Uei0c?6fNFP# zIdY7xxt%p?Y-yY|W(=@&${IbUZSxqQl4keuj2yGfKxfpD%(r=c@TH+Z%@wrvg^$e) zjq7JWeHg7PRpi4nLF?3O0=R}mRk|TFe_4tI4Lt!_K2A(z0U-;(LeNt+2kNaZV`)^B0e)XvS=?YRZR|1 zzb~&{c@)d^ezYIit}Msg2Lv$PSb3#kMjTs!mq?mmDix1~J~{J(=MQ8TSvTEstS5i# zGxLy?RN5#k)TmfIt0rIk%CQVv<%lNdwh8GtZwnGR7tOC1T(ZvA#L7Xu$$p51wZ#@J z_SXA@mYFE?Y-Bg!Il8s7rl;BlEvyI{%*P8n^(%=O#`;?Jp>mn{=#L&V&#&!*(~F-M zSkqbgpeWAwwA!^$zHOewA&mYW-7X|S^lp{Tz{+sH+!Pm;45;JrN{6;RMayb~CbBhPV! zTH{^}xk#Uze-75i=*Wcjdey{}yL%qJz@jM)1{U>P&;dt&gc%04A?~GVQ&3^y_Qx84s@x_kFU$3Sg#}35q%wJIew-m``jiY(3bo(wpy4W>tgQ)&C{Qp%5xJHSMeQ1T*bI;MmNu2e@MM^f|@=DhGC@#!bLSTfqI>9w)O9*0n&F9gb4 zp(m0kEh@T;cF&qd7F=nNr?J@Tx(^s=IEH3|Fv0;UM!tJ{Fe`q%<26*_v0ZA%b<5mpJ(@4SqJA;W*c*p@BOMVg?W?U<8- z=xqWZPB%GdZhCobO`FpY7k1SbJXAnG0DBd|$WZFk-mUP(Y6=!RNz+))c*cj;S{Xjn z4P;Jk#=eY@{5tedx4r|zQ)qMKG{im6?Fg=Axt12zXaHT;{Xs`}`dyw4 zck!EvN&52SxJJc&AFcZmwLAXD+0Vg7u7<~I8i2S!GY2V5q4$AwRST>H`QO%rotFSw zZL!Gm8JoGsXLTg}Ur3o&ysg#v)ruXM?!d$93M9^R`}oATOCpVto;#&!}M{qDo*3L2F4EZ3u5tx>FPj;wd4k=*LLGZh}t9g7Ea{ zvn%bw9D7hTNZ9A9owA)ieM&z)we$s89%1xA9J!|A5I1xTVTW7=bvz1i9WRqjq}48F z$eQAyp>|AyV^9vDllohq3(%&mM{MHYd7OExJt(D^Di>q~B0MQ!6%e=(c12=!j(u7r z16lUDVfU@_RkBi?;1u`}8$cibbN#Jb;3Ir7nEE{tisNfHA_G}&GnzpJYq}Z0WGCX2 zd`+dr+#%q$i~x&?S!s>rrmx8P3Y|&I5C?ReOFK;>W|9u;RPJ~zBS%a;BUq}_9cpSE zPC)XBBM7%m5LHggwKeP0^t*4X+Qs+NbFMsW1?+c4^BO()J?6b7LqakHHe&>5p$c#? zfw=yyFlry(3_G+6G=&<~zXc3K4nx*5ObX>gM9R%^6U%wX23I_}yXU6JQ$y=2TMniv z)a6>~PuqVjqU^}DAR96S?Mw)_lNKZIINyT3Lx47390q@Nqfj4loI+l34c|pFKMJYJ zmYIvcvdL|y1+lU~I`821fb|hwV^kE$YY%+7BI}|d%^<&9q)KiW_BmkK^@Eba%z+dS z5m7@VyoEoNqE8D@giW3isy+NIZ?x`SOp`&N5xBVWWq$8X9(G z`JQLBTMu9dKj@GNZ4xtrugP-T7fr<$H<2ufPe0v6Jdv8T%@oNoNt`XGR5jG4c8yC! z3r#W*7Roj#UuW#ku^6i=GLB7V$kltEemX1=I}n5yIal4@kovsh^x0z!a-k+)Ev1@l z)@(wt@rn7cV%VNP@YW`xfs_==9pO^6gnm6?&L zl$qxO&}j%l*EKqM`GXSGO+U+tnkz@{5VQ6=e~K)vQZpe2oSZT&Q4#}NPXe<%qbDb5 zhF)(>&|GULmoS)NOq825wn)zvagXgEkdA7!$zAo6%M$VD zS#U9>dmJPb}BoP zGf^fj_J!;o9ioZgE?qXhq}rAbRo%QF$pYxVs=xd~pEcpIRN*HpAE0$BQB-74uWJ(! zs{Fz0&R*`J&ChHvCO%K|p`$R{z6q-Fu_&oO9dM;xYN99z8t5d77i#cyiuq|r!cAb) z7Ei_{q6fYne37kiR<_VbIumCL)*P1FbDnzI)&h5vh%M4^g+#BtE?EzqrDfXM)^|`^ z#>!40pWB@rK#9_OYW2*tkq>8ZRDGz=FjNY&NuHl%GjsM!#GHCEI)UDgL)?R!fz)UD z%L3B6*QH!1B;}=-K8BcNfkI1K6zna2s)K;P*IKIBKD88Knm1{(I%>s%Kg^rjFpLap<`%tnBQ(?RHf1HL5CH8 zEW|GpmZ$7A6~&xi*1%$h@};jlgS7rS+|vsKX4*G$MZ!E2^v^w-O^{0>^mE-=dvt{- zWb)f*(fm__auIyVydXR}EuBtbU}i(%TK?M}#xj7jsHyJqbr!7~AAawQ!BO9V&ZV1? z#k9&B+rq|s$C>+Cx5H=^yvzFK+&}{-BGd-isNo=%g|k^>9Q0kikj6O=nv1DI_Xmn2 znb@3hgX`Qs23TuyC~cC*NFg0q8hvh7sWat~1)O>1W%wuXdffEFg)>$4k;?LmY*exXJxI=x?zDxy3 zQ^NSl?6R9}jJyMF3F7!19u#GR*l)hH`swL)w*^mYdxI11Ec)w);8>;N66c~^to+Er z7s3xUrc{(LU1T3*lrGk7;X~>x&`$xt%3Y*IMw-!&sRWUJHHWkq*`kNJ$FEv{g*3yOL7|(=P@F~%u&bQ@|vKIJAzBb&4 zPL5mjl7g;Y@3u=fg9+K@n^rCOT*YDziN}GyfP&|5X$TYCS5zg~ZDOa~zQzP#q-ooT z3m6H$8Il9HkS>cg5=8#!UfU#{ zX*e19`iPH|E4@7n)EEcEHfA|B;EXwa2VRR6JE5wtZT3N98fqm8 zwZ|sII)G#4zlO@NA@XwP^?E9H+LJ@^aIyaRN@C0lNe;05!P>*8%$Y4nQaKfG=Luo> zjWjHGioF&S257W3XI5$WG)m?#@=T{X^W>S$Oa%)PAuD~w0geI{B;wt%iWlu{#e?~X zgLBG=pKW_GeG)Z#C5OQ*()r&*6s)}!VSsIZmgOM*1_E!kE#cM6Cj4!NAv>pVluQ__ zrE+>HdnT3w7|Y`DwZs{ZICbIKDuXsS+R+4RDROHr;apNyTf{mIx^#v{^&a&dvz2se z7%@k-OIEy_4S+@2-jjE8!T7)rMs|xeu8rwH)#@kpn{7Sk#8$>%!B`oFt|`vFq`jhG z!O(-&mQ{qRZKEFWWwvZfDv?psGgk%IV`MJQIKfK9=x+F&q&TRpxy15V+9k<8PYSus=gysE~cjA3>jVH_{K>z*g$O`IS< z?BGG^+C11yS6z)TWHnTGwwEe!OMvc#wy{4SRpy1>CP8avkV>g7*F_vQcE+KJUw5{P z>WC?q>lT2VgLF0?gF+YG*z6PiYjp|n1X9K{{Jtk4bGKW3;c~OgCwj6hk||HBX;B%; zQU~NrZwqZcnAHJS_H23WP9)J}g)jDIH^+D@@Cz=hra1=%=WZ3$WiLEl5;`SN)s482 z=1ow{$|~;9n6Z`|QAIb-~Ozj$9>!Uk^KJt@!02KW06S zF+c$`k-Yzj>4oIVYS)@qMG%#c@q0BJJ;rejuz>sOPswOKd@mb-(n(tSpYl3y*05)R ziPHeG6`*x%2A$DRh|Bv+KPOj?JqfbbVr0~ti!q<3O~cUt3%maDQEGE4AD$jeU8xux(H3^=BBk-Pt-+WGYo{`ctDiI?GjV=LwBP0B{vk`1nb!koigdO4@}Z1h=fDpZ5oGAE-w;3h4T-J3HAG z^Rdhw5M-B6t0$O+TGfao)ET`eg&WJO2o$*hs%sic!qDzlh!>5}&7ci*+mkC)2e)y6 z0&mv)w{BusHyMe`J-DvtS9{WI2=2U#^l$Ze*XU2ycy_j#kgdw9i76-u*Jv!GS;D|S z_U(4_FPUoy=!R#V<6@!WxCdr6&Q#WGm2$K-_9-)#5NZcOBWAsFzGoP1AXwIEoz6Sc z@7%gAO20~1VDxBlY(L=Jv~vJCdPa^&FRqjzz5vYwn0j(eV;JlQ(jN8`kxz)! zhEeaCJx6L<%ldBC*=hSl=nF9Y&ehRn$`V*C8D-lKP2Q0+AE`HZx;6PQhYbBgDcT1R zl;!b09zEmPj#9^mU|C*I8)U1{q91QC>g#9=1%7%pOd<8cCdGn4W$oDm9l%Q6-laB6 zWgbQAIf5gK$eO;0cJCCErX`weLt);~i}cC8_t)7;c?q%&XfdOzwJVw(sk4ZN3IwJL zpTy%SEX{oxFBSmXjvNti+saL%Q2W>AaRsAzn|)z(0DWyGj>x2>DNPwp-^cU=U)HNQ z2|4LCxi9k{^;JRhxXqxP-2sOz;ANS+Cp@bR-Mfm++G`i3*efTTiV8I^E}kKxv)zb> zpA}+{&6;huBgM8-bRdOR&9ozhw)VCoO*Xz9fs1K$cA_A)ea)I%;}R+P=?brxOm~aE zQ@9e}mF}4XadO$1FHzDon_+E!Ab}oIj%+h_$_ID{o9&r|g={iK_d~!dR0cz%#6bMQ z_)ndo6i>@vc~pMlnm5!1kXq#nn@)g=FIG(-JcQsjNwOwN0<q?|5*NJzI^&=VfXK_7g>*dNZ6%vB&Qh_EW(j?!x@bz(jCh zb-PNC%$tSF)go}keO3S(TRE-{#&9?+ZnS9z@f-Mv^_2o^eZd{VyD8AAZ@H6%VZ$j) zHhFd{lTXiG6Y`ztCCN#`PlXuAJ>_~UB6by;lcqY#eNOo)(iP%I_vQ#_Eho_xmdmQk zREdYB$CRb=~I!S8sBa>uRsU;syRVjiq zRW&K1zUF77N~tta-#%pXC`U-=D*b*e1|{){^vo$s%t}(SK>JZHjpHskSBZD;r2@Pg zbJ{T}fs$!KE`GX*Qr%NQ@iQszQueCx5223MY*rC1b&`M-V$aqWS>6(w;2ZCtaAEWX z7Dt`Dyk}>9y}aiZqrJf9XERn<9Nx5mL2X+sz+zqDI%D5;HzOM0y++(lMIdSrzD!t()+0O>m;<+d)WXNdgInTP4k60oqH zoaZk(nrs{>I(qaPV|5SV%_(8@Za}HXs7naWWv5~gN!%gdmXO^V-FeRIxIXU>r(T_3 z#EwjAr$yCoCZUUM$>-kF)>?8_@5HcL7O>ur=M*~(jKZbh7FE27=rU#A@pe35yvdfO zI2D=&Fg6_I&>19C`dJzmnY5*4(X#VFzQT059wEQTrrDN4TTj#J><#9iAQH%XUzPD*dw4n80XR zziugoiH*E%C5Vu0$B__o?#rx$q0P|T0VdeH5-i$WPvEI02PxY6Vs@hlu zDv^o4hB92j8HwnjVtM>shDZgn$grP_Lzb^8Lji`Ruw1NJ)4gHC>ntd149=l>0fQRE zR0w+00fFtGSmZM4?ccnuF}*H7=8;o|ykqE)9rUJ?i7UW0j;>N@W{Tg<)+l&kB|E8u z51>1d_)K%^(c!ZMr++1wYfzX9o^AF~c=JPShN!NY3@lUaA1lh^plgp;xzvH)7;vRf z=qDg8YxUB?L5T~ULad#t%AG#$aRJ-xnJ?+uSo>X7J3F}Q(A&m!;l{$tq0rAkqD^pW z`Q-}5kP)rklg7)styh6!p7DtY0nDIOLW7*W96nRd2s;l1Xj}QeY$Oxo>i~ZInk?sY z9ehItJku@_;%jD>*p|n(@BnTS#`Xf1 z8XuI@@47j+wboW^uWM8JzVseVBAcK=cbGB4MLow=9N9jzDxBt!tvjWyxWe@7Sh|Z) zcpNm|$S~4+U-0nh_$+GGJG6&k!~A>%O&^Vvs3{dt#A#*Lt;_K^X{?Awo%oohk35^t zs67rjOd4p%0nnJTwh4Bvvjv#kYAw9FKgiX*tldqH-)$+rF+hp1KR@w^Dsh+LdV#%R zavebE=(waG<32m9!e#GdK!09(XzK6rp>k`__tLS)R{I*-kIG49OCvEj@cMQa^iEvh z+V&-#sG_@tnW|fjGUHlEc68WPetNBt0|D#$do*an3<0(edyf}hr5Auyg_6l`C2nI_i*azP&Gj;vs|%ENIE4D9g-!GxHM zb{ku!ua(s!F;GmJiRFh9sQ6yD)h^IF?mhMkurQ9-oWe;lwJhnzv)G-7-RiNv5mj?w z+B(G)e%)eNsZfO`!4wE+PQ_KJ!l_X#K*3K^$b1tg^mx1@vU;RC=2V>bK{fKB;fMp( zIMw8|m1819d`UWnV`8U+O0r(DASP!*WHjl^L5!JXZg@JY$$Y*{vJ|0+)i|3%30o?U z_o}{mu7nMT2iDL|qKe&abjXk`4%Md*EbLgq?0}oa!r_;}?aLg156NE?wp`en?uT?c z;5O$bSGCagDmyG!Q?(ypIStH;g`Vdw84Ox#I*`d?jd#8}d4lnDHWS}Ab{~|bSUban zMooTKbsWQk>O=30-m8i0Ilb_bJ@;wD1%+@)7QwsByV_2xw33p}$35yeS9Ub2T<#W! z2d(RrjV=9piLw|<0AfZT*Bh7>zWlzTpmhH^a{D3qd`7e9PlW|G>IakbLB?c!{mRI6 zTl&&&7aF%{N#<9hlif$g0WP->)-50!JcZ`b_MFB7 zb=fiyYXqp&IF?Bcn_xfSF2bG(I}wfJ=8{kyS@_JYX|^t|eUfy$ddY z*_kK99Hk1*ecV29zoU_wXGU~IYDLJkNY*_s`SN)utM-ilvNnG6{(xyHh(ej&o`>_+ zbN}vs=A%Z>Fko4u{8?jzjQ5FVJ@lG~=ar9v29?6n%t*L(S&>!l0`{$o5OV-L4Bu;X zk%9MwTgEEO@*fGR=Hw|-3tp-}sB@|>HMcRs@1&beMJxrH`z-67HdBc#$7UV%%kISz z6ESGSW5@zJ!Z0-t+bwz|1EqJ#=d^#x!$RMG7mRN!dPBGyDCIrQG~ zvlBFTr6=3-GIjZT2oR9Zupl5Wf6cM!c=i(`j=v7# zn=Q#8)#7|WTl9dou>G2G*+KXdqeNKcyB$9=xPHyh9zctZ==|BAKRKAN8_onkI~ssK z{l=DCvFCpYODfI=_RSeCaYxgaKxa6CklzRr-1V~{O%k%-oq7G)p_2#55dWVv4)ITd z*h(pVXP8}j?qdMoCjvUc{cAxUr78Y$gieO;yCYsvWwc4amskELEsGh=)dTaBAuV#1 z-&@xP4J6eQ=*$k#7}j4KQrJWA6Jty%{<|~O&%ID`f#+mAps8iAbOsQQqP6|LD1^`k14 zhI&}vIr53*F0DX@7|<)xUwhTxPyZ9+NPqS_ga6c@a1>|@FOc(_kk=mg$)9LSqn&T! zBBkv2jewQKr?=m(!MghOc4HJ#F?yp zV+4Z93t<7@Uj{zE>Hc5S2+R=dPm;`_9BPmX*)^*`Ib)8k>)O z2e_J`nUw?MqY3i2hFDqtkcSd2`@eVJD_MABE}#WpbI5NLMefG=58>Krqww7n3%Un# zP9~tHz~?uiCT&ObmoLtC@=V`EMc#OJGw`p5`EBpTipI%>{}U2Tm%ILraYKcgN&|Ff z0r&|2T2Qe(hCko0^v)Ch?gfz%3H~+EhCx zTD0*5!cUz=qdNM#Fvr{CDWE`M{D86k8_vSSPuaclO)buMZOn8RzQ6KLca_Yl;Tc=+Cd;qyd`_R7_(B3tdYc6Z3!FWAgV2o8cK~W*(6DRr=q= zE|3QECoQ^^7ya8!F<*y|zg;529VQLy&4<=`22;!QV^3QC5O>Mb-=BNIrOaM zdzV+RRlySxChy{qOX8kXn40DT=8~%KuS^b_ti5%&V870#zg}(g7SED=ucVR7@+*?KBXU4m4A~($JW-$Nz2^8 z(EcZB>i*Fb1Ndc*`RAk&{FgKsKU_8S3u)}_4J`kyFa5L1^a6gBeg8RS{!BIKe_g`$ z3uV3qjf3_7V#xF|{ohG4e+|(8lO*%KH`$sP8UHVKC%~_V?0+t3UVZOQm_Od!_TPiX zz*)z_+WhDF<3HS)n6LoGDGcM*ZVPyZ^4s_n6VQa{779{%586zmO;dIZFS7D}g_PJDHeBHN**6G9L{^`0}AQJ@y z>)Un+@Sh-8Z~1`V?Y`Z*YN2CkVrXFZuNzMxzt@L=1oY_eHYkq2m(CFXMF9ap0y*GU z1j4>k{%lAEc_8BJUdJB@zP}^Te?q+fcf|Km_uoLmUp@Nf!oR-Z{s4O9Km2c?Kdy!S z%Qak?uc)8zg#A$*0pK3g-`x6c)1MW-KW~Wr3;Inj>AyQm@`H^B{9~NI1OHJn{F{hM zfA^jG2ks+39oPSi`&UWwFS~KMzOsL=NB$*7_S@KBvj0_`M27x5@aNj(k3ce>Ul|+y zy;6z#XCQww@8=5TkF-7BU(#$kh<_&iSYu@Smxy1xME2V|!C#UtJD&e{64y_pV&Pws zzSl1Q=HbsZ%O5?|6a6LaR*dl9#Q(W|`6KL9{FkucuD{9ka~1PPQi{YcNyyz~Kg;!V zE%Qf`wA3$2kJ6<7=HSnD%^zV4GQWh`bbPIH!u@R8&(+NzY1<0Fq!soM{Y?6~#`z;@ zO6iv*x?a+sNk5l5eS3jck){d@oZx&HYhQeEqp z$kx8Uh1kzk&>u+(I=>`+uZhC^tlQ7E&>v}?y8ow9bN7WHh~s$Wok)ZzB*%G%Mk7&) zIB!wVsJXa@WP+=0tbRh;7lk-0-`ddz~vzp zXbIF@d~zsGDXn^#r8R|JQqxePQdm!zh3T67Vnm@zVPiTA6M8ke^z=8@%*EbZnNX}+ zL}P!lGFvjn5_`srrM{wMrOivMurOnw6s>1VKs2rtn6<_NyEbYi7}{3~I~4ai{@*Y~ zzcwo*7@AlLtK4K^lUr^HhE|rsGPYP)|F+z+cQCXR_PWEu>i6W9p{=E`xjhyp+-*K} zx6b!3dRq#P?XzIZ;^yIuMSDwWI|nT7?b)$zp~I!5@*|dH8Qs5Kkv+qHcl+i~a>r(T zetdgYPgtT*N%^*8GruR2Uq|NDr5>{#HgJWfDsY(%4ru{BGD`fNvs5&v19BSAR5|5# z&Y-RZLMaEeKv3{p6;wikz(#Vt@j%G@g(}2lhfuS}MYKW0?xiY%oVPW_3viUvLbL++ zHKyXa?WTKCF>$TODtun4Qb-l76Xv9@;X-iimR_qu$k>(C2ba?fkF4uPl~Zg#GSCQI z29|sDR+Uj|XE=}Kxfra=g1FSdEMMY1Lh6FY+gu3F_2WBL2$}0%-_(evPlx@!;IDh( zg0MI5aa9oM4W7VqAy}CVaY>JVWTY}-aRVvhotTWI&=-uU6<5wuj&U9lI(vgBY;E5vb From 186f9cad19b88a3996bbdd7ef6c5d4de441774ca Mon Sep 17 00:00:00 2001 From: lscharmer <52695099+lscharmer@users.noreply.github.com> Date: Tue, 10 Feb 2026 16:26:41 +0100 Subject: [PATCH 616/865] [FIX] #46596 UI: add `Field\Tag::withoutStripTags()` to disable `strip_tags()` transformation. (#10798) * Fixes https://mantis.ilias.de/view.php?id=46596 * Add `Field\Factory::tag()` usage rule about the above feature * Update unit tests --- .../UI/src/Component/Input/Field/Factory.php | 3 ++ .../UI/src/Component/Input/Field/Tag.php | 5 ++++ .../Component/Input/Field/Tag.php | 30 ++++++++++++++----- .../Component/Input/Field/TagInputTest.php | 12 ++++++++ 4 files changed, 42 insertions(+), 8 deletions(-) diff --git a/components/ILIAS/UI/src/Component/Input/Field/Factory.php b/components/ILIAS/UI/src/Component/Input/Field/Factory.php index 8f027889af57..3c9c4294d376 100755 --- a/components/ILIAS/UI/src/Component/Input/Field/Factory.php +++ b/components/ILIAS/UI/src/Component/Input/Field/Factory.php @@ -293,6 +293,9 @@ public function checkbox(string $label, ?string $byline = null): Checkbox; * A Tag Input MUST NOT be used when a User has to choose from a finite list of options * which can't be extended by users Input, a Multi Select MUST be used in this case * 5: The tags provided SHOULD NOT have long titles (50 characters). + * 6: > + * If withoutStripTags is set, the consumer MUST make sure the value + * is proberly sanitized before outputing it. * * --- * @param string $label diff --git a/components/ILIAS/UI/src/Component/Input/Field/Tag.php b/components/ILIAS/UI/src/Component/Input/Field/Tag.php index ddf276ae2689..368dd8541674 100755 --- a/components/ILIAS/UI/src/Component/Input/Field/Tag.php +++ b/components/ILIAS/UI/src/Component/Input/Field/Tag.php @@ -70,6 +70,11 @@ public function withMaxTags(int $max_tags): self; */ public function withAsyncAutocomplete(URLBuilder $autocomplete_endpoint, URLBuilderToken $term_token): self; + /** + * Disable stripping tags from user input. + */ + public function withoutStripTags(): self; + // Events public function withAdditionalOnTagAdded(Signal $signal): self; diff --git a/components/ILIAS/UI/src/Implementation/Component/Input/Field/Tag.php b/components/ILIAS/UI/src/Implementation/Component/Input/Field/Tag.php index f6f5a442abe3..76cf64fa4f0e 100755 --- a/components/ILIAS/UI/src/Implementation/Component/Input/Field/Tag.php +++ b/components/ILIAS/UI/src/Implementation/Component/Input/Field/Tag.php @@ -34,6 +34,7 @@ use ILIAS\UI\Implementation\Component\Triggerer; use ILIAS\UI\URLBuilder; use ILIAS\UI\URLBuilderToken; +use Generator; /** * Class TagInput @@ -59,6 +60,8 @@ class Tag extends FormInput implements C\Input\Field\Tag protected ?URLBuilder $async_autocomplete_endpoint = null; protected ?URLBuilderToken $async_autocomplete_token = null; + private bool $strip_tags = true; + public function __construct( DataFactory $data_factory, \ILIAS\Refinery\Factory $refinery, @@ -74,14 +77,8 @@ public function __construct( protected function addAdditionalTransformations(): void { - $this->setAdditionalTransformation($this->refinery->string()->splitString(',')); - $this->setAdditionalTransformation($this->refinery->custom()->transformation(function (array $v) { - if (count($v) == 1 && $v[0] === '') { - return []; - } - $array = array_map('rawurldecode', $v); - return array_map('strip_tags', $array); - })); + $map = static fn(string $s): array => array_filter(array_map('rawurldecode', explode(',', $s))); + $this->setAdditionalTransformation($this->refinery->custom()->transformation($map)); } public function getConfiguration(): stdClass @@ -349,4 +346,21 @@ public function getUpdateOnLoadCode(): Closure }); il.UI.input.onFieldUpdate(event, '$id', $('#$id').val());"; } + + public function withoutStripTags(): self + { + $clone = clone $this; + $clone->strip_tags = false; + return $clone; + } + + protected function getOperations(): Generator + { + yield from parent::getOperations(); + if ($this->strip_tags) { + yield $this->refinery->container()->mapValues( + $this->refinery->custom()->transformation(strip_tags(...)) + ); + } + } } diff --git a/components/ILIAS/UI/tests/Component/Input/Field/TagInputTest.php b/components/ILIAS/UI/tests/Component/Input/Field/TagInputTest.php index 5b9bb9811916..8f711dac013e 100755 --- a/components/ILIAS/UI/tests/Component/Input/Field/TagInputTest.php +++ b/components/ILIAS/UI/tests/Component/Input/Field/TagInputTest.php @@ -303,4 +303,16 @@ public function testTagWithAutocompleteEndpointJSAdded(): void $renderer = $this->getDefaultRenderer(); $renderer->render($tag); } + + public function testWithoutStripTags(): void + { + $tag = $this->getFieldFactory()->tag('my_tag', []) + ->withoutStripTags() + ->withNameFrom($this->name_source) + ->withInput(new DefInputData(['name_0' => ''])); + + $result = $tag->getContent(); + $this->assertTrue($result->isOk()); + $this->assertSame([''], $result->value()); + } } From c425425c777a8c649f3db97d8fa8a4ae48508a2d Mon Sep 17 00:00:00 2001 From: Matheus Zych <37047867+matheuszych@users.noreply.github.com> Date: Tue, 10 Feb 2026 16:34:08 +0100 Subject: [PATCH 617/865] [FIX] #46528 UI: reveal `MainControls\Slate` content properly. (#10960) * Fixes https://mantis.ilias.de/view.php?id=46528 * Add example descriptions for `MainControls\Combined`, `Drilldown` and `Legacy` * Update JavaScript click-handler to reveal `MainControls\Slate` contents --- .../ILIAS/UI/resources/js/MainControls/dist/mainbar.js | 10 ---------- .../resources/js/MainControls/dist/maincontrols.min.js | 2 +- .../UI/resources/js/MainControls/src/metabar.class.js | 9 --------- .../UI/resources/js/MainControls/src/slate.class.js | 4 +++- .../examples/MainControls/Slate/Combined/combined.php | 3 +++ .../MainControls/Slate/Drilldown/drilldownslate.php | 5 +++-- .../src/examples/MainControls/Slate/Legacy/legacy.php | 3 +++ 7 files changed, 13 insertions(+), 23 deletions(-) diff --git a/components/ILIAS/UI/resources/js/MainControls/dist/mainbar.js b/components/ILIAS/UI/resources/js/MainControls/dist/mainbar.js index f6febba37737..272e61d1a4b0 100644 --- a/components/ILIAS/UI/resources/js/MainControls/dist/mainbar.js +++ b/components/ILIAS/UI/resources/js/MainControls/dist/mainbar.js @@ -730,7 +730,6 @@ var persistence = function() { ,page_has_engaged_slated: 'with-mainbar-slates-engaged' ,tools_btn: 'il-mainbar-tools-button' ,toolentries_wrapper: 'il-mainbar-tools-entries' - ,remover_class: 'il-mainbar-remove-tool' ,mainbar: 'il-mainbar' ,mainbar_buttons: '.il-mainbar .il-mainbar-entries .btn-bulky, .il-mainbar .il-mainbar-entries .link-bulky' ,mainbar_entries: 'il-mainbar-entries' @@ -836,15 +835,6 @@ var persistence = function() { } } }, - removers: { - getElement: function(){ - return $('.' + css.remover_class); - }, - mb_hide: function() { - this.getElement().hide(); - } - - }, tools_area: Object.assign({}, dom_element, { getElement: function(){ return $(' .' + css.toolentries_wrapper); diff --git a/components/ILIAS/UI/resources/js/MainControls/dist/maincontrols.min.js b/components/ILIAS/UI/resources/js/MainControls/dist/maincontrols.min.js index 5f37bc629541..26f255abbb77 100644 --- a/components/ILIAS/UI/resources/js/MainControls/dist/maincontrols.min.js +++ b/components/ILIAS/UI/resources/js/MainControls/dist/maincontrols.min.js @@ -12,4 +12,4 @@ * https://www.ilias.de * https://github.com/ILIAS-eLearning */ -!function(t,e){"use strict";const n="engaged",s="il-maincontrols-metabar",a="il-metabar-slates",i="il-metabar-more-button",o="il-metabar-more-slate",r="il-maincontrols-slate",l="engaged";function c(t){t.removeClass(n),t.attr("aria-expanded",!1)}class u{#t;#e;#n;#s;#a;#i;#o;constructor(t,e,n,s,a,i){this.#t=t,this.#e=e,this.#s=n,this.#a=s,this.#i=a,this.#o=i}registerSignals(t,e){this.#t(document).on(t,((t,e)=>(this.#r(t,e),this.#s()&&this.#i(),!1))),this.#t(document).on(e,(()=>(this.onClickDisengageAll(),!1))),this.#t(`.${s}`).on("click",(()=>{this.#n=!0})),this.#t("body").on("click",(()=>{this.#n?this.#n=!1:this.onClickDisengageAll()})),this.#t(`.${a} > .${r}`).on("focusout",(t=>{if(!this.#s()){const e=t.relatedTarget,n=t.currentTarget;null===e||n.contains(e)||this.onClickDisengageAll()}}))}#r(t,e){const s=e.triggerer;!function(t){return t.hasClass(n)}(s)?(this.disengageAll(),function(t){t.addClass(n),t.attr("aria-expanded",!0)}(s),setTimeout((()=>{const t=s[0];this.focusInEngagedSlate(t)}),10)):c(s)}onClickDisengageAll(){this.disengageAllButtons(),this.disengageAllSlates()}disengageAllButtons(){document.querySelectorAll(`#${this.#e}.${s} > li > .btn.${n}`).forEach((t=>{c($(t))}));document.querySelectorAll(`#${this.#e}.${s} > li > .${a} > .${o} > .il-maincontrols-slate-content > .btn.${n}`).forEach((t=>{c($(t))}))}disengageAllSlates(){this.getEngagedSlates().each(((t,e)=>{this.#o(this.#t(e))}))}disengageAll(){this.disengageAllSlates(),this.disengageAllButtons()}getEngagedSlates(){const t=`#${this.#e} .${r}.${l}`;return this.#t(t)}focusInEngagedSlate(t){const e=function(t,e){let n=t.parentElement;for(;n&&!n.classList.contains(e);)n=n.parentElement;return n||console.warn(`No parent element with class "${e}" found.`),n}(t,s);if(e){const t=e.querySelector(`.${r}.${l}`);if(t){const e=t.querySelector("input, button");e&&e.focus()}}}init(){this.#l(),this.#c(),this.#s()?this.#u():this.#h(),this.#t(`.${s}`).css("visibility","visible"),this.#t(`#${this.#e} .${a}`).children(`.${r}`).attr("aria-hidden",!0)}#u(){this.#g(),this.#d().hide(),this.getMoreButton().show(),this.#y()}#h(){this.getMoreButton().hide(),this.#d().show()}#l(){if(0===this.getMoreButton().length){const t=this.#t(`#${this.#e}.${s}`).find(".btn, .il-link").last();this.#t(t).addClass(i)}}#c(){if(0===this.#S().length){const t=this.#t(`#${this.#e} .${a}`).children(`.${r}`).last();this.#t(t).addClass(o)}}getMoreButton(){return this.#t(`.${i}`)}#S(){return this.#t(`.${o}`)}#d(){return this.#t(`#${this.#e}.${s}`).children("li").children(".btn, .il-link").not(`.${i}`)}#g(){const t=this.#S().children(".il-maincontrols-slate-content");0===t.children().length&&this.#d().clone(!0,!0).appendTo(t)}#y(){const t=this.#a.getCounterObjectOrNull(this.#S());t&&this.#a.getCounterObject(this.getMoreButton()).setNoveltyTo(t.getNoveltyCount()).setStatusTo(t.getStatusCount())}}const h="engaged",g="disengaged";function d(t){return t.hasClass(h)}function y(t){t.removeClass(g),t.addClass(h),t.attr("aria-expanded","true"),t.attr("aria-hidden","false")}function S(t){t.removeClass(h),t.addClass(g),t.attr("aria-expanded","false"),t.attr("aria-hidden","true")}function m(t){d(t)?S(t):y(t)}var f=function(t){var e="il-counter",n={getCounterObject:function(t){let e;return e=s(t),console.assert(e.length>0,"Passed jQuery Object does not contain a counter"),a(e)},getCounterObjectOrNull:function(t){let e;return e=s(t),0===e.length?null:a(e)}},s=function(n){console.assert(n instanceof t,"$object_containing_counter is not a jQuery Object, param: "+n);var s=n;return n.hasClass(e)||(s=n.find("."+e)),s},a=function(e){return b.bind({})(e,t)};return n},b=function(t,e){const n=" Counter does not exist in the DOM. Make sure the respective Counter type has been rendered before applying this operations.",s=" is not a number";this.getStatusCount=function(){return r(o(t))},this.getNoveltyCount=function(){return r(i(t))},this.hasNoveltyObject=function(){return i(t).length>0},this.hasStatusObject=function(){return o(t).length>0},this.setNoveltyTo=function(e){console.assert(this.hasNoveltyObject(),"Novelty "+n),console.assert("number"==typeof e,e+s);var a=i(t);return a.html(e),0===e?a.hide():a.show(),this},this.setStatusTo=function(e){console.assert(this.hasStatusObject(),"Status "+n),console.assert("number"==typeof e,e+s);var a=o(t);return a.html(e),0===e?a.hide():a.show(),this},this.incrementNoveltyCount=function(e){return console.assert(this.hasNoveltyObject(),"Novelty "+n),console.assert("number"==typeof e,e+s),l((function(t){t.hasNoveltyObject()&&t.setNoveltyTo(t.getNoveltyCount()+e)}),t),this},this.decrementNoveltyCount=function(e){return console.assert(this.hasNoveltyObject(),"Novelty "+n),console.assert("number"==typeof e,e+s),l((function(t){t.hasNoveltyObject()&&t.setNoveltyTo(t.getNoveltyCount()-e)}),t),this},this.incrementStatusCount=function(e){return console.assert(this.hasStatusObject(),"Status "+n),console.assert("number"==typeof e,e+s),l((function(t){t.hasStatusObject()&&t.setStatusTo(t.getStatusCount()+e)}),t),this},this.decrementStatusCount=function(e){return console.assert(this.hasStatusObject(),"Status "+n),console.assert("number"==typeof e,e+s),l((function(t){t.hasStatusObject()&&t.setStatusTo(t.getStatusCount()-e)}),t),this},this.setTotalNoveltyToStatusCount=function(){return console.assert(this.hasStatusObject(),"Status "+n),console.assert(this.hasNoveltyObject(),"Novelty "+n),this.incrementStatusCount(this.getNoveltyCount()).setNoveltyTo(0)};var a={getNoveltyCount:this.getNoveltyCount,getStatusCount:this.getStatusCount,hasNoveltyObject:this.hasNoveltyObject,hasStatusObject:this.hasStatusObject,setNoveltyTo:this.setNoveltyTo,setStatusTo:this.setStatusTo,incrementNoveltyCount:this.incrementNoveltyCount,decrementNoveltyCount:this.decrementNoveltyCount,incrementStatusCount:this.incrementStatusCount,decrementStatusCount:this.decrementStatusCount,setTotalNoveltyToStatusCount:this.setTotalNoveltyToStatusCount},i=function(t){return t.find(".il-counter-novelty")},o=function(t){return t.find(".il-counter-status")},r=function(t){var n=0;return t.each((function(){var t=e(this).text();n+=parseInt(t)})),n},l=function(t,n){n.each((function(){var n=f(e).getCounterObject(e(this));t(n,e(this))}))};return a};t.UI=t.UI||{},t.UI.maincontrols=t.UI.maincontrols||{},t.UI.maincontrols.metabar=new class{#t;#m=[];#s;#a;#i;#o;constructor(t,e,n,s,a){this.#t=t,this.#s=e,this.#a=n,this.#i=s,this.#o=a}init(t){if(void 0!==this.#m[t])throw new Error(`Metabar with id '${t}' has already been initialized.`);this.#m[t]=new u(this.#t,t,this.#s,this.#a,this.#i,this.#o)}get(t){return this.#m[t]??null}disengageAll(){Object.values(this.#m).forEach((t=>t.disengageAll()))}}(e,(()=>t.UI.page.isSmallScreen()),f(e),(()=>t.UI.maincontrols.mainbar.disengageAll()),(e=>t.UI.maincontrols.slate.disengage(e))),t.UI.maincontrols.slate=new class{#t;#f;#b;constructor(t,e,n){this.#t=t,this.#f=e,this.#b=n}onSignal(t,e,n,s){const a=this.#t(`#${s}`),{triggerer:i}=n,o=i.parents(".il-metabar-more-slate").length>0;if("toggle"===t)this.#p(a,i,o);else if("engage"===t)y(a);else{if("replace"!==t)throw new Error(`No such SignalType: ${t}`);this.#C(s,n)}}#p(t,e,n){const s=t.closest(".il-maincontrols-metabar").attr("id"),a=this.#b.get(s);e.attr("id")!==a.getMoreButton().attr("id")?(m(t),n||(d(t)?(e.addClass(h),e.removeClass(g),t.trigger("in_view")):(e.removeClass(h),e.addClass(g)))):a.getEngagedSlates().length>0?a.disengageAllSlates():m(t)}disengage=S;#C(t,e){const{url:n}=e.options;this.#f(t,n,"content")}}(e,function(t){return function(e,n,s){t.ajax({url:n,dataType:"html"}).done((function(n){var a=t("
"+n+"
"),i=a.find("[data-replace-marker='"+s+"']").first();0==i.length?t("#"+e+" [data-replace-marker='"+s+"']").html(n):(t("#"+e+" [data-replace-marker='"+s+"']").first().replaceWith(i),t("#"+e+" [data-replace-marker='"+s+"']").first().after(a.find("[data-replace-marker='script']")))}))}}(e),t.UI.maincontrols.metabar)}(il,$); +!function(t,e){"use strict";const n="engaged",s="il-maincontrols-metabar",a="il-metabar-slates",i="il-metabar-more-button",o="il-metabar-more-slate",r="il-maincontrols-slate",l="engaged";function c(t){t.removeClass(n),t.attr("aria-expanded",!1)}class u{#t;#e;#n;#s;#a;#i;#o;constructor(t,e,n,s,a,i){this.#t=t,this.#e=e,this.#s=n,this.#a=s,this.#i=a,this.#o=i}registerSignals(t,e){this.#t(document).on(t,((t,e)=>(this.#r(t,e),this.#s()&&this.#i(),!1))),this.#t(document).on(e,(()=>(this.onClickDisengageAll(),!1))),this.#t(`.${s}`).on("click",(()=>{this.#n=!0})),this.#t("body").on("click",(()=>{this.#n?this.#n=!1:this.onClickDisengageAll()})),this.#t(`.${a} > .${r}`).on("focusout",(t=>{if(!this.#s()){const e=t.relatedTarget,n=t.currentTarget;null===e||n.contains(e)||this.onClickDisengageAll()}}))}#r(t,e){const s=e.triggerer;!function(t){return t.hasClass(n)}(s)?(this.disengageAll(),function(t){t.addClass(n),t.attr("aria-expanded",!0)}(s),setTimeout((()=>{const t=s[0];this.focusInEngagedSlate(t)}),10)):c(s)}onClickDisengageAll(){this.disengageAllButtons(),this.disengageAllSlates()}disengageAllButtons(){document.querySelectorAll(`#${this.#e}.${s} > li > .btn.${n}`).forEach((t=>{c($(t))}));document.querySelectorAll(`#${this.#e}.${s} > li > .${a} > .${o} > .il-maincontrols-slate-content > .btn.${n}`).forEach((t=>{c($(t))}))}disengageAllSlates(){this.getEngagedSlates().each(((t,e)=>{this.#o(this.#t(e))}))}disengageAll(){this.disengageAllSlates(),this.disengageAllButtons()}getEngagedSlates(){const t=`#${this.#e} .${r}.${l}`;return this.#t(t)}focusInEngagedSlate(t){const e=function(t,e){let n=t.parentElement;for(;n&&!n.classList.contains(e);)n=n.parentElement;return n||console.warn(`No parent element with class "${e}" found.`),n}(t,s);if(e){const t=e.querySelector(`.${r}.${l}`);if(t){const e=t.querySelector("input, button");e&&e.focus()}}}init(){this.#l(),this.#c(),this.#s()?this.#u():this.#h(),this.#t(`.${s}`).css("visibility","visible"),this.#t(`#${this.#e} .${a}`).children(`.${r}`).attr("aria-hidden",!0)}#u(){this.#g(),this.#d().hide(),this.getMoreButton().show(),this.#y()}#h(){this.getMoreButton().hide(),this.#d().show()}#l(){if(0===this.getMoreButton().length){const t=this.#t(`#${this.#e}.${s}`).find(".btn, .il-link").last();this.#t(t).addClass(i)}}#c(){if(0===this.#S().length){const t=this.#t(`#${this.#e} .${a}`).children(`.${r}`).last();this.#t(t).addClass(o)}}getMoreButton(){return this.#t(`.${i}`)}#S(){return this.#t(`.${o}`)}#d(){return this.#t(`#${this.#e}.${s}`).children("li").children(".btn, .il-link").not(`.${i}`)}#g(){const t=this.#S().children(".il-maincontrols-slate-content");0===t.children().length&&this.#d().clone(!0,!0).appendTo(t)}#y(){const t=this.#a.getCounterObjectOrNull(this.#S());t&&this.#a.getCounterObject(this.getMoreButton()).setNoveltyTo(t.getNoveltyCount()).setStatusTo(t.getStatusCount())}}const h="engaged",g="disengaged";function d(t){return t.hasClass(h)}function y(t){t.removeClass(g),t.addClass(h),t.attr("aria-expanded","true"),t.attr("aria-hidden","false")}function S(t){t.removeClass(h),t.addClass(g),t.attr("aria-expanded","false"),t.attr("aria-hidden","true")}function m(t){d(t)?S(t):y(t)}var f=function(t){var e="il-counter",n={getCounterObject:function(t){let e;return e=s(t),console.assert(e.length>0,"Passed jQuery Object does not contain a counter"),a(e)},getCounterObjectOrNull:function(t){let e;return e=s(t),0===e.length?null:a(e)}},s=function(n){console.assert(n instanceof t,"$object_containing_counter is not a jQuery Object, param: "+n);var s=n;return n.hasClass(e)||(s=n.find("."+e)),s},a=function(e){return b.bind({})(e,t)};return n},b=function(t,e){const n=" Counter does not exist in the DOM. Make sure the respective Counter type has been rendered before applying this operations.",s=" is not a number";this.getStatusCount=function(){return r(o(t))},this.getNoveltyCount=function(){return r(i(t))},this.hasNoveltyObject=function(){return i(t).length>0},this.hasStatusObject=function(){return o(t).length>0},this.setNoveltyTo=function(e){console.assert(this.hasNoveltyObject(),"Novelty "+n),console.assert("number"==typeof e,e+s);var a=i(t);return a.html(e),0===e?a.hide():a.show(),this},this.setStatusTo=function(e){console.assert(this.hasStatusObject(),"Status "+n),console.assert("number"==typeof e,e+s);var a=o(t);return a.html(e),0===e?a.hide():a.show(),this},this.incrementNoveltyCount=function(e){return console.assert(this.hasNoveltyObject(),"Novelty "+n),console.assert("number"==typeof e,e+s),l((function(t){t.hasNoveltyObject()&&t.setNoveltyTo(t.getNoveltyCount()+e)}),t),this},this.decrementNoveltyCount=function(e){return console.assert(this.hasNoveltyObject(),"Novelty "+n),console.assert("number"==typeof e,e+s),l((function(t){t.hasNoveltyObject()&&t.setNoveltyTo(t.getNoveltyCount()-e)}),t),this},this.incrementStatusCount=function(e){return console.assert(this.hasStatusObject(),"Status "+n),console.assert("number"==typeof e,e+s),l((function(t){t.hasStatusObject()&&t.setStatusTo(t.getStatusCount()+e)}),t),this},this.decrementStatusCount=function(e){return console.assert(this.hasStatusObject(),"Status "+n),console.assert("number"==typeof e,e+s),l((function(t){t.hasStatusObject()&&t.setStatusTo(t.getStatusCount()-e)}),t),this},this.setTotalNoveltyToStatusCount=function(){return console.assert(this.hasStatusObject(),"Status "+n),console.assert(this.hasNoveltyObject(),"Novelty "+n),this.incrementStatusCount(this.getNoveltyCount()).setNoveltyTo(0)};var a={getNoveltyCount:this.getNoveltyCount,getStatusCount:this.getStatusCount,hasNoveltyObject:this.hasNoveltyObject,hasStatusObject:this.hasStatusObject,setNoveltyTo:this.setNoveltyTo,setStatusTo:this.setStatusTo,incrementNoveltyCount:this.incrementNoveltyCount,decrementNoveltyCount:this.decrementNoveltyCount,incrementStatusCount:this.incrementStatusCount,decrementStatusCount:this.decrementStatusCount,setTotalNoveltyToStatusCount:this.setTotalNoveltyToStatusCount},i=function(t){return t.find(".il-counter-novelty")},o=function(t){return t.find(".il-counter-status")},r=function(t){var n=0;return t.each((function(){var t=e(this).text();n+=parseInt(t)})),n},l=function(t,n){n.each((function(){var n=f(e).getCounterObject(e(this));t(n,e(this))}))};return a};t.UI=t.UI||{},t.UI.maincontrols=t.UI.maincontrols||{},t.UI.maincontrols.metabar=new class{#t;#m=[];#s;#a;#i;#o;constructor(t,e,n,s,a){this.#t=t,this.#s=e,this.#a=n,this.#i=s,this.#o=a}init(t){if(void 0!==this.#m[t])throw new Error(`Metabar with id '${t}' has already been initialized.`);this.#m[t]=new u(this.#t,t,this.#s,this.#a,this.#i,this.#o)}get(t){return this.#m[t]??null}disengageAll(){Object.values(this.#m).forEach((t=>t.disengageAll()))}}(e,(()=>t.UI.page.isSmallScreen()),f(e),(()=>t.UI.maincontrols.mainbar.disengageAll()),(e=>t.UI.maincontrols.slate.disengage(e))),t.UI.maincontrols.slate=new class{#t;#f;#b;constructor(t,e,n){this.#t=t,this.#f=e,this.#b=n}onSignal(t,e,n,s){const a=this.#t(`#${s}`),{triggerer:i}=n,o=i.parents(".il-metabar-more-slate").length>0;if("toggle"===t)this.#p(a,i,o);else if("engage"===t)y(a);else{if("replace"!==t)throw new Error(`No such SignalType: ${t}`);this.#C(s,n)}}#p(t,e,n){const s=t.closest(".il-maincontrols-metabar").attr("id"),a=this.#b.get(s);a instanceof u&&e.attr("id")===a.getMoreButton().attr("id")?a.getEngagedSlates().length>0?a.disengageAllSlates():m(t):(m(t),n||(d(t)?(e.addClass(h),e.removeClass(g),t.trigger("in_view")):(e.removeClass(h),e.addClass(g))))}disengage=S;#C(t,e){const{url:n}=e.options;this.#f(t,n,"content")}}(e,function(t){return function(e,n,s){t.ajax({url:n,dataType:"html"}).done((function(n){var a=t("
"+n+"
"),i=a.find("[data-replace-marker='"+s+"']").first();0==i.length?t("#"+e+" [data-replace-marker='"+s+"']").html(n):(t("#"+e+" [data-replace-marker='"+s+"']").first().replaceWith(i),t("#"+e+" [data-replace-marker='"+s+"']").first().after(a.find("[data-replace-marker='script']")))}))}}(e),t.UI.maincontrols.metabar)}(il,$); diff --git a/components/ILIAS/UI/resources/js/MainControls/src/metabar.class.js b/components/ILIAS/UI/resources/js/MainControls/src/metabar.class.js index c15a5adf2c34..ca5fbcd20415 100755 --- a/components/ILIAS/UI/resources/js/MainControls/src/metabar.class.js +++ b/components/ILIAS/UI/resources/js/MainControls/src/metabar.class.js @@ -356,23 +356,14 @@ export default class Metabar { } } - /** - * @return {void} - */ getMoreButton() { return this.#jquery(`.${classForMoreBtn}`); } - /** - * @return {void} - */ #getMoreSlate() { return this.#jquery(`.${classForMoreSlate}`); } - /** - * @return {void} - */ #getMetabarEntries() { return this.#jquery(`#${this.#id}.${classForEntries}`) .children('li').children('.btn, .il-link') diff --git a/components/ILIAS/UI/resources/js/MainControls/src/slate.class.js b/components/ILIAS/UI/resources/js/MainControls/src/slate.class.js index 53f849501886..ce2d1a3077e5 100755 --- a/components/ILIAS/UI/resources/js/MainControls/src/slate.class.js +++ b/components/ILIAS/UI/resources/js/MainControls/src/slate.class.js @@ -14,6 +14,8 @@ * ******************************************************************** */ +import Metabar from './metabar.class.js'; + /** * @type {string} */ @@ -133,7 +135,7 @@ export default class Slate { const metabarId = slate.closest('.il-maincontrols-metabar').attr('id'); const metabar = this.#metabarFactory.get(metabarId); - if (triggerer.attr('id') === metabar.getMoreButton().attr('id')) { + if (metabar instanceof Metabar && triggerer.attr('id') === metabar.getMoreButton().attr('id')) { if (metabar.getEngagedSlates().length > 0) { metabar.disengageAllSlates(); } else { diff --git a/components/ILIAS/UI/src/examples/MainControls/Slate/Combined/combined.php b/components/ILIAS/UI/src/examples/MainControls/Slate/Combined/combined.php index 49dd742cfd7b..94448ad7c025 100755 --- a/components/ILIAS/UI/src/examples/MainControls/Slate/Combined/combined.php +++ b/components/ILIAS/UI/src/examples/MainControls/Slate/Combined/combined.php @@ -22,6 +22,9 @@ /** * --- + * description: > + * Pressing the slate reveals more slates, bulky buttons or horizontal dividers. + * * expected output: > * ILIAS shows the rendered Component. * --- diff --git a/components/ILIAS/UI/src/examples/MainControls/Slate/Drilldown/drilldownslate.php b/components/ILIAS/UI/src/examples/MainControls/Slate/Drilldown/drilldownslate.php index 7a07fdca3456..378b9812a941 100755 --- a/components/ILIAS/UI/src/examples/MainControls/Slate/Drilldown/drilldownslate.php +++ b/components/ILIAS/UI/src/examples/MainControls/Slate/Drilldown/drilldownslate.php @@ -20,10 +20,11 @@ namespace ILIAS\UI\examples\MainControls\Slate\Drilldown; -use ILIAS\UI\examples\Menu\Drilldown; - /** * --- + * description: > + * Pressing the slate reveals a drilldown component. + * * expected output: > * ILIAS shows the rendered Component. * --- diff --git a/components/ILIAS/UI/src/examples/MainControls/Slate/Legacy/legacy.php b/components/ILIAS/UI/src/examples/MainControls/Slate/Legacy/legacy.php index f4343477ee4a..b7c5e1c8b514 100755 --- a/components/ILIAS/UI/src/examples/MainControls/Slate/Legacy/legacy.php +++ b/components/ILIAS/UI/src/examples/MainControls/Slate/Legacy/legacy.php @@ -22,6 +22,9 @@ /** * --- + * description: > + * Pressing the slate reveals any legacy component. + * * expected output: > * ILIAS shows the rendered Component. * --- From b8345233aece82b6028056dacf12e1bb9cac79bc Mon Sep 17 00:00:00 2001 From: Chris Potter Date: Tue, 10 Feb 2026 18:19:02 +0100 Subject: [PATCH 618/865] Orphaned language variables removed --- lang/ilias_en.lang | 2 -- 1 file changed, 2 deletions(-) diff --git a/lang/ilias_en.lang b/lang/ilias_en.lang index f59128f89971..a425fedbe650 100644 --- a/lang/ilias_en.lang +++ b/lang/ilias_en.lang @@ -16700,9 +16700,7 @@ survey#:#survey_360_edit_raters#:#Manage Raters survey#:#survey_360_mode#:#360° Feedback survey#:#survey_360_mode_info#:#Allows individuals to be peer-reviewed by multiple sources. Results are aggregated. survey#:#survey_360_no_appraisees#:#There are currently no appraisees for you to rate. -survey#:#survey_360_no_closed_appraisees#:#No appraisee has closed his survey yet. survey#:#survey_360_rate_other_appraisee#:#Rate Appraisee -survey#:#survey_360_rate_other_appraisees#:#Rate Appraisees survey#:#survey_360_rater_finished#:#Survey Finished survey#:#survey_360_rater_mail_sent#:#Mail Sent survey#:#survey_360_rater_message_content_anonymous#:#Message Content (Anonymous) From 975a8849d8597fe3cef4e67e337557026c815eb1 Mon Sep 17 00:00:00 2001 From: Alexander Killing Date: Tue, 10 Feb 2026 19:29:18 +0100 Subject: [PATCH 619/865] =?UTF-8?q?35938:=20Show=20more-Button=20im=20Dial?= =?UTF-8?q?og=20R=C3=BCckmeldung=20und=20Bewertung=20bei=20mehreren=20Eins?= =?UTF-8?q?endungen=20zu=20einer=20Text=C3=BCbung=20teilw.=20ohne=20Funkti?= =?UTF-8?q?on?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- components/ILIAS/Exercise/Exercise.php | 2 + .../classes/class.ilExerciseManagementGUI.php | 21 +++---- .../ILIAS/Exercise/resources/exc-text-more.js | 55 +++++++++++++++++++ lang/ilias_de.lang | 1 + lang/ilias_en.lang | 1 + 5 files changed, 67 insertions(+), 13 deletions(-) create mode 100644 components/ILIAS/Exercise/resources/exc-text-more.js diff --git a/components/ILIAS/Exercise/Exercise.php b/components/ILIAS/Exercise/Exercise.php index e6dc61d77cd9..1328bafa06e7 100644 --- a/components/ILIAS/Exercise/Exercise.php +++ b/components/ILIAS/Exercise/Exercise.php @@ -42,5 +42,7 @@ public function init( new Component\Resource\ComponentJS($this, "ilExcPresentation.js"); $contribute[Component\Resource\PublicAsset::class] = fn() => new Component\Resource\ComponentJS($this, "ilExcPeerReview.js"); + $contribute[Component\Resource\PublicAsset::class] = fn() => + new Component\Resource\ComponentJS($this, "exc-text-more.js"); } } diff --git a/components/ILIAS/Exercise/classes/class.ilExerciseManagementGUI.php b/components/ILIAS/Exercise/classes/class.ilExerciseManagementGUI.php index 351b67798c29..9da79de23dfc 100755 --- a/components/ILIAS/Exercise/classes/class.ilExerciseManagementGUI.php +++ b/components/ILIAS/Exercise/classes/class.ilExerciseManagementGUI.php @@ -802,6 +802,8 @@ public function getReportPanel(array $a_data): string public function getEvaluationModal( array $a_data ): RoundTrip { + $more_id = $a_data['uid']; + $this->tpl->addJavaScript("assets/js/exc-text-more.js"); $modal_tpl = new ilTemplate("tpl.exc_report_evaluation_modal.html", true, true, "components/ILIAS/Exercise"); $modal_tpl->setVariable("USER_NAME", $a_data['uname']); @@ -809,19 +811,12 @@ public function getEvaluationModal( //TODO: CHECK ilias string utils. ilUtil shortenText with net blank. if ($this->exercise->hasTutorFeedbackText()) { $max_chars = 500; - - $u_text = strip_tags($a_data["utext"]); //otherwise will get open P - $text = $u_text; - //show more - if (strlen($u_text) > $max_chars) { - $text = ""; - $text .= "
"; - $text .= mb_substr($u_text, 0, $max_chars); - $text .= ""; - $text .= mb_substr($u_text, $max_chars); - $text .= "
"; - $text .= ""; - } + $more_button = $this->gui->ui()->factory()->button()->standard($this->lng->txt("exc_show_more"), "#"); + $text = "
"; + $text .= $a_data["utext"]; + $text .= "
"; + $text .= $this->gui->ui()->renderer()->render($more_button); + $text .= "
"; $modal_tpl->setVariable("USER_TEXT", $text); } diff --git a/components/ILIAS/Exercise/resources/exc-text-more.js b/components/ILIAS/Exercise/resources/exc-text-more.js new file mode 100644 index 000000000000..c1572dfae83d --- /dev/null +++ b/components/ILIAS/Exercise/resources/exc-text-more.js @@ -0,0 +1,55 @@ +(() => { + const MAX_HEIGHT = 100; + + function isClipped(el) { + // needs overflow hidden/auto/scroll to actually clip + // eslint-disable-next-line no-undef + const style = getComputedStyle(el); + const clips = (style.overflowY !== 'visible' || style.overflowX !== 'visible'); + if (!clips) return false; + // If content is bigger than the visible box, it's clipped + return el.scrollHeight > el.clientHeight + 1; // +1 to avoid rounding issues + } + + function checkInitialDisplay(button) { + const contentDiv = button.closest('[data-exc-show-more]').querySelector('div:first-child'); + if (!isClipped(contentDiv)) { + contentDiv.style.maxHeight = null; + button.style.display = 'none'; + } + } + + // eslint-disable-next-line no-undef + const io = new IntersectionObserver((entries) => { + // eslint-disable-next-line no-restricted-syntax + for (const e of entries) { + if (e.isIntersecting) { + // safe to measure heights, apply truncation, etc. + checkInitialDisplay(e.target); + } + } + }); + + function initContainer(container) { + const firstDiv = container.querySelector('div:first-child'); + firstDiv.style.maxHeight = `${MAX_HEIGHT}px`; + firstDiv.style.marginBottom = '10px'; + firstDiv.style.overflow = 'hidden'; + const firstButton = container.querySelector('button'); + firstButton.addEventListener('click', () => { + firstDiv.style.maxHeight = null; + firstButton.style.display = 'none'; + }); + io.observe(firstButton); + } + + function initAll() { + document.querySelectorAll('[data-exc-show-more]').forEach(initContainer); + } + + if (document.readyState === 'loading') { + document.addEventListener('DOMContentLoaded', initAll); + } else { + initAll(); + } +})(); diff --git a/lang/ilias_de.lang b/lang/ilias_de.lang index 911f4add6fda..fc4072fa3f6a 100644 --- a/lang/ilias_de.lang +++ b/lang/ilias_de.lang @@ -9609,6 +9609,7 @@ exc#:#exc_settings_feedback_mail_info#:#Rückmeldungen zur jeweiligen Abgabe wer exc#:#exc_settings_feedback_text#:#Texteingabe exc#:#exc_settings_feedback_text_info#:#Rückmeldungen zur jeweiligen Abgabe werden in ein Textfeld eingegeben und im Reiter „Übungseinheiten“ angezeigt. Zusätzlich erhalten teilnehmende Personen eine Benachrichtigung per Mail. exc#:#exc_show_instructions#:#Arbeitsanweisung anzeigen +exc#:#exc_show_more#:#Mehr anzeigen exc#:#exc_show_peer_review#:#Peer-Feedback anzeigen exc#:#exc_show_submissions#:#Lösungsabgaben veröffentlichen exc#:#exc_show_submissions_info#:#Bei Übungseinheiten mit einem festen Datum können nach dem Abgabetermin alle Personen die Einreichungen der anderen einsehen. diff --git a/lang/ilias_en.lang b/lang/ilias_en.lang index a425fedbe650..7192b881af7c 100644 --- a/lang/ilias_en.lang +++ b/lang/ilias_en.lang @@ -9581,6 +9581,7 @@ exc#:#exc_settings_feedback_mail_info#:#Tutors enter their evaluation into a mai exc#:#exc_settings_feedback_text#:#Text Input exc#:#exc_settings_feedback_text_info#:#Tutors type their evaluation in a text field. The participant receives a notification about it and the text is displayed at the assignment overview. exc#:#exc_show_instructions#:#Show Work Instructions +exc#:#exc_show_more#:#Show More exc#:#exc_show_peer_review#:#Show Peer-Feedback exc#:#exc_show_submissions#:#Publish Submissions after Deadline exc#:#exc_show_submissions_info#:#For assignments with a fixed submission deadline, participants can view all submissions after the submission deadline. From 253bd9c7a55424185e030ebac9165f8b63304f32 Mon Sep 17 00:00:00 2001 From: Alexander Killing Date: Wed, 11 Feb 2026 00:02:57 +0100 Subject: [PATCH 620/865] 45413: Opening LM throws Error --- components/ILIAS/COPage/PC/Question/class.ilPCQuestion.php | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/components/ILIAS/COPage/PC/Question/class.ilPCQuestion.php b/components/ILIAS/COPage/PC/Question/class.ilPCQuestion.php index 098fa0bb0787..b9e65a09d7e6 100755 --- a/components/ILIAS/COPage/PC/Question/class.ilPCQuestion.php +++ b/components/ILIAS/COPage/PC/Question/class.ilPCQuestion.php @@ -207,7 +207,6 @@ public function modifyPageContentPostXsl( $lng = $this->lng; $qhtml = ""; - if ($this->getPage()->getPageConfig()->getEnableSelfAssessment()) { // #14154 $q_ids = $this->getQuestionIds(); @@ -215,7 +214,7 @@ public function modifyPageContentPostXsl( foreach ($q_ids as $q_id) { $q_gui = assQuestionGUI::_getQuestionGUI("", $q_id); // object check due to #16557 - if (is_object($q_gui->getObject()) && !$q_gui->getObject()->isComplete()) { + if (!is_null($q_gui) && is_object($q_gui->getObject()) && !$q_gui->getObject()->isComplete()) { $a_output = str_replace( "{{{{{Question;il__qst_" . $q_id . "}}}}}", "" . $lng->txt("cont_empty_question") . "", From 9dda02ecf93f241b760dfd521c14e7bf33dc8c06 Mon Sep 17 00:00:00 2001 From: Alexander Killing Date: Wed, 11 Feb 2026 07:43:40 +0100 Subject: [PATCH 621/865] 45413: Opening LM throws Error --- components/ILIAS/COPage/classes/class.ilQuestionExporter.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/components/ILIAS/COPage/classes/class.ilQuestionExporter.php b/components/ILIAS/COPage/classes/class.ilQuestionExporter.php index 75474d6cd036..ec9c2baf51b0 100755 --- a/components/ILIAS/COPage/classes/class.ilQuestionExporter.php +++ b/components/ILIAS/COPage/classes/class.ilQuestionExporter.php @@ -88,7 +88,7 @@ public function exportQuestion($a_ref_id, $a_image_path = null, $a_output_mode = $this->q_gui = assQuestionGUI::_getQuestionGUI("", $q_id); - if (!is_object($this->q_gui->getObject())) { + if (is_null($this->q_gui) || !is_object($this->q_gui->getObject())) { return "Error: Question not found."; } From 24b5a022aee390ade6a6f2298c8122cae8e86735 Mon Sep 17 00:00:00 2001 From: Alexander Killing Date: Wed, 11 Feb 2026 08:11:10 +0100 Subject: [PATCH 622/865] 45413: Opening LM throws Error --- components/ILIAS/COPage/PC/Question/class.ilPCQuestion.php | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/components/ILIAS/COPage/PC/Question/class.ilPCQuestion.php b/components/ILIAS/COPage/PC/Question/class.ilPCQuestion.php index b9e65a09d7e6..e95064f2b0b3 100755 --- a/components/ILIAS/COPage/PC/Question/class.ilPCQuestion.php +++ b/components/ILIAS/COPage/PC/Question/class.ilPCQuestion.php @@ -279,7 +279,9 @@ public function getJavascriptFiles(string $a_mode): array foreach ($this->getQuestionIds() as $qId) { $qstGui = assQuestionGUI::_getQuestionGUI('', $qId); - $js_files = array_merge($js_files, $qstGui->getPresentationJavascripts()); + if (!is_null($qstGui)) { + $js_files = array_merge($js_files, $qstGui->getPresentationJavascripts()); + } } } From f7121f9a3788c6f012b3a09f640c5c4ee7d41f65 Mon Sep 17 00:00:00 2001 From: mjansen Date: Wed, 11 Feb 2026 10:37:58 +0100 Subject: [PATCH 623/865] Saml: Fix path to README of `Http` component (cherry picked from commit 74f3b651b68fbcf8744659541ea8cbdd00e03add) --- components/ILIAS/Saml/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/components/ILIAS/Saml/README.md b/components/ILIAS/Saml/README.md index 0785bad546f6..19dfac14e8e6 100755 --- a/components/ILIAS/Saml/README.md +++ b/components/ILIAS/Saml/README.md @@ -77,7 +77,7 @@ See: ## ILIAS Configuration Please change your ILIAS configuration according to the `Superglobal` behaviour described in -the [`HTTP README`](../../src/HTTP/README.md#dropinreplacements) +the [`HTTP README`](../HTTP/README.md#dropinreplacements) ## Config Changes in ILIAS 9 From ad477a927dd3b34f7d0c7b6ca69f35d852b68a6d Mon Sep 17 00:00:00 2001 From: Lukas Scharmer Date: Mon, 2 Feb 2026 18:51:08 +0100 Subject: [PATCH 624/865] Mail: Use non broken tag input options --- components/ILIAS/User/src/Search/Search.php | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/components/ILIAS/User/src/Search/Search.php b/components/ILIAS/User/src/Search/Search.php index ac6bf07f641d..7ddd03301fdb 100644 --- a/components/ILIAS/User/src/Search/Search.php +++ b/components/ILIAS/User/src/Search/Search.php @@ -44,7 +44,8 @@ public function getInput( return $this->ui_factory->input()->field()->tag($label, [], $byline) ->withSuggestionsStartAfter($endpoint->getSuggestionsStartAfter()) - ->withAsyncAutocomplete(...$endpoint->acquireBuilderAndToken()); + ->withAsyncAutocomplete(...$endpoint->acquireBuilderAndToken()) + ->withoutStripTags(); } /** From f49dd440c9697ab2cd7ab881f7c722838fa028a7 Mon Sep 17 00:00:00 2001 From: Alexander Killing Date: Wed, 11 Feb 2026 14:45:25 +0100 Subject: [PATCH 625/865] 45544: No questions after import on same ILIAS installation --- components/ILIAS/COPage/PC/Question/QuestionManager.php | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/components/ILIAS/COPage/PC/Question/QuestionManager.php b/components/ILIAS/COPage/PC/Question/QuestionManager.php index e0fc3829caa7..10f4206b9c29 100755 --- a/components/ILIAS/COPage/PC/Question/QuestionManager.php +++ b/components/ILIAS/COPage/PC/Question/QuestionManager.php @@ -47,7 +47,11 @@ public function resolveQuestionReferences( foreach ($nodes as $node) { $qref = $node->getAttribute("QRef"); if (isset($a_mapping[$qref])) { - $node->setAttribute("QRef", "il__qst_" . $a_mapping[$qref]["pool"]); + $new_id = (int) ($a_mapping[$qref]["pool"] ?? 0); + if ($new_id === 0 && isset($a_mapping[$qref]["test"])) { // changed with 10 + $new_id = $a_mapping[$qref]["test"]; + } + $node->setAttribute("QRef", "il__qst_" . $new_id); $updated = true; } } From 2a629fa9dd2e2134afe18bd97fc25173223d4787 Mon Sep 17 00:00:00 2001 From: mjansen Date: Wed, 11 Feb 2026 09:44:04 +0100 Subject: [PATCH 626/865] SAML: Add activation check in authentication process (cherry picked from commit bd4a80d8afa7672151194c6a5f48b0ab27482bf5) --- .../ILIAS/Saml/classes/class.ilAuthProviderSaml.php | 11 +++++++++++ lang/ilias_de.lang | 1 + lang/ilias_en.lang | 3 ++- 3 files changed, 14 insertions(+), 1 deletion(-) diff --git a/components/ILIAS/Saml/classes/class.ilAuthProviderSaml.php b/components/ILIAS/Saml/classes/class.ilAuthProviderSaml.php index 7ad59282fe7e..81afe48f9496 100755 --- a/components/ILIAS/Saml/classes/class.ilAuthProviderSaml.php +++ b/components/ILIAS/Saml/classes/class.ilAuthProviderSaml.php @@ -25,6 +25,7 @@ class ilAuthProviderSaml extends ilAuthProvider implements ilAuthProviderAccount private const string LOG_COMPONENT = 'auth'; private const string ERR_WRONG_LOGIN = 'err_wrong_login'; + private const string ERR_PROVIDER_INACTIVE = 'auth_saml_idp_deactivated_auth_failed'; private const string SESSION_TMP_ATTRIBUTES = 'tmp_attributes'; private const string SESSION_TMP_RETURN_TO = 'tmp_return_to'; @@ -83,6 +84,16 @@ private function determineUidFromAttributes(): void public function doAuthentication(ilAuthStatus $status): bool { + if (!$this->idp->isActive()) { + $this->getLogger()->info( + 'SAML IdP with id {idp_id} is not active.', + ['idp_id' => $this->idp->getIdpId()] + ); + $status->setStatus(ilAuthStatus::STATUS_AUTHENTICATION_FAILED); + $status->setTranslatedReason($this->lng->txt(self::ERR_PROVIDER_INACTIVE)); + return false; + } + if ([] === $this->attributes) { $this->getLogger()->warning('Could not parse any attributes from SAML response.'); $this->handleAuthenticationFail($status, self::ERR_WRONG_LOGIN); diff --git a/lang/ilias_de.lang b/lang/ilias_de.lang index fc4072fa3f6a..f032f7aa8f04 100644 --- a/lang/ilias_de.lang +++ b/lang/ilias_de.lang @@ -2125,6 +2125,7 @@ auth#:#auth_saml_deleted_idp#:#Der Identity-Provider wurde gelöscht. auth#:#auth_saml_enable#:#SAML-Unterstützung aktivieren auth#:#auth_saml_err_sqlite_driver#:#Die SAML-Authentifizierung benötigt die SQLite-Treiber für PHP. Bitte installieren Sie diese und versuchen Sie es erneut. auth#:#auth_saml_idp#:#IDP +auth#:#auth_saml_idp_deactivated_auth_failed#:#Der IDP ist nicht aktiviert, Authentifizierung gescheitert. auth#:#auth_saml_idp_selection_table_desc#:#Bitte wählen Sie den Identity-Provider aus, mit dem Sie sich einloggen möchten. auth#:#auth_saml_idp_selection_table_title#:#Identity-Provider auth#:#auth_saml_idp_settings#:#IDP Einstellungen diff --git a/lang/ilias_en.lang b/lang/ilias_en.lang index 7192b881af7c..714dc59d6834 100644 --- a/lang/ilias_en.lang +++ b/lang/ilias_en.lang @@ -2125,7 +2125,8 @@ auth#:#auth_saml_deleted_idp#:#The Identity Provider has been deleted. auth#:#auth_saml_enable#:#Enable SAML Support auth#:#auth_saml_err_sqlite_driver#:#The SAML authentication requires the SQLite driver for PHP. Please install the SQLite package and try again. auth#:#auth_saml_idp#:#IDP -auth#:#auth_saml_idp_selection_table_desc#:#Bitte wählen Sie den Identity Provider mit dem Sie sich anmelden möchten. +auth#:#auth_saml_idp_deactivated_auth_failed#:#Authentication failed, the identity provider is disabled. +auth#:#auth_saml_idp_selection_table_desc#:#Please select the identity provider you want to log in with. auth#:#auth_saml_idp_selection_table_title#:#Identity Provider Selection auth#:#auth_saml_idp_settings#:#IDP Settings auth#:#auth_saml_idps#:#SAML IDP List From 52725cc55075bd0fb0f1ff0308801f64dffc1f3b Mon Sep 17 00:00:00 2001 From: mjansen Date: Wed, 11 Feb 2026 09:17:59 +0100 Subject: [PATCH 627/865] OIDC: Add activation check in authentication process (cherry picked from commit 75f77f1e4205180391bc41286a40d4e1b438a99a) --- .../class.ilAuthProviderOpenIdConnect.php | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/components/ILIAS/OpenIdConnect/classes/class.ilAuthProviderOpenIdConnect.php b/components/ILIAS/OpenIdConnect/classes/class.ilAuthProviderOpenIdConnect.php index 8aba3b2b070d..59400714c05f 100755 --- a/components/ILIAS/OpenIdConnect/classes/class.ilAuthProviderOpenIdConnect.php +++ b/components/ILIAS/OpenIdConnect/classes/class.ilAuthProviderOpenIdConnect.php @@ -24,6 +24,9 @@ class ilAuthProviderOpenIdConnect extends ilAuthProvider { private const OIDC_AUTH_IDTOKEN = 'oidc_auth_idtoken'; + private const ERR_AUTH_FAILED = 'auth_oidc_failed'; + private const ERR_AUTH_WRONG_LOGIN = 'err_wrong_login'; + private readonly ilOpenIdConnectSettings $settings; /** @var array $body */ private readonly ilLogger $logger; @@ -65,6 +68,13 @@ public function handleLogout(): void public function doAuthentication(ilAuthStatus $status): bool { + if (!$this->settings->getActive()) { + $status->setStatus(ilAuthStatus::STATUS_AUTHENTICATION_FAILED); + $status->setTranslatedReason($this->lng->txt(self::ERR_AUTH_FAILED)); + $this->logger->info('Authentication aborted, OIDC authentication is disabled'); + return false; + } + try { $oidc = $this->initClient(); $oidc->setRedirectURL(ILIAS_HTTP_PATH . '/openidconnect.php'); @@ -107,7 +117,7 @@ public function doAuthentication(ilAuthStatus $status): bool $this->logger->warning($e->getMessage()); $this->logger->warning((string) $e->getCode()); $status->setStatus(ilAuthStatus::STATUS_AUTHENTICATION_FAILED); - $status->setTranslatedReason($this->lng->txt('auth_oidc_failed')); + $status->setTranslatedReason($this->lng->txt(self::ERR_AUTH_FAILED)); return false; } } @@ -121,7 +131,7 @@ private function handleUpdate(ilAuthStatus $status, $user_info): ilAuthStatus $this->logger->error('Received invalid user credentials: '); $this->logger->dump($user_info, ilLogLevel::ERROR); $status->setStatus(ilAuthStatus::STATUS_AUTHENTICATION_FAILED); - $status->setReason('err_wrong_login'); + $status->setReason(self::ERR_AUTH_WRONG_LOGIN); return $status; } @@ -132,7 +142,7 @@ private function handleUpdate(ilAuthStatus $status, $user_info): ilAuthStatus $this->logger->error('Could not determine valid external account, value is empty or not a string.'); $this->logger->dump($user_info, ilLogLevel::ERROR); $status->setStatus(ilAuthStatus::STATUS_AUTHENTICATION_FAILED); - $status->setReason('err_wrong_login'); + $status->setReason(self::ERR_AUTH_WRONG_LOGIN); return $status; } @@ -156,7 +166,7 @@ private function handleUpdate(ilAuthStatus $status, $user_info): ilAuthStatus //$_GET['target'] = $this->getCredentials()->getRedirectionTarget();// TODO PHP8-REVIEW Please eliminate this. Mutating the request is not allowed and will not work in ILIAS 8. } catch (ilOpenIdConnectSyncForbiddenException) { $status->setStatus(ilAuthStatus::STATUS_AUTHENTICATION_FAILED); - $status->setReason('err_wrong_login'); + $status->setReason(self::ERR_AUTH_WRONG_LOGIN); } return $status; From a0d7c9a79174a4753ac1f2e9328d8f18bc71a222 Mon Sep 17 00:00:00 2001 From: Matthias Kunkel Date: Wed, 11 Feb 2026 15:43:04 +0100 Subject: [PATCH 628/865] =?UTF-8?q?Typo=20Benachrichtigungs-Einstellungen?= =?UTF-8?q?=20=E2=86=92=20Benachrichtigungseinstellungen?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lang/ilias_de.lang | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/lang/ilias_de.lang b/lang/ilias_de.lang index f032f7aa8f04..174357b59dbc 100644 --- a/lang/ilias_de.lang +++ b/lang/ilias_de.lang @@ -3027,9 +3027,9 @@ chatroom#:#messages#:#Nachrichten chatroom#:#no_further_users#:#Keine weiteren Benutzer anwesend. chatroom#:#no_messages#:#Es sind keine Nachrichten für den ausgewählten Zeitraum verfügbar. chatroom#:#no_username_given#:#Bitte wählen Sie einen Anmeldenamen! -chatroom#:#osc_browser_noti_no_permission_error#:#Bitte entfernen Sie die ILIAS-Domain von der Liste der blockierten Websites in den Benachrichtigungs-Einstellungen Ihres Browsers oder Betriebssystems. Andernfalls kann ILIAS keine Browser-Benachrichtigungen zustellen. +chatroom#:#osc_browser_noti_no_permission_error#:#Bitte entfernen Sie die ILIAS-Domain von der Liste der blockierten Websites in den Benachrichtigungseinstellungen Ihres Browsers oder Betriebssystems. Andernfalls kann ILIAS keine Browser-Benachrichtigungen zustellen. chatroom#:#osc_browser_noti_no_support_error#:#Browser-Benachrichtigungen werden mit Ihrem aktuellem Browser nicht unterstützt. Bitte stellen Sie sicher, dass Sie via HTTPS auf ILIAS zugreifen, und Ihr Browser als
unterstützter Browser aufgelistet wird. -chatroom#:#osc_browser_noti_req_permission_error#:#Die Browser-Benachrichtigungen konnten nicht aktiviert werden, da Sie den Zugriff in Ihrem Browser verweigert haben. Bitte entfernen Sie die ILIAS-Domain von der Liste der blockierten Websites in den Benachrichtigungs-Einstellungen Ihres Browsers oder Betriebssystems. +chatroom#:#osc_browser_noti_req_permission_error#:#Die Browser-Benachrichtigungen konnten nicht aktiviert werden, da Sie den Zugriff in Ihrem Browser verweigert haben. Bitte entfernen Sie die ILIAS-Domain von der Liste der blockierten Websites in den Benachrichtigungseinstellungen Ihres Browsers oder Betriebssystems. chatroom#:#osc_enable_browser_notifications_info#:#Wenn aktiviert, erhalten Sie beim Eintreffen neuer Chats oder Chat-Nachrichten eine Browser-Benachrichtigung, wenn zwischen zwei Chat-Beiträgen mehr als %s Minute(n) vergangen ist/sind. Befindet sich ILIAS im Hintergrund und arbeiten Sie in anderen Browser-Tabs, oder ist der Browser ausgeblendet, erhalten Sie ebenfalls eine Benachrichtigung. chatroom#:#osc_enable_browser_notifications_label#:#Browser-Benachrichtigungen chatroom#:#osc_noti_title#:#Neue Chat-Nachricht @@ -10155,7 +10155,7 @@ forum#:#new_post#:#Neuer Beitrag forum#:#new_thread_with_post#:#Neues Thema mit Beitrag forum#:#no_forum_selected#:#Kein Forum für die Verschiebeaktion ausgewählt! forum#:#not_allowed_to_merge_into_another_forum#:#Es ist nicht möglich Themen verschiedener Foren zusammenzuführen. -forum#:#notification_settings#:#Benachrichtigungs-Einstellungen +forum#:#notification_settings#:#Benachrichtigungseinstellungen forum#:#notify_censored#:#Zensierte Beiträge forum#:#notify_modified#:#Geänderte Beiträge forum#:#notify_post_deleted#:#Gelöschte Beiträge From ce4b72a3bdfa285711404e33a96a65b004d70221 Mon Sep 17 00:00:00 2001 From: Aleksandr Litvin Date: Wed, 11 Feb 2026 16:14:31 +0000 Subject: [PATCH 629/865] fix no role bug 0047137 (#11108) * fix no role bug 0047137 * remove comment --- .../Membership/classes/class.ilMembershipGUI.php | 12 ++++++++---- lang/ilias_de.lang | 1 + lang/ilias_en.lang | 1 + 3 files changed, 10 insertions(+), 4 deletions(-) diff --git a/components/ILIAS/Membership/classes/class.ilMembershipGUI.php b/components/ILIAS/Membership/classes/class.ilMembershipGUI.php index 4d0b6609128a..e4022452aa3a 100755 --- a/components/ILIAS/Membership/classes/class.ilMembershipGUI.php +++ b/components/ILIAS/Membership/classes/class.ilMembershipGUI.php @@ -61,6 +61,7 @@ public function __construct(ilObjectGUI $repository_gui, ilObject $repository_ob $this->tpl = $DIC->ui()->mainTemplate(); $this->ctrl = $DIC->ctrl(); $this->lng->loadLanguageModule('trac'); + $this->lng->loadLanguageModule('mmbr'); $this->logger = $DIC->logger()->mmbr(); $this->access = $DIC->access(); $this->user = $DIC->user(); @@ -575,8 +576,13 @@ public function updateParticipants(): void $post_roles[$usr_id][] = $adminRoleId; } + if (!isset($post_roles[$usr_id]) || empty($post_roles[$usr_id])) { + $this->tpl->setOnScreenMessage('failure', $this->lng->txt('mmbr_role_error'), true); + $this->ctrl->redirect($this, 'participants'); + } + // Validate the role ids in the post data - foreach ((array) $post_roles[$usr_id] as $role_id) { + foreach ((array) ($post_roles[$usr_id] ?? []) as $role_id) { if (!array_key_exists($role_id, $assignableLocalRoles)) { $this->tpl->setOnScreenMessage('failure', $this->lng->txt('msg_no_perm_perm'), true); $this->ctrl->redirect($this, 'participants'); @@ -618,7 +624,7 @@ public function updateParticipants(): void } foreach ($participants as $usr_id) { - $this->getMembersObject()->updateRoleAssignments($usr_id, (array) $post_roles[$usr_id]); + $this->getMembersObject()->updateRoleAssignments($usr_id, (array) ($post_roles[$usr_id] ?? [])); // Disable notification for all of them $this->getMembersObject()->updateNotification($usr_id, false); @@ -1186,7 +1192,6 @@ public function confirmRefuseSubscribers(): void $this->tpl->setOnScreenMessage('failure', $this->lng->txt("crs_no_subscribers_selected"), true); $this->ctrl->redirect($this, 'participants'); } - $this->lng->loadLanguageModule('mmbr'); $c_gui = new ilConfirmationGUI(); // set confirm/cancel commands $c_gui->setFormAction($this->ctrl->getFormAction($this, "refuseSubscribers")); @@ -1419,7 +1424,6 @@ public function confirmRefuseFromList(): void $this->tpl->setOnScreenMessage('failure', $this->lng->txt("no_checkbox"), true); $this->ctrl->redirect($this, 'participants'); } - $this->lng->loadLanguageModule('mmbr'); $c_gui = new ilConfirmationGUI(); // set confirm/cancel commands diff --git a/lang/ilias_de.lang b/lang/ilias_de.lang index 174357b59dbc..572793bce265 100644 --- a/lang/ilias_de.lang +++ b/lang/ilias_de.lang @@ -12777,6 +12777,7 @@ mmbr#:#mmbr_awrn_my_groups_courses_info#:#Alle Mitglieder von Gruppen und Kursen mmbr#:#mmbr_btn_mail_selected_users#:#Mail verschicken mmbr#:#mmbr_info_delete_sure_unsubscribe#:#Wollen Sie wirklich die Mitgliedschaft für die folgenden Kurse und Gruppen beenden? mmbr#:#mmbr_memberships#:#Mitgliedschaften +mmbr#:#mmbr_role_error#:#Mitglieder müssen mindestens eine Rolle haben. mmbr#:#mmbr_selected_users#:#Ausgewählte Teilnehmer mmbr#:#mmbr_unsubscribed_from_objs#:#Sie wurden von den ausgewählten Objekten abgemeldet. mme#:#add_languages#:#Sprache hinzufügen diff --git a/lang/ilias_en.lang b/lang/ilias_en.lang index 714dc59d6834..4f0b64fbe02a 100644 --- a/lang/ilias_en.lang +++ b/lang/ilias_en.lang @@ -12749,6 +12749,7 @@ mmbr#:#mmbr_awrn_my_groups_courses_info#:#All members of groups or courses of th mmbr#:#mmbr_btn_mail_selected_users#:#Send Mail mmbr#:#mmbr_info_delete_sure_unsubscribe#:#Are you sure you want to unsubscribe from the following objects? mmbr#:#mmbr_memberships#:#Memberships +mmbr#:#mmbr_role_error#:#Members must have at least one role assigned. mmbr#:#mmbr_selected_users#:#Selected Participants mmbr#:#mmbr_unsubscribed_from_objs#:#You have been unsubscribed from the selected objects. mme#:#add_languages#:#Add Language From 8d6ff34e6b6b41d80d998e4bd2d79c7c5613e52c Mon Sep 17 00:00:00 2001 From: Alexander Killing Date: Wed, 11 Feb 2026 17:18:57 +0100 Subject: [PATCH 630/865] =?UTF-8?q?44522:=20Die=20gew=C3=A4hlte=20Option?= =?UTF-8?q?=20springt=20auf=20die=20erste=20Stelle?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ILIAS/Repository/Service/Form/class.FormAdapterGUI.php | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/components/ILIAS/Repository/Service/Form/class.FormAdapterGUI.php b/components/ILIAS/Repository/Service/Form/class.FormAdapterGUI.php index 8a4d133db6b6..3715802c998f 100755 --- a/components/ILIAS/Repository/Service/Form/class.FormAdapterGUI.php +++ b/components/ILIAS/Repository/Service/Form/class.FormAdapterGUI.php @@ -410,10 +410,6 @@ public function radio( ): self { $this->values[$key] = $value; $field = $this->ui->factory()->input()->field()->radio($title, $description); - if (!is_null($value)) { - $field = $field->withOption($value, ""); // dummy to prevent exception, will be overwritten by radioOption - $field = $field->withValue($value); - } $this->addField( $key, $field @@ -425,6 +421,9 @@ public function radioOption(string $value, string $title, string $description = { if ($field = $this->getLastField()) { $field = $field->withOption($value, $title, $description); + if (($this->values[$this->last_key] ?? null) === $value) { + $field = $field->withValue($value); + } $this->replaceLastField($field); } return $this; From 277f5e4ad6a40909edcac727231a3b1306937d88 Mon Sep 17 00:00:00 2001 From: Alexander Killing Date: Wed, 11 Feb 2026 17:40:43 +0100 Subject: [PATCH 631/865] =?UTF-8?q?43942:=20Failed=20test:=20Read=20only?= =?UTF-8?q?=20f=C3=BCr=20Administration?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ILIAS/Help/Administration/class.ilHelpModuleTableGUI.php | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/components/ILIAS/Help/Administration/class.ilHelpModuleTableGUI.php b/components/ILIAS/Help/Administration/class.ilHelpModuleTableGUI.php index e2fab9b5f5aa..7a0f4bc57477 100755 --- a/components/ILIAS/Help/Administration/class.ilHelpModuleTableGUI.php +++ b/components/ILIAS/Help/Administration/class.ilHelpModuleTableGUI.php @@ -60,9 +60,8 @@ public function __construct( $this->setFormAction($ilCtrl->getFormAction($a_parent_obj)); $this->setRowTemplate("tpl.help_module_row.html", "components/ILIAS/Help/Administration"); - $this->addCommandButton("saveOrdering", $lng->txt("sorting_save")); - if ($this->has_write_permission) { + $this->addCommandButton("saveOrdering", $lng->txt("sorting_save")); $this->addMultiCommand("confirmHelpModulesDeletion", $lng->txt("delete")); } } From fc66cf1064a4a195a30b9b531098789977a820b5 Mon Sep 17 00:00:00 2001 From: Alexander Killing Date: Wed, 11 Feb 2026 18:17:48 +0100 Subject: [PATCH 632/865] 45296: Missing lang var #exc_received_peer_feedback# --- .../ILIAS/Exercise/PeerReview/class.ilExPeerReviewGUI.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/components/ILIAS/Exercise/PeerReview/class.ilExPeerReviewGUI.php b/components/ILIAS/Exercise/PeerReview/class.ilExPeerReviewGUI.php index bc902b78aba9..5bd5d2eaef2b 100755 --- a/components/ILIAS/Exercise/PeerReview/class.ilExPeerReviewGUI.php +++ b/components/ILIAS/Exercise/PeerReview/class.ilExPeerReviewGUI.php @@ -378,7 +378,7 @@ public function buildSubmissionPropertiesAndActions(\ILIAS\Exercise\Assignment\P else { $builder->addProperty( $builder::SEC_PEER_FEEDBACK, - $lng->txt("exc_received_peer_feedback"), + $lng->txt("exc_received_feedback"), $lng->txt("exc_peer_review_show_received_none") ); } From a24248498fb6ff030835aef1e56bc7d100b23167 Mon Sep 17 00:00:00 2001 From: Alexander Killing Date: Wed, 11 Feb 2026 18:33:04 +0100 Subject: [PATCH 633/865] 44236: Exercise - Download Selected Submissions --- .../ILIAS/Exercise/Submission/SubmissionManager.php | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/components/ILIAS/Exercise/Submission/SubmissionManager.php b/components/ILIAS/Exercise/Submission/SubmissionManager.php index 9c02439198bb..d17a454deb79 100644 --- a/components/ILIAS/Exercise/Submission/SubmissionManager.php +++ b/components/ILIAS/Exercise/Submission/SubmissionManager.php @@ -620,10 +620,12 @@ protected function copySubmissionFilesToDir( $dir = $to_path . DIRECTORY_SEPARATOR . $targetdir; \ilFileUtils::makeDirParents($dir); $file = $dir . DIRECTORY_SEPARATOR . $targetfile; - file_put_contents( - $file, - $stream->getContents() - ); + if (!is_null($stream)) { + file_put_contents( + $file, + $stream->getContents() + ); + } // unzip blog/portfolio From f9de4c4e8919ab911befd3ea1e63f3030f2848f4 Mon Sep 17 00:00:00 2001 From: Alexander Killing Date: Wed, 11 Feb 2026 18:42:38 +0100 Subject: [PATCH 634/865] 33630: Duplicate 'variable_ID' in wsp#:#search_no_match#:#Your search did not match any results. --- .../PersonalWorkspace/classes/class.ilSingleUserShareGUI.php | 2 +- lang/ilias_de.lang | 2 +- lang/ilias_en.lang | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/components/ILIAS/PersonalWorkspace/classes/class.ilSingleUserShareGUI.php b/components/ILIAS/PersonalWorkspace/classes/class.ilSingleUserShareGUI.php index 8d989cb5d2e6..fc7e87106443 100755 --- a/components/ILIAS/PersonalWorkspace/classes/class.ilSingleUserShareGUI.php +++ b/components/ILIAS/PersonalWorkspace/classes/class.ilSingleUserShareGUI.php @@ -99,7 +99,7 @@ protected function saveShare(): void } $this->ctrl->returnToParent($this); } else { - $this->tpl->setOnScreenMessage('failure', $this->lng->txt('search_no_match'), true); + $this->tpl->setOnScreenMessage('failure', $this->lng->txt('wsp_search_no_match'), true); } } $this->ctrl->redirect($this); diff --git a/lang/ilias_de.lang b/lang/ilias_de.lang index 572793bce265..cd06a3e04483 100644 --- a/lang/ilias_de.lang +++ b/lang/ilias_de.lang @@ -17964,7 +17964,6 @@ wopi#:#wopi_url_byline#:#Vollständige URL des WOPI-Discovery, diese muss über wsp#:#element_already_shared#:#Die Ressource ist für diese Person bereits freigegeben. wsp#:#element_shared#:#Die Ressource wurde freigegeben. wsp#:#error_creating_certificate_pdf#:#Das Zertifikat konnte nicht erstellt werden. Bitte kontaktieren Sie Ihre technische Betreuung und bitten um die Prüfung des Zertifikatsservers. -wsp#:#search_no_match#:#Ihre Suche ergab keine Treffer. wsp#:#share#:#Freigeben wsp#:#share_content#:#Ressource freigeben wsp#:#share_with#:#Anmeldename @@ -17986,6 +17985,7 @@ wsp#:#wsp_permission_registered_info#:#Dieses Objekt ist für alle registrierten wsp#:#wsp_permission_removed#:#Der Eintrag wurde gelöscht. wsp#:#wsp_permissions#:#Freigabe wsp#:#wsp_personal_resources_description#:#Hier können Sie persönliche Dateien, Blogs und Nachweise verwalten. +wsp#:#wsp_search_no_match#:#Ihre Suche ergab keine Treffer. wsp#:#wsp_send_mail#:#Mail senden wsp#:#wsp_set_permission_all#:#Internet/WWW wsp#:#wsp_set_permission_all_password#:#Internet/WWW mit Passwort diff --git a/lang/ilias_en.lang b/lang/ilias_en.lang index 4f0b64fbe02a..5218ff5efbb5 100644 --- a/lang/ilias_en.lang +++ b/lang/ilias_en.lang @@ -17933,7 +17933,6 @@ wopi#:#wopi_url_byline#:#Complete URL of the WOPI Discovery, which must be acces wsp#:#element_already_shared#:#This object is already shared with this user. wsp#:#element_shared#:#Object shared. wsp#:#error_creating_certificate_pdf#:#The certificate could not be created. Please contact the administrator to check the certificate server. -wsp#:#search_no_match#:#Your search did not match any results. wsp#:#share#:#Share wsp#:#share_content#:#Share Object wsp#:#share_with#:#Username @@ -17955,6 +17954,7 @@ wsp#:#wsp_permission_registered_info#:#This object is shared with all registered wsp#:#wsp_permission_removed#:#Entry has been removed. wsp#:#wsp_permissions#:#Share wsp#:#wsp_personal_resources_description#:#Here you can manage your private files, blogs and artifacts. +wsp#:#wsp_search_no_match#:#Your search did not match any results. wsp#:#wsp_send_mail#:#Send Mail wsp#:#wsp_set_permission_all#:#World Wide Web wsp#:#wsp_set_permission_all_password#:#World Wide Web with Password From 8e7c15527532b60c40b0a75b52fe519989056e62 Mon Sep 17 00:00:00 2001 From: Alexander Killing Date: Wed, 11 Feb 2026 21:12:02 +0100 Subject: [PATCH 635/865] =?UTF-8?q?44687:=20Metadaten=20doppelt=20im=20Akt?= =?UTF-8?q?ionenmen=C3=BC=20im=20Kontextmen=C3=BC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Page/class.PageQueryActionHandler.php | 37 +++++++------------ 1 file changed, 14 insertions(+), 23 deletions(-) diff --git a/components/ILIAS/COPage/Page/class.PageQueryActionHandler.php b/components/ILIAS/COPage/Page/class.PageQueryActionHandler.php index 4e29040eea21..e75693a289df 100755 --- a/components/ILIAS/COPage/Page/class.PageQueryActionHandler.php +++ b/components/ILIAS/COPage/Page/class.PageQueryActionHandler.php @@ -370,39 +370,30 @@ public function getActionsDropDown(): \ILIAS\UI\Component\Dropdown\Standard $ctrl->getLinkTargetByClass([get_class($this->page_gui), "ilnewsitemgui"], "editNews") ); } + } + if ($this->page_gui->use_meta_data) { if (($md_link = $this->page_gui->getMetaDataLink()) !== "") { $items[] = $ui->factory()->link()->standard( $lng->txt("meta_data"), $md_link ); - } - } - - if ($this->page_gui->use_meta_data) { - $mdgui = new \ilObjectMetaDataGUI( - $this->page_gui->meta_data_rep_obj, - $this->page_gui->meta_data_type, - $this->page_gui->meta_data_sub_obj_id - ); - $mdtab = $mdgui->getTab(); - if ($mdtab) { - $items[] = $ui->factory()->link()->standard( - $lng->txt("meta_data"), - $mdtab + } else { + $mdgui = new \ilObjectMetaDataGUI( + $this->page_gui->meta_data_rep_obj, + $this->page_gui->meta_data_type, + $this->page_gui->meta_data_sub_obj_id ); + $mdtab = $mdgui->getTab(); + if ($mdtab) { + $items[] = $ui->factory()->link()->standard( + $lng->txt("meta_data"), + $mdtab + ); + } } } - - if ($this->page_gui->getEnabledNews()) { - $items[] = $ui->factory()->link()->standard( - $lng->txt("news"), - $ctrl->getLinkTargetByClass([get_class($this->page_gui), \ilNewsItemGUI::class], "editNews") - ); - } - - // additional page actions foreach ($this->page_gui->getAdditionalPageActions() as $item) { $items[] = $item; From 60a545f6e0af78e52cfbf7772f2bc74cacae230b Mon Sep 17 00:00:00 2001 From: Alexander Killing Date: Thu, 12 Feb 2026 08:16:20 +0100 Subject: [PATCH 636/865] tax: fixed taxonomy creation in categories --- .../ILIAS/Repository/classes/class.ilRepositoryGUI.php | 5 +---- .../GlobalScreen/classes/class.ilTaxonomyGSToolProvider.php | 4 +++- 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/components/ILIAS/Repository/classes/class.ilRepositoryGUI.php b/components/ILIAS/Repository/classes/class.ilRepositoryGUI.php index 8fdc66ff78c8..b69c69f693a1 100755 --- a/components/ILIAS/Repository/classes/class.ilRepositoryGUI.php +++ b/components/ILIAS/Repository/classes/class.ilRepositoryGUI.php @@ -134,14 +134,13 @@ public function executeCommand(): void ) { $this->ctrl->redirectToURL('./login.php?cmd=force_login'); } - $this->tool_context->claim()->repository(); // check creation mode // determined by "new_type" parameter $new_type = $this->request->getNewType(); - if ($new_type !== "" && $new_type !== "sty") { + if ($new_type !== "" && $new_type !== "sty" && $new_type !== "tax") { $this->creation_mode = true; $ilHelp->setScreenIdComponent($new_type); $ilHelp->setDefaultScreenId(ilHelpGUI::ID_PART_SCREEN, "create"); @@ -194,7 +193,6 @@ public function executeCommand(): void if ($cmd === "showRepTree") { $next_class = ""; } - switch ($next_class) { // forward asynchronous file uploads to the upload handler. // possible via dropzones in list guis or global template @@ -223,7 +221,6 @@ public function executeCommand(): void } $this->gui_obj->setCreationMode($this->creation_mode); $this->ctrl->setReturn($this, "return"); - $this->show(); } else { // $cmd = (string) $this->ctrl->getCmd(""); diff --git a/components/ILIAS/Taxonomy/GlobalScreen/classes/class.ilTaxonomyGSToolProvider.php b/components/ILIAS/Taxonomy/GlobalScreen/classes/class.ilTaxonomyGSToolProvider.php index 2cd06d51fded..e6bc46238de0 100755 --- a/components/ILIAS/Taxonomy/GlobalScreen/classes/class.ilTaxonomyGSToolProvider.php +++ b/components/ILIAS/Taxonomy/GlobalScreen/classes/class.ilTaxonomyGSToolProvider.php @@ -91,7 +91,9 @@ private function getEditTree(array $gui_path, int $tax_id, string $cmd, string $ $gui = $this->dic->taxonomy()->internal()->gui(); $params = $gui->http()->request()->getQueryParams(); $current_tax_node = (int) ($params["tax_node"] ?? null); - $tax_exp->setPathOpen($current_tax_node); + if ($current_tax_node > 0) { + $tax_exp->setPathOpen($current_tax_node); + } return $tax_exp->getHTML(); From 08ad373f1718cf0f99eb578c76e20439fcf1f4f6 Mon Sep 17 00:00:00 2001 From: Stephan Kergomard Date: Thu, 12 Feb 2026 09:57:06 +0100 Subject: [PATCH 637/865] User: Fix Duplicate Entries in Search See: https://mantis.ilias.de/view.php?id=47191 --- .../User/src/Search/class.EndpointGUI.php | 29 ++++++++++++------- 1 file changed, 18 insertions(+), 11 deletions(-) diff --git a/components/ILIAS/User/src/Search/class.EndpointGUI.php b/components/ILIAS/User/src/Search/class.EndpointGUI.php index 64eea85b7c1a..e61ef4adb64e 100644 --- a/components/ILIAS/User/src/Search/class.EndpointGUI.php +++ b/components/ILIAS/User/src/Search/class.EndpointGUI.php @@ -100,18 +100,25 @@ private function buildResponse(): string ]) ); - $response = array_map( - static fn(AutocompleteItem $v) => $v->getTagArray(), - array_merge( - $this->endpoint_configurator->getAdditionalAnswerElements( - $this->current_user, - $autocomplete_query + $response = array_values( + array_reduce( + array_merge( + $this->endpoint_configurator->getAdditionalAnswerElements( + $this->current_user, + $autocomplete_query + ), + $this->profile_data_repository->searchUsers( + $this->settings_data_repository, + $this->field_configuration_repository, + $autocomplete_query + ) ), - $this->profile_data_repository->searchUsers( - $this->settings_data_repository, - $this->field_configuration_repository, - $autocomplete_query - ) + static function (array $c, AutocompleteItem $v): array { + $tag_array = $v->getTagArray(); + $c[$tag_array['display']] = $tag_array; + return $c; + }, + [] ) ); From 49520271b6c0ffcf597a8ec1b084937ef222b8b0 Mon Sep 17 00:00:00 2001 From: Tim Schmitz Date: Thu, 12 Feb 2026 10:06:11 +0100 Subject: [PATCH 638/865] Poll: fix links written to navigation history (46936) --- components/ILIAS/Poll/classes/class.ilObjPollGUI.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/components/ILIAS/Poll/classes/class.ilObjPollGUI.php b/components/ILIAS/Poll/classes/class.ilObjPollGUI.php index 183c52b993c0..486177e82fef 100755 --- a/components/ILIAS/Poll/classes/class.ilObjPollGUI.php +++ b/components/ILIAS/Poll/classes/class.ilObjPollGUI.php @@ -274,7 +274,7 @@ public function executeCommand(): void // add entry to navigation history if (!$this->getCreationMode() && $this->getAccessHandler()->checkAccess("read", "", $this->node_id)) { - $link = $this->ctrl->getLinkTargetByClass("ilrepositorygui", "frameset"); + $link = $this->ctrl->getLinkTargetByClass("ilrepositorygui"); $this->nav_history->addItem($this->node_id, $link, "poll"); } From f59ca56eaf84f42f99d7fb235326d2acb50d5cfb Mon Sep 17 00:00:00 2001 From: Marvin Beym <79150442+mBeym@users.noreply.github.com> Date: Thu, 12 Feb 2026 11:09:20 +0100 Subject: [PATCH 639/865] ilSessionStatistics prepared statement & Generator (#10972) * Use PHP "Generators" * Use "Prepared Statements" --- .../classes/class.ilSessionStatistics.php | 139 ++++++++++++------ 1 file changed, 96 insertions(+), 43 deletions(-) diff --git a/components/ILIAS/Authentication/classes/class.ilSessionStatistics.php b/components/ILIAS/Authentication/classes/class.ilSessionStatistics.php index 8ed679c53efe..87ef2573771e 100755 --- a/components/ILIAS/Authentication/classes/class.ilSessionStatistics.php +++ b/components/ILIAS/Authentication/classes/class.ilSessionStatistics.php @@ -22,6 +22,10 @@ class ilSessionStatistics { private const int SLOT_SIZE = 15; + protected static ?ilDBStatement $number_of_active_raw_sessions_statement = null; + protected static ?ilDBStatement $aggregated_raw_data_statement = null; + protected static ?ilDBStatement $raw_data_statement = null; + /** * Is session statistics active at all? */ @@ -171,35 +175,26 @@ protected static function getNumberOfActiveRawSessions(int $a_time): int $ilDB = $DIC['ilDB']; - $sql = 'SELECT COUNT(*) counter FROM usr_session_stats_raw' . - ' WHERE (end_time IS NULL OR end_time >= ' . $ilDB->quote($a_time, 'integer') . ')' . - ' AND start_time <= ' . $ilDB->quote($a_time, 'integer') . - ' AND ' . $ilDB->in('type', ilSessionControl::$session_types_controlled, false, 'integer'); - $res = $ilDB->query($sql); - $row = $ilDB->fetchAssoc($res); + $statement = self::getNumberOfActiveRawSessionsPreparedStatement(); + $row = $DIC->database()->fetchAssoc($DIC->database()->execute($statement, [$a_time, $a_time])); return (int) $row['counter']; } /** * Read raw data for timespan + * @return Generator> */ - protected static function getRawData(int $a_begin, int $a_end): array + protected static function getRawData(int $a_begin, int $a_end): Generator { global $DIC; - $ilDB = $DIC['ilDB']; - - $sql = 'SELECT start_time,end_time,end_context FROM usr_session_stats_raw' . - ' WHERE start_time <= ' . $ilDB->quote($a_end, 'integer') . - ' AND (end_time IS NULL OR end_time >= ' . $ilDB->quote($a_begin, 'integer') . ')' . - ' AND ' . $ilDB->in('type', ilSessionControl::$session_types_controlled, false, 'integer') . - ' ORDER BY start_time'; - $res = $ilDB->query($sql); - $all = []; - while ($row = $ilDB->fetchAssoc($res)) { - $all[] = $row; + $res = $DIC->database()->execute( + self::getRawDataPreparedStatement(), + [$a_end, $a_begin] + ); + while ($row = $DIC->database()->fetchAssoc($res)) { + yield $row; } - return $all; } /** @@ -256,15 +251,76 @@ public static function aggretateRaw(int $a_now): void self::deleteAggregatedRaw($a_now); } - /** - * Aggregate statistics data for one slot - * - */ - public static function aggregateRawHelper(int $a_begin, int $a_end): void + protected static function getNumberOfActiveRawSessionsPreparedStatement(): ilDbStatement { - global $DIC; + if (self::$number_of_active_raw_sessions_statement === null) { + global $DIC; + self::$number_of_active_raw_sessions_statement = $DIC->database()->prepare( + 'SELECT COUNT(*) counter FROM usr_session_stats_raw ' + . 'WHERE (end_time IS NULL OR end_time >= ?) ' + . 'AND start_time <= ? ' + . 'AND ' . $DIC->database()->in('type', ilSessionControl::$session_types_controlled, false, 'integer'), + [ilDBConstants::T_INTEGER, ilDBConstants::T_INTEGER] + ); + } - $ilDB = $DIC['ilDB']; + return self::$number_of_active_raw_sessions_statement; + } + + protected static function getAggregatedRawDataPreparedStatement(): ilDBStatement + { + if (!self::$aggregated_raw_data_statement) { + global $DIC; + self::$aggregated_raw_data_statement = $DIC->database()->prepareManip( + 'UPDATE usr_session_stats ' + . 'SET active_min = ?, ' + . 'active_max = ?, ' + . 'active_avg = ?, ' + . 'active_end = ?, ' + . 'opened = ?, ' + . 'closed_manual = ?, ' + . 'closed_expire = ?, ' + . 'closed_login = ?, ' + . 'closed_misc = ? ' + . 'WHERE slot_begin = ? AND slot_end = ?', + [ + ilDBConstants::T_INTEGER, + ilDBConstants::T_INTEGER, + ilDBConstants::T_INTEGER, + ilDBConstants::T_INTEGER, + ilDBConstants::T_INTEGER, + ilDBConstants::T_INTEGER, + ilDBConstants::T_INTEGER, + ilDBConstants::T_INTEGER, + ilDBConstants::T_INTEGER, + ilDBConstants::T_INTEGER, + ilDBConstants::T_INTEGER + ] + ); + } + + return self::$aggregated_raw_data_statement; + } + + protected static function getRawDataPreparedStatement(): ilDBStatement + { + if (!self::$raw_data_statement) { + global $DIC; + self::$raw_data_statement = $DIC->database()->prepare( + 'SELECT start_time,end_time,end_context FROM usr_session_stats_raw' . + ' WHERE start_time <= %s' . + ' AND (end_time IS NULL OR end_time >= %s)' . + ' AND ' . $DIC->database()->in('type', ilSessionControl::$session_types_controlled, false, ilDBConstants::T_INTEGER) . + ' ORDER BY start_time', + [ilDBConstants::T_INTEGER, ilDBConstants::T_INTEGER] + ); + } + return self::$raw_data_statement; + } + + public static function aggregateRawHelper(int $a_begin, int $a_end) + { + global $DIC; // "relevant" closing types $separate_closed = [ @@ -355,24 +411,21 @@ public static function aggregateRawHelper(int $a_begin, int $a_end): void } unset($events); - // save aggregated data - $fields = [ - 'active_min' => ['integer', $active_min], - 'active_max' => ['integer', $active_max], - 'active_avg' => ['integer', $active_avg], - 'active_end' => ['integer', $active_end], - 'opened' => ['integer', $opened_counter], - 'closed_manual' => ['integer', (int) ($closed_counter[ilSession::SESSION_CLOSE_USER] ?? 0)], - 'closed_expire' => ['integer', (int) ($closed_counter[ilSession::SESSION_CLOSE_EXPIRE] ?? 0)], - 'closed_login' => ['integer', (int) ($closed_counter[ilSession::SESSION_CLOSE_LOGIN] ?? 0)], - 'closed_misc' => ['integer', (int) ($closed_counter[0] ?? 0)], - ]; - $ilDB->update( - 'usr_session_stats', - $fields, + + $DIC->database()->execute( + self::getAggregatedRawDataPreparedStatement(), [ - 'slot_begin' => ['integer', $a_begin], - 'slot_end' => ['integer', $a_end] + 'active_min' => $active_min, + 'active_max' => $active_max, + 'active_avg' => $active_avg, + 'active_end' => $active_end, + 'opened' => $opened_counter, + 'closed_manual' => (int) ($closed_counter[ilSession::SESSION_CLOSE_USER] ?? 0), + 'closed_expire' => (int) ($closed_counter[ilSession::SESSION_CLOSE_EXPIRE] ?? 0), + 'closed_login' => (int) ($closed_counter[ilSession::SESSION_CLOSE_LOGIN] ?? 0), + 'closed_misc' => (int) ($closed_counter[0] ?? 0), + 'slot_begin' => $a_begin, + 'slot_end' => $a_end, ] ); } From 0d110f7f4f44e9685e6364b3ec3374b5567416e6 Mon Sep 17 00:00:00 2001 From: Stephan Kergomard Date: Thu, 12 Feb 2026 11:51:10 +0100 Subject: [PATCH 640/865] Object/User: Fix Lookup of Name of Owner See: https://mantis.ilias.de/view.php?id=47238 --- components/ILIAS/ILIASObject/classes/class.ilObject.php | 2 +- components/ILIAS/User/src/Profile/DatabaseDataRepository.php | 4 +++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/components/ILIAS/ILIASObject/classes/class.ilObject.php b/components/ILIAS/ILIASObject/classes/class.ilObject.php index 0c77757f1da0..45825a269908 100755 --- a/components/ILIAS/ILIASObject/classes/class.ilObject.php +++ b/components/ILIAS/ILIASObject/classes/class.ilObject.php @@ -503,7 +503,7 @@ final public static function _lookupOwnerName(int $owner_id): string $owner = null; if ($owner_id != -1) { - if (ilObject::_exists($owner_id)) { + if (ilObjUser::userExists([$owner_id])) { $owner = new ilObjUser($owner_id); } } diff --git a/components/ILIAS/User/src/Profile/DatabaseDataRepository.php b/components/ILIAS/User/src/Profile/DatabaseDataRepository.php index 1f4c9dd0cfbe..1a36f3d79079 100644 --- a/components/ILIAS/User/src/Profile/DatabaseDataRepository.php +++ b/components/ILIAS/User/src/Profile/DatabaseDataRepository.php @@ -69,7 +69,9 @@ public function getSingle(int $id): Data $base_data = $this->db->fetchObject($base_query); if ($base_data === null) { - return $this->getDefault()->withId($id); + throw \InvalidArgumentException( + 'This user does not exist.' + ); } return $this->buildFromData( From e96ee84453da7c1fb02fc9514ee1c03e45b511af Mon Sep 17 00:00:00 2001 From: mjansen Date: Thu, 12 Feb 2026 12:06:01 +0100 Subject: [PATCH 641/865] [Feature] Authentication: Add missing types / Simplify code / Privatize / Fix typos --- ...class.ilAuthDestroyExpiredSessionsCron.php | 2 +- .../classes/class.ilSession.php | 2 +- .../classes/class.ilSessionStatistics.php | 187 ++++++++++-------- .../classes/class.ilSessionStatisticsGUI.php | 2 +- 4 files changed, 103 insertions(+), 90 deletions(-) diff --git a/components/ILIAS/Authentication/classes/Cron/class.ilAuthDestroyExpiredSessionsCron.php b/components/ILIAS/Authentication/classes/Cron/class.ilAuthDestroyExpiredSessionsCron.php index 20e7b429c4d0..7f38fe762170 100755 --- a/components/ILIAS/Authentication/classes/Cron/class.ilAuthDestroyExpiredSessionsCron.php +++ b/components/ILIAS/Authentication/classes/Cron/class.ilAuthDestroyExpiredSessionsCron.php @@ -87,7 +87,7 @@ public function run(): JobResult $result->setStatus(JobResult::STATUS_OK); $num_destroyed_sessions = ilSession::_destroyExpiredSessions(); - ilSessionStatistics::aggretateRaw(time()); + ilSessionStatistics::aggregateRaw(time()); $result->setMessage('Number of destroyed sessions: ' . $num_destroyed_sessions); return $result; diff --git a/components/ILIAS/Authentication/classes/class.ilSession.php b/components/ILIAS/Authentication/classes/class.ilSession.php index 2279aef3d375..cf9cef39f946 100755 --- a/components/ILIAS/Authentication/classes/class.ilSession.php +++ b/components/ILIAS/Authentication/classes/class.ilSession.php @@ -195,7 +195,7 @@ public static function _writeData(string $a_session_id, string $a_data): bool if ($r->getInt(0, 50) === 2) { // get time _before_ destroying expired sessions self::_destroyExpiredSessions(); - ilSessionStatistics::aggretateRaw($now); + ilSessionStatistics::aggregateRaw($now); } } diff --git a/components/ILIAS/Authentication/classes/class.ilSessionStatistics.php b/components/ILIAS/Authentication/classes/class.ilSessionStatistics.php index 87ef2573771e..9c0b97ede4c3 100755 --- a/components/ILIAS/Authentication/classes/class.ilSessionStatistics.php +++ b/components/ILIAS/Authentication/classes/class.ilSessionStatistics.php @@ -22,29 +22,25 @@ class ilSessionStatistics { private const int SLOT_SIZE = 15; - protected static ?ilDBStatement $number_of_active_raw_sessions_statement = null; - protected static ?ilDBStatement $aggregated_raw_data_statement = null; - protected static ?ilDBStatement $raw_data_statement = null; + private static ?ilDBStatement $number_of_active_raw_sessions_statement = null; + private static ?ilDBStatement $aggregated_raw_data_statement = null; + private static ?ilDBStatement $raw_data_statement = null; - /** - * Is session statistics active at all? - */ public static function isActive(): bool { global $DIC; + /** @var ilSetting $ilSetting */ $ilSetting = $DIC['ilSetting']; return (bool) $ilSetting->get('session_statistics', '1'); } - /** - * Create raw data entry - */ public static function createRawEntry(string $a_session_id, int $a_session_type, int $a_timestamp, int $a_user_id): void { global $DIC; + /** @var ilDBInterface $ilDB */ $ilDB = $DIC['ilDB']; if (!$a_user_id || !$a_session_id || !self::isActive()) { @@ -53,31 +49,28 @@ public static function createRawEntry(string $a_session_id, int $a_session_type, // #9669: if a session was destroyed and somehow the session id is still // in use there will be a id-collision for the raw-entry - $ilDB->replace( 'usr_session_stats_raw', [ - 'session_id' => ['text', $a_session_id] + 'session_id' => [ilDBConstants::T_TEXT, $a_session_id] ], [ - 'type' => ['integer', $a_session_type], - 'start_time' => ['integer', $a_timestamp], - 'user_id' => ['integer', $a_user_id] + 'type' => [ilDBConstants::T_INTEGER, $a_session_type], + 'start_time' => [ilDBConstants::T_INTEGER, $a_timestamp], + 'user_id' => [ilDBConstants::T_INTEGER, $a_user_id] ] ); } /** - * Close raw data entry - * - * @param int|array $a_session_id - * @param int $a_context + * @param string|list $a_session_id * @param int|bool $a_expired_at */ public static function closeRawEntry($a_session_id, ?int $a_context = null, $a_expired_at = null): void { global $DIC; + /** @var ilDBInterface $ilDB */ $ilDB = $DIC['ilDB']; if (!self::isActive()) { @@ -92,22 +85,22 @@ public static function closeRawEntry($a_session_id, ?int $a_context = null, $a_e $end_time = time(); } $sql = 'UPDATE usr_session_stats_raw' . - ' SET end_time = ' . $ilDB->quote($end_time, 'integer'); + ' SET end_time = ' . $ilDB->quote($end_time, ilDBConstants::T_INTEGER); if ($a_context) { - $sql .= ',end_context = ' . $ilDB->quote($a_context, 'integer'); + $sql .= ', end_context = ' . $ilDB->quote($a_context, ilDBConstants::T_INTEGER); } - $sql .= ' WHERE session_id = ' . $ilDB->quote($a_session_id, 'text') . + $sql .= ' WHERE session_id = ' . $ilDB->quote($a_session_id, ilDBConstants::T_TEXT) . ' AND end_time IS NULL'; $ilDB->manipulate($sql); } // batch closing elseif (!$a_expired_at) { $sql = 'UPDATE usr_session_stats_raw' . - ' SET end_time = ' . $ilDB->quote(time(), 'integer'); + ' SET end_time = ' . $ilDB->quote(time(), ilDBConstants::T_INTEGER); if ($a_context) { - $sql .= ',end_context = ' . $ilDB->quote($a_context, 'integer'); + $sql .= ', end_context = ' . $ilDB->quote($a_context, ilDBConstants::T_INTEGER); } - $sql .= ' WHERE ' . $ilDB->in('session_id', $a_session_id, false, 'text') . + $sql .= ' WHERE ' . $ilDB->in('session_id', $a_session_id, false, ilDBConstants::T_TEXT) . ' AND end_time IS NULL'; $ilDB->manipulate($sql); } @@ -115,11 +108,11 @@ public static function closeRawEntry($a_session_id, ?int $a_context = null, $a_e else { foreach ($a_session_id as $id => $ts) { $sql = 'UPDATE usr_session_stats_raw' . - ' SET end_time = ' . $ilDB->quote($ts, 'integer'); + ' SET end_time = ' . $ilDB->quote($ts, ilDBConstants::T_INTEGER); if ($a_context) { - $sql .= ',end_context = ' . $ilDB->quote($a_context, 'integer'); + $sql .= ', end_context = ' . $ilDB->quote($a_context, ilDBConstants::T_INTEGER); } - $sql .= ' WHERE session_id = ' . $ilDB->quote($id, 'text') . + $sql .= ' WHERE session_id = ' . $ilDB->quote($id, ilDBConstants::T_TEXT) . ' AND end_time IS NULL'; $ilDB->manipulate($sql); } @@ -128,18 +121,17 @@ public static function closeRawEntry($a_session_id, ?int $a_context = null, $a_e /** * Get next slot to aggregate - * - * @return array begin, end + * @return array{0: int, 1: int}|null */ - protected static function getCurrentSlot(int $a_now): ?array + private static function getCurrentSlot(int $a_now): ?array { global $DIC; + /** @var ilDBInterface $ilDB */ $ilDB = $DIC['ilDB']; // get latest slot in db - $sql = 'SELECT MAX(slot_end) previous_slot_end' . - ' FROM usr_session_stats'; + $sql = 'SELECT MAX(slot_end) previous_slot_end FROM usr_session_stats'; $res = $ilDB->query($sql); $row = $ilDB->fetchAssoc($res); $previous_slot_end = $row['previous_slot_end']; @@ -166,46 +158,53 @@ protected static function getCurrentSlot(int $a_now): ?array if ($current_slot_end < $a_now) { return [$current_slot_begin, $current_slot_end]; } + return null; } - protected static function getNumberOfActiveRawSessions(int $a_time): int + private static function getNumberOfActiveRawSessions(int $a_time): int { global $DIC; + /** @var ilDBInterface $ilDB */ $ilDB = $DIC['ilDB']; - $statement = self::getNumberOfActiveRawSessionsPreparedStatement(); - $row = $DIC->database()->fetchAssoc($DIC->database()->execute($statement, [$a_time, $a_time])); - return (int) $row['counter']; + return (int) $ilDB->fetchAssoc( + $ilDB->execute( + self::getNumberOfActiveRawSessionsPreparedStatement(), + [$a_time, $a_time] + ) + )['counter']; } /** - * Read raw data for timespan - * @return Generator> + * @return Generator */ - protected static function getRawData(int $a_begin, int $a_end): Generator + private static function getRawData(int $a_begin, int $a_end): Generator { global $DIC; - $res = $DIC->database()->execute( + /** @var ilDBInterface $ilDB */ + $ilDB = $DIC['ilDB']; + + $res = $ilDB->execute( self::getRawDataPreparedStatement(), [$a_end, $a_begin] ); - while ($row = $DIC->database()->fetchAssoc($res)) { + while ($row = $ilDB->fetchAssoc($res)) { yield $row; } } /** * Create new slot (using table lock) - * - * @return array begin, end + * @return array{0: int, 1: int}|null */ - protected static function createNewAggregationSlot(int $a_now): ?array + private static function createNewAggregationSlot(int $a_now): ?array { global $DIC; + /** @var ilDBInterface $ilDB */ $ilDB = $DIC['ilDB']; $ilAtomQuery = $ilDB->buildAtomQuery(); @@ -221,8 +220,8 @@ protected static function createNewAggregationSlot(int $a_now): ?array // save slot to mark as taken $fields = [ - 'slot_begin' => ['integer', $slot[0]], - 'slot_end' => ['integer', $slot[1]], + 'slot_begin' => [ilDBConstants::T_INTEGER, $slot[0]], + 'slot_end' => [ilDBConstants::T_INTEGER, $slot[1]], ]; $ilDB->insert('usr_session_stats', $fields); }); @@ -232,10 +231,7 @@ protected static function createNewAggregationSlot(int $a_now): ?array return $slot; } - /** - * Aggregate raw session data (older than given time) - */ - public static function aggretateRaw(int $a_now): void + public static function aggregateRaw(int $a_now): void { if (!self::isActive()) { return; @@ -251,15 +247,19 @@ public static function aggretateRaw(int $a_now): void self::deleteAggregatedRaw($a_now); } - protected static function getNumberOfActiveRawSessionsPreparedStatement(): ilDbStatement + private static function getNumberOfActiveRawSessionsPreparedStatement(): ilDBStatement { if (self::$number_of_active_raw_sessions_statement === null) { global $DIC; - self::$number_of_active_raw_sessions_statement = $DIC->database()->prepare( + + /** @var ilDBInterface $ilDB */ + $ilDB = $DIC['ilDB']; + + self::$number_of_active_raw_sessions_statement = $ilDB->prepare( 'SELECT COUNT(*) counter FROM usr_session_stats_raw ' . 'WHERE (end_time IS NULL OR end_time >= ?) ' . 'AND start_time <= ? ' - . 'AND ' . $DIC->database()->in('type', ilSessionControl::$session_types_controlled, false, 'integer'), + . 'AND ' . $ilDB->in('type', ilSessionControl::$session_types_controlled, false, ilDBConstants::T_INTEGER), [ilDBConstants::T_INTEGER, ilDBConstants::T_INTEGER] ); } @@ -267,11 +267,15 @@ protected static function getNumberOfActiveRawSessionsPreparedStatement(): ilDbS return self::$number_of_active_raw_sessions_statement; } - protected static function getAggregatedRawDataPreparedStatement(): ilDBStatement + private static function getAggregatedRawDataPreparedStatement(): ilDBStatement { if (!self::$aggregated_raw_data_statement) { global $DIC; - self::$aggregated_raw_data_statement = $DIC->database()->prepareManip( + + /** @var ilDBInterface $ilDB */ + $ilDB = $DIC['ilDB']; + + self::$aggregated_raw_data_statement = $ilDB->prepareManip( 'UPDATE usr_session_stats ' . 'SET active_min = ?, ' . 'active_max = ?, ' @@ -302,15 +306,19 @@ protected static function getAggregatedRawDataPreparedStatement(): ilDBStatement return self::$aggregated_raw_data_statement; } - protected static function getRawDataPreparedStatement(): ilDBStatement + private static function getRawDataPreparedStatement(): ilDBStatement { if (!self::$raw_data_statement) { global $DIC; - self::$raw_data_statement = $DIC->database()->prepare( - 'SELECT start_time,end_time,end_context FROM usr_session_stats_raw' . - ' WHERE start_time <= %s' . - ' AND (end_time IS NULL OR end_time >= %s)' . - ' AND ' . $DIC->database()->in('type', ilSessionControl::$session_types_controlled, false, ilDBConstants::T_INTEGER) . + + /** @var ilDBInterface $ilDB */ + $ilDB = $DIC['ilDB']; + + self::$raw_data_statement = $ilDB->prepare( + 'SELECT start_time, end_time, end_context FROM usr_session_stats_raw' . + ' WHERE start_time <= ?' . + ' AND (end_time IS NULL OR end_time >= ?)' . + ' AND ' . $ilDB->in('type', ilSessionControl::$session_types_controlled, false, ilDBConstants::T_INTEGER) . ' ORDER BY start_time', [ilDBConstants::T_INTEGER, ilDBConstants::T_INTEGER] ); @@ -318,10 +326,13 @@ protected static function getRawDataPreparedStatement(): ilDBStatement return self::$raw_data_statement; } - public static function aggregateRawHelper(int $a_begin, int $a_end) + private static function aggregateRawHelper(int $a_begin, int $a_end): void { global $DIC; + /** @var ilDBInterface $ilDB */ + $ilDB = $DIC['ilDB']; + // "relevant" closing types $separate_closed = [ ilSession::SESSION_CLOSE_USER, @@ -330,7 +341,8 @@ public static function aggregateRawHelper(int $a_begin, int $a_end) ]; // gather/process data (build event timeline) - $closed_counter = $events = []; + $events = []; + $closed_counter = $events; $opened_counter = 0; foreach (self::getRawData($a_begin, $a_end) as $item) { // open/close counters are _not_ time related @@ -360,11 +372,14 @@ public static function aggregateRawHelper(int $a_begin, int $a_end) } } - // initialising active statistical values + // initializing active statistical values $active_begin = self::getNumberOfActiveRawSessions($a_begin - 1); - $active_end = $active_min = $active_max = $active_avg = $active_begin; + $active_avg = $active_begin; + $active_max = $active_begin; + $active_min = $active_begin; + $active_end = $active_begin; - // parsing events / building avergages + // parsing events / building averages if (count($events)) { $last_update_avg = $a_begin - 1; $slot_seconds = self::SLOT_SIZE * 60; @@ -411,8 +426,7 @@ public static function aggregateRawHelper(int $a_begin, int $a_end) } unset($events); - - $DIC->database()->execute( + $ilDB->execute( self::getAggregatedRawDataPreparedStatement(), [ 'active_min' => $active_min, @@ -425,18 +439,16 @@ public static function aggregateRawHelper(int $a_begin, int $a_end) 'closed_login' => (int) ($closed_counter[ilSession::SESSION_CLOSE_LOGIN] ?? 0), 'closed_misc' => (int) ($closed_counter[0] ?? 0), 'slot_begin' => $a_begin, - 'slot_end' => $a_end, + 'slot_end' => $a_end ] ); } - /** - * Remove already aggregated raw data - */ - protected static function deleteAggregatedRaw(int $a_now): void + private static function deleteAggregatedRaw(int $a_now): void { global $DIC; + /** @var ilDBInterface $ilDB */ $ilDB = $DIC['ilDB']; // we are rather defensive here - 7 days BEFORE current aggregation @@ -444,31 +456,33 @@ protected static function deleteAggregatedRaw(int $a_now): void $ilDB->manipulate( 'DELETE FROM usr_session_stats_raw' . - ' WHERE start_time <= ' . $ilDB->quote($cut, 'integer') + ' WHERE start_time <= ' . $ilDB->quote($cut, ilDBConstants::T_INTEGER) ); } /** - * Get session counters by type (opened, closed) + * @return array{opened: int, closed_manual: int, closed_expire: int, closed_login: int, closed_misc: int} */ public static function getNumberOfSessionsByType(int $a_from, int $a_to): array { global $DIC; + /** @var ilDBInterface $ilDB */ $ilDB = $DIC['ilDB']; $sql = 'SELECT SUM(opened) opened, SUM(closed_manual) closed_manual,' . ' SUM(closed_expire) closed_expire,' . ' SUM(closed_login) closed_login, SUM(closed_misc) closed_misc' . ' FROM usr_session_stats' . - ' WHERE slot_end > ' . $ilDB->quote($a_from, 'integer') . - ' AND slot_begin < ' . $ilDB->quote($a_to, 'integer'); + ' WHERE slot_end > ' . $ilDB->quote($a_from, ilDBConstants::T_INTEGER) . + ' AND slot_begin < ' . $ilDB->quote($a_to, ilDBConstants::T_INTEGER); $res = $ilDB->query($sql); + return $ilDB->fetchAssoc($res); } /** - * Get active sessions aggregated data + * @return list */ public static function getActiveSessions(int $a_from, int $a_to): array { @@ -479,18 +493,16 @@ public static function getActiveSessions(int $a_from, int $a_to): array $sql = 'SELECT slot_begin, slot_end, active_min, active_max, active_avg' . ' FROM usr_session_stats' . - ' WHERE slot_end > ' . $ilDB->quote($a_from, 'integer') . - ' AND slot_begin < ' . $ilDB->quote($a_to, 'integer') . + ' WHERE slot_end > ' . $ilDB->quote($a_from, ilDBConstants::T_INTEGER) . + ' AND slot_begin < ' . $ilDB->quote($a_to, ilDBConstants::T_INTEGER) . ' ORDER BY slot_begin'; $res = $ilDB->query($sql); + $all = []; while ($row = $ilDB->fetchAssoc($res)) { - $entry = []; - foreach ($row as $key => $value) { - $entry[$key] = (int) $value; - } - $all[] = $entry; + $all[] = array_map(intval(...), $row); } + return $all; } @@ -503,12 +515,13 @@ public static function getLastAggregation(): ?int $ilDB = $DIC['ilDB']; - $sql = 'SELECT max(slot_end) latest FROM usr_session_stats'; + $sql = 'SELECT MAX(slot_end) latest FROM usr_session_stats'; $res = $ilDB->query($sql); $row = $ilDB->fetchAssoc($res); - if ($row['latest']) { + if ($row['latest'] !== null) { return (int) $row['latest']; } + //TODO check if return null as timestamp causes issues return null; } diff --git a/components/ILIAS/Authentication/classes/class.ilSessionStatisticsGUI.php b/components/ILIAS/Authentication/classes/class.ilSessionStatisticsGUI.php index f376c171789f..890937ba001e 100755 --- a/components/ILIAS/Authentication/classes/class.ilSessionStatisticsGUI.php +++ b/components/ILIAS/Authentication/classes/class.ilSessionStatisticsGUI.php @@ -736,7 +736,7 @@ protected function adminSync(): void // see ilSession::_writeData() $now = time(); ilSession::_destroyExpiredSessions(); - ilSessionStatistics::aggretateRaw($now); + ilSessionStatistics::aggregateRaw($now); $this->tpl->setOnScreenMessage('success', $this->lng->txt('trac_sync_session_stats_success'), true); $this->ilCtrl->redirect($this); From 241f68e102c1614eb9436b138230856dca8c9130 Mon Sep 17 00:00:00 2001 From: Christoph Ludolf Date: Thu, 12 Feb 2026 12:10:11 +0100 Subject: [PATCH 642/865] Session: add default return values to _lookupAppointment if an appointment does not exist --- .../ILIAS/Session/classes/class.ilSessionAppointment.php | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/components/ILIAS/Session/classes/class.ilSessionAppointment.php b/components/ILIAS/Session/classes/class.ilSessionAppointment.php index 9b79501b6f18..5860206fd4df 100755 --- a/components/ILIAS/Session/classes/class.ilSessionAppointment.php +++ b/components/ILIAS/Session/classes/class.ilSessionAppointment.php @@ -72,7 +72,11 @@ public static function _lookupAppointment(int $a_obj_id): array return $info; } - return []; + return [ + 'fullday' => 0, + 'start' => 0, + 'end' => 0, + ]; } /** From 8527f278542a21a97e706e5527ba67f146d5a44f Mon Sep 17 00:00:00 2001 From: Alexander Killing Date: Thu, 12 Feb 2026 12:44:55 +0100 Subject: [PATCH 643/865] 45037: Description texts under the fields Upload File and External URL in Media Pools are interchanged --- .../PC/MediaObject/class.ilPCMediaObjectEditorGUI.php | 7 ++++++- .../MediaObjects/Creation/class.ilMediaCreationGUI.php | 4 ++-- .../MediaObjects/MediaType/class.MediaTypeManager.php | 8 ++++++-- 3 files changed, 14 insertions(+), 5 deletions(-) diff --git a/components/ILIAS/COPage/PC/MediaObject/class.ilPCMediaObjectEditorGUI.php b/components/ILIAS/COPage/PC/MediaObject/class.ilPCMediaObjectEditorGUI.php index f3835e7b3115..92b181b8325e 100755 --- a/components/ILIAS/COPage/PC/MediaObject/class.ilPCMediaObjectEditorGUI.php +++ b/components/ILIAS/COPage/PC/MediaObject/class.ilPCMediaObjectEditorGUI.php @@ -221,6 +221,8 @@ public function getRenderedUrlForm( public function getUrlForm( ilLanguage $lng ): ilPropertyFormGUI { + global $DIC; + $media_types = $DIC->mediaObjects()->internal()->domain()->mediaType(); $form = new ilPropertyFormGUI(); $form->setShowTopButtons(false); @@ -240,8 +242,11 @@ public function getUrlForm( $form->addItem($hi3); // standard reference + $lng->loadLanguageModule("mob"); $ti = new ilTextInputGUI($lng->txt("url"), "standard_reference"); - $ti->setInfo($lng->txt("cont_url_info")); + $info = $lng->txt("mob_url_info1") . " " . implode(", ", iterator_to_array($media_types->getAllowedSuffixes())) . "."; + $info .= " " . $lng->txt("mob_url_info_video"); + $ti->setInfo($info); $ti->setRequired(true); $form->addItem($ti); diff --git a/components/ILIAS/MediaObjects/Creation/class.ilMediaCreationGUI.php b/components/ILIAS/MediaObjects/Creation/class.ilMediaCreationGUI.php index 7141d5766799..2e18477fb7e3 100755 --- a/components/ILIAS/MediaObjects/Creation/class.ilMediaCreationGUI.php +++ b/components/ILIAS/MediaObjects/Creation/class.ilMediaCreationGUI.php @@ -170,7 +170,7 @@ protected function getMimeTypes($local_only = false): array { $mimes = []; if (in_array(self::TYPE_ALL, $this->accept_types)) { - $mimes = iterator_to_array($this->type_manager->getAllowedMimeTypes()); + $mimes = iterator_to_array($this->type_manager->getAllowedMimeTypes($local_only)); } if (in_array(self::TYPE_VIDEO, $this->accept_types)) { $mimes = array_merge($mimes, iterator_to_array($this->type_manager->getAllowedVideoMimeTypes($local_only))); @@ -287,7 +287,7 @@ public function initUrlForm(): ilPropertyFormGUI // $ti = new \ilTextInputGUI($lng->txt("mob_url"), "url"); $info = $lng->txt("mob_url_info1") . " " . implode(", ", $this->getSuffixes()) . "."; - if (in_array(self::TYPE_VIDEO, $this->accept_types)) { + if (in_array(self::TYPE_VIDEO, $this->accept_types) || in_array(self::TYPE_ALL, $this->accept_types)) { $info .= " " . $lng->txt("mob_url_info_video"); } $ti->setInfo($info); diff --git a/components/ILIAS/MediaObjects/MediaType/class.MediaTypeManager.php b/components/ILIAS/MediaObjects/MediaType/class.MediaTypeManager.php index 0c5914549ab8..3bf78e2c7c99 100755 --- a/components/ILIAS/MediaObjects/MediaType/class.MediaTypeManager.php +++ b/components/ILIAS/MediaObjects/MediaType/class.MediaTypeManager.php @@ -220,9 +220,13 @@ public function getMimeTypes(): \Iterator } } - public function getAllowedMimeTypes(): \Iterator + public function getAllowedMimeTypes(bool $local_only = false): \Iterator { - return $this->getAllowedSubset($this->getMimeTypes()); + foreach ($this->getAllowedSubset($this->getMimeTypes()) as $mime) { + if (!$local_only || !in_array($mime, ["video/vimeo", "video/youtube"])) { + yield $mime; + } + } } public function getVideoMimeTypes(bool $local_only = false): \Iterator From e1c8a0222e6a27fbbdcdba9880f27df40bb7b5a3 Mon Sep 17 00:00:00 2001 From: Stefan Meyer Date: Thu, 12 Feb 2026 12:47:38 +0100 Subject: [PATCH 644/865] RPC: switched to log4j-bom --- components/ILIAS/WebServices/RPC/lib/pom.xml | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/components/ILIAS/WebServices/RPC/lib/pom.xml b/components/ILIAS/WebServices/RPC/lib/pom.xml index 07d04a49ffbe..98192c0aa1b8 100755 --- a/components/ILIAS/WebServices/RPC/lib/pom.xml +++ b/components/ILIAS/WebServices/RPC/lib/pom.xml @@ -5,7 +5,7 @@ 4.0.0 de.ilias.ilserver ilServer - 11.0.1 + 11.0.2 ilServer @@ -88,6 +88,13 @@ pom import + + org.apache.logging.log4j + log4j-bom + 2.25.3 + pom + import + @@ -101,31 +108,26 @@ org.apache.logging.log4j log4j-core - 2.23.1 org.apache.logging.log4j log4j-api - 2.23.1 org.apache.logging.log4j log4j-jcl - 2.23.1 org.apache.logging.log4j log4j-slf4j-impl - 2.23.1 org.apache.logging.log4j log4j-1.2-api - 2.23.1 From 18632c692e2a967a073e965658ac4c172fa44faf Mon Sep 17 00:00:00 2001 From: Tim Schmitz Date: Thu, 12 Feb 2026 13:16:34 +0100 Subject: [PATCH 645/865] Tracking: fix details action in lp progress block (46962) --- .../classes/class.ilLPProgressBlockGUI.php | 31 +++++++++++++++++++ lang/ilias_de.lang | 1 + lang/ilias_en.lang | 1 + 3 files changed, 33 insertions(+) diff --git a/components/ILIAS/Tracking/classes/class.ilLPProgressBlockGUI.php b/components/ILIAS/Tracking/classes/class.ilLPProgressBlockGUI.php index 4cdbcafa6542..f9027f5ec894 100644 --- a/components/ILIAS/Tracking/classes/class.ilLPProgressBlockGUI.php +++ b/components/ILIAS/Tracking/classes/class.ilLPProgressBlockGUI.php @@ -43,6 +43,7 @@ public function __construct() $this->setBlockId('lpprogress_' . $this->ctrl->getContextObjId()); $this->setTitle($this->lng->txt('trac_progress_block_title')); $this->setPresentation(self::PRES_SEC_LEG); + $this->setActions(); } public function getBlockType(): string @@ -55,6 +56,11 @@ protected function isRepositoryObject(): bool return false; } + protected function getListItemForData(array $data): ?\ILIAS\UI\Component\Item\Item + { + return parent::getListItemForData($data); // TODO: Change the autogenerated stub + } + protected function getLegacyContent(): string { $filter = $this->data_retrieval @@ -81,4 +87,29 @@ protected function getLegacyContent(): string $mode_and_status ]); } + + protected function setActions(): void + { + $read_only_allowed = true; + if ($this->supportsMembers($this->requested_ref_id)) { + $read_only_allowed = ilParticipants::_isParticipant($this->requested_ref_id, $this->user->getId()); + } + if (!ilLearningProgressAccess::checkAccess($this->requested_ref_id, $read_only_allowed)) { + return; + } + $this->ctrl->setParameterByClass(ilLearningProgressGUI::class, 'ref_id', $this->requested_ref_id); + $link = $this->ctrl->getLinkTargetByClass(ilLearningProgressGUI::class); + $this->ctrl->clearParameterByClass(ilLearningProgressGUI::class, 'ref_id'); + $this->addBlockCommand($link, $this->lng->txt('trac_progress_block_details')); + } + + protected function supportsMembers(int $ref_id): bool + { + try { + ilParticipants::getInstance($ref_id); + return true; + } catch (Exception) { + return false; + } + } } diff --git a/lang/ilias_de.lang b/lang/ilias_de.lang index cd06a3e04483..9de27d273a30 100644 --- a/lang/ilias_de.lang +++ b/lang/ilias_de.lang @@ -17376,6 +17376,7 @@ trac#:#trac_paths#:#Pfade trac#:#trac_percentage#:#Prozent trac#:#trac_periodic_system_load#:#Periodische Lastdarstellung trac#:#trac_progress#:#Persönlicher Lernfortschritt +trac#:#trac_progress_block_details#:#Details anzeigen trac#:#trac_progress_block_title#:#Ihr Lernfortschritt trac#:#trac_read_count#:#Zugriffe trac#:#trac_read_count_spent_seconds#:#Bearbeitungszeit / Zugriffe diff --git a/lang/ilias_en.lang b/lang/ilias_en.lang index 5218ff5efbb5..6bd2c81de75a 100644 --- a/lang/ilias_en.lang +++ b/lang/ilias_en.lang @@ -17345,6 +17345,7 @@ trac#:#trac_paths#:#Paths trac#:#trac_percentage#:#Percentage trac#:#trac_periodic_system_load#:#Periodic trac#:#trac_progress#:#Personal Learning Progress +trac#:#trac_progress_block_details#:#View Details trac#:#trac_progress_block_title#:#Your Learning Progress trac#:#trac_read_count#:#Access Number trac#:#trac_read_count_spent_seconds#:#Time Spent / Access From e0fec403a68ebd64130041f704c76b3d249087bb Mon Sep 17 00:00:00 2001 From: Tim Schmitz Date: Thu, 12 Feb 2026 13:18:04 +0100 Subject: [PATCH 646/865] Tracking: fix last commit --- .../ILIAS/Tracking/classes/class.ilLPProgressBlockGUI.php | 5 ----- 1 file changed, 5 deletions(-) diff --git a/components/ILIAS/Tracking/classes/class.ilLPProgressBlockGUI.php b/components/ILIAS/Tracking/classes/class.ilLPProgressBlockGUI.php index f9027f5ec894..80894e93a3c9 100644 --- a/components/ILIAS/Tracking/classes/class.ilLPProgressBlockGUI.php +++ b/components/ILIAS/Tracking/classes/class.ilLPProgressBlockGUI.php @@ -56,11 +56,6 @@ protected function isRepositoryObject(): bool return false; } - protected function getListItemForData(array $data): ?\ILIAS\UI\Component\Item\Item - { - return parent::getListItemForData($data); // TODO: Change the autogenerated stub - } - protected function getLegacyContent(): string { $filter = $this->data_retrieval From eeb97eaf94ff86c4ae375039fed72a4cec58838a Mon Sep 17 00:00:00 2001 From: "Alex Hartwig (Qualitus)" Date: Thu, 12 Feb 2026 13:44:06 +0100 Subject: [PATCH 647/865] Fix Mantis #45285: imsmanifest.xml not found (#11051) --- .../ScormAicc/classes/class.ilObjSAHSLearningModuleGUI.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/components/ILIAS/ScormAicc/classes/class.ilObjSAHSLearningModuleGUI.php b/components/ILIAS/ScormAicc/classes/class.ilObjSAHSLearningModuleGUI.php index 073295e1523c..f83c4081fe9b 100755 --- a/components/ILIAS/ScormAicc/classes/class.ilObjSAHSLearningModuleGUI.php +++ b/components/ILIAS/ScormAicc/classes/class.ilObjSAHSLearningModuleGUI.php @@ -429,7 +429,7 @@ public function uploadObject(): void $newObj->getDataDirectory(), false, false, - true + false ); } ilFileUtils::renameExecutables($newObj->getDataDirectory()); From c479e069cd89d8aa2349853161678bbde0121140 Mon Sep 17 00:00:00 2001 From: Fabian Helfer <82493694+fhelfer@users.noreply.github.com> Date: Thu, 12 Feb 2026 14:13:39 +0100 Subject: [PATCH 648/865] [FIX] #46465 UI: remove duplicate `Input\Container\Form\Standard` buttons. (#10812) * Fixes https://mantis.ilias.de/view.php?id=46465 * Remove duplicate submit- and additional action-buttons from standard form headers * Update rendering unit tests --- .../Component/Input/Container/Form/Renderer.php | 6 ------ .../UI/src/templates/default/Input/tpl.standard.html | 6 ------ .../Input/Container/Form/StandardFormTest.php | 12 +----------- 3 files changed, 1 insertion(+), 23 deletions(-) diff --git a/components/ILIAS/UI/src/Implementation/Component/Input/Container/Form/Renderer.php b/components/ILIAS/UI/src/Implementation/Component/Input/Container/Form/Renderer.php index 5871981dfe04..0f3a5194229e 100755 --- a/components/ILIAS/UI/src/Implementation/Component/Input/Container/Form/Renderer.php +++ b/components/ILIAS/UI/src/Implementation/Component/Input/Container/Form/Renderer.php @@ -52,11 +52,6 @@ protected function renderStandard(Form\Standard $component, RendererInterface $d $additional_form_actions = $component->getAdditionalFormActions(); foreach ($additional_form_actions as $action => $label) { - $tpl->setCurrentBlock('with_additional_form_action_top'); - $tpl->setVariable('ACTION_TOP', $action); - $tpl->setVariable('ACTION_LABEL_TOP', $label); - $tpl->parseCurrentBlock(); - $tpl->setCurrentBlock('with_additional_form_action_bottom'); $tpl->setVariable('ACTION_BOTTOM', $action); $tpl->setVariable('ACTION_LABEL_BOTTOM', $label); @@ -74,7 +69,6 @@ protected function renderStandard(Form\Standard $component, RendererInterface $d "" ); - $tpl->setVariable("BUTTONS_TOP", $default_renderer->render($main_submit_button)); $tpl->setVariable("BUTTONS_BOTTOM", $default_renderer->render($main_submit_button)); $tpl->setVariable("INPUTS", $default_renderer->render($component->getInputGroup())); diff --git a/components/ILIAS/UI/src/templates/default/Input/tpl.standard.html b/components/ILIAS/UI/src/templates/default/Input/tpl.standard.html index 5c5a797b0c24..09b76eb03d0c 100755 --- a/components/ILIAS/UI/src/templates/default/Input/tpl.standard.html +++ b/components/ILIAS/UI/src/templates/default/Input/tpl.standard.html @@ -1,11 +1,5 @@ action="{URL}" method="post">
-
- - - - {BUTTONS_TOP} -
* {TXT_REQUIRED_TOP} diff --git a/components/ILIAS/UI/tests/Component/Input/Container/Form/StandardFormTest.php b/components/ILIAS/UI/tests/Component/Input/Container/Form/StandardFormTest.php index fc8bc1fa0b6e..f9db51cac6af 100755 --- a/components/ILIAS/UI/tests/Component/Input/Container/Form/StandardFormTest.php +++ b/components/ILIAS/UI/tests/Component/Input/Container/Form/StandardFormTest.php @@ -126,12 +126,11 @@ public function testRender(): void ]); $r = $this->getDefaultRenderer(); - $html = $this->getDefaultRenderer()->render($form); + $html = $this->brutallyTrimHTML($this->getDefaultRenderer()->render($form)); $expected = $this->brutallyTrimHTML('
-
' . $this->getTextFieldHtml() . '